]> matita.cs.unibo.it Git - helm.git/commitdiff
- pts_dummy/pts_dummy_new: non compiling parts commented out
authorFerruccio Guidi <ferruccio.guidi@unibo.it>
Fri, 7 Dec 2012 16:36:51 +0000 (16:36 +0000)
committerFerruccio Guidi <ferruccio.guidi@unibo.it>
Fri, 7 Dec 2012 16:36:51 +0000 (16:36 +0000)
- tutorial: some comments added

43 files changed:
matita/matita/lib/pts_dummy/CC2FO_K.ma
matita/matita/lib/pts_dummy/CC2FO_K_cube.ma
matita/matita/lib/pts_dummy/arity.ma
matita/matita/lib/pts_dummy/arity_eval.ma
matita/matita/lib/pts_dummy/convertibility.ma
matita/matita/lib/pts_dummy/cube.ma
matita/matita/lib/pts_dummy/degree.ma
matita/matita/lib/pts_dummy/ext.ma
matita/matita/lib/pts_dummy/ext_lambda.ma
matita/matita/lib/pts_dummy/inversion.ma
matita/matita/lib/pts_dummy/lift.ma
matita/matita/lib/pts_dummy/par_reduction.ma
matita/matita/lib/pts_dummy/rc_eval.ma
matita/matita/lib/pts_dummy/rc_hsat.ma
matita/matita/lib/pts_dummy/rc_sat.ma
matita/matita/lib/pts_dummy/reduction.ma
matita/matita/lib/pts_dummy/sn.ma
matita/matita/lib/pts_dummy/subject.ma
matita/matita/lib/pts_dummy/subst.ma
matita/matita/lib/pts_dummy/subterms.ma
matita/matita/lib/pts_dummy/terms.ma
matita/matita/lib/pts_dummy/types.ma
matita/matita/lib/pts_dummy_new/arity.ma
matita/matita/lib/pts_dummy_new/arity_eval.ma
matita/matita/lib/pts_dummy_new/convertibility.ma
matita/matita/lib/pts_dummy_new/cube.ma
matita/matita/lib/pts_dummy_new/ext.ma
matita/matita/lib/pts_dummy_new/ext_lambda.ma
matita/matita/lib/pts_dummy_new/inversion.ma
matita/matita/lib/pts_dummy_new/par_reduction.ma
matita/matita/lib/pts_dummy_new/rc_eval.ma
matita/matita/lib/pts_dummy_new/rc_hsat.ma
matita/matita/lib/pts_dummy_new/rc_sat.ma
matita/matita/lib/pts_dummy_new/reduction.ma
matita/matita/lib/pts_dummy_new/sn.ma
matita/matita/lib/pts_dummy_new/subject.ma
matita/matita/lib/pts_dummy_new/subst.ma
matita/matita/lib/pts_dummy_new/subterms.ma
matita/matita/lib/pts_dummy_new/terms.ma
matita/matita/lib/pts_dummy_new/thinning.ma
matita/matita/lib/pts_dummy_new/types.ma
matita/matita/lib/tutorial/chapter6.ma
matita/matita/lib/tutorial/chapter7.ma

index 752ed00c09e009851c1212f1545c50536bc0a9a1..0983db3baafb6089160a48b6c11914172160ad58 100644 (file)
@@ -12,8 +12,8 @@
 (*                                                                        *)
 (**************************************************************************)
 
-include "degree.ma".
-
+include "pts_dummy/degree.ma".
+(*
 (* TO BE PUT ELSEWERE *)
 lemma cons_append_assoc: ∀A,a. ∀l1,l2:list A. (a::l1) @ l2 = a :: (l1 @ l2).
 // qed.
@@ -149,3 +149,4 @@ let rec KI G ≝ match G with
 ].
 
 interpretation "CC2FO: K interpretation (context)" 'IK G = (KI G).
+*)
index 814ce59fec6d9fa19476ab35ae2ec237030ec995..b70f731f1f54f64f3c63d86b842bd1bd2556c88f 100644 (file)
 (*                                                                        *)
 (**************************************************************************)
 
-include "CC2FO_K.ma".
-include "cube.ma".
-include "inversion.ma".
-
+include "pts_dummy/CC2FO_K.ma".
+include "pts_dummy/cube.ma".
+include "pts_dummy/inversion.ma".
+(*
 (* The K interpretation in the λ-Cube *****************************************)
 
 lemma ki_type: ∀G,t,u. G ⊢_{CC} t : u → u = Sort 1 → 𝕂{G} ⊢_{FO} 𝕂{t}_[G] : u.
 #G #t #u #H elim H -H G t u
 [ #i #j * #_ @ax //
-| #G #A #i #HA #IHA #Heq  
\ No newline at end of file
+| #G #A #i #HA #IHA #Heq  
+*)
index 3df7811c060e003335a8f36fb3dc3ac0badfc7cc..b5dd81df710cd84e4627e9a5dd04093a27be283d 100644 (file)
@@ -12,8 +12,8 @@
 (*                                                                        *)
 (**************************************************************************)
 
-include "lambda/ext.ma".
-
+include "pts_dummy/ext.ma".
+(*
 (* ARITIES ********************************************************************)
 
 (* An arity is a normal term representing the functional structure of a term.
@@ -218,3 +218,4 @@ lemma nth_sort_comp: ∀E1,E2. E1 ≅ E2 →
                      ∀i. nth i ? E1 sort ≅ nth i ? E2 sort.
 #E1 #E2 #H #i @(all2_nth … aeq) //
 qed.
+*)
index 6fcf0e0c0ef76691462108ca89d46d1934905935..8adcc4873020bb93bb30afecd4f6559305a416bd 100644 (file)
@@ -12,8 +12,8 @@
 (*                                                                        *)
 (**************************************************************************)
 
-include "lambda/arity.ma".
-
+include "pts_dummy/arity.ma".
+(*
 (* ARITY ASSIGNMENT ***********************************************************)
 
 (* the arity type *************************************************************)
@@ -226,3 +226,4 @@ axiom cons_comp: ∀a1,a2. a1 ≅ a2 → ∀E1,E2. E1 ≅ E2 → a1 :: E1 ≅ a2
 axiom pippo: ∀A:Type[0]. ∀a,b,c. (a::b) @ c = a :: b @ c.
 @A qed.
 *)
+*)
index 045463aaa3dcce25fe63eff35caccb7ec0348b90..3f548c42dd5c4c0be8a806b52d62c2272efa0acf 100644 (file)
@@ -9,8 +9,8 @@
      \ /      
       V_______________________________________________________________ *)
 
