Search in sources :

Example 6 with SingleQuantifierEliminationProblem

use of com.sri.ai.grinder.api.SingleQuantifierEliminationProblem in project aic-expresso by aic-sri-international.

the class AbstractSingleQuantifierEliminationStepSolver method makeWithNewIndexConstraint.

protected AbstractSingleQuantifierEliminationStepSolver makeWithNewIndexConstraint(SingleVariableConstraint newIndexConstraint) {
    try {
        SingleQuantifierEliminationProblem newProblem = getProblem().makeWithNewIndexConstraint(newIndexConstraint);
        AbstractSingleQuantifierEliminationStepSolver result = getClass().getConstructor(SingleQuantifierEliminationProblem.class).newInstance(newProblem);
        return result;
    } catch (InstantiationException | IllegalAccessException | IllegalArgumentException | InvocationTargetException | NoSuchMethodException | SecurityException e) {
        throw new Error(e);
    }
}
Also used : SingleQuantifierEliminationProblem(com.sri.ai.grinder.api.SingleQuantifierEliminationProblem) InvocationTargetException(java.lang.reflect.InvocationTargetException)

Example 7 with SingleQuantifierEliminationProblem

use of com.sri.ai.grinder.api.SingleQuantifierEliminationProblem in project aic-expresso by aic-sri-international.

the class IntegrationRecording method store.

private static void store(SingleQuantifierEliminationProblem problem, Expression literalFreeBody, Context context, Step result) {
    if (storingIntegrationsOverGroups) {
        SingleQuantifierEliminationProblem problemWithNewBody = problem.makeWithNewBody(literalFreeBody);
        Integration integration = new Integration(problem, problemWithNewBody, context, result);
        Util.putInListValue(integrationsOverGroup, problem.getGroup(), integration);
    }
}
Also used : SingleQuantifierEliminationProblem(com.sri.ai.grinder.api.SingleQuantifierEliminationProblem)

Example 8 with SingleQuantifierEliminationProblem

use of com.sri.ai.grinder.api.SingleQuantifierEliminationProblem in project aic-expresso by aic-sri-international.

the class QuantifierEliminationOnBodyInWhichIndexOnlyOccursInsideLiteralsStepSolver method makeSolver.

private SingleQuantifierEliminationForIndexFreeBody makeSolver(Expression literalFreeBody, Context context) {
    SingleQuantifierEliminationProblem problemWithLiteralFreeBody = getProblem().makeWithNewBody(literalFreeBody);
    SingleQuantifierEliminationForIndexFreeBody solver = new SingleQuantifierEliminationForIndexFreeBody(problemWithLiteralFreeBody, context);
    return solver;
}
Also used : SingleQuantifierEliminationProblem(com.sri.ai.grinder.api.SingleQuantifierEliminationProblem)

Aggregations

SingleQuantifierEliminationProblem (com.sri.ai.grinder.api.SingleQuantifierEliminationProblem)8 Expression (com.sri.ai.expresso.api.Expression)3 DefaultSingleQuantifierEliminationProblem (com.sri.ai.grinder.core.solver.DefaultSingleQuantifierEliminationProblem)2 QuantifiedExpression (com.sri.ai.expresso.api.QuantifiedExpression)1 Context (com.sri.ai.grinder.api.Context)1 ExpressionLiteralSplitterStepSolver (com.sri.ai.grinder.api.ExpressionLiteralSplitterStepSolver)1 ExpressionStepSolver (com.sri.ai.grinder.api.ExpressionStepSolver)1 Theory (com.sri.ai.grinder.api.Theory)1 ContextSplitting (com.sri.ai.grinder.core.constraint.ContextSplitting)1 Sum (com.sri.ai.grinder.group.Sum)1 AssignmentMapsIterator (com.sri.ai.grinder.helper.AssignmentMapsIterator)1 BruteForceCommonInterpreter (com.sri.ai.grinder.interpreter.BruteForceCommonInterpreter)1 DifferenceArithmeticTheory (com.sri.ai.grinder.theory.differencearithmetic.DifferenceArithmeticTheory)1 SingleVariableDifferenceArithmeticConstraint (com.sri.ai.grinder.theory.differencearithmetic.SingleVariableDifferenceArithmeticConstraint)1 SummationOnDifferenceArithmeticAndPolynomialStepSolver (com.sri.ai.grinder.theory.differencearithmetic.SummationOnDifferenceArithmeticAndPolynomialStepSolver)1 InvocationTargetException (java.lang.reflect.InvocationTargetException)1