/// <summary> /// Constructor /// </summary> /// <param name="LeftExpression">First expression</param> /// <param name="RightExpression">Second expression</param> public LogicOr(LogicExpression LeftExpression, LogicExpression RightExpression) { this.Left = LeftExpression; this.Right = RightExpression; //if (LeftExpression.Type != Type.SigmaType || RightExpression.Type != Type.SigmaType) // throw new ArgumentException(); this.Type = Type.SigmaType; }
public BoundedExists(string VariableName, NumExpression Bound, LogicExpression Predicate) { this.VariableName = VariableName; this.Bound = Bound; this.Predicate = Predicate; string internalVar = "%" + VariableName; var step = new LogicVariable(internalVar) | Predicate; DeSugar = new RecLogicExpression(Bound, new LogicFalse(), VariableName, internalVar, step); }
public NumThe(string VariableName, LogicExpression Expression) { this.VariableName = VariableName; this.Expression = Expression; }
public LambdaExpression(string VariableName, LogicExpression Expression) { this.VariableName = VariableName; this.Expression = Expression; }