-include "lambda/reduction.ma".
-
+include "pts_dummy/reduction.ma".
+(*
 (*
 inductive T : Type[0] ≝
   | Sort: nat → T
@@ -71,3 +71,4 @@ theorem main1: ∀M,N. conv M N →
   |@(ex_intro … M) @(ex_intro … M) % // % //
   ]
 *)
+*)
index 8ac3d978c74f5e6a889cdcc155916c19cf084380..c143261ad5fe18c398ff6da0517bcae05278f1dc 100644 (file)
@@ -12,9 +12,9 @@
 (*                                                                        *)
 (**************************************************************************)
 
-include "convertibility.ma".
-include "types.ma".
-
+include "pts_dummy/convertibility.ma".
+include "pts_dummy/types.ma".
+(*
 (* PURE TYPE SYSTEMS OF THE λ-CUBE ********************************************)
 
 inductive Cube_Ax: nat → nat → Prop ≝
@@ -41,3 +41,4 @@ inductive FO_Re: nat → nat → nat → Prop ≝
 .
 
 definition FO: pts ≝ mk_pts Cube_Ax FO_Re conv.
+*)
index 1fa4ee7ecc382ffba6cb7abb7712b4f81719341b..61caa58b14b99ee42a941b6624d4a3fab827de28 100644 (file)
@@ -12,8 +12,8 @@
 (*                                                                        *)
 (**************************************************************************)
 
-include "lambda/ext_lambda.ma".
-
+include "pts_dummy/ext_lambda.ma".
+(*
 (* DEGREE ASSIGNMENT **********************************************************)
 
 (* The degree of a term *******************************************************)
@@ -158,3 +158,4 @@ lemma Deg_lift_subst: ∀v,w,G. [║v║_[║G║]] = ║[w]║*_[║G║] →
 >append_Deg >append_Deg <Hvw -Hvw >DegHd_Lift; [2: //]
 >deg_lift; [2,3: >HGk /2/] <(deg_subst … k) // >HGk /2/
 qed.
+*)
index d07234a71190f9ce6a14eea84c380039d90657b0..f698ed5917c154b3c1e2a4fa6b3ce9b124c0f20e 100644 (file)
@@ -12,7 +12,7 @@
 (*                                                                        *)
 (**************************************************************************)
 
-include "basics/list.ma".
+include "basics/lists/list.ma".
 
 (* MATTER CONCERNING STRONG NORMALIZATION TO BE PUT ELSEWHERE *****************)
 
index e0455c204363aa8f8c9485fdd59bf28e6a8ef0de..3d4c0c86e48f6449f0f577b9da4cc6d298ea3c45 100644 (file)
@@ -12,9 +12,9 @@
 (*                                                                        *)
 (**************************************************************************)
 
-include "lambda/ext.ma".
-include "lambda/subst.ma".
-
+include "pts_dummy/ext.ma".
+include "pts_dummy/subst.ma".
+(*
 (* MATTER CONCERNING STRONG NORMALIZATION TO BE PUT ELSEWHERE *****************)
 
 (* substitution ***************************************************************)
@@ -79,3 +79,4 @@ qed.
 
 lemma tsubst_sort: ∀n,l. (Sort n)[/l] = Sort n.
 // qed.
+*)
index 0c2c2a98b39bc6c37e35181dc87b3913c1f2107e..63831f0784e0cdeb47f1f042e519061784b9865c 100644 (file)
@@ -9,8 +9,8 @@
      \ /      
       V_______________________________________________________________ *)
 
-include "lambda/types.ma".
-
+include "pts_dummy/types.ma".
+(*
 (*
 inductive TJ (p: pts): list T → T → T → Prop ≝
   | ax : ∀i,j. Ax p i j → TJ p (nil T) (Sort i) (Sort j)
@@ -98,3 +98,4 @@ theorem abs_inv: ∀P,G,M,N. G ⊢ _{P} M : N → ∀A,b.M = Lambda A b →
   ]
 qed.
    
+*)
index 27d3d192ed37b9ddbe277d5d1294657c2e239460..036f8effad83b99e7ac80d29f16ab53ae98f0574 100644 (file)
@@ -9,7 +9,10 @@
      \ /      
       V_______________________________________________________________ *)
 
-include "lambda/terms.ma".
+include "pts_dummy/terms.ma".
+
+(* to be put elsewhere *)
+definition if_then_else ≝ λT:Type[0].λe,t,f.match e return λ_.T with [ true ⇒ t | false ⇒ f].
 
 (* arguments: k is the depth (starts from 0), p is the height (starts from 0) *)
 let rec lift t k p ≝
