hol88Lib.conjuncts : term -> term list

SYNOPSIS
Iteratively splits conjunctions into a list of conjuncts.

DESCRIBE
Found in the hol88 library. conjuncts (--`t1 /\ ... /\ tn`--) returns [t1,...,tn]. The argument term may be any tree of conjunctions. It need not have the form
  --`t1 /\ (t2 /\ ( ... /\ tn)...)`--
A term that is not a conjunction is simply returned as the sole element of a list. Note that
   conjuncts(list_mk_conj([t1,...,tn]))
will not return [t1,...,tn] if any of t1,...,tn are conjunctions.

FAILURE
Never fails.

EXAMPLE
  - list_mk_conj [(--`a /\ b`--),(--`c /\ d`--),(--`e /\ f`--)];
  > val it = (--`(a /\ b) /\ (c /\ d) /\ e /\ f`--) : term

  - conjuncts it,
  val it = [(--`a`--),(--`b`--),(--`c`--),(--`d`--),
            (--`e`--),(--`f`--)] : term list

  - list_mk_conj it,
  val it = (--`a /\ b /\ c /\ d /\ e /\ f`--) : term

  - conjuncts (--`1`--);
  val it = [--`1`--] : term list

COMMENTS
The function conjuncts is equivalent to the standard function strip_conj, so called in order to be consistent with all the other strip_ routines. Because conjuncts splits both the left and right sides of a conjunction, this operation is not the inverse of list_mk_conj. It may be useful to introduce list_dest_conj for splitting only the right tails of a conjunction.

SEEALSO  list_mk_conj,   dest_conj

HOL  Kananaskis 0