X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fmatita%2Ftests%2Finversion.ma;h=f717cd1df7f17969a0ca6169cc21833e711f4754;hb=97c2d258a5c524eb5c4b85208899d80751a2c82f;hp=99e18012d79bdc43ac445116627aefcf26eef832;hpb=cec61c8b027b15b98d308cee8900d9cf35a02d28;p=helm.git diff --git a/helm/matita/tests/inversion.ma b/helm/matita/tests/inversion.ma index 99e18012d..f717cd1df 100644 --- a/helm/matita/tests/inversion.ma +++ b/helm/matita/tests/inversion.ma @@ -1,4 +1,19 @@ +(**************************************************************************) +(* ___ *) +(* ||M|| *) +(* ||A|| A project by Andrea Asperti *) +(* ||T|| *) +(* ||I|| Developers: *) +(* ||T|| The HELM team. *) +(* ||A|| http://helm.cs.unibo.it *) +(* \ / *) +(* \ / This file is distributed under the terms of the *) +(* v GNU General Public License Version 2 *) +(* *) +(**************************************************************************) + set "baseuri" "cic:/matita/tests/inversion/". +include "coq.ma". inductive nat : Set \def O : nat @@ -13,21 +28,15 @@ alias symbol "eq" (instance 0) = "Coq's leibnitz's equality". theorem test_inversion: \forall n. le n O \to n=O. intros. (* inversion begins *) - cut O=O. - (* goal 2: 0 = 0 *) - goal 7. reflexivity. - (* goal 1 *) - generalize in match Hcut. - apply (le_ind ? (\lambda x. O=x \to n=x) ? ? ? H). - (* first goal (left open) *) - intro. rewrite < H1. - clear Hcut. - (* second goal (closed) *) - goal 14. - simplify. intros. - discriminate H3. - (* inversion ends *) + cut (O=O); + [ 2: reflexivity; + | generalize in match Hcut. + apply (le_ind ? (\lambda x. O=x \to n=x) ? ? ? H); + [ intro. rewrite < H1. clear Hcut. + | simplify. intros. discriminate H3. + ] reflexivity. + ] qed. (* Piu' semplice e non lascia l'ipotesi inutile Hcut *) @@ -36,13 +45,9 @@ theorem test_inversion2: \forall n. le n O \to n=O. intros. (* inversion begins *) generalize in match (refl_equal nat O). - apply (le_ind ? (\lambda x. O=x \to n=x) ? ? ? H). - (* first goal (left open) *) - intro. rewrite < H1. - (* second goal (closed) *) - goal 13. - simplify. intros. - discriminate H3. - (* inversion ends *) + apply (le_ind ? (\lambda x. O=x \to n=x) ? ? ? H); + [ intro. rewrite < H1. + | simplify. intros. discriminate H3. + ] reflexivity. qed.