@@ -32,7 +35,7 @@ notation "↑ _ k ^ n ( M )" non associative with precedence 40 for @{'Lift $n $
 interpretation "Lift" 'Lift n k M = (lift M k n). 
 
 (*** properties of lift ***)
-
+(* BEGIN HERE 
 lemma lift_0: ∀t:T.∀k. lift t k 0 = t.
 #t (elim t) normalize // #n #k cases (leb (S n) k) normalize // 
 qed.
@@ -132,3 +135,4 @@ qed.
 lemma Lift_length: ∀p,G. |Lift G p| = |G|.
 #p #G elim G -G; normalize //
 qed. 
+*)
\ No newline at end of file
index cea1e177b8ed33fc04202bf2b2ba9fe3601cb1f3..fec59888c23b963eda89b720868ddb2a348473cb 100644 (file)
@@ -9,8 +9,8 @@
      \ /      
       V_______________________________________________________________ *)
 
-include "lambda/subterms.ma".
-
+include "pts_dummy/subterms.ma".
+(*
 (*
 inductive T : Type[0] ≝
   | Sort: nat → T
@@ -305,3 +305,4 @@ pr Q S ∧ pr P S.
 #P #Q #R #pr1 #pr2 @(ex_intro … (full P)) /3/
 qed.
 
+*)
index 3fdeed41025b2fc7783e720bbe2c42b0effd859e..87cfd11dce28096d66b5f439ec5641300468cdeb 100644 (file)
@@ -12,8 +12,8 @@
 (*                                                                        *)
 (**************************************************************************)
 
-include "lambda/rc_hsat.ma".
-
+include "pts_dummy/rc_hsat.ma".
+(*
 (* THE EVALUATION *************************************************************)
 
 (* The arity of a term t in an environment E *)
@@ -161,3 +161,4 @@ theorem append_cons: ∀(A:Type[0]). ∀(l1,l2:list A). ∀a.
                      (a :: l1) @ l2 = a :: (l1 @ l2).
 // qed.
 *)
+
index 7426d812bb099d22e69b203787edf8d24f86482e..d46e613b404853ead999dad783bb3b3d75a7e071 100644 (file)
@@ -12,8 +12,8 @@
 (*                                                                        *)
 (**************************************************************************)
 
-include "lambda/rc_sat.ma".
-
+include "pts_dummy/rc_sat.ma".
+(*
 (* HIGHER ORDER REDUCIBILITY CANDIDATES ***************************************)
 
 (* An arity is a type of λ→ to be used as carrier for a h.o. r.c. *)
@@ -61,3 +61,4 @@ qed.
 lemma reflexive_defHRC: ∀P. defHRC P ≅^P defHRC P.
 #P (elim P) -P (normalize) /2/
 qed.
+*)
index 3eb04315f4f471a07e314b14086a574dc1cc0067..993e3cb36da6e87e7479414366dae8fee04772e0 100644 (file)
@@ -12,8 +12,8 @@
 (*                                                                        *)
 (**************************************************************************)
 
-include "lambda/sn.ma".
-
+include "pts_dummy/sn.ma".
+(*
 (* REDUCIBILITY CANDIDATES ****************************************************)
 
 (* The reducibility candidate (r.c.) ******************************************)
@@ -179,3 +179,4 @@ qed.
 
 definition lorRC: RC → RC → RC ≝ λB,C. mk_RC (lor_mem B C) ….
 /2/ qed.
+*)
index 58e4e179aab1ff9e6f8fa935d257bf0749c9125e..66bcd28903c9f9aa1b992b7db3e06c0dff0728a2 100644 (file)
@@ -9,9 +9,9 @@
      \ /      
       V_______________________________________________________________ *)
 
-include "lambda/par_reduction.ma".
+include "pts_dummy/par_reduction.ma".
 include "basics/star.ma".
-
+(*
 (*
 inductive T : Type[0] ≝
   | Sort: nat → T
@@ -353,7 +353,4 @@ lemma  SN_APP: ∀P.SN P → ∀N. SN N → ∀M.
    @red_subst1 //
   ]
 qed.
-
-
-
-
+*)
index a9fbff3700afc50ae67e78db40b3e966bf60ebfd..193a04e942f0702059754d6fb60a8e08b6ade8d7 100644 (file)
@@ -12,8 +12,8 @@
 (*                                                                        *)
 (**************************************************************************)
 
-include "lambda/ext_lambda.ma".
-
+include "pts_dummy/ext_lambda.ma".
+(*
 (* STRONGLY NORMALIZING TERMS *************************************************)
 
 (* SN(t) holds when t is strongly normalizing *)
@@ -68,3 +68,4 @@ axiom sn_lambda: ∀N,M. SN N → SN M → SN (Lambda N M).
 axiom sn_prod: ∀N,M. SN N → SN M → SN (Prod N M).
 
 axiom sn_inv_app_1: ∀M,N. SN (App M N) → SN M.
+*)
index be34cb07feea60d7700d1a7b11d10dfdb8740dfc..08ac86b486ff31bb5c06dab8de31dc4c5d694a3a 100644 (file)
@@ -9,9 +9,9 @@
      \ /      
       V_______________________________________________________________ *)
 
-include "lambda/reduction.ma".
-include "lambda/inversion.ma". 
-
+include "pts_dummy/reduction.ma".
+include "pts_dummy/inversion.ma". 
+(*
 (*
 inductive T : Type[0] ≝
   | Sort: nat → T
@@ -223,3 +223,4 @@ theorem subject_reduction: ∀P,G,M,N. G ⊢_{P} M:N →
   ]
 qed.
 
+*)
index 4f61ef5282fdcf6da367948d7c264526e7ebf87f..8583f581027be1e71e38b8c13824736a70f90c4a 100644 (file)
@@ -9,8 +9,8 @@
      \ /      
       V_______________________________________________________________ *)
 
