use of com.sri.ai.util.base.NotContainedBy in project aic-expresso by aic-sri-international.
the class Expressions method primedUntilUnique.
/**
* Given a symbol assumed to be an identifier,
* returns a symbol with a minimum 0 or more prime ("'") characters appended to it
* to make it unique in a given expression.
*/
public static Expression primedUntilUnique(Expression symbol, Expression expression, Context context) {
LinkedHashSet<Expression> variableBeingReferenced = Expressions.getVariablesBeingReferenced(expression, context.getIsUniquelyNamedConstantPredicate(), context.getTypes(), context.getTheory());
Predicate<Expression> isUnique = new NotContainedBy<Expression>(variableBeingReferenced);
Expression result = Expressions.primedUntilUnique(symbol, isUnique);
return result;
}
use of com.sri.ai.util.base.NotContainedBy in project aic-expresso by aic-sri-international.
the class Expressions method primedUntilUnique.
/**
* Given a symbol assumed to be an identifier,
* returns a symbol with a minimum 0 or more prime ("'") characters appended to it
* to make it unique in a given expression.
*/
public static Expression primedUntilUnique(Expression symbol, Expression expression, Registry registry) {
LinkedHashSet<Expression> variableBeingReferenced = Expressions.getVariablesBeingReferenced(expression, registry.getIsUniquelyNamedConstantPredicate());
Predicate<Expression> isUnique = new NotContainedBy<Expression>(variableBeingReferenced);
Expression result = Expressions.primedUntilUnique(symbol, isUnique);
return result;
}
Aggregations