public ClauseSet union(ClauseSet cs)
        {
            var result = new ClauseSet(this);

            result.add(cs);
            return(result);
        }
 public ClauseSet add(ClauseSet cs)
 {
     Debug.Assert(!ReferenceEquals(this, cs));
     foreach (var c in cs.clauses)
     {
         add(c);
     }
     return(this);
 }
 public ClauseSet(ClauseSet other)
     : this()
 {
     foreach (var c in other.clauses)
     {
         add(c);
     }
     //                pClauses = new SortedSet<Clause>(other.clauses);
     //                numAtoms = other.numAtoms;
 }