| Did you know ... | Search Documentation: | 
|  | Predicate mkconj/3 | 
true (mkconj/2) and false (mkdisj/2). Note that a false
encountered in a conjunction does not cause the conjunction to
be false, i.e. semantics under side effects are preserved.
The Prolog `, and ;` operators are of type xfy, i.e. right
associative. These predicates preserve this grouping. For example,
?- mkconj((a,b), c, Conj) Conj = (a,b,c)