-include "lambda/lift.ma".
-
+include "pts_dummy/lift.ma".
+(*
 let rec subst t k a ≝ 
   match t with 
     [ Sort n ⇒ Sort n
@@ -210,3 +210,4 @@ lemma subst_lemma_comm: ∀A,B,C.∀k,i.
   (A [i ≝ B]) [i+k ≝ C] = (A [i+k+1 := C]) [i ≝ B [k ≝ C]].
 #A #B #C #k #i >commutative_plus >subst_lemma //
 qed. 
+*)
index d2b7bee30b76c7fe82e634bd3d15e732f1aff629..3fe2eecd59490e947ec68ff79415ef2c32f1b6e2 100644 (file)
@@ -9,8 +9,8 @@
      \ /      
       V_______________________________________________________________ *)
 
-include "lambda/subst.ma".
-
+include "pts_dummy/subst.ma".
+(*
 inductive subterm : T → T → Prop ≝
   | appl : ∀M,N. subterm M (App M N)
   | appr : ∀M,N. subterm N (App M N)
@@ -154,3 +154,4 @@ lemma size_subterm : ∀N,M. subterm N M → size N < size M.
 #N #M #subH (elim subH) normalize //
 #M1 #N1 #P #sub1 #sub2 #size1 #size2 @(transitive_lt … size1 size2)
 qed.
+*)
index 554f8099cb453ac0719b17fb082ceddc3a2272ad..dc066c8823343eeb59cb31281e6d041cb36a52f0 100644 (file)
@@ -9,8 +9,8 @@
      \ /      
       V_______________________________________________________________ *)
 
-include "basics/list.ma".
-include "lambda/lambda_notation.ma".
+include "basics/lists/list.ma".
+include "pts_dummy/lambda_notation.ma".
 
 inductive T : Type[0] ≝
   | Sort: nat → T     (* starts from 0 *)
@@ -30,7 +30,7 @@ let rec Appl F l on l ≝ match l with
    ].
 
 lemma appl_append: ∀N,l,M. Appl M (l @ [N]) = App (Appl M l) N.
-#N #l elim l -l // #hd #tl #IHl #M >IHl //
+#N #l elim l -l // #hd #tl #IHl #M >IHl normalize //
 qed.
 
 (*
index 0c07d2e70408d3e76c01a88e3a0094447dce62e6..acc0c8b135f0ed386273087989615328662ce807 100644 (file)
@@ -9,10 +9,10 @@
      \ /      
       V_______________________________________________________________ *)
 
-include "lambda/subst.ma".
-include "basics/list.ma".
-
+include "pts_dummy/subst.ma".
+include "basics/lists/list.ma".
 
+(*
 (*************************** substl *****************************)
 
 let rec substl (G:list T) (N:T) : list T ≝  
@@ -190,3 +190,4 @@ lemma tj_subst_0: ∀P,G,v,w. G ⊢_{P} v : w → ∀t,u. w :: G ⊢_{P} t : u 
 #P #G #v #w #Hv #t #u #Ht 
 lapply (substitution_tj … Ht ? ([]) … Hv) normalize //
 qed.
+*)
index 3df7811c060e003335a8f36fb3dc3ac0badfc7cc..b5dd81df710cd84e4627e9a5dd04093a27be283d 100644 (file)
@@ -12,8 +12,8 @@
 (*                                                                        *)
 (**************************************************************************)
 
-include "lambda/ext.ma".
-
+include "pts_dummy/ext.ma".
+(*
 (* ARITIES ********************************************************************)
 
 (* An arity is a normal term representing the functional structure of a term.
@@ -218,3 +218,4 @@ lemma nth_sort_comp: ∀E1,E2. E1 ≅ E2 →
                      ∀i. nth i ? E1 sort ≅ nth i ? E2 sort.
 #E1 #E2 #H #i @(all2_nth … aeq) //
 qed.
+*)
index 6fcf0e0c0ef76691462108ca89d46d1934905935..8adcc4873020bb93bb30afecd4f6559305a416bd 100644 (file)
@@ -12,8 +12,8 @@
 (*                                                                        *)
 (**************************************************************************)
 
-include "lambda/arity.ma".
-
+include "pts_dummy/arity.ma".
+(*
 (* ARITY ASSIGNMENT ***********************************************************)
 
 (* the arity type *************************************************************)
@@ -226,3 +226,4 @@ axiom cons_comp: ∀a1,a2. a1 ≅ a2 → ∀E1,E2. E1 ≅ E2 → a1 :: E1 ≅ a2
 axiom pippo: ∀A:Type[0]. ∀a,b,c. (a::b) @ c = a :: b @ c.
 @A qed.
 *)
+*)
index 377d3c890488a0ab5907bfa302a3aa763839decf..23a9c686422c60c9806df7c17d8e3fdf7a8217ce 100644 (file)
@@ -9,8 +9,8 @@
      \ /      
       V_______________________________________________________________ *)
 
-include "lambda/reduction.ma".
-
+include "pts_dummy/reduction.ma".
+(*
 (*
 inductive T : Type[0] ≝
   | Sort: nat → T
@@ -71,3 +71,4 @@ theorem main1: ∀M,N. CO M N →
   |@(ex_intro … M) @(ex_intro … M) % // % //
   ]
 *)
+*)
\ No newline at end of file
index 8ac3d978c74f5e6a889cdcc155916c19cf084380..c143261ad5fe18c398ff6da0517bcae05278f1dc 100644 (file)
@@ -12,9 +12,9 @@
 (*                                                                        *)
 (**************************************************************************)
 
