]> matita.cs.unibo.it Git - helm.git/commitdiff
exportation of lambdadelta 1 with flavoured let recs
authorFerruccio Guidi <ferruccio.guidi@unibo.it>
Wed, 27 Apr 2016 16:25:05 +0000 (16:25 +0000)
committerFerruccio Guidi <ferruccio.guidi@unibo.it>
Wed, 27 Apr 2016 16:25:05 +0000 (16:25 +0000)
49 files changed:
matita/components/content/notationPp.ml
matita/matita/contribs/lambdadelta/basic_1/A/fwd.ma
matita/matita/contribs/lambdadelta/basic_1/C/defs.ma
matita/matita/contribs/lambdadelta/basic_1/C/fwd.ma
matita/matita/contribs/lambdadelta/basic_1/T/defs.ma
matita/matita/contribs/lambdadelta/basic_1/T/fwd.ma
matita/matita/contribs/lambdadelta/basic_1/aplus/defs.ma
matita/matita/contribs/lambdadelta/basic_1/app/defs.ma
matita/matita/contribs/lambdadelta/basic_1/aprem/fwd.ma
matita/matita/contribs/lambdadelta/basic_1/arity/fwd.ma
matita/matita/contribs/lambdadelta/basic_1/asucc/defs.ma
matita/matita/contribs/lambdadelta/basic_1/clear/fwd.ma
matita/matita/contribs/lambdadelta/basic_1/clen/defs.ma
matita/matita/contribs/lambdadelta/basic_1/cnt/fwd.ma
matita/matita/contribs/lambdadelta/basic_1/csuba/fwd.ma
matita/matita/contribs/lambdadelta/basic_1/csubc/fwd.ma
matita/matita/contribs/lambdadelta/basic_1/csubst0/fwd.ma
matita/matita/contribs/lambdadelta/basic_1/csubt/fwd.ma
matita/matita/contribs/lambdadelta/basic_1/csubv/fwd.ma
matita/matita/contribs/lambdadelta/basic_1/drop/fwd.ma
matita/matita/contribs/lambdadelta/basic_1/drop1/defs.ma
matita/matita/contribs/lambdadelta/basic_1/drop1/fwd.ma
matita/matita/contribs/lambdadelta/basic_1/ex0/fwd.ma
matita/matita/contribs/lambdadelta/basic_1/leq/fwd.ma
matita/matita/contribs/lambdadelta/basic_1/lift/defs.ma
matita/matita/contribs/lambdadelta/basic_1/lift1/defs.ma
matita/matita/contribs/lambdadelta/basic_1/llt/defs.ma
matita/matita/contribs/lambdadelta/basic_1/next_plus/defs.ma
matita/matita/contribs/lambdadelta/basic_1/nf2/defs.ma
matita/matita/contribs/lambdadelta/basic_1/pc3/left.ma
matita/matita/contribs/lambdadelta/basic_1/pr0/fwd.ma
matita/matita/contribs/lambdadelta/basic_1/pr1/fwd.ma
matita/matita/contribs/lambdadelta/basic_1/pr3/fwd.ma
matita/matita/contribs/lambdadelta/basic_1/sc3/defs.ma
matita/matita/contribs/lambdadelta/basic_1/sn3/defs.ma
matita/matita/contribs/lambdadelta/basic_1/sn3/fwd.ma
matita/matita/contribs/lambdadelta/basic_1/sty0/fwd.ma
matita/matita/contribs/lambdadelta/basic_1/sty1/fwd.ma
matita/matita/contribs/lambdadelta/basic_1/subst/defs.ma
matita/matita/contribs/lambdadelta/basic_1/subst0/fwd.ma
matita/matita/contribs/lambdadelta/basic_1/tlist/defs.ma
matita/matita/contribs/lambdadelta/basic_1/tlt/defs.ma
matita/matita/contribs/lambdadelta/basic_1/ty3/fwd.ma
matita/matita/contribs/lambdadelta/basic_1/wcpr0/fwd.ma
matita/matita/contribs/lambdadelta/basic_1/wf3/fwd.ma
matita/matita/contribs/lambdadelta/ground_1/blt/defs.ma
matita/matita/contribs/lambdadelta/ground_1/plist/defs.ma
matita/matita/contribs/lambdadelta/legacy_1/coq/defs.ma
matita/matita/contribs/lambdadelta/legacy_1/coq/fwd.ma

index 49002d108191b8baa7df13f033e24898c068c705..369a0fa281ac05e610f56d130b8cd477b4755724 100644 (file)
@@ -314,7 +314,7 @@ let pp_obj pp_term = function
     string_of_source source ^
     "record " ^ name ^ " " ^ pp_params pp_term params ^ ": " ^ pp_term ty ^ 
     " \\def {" ^ pp_fields pp_term fields ^ "\n}"
