/// <summary> /// Disjoins the current side constraint with constr /// </summary> /// <param name="constr"></param> /// <param name="context"></param> public void ExtendSideConstraint(int index, Z3BoolExpr constr, Z3Context context) { Z3BoolExpr crntConstr; if (SideConstraints.TryFindValue(index, out crntConstr)) { SideConstraints[index] = context.MkOr(crntConstr, constr); } else { SideConstraints.Add(index, constr); } }
public static Z3BoolExpr Or(this Z3BoolExpr expr1, Z3Context context, Z3BoolExpr expr2) { if (expr1 == null) { return(expr2); } else if (expr2 == null) { return(expr1); } else { return(context.MkOr(expr1, expr2)); } }