public Conjunct Add(Disjunct d) { var ans = new Conjunct(this); ans.Join(d); return(ans); }
public Conjunct Add(Conjunct c) { var ans = new Conjunct(this); ans.Join(c); return(ans); }
public Conjunct Disjunction(Conjunct c) { var ans = new Conjunct(); if (IsEmpty()) { return(new Conjunct(c)); } if (c.IsEmpty()) { return(new Conjunct(this)); } foreach (var d1 in _disjuncts) { foreach (var d2 in c._disjuncts) { var d = d1.Add(d2); ans.Join(d); } } return(ans); }