-include "convertibility.ma".
-include "types.ma".
-
+include "pts_dummy/convertibility.ma".
+include "pts_dummy/types.ma".
+(*
 (* PURE TYPE SYSTEMS OF THE λ-CUBE ********************************************)
 
 inductive Cube_Ax: nat → nat → Prop ≝
@@ -41,3 +41,4 @@ inductive FO_Re: nat → nat → nat → Prop ≝
 .
 
 definition FO: pts ≝ mk_pts Cube_Ax FO_Re conv.
+*)
index 7e64aba31ff7d40ca240c63052a2c0769fffa7f3..dcbe395a996b65d113796a2f33fe4c9357ba884b 100644 (file)
@@ -12,7 +12,7 @@
 (*                                                                        *)
 (**************************************************************************)
 
-include "basics/list.ma".
+include "basics/lists/list.ma".
 
 (* MATTER CONCERNING STRONG NORMALIZATION TO BE PUT ELSEWHERE *****************)
 
index a183047e0276482c2a791442e2e33bc234384fc2..fe2587ae8f48826f0c7d5a590d5073160e557870 100644 (file)
@@ -12,9 +12,9 @@
 (*                                                                        *)
 (**************************************************************************)
 
-include "lambda/ext.ma".
-include "lambda/subst.ma".
-
+include "pts_dummy/ext.ma".
+include "pts_dummy/subst.ma".
+(*
 (* MATTER CONCERNING STRONG NORMALIZATION TO BE PUT ELSEWHERE *****************)
 
 (* substitution ***************************************************************)
@@ -79,3 +79,4 @@ qed.
 
 lemma tsubst_sort: ∀n,l. (Sort n)[/l] = Sort n.
 // qed.
+*)
index 511fa03090cb2aa56a37d8c7f10df8c32759306b..6f1743ce2c3cf0ba4f7948482a0d7e87cdf7b0ba 100644 (file)
@@ -9,7 +9,7 @@
      \ /      
       V_______________________________________________________________ *)
 
-include "lambdaN/thinning.ma".
+include "pts_dummy_new/thinning.ma".
 
 (*
 inductive TJ (p: pts): list T → T → T → Prop ≝
index 260157d4c28986faf5e28d750c60e6b38432ffc3..d906160ca53e1d65fc26387583ca89f45858933d 100644 (file)
@@ -9,7 +9,7 @@
      \ /      
       V_______________________________________________________________ *)
 
-include "lambdaN/subterms.ma".
+include "pts_dummy_new/subterms.ma".
 
 (*
 inductive T : Type[0] ≝
@@ -88,7 +88,7 @@ lemma prD: ∀M,N,P. pr (D M N) P →
    @(ex_intro … M2) @(ex_intro … N2) /3/
   ]
 qed.
-
+(* BEGIN HERE
 lemma prApp_not_lambda: 
 ∀M,N,P. pr (App M N) P → is_lambda M = false →
   ∃M1,N1. (P = App M1 N1 ∧ pr M M1 ∧ pr N N1).
@@ -292,4 +292,4 @@ theorem diamond: ∀P,Q,R. pr P Q → pr P R → ∃S.
 pr Q S ∧ pr P S.
 #P #Q #R #pr1 #pr2 @(ex_intro … (full P)) /3/
 qed.
-
+*)
index 3fdeed41025b2fc7783e720bbe2c42b0effd859e..7b7ce54d983447cdbaf9cb3941acb4215ca3e7ea 100644 (file)
@@ -12,8 +12,8 @@
 (*                                                                        *)
 (**************************************************************************)
 
-include "lambda/rc_hsat.ma".
-
+include "pts_dummy/rc_hsat.ma".
+(*
 (* THE EVALUATION *************************************************************)
 
 (* The arity of a term t in an environment E *)
index 7426d812bb099d22e69b203787edf8d24f86482e..d46e613b404853ead999dad783bb3b3d75a7e071 100644 (file)
@@ -12,8 +12,8 @@
 (*                                                                        *)
 (**************************************************************************)
 
-include "lambda/rc_sat.ma".
-
+include "pts_dummy/rc_sat.ma".
+(*
 (* HIGHER ORDER REDUCIBILITY CANDIDATES ***************************************)
 
 (* An arity is a type of λ→ to be used as carrier for a h.o. r.c. *)
@@ -61,3 +61,4 @@ qed.
 lemma reflexive_defHRC: ∀P. defHRC P ≅^P defHRC P.
 #P (elim P) -P (normalize) /2/
 qed.
+*)
index 3eb04315f4f471a07e314b14086a574dc1cc0067..993e3cb36da6e87e7479414366dae8fee04772e0 100644 (file)
@@ -12,8 +12,8 @@
 (*                                                                        *)
 (**************************************************************************)
 
-include "lambda/sn.ma".
-
+include "pts_dummy/sn.ma".
+(*
 (* REDUCIBILITY CANDIDATES ****************************************************)
 
 (* The reducibility candidate (r.c.) ******************************************)
@@ -179,3 +179,4 @@ qed.
 
 definition lorRC: RC → RC → RC ≝ λB,C. mk_RC (lor_mem B C) ….
 /2/ qed.
+*)
index 82891b23b2a3421f7183dbbf9653493674c328d8..ce3d6cc71b1bf340a2be5c9614504d9caf345f30 100644 (file)
@@ -9,7 +9,7 @@
      \ /      
       V_______________________________________________________________ *)
 
