strip_conj
boolSyntax.strip_conj : term -> term list
Recursively breaks apart conjunctions.
If M
is of the form t1 /\ ... /\ tn
, where
no ti
is a conjunction, then strip_conj M
returns [t1,...,tn]
. Any ti
that is a
conjunction is broken down by strip_conj
, hence
strip_conj(list_mk_conj [t1,...,tn])
will not return [t1,...,tn]
if any ti
is a
conjunction.
Never fails.
- strip_conj (Term `(a /\ b) /\ c /\ d`);
> val it = [`a`, `b`, `c`, `d`] : term list
boolSyntax.dest_conj
,
boolSyntax.mk_conj
,
boolSyntax.list_mk_conj