- | Ast.LetRec (kind, definitions, (source, _, _)) ->
+ | Ast.LetRec (kind, definitions, (source, flavour, _)) ->
     let rec get_guard i = function
        | []                   -> assert false (* Ast.Implicit `JustOne *)
        | [term, _] when i = 1 -> term
@@ -332,9 +332,10 @@ let pp_obj pp_term = function
          (pp_term (get_guard i params))
          (pp_term typ) (pp_term body)
     in
-    sprintf "%slet %s %s"
+    sprintf "%s%s %s %s"
       (string_of_source source)
       (match kind with `Inductive -> "rec" | `CoInductive -> "corec")
+      (NCicPp.string_of_flavour flavour)
       (String.concat " and " (List.map map definitions))
 
 let rec pp_value (status: #NCic.status) = function
index a0f6f0931217f9d175c2725dea94bbfc4ff2cb13..9e2eb7d8e65fb3c25903e38302f734bc4f33109d 100644 (file)
@@ -16,7 +16,7 @@
 
 include "basic_1/A/defs.ma".
 
-implied let rec A_rect (P: (A \to Type[0])) (f: (\forall (n: nat).(\forall 
+implied rec lemma A_rect (P: (A \to Type[0])) (f: (\forall (n: nat).(\forall 
 (n0: nat).(P (ASort n n0))))) (f0: (\forall (a: A).((P a) \to (\forall (a0: 
 A).((P a0) \to (P (AHead a a0))))))) (a: A) on a: P a \def match a with 
 [(ASort n n0) \Rightarrow (f n n0) | (AHead a0 a1) \Rightarrow (f0 a0 
index 2f08ba725e3253df99f625ec29e6b1fdac87999b..9d41d8ce5a9c3eabd5893a9d9eab4f8cf431a490 100644 (file)
@@ -20,8 +20,8 @@ inductive C: Type[0] \def
 | CSort: nat \to C
 | CHead: C \to (K \to (T \to C)).
 
-let rec cweight (c: C) on c: nat \def match c with [(CSort _) \Rightarrow O | 
-(CHead c0 _ t) \Rightarrow (plus (cweight c0) (tweight t))].
+rec definition cweight (c: C) on c: nat \def match c with [(CSort _) 
+\Rightarrow O | (CHead c0 _ t) \Rightarrow (plus (cweight c0) (tweight t))].
 
 definition clt:
  C \to (C \to Prop)
@@ -33,7 +33,7 @@ definition cle:
 \def
  \lambda (c1: C).(\lambda (c2: C).(le (cweight c1) (cweight c2))).
 
-let rec CTail (k: K) (t: T) (c: C) on c: C \def match c with [(CSort n) 
-\Rightarrow (CHead (CSort n) k t) | (CHead d h u) \Rightarrow (CHead (CTail k 
-t d) h u)].
+rec definition CTail (k: K) (t: T) (c: C) on c: C \def match c with [(CSort 
+n) \Rightarrow (CHead (CSort n) k t) | (CHead d h u) \Rightarrow (CHead 
+(CTail k t d) h u)].
 
index 675a0863b50b00dc510735351e019228402d187d..43d43fc7144563dd3d2d59b9aba809cd46301cf6 100644 (file)
@@ -16,7 +16,7 @@
 
 include "basic_1/C/defs.ma".
 
-implied let rec C_rect (P: (C \to Type[0])) (f: (\forall (n: nat).(P (CSort 
+implied rec lemma C_rect (P: (C \to Type[0])) (f: (\forall (n: nat).(P (CSort 
 n)))) (f0: (\forall (c: C).((P c) \to (\forall (k: K).(\forall (t: T).(P 
 (CHead c k t))))))) (c: C) on c: P c \def match c with [(CSort n) \Rightarrow 
 (f n) | (CHead c0 k t) \Rightarrow (f0 c0 ((C_rect P f f0) c0) k t)].
index aad94671ceea53d271acb2649333b4f92dd1cc89..0eeff13ba685501bf50c4863113e35479e3c8b0f 100644 (file)
@@ -34,9 +34,9 @@ inductive T: Type[0] \def
 | TLRef: nat \to T
 | THead: K \to (T \to (T \to T)).
 
-let rec tweight (t: T) on t: nat \def match t with [(TSort _) \Rightarrow (S 
-O) | (TLRef _) \Rightarrow (S O) | (THead _ u t0) \Rightarrow (S (plus 
-(tweight u) (tweight t0)))].
+rec definition tweight (t: T) on t: nat \def match t with [(TSort _) 
+\Rightarrow (S O) | (TLRef _) \Rightarrow (S O) | (THead _ u t0) \Rightarrow 
+(S (plus (tweight u) (tweight t0)))].
 
 definition tle:
  T \to (T \to Prop)
index 159a244681ea9dd21bc45890fee45fcf3910a2f8..5e1833cc17b0d50efe1271d388552cd15f3d86aa 100644 (file)
@@ -16,7 +16,7 @@
 
 include "basic_1/T/defs.ma".
 
-implied let rec T_rect (P: (T \to Type[0])) (f: (\forall (n: nat).(P (TSort 
+implied rec lemma T_rect (P: (T \to Type[0])) (f: (\forall (n: nat).(P (TSort 
 n)))) (f0: (\forall (n: nat).(P (TLRef n)))) (f1: (\forall (k: K).(\forall 
 (t: T).((P t) \to (\forall (t0: T).((P t0) \to (P (THead k t t0)))))))) (t: 
 T) on t: P t \def match t with [(TSort n) \Rightarrow (f n) | (TLRef n) 
index c26b3c28656754bb6898772e31b1c451ebf19620..f339331a642a51396fdbb36bddf90451d9544caf 100644 (file)
@@ -16,6 +16,6 @@
 
 include "basic_1/asucc/defs.ma".
 
-let rec aplus (g: G) (a: A) (n: nat) on n: A \def match n with [O \Rightarrow 
-a | (S n0) \Rightarrow (asucc g (aplus g a n0))].
+rec definition aplus (g: G) (a: A) (n: nat) on n: A \def match n with [O 
+\Rightarrow a | (S n0) \Rightarrow (asucc g (aplus g a n0))].
 
index 40efddbbdd9441a7e2600ca273e29c97472c60b9..32ec12f51a2bf84d34a7e3a725af7136e65c3891 100644 (file)
 
 include "basic_1/C/defs.ma".
 
-let rec cbk (c: C) on c: nat \def match c with [(CSort m) \Rightarrow m | 
-(CHead c0 _ _) \Rightarrow (cbk c0)].
+rec definition cbk (c: C) on c: nat \def match c with [(CSort m) \Rightarrow 
+m | (CHead c0 _ _) \Rightarrow (cbk c0)].
 
-let rec app1 (c: C) on c: T \to T \def \lambda (t: T).(match c with [(CSort 
-_) \Rightarrow t | (CHead c0 k u) \Rightarrow (app1 c0 (THead k u t))]).
+rec definition app1 (c: C) on c: T \to T \def \lambda (t: T).(match c with 
+[(CSort _) \Rightarrow t | (CHead c0 k u) \Rightarrow (app1 c0 (THead k u 
+t))]).
 
index 43f3bcec5182994addd1ffb6b0b8ac95a14910f0..3f415a4c1793019c81ecc2b64711547539198ff8 100644 (file)
@@ -16,7 +16,7 @@
 
 include "basic_1/aprem/defs.ma".
 
-implied let rec aprem_ind (P: (nat \to (A \to (A \to Prop)))) (f: (\forall 
+implied rec lemma aprem_ind (P: (nat \to (A \to (A \to Prop)))) (f: (\forall 
 (a1: A).(\forall (a2: A).(P O (AHead a1 a2) a1)))) (f0: (\forall (a2: 
 A).(\forall (a: A).(\forall (i: nat).((aprem i a2 a) \to ((P i a2 a) \to 
 (\forall (a1: A).(P (S i) (AHead a1 a2) a)))))))) (n: nat) (a: A) (a0: A) 
index 58775a829433a68f6efadd8da1a8a243adef5d5a..78211905abcecd307fcfa417077306f869cd8d17 100644 (file)
@@ -20,7 +20,7 @@ include "basic_1/leq/asucc.ma".
 
 include "basic_1/getl/drop.ma".
 
-implied let rec arity_ind (g: G) (P: (C \to (T \to (A \to Prop)))) (f: 
+implied rec lemma arity_ind (g: G) (P: (C \to (T \to (A \to Prop)))) (f: 
 (\forall (c: C).(\forall (n: nat).(P c (TSort n) (ASort O n))))) (f0: 
 (\forall (c: C).(\forall (d: C).(\forall (u: T).(\forall (i: nat).((getl i c 
 (CHead d (Bind Abbr) u)) \to (\forall (a: A).((arity g d u a) \to ((P d u a) 
index 303985054b92a71f7c8aa13dcc4c30b44b28ecee..520f8e375f218a508e3c9ae644d89e3d5030807b 100644 (file)
@@ -18,7 +18,7 @@ include "basic_1/A/defs.ma".
 
 include "basic_1/G/defs.ma".
 
-let rec asucc (g: G) (l: A) on l: A \def match l with [(ASort n0 n) 
+rec definition asucc (g: G) (l: A) on l: A \def match l with [(ASort n0 n) 
 \Rightarrow (match n0 with [O \Rightarrow (ASort O (next g n)) | (S h) 
 \Rightarrow (ASort h n)]) | (AHead a1 a2) \Rightarrow (AHead a1 (asucc g 
 a2))].
index 478e65ccaed95fc456e1e2d82bc2e0f2871a0eaa..1b05b45a89c3d9caa3264c5f5d9868c38ad01396 100644 (file)
@@ -18,7 +18,7 @@ include "basic_1/clear/defs.ma".
 
 include "basic_1/C/fwd.ma".
 
-implied let rec clear_ind (P: (C \to (C \to Prop))) (f: (\forall (b: 
+implied rec lemma clear_ind (P: (C \to (C \to Prop))) (f: (\forall (b: 
 B).(\forall (e: C).(\forall (u: T).(P (CHead e (Bind b) u) (CHead e (Bind b) 
 u)))))) (f0: (\forall (e: C).(\forall (c: C).((clear e c) \to ((P e c) \to 
 (\forall (f0: F).(\forall (u: T).(P (CHead e (Flat f0) u) c)))))))) (c: C) 
index 1230db5c84102763388f5668bda3edafd0883f70..64209a6f7768eea2fcc5ec5fb63464657c4fbd7d 100644 (file)
@@ -18,6 +18,6 @@ include "basic_1/C/defs.ma".
 
 include "basic_1/s/defs.ma".
 
-let rec clen (c: C) on c: nat \def match c with [(CSort _) \Rightarrow O | 
-(CHead c0 k _) \Rightarrow (s k (clen c0))].
+rec definition clen (c: C) on c: nat \def match c with [(CSort _) \Rightarrow 
+O | (CHead c0 k _) \Rightarrow (s k (clen c0))].
 
index 1019462ab94c3d2b3da29c093d76db63e82c5076..92273769901cbe8a44f6d6f9fdbb4a8b5ac82ec2 100644 (file)
@@ -16,7 +16,7 @@
 
 include "basic_1/cnt/defs.ma".
 
-implied let rec cnt_ind (P: (T \to Prop)) (f: (\forall (n: nat).(P (TSort 
+implied rec lemma cnt_ind (P: (T \to Prop)) (f: (\forall (n: nat).(P (TSort 
 n)))) (f0: (\forall (t: T).((cnt t) \to ((P t) \to (\forall (k: K).(\forall 
 (v: T).(P (THead k v t)))))))) (t: T) (c: cnt t) on c: P t \def match c with 
 [(cnt_sort n) \Rightarrow (f n) | (cnt_head t0 c0 k v) \Rightarrow (f0 t0 c0 
index 2f082fa2a25787a6b9b7173911197036a6fa0951..b94c9c8d4a36737b08b33787558080e1e8ea56ca 100644 (file)
@@ -16,7 +16,7 @@
 
 include "basic_1/csuba/defs.ma".
 
-implied let rec csuba_ind (g: G) (P: (C \to (C \to Prop))) (f: (\forall (n: 
+implied rec lemma csuba_ind (g: G) (P: (C \to (C \to Prop))) (f: (\forall (n: 
 nat).(P (CSort n) (CSort n)))) (f0: (\forall (c1: C).(\forall (c2: C).((csuba 
 g c1 c2) \to ((P c1 c2) \to (\forall (k: K).(\forall (u: T).(P (CHead c1 k u) 
 (CHead c2 k u))))))))) (f1: (\forall (c1: C).(\forall (c2: C).((csuba g c1 
index a63e6baac7e7e821a320a539e2664c486d4575ec..22f68a28868a2b436fdaeb88fd506b6ca3ede523 100644 (file)
@@ -16,7 +16,7 @@
 
 include "basic_1/csubc/defs.ma".
 
-implied let rec csubc_ind (g: G) (P: (C \to (C \to Prop))) (f: (\forall (n: 
+implied rec lemma csubc_ind (g: G) (P: (C \to (C \to Prop))) (f: (\forall (n: 
 nat).(P (CSort n) (CSort n)))) (f0: (\forall (c1: C).(\forall (c2: C).((csubc 
 g c1 c2) \to ((P c1 c2) \to (\forall (k: K).(\forall (v: T).(P (CHead c1 k v) 
 (CHead c2 k v))))))))) (f1: (\forall (c1: C).(\forall (c2: C).((csubc g c1 
index 724d7c5a96d8c481e46aded90ece0bd97c4a8b84..a267513d139456aba64a928835fb84103467a41b 100644 (file)
@@ -18,7 +18,7 @@ include "basic_1/csubst0/defs.ma".
 
 include "basic_1/C/fwd.ma".
 
-implied let rec csubst0_ind (P: (nat \to (T \to (C \to (C \to Prop))))) (f: 
+implied rec lemma csubst0_ind (P: (nat \to (T \to (C \to (C \to Prop))))) (f: 
 (\forall (k: K).(\forall (i: nat).(\forall (v: T).(\forall (u1: T).(\forall 
 (u2: T).((subst0 i v u1 u2) \to (\forall (c: C).(P (s k i) v (CHead c k u1) 
 (CHead c k u2)))))))))) (f0: (\forall (k: K).(\forall (i: nat).(\forall (c1: 
index cd82088fe49610a25085185e97352f1b381f5579..eb571467a6a2b66956f9a2b6121822a50e2087d6 100644 (file)
@@ -16,7 +16,7 @@
 
 include "basic_1/csubt/defs.ma".
 
-implied let rec csubt_ind (g: G) (P: (C \to (C \to Prop))) (f: (\forall (n: 
+implied rec lemma csubt_ind (g: G) (P: (C \to (C \to Prop))) (f: (\forall (n: 
 nat).(P (CSort n) (CSort n)))) (f0: (\forall (c1: C).(\forall (c2: C).((csubt 
 g c1 c2) \to ((P c1 c2) \to (\forall (k: K).(\forall (u: T).(P (CHead c1 k u) 
 (CHead c2 k u))))))))) (f1: (\forall (c1: C).(\forall (c2: C).((csubt g c1 
index ebc5ee5136ecbb007bf96990addf937b313de178..23883b41203a8d572591bafc20695d790d90010d 100644 (file)
 
 include "basic_1/csubv/defs.ma".
 
-implied let rec csubv_ind (P: (C \to (C \to Prop))) (f: (\forall (n: nat).(P 
-(CSort n) (CSort n)))) (f0: (\forall (c1: C).(\forall (c2: C).((csubv c1 c2) 
-\to ((P c1 c2) \to (\forall (v1: T).(\forall (v2: T).(P (CHead c1 (Bind Void) 
-v1) (CHead c2 (Bind Void) v2))))))))) (f1: (\forall (c1: C).(\forall (c2: 
-C).((csubv c1 c2) \to ((P c1 c2) \to (\forall (b1: B).((not (eq B b1 Void)) 
-\to (\forall (b2: B).(\forall (v1: T).(\forall (v2: T).(P (CHead c1 (Bind b1) 
-v1) (CHead c2 (Bind b2) v2)))))))))))) (f2: (\forall (c1: C).(\forall (c2: 
-C).((csubv c1 c2) \to ((P c1 c2) \to (\forall (f2: F).(\forall (f3: 
-F).(\forall (v1: T).(\forall (v2: T).(P (CHead c1 (Flat f2) v1) (CHead c2 
-(Flat f3) v2))))))))))) (c: C) (c0: C) (c1: csubv c c0) on c1: P c c0 \def 
-match c1 with [(csubv_sort n) \Rightarrow (f n) | (csubv_void c2 c3 c4 v1 v2) 
-\Rightarrow (f0 c2 c3 c4 ((csubv_ind P f f0 f1 f2) c2 c3 c4) v1 v2) | 
-(csubv_bind c2 c3 c4 b1 n b2 v1 v2) \Rightarrow (f1 c2 c3 c4 ((csubv_ind P f 
-f0 f1 f2) c2 c3 c4) b1 n b2 v1 v2) | (csubv_flat c2 c3 c4 f3 f4 v1 v2) 
-\Rightarrow (f2 c2 c3 c4 ((csubv_ind P f f0 f1 f2) c2 c3 c4) f3 f4 v1 v2)].
+implied rec lemma csubv_ind (P: (C \to (C \to Prop))) (f: (\forall (n: 
+nat).(P (CSort n) (CSort n)))) (f0: (\forall (c1: C).(\forall (c2: C).((csubv 
+c1 c2) \to ((P c1 c2) \to (\forall (v1: T).(\forall (v2: T).(P (CHead c1 
+(Bind Void) v1) (CHead c2 (Bind Void) v2))))))))) (f1: (\forall (c1: 
+C).(\forall (c2: C).((csubv c1 c2) \to ((P c1 c2) \to (\forall (b1: B).((not 
+(eq B b1 Void)) \to (\forall (b2: B).(\forall (v1: T).(\forall (v2: T).(P 
+(CHead c1 (Bind b1) v1) (CHead c2 (Bind b2) v2)))))))))))) (f2: (\forall (c1: 
+C).(\forall (c2: C).((csubv c1 c2) \to ((P c1 c2) \to (\forall (f2: 
+F).(\forall (f3: F).(\forall (v1: T).(\forall (v2: T).(P (CHead c1 (Flat f2) 
+v1) (CHead c2 (Flat f3) v2))))))))))) (c: C) (c0: C) (c1: csubv c c0) on c1: 
+P c c0 \def match c1 with [(csubv_sort n) \Rightarrow (f n) | (csubv_void c2 
+c3 c4 v1 v2) \Rightarrow (f0 c2 c3 c4 ((csubv_ind P f f0 f1 f2) c2 c3 c4) v1 
+v2) | (csubv_bind c2 c3 c4 b1 n b2 v1 v2) \Rightarrow (f1 c2 c3 c4 
+((csubv_ind P f f0 f1 f2) c2 c3 c4) b1 n b2 v1 v2) | (csubv_flat c2 c3 c4 f3 
+f4 v1 v2) \Rightarrow (f2 c2 c3 c4 ((csubv_ind P f f0 f1 f2) c2 c3 c4) f3 f4 
+v1 v2)].
 
index a77911cae174b05991a0bac5c91520a1cfc0c169..0b7876eeae7e27e9f662abc50b1c1ef31bf66373 100644 (file)
@@ -22,7 +22,7 @@ include "basic_1/r/props.ma".
 
 include "basic_1/C/fwd.ma".
 
-implied let rec drop_ind (P: (nat \to (nat \to (C \to (C \to Prop))))) (f: 
+implied rec lemma drop_ind (P: (nat \to (nat \to (C \to (C \to Prop))))) (f: 
 (\forall (c: C).(P O O c c))) (f0: (\forall (k: K).(\forall (h: nat).(\forall 
 (c: C).(\forall (e: C).((drop (r k h) O c e) \to ((P (r k h) O c e) \to 
 (\forall (u: T).(P (S h) O (CHead c k u) e))))))))) (f1: (\forall (k: 
index ff42adbf5a4a8c20703ce103aec613b9d3111123..41b084879aa85bc4687975ae5f502c35a76a7320 100644 (file)
@@ -24,7 +24,7 @@ inductive drop1: PList \to (C \to (C \to Prop)) \def
 nat).((drop h d c1 c2) \to (\forall (c3: C).(\forall (hds: PList).((drop1 hds 
 c2 c3) \to (drop1 (PCons h d hds) c1 c3)))))))).
 
-let rec ptrans (hds: PList) on hds: nat \to PList \def \lambda (i: 
+rec definition ptrans (hds: PList) on hds: nat \to PList \def \lambda (i: 
 nat).(match hds with [PNil \Rightarrow PNil | (PCons h d hds0) \Rightarrow 
 (let j \def (trans hds0 i) in (let q \def (ptrans hds0 i) in (match (blt j d) 
 with [true \Rightarrow (PCons h (minus d (S j)) q) | false \Rightarrow 
index 3270fe008c9905a42e76293741fe16ec503390e6..3195918959af365def7b86753c8411be4f649020 100644 (file)
 
 include "basic_1/drop1/defs.ma".
 
-implied let rec drop1_ind (P: (PList \to (C \to (C \to Prop)))) (f: (\forall 
-(c: C).(P PNil c c))) (f0: (\forall (c1: C).(\forall (c2: C).(\forall (h
-nat).(\forall (d: nat).((drop h d c1 c2) \to (\forall (c3: C).(\forall (hds
-PList).((drop1 hds c2 c3) \to ((P hds c2 c3) \to (P (PCons h d hds) c1 
-c3))))))))))) (p: PList) (c: C) (c0: C) (d: drop1 p c c0) on d: P p c c0 \def 
-match d with [(drop1_nil c1) \Rightarrow (f c1) | (drop1_cons c1 c2 h d0 d
-c3 hds d2) \Rightarrow (f0 c1 c2 h d0 d1 c3 hds d2 ((drop1_ind P f f0) hds c2 
-c3 d2))].
+implied rec lemma drop1_ind (P: (PList \to (C \to (C \to Prop)))) (f: 
+(\forall (c: C).(P PNil c c))) (f0: (\forall (c1: C).(\forall (c2
+C).(\forall (h: nat).(\forall (d: nat).((drop h d c1 c2) \to (\forall (c3
+C).(\forall (hds: PList).((drop1 hds c2 c3) \to ((P hds c2 c3) \to (P (PCons 
+h d hds) c1 c3))))))))))) (p: PList) (c: C) (c0: C) (d: drop1 p c c0) on d: P 
+p c c0 \def match d with [(drop1_nil c1) \Rightarrow (f c1) | (drop1_cons c
+c2 h d0 d1 c3 hds d2) \Rightarrow (f0 c1 c2 h d0 d1 c3 hds d2 ((drop1_ind P f 
+f0) hds c2 c3 d2))].
 
 lemma drop1_gen_pnil:
  \forall (c1: C).(\forall (c2: C).((drop1 PNil c1 c2) \to (eq C c1 c2)))
index 31e071b63551ed85c1dbbc1253e217b48c79f862..248d07e063c5bb526b5d31235428e2b9083d4c84 100644 (file)
@@ -16,7 +16,7 @@
 
 include "basic_1/ex0/defs.ma".
 
-implied let rec leqz_ind (P: (A \to (A \to Prop))) (f: (\forall (h1: 
+implied rec lemma leqz_ind (P: (A \to (A \to Prop))) (f: (\forall (h1: 
 nat).(\forall (h2: nat).(\forall (n1: nat).(\forall (n2: nat).((eq nat (plus 
 h1 n2) (plus h2 n1)) \to (P (ASort h1 n1) (ASort h2 n2)))))))) (f0: (\forall 
 (a1: A).(\forall (a2: A).((leqz a1 a2) \to ((P a1 a2) \to (\forall (a3: 
index 32d8e6f870a9fc897d7cf3c57ac7c5fb8e9a33ee..4fc6915b4bc52ead0811aac3d12058ddcdc1bd8b 100644 (file)
@@ -16,7 +16,7 @@
 
 include "basic_1/leq/defs.ma".
 
-implied let rec leq_ind (g: G) (P: (A \to (A \to Prop))) (f: (\forall (h1: 
+implied rec lemma leq_ind (g: G) (P: (A \to (A \to Prop))) (f: (\forall (h1: 
 nat).(\forall (h2: nat).(\forall (n1: nat).(\forall (n2: nat).(\forall (k: 
 nat).((eq A (aplus g (ASort h1 n1) k) (aplus g (ASort h2 n2) k)) \to (P 
 (ASort h1 n1) (ASort h2 n2))))))))) (f0: (\forall (a1: A).(\forall (a2: 
index 6f9475944759fbd4b3f18dee47485cd84b238b93..6c595922842e3d842aee274038b16a59ebcfed57 100644 (file)
@@ -18,10 +18,10 @@ include "basic_1/tlist/defs.ma".
 
 include "basic_1/s/defs.ma".
 
-let rec lref_map (f: (nat \to nat)) (d: nat) (t: T) on t: T \def match t wit
-[(TSort n) \Rightarrow (TSort n) | (TLRef i) \Rightarrow (TLRef (match (blt i 
-d) with [true \Rightarrow i | false \Rightarrow (f i)])) | (THead k u t0) 
-\Rightarrow (THead k (lref_map f d u) (lref_map f (s k d) t0))].
+rec definition lref_map (f: (nat \to nat)) (d: nat) (t: T) on t: T \def matc
+t with [(TSort n) \Rightarrow (TSort n) | (TLRef i) \Rightarrow (TLRef (match 
+(blt i d) with [true \Rightarrow i | false \Rightarrow (f i)])) | (THead k u 
+t0) \Rightarrow (THead k (lref_map f d u) (lref_map f (s k d) t0))].
 
 definition lift:
  nat \to (nat \to (T \to T))
@@ -29,7 +29,7 @@ definition lift:
  \lambda (h: nat).(\lambda (i: nat).(\lambda (t: T).(lref_map (\lambda (x: 
 nat).(plus x h)) i t))).
 
-let rec lifts (h: nat) (d: nat) (ts: TList) on ts: TList \def match ts with 
-[TNil \Rightarrow TNil | (TCons t ts0) \Rightarrow (TCons (lift h d t) (lifts 
-h d ts0))].
+rec definition lifts (h: nat) (d: nat) (ts: TList) on ts: TList \def match ts 
+with [TNil \Rightarrow TNil | (TCons t ts0) \Rightarrow (TCons (lift h d t) 
+(lifts h d ts0))].
 
index 94e6343dfa034faf5d3ef607de01c74c65329f67..4ab2589050f3a4a028468c2b4ae454043e126819 100644 (file)
 
 include "basic_1/lift/defs.ma".
 
-let rec trans (hds: PList) on hds: nat \to nat \def \lambda (i: nat).(match 
-hds with [PNil \Rightarrow i | (PCons h d hds0) \Rightarrow (let j \def 
-(trans hds0 i) in (match (blt j d) with [true \Rightarrow j | false 
+rec definition trans (hds: PList) on hds: nat \to nat \def \lambda (i: 
+nat).(match hds with [PNil \Rightarrow i | (PCons h d hds0) \Rightarrow (let 
+j \def (trans hds0 i) in (match (blt j d) with [true \Rightarrow j | false 
 \Rightarrow (plus j h)]))]).
 
-let rec lift1 (hds: PList) on hds: T \to T \def \lambda (t: T).(match hds 
-with [PNil \Rightarrow t | (PCons h d hds0) \Rightarrow (lift h d (lift1 hds0 
-t))]).
+rec definition lift1 (hds: PList) on hds: T \to T \def \lambda (t: T).(match 
+hds with [PNil \Rightarrow t | (PCons h d hds0) \Rightarrow (lift h d (lift1 
+hds0 t))]).
 
-let rec lifts1 (hds: PList) (ts: TList) on ts: TList \def match ts with [TNil 
-\Rightarrow TNil | (TCons t ts0) \Rightarrow (TCons (lift1 hds t) (lifts1 hds 
-ts0))].
+rec definition lifts1 (hds: PList) (ts: TList) on ts: TList \def match ts 
+with [TNil \Rightarrow TNil | (TCons t ts0) \Rightarrow (TCons (lift1 hds t) 
+(lifts1 hds ts0))].
 
index e1e9ee5af4847ff44b3c6be267057cd79cdbe927..7d5bc550aa23225d9e0e71a0a853396f9a7c733f 100644 (file)
@@ -16,8 +16,9 @@
 
 include "basic_1/A/defs.ma".
 
-let rec lweight (a: A) on a: nat \def match a with [(ASort _ _) \Rightarrow O 
-| (AHead a1 a2) \Rightarrow (S (plus (lweight a1) (lweight a2)))].
+rec definition lweight (a: A) on a: nat \def match a with [(ASort _ _) 
+\Rightarrow O | (AHead a1 a2) \Rightarrow (S (plus (lweight a1) (lweight 
+a2)))].
 
 definition llt:
  A \to (A \to Prop)
index b622b763c26c88a57cd5eb762d0699b137ffef3c..04e15b3ccce9f062c75fa4f146b60dc4f826bdd7 100644 (file)
@@ -16,6 +16,6 @@
 
 include "basic_1/G/defs.ma".
 
-let rec next_plus (g: G) (n: nat) (i: nat) on i: nat \def match i with [O 
-\Rightarrow n | (S i0) \Rightarrow (next g (next_plus g n i0))].
+rec definition next_plus (g: G) (n: nat) (i: nat) on i: nat \def match i with 
+[O \Rightarrow n | (S i0) \Rightarrow (next g (next_plus g n i0))].
 
index eae14f72809c6caf51db3ac02ef8d52cb15ad84b..5b4849d7a76b064657ae80664433c0925b8b1dae 100644 (file)
@@ -22,6 +22,6 @@ definition nf2:
  \lambda (c: C).(\lambda (t1: T).(\forall (t2: T).((pr2 c t1 t2) \to (eq T t1 
 t2)))).
 
-let rec nfs2 (c: C) (ts: TList) on ts: Prop \def match ts with [TNil 
+rec definition nfs2 (c: C) (ts: TList) on ts: Prop \def match ts with [TNil 
 \Rightarrow True | (TCons t ts0) \Rightarrow (land (nf2 c t) (nfs2 c ts0))].
 
index d386b1864166fbc1f0f5307d08edef8983581ccf..579d42b240863c6909ecd85c7db15818f20b83cb 100644 (file)
@@ -16,7 +16,7 @@
 
 include "basic_1/pc3/props.ma".
 
-implied let rec pc3_left_ind (c: C) (P: (T \to (T \to Prop))) (f: (\forall 
+implied rec lemma pc3_left_ind (c: C) (P: (T \to (T \to Prop))) (f: (\forall 
 (t: T).(P t t))) (f0: (\forall (t1: T).(\forall (t2: T).((pr2 c t1 t2) \to 
 (\forall (t3: T).((pc3_left c t2 t3) \to ((P t2 t3) \to (P t1 t3)))))))) (f1: 
 (\forall (t1: T).(\forall (t2: T).((pr2 c t1 t2) \to (\forall (t3: 
index 972d9217057c5d1416c6d4d45c4bdb5071e8c433..ad2f0e88673f05d73f87111150bd14e0e07e4726 100644 (file)
@@ -18,7 +18,7 @@ include "basic_1/pr0/defs.ma".
 
 include "basic_1/subst0/fwd.ma".
 
-implied let rec pr0_ind (P: (T \to (T \to Prop))) (f: (\forall (t: T).(P t 
+implied rec lemma pr0_ind (P: (T \to (T \to Prop))) (f: (\forall (t: T).(P t 
 t))) (f0: (\forall (u1: T).(\forall (u2: T).((pr0 u1 u2) \to ((P u1 u2) \to 
 (\forall (t1: T).(\forall (t2: T).((pr0 t1 t2) \to ((P t1 t2) \to (\forall 
 (k: K).(P (THead k u1 t1) (THead k u2 t2)))))))))))) (f1: (\forall (u: 
index 58b7e727fac6869a38a6e97aed2411a261f5a593..8c9640c9f6c8440ab97f6e4470e352764cb6bc34 100644 (file)
@@ -16,7 +16,7 @@
 
 include "basic_1/pr1/defs.ma".
 
-implied let rec pr1_ind (P: (T \to (T \to Prop))) (f: (\forall (t: T).(P t 
+implied rec lemma pr1_ind (P: (T \to (T \to Prop))) (f: (\forall (t: T).(P t 
 t))) (f0: (\forall (t2: T).(\forall (t1: T).((pr0 t1 t2) \to (\forall (t3: 
 T).((pr1 t2 t3) \to ((P t2 t3) \to (P t1 t3)))))))) (t: T) (t0: T) (p: pr1 t 
 t0) on p: P t t0 \def match p with [(pr1_refl t1) \Rightarrow (f t1) | 
index e3c9fca027c7cb7bcfa21ed6ed72adbcf512627d..7f9e4641924945bc86408d0528cb638a5147eea6 100644 (file)
@@ -18,7 +18,7 @@ include "basic_1/pr3/defs.ma".
 
 include "basic_1/pr2/fwd.ma".
 
-implied let rec pr3_ind (c: C) (P: (T \to (T \to Prop))) (f: (\forall (t: 
+implied rec lemma pr3_ind (c: C) (P: (T \to (T \to Prop))) (f: (\forall (t: 
 T).(P t t))) (f0: (\forall (t2: T).(\forall (t1: T).((pr2 c t1 t2) \to 
 (\forall (t3: T).((pr3 c t2 t3) \to ((P t2 t3) \to (P t1 t3)))))))) (t: T) 
 (t0: T) (p: pr3 c t t0) on p: P t t0 \def match p with [(pr3_refl t1) 
index 6a9f0739b1d06f6581f03456d3925fd0716d76e7..417868bc4829a8256a6a74f5a7a703ff76ed57f2 100644 (file)
@@ -20,7 +20,7 @@ include "basic_1/arity/defs.ma".
 
 include "basic_1/drop1/defs.ma".
 
-let rec sc3 (g: G) (a: A) on a: C \to (T \to Prop) \def \lambda (c: 
+rec definition sc3 (g: G) (a: A) on a: C \to (T \to Prop) \def \lambda (c: 
 C).(\lambda (t: T).(match a with [(ASort h n) \Rightarrow (land (arity g c t 
 (ASort h n)) (sn3 c t)) | (AHead a1 a2) \Rightarrow (land (arity g c t (AHead 
 a1 a2)) (\forall (d: C).(\forall (w: T).((sc3 g a1 d w) \to (\forall (is: 
index c6980318bca9e430dd7c9f1cd6d310930d2246c4..d9ba6092c50f190f1cd9b62c3155426b74541ed4 100644 (file)
@@ -20,6 +20,6 @@ inductive sn3 (c: C): T \to Prop \def
 | sn3_sing: \forall (t1: T).(((\forall (t2: T).((((eq T t1 t2) \to (\forall 
 (P: Prop).P))) \to ((pr3 c t1 t2) \to (sn3 c t2))))) \to (sn3 c t1)).
 
-let rec sns3 (c: C) (ts: TList) on ts: Prop \def match ts with [TNil 
+rec definition sns3 (c: C) (ts: TList) on ts: Prop \def match ts with [TNil 
 \Rightarrow True | (TCons t ts0) \Rightarrow (land (sn3 c t) (sns3 c ts0))].
 
index 2550405f2bec142ce5f15aee9fe4a6037f770308..fe603b59cd541577a1e9038385f90c331d60dc53 100644 (file)
@@ -18,7 +18,7 @@ include "basic_1/sn3/defs.ma".
 
 include "basic_1/pr3/props.ma".
 
-implied let rec sn3_ind (c: C) (P: (T \to Prop)) (f: (\forall (t1: 
+implied rec lemma sn3_ind (c: C) (P: (T \to Prop)) (f: (\forall (t1: 
 T).(((\forall (t2: T).((((eq T t1 t2) \to (\forall (P0: Prop).P0))) \to ((pr3 
 c t1 t2) \to (sn3 c t2))))) \to (((\forall (t2: T).((((eq T t1 t2) \to 
 (\forall (P0: Prop).P0))) \to ((pr3 c t1 t2) \to (P t2))))) \to (P t1))))) 
index 5b80b01a2a65f61c82a9223c4afb385bd6b8b60c..0d05ca147abaab635f5ebb329553b0d20ad08781 100644 (file)
@@ -16,7 +16,7 @@
 
 include "basic_1/sty0/defs.ma".
 
-implied let rec sty0_ind (g: G) (P: (C \to (T \to (T \to Prop)))) (f: 
+implied rec lemma sty0_ind (g: G) (P: (C \to (T \to (T \to Prop)))) (f: 
 (\forall (c: C).(\forall (n: nat).(P c (TSort n) (TSort (next g n)))))) (f0: 
 (\forall (c: C).(\forall (d: C).(\forall (v: T).(\forall (i: nat).((getl i c 
 (CHead d (Bind Abbr) v)) \to (\forall (w: T).((sty0 g d v w) \to ((P d v w) 
index 535f3ff11d9c1f31dd46ce07e9dc50b2007184a9..7307b49ffd03ceef35c0348c40bc9c5d24f23aa8 100644 (file)
 
 include "basic_1/sty1/defs.ma".
 
-implied let rec sty1_ind (g: G) (c: C) (t1: T) (P: (T \to Prop)) (f: (\forall 
-(t2: T).((sty0 g c t1 t2) \to (P t2)))) (f0: (\forall (t: T).((sty1 g c t1 t) 
-\to ((P t) \to (\forall (t2: T).((sty0 g c t t2) \to (P t2))))))) (t: T) (s0: 
-sty1 g c t1 t) on s0: P t \def match s0 with [(sty1_sty0 t2 s1) \Rightarrow 
-(f t2 s1) | (sty1_sing t0 s1 t2 s2) \Rightarrow (f0 t0 s1 ((sty1_ind g c t1 P 
-f f0) t0 s1) t2 s2)].
+implied rec lemma sty1_ind (g: G) (c: C) (t1: T) (P: (T \to Prop)) (f: 
+(\forall (t2: T).((sty0 g c t1 t2) \to (P t2)))) (f0: (\forall (t: T).((sty1 
+g c t1 t) \to ((P t) \to (\forall (t2: T).((sty0 g c t t2) \to (P t2))))))) 
+(t: T) (s0: sty1 g c t1 t) on s0: P t \def match s0 with [(sty1_sty0 t2 s1) 
+\Rightarrow (f t2 s1) | (sty1_sing t0 s1 t2 s2) \Rightarrow (f0 t0 s1 
+((sty1_ind g c t1 P f f0) t0 s1) t2 s2)].
 
index bf89e1618a94e2a321242a0ea3be22a83a744e4e..8d9ed5f07b58db23db35705495aac6f1d033a43c 100644 (file)
@@ -16,8 +16,8 @@
 
 include "basic_1/lift/defs.ma".
 
-let rec subst (d: nat) (v: T) (t: T) on t: T \def match t with [(TSort n) 
-\Rightarrow (TSort n) | (TLRef i) \Rightarrow (match (blt i d) with [true 
+rec definition subst (d: nat) (v: T) (t: T) on t: T \def match t with [(TSort 
+n) \Rightarrow (TSort n) | (TLRef i) \Rightarrow (match (blt i d) with [true 
 \Rightarrow (TLRef i) | false \Rightarrow (match (blt d i) with [true 
 \Rightarrow (TLRef (pred i)) | false \Rightarrow (lift d O v)])]) | (THead k 
 u t0) \Rightarrow (THead k (subst d v u) (subst (s k d) v t0))].
index 5af139ab0ac45a3ff2bfb976a458cc05e9142830..930835ccb1ce023b0379f0c477bee730791b84a0 100644 (file)
@@ -18,7 +18,7 @@ include "basic_1/subst0/defs.ma".
 
 include "basic_1/lift/fwd.ma".
 
-implied let rec subst0_ind (P: (nat \to (T \to (T \to (T \to Prop))))) (f: 
+implied rec lemma subst0_ind (P: (nat \to (T \to (T \to (T \to Prop))))) (f: 
 (\forall (v: T).(\forall (i: nat).(P i v (TLRef i) (lift (S i) O v))))) (f0: 
 (\forall (v: T).(\forall (u2: T).(\forall (u1: T).(\forall (i: nat).((subst0 
 i v u1 u2) \to ((P i v u1 u2) \to (\forall (t: T).(\forall (k: K).(P i v 
index 86b88b5dfbfedd36740096d048aba69b4155c964..d0eed7f52dc6abe23bfb275eeb0070d3f2ab3263 100644 (file)
@@ -20,16 +20,16 @@ inductive TList: Type[0] \def
 | TNil: TList
 | TCons: T \to (TList \to TList).
 
-let rec THeads (k: K) (us: TList) on us: T \to T \def \lambda (t: T).(match 
-us with [TNil \Rightarrow t | (TCons u ul) \Rightarrow (THead k u (THeads k 
-ul t))]).
+rec definition THeads (k: K) (us: TList) on us: T \to T \def \lambda (t: 
+T).(match us with [TNil \Rightarrow t | (TCons u ul) \Rightarrow (THead k u 
+(THeads k ul t))]).
 
-let rec TApp (ts: TList) on ts: T \to TList \def \lambda (v: T).(match ts 
-with [TNil \Rightarrow (TCons v TNil) | (TCons t ts0) \Rightarrow (TCons t 
+rec definition TApp (ts: TList) on ts: T \to TList \def \lambda (v: T).(match 
+ts with [TNil \Rightarrow (TCons v TNil) | (TCons t ts0) \Rightarrow (TCons t 
 (TApp ts0 v))]).
 
-let rec tslen (ts: TList) on ts: nat \def match ts with [TNil \Rightarrow O | 
-(TCons _ ts0) \Rightarrow (S (tslen ts0))].
+rec definition tslen (ts: TList) on ts: nat \def match ts with [TNil 
+\Rightarrow O | (TCons _ ts0) \Rightarrow (S (tslen ts0))].
 
 definition tslt:
  TList \to (TList \to Prop)
index 3a21225f2f2bd77cca50be3999cba32dfef56bca..17474004236ddbcd49a5a55c17c60c5445055cf2 100644 (file)
@@ -22,8 +22,8 @@ definition wadd:
  \lambda (f: ((nat \to nat))).(\lambda (w: nat).(\lambda (n: nat).(match n 
 with [O \Rightarrow w | (S m) \Rightarrow (f m)]))).
 
-let rec weight_map (f: (nat \to nat)) (t: T) on t: nat \def match t with 
-[(TSort _) \Rightarrow O | (TLRef n) \Rightarrow (f n) | (THead k u t0) 
+rec definition weight_map (f: (nat \to nat)) (t: T) on t: nat \def match t 
+with [(TSort _) \Rightarrow O | (TLRef n) \Rightarrow (f n) | (THead k u t0) 
 \Rightarrow (match k with [(Bind b) \Rightarrow (match b with [Abbr 
 \Rightarrow (S (plus (weight_map f u) (weight_map (wadd f (S (weight_map f 
 u))) t0))) | Abst \Rightarrow (S (plus (weight_map f u) (weight_map (wadd f 
index 13e8ec9ac8d901edc61d345390e2e3def4672673..318a97986dce30bbc3c811a81b4f5dca43a121ce 100644 (file)
@@ -18,14 +18,14 @@ include "basic_1/ty3/defs.ma".
 
 include "basic_1/pc3/props.ma".
 
-implied let rec ty3_ind (g: G) (P: (C \to (T \to (T \to Prop)))) (f: (\forall 
-(c: C).(\forall (t2: T).(\forall (t: T).((ty3 g c t2 t) \to ((P c t2 t) \to 
-(\forall (u: T).(\forall (t1: T).((ty3 g c u t1) \to ((P c u t1) \to ((pc3 c 
-t1 t2) \to (P c u t2)))))))))))) (f0: (\forall (c: C).(\forall (m: nat).(P c 
-(TSort m) (TSort (next g m)))))) (f1: (\forall (n: nat).(\forall (c: 
-C).(\forall (d: C).(\forall (u: T).((getl n c (CHead d (Bind Abbr) u)) \to 
-(\forall (t: T).((ty3 g d u t) \to ((P d u t) \to (P c (TLRef n) (lift (S n) 
-O t))))))))))) (f2: (\forall (n: nat).(\forall (c: C).(\forall (d: 
+implied rec lemma ty3_ind (g: G) (P: (C \to (T \to (T \to Prop)))) (f: 
+(\forall (c: C).(\forall (t2: T).(\forall (t: T).((ty3 g c t2 t) \to ((P c t2 
+t) \to (\forall (u: T).(\forall (t1: T).((ty3 g c u t1) \to ((P c u t1) \to 
+((pc3 c t1 t2) \to (P c u t2)))))))))))) (f0: (\forall (c: C).(\forall (m: 
+nat).(P c (TSort m) (TSort (next g m)))))) (f1: (\forall (n: nat).(\forall 
+(c: C).(\forall (d: C).(\forall (u: T).((getl n c (CHead d (Bind Abbr) u)) 
+\to (\forall (t: T).((ty3 g d u t) \to ((P d u t) \to (P c (TLRef n) (lift (S 
+n) O t))))))))))) (f2: (\forall (n: nat).(\forall (c: C).(\forall (d: 
 C).(\forall (u: T).((getl n c (CHead d (Bind Abst) u)) \to (\forall (t: 
 T).((ty3 g d u t) \to ((P d u t) \to (P c (TLRef n) (lift (S n) O 
 u))))))))))) (f3: (\forall (c: C).(\forall (u: T).(\forall (t: T).((ty3 g c u 
@@ -54,7 +54,7 @@ t3 t4 ((ty3_ind g P f f0 f1 f2 f3 f4 f5) c0 v (THead (Bind Abst) u t3) t4)) |
 f1 f2 f3 f4 f5) c0 t2 t3 t4) t5 t6 ((ty3_ind g P f f0 f1 f2 f3 f4 f5) c0 t3 
 t5 t6))].
 
-implied let rec tys3_ind (g: G) (c: C) (P: (TList \to (T \to Prop))) (f: 
+implied rec lemma tys3_ind (g: G) (c: C) (P: (TList \to (T \to Prop))) (f: 
 (\forall (u: T).(\forall (u0: T).((ty3 g c u u0) \to (P TNil u))))) (f0: 
 (\forall (t: T).(\forall (u: T).((ty3 g c t u) \to (\forall (ts: 
 TList).((tys3 g c ts u) \to ((P ts u) \to (P (TCons t ts) u)))))))) (t: 
index 4f6e1df9f6aa26e88c5ea4ea8d9723ae5ff193dd..8d4ccb52e5bc01e2271b3ac9c5f9bd79ed43916c 100644 (file)
 
 include "basic_1/wcpr0/defs.ma".
 
-implied let rec wcpr0_ind (P: (C \to (C \to Prop))) (f: (\forall (c: C).(P c 
-c))) (f0: (\forall (c1: C).(\forall (c2: C).((wcpr0 c1 c2) \to ((P c1 c2) \to 
-(\forall (u1: T).(\forall (u2: T).((pr0 u1 u2) \to (\forall (k: K).(P (CHead 
-c1 k u1) (CHead c2 k u2))))))))))) (c: C) (c0: C) (w: wcpr0 c c0) on w: P c 
-c0 \def match w with [(wcpr0_refl c1) \Rightarrow (f c1) | (wcpr0_comp c1 c2 
-w0 u1 u2 p k) \Rightarrow (f0 c1 c2 w0 ((wcpr0_ind P f f0) c1 c2 w0) u1 u2 p 
-k)].
+implied rec lemma wcpr0_ind (P: (C \to (C \to Prop))) (f: (\forall (c: C).(P 
+c c))) (f0: (\forall (c1: C).(\forall (c2: C).((wcpr0 c1 c2) \to ((P c1 c2) 
+\to (\forall (u1: T).(\forall (u2: T).((pr0 u1 u2) \to (\forall (k: K).(P 
+(CHead c1 k u1) (CHead c2 k u2))))))))))) (c: C) (c0: C) (w: wcpr0 c c0) on 
+w: P c c0 \def match w with [(wcpr0_refl c1) \Rightarrow (f c1) | (wcpr0_comp 
+c1 c2 w0 u1 u2 p k) \Rightarrow (f0 c1 c2 w0 ((wcpr0_ind P f f0) c1 c2 w0) u1 
+u2 p k)].
 
 lemma wcpr0_gen_sort:
  \forall (x: C).(\forall (n: nat).((wcpr0 (CSort n) x) \to (eq C x (CSort 
index 98eb5558cd13f0d380c6911e1e086f103de283bc..d4718ec6e378e060fa4f67bebbe16ee8daa7b049 100644 (file)
@@ -16,7 +16,7 @@
 
 include "basic_1/wf3/defs.ma".
 
-implied let rec wf3_ind (g: G) (P: (C \to (C \to Prop))) (f: (\forall (m: 
+implied rec lemma wf3_ind (g: G) (P: (C \to (C \to Prop))) (f: (\forall (m: 
 nat).(P (CSort m) (CSort m)))) (f0: (\forall (c1: C).(\forall (c2: C).((wf3 g 
 c1 c2) \to ((P c1 c2) \to (\forall (u: T).(\forall (t: T).((ty3 g c1 u t) \to 
 (\forall (b: B).(P (CHead c1 (Bind b) u) (CHead c2 (Bind b) u))))))))))) (f1: 
index f1eee61f5dd85de2f0ea057e83eb094b560b0d45..3b8f8656e1cd10605554687a813917c138e33326 100644 (file)
@@ -16,7 +16,7 @@
 
 include "ground_1/preamble.ma".
 
-let rec blt (m: nat) (n: nat) on n: bool \def match n with [O \Rightarrow 
-false | (S n0) \Rightarrow (match m with [O \Rightarrow true | (S m0) 
-\Rightarrow (blt m0 n0)])].
+rec definition blt (m: nat) (n: nat) on n: bool \def match n with [O 
+\Rightarrow false | (S n0) \Rightarrow (match m with [O \Rightarrow true | (S 
+m0) \Rightarrow (blt m0 n0)])].
 
index cfb67e1fffce3b3dfac7a5fb11077672a1f31af3..13a7bd07a079a8be249126995c45de937dfc87e2 100644 (file)
@@ -20,14 +20,15 @@ inductive PList: Type[0] \def
 | PNil: PList
 | PCons: nat \to (nat \to (PList \to PList)).
 
-let rec PConsTail (hds: PList) on hds: nat \to (nat \to PList) \def \lambda 
-(h0: nat).(\lambda (d0: nat).(match hds with [PNil \Rightarrow (PCons h0 d0 
-PNil) | (PCons h d hds0) \Rightarrow (PCons h d (PConsTail hds0 h0 d0))])).
+rec definition PConsTail (hds: PList) on hds: nat \to (nat \to PList) \def 
+\lambda (h0: nat).(\lambda (d0: nat).(match hds with [PNil \Rightarrow (PCons 
+h0 d0 PNil) | (PCons h d hds0) \Rightarrow (PCons h d (PConsTail hds0 h0 
+d0))])).
 
-let rec Ss (hds: PList) on hds: PList \def match hds with [PNil \Rightarrow 
-PNil | (PCons h d hds0) \Rightarrow (PCons h (S d) (Ss hds0))].
+rec definition Ss (hds: PList) on hds: PList \def match hds with [PNil 
+\Rightarrow PNil | (PCons h d hds0) \Rightarrow (PCons h (S d) (Ss hds0))].
 
-let rec papp (a: PList) on a: PList \to PList \def \lambda (b: PList).(match 
-a with [PNil \Rightarrow b | (PCons h d a0) \Rightarrow (PCons h d (papp a0 
-b))]).
+rec definition papp (a: PList) on a: PList \to PList \def \lambda (b: 
+PList).(match a with [PNil \Rightarrow b | (PCons h d a0) \Rightarrow (PCons 
+h d (papp a0 b))]).
 
index 75e58b0364f93ac5077e8fb475a8ce0d70517b29..497403d328dc5b76e0462a651e11c5cb41b4988e 100644 (file)
@@ -68,12 +68,12 @@ definition pred:
 \def
  \lambda (n: nat).(match n with [O \Rightarrow O | (S u) \Rightarrow u]).
 
-let rec plus (n: nat) on n: nat \to nat \def \lambda (m: nat).(match n with 
-[O \Rightarrow m | (S p) \Rightarrow (S (plus p m))]).
+rec definition plus (n: nat) on n: nat \to nat \def \lambda (m: nat).(match n 
+with [O \Rightarrow m | (S p) \Rightarrow (S (plus p m))]).
 
-let rec minus (n: nat) on n: nat \to nat \def \lambda (m: nat).(match n wit
-[O \Rightarrow O | (S k) \Rightarrow (match m with [O \Rightarrow (S k) | (S 
-l) \Rightarrow (minus k l)])]).
+rec definition minus (n: nat) on n: nat \to nat \def \lambda (m: nat).(matc
+n with [O \Rightarrow O | (S k) \Rightarrow (match m with [O \Rightarrow (S 
+k) | (S l) \Rightarrow (minus k l)])]).
 
 inductive Acc (A: Type[0]) (R: A \to (A \to Prop)): A \to Prop \def
 | Acc_intro: \forall (x: A).(((\forall (y: A).((R y x) \to (Acc A R y)))) \to 
index 8f5ee7307488b980a1b3a4b4fd6ba3efbff83d9a..c11c7d732e37831a9eb82484e2bfadf0fa67a38e 100644 (file)
@@ -81,12 +81,12 @@ implied lemma eq_ind:
  \lambda (A: Type[0]).(\lambda (x: A).(\lambda (P: ((A \to Prop))).(eq_rect A 
 x P))).
 
-implied let rec le_ind (n: nat) (P: (nat \to Prop)) (f: P n) (f0: (\forall 
+implied rec lemma le_ind (n: nat) (P: (nat \to Prop)) (f: P n) (f0: (\forall 
 (m: nat).((le n m) \to ((P m) \to (P (S m)))))) (n0: nat) (l: le n n0) on l: 
 P n0 \def match l with [le_n \Rightarrow f | (le_S m l0) \Rightarrow (f0 m l0 
 ((le_ind n P f f0) m l0))].
 
-implied let rec Acc_ind (A: Type[0]) (R: (A \to (A \to Prop))) (P: (A \to 
+implied rec lemma Acc_ind (A: Type[0]) (R: (A \to (A \to Prop))) (P: (A \to 
 Prop)) (f: (\forall (x: A).(((\forall (y: A).((R y x) \to (Acc A R y)))) \to 
 (((\forall (y: A).((R y x) \to (P y)))) \to (P x))))) (a: A) (a0: Acc A R a) 
 on a0: P a \def match a0 with [(Acc_intro x a1) \Rightarrow (f x a1 (\lambda