Search in sources :

Example 1 with NotContainedBy

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;
}
Also used : DefaultLambdaExpression(com.sri.ai.expresso.core.DefaultLambdaExpression) Expression(com.sri.ai.expresso.api.Expression) LambdaExpression(com.sri.ai.expresso.api.LambdaExpression) NotContainedBy(com.sri.ai.util.base.NotContainedBy)

Example 2 with NotContainedBy

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;
}
Also used : DefaultLambdaExpression(com.sri.ai.expresso.core.DefaultLambdaExpression) Expression(com.sri.ai.expresso.api.Expression) LambdaExpression(com.sri.ai.expresso.api.LambdaExpression) NotContainedBy(com.sri.ai.util.base.NotContainedBy)

Aggregations

Expression (com.sri.ai.expresso.api.Expression)2 LambdaExpression (com.sri.ai.expresso.api.LambdaExpression)2 DefaultLambdaExpression (com.sri.ai.expresso.core.DefaultLambdaExpression)2 NotContainedBy (com.sri.ai.util.base.NotContainedBy)2