public static Formula CreateBinaryFormula() { var ap1 = new AtomarPropositionFormula(); var ap2 = new AtomarPropositionFormula(); var bexp = new BinaryFormula(ap1, BinaryOperator.And, ap2); return(bexp); }
/// <summary> /// Visits the <paramref name="formula." /> /// </summary> public abstract void VisitAtomarPropositionFormula(AtomarPropositionFormula formula);
public override Expression CreateExecutableExpressionFromAtomarPropositionFormula(AtomarPropositionFormula formula) { var executableStateFormula = formula as ExecutableStateFormula; if (executableStateFormula != null) { return(Expression.Invoke(Expression.Constant(executableStateFormula.Expression))); } throw new InvalidOperationException("AtomarPropositionFormula cannot be evaluated. Use ExecutableStateFormula instead."); }
/// <summary> /// Visits the <paramref name="formula." /> /// </summary> public override void VisitAtomarPropositionFormula(AtomarPropositionFormula formula) { _builder.Append(formula.Label); }
public abstract Expression CreateExecutableExpressionFromAtomarPropositionFormula(AtomarPropositionFormula formula);
public override Expression CreateExecutableExpressionFromAtomarPropositionFormula(AtomarPropositionFormula formula) { if (formula is LustreAtomarProposition atomarProposition) { Func <bool> formulaEvaluatesToTrue = () => atomarProposition.Evaluate(Model); return(Expression.Invoke(Expression.Constant(formulaEvaluatesToTrue))); } throw new InvalidOperationException("AtomarPropositionFormula cannot be evaluated. Use SimpleAtomarProposition instead."); }
/// <summary> /// Visits the <paramref name="formula." /> /// </summary> public override void VisitAtomarPropositionFormula(AtomarPropositionFormula formula) { }