atoms : term -> term list

SYNOPSIS
Returns a list of the atomic propositions in a Boolean term

DESCRIPTION
When applied to a term of Boolean type, atoms returns a list of the atomic fomulas, considering the term as a propositional formula built up recursively with negation, conjunction, disjunction, implication and logical equivalence, treating all other subterms (e.g. quantified ones) as atomic.

FAILURE CONDITIONS
Fails if the term does not have type :bool.

EXAMPLE
Here the atomic formulas are simply variables:
  # atoms `p \/ q ==> r`;;
  val it : term list = [`r`; `p`; `q`]
while here the atomic formulas are composite:
  # atoms `x < 1 \/ x > 1 ==> ~(x = 1)`;;
  val it : term list = [`x < 1`; `x > 1`; `x = 1`]

SEE ALSO
frees, freesl, free_in, thm_frees, variables.