public bool Reify(Dictionary <object, object> substitutions) { Lhs = LogicSharp.Reify(Lhs, substitutions); Rhs = LogicSharp.Reify(Rhs, substitutions); if (Var.ContainsVar(Lhs) || Var.ContainsVar(Rhs)) { return(true); } else { return(Lhs.Equals(Rhs)); } }
public object EvalGoal(object field, EqGoal goal) { var substitute = goal.ToDict(); object result = null; if (Var.ContainsVar(field)) { result = LogicSharp.Reify(field, substitute); } else { result = field; } return(result); }
public bool EarlySafe() { return(!(Var.ContainsVar(Lhs) && Var.ContainsVar(Rhs))); }