]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/software/matita/library/demo/realisability.ma
AST to ASTFE completed up to a few computational (!!!) axioms.
[helm.git] / helm / software / matita / library / demo / realisability.ma
index a0c021273713bc49a5a05f47f830cc892ca33167..d1b569c4075ddc7abf362856eb683840b8e35d74 100644 (file)
@@ -12,8 +12,6 @@
 (*                                                                        *)
 (**************************************************************************)
 
-set "baseuri" "cic:/matita/demo/realisability/".
-
 include "logic/connectives.ma".
 include "datatypes/constructors.ma".
 
@@ -59,7 +57,7 @@ definition pi2 ≝
   match s return λs.P (pi1 ? ? s) with
    [ sigma_intro _ p ⇒ p].
 
-notation "hvbox(Σ ident i opt (: ty) break . p)"
+notation "hvbox(\Sigma ident i opt (: ty) break . p)"
   right associative with precedence 20
 for @{ 'sigma ${default
   @{\lambda ${ident i} : $ty. $p}
@@ -106,19 +104,18 @@ theorem correct: ∀F:SP.∀r:type_OF_SP F.modr F r → Prop_OF_SP F.
  intro;
  elim F; simplify;
   [1,2: apply H
-  | split;
+  | split; simplify in r H2; 
      [apply H;
        [ apply (\fst r)
        | apply (proj1 ? ? H2)
        ]
-     | apply H1;
+     | apply H1;simplify in r H2;
        [ apply (\snd r)
        | apply (proj2 ? ? H2)
        ]
      ]
-  | generalize in match H2; clear H2;
-    change in r with (type_OF_SP s + type_OF_SP s1);
-    elim r; simplify in H2;
+  | change in r with (type_OF_SP s + type_OF_SP s1);
+    elim r in H2 ⊢ %; simplify in H2;
      [ left; apply H; assumption
      | right; apply H1; assumption
      ]
@@ -131,8 +128,7 @@ theorem correct: ∀F:SP.∀r:type_OF_SP F.modr F r → Prop_OF_SP F.
     | skip
     ]
   | simplify in r;
-    generalize in match H1; clear H1;
-    elim r;
+    elim r in H1 ⊢ %;
     apply (ex_intro ? ? a);
     apply H;
     assumption