new_definition : string * term -> thm
Let v_1,...,v_n be tuples of distinct variables, containing the
variables x_1,...,x_m. Evaluating
new_definition (name, c v_1 ... v_n = t), where c is not
already a constant, declares the sequent ({},\v_1 ... v_n. t) to
be a definition in the current theory, and declares c to be a new
constant in the current theory with this definition as its
specification. This constant specification is returned as a theorem
with the form
|- !x_1 ... x_m. c v_1 ... v_n = t
and is saved in the current theory under
name. Optionally, the definitional term argument
may have any of its variables universally quantified.
- new_definition ( "NAND2", Term`NAND2 (in_1,in_2) out = !t:num. out t = ~(in_1 t /\ in_2 t)`); > val it = |- !in_1 in_2 out. NAND2 (in_1,in_2) out = !t. out t = ~(in_1 t /\ in_2 t) : thm