AddIso t1 t2.Adds an entry connecting t1 to t2 in the translation table.
CheckIso t.Shows the name associated to t in the translation table if such an entry exists.
ShowIso.Prints all entries in the translation table.
Translate t.Removes case analysis constructs (see RemoveCases below), makes explicit all computational (implicit) steps in the proof term denoted by t and then translates the resulting term using the translation table. The new term name can be specified using Translate t1 into t2. By default, the new name is t'.
RemoveCases t. (debugging tool)Analyses the term denoted by t and replaces all occurences of match ... with by the application of the appropriate recursion operator. It does not define a new constant for this term but simply prints it out.
Parameter NAT:Set. Parameter ZERO:NAT. Parameter SUCC:NAT->NAT. AddIso nat NAT. AddIso O ZERO. AddIso S SUCC. Parameter INDUCTION: forall P:NAT->Prop, (P ZERO) -> (forall n:NAT, P n ->P (SUCC n)) -> forall n:NAT, P n. AddIso nat_ind INDUCTION. Parameter PLUS: NAT -> NAT -> NAT. Axiom PLUS_1 : forall n:NAT, (PLUS ZERO n)=n. Axiom PLUS_2 : forall n m:NAT, (PLUS (SUCC n) m)=(SUCC (PLUS n m)). AddIso plus PLUS. Hint Rewrite PLUS_1 : simplification. Hint Rewrite PLUS_2 : simplification. Translate plus_n_O into PLUS_n_O. (* translates a proof plus_n_O that forall n:nat, plus n O=n *) (* into a proof PLUS_n_O that forall n:NAT, (PLUS n ZERO)=n *)