-include "lambdaN/par_reduction.ma".
+include "pts_dummy_new/par_reduction.ma".
 include "basics/star.ma".
 
 (*
@@ -93,9 +93,9 @@ qed.
 
 definition reduct ≝ λn,m. red m n.
 
-definition SN ≝ WF ? reduct.
+definition SN : T → Prop ≝ WF ? reduct.
 
-definition NF ≝ λM. ∀N. ¬ (reduct N M).
+definition NF : T → Prop ≝ λM. ∀N. ¬ (reduct N M).
 
 theorem NF_to_SN: ∀M. NF M → SN M.
 #M #nfM % #a #red @False_ind /2/
@@ -149,13 +149,13 @@ qed.
 lemma star_appl: ∀M,M1,N. star … red M M1 → 
   star … red (App M N) (App M1 N).
 #M #M1 #N #star1 (elim star1) //
-#B #C #starMB #redBC #H @(inj … H) /2
+#B #C #starMB #redBC #H /3 width=3
 qed.
   
 lemma star_appr: ∀M,N,N1. star … red N N1 →
   star … red (App M N) (App M N1).
 #M #N #N1 #star1 (elim star1) // 
-#B #C #starMB #redBC #H @(inj … H) /2/
+#B #C #starMB #redBC #H /3 width=3/
 qed.
  
 lemma star_app: ∀M,M1,N,N1. star … red M M1 → star … red N N1 → 
@@ -166,13 +166,13 @@ qed.
 lemma star_laml: ∀M,M1,N. star … red M M1 → 
   star … red (Lambda M N) (Lambda M1 N).
 #M #M1 #N #star1 (elim star1) //
-#B #C #starMB #redBC #H @(inj … H) /2
+#B #C #starMB #redBC #H /3 width=3
 qed.
   
 lemma star_lamr: ∀M,N,N1. star … red N N1 →
   star … red (Lambda M N) (Lambda M N1).
 #M #N #N1 #star1 (elim star1) //
-#B #C #starMB #redBC #H @(inj … H) /2/
+#B #C #starMB #redBC #H /3 width=3/
 qed.
  
 lemma star_lam: ∀M,M1,N,N1. star … red M M1 → star … red N N1 → 
@@ -183,13 +183,13 @@ qed.
 lemma star_prodl: ∀M,M1,N. star … red M M1 → 
   star … red (Prod M N) (Prod M1 N).
 #M #M1 #N #star1 (elim star1) //
-#B #C #starMB #redBC #H @(inj … H) /2/ 
+#B #C #starMB #redBC #H /3 width=3/
 qed.
   
 lemma star_prodr: ∀M,N,N1. star … red N N1 →
   star … red (Prod M N) (Prod M N1).
 #M #N #N1 #star1 (elim star1) //
-#B #C #starMB #redBC #H @(inj … H) /2/
+#B #C #starMB #redBC #H /3 width=3/
 qed.
  
 lemma star_prod: ∀M,M1,N,N1. star … red M M1 → star … red N N1 → 
@@ -200,13 +200,13 @@ qed.
 lemma star_dl: ∀M,M1,N. star … red M M1 → 
   star … red (D M N) (D M1 N).
 #M #M1 #N #star1 (elim star1) //
-#B #C #starMB #redBC #H @(inj … H) /2/ 
+#B #C #starMB #redBC #H /3 width=3/
 qed.
   
 lemma star_dr: ∀M,N,N1. star … red N N1 →
   star … red (D M N) (D M N1).
 #M #N #N1 #star1 (elim star1) //
-#B #C #starMB #redBC #H @(inj … H) /2/
+#B #C #starMB #redBC #H /3 width=3/
 qed.
 
 lemma star_d: ∀M,M1,N,N1. star … red M M1 → star … red N N1 → 
@@ -357,8 +357,8 @@ lemma  SN_APP: ∀P.SN P → ∀N. SN N → ∀M.
 #P #snP (elim snP) #A #snA #HindA
 #N #snN (elim snN) #B #snB #HindB
 #M #snM1 (cut (SH M)) [@SN_to_SH @(SN_subst … snM1)] #shM 
-(generalize in match snM1) (elim shM)
-#C #shC #HindC #snC1 % #Q #redQ (cases (red_app … redQ))
+generalize in match snM1; elim shM
+#C #shC #HindC #snC1 % #Q #redQ cases (red_app … redQ);
   [*
     [* #M2 * #N2 * #eqlam destruct #eqQ //
     |* #M2 * #eqQ #redlam >eqQ (cases (red_lambda …redlam))
index a9fbff3700afc50ae67e78db40b3e966bf60ebfd..193a04e942f0702059754d6fb60a8e08b6ade8d7 100644 (file)
@@ -12,8 +12,8 @@
 (*                                                                        *)
 (**************************************************************************)
 
-include "lambda/ext_lambda.ma".
-
+include "pts_dummy/ext_lambda.ma".
+(*
 (* STRONGLY NORMALIZING TERMS *************************************************)
 
 (* SN(t) holds when t is strongly normalizing *)
@@ -68,3 +68,4 @@ axiom sn_lambda: ∀N,M. SN N → SN M → SN (Lambda N M).
 axiom sn_prod: ∀N,M. SN N → SN M → SN (Prod N M).
 
 axiom sn_inv_app_1: ∀M,N. SN (App M N) → SN M.
+*)
index e33364f6bfb40c116f3854f7726a764ee789592f..57619eba60ad34442fad3e829666652d1249f8c2 100644 (file)
@@ -9,8 +9,8 @@
      \ /      
       V_______________________________________________________________ *)
 
-include "lambdaN/reduction.ma".
-include "lambdaN/inversion.ma". 
+include "pts_dummy_new/reduction.ma".
+include "pts_dummy_new/inversion.ma". 
 
 (*
 inductive T : Type[0] ≝
@@ -51,7 +51,7 @@ theorem type_of_type: ∀P,G,A,B. G ⊢_{P} A : B → (∀i. B ≠ Sort i) →
   |#G1 #A #i #t1 #_ #P @(ex_intro … i) @(weak … t1 t1)
   |#G1 #A #B #C #i #t1 #t2 #H1 #H2 #H3 (cases (H1 ?) )
     [#i #Bi @(ex_intro … i) @(weak … Bi t2)
-    |#i @(not_to_not … (H3 i)) //
+    |#i @(not_to_not … (H3 i)) /2 width=2/
     ]
   |#G1 #A #B #i #j #k #h #t1 #t2 #_ #_ #H3 @False_ind /2/
   |#G1 #A #B #C #D #t1 #t2 #H1 #H2 #H3 cases (H1 ?);
index 225316e81d43e912ed83dbfeaa10de56d576a905..469691073612d23c522bf5782ce660d15925b050 100644 (file)
@@ -9,7 +9,10 @@
      \ /      
       V_______________________________________________________________ *)
 
-include "lambdaN/terms.ma".
+include "pts_dummy_new/terms.ma".
+
+(* to be put elsewhere *)
+definition if_then_else ≝ λT:Type[0].λe,t,f.match e return λ_.T with [ true ⇒ t | false ⇒ f].
 
 (* arguments: k is the depth (starts from 0), p is the height (starts from 0) *)
 let rec lift t k p ≝
@@ -129,7 +132,7 @@ nnormalize; //; nqed. *)
 lemma subst_lift_k: ∀A,B.∀k. (lift B k 1)[k ≝ A] = B.
 #A #B (elim B) normalize /2/ #n #k
 @(leb_elim k n) normalize #Hnk
-  [cut (k ≤ n+1) [@transitive_le //] #H
+  [cut (k ≤ n+1); [@transitive_le //] #H
    >(le_to_leb_true … H) normalize 
    >(not_eq_to_eqb_false k (n+1)) normalize /2/
   |>(lt_to_leb_false … (not_le_to_lt … Hnk)) normalize //
@@ -237,7 +240,7 @@ theorem delift : ∀A,B.∀i,j,k. i ≤ j → j ≤ i + k →
   [2,3,4,5: #T #T0 #Hind1 #Hind2 #i #j #k #leij #lejk
    @eq_f2 /2/ @Hind2 (applyS (monotonic_le_plus_l 1)) //
   |#n #i #j #k #leij #ltjk @(leb_elim i n) normalize #len
-    [cut (j < n + S k)
+    [cut (j < n + S k);
       [<plus_n_Sm @le_S_S @(transitive_le … ltjk) /2/] #H
      >(le_to_leb_true j (n+S k));
       [normalize >(not_eq_to_eqb_false j (n+S k)) normalize /2/ 
@@ -267,7 +270,7 @@ lemma subst_lemma: ∀A,B,C.∀k,i.
         [cut (k+i+1 = n); [/2/] #H1
          >(le_to_leb_true (k+i+1) n) /2/
          >(eq_to_eqb_true … H1) normalize 
-         (generalize in match ltin)
+         generalize in match ltin;
          @(lt_O_n_elim … posn) #m #leim >delift // /2/ 
         |(cut (k+i < n-1)) [@not_eq_to_le_to_lt; //] #Hlt 
          >(le_to_leb_true (k+i+1) n); 
index 86a8507ed55bb13590988bd76476056a3354f124..bc7fa2a057ba0cbc612b241eb59b8d9cbb18c74e 100644 (file)
@@ -9,7 +9,7 @@
      \ /      
       V_______________________________________________________________ *)
 
-include "lambdaN/subst.ma".
+include "pts_dummy_new/subst.ma".
 
 inductive subterm : T → T → Prop ≝
   | appl : ∀M,N. subterm M (App M N)
index 0227f1e948e3787f6269b58c252f5558b427ad8d..1291013ffd79807624d9ee4fb85db946f3e54a21 100644 (file)
@@ -9,8 +9,8 @@
      \ /      
       V_______________________________________________________________ *)
 
-include "basics/list.ma".
-include "lambda/lambda_notation.ma".
+include "basics/lists/list.ma".
+include "pts_dummy/lambda_notation.ma".
 
 inductive T : Type[0] ≝
   | Sort: nat → T     (* starts from 0 *)
index 1fcd6fe6253fa943ba629a7220bacfab31fcd2d8..b412392d407a3f6b8f300e3eb473ae994e6799de 100644 (file)
@@ -9,7 +9,7 @@
      \ /      
       V_______________________________________________________________ *)
 
-include "lambdaN/types.ma".
+include "pts_dummy_new/types.ma".
 
 (*
 inductive TJ (p: pts): list T → T → T → Prop ≝
@@ -82,14 +82,14 @@ lemma weak_gen: ∀P,E,M,N. E ⊢_{P} M : N →
      #Heq1 <Heq1 @(Hind2 ? (P::D)) normalize //
     ]
   |#G #P #Q #R #S #tjP #tjS #Hind1 #Hind2
-   #G1 #D #A #l #Heq #tjA (normalize in Hind1 ⊢ %)
+   #G1 #D #A #l #Heq #tjA normalize in Hind1 ⊢ %;
    >(lift_subst_up R S 1 0 (length ? D)) @(app … (lift Q (length ? D) 1));
     [@Hind1 // |@Hind2 //]
   |#G #P #Q #R #i #tjR #tjProd #Hind1 #Hind2
    #G1 #D #A #l #Heq #tjA normalize @(abs … i); 
     [cut (∀n. S n = n +1); [//] #H <H 
      @(Hind1 G1 (P::D) … tjA) normalize //
-    |(normalize in Hind2) @(Hind2 …tjA) //
+    | normalize in Hind2; @(Hind2 …tjA) //
     ]
   |#G #P #Q #R #i #convQR #tjP #tjQ #Hind1 #Hind2
    #G1 #D #A #l #Heq #tjA
index 7b44172320419275d4594721973ad38d2d9607cc..92dc4bd3ee4f113b0c7abc9a179d1d2d3978cdff 100644 (file)
@@ -9,8 +9,8 @@
      \ /      
       V_______________________________________________________________ *)
 
-include "lambdaN/subst.ma".
-include "basics/list.ma".
+include "pts_dummy_new/subst.ma".
+include "basics/lists/list.ma".
 
 
 (*************************** substl *****************************)
@@ -147,8 +147,8 @@ theorem substitution_tj:
     ]
   |#G #A1 #i #tjA #Hind #G1 #D (cases D) 
     [#N #Heq #tjN >(delift (lift N O O) A1 O O O ??) //
-     (normalize in Heq) destruct /2/
-    |#H #L #N1 #Heq (normalize in Heq)
+     normalize in Heq; destruct normalize /2/
+    |#H #L #N1 #Heq normalize in Heq;
      #tjN1 normalize destruct; (applyS start) /2/
     ]
   |#G #P #Q #R #i #tjP #tjR #Hind1 #Hind2 #G1 #D #N
@@ -166,16 +166,16 @@ theorem substitution_tj:
      #Heq1 <Heq1 @(Hind2 ? (P::D)) normalize //
     ]
   |#G #P #Q #R #S #tjP #tjS #Hind1 #Hind2
-   #G1 #D #N #Heq #tjN (normalize in Hind1 ⊢ %)
-   >(plus_n_O (length ? D)) in ⊢ (? ? ? ? (? ? % ?))
-   >(subst_lemma R S N ? 0) (applyS app) /2/
+   #G1 #D #N #Heq #tjN normalize in Hind1 ⊢ %;
+   >(plus_n_O (length ? D)) in ⊢ (? ? ? ? (? ? % ?));
+   >(subst_lemma R S N ? 0) applyS app /2/
   |#G #P #Q #R #i #tjR #tjProd #Hind1 #Hind2
    #G1 #D #N #Heq #tjN normalize
    (applyS abs) 
-    [normalize in Hind2 /2/
+    [normalize in Hind2; /2/
     |(* napplyS (Hind1 G1 (P::D) N ? tjN); sistemare *)
      generalize in match (Hind1 G1 (P::D) N ? tjN);
-      [#H (normalize in H) (applyS H) | normalize // ]
+      [#H normalize in H; applyS H | normalize // ]
     ]
   |#G #P #Q #R #i #convQR #tjP #tjQ #Hind1 #Hind2
    #G1 #D #N #Heq #tjN
index d243ce5c0da3d2f5cce078f1d32b4b66d8c33f1e..364ad35de8271523d3dc94b0bfb55548f6caadae 100644 (file)
@@ -48,10 +48,7 @@ w1,w2,...wk all belonging to l, such that l = w1w2...wk.
 We need to define the latter operations. The following flatten function takes in 
 input a list of words and concatenates them together. *)
 
-(* FG: flatten in list.ma gets in the way:
-alias id "flatten" = "cic:/matita/tutorial/chapter6/flatten.fix(0,1,4)".
-does not work, so we use flatten in lists for now
-
+(* Already in the library
 let rec flatten (S : DeqSet) (l : list (word S)) on l : word S ≝ 
 match l with [ nil ⇒ [ ] | cons w tl ⇒ w @ flatten ? tl ].
 *)
@@ -161,7 +158,7 @@ qed.
 lemma cat_to_star:∀S.∀A:word S → Prop.
   ∀w1,w2. A w1 → A^* w2 → A^* (w1@w2).
 #S #A #w1 #w2 #Aw * #l * #H #H1 @(ex_intro … (w1::l)) 
-% destruct // normalize /2/
+% normalize destruct /2/ (* destruct added *)
 qed.
 
 lemma fix_star: ∀S.∀A:word S → Prop. 
@@ -170,7 +167,7 @@ lemma fix_star: ∀S.∀A:word S → Prop.
   [* #l generalize in match w; -w cases l [normalize #w * /2/]
    #w1 #tl #w * whd in ⊢ ((??%?)→?); #eqw whd in ⊢ (%→?); *
    #w1A #cw1 %1 @(ex_intro … w1) @(ex_intro … (flatten S tl))
-   % destruct /2/ whd @(ex_intro … tl) /2/
+   % destruct /2/ whd @(ex_intro … tl) /2/ (* destruct added *)
   |* [2: whd in ⊢ (%→?); #eqw <eqw //]
    * #w1 * #w2 * * #eqw <eqw @cat_to_star 
   ]
@@ -197,4 +194,4 @@ lemma star_epsilon: ∀S:DeqSet.∀A:word S → Prop.
   A^* ∪ {ϵ} =1 A^*.
 #S #A #w % /2/ * // 
 qed.
-  
\ No newline at end of file
+  
index 739afb52df7acd0ad2af9e964f98ce0fc4568daf..20b670018cc21de67fb8227e53ebe4cca692984e 100644 (file)
@@ -120,7 +120,10 @@ let rec forget (S: DeqSet) (l : pitem S) on l: re S ≝
   | pc E1 E2 ⇒ (forget ? E1) · (forget ? E2)
   | po E1 E2 ⇒ (forget ? E1) + (forget ? E2)
   | pk E ⇒ (forget ? E)^* ].
+
+(* Already in the library
+notation "| term 19 C |" with precedence 70 for @{ 'card $C }.
+*)
 interpretation "forget" 'card a = (forget ? a).
 
 lemma erase_dot : ∀S.∀e1,e2:pitem S. |e1 · e2| = c ? (|e1|) (|e2|).
@@ -304,4 +307,4 @@ lemma minus_eps_pre: ∀S.∀e:pre S. \sem{\fst e} =1 \sem{e}-{[ ]}.
     [/3/ | * * // #H1 #H2 @False_ind @(absurd …H1 H2)]
   |>sem_pre_false normalize in ⊢ (??%?); #w % [ /3/ | * // ]
   ]
-qed.
\ No newline at end of file
+qed.