]> matita.cs.unibo.it Git - helm.git/commitdiff
components: clear getl cimp
authorFerruccio Guidi <ferruccio.guidi@unibo.it>
Sun, 8 Feb 2015 17:13:27 +0000 (17:13 +0000)
committerFerruccio Guidi <ferruccio.guidi@unibo.it>
Sun, 8 Feb 2015 17:13:27 +0000 (17:13 +0000)
if anticipated, getl/drop.ma causes "Out of mamory" in matitac

14 files changed:
matita/matita/contribs/lambdadelta/basic_1/cimp/defs.ma
matita/matita/contribs/lambdadelta/basic_1/cimp/props.ma
matita/matita/contribs/lambdadelta/basic_1/clear/defs.ma
matita/matita/contribs/lambdadelta/basic_1/clear/drop.ma
matita/matita/contribs/lambdadelta/basic_1/clear/fwd.ma
matita/matita/contribs/lambdadelta/basic_1/clear/props.ma
matita/matita/contribs/lambdadelta/basic_1/getl/clear.ma
matita/matita/contribs/lambdadelta/basic_1/getl/dec.ma
matita/matita/contribs/lambdadelta/basic_1/getl/defs.ma
matita/matita/contribs/lambdadelta/basic_1/getl/drop.ma
matita/matita/contribs/lambdadelta/basic_1/getl/flt.ma
matita/matita/contribs/lambdadelta/basic_1/getl/fwd.ma
matita/matita/contribs/lambdadelta/basic_1/getl/getl.ma
matita/matita/contribs/lambdadelta/basic_1/getl/props.ma

index b45b64b59d253f4e4da09477c9f7f609e1bbb7ab..fce9abdd15749acd36f6539a886eced32a703656 100644 (file)
 
 (* This file was automatically generated: do not edit *********************)
 
-include "Basic-1/getl/defs.ma".
+include "basic_1/getl/defs.ma".
 
 definition cimp:
  C \to (C \to Prop)
 \def
  \lambda (c1: C).(\lambda (c2: C).(\forall (b: B).(\forall (d1: C).(\forall 
-(w: T).(\forall (h: nat).((getl h c1 (CHead d1 (Bind b) w)) \to (ex C 
-(\lambda (d2: C).(getl h c2 (CHead d2 (Bind b) w)))))))))).
+(w: T).(\forall (h: nat).((getl h c1 (CHead d1 (Bind b) w)) \to (let TMP_3 
+\def (\lambda (d2: C).(let TMP_1 \def (Bind b) in (let TMP_2 \def (CHead d2 
+TMP_1 w) in (getl h c2 TMP_2)))) in (ex C TMP_3)))))))).
 
index 0834a7afeb5e57b68fc03d8f2ce80e136e10a6fc..92af7b3c8fb1827dce4051975c2aa0fbd7f8ddc6 100644 (file)
@@ -14,9 +14,9 @@
 
 (* This file was automatically generated: do not edit *********************)
 
-include "Basic-1/cimp/defs.ma".
+include "basic_1/cimp/defs.ma".
 
-include "Basic-1/getl/getl.ma".
+include "basic_1/getl/getl.ma".
 
 theorem cimp_flat_sx:
  \forall (f: F).(\forall (c: C).(\forall (v: T).(cimp (CHead c (Flat f) v) 
@@ -24,20 +24,28 @@ c)))
 \def
  \lambda (f: F).(\lambda (c: C).(\lambda (v: T).(\lambda (b: B).(\lambda (d1: 
 C).(\lambda (w: T).(\lambda (h: nat).(\lambda (H: (getl h (CHead c (Flat f) 
-v) (CHead d1 (Bind b) w))).(nat_ind (\lambda (n: nat).((getl n (CHead c (Flat 
-f) v) (CHead d1 (Bind b) w)) \to (ex C (\lambda (d2: C).(getl n c (CHead d2 
-(Bind b) w)))))) (\lambda (H0: (getl O (CHead c (Flat f) v) (CHead d1 (Bind 
-b) w))).(ex_intro C (\lambda (d2: C).(getl O c (CHead d2 (Bind b) w))) d1 
-(getl_intro O c (CHead d1 (Bind b) w) c (drop_refl c) (clear_gen_flat f c 
-(CHead d1 (Bind b) w) v (getl_gen_O (CHead c (Flat f) v) (CHead d1 (Bind b) 
-w) H0))))) (\lambda (h0: nat).(\lambda (_: (((getl h0 (CHead c (Flat f) v) 
+v) (CHead d1 (Bind b) w))).(let TMP_4 \def (\lambda (n: nat).((getl n (CHead 
+c (Flat f) v) (CHead d1 (Bind b) w)) \to (let TMP_3 \def (\lambda (d2: 
+C).(let TMP_1 \def (Bind b) in (let TMP_2 \def (CHead d2 TMP_1 w) in (getl n 
+c TMP_2)))) in (ex C TMP_3)))) in (let TMP_20 \def (\lambda (H0: (getl O 
+(CHead c (Flat f) v) (CHead d1 (Bind b) w))).(let TMP_7 \def (\lambda (d2: 
+C).(let TMP_5 \def (Bind b) in (let TMP_6 \def (CHead d2 TMP_5 w) in (getl O 
+c TMP_6)))) in (let TMP_8 \def (Bind b) in (let TMP_9 \def (CHead d1 TMP_8 w) 
+in (let TMP_10 \def (drop_refl c) in (let TMP_11 \def (Bind b) in (let TMP_12 
+\def (CHead d1 TMP_11 w) in (let TMP_13 \def (Flat f) in (let TMP_14 \def 
+(CHead c TMP_13 v) in (let TMP_15 \def (Bind b) in (let TMP_16 \def (CHead d1 
+TMP_15 w) in (let TMP_17 \def (getl_gen_O TMP_14 TMP_16 H0) in (let TMP_18 
+\def (clear_gen_flat f c TMP_12 v TMP_17) in (let TMP_19 \def (getl_intro O c 
+TMP_9 c TMP_10 TMP_18) in (ex_intro C TMP_7 d1 TMP_19))))))))))))))) in (let 
+TMP_29 \def (\lambda (h0: nat).(\lambda (_: (((getl h0 (CHead c (Flat f) v) 
 (CHead d1 (Bind b) w)) \to (ex C (\lambda (d2: C).(getl h0 c (CHead d2 (Bind 
 b) w))))))).(\lambda (H0: (getl (S h0) (CHead c (Flat f) v) (CHead d1 (Bind 
-b) w))).(ex_intro C (\lambda (d2: C).(getl (S h0) c (CHead d2 (Bind b) w))) 
-d1 (getl_gen_S (Flat f) c (CHead d1 (Bind b) w) v h0 H0))))) h H)))))))).
-(* COMMENTS
-Initial nodes: 327
-END *)
+b) w))).(let TMP_24 \def (\lambda (d2: C).(let TMP_21 \def (S h0) in (let 
+TMP_22 \def (Bind b) in (let TMP_23 \def (CHead d2 TMP_22 w) in (getl TMP_21 
+c TMP_23))))) in (let TMP_25 \def (Flat f) in (let TMP_26 \def (Bind b) in 
+(let TMP_27 \def (CHead d1 TMP_26 w) in (let TMP_28 \def (getl_gen_S TMP_25 c 
+TMP_27 v h0 H0) in (ex_intro C TMP_24 d1 TMP_28))))))))) in (nat_ind TMP_4 
+TMP_20 TMP_29 h H))))))))))).
 
 theorem cimp_flat_dx:
  \forall (f: F).(\forall (c: C).(\forall (v: T).(cimp c (CHead c (Flat f) 
@@ -45,11 +53,11 @@ v))))
 \def
  \lambda (f: F).(\lambda (c: C).(\lambda (v: T).(\lambda (b: B).(\lambda (d1: 
 C).(\lambda (w: T).(\lambda (h: nat).(\lambda (H: (getl h c (CHead d1 (Bind 
-b) w))).(ex_intro C (\lambda (d2: C).(getl h (CHead c (Flat f) v) (CHead d2 
-(Bind b) w))) d1 (getl_flat c (CHead d1 (Bind b) w) h H f v))))))))).
-(* COMMENTS
-Initial nodes: 83
-END *)
+b) w))).(let TMP_5 \def (\lambda (d2: C).(let TMP_1 \def (Flat f) in (let 
+TMP_2 \def (CHead c TMP_1 v) in (let TMP_3 \def (Bind b) in (let TMP_4 \def 
+(CHead d2 TMP_3 w) in (getl h TMP_2 TMP_4)))))) in (let TMP_6 \def (Bind b) 
+in (let TMP_7 \def (CHead d1 TMP_6 w) in (let TMP_8 \def (getl_flat c TMP_7 h 
+H f v) in (ex_intro C TMP_5 d1 TMP_8)))))))))))).
 
 theorem cimp_bind:
  \forall (c1: C).(\forall (c2: C).((cimp c1 c2) \to (\forall (b: B).(\forall 
@@ -60,42 +68,72 @@ C).(\forall (w: T).(\forall (h: nat).((getl h c1 (CHead d1 (Bind b) w)) \to
 (ex C (\lambda (d2: C).(getl h c2 (CHead d2 (Bind b) w))))))))))).(\lambda 
 (b: B).(\lambda (v: T).(\lambda (b0: B).(\lambda (d1: C).(\lambda (w: 
 T).(\lambda (h: nat).(\lambda (H0: (getl h (CHead c1 (Bind b) v) (CHead d1 
-(Bind b0) w))).(nat_ind (\lambda (n: nat).((getl n (CHead c1 (Bind b) v) 
-(CHead d1 (Bind b0) w)) \to (ex C (\lambda (d2: C).(getl n (CHead c2 (Bind b) 
-v) (CHead d2 (Bind b0) w)))))) (\lambda (H1: (getl O (CHead c1 (Bind b) v) 
-(CHead d1 (Bind b0) w))).(let H2 \def (f_equal C C (\lambda (e: C).(match e 
-in C return (\lambda (_: C).C) with [(CSort _) \Rightarrow d1 | (CHead c _ _) 
-\Rightarrow c])) (CHead d1 (Bind b0) w) (CHead c1 (Bind b) v) (clear_gen_bind 
-b c1 (CHead d1 (Bind b0) w) v (getl_gen_O (CHead c1 (Bind b) v) (CHead d1 
-(Bind b0) w) H1))) in ((let H3 \def (f_equal C B (\lambda (e: C).(match e in 
-C return (\lambda (_: C).B) with [(CSort _) \Rightarrow b0 | (CHead _ k _) 
-\Rightarrow (match k in K return (\lambda (_: K).B) with [(Bind b1) 
-\Rightarrow b1 | (Flat _) \Rightarrow b0])])) (CHead d1 (Bind b0) w) (CHead 
-c1 (Bind b) v) (clear_gen_bind b c1 (CHead d1 (Bind b0) w) v (getl_gen_O 
-(CHead c1 (Bind b) v) (CHead d1 (Bind b0) w) H1))) in ((let H4 \def (f_equal 
-C T (\lambda (e: C).(match e in C return (\lambda (_: C).T) with [(CSort _) 
-\Rightarrow w | (CHead _ _ t) \Rightarrow t])) (CHead d1 (Bind b0) w) (CHead 
-c1 (Bind b) v) (clear_gen_bind b c1 (CHead d1 (Bind b0) w) v (getl_gen_O 
-(CHead c1 (Bind b) v) (CHead d1 (Bind b0) w) H1))) in (\lambda (H5: (eq B b0 
-b)).(\lambda (_: (eq C d1 c1)).(eq_ind_r T v (\lambda (t: T).(ex C (\lambda 
-(d2: C).(getl O (CHead c2 (Bind b) v) (CHead d2 (Bind b0) t))))) (eq_ind_r B 
-b (\lambda (b1: B).(ex C (\lambda (d2: C).(getl O (CHead c2 (Bind b) v) 
-(CHead d2 (Bind b1) v))))) (ex_intro C (\lambda (d2: C).(getl O (CHead c2 
-(Bind b) v) (CHead d2 (Bind b) v))) c2 (getl_refl b c2 v)) b0 H5) w H4)))) 
-H3)) H2))) (\lambda (h0: nat).(\lambda (_: (((getl h0 (CHead c1 (Bind b) v) 
-(CHead d1 (Bind b0) w)) \to (ex C (\lambda (d2: C).(getl h0 (CHead c2 (Bind 
-b) v) (CHead d2 (Bind b0) w))))))).(\lambda (H1: (getl (S h0) (CHead c1 (Bind 
-b) v) (CHead d1 (Bind b0) w))).(let H_x \def (H b0 d1 w (r (Bind b) h0) 
-(getl_gen_S (Bind b) c1 (CHead d1 (Bind b0) w) v h0 H1)) in (let H2 \def H_x 
-in (ex_ind C (\lambda (d2: C).(getl h0 c2 (CHead d2 (Bind b0) w))) (ex C 
-(\lambda (d2: C).(getl (S h0) (CHead c2 (Bind b) v) (CHead d2 (Bind b0) w)))) 
-(\lambda (x: C).(\lambda (H3: (getl h0 c2 (CHead x (Bind b0) w))).(ex_intro C 
-(\lambda (d2: C).(getl (S h0) (CHead c2 (Bind b) v) (CHead d2 (Bind b0) w))) 
-x (getl_head (Bind b) h0 c2 (CHead x (Bind b0) w) H3 v)))) H2)))))) h 
-H0)))))))))).
-(* COMMENTS
-Initial nodes: 817
-END *)
+(Bind b0) w))).(let TMP_6 \def (\lambda (n: nat).((getl n (CHead c1 (Bind b) 
+v) (CHead d1 (Bind b0) w)) \to (let TMP_5 \def (\lambda (d2: C).(let TMP_1 
+\def (Bind b) in (let TMP_2 \def (CHead c2 TMP_1 v) in (let TMP_3 \def (Bind 
+b0) in (let TMP_4 \def (CHead d2 TMP_3 w) in (getl n TMP_2 TMP_4)))))) in (ex 
+C TMP_5)))) in (let TMP_68 \def (\lambda (H1: (getl O (CHead c1 (Bind b) v) 
+(CHead d1 (Bind b0) w))).(let TMP_7 \def (\lambda (e: C).(match e with 
+[(CSort _) \Rightarrow d1 | (CHead c _ _) \Rightarrow c])) in (let TMP_8 \def 
+(Bind b0) in (let TMP_9 \def (CHead d1 TMP_8 w) in (let TMP_10 \def (Bind b) 
+in (let TMP_11 \def (CHead c1 TMP_10 v) in (let TMP_12 \def (Bind b0) in (let 
+TMP_13 \def (CHead d1 TMP_12 w) in (let TMP_14 \def (Bind b) in (let TMP_15 
+\def (CHead c1 TMP_14 v) in (let TMP_16 \def (Bind b0) in (let TMP_17 \def 
+(CHead d1 TMP_16 w) in (let TMP_18 \def (getl_gen_O TMP_15 TMP_17 H1) in (let 
+TMP_19 \def (clear_gen_bind b c1 TMP_13 v TMP_18) in (let H2 \def (f_equal C 
+C TMP_7 TMP_9 TMP_11 TMP_19) in (let TMP_20 \def (\lambda (e: C).(match e 
+with [(CSort _) \Rightarrow b0 | (CHead _ k _) \Rightarrow (match k with 
+[(Bind b1) \Rightarrow b1 | (Flat _) \Rightarrow b0])])) in (let TMP_21 \def 
+(Bind b0) in (let TMP_22 \def (CHead d1 TMP_21 w) in (let TMP_23 \def (Bind 
+b) in (let TMP_24 \def (CHead c1 TMP_23 v) in (let TMP_25 \def (Bind b0) in 
+(let TMP_26 \def (CHead d1 TMP_25 w) in (let TMP_27 \def (Bind b) in (let 
+TMP_28 \def (CHead c1 TMP_27 v) in (let TMP_29 \def (Bind b0) in (let TMP_30 
+\def (CHead d1 TMP_29 w) in (let TMP_31 \def (getl_gen_O TMP_28 TMP_30 H1) in 
+(let TMP_32 \def (clear_gen_bind b c1 TMP_26 v TMP_31) in (let H3 \def 
+(f_equal C B TMP_20 TMP_22 TMP_24 TMP_32) in (let TMP_33 \def (\lambda (e: 
+C).(match e with [(CSort _) \Rightarrow w | (CHead _ _ t) \Rightarrow t])) in 
+(let TMP_34 \def (Bind b0) in (let TMP_35 \def (CHead d1 TMP_34 w) in (let 
+TMP_36 \def (Bind b) in (let TMP_37 \def (CHead c1 TMP_36 v) in (let TMP_38 
+\def (Bind b0) in (let TMP_39 \def (CHead d1 TMP_38 w) in (let TMP_40 \def 
+(Bind b) in (let TMP_41 \def (CHead c1 TMP_40 v) in (let TMP_42 \def (Bind 
+b0) in (let TMP_43 \def (CHead d1 TMP_42 w) in (let TMP_44 \def (getl_gen_O 
+TMP_41 TMP_43 H1) in (let TMP_45 \def (clear_gen_bind b c1 TMP_39 v TMP_44) 
+in (let H4 \def (f_equal C T TMP_33 TMP_35 TMP_37 TMP_45) in (let TMP_66 \def 
+(\lambda (H5: (eq B b0 b)).(\lambda (_: (eq C d1 c1)).(let TMP_51 \def 
+(\lambda (t: T).(let TMP_50 \def (\lambda (d2: C).(let TMP_46 \def (Bind b) 
+in (let TMP_47 \def (CHead c2 TMP_46 v) in (let TMP_48 \def (Bind b0) in (let 
+TMP_49 \def (CHead d2 TMP_48 t) in (getl O TMP_47 TMP_49)))))) in (ex C 
+TMP_50))) in (let TMP_57 \def (\lambda (b1: B).(let TMP_56 \def (\lambda (d2: 
+C).(let TMP_52 \def (Bind b) in (let TMP_53 \def (CHead c2 TMP_52 v) in (let 
+TMP_54 \def (Bind b1) in (let TMP_55 \def (CHead d2 TMP_54 v) in (getl O 
+TMP_53 TMP_55)))))) in (ex C TMP_56))) in (let TMP_62 \def (\lambda (d2: 
+C).(let TMP_58 \def (Bind b) in (let TMP_59 \def (CHead c2 TMP_58 v) in (let 
+TMP_60 \def (Bind b) in (let TMP_61 \def (CHead d2 TMP_60 v) in (getl O 
+TMP_59 TMP_61)))))) in (let TMP_63 \def (getl_refl b c2 v) in (let TMP_64 
+\def (ex_intro C TMP_62 c2 TMP_63) in (let TMP_65 \def (eq_ind_r B b TMP_57 
+TMP_64 b0 H5) in (eq_ind_r T v TMP_51 TMP_65 w H4))))))))) in (let TMP_67 
+\def (TMP_66 H3) in (TMP_67 H2)))))))))))))))))))))))))))))))))))))))))))))) 
+in (let TMP_96 \def (\lambda (h0: nat).(\lambda (_: (((getl h0 (CHead c1 
+(Bind b) v) (CHead d1 (Bind b0) w)) \to (ex C (\lambda (d2: C).(getl h0 
+(CHead c2 (Bind b) v) (CHead d2 (Bind b0) w))))))).(\lambda (H1: (getl (S h0) 
+(CHead c1 (Bind b) v) (CHead d1 (Bind b0) w))).(let TMP_69 \def (Bind b) in 
+(let TMP_70 \def (r TMP_69 h0) in (let TMP_71 \def (Bind b) in (let TMP_72 
+\def (Bind b0) in (let TMP_73 \def (CHead d1 TMP_72 w) in (let TMP_74 \def 
+(getl_gen_S TMP_71 c1 TMP_73 v h0 H1) in (let H_x \def (H b0 d1 w TMP_70 
+TMP_74) in (let H2 \def H_x in (let TMP_77 \def (\lambda (d2: C).(let TMP_75 
+\def (Bind b0) in (let TMP_76 \def (CHead d2 TMP_75 w) in (getl h0 c2 
+TMP_76)))) in (let TMP_83 \def (\lambda (d2: C).(let TMP_78 \def (S h0) in 
+(let TMP_79 \def (Bind b) in (let TMP_80 \def (CHead c2 TMP_79 v) in (let 
+TMP_81 \def (Bind b0) in (let TMP_82 \def (CHead d2 TMP_81 w) in (getl TMP_78 
+TMP_80 TMP_82))))))) in (let TMP_84 \def (ex C TMP_83) in (let TMP_95 \def 
+(\lambda (x: C).(\lambda (H3: (getl h0 c2 (CHead x (Bind b0) w))).(let TMP_90 
+\def (\lambda (d2: C).(let TMP_85 \def (S h0) in (let TMP_86 \def (Bind b) in 
+(let TMP_87 \def (CHead c2 TMP_86 v) in (let TMP_88 \def (Bind b0) in (let 
+TMP_89 \def (CHead d2 TMP_88 w) in (getl TMP_85 TMP_87 TMP_89))))))) in (let 
+TMP_91 \def (Bind b) in (let TMP_92 \def (Bind b0) in (let TMP_93 \def (CHead 
+x TMP_92 w) in (let TMP_94 \def (getl_head TMP_91 h0 c2 TMP_93 H3 v) in 
+(ex_intro C TMP_90 x TMP_94)))))))) in (ex_ind C TMP_77 TMP_84 TMP_95 
+H2)))))))))))))))) in (nat_ind TMP_6 TMP_68 TMP_96 h H0))))))))))))).
 
 theorem cimp_getl_conf:
  \forall (c1: C).(\forall (c2: C).((cimp c1 c2) \to (\forall (b: B).(\forall 
@@ -108,32 +146,59 @@ C).(\forall (w: T).(\forall (h: nat).((getl h c1 (CHead d1 (Bind b) w)) \to
 (ex C (\lambda (d2: C).(getl h c2 (CHead d2 (Bind b) w))))))))))).(\lambda 
 (b: B).(\lambda (d1: C).(\lambda (w: T).(\lambda (i: nat).(\lambda (H0: (getl 
 i c1 (CHead d1 (Bind b) w))).(let H_x \def (H b d1 w i H0) in (let H1 \def 
-H_x in (ex_ind C (\lambda (d2: C).(getl i c2 (CHead d2 (Bind b) w))) (ex2 C 
+H_x in (let TMP_3 \def (\lambda (d2: C).(let TMP_1 \def (Bind b) in (let 
+TMP_2 \def (CHead d2 TMP_1 w) in (getl i c2 TMP_2)))) in (let TMP_7 \def 
 (\lambda (d2: C).(\forall (b0: B).(\forall (d3: C).(\forall (w0: T).(\forall 
-(h: nat).((getl h d1 (CHead d3 (Bind b0) w0)) \to (ex C (\lambda (d4: 
-C).(getl h d2 (CHead d4 (Bind b0) w0)))))))))) (\lambda (d2: C).(getl i c2 
-(CHead d2 (Bind b) w)))) (\lambda (x: C).(\lambda (H2: (getl i c2 (CHead x 
-(Bind b) w))).(ex_intro2 C (\lambda (d2: C).(\forall (b0: B).(\forall (d3: 
-C).(\forall (w0: T).(\forall (h: nat).((getl h d1 (CHead d3 (Bind b0) w0)) 
-\to (ex C (\lambda (d4: C).(getl h d2 (CHead d4 (Bind b0) w0)))))))))) 
-(\lambda (d2: C).(getl i c2 (CHead d2 (Bind b) w))) x (\lambda (b0: 
+(h: nat).((getl h d1 (CHead d3 (Bind b0) w0)) \to (let TMP_6 \def (\lambda 
+(d4: C).(let TMP_4 \def (Bind b0) in (let TMP_5 \def (CHead d4 TMP_4 w0) in 
+(getl h d2 TMP_5)))) in (ex C TMP_6)))))))) in (let TMP_10 \def (\lambda (d2: 
+C).(let TMP_8 \def (Bind b) in (let TMP_9 \def (CHead d2 TMP_8 w) in (getl i 
+c2 TMP_9)))) in (let TMP_11 \def (ex2 C TMP_7 TMP_10) in (let TMP_82 \def 
+(\lambda (x: C).(\lambda (H2: (getl i c2 (CHead x (Bind b) w))).(let TMP_15 
+\def (\lambda (d2: C).(\forall (b0: B).(\forall (d3: C).(\forall (w0: 
+T).(\forall (h: nat).((getl h d1 (CHead d3 (Bind b0) w0)) \to (let TMP_14 
+\def (\lambda (d4: C).(let TMP_12 \def (Bind b0) in (let TMP_13 \def (CHead 
+d4 TMP_12 w0) in (getl h d2 TMP_13)))) in (ex C TMP_14)))))))) in (let TMP_18 
+\def (\lambda (d2: C).(let TMP_16 \def (Bind b) in (let TMP_17 \def (CHead d2 
+TMP_16 w) in (getl i c2 TMP_17)))) in (let TMP_81 \def (\lambda (b0: 
 B).(\lambda (d0: C).(\lambda (w0: T).(\lambda (h: nat).(\lambda (H3: (getl h 
-d1 (CHead d0 (Bind b0) w0))).(let H_y \def (getl_trans (S h) c1 (CHead d1 
-(Bind b) w) i H0) in (let H_x0 \def (H b0 d0 w0 (plus (S h) i) (H_y (CHead d0 
-(Bind b0) w0) (getl_head (Bind b) h d1 (CHead d0 (Bind b0) w0) H3 w))) in 
-(let H4 \def H_x0 in (ex_ind C (\lambda (d2: C).(getl (S (plus h i)) c2 
-(CHead d2 (Bind b0) w0))) (ex C (\lambda (d2: C).(getl h x (CHead d2 (Bind 
-b0) w0)))) (\lambda (x0: C).(\lambda (H5: (getl (S (plus h i)) c2 (CHead x0 
-(Bind b0) w0))).(let H_y0 \def (getl_conf_le (S (plus h i)) (CHead x0 (Bind 
-b0) w0) c2 H5 (CHead x (Bind b) w) i H2) in (let H6 \def (refl_equal nat 
-(plus (S h) i)) in (let H7 \def (eq_ind nat (S (plus h i)) (\lambda (n: 
-nat).(getl (minus n i) (CHead x (Bind b) w) (CHead x0 (Bind b0) w0))) (H_y0 
-(le_S i (plus h i) (le_plus_r h i))) (plus (S h) i) H6) in (let H8 \def 
-(eq_ind nat (minus (plus (S h) i) i) (\lambda (n: nat).(getl n (CHead x (Bind 
-b) w) (CHead x0 (Bind b0) w0))) H7 (S h) (minus_plus_r (S h) i)) in (ex_intro 
-C (\lambda (d2: C).(getl h x (CHead d2 (Bind b0) w0))) x0 (getl_gen_S (Bind 
-b) x (CHead x0 (Bind b0) w0) w h H8)))))))) H4))))))))) H2))) H1)))))))))).
-(* COMMENTS
-Initial nodes: 673
-END *)
+d1 (CHead d0 (Bind b0) w0))).(let TMP_19 \def (S h) in (let TMP_20 \def (Bind 
+b) in (let TMP_21 \def (CHead d1 TMP_20 w) in (let H_y \def (getl_trans 
+TMP_19 c1 TMP_21 i H0) in (let TMP_22 \def (S h) in (let TMP_23 \def (plus 
+TMP_22 i) in (let TMP_24 \def (Bind b0) in (let TMP_25 \def (CHead d0 TMP_24 
+w0) in (let TMP_26 \def (Bind b) in (let TMP_27 \def (Bind b0) in (let TMP_28 
+\def (CHead d0 TMP_27 w0) in (let TMP_29 \def (getl_head TMP_26 h d1 TMP_28 
+H3 w) in (let TMP_30 \def (H_y TMP_25 TMP_29) in (let H_x0 \def (H b0 d0 w0 
+TMP_23 TMP_30) in (let H4 \def H_x0 in (let TMP_35 \def (\lambda (d2: C).(let 
+TMP_31 \def (plus h i) in (let TMP_32 \def (S TMP_31) in (let TMP_33 \def 
+(Bind b0) in (let TMP_34 \def (CHead d2 TMP_33 w0) in (getl TMP_32 c2 
+TMP_34)))))) in (let TMP_38 \def (\lambda (d2: C).(let TMP_36 \def (Bind b0) 
+in (let TMP_37 \def (CHead d2 TMP_36 w0) in (getl h x TMP_37)))) in (let 
+TMP_39 \def (ex C TMP_38) in (let TMP_80 \def (\lambda (x0: C).(\lambda (H5: 
+(getl (S (plus h i)) c2 (CHead x0 (Bind b0) w0))).(let TMP_40 \def (plus h i) 
+in (let TMP_41 \def (S TMP_40) in (let TMP_42 \def (Bind b0) in (let TMP_43 
+\def (CHead x0 TMP_42 w0) in (let TMP_44 \def (Bind b) in (let TMP_45 \def 
+(CHead x TMP_44 w) in (let H_y0 \def (getl_conf_le TMP_41 TMP_43 c2 H5 TMP_45 
+i H2) in (let TMP_46 \def (S h) in (let TMP_47 \def (plus TMP_46 i) in (let 
+H6 \def (refl_equal nat TMP_47) in (let TMP_48 \def (plus h i) in (let TMP_49 
+\def (S TMP_48) in (let TMP_55 \def (\lambda (n: nat).(let TMP_50 \def (minus 
+n i) in (let TMP_51 \def (Bind b) in (let TMP_52 \def (CHead x TMP_51 w) in 
+(let TMP_53 \def (Bind b0) in (let TMP_54 \def (CHead x0 TMP_53 w0) in (getl 
+TMP_50 TMP_52 TMP_54))))))) in (let TMP_56 \def (plus h i) in (let TMP_57 
+\def (le_plus_r h i) in (let TMP_58 \def (le_S i TMP_56 TMP_57) in (let 
+TMP_59 \def (H_y0 TMP_58) in (let TMP_60 \def (S h) in (let TMP_61 \def (plus 
+TMP_60 i) in (let H7 \def (eq_ind nat TMP_49 TMP_55 TMP_59 TMP_61 H6) in (let 
+TMP_62 \def (S h) in (let TMP_63 \def (plus TMP_62 i) in (let TMP_64 \def 
+(minus TMP_63 i) in (let TMP_69 \def (\lambda (n: nat).(let TMP_65 \def (Bind 
+b) in (let TMP_66 \def (CHead x TMP_65 w) in (let TMP_67 \def (Bind b0) in 
+(let TMP_68 \def (CHead x0 TMP_67 w0) in (getl n TMP_66 TMP_68)))))) in (let 
+TMP_70 \def (S h) in (let TMP_71 \def (S h) in (let TMP_72 \def (minus_plus_r 
+TMP_71 i) in (let H8 \def (eq_ind nat TMP_64 TMP_69 H7 TMP_70 TMP_72) in (let 
+TMP_75 \def (\lambda (d2: C).(let TMP_73 \def (Bind b0) in (let TMP_74 \def 
+(CHead d2 TMP_73 w0) in (getl h x TMP_74)))) in (let TMP_76 \def (Bind b) in 
+(let TMP_77 \def (Bind b0) in (let TMP_78 \def (CHead x0 TMP_77 w0) in (let 
+TMP_79 \def (getl_gen_S TMP_76 x TMP_78 w h H8) in (ex_intro C TMP_75 x0 
+TMP_79)))))))))))))))))))))))))))))))))))) in (ex_ind C TMP_35 TMP_39 TMP_80 
+H4))))))))))))))))))))))))) in (ex_intro2 C TMP_15 TMP_18 x TMP_81 H2)))))) 
+in (ex_ind C TMP_3 TMP_11 TMP_82 H1))))))))))))))).
 
index 30607a4fcae708cdf72cca2a9d3eb00c6bece71b..5428dde7d4efc7f633bb2f77d1f1f5a67ae4c52b 100644 (file)
@@ -14,7 +14,7 @@
 
 (* This file was automatically generated: do not edit *********************)
 
-include "Basic-1/C/defs.ma".
+include "basic_1/C/defs.ma".
 
 inductive clear: C \to (C \to Prop) \def
 | clear_bind: \forall (b: B).(\forall (e: C).(\forall (u: T).(clear (CHead e 
index aae3fedc025032c819c6d995b55fc69c280ca7a6..a16ba8b23ec4991377eda768adc5663223ef3438 100644 (file)
@@ -14,9 +14,9 @@
 
 (* This file was automatically generated: do not edit *********************)
 
-include "Basic-1/clear/fwd.ma".
+include "basic_1/clear/fwd.ma".
 
-include "Basic-1/drop/fwd.ma".
+include "basic_1/drop/fwd.ma".
 
 theorem drop_clear:
  \forall (c1: C).(\forall (c2: C).(\forall (i: nat).((drop (S i) O c1 c2) \to 
@@ -24,88 +24,123 @@ theorem drop_clear:
 e (Bind b) v))))) (\lambda (_: B).(\lambda (e: C).(\lambda (_: T).(drop i O e 
 c2))))))))
 \def
- \lambda (c1: C).(C_ind (\lambda (c: C).(\forall (c2: C).(\forall (i: 
-nat).((drop (S i) O c c2) \to (ex2_3 B C T (\lambda (b: B).(\lambda (e: 
-C).(\lambda (v: T).(clear c (CHead e (Bind b) v))))) (\lambda (_: B).(\lambda 
-(e: C).(\lambda (_: T).(drop i O e c2))))))))) (\lambda (n: nat).(\lambda 
-(c2: C).(\lambda (i: nat).(\lambda (H: (drop (S i) O (CSort n) c2)).(and3_ind 
-(eq C c2 (CSort n)) (eq nat (S i) O) (eq nat O O) (ex2_3 B C T (\lambda (b: 
-B).(\lambda (e: C).(\lambda (v: T).(clear (CSort n) (CHead e (Bind b) v))))) 
-(\lambda (_: B).(\lambda (e: C).(\lambda (_: T).(drop i O e c2))))) (\lambda 
-(_: (eq C c2 (CSort n))).(\lambda (H1: (eq nat (S i) O)).(\lambda (_: (eq nat 
-O O)).(let H3 \def (eq_ind nat (S i) (\lambda (ee: nat).(match ee in nat 
-return (\lambda (_: nat).Prop) with [O \Rightarrow False | (S _) \Rightarrow 
-True])) I O H1) in (False_ind (ex2_3 B C T (\lambda (b: B).(\lambda (e: 
-C).(\lambda (v: T).(clear (CSort n) (CHead e (Bind b) v))))) (\lambda (_: 
-B).(\lambda (e: C).(\lambda (_: T).(drop i O e c2))))) H3))))) (drop_gen_sort 
-n (S i) O c2 H)))))) (\lambda (c: C).(\lambda (H: ((\forall (c2: C).(\forall 
-(i: nat).((drop (S i) O c c2) \to (ex2_3 B C T (\lambda (b: B).(\lambda (e: 
-C).(\lambda (v: T).(clear c (CHead e (Bind b) v))))) (\lambda (_: B).(\lambda 
-(e: C).(\lambda (_: T).(drop i O e c2)))))))))).(\lambda (k: K).(\lambda (t: 
-T).(\lambda (c2: C).(\lambda (i: nat).(\lambda (H0: (drop (S i) O (CHead c k 
-t) c2)).(K_ind (\lambda (k0: K).((drop (r k0 i) O c c2) \to (ex2_3 B C T 
-(\lambda (b: B).(\lambda (e: C).(\lambda (v: T).(clear (CHead c k0 t) (CHead 
+ \lambda (c1: C).(let TMP_5 \def (\lambda (c: C).(\forall (c2: C).(\forall 
+(i: nat).((drop (S i) O c c2) \to (let TMP_3 \def (\lambda (b: B).(\lambda 
+(e: C).(\lambda (v: T).(let TMP_1 \def (Bind b) in (let TMP_2 \def (CHead e 
+TMP_1 v) in (clear c TMP_2)))))) in (let TMP_4 \def (\lambda (_: B).(\lambda 
+(e: C).(\lambda (_: T).(drop i O e c2)))) in (ex2_3 B C T TMP_3 TMP_4))))))) 
+in (let TMP_28 \def (\lambda (n: nat).(\lambda (c2: C).(\lambda (i: 
+nat).(\lambda (H: (drop (S i) O (CSort n) c2)).(let TMP_6 \def (CSort n) in 
+(let TMP_7 \def (eq C c2 TMP_6) in (let TMP_8 \def (S i) in (let TMP_9 \def 
+(eq nat TMP_8 O) in (let TMP_10 \def (eq nat O O) in (let TMP_14 \def 
+(\lambda (b: B).(\lambda (e: C).(\lambda (v: T).(let TMP_11 \def (CSort n) in 
+(let TMP_12 \def (Bind b) in (let TMP_13 \def (CHead e TMP_12 v) in (clear 
+TMP_11 TMP_13))))))) in (let TMP_15 \def (\lambda (_: B).(\lambda (e: 
+C).(\lambda (_: T).(drop i O e c2)))) in (let TMP_16 \def (ex2_3 B C T TMP_14 
+TMP_15) in (let TMP_25 \def (\lambda (_: (eq C c2 (CSort n))).(\lambda (H1: 
+(eq nat (S i) O)).(\lambda (_: (eq nat O O)).(let TMP_17 \def (S i) in (let 
+TMP_18 \def (\lambda (ee: nat).(match ee with [O \Rightarrow False | (S _) 
+\Rightarrow True])) in (let H3 \def (eq_ind nat TMP_17 TMP_18 I O H1) in (let 
+TMP_22 \def (\lambda (b: B).(\lambda (e: C).(\lambda (v: T).(let TMP_19 \def 
+(CSort n) in (let TMP_20 \def (Bind b) in (let TMP_21 \def (CHead e TMP_20 v) 
+in (clear TMP_19 TMP_21))))))) in (let TMP_23 \def (\lambda (_: B).(\lambda 
+(e: C).(\lambda (_: T).(drop i O e c2)))) in (let TMP_24 \def (ex2_3 B C T 
+TMP_22 TMP_23) in (False_ind TMP_24 H3)))))))))) in (let TMP_26 \def (S i) in 
+(let TMP_27 \def (drop_gen_sort n TMP_26 O c2 H) in (and3_ind TMP_7 TMP_9 
+TMP_10 TMP_16 TMP_25 TMP_27)))))))))))))))) in (let TMP_66 \def (\lambda (c: 
+C).(\lambda (H: ((\forall (c2: C).(\forall (i: nat).((drop (S i) O c c2) \to 
+(ex2_3 B C T (\lambda (b: B).(\lambda (e: C).(\lambda (v: T).(clear c (CHead 
 e (Bind b) v))))) (\lambda (_: B).(\lambda (e: C).(\lambda (_: T).(drop i O e 
-c2))))))) (\lambda (b: B).(\lambda (H1: (drop (r (Bind b) i) O c 
-c2)).(ex2_3_intro B C T (\lambda (b0: B).(\lambda (e: C).(\lambda (v: 
-T).(clear (CHead c (Bind b) t) (CHead e (Bind b0) v))))) (\lambda (_: 
-B).(\lambda (e: C).(\lambda (_: T).(drop i O e c2)))) b c t (clear_bind b c 
-t) H1))) (\lambda (f: F).(\lambda (H1: (drop (r (Flat f) i) O c c2)).(let H2 
-\def (H c2 i H1) in (ex2_3_ind B C T (\lambda (b: B).(\lambda (e: C).(\lambda 
-(v: T).(clear c (CHead e (Bind b) v))))) (\lambda (_: B).(\lambda (e: 
-C).(\lambda (_: T).(drop i O e c2)))) (ex2_3 B C T (\lambda (b: B).(\lambda 
-(e: C).(\lambda (v: T).(clear (CHead c (Flat f) t) (CHead e (Bind b) v))))) 
-(\lambda (_: B).(\lambda (e: C).(\lambda (_: T).(drop i O e c2))))) (\lambda 
-(x0: B).(\lambda (x1: C).(\lambda (x2: T).(\lambda (H3: (clear c (CHead x1 
-(Bind x0) x2))).(\lambda (H4: (drop i O x1 c2)).(ex2_3_intro B C T (\lambda 
-(b: B).(\lambda (e: C).(\lambda (v: T).(clear (CHead c (Flat f) t) (CHead e 
-(Bind b) v))))) (\lambda (_: B).(\lambda (e: C).(\lambda (_: T).(drop i O e 
-c2)))) x0 x1 x2 (clear_flat c (CHead x1 (Bind x0) x2) H3 f t) H4)))))) H2)))) 
-k (drop_gen_drop k c c2 t i H0))))))))) c1).
-(* COMMENTS
-Initial nodes: 770
-END *)
+c2)))))))))).(\lambda (k: K).(\lambda (t: T).(\lambda (c2: C).(\lambda (i: 
+nat).(\lambda (H0: (drop (S i) O (CHead c k t) c2)).(let TMP_34 \def (\lambda 
+(k0: K).((drop (r k0 i) O c c2) \to (let TMP_32 \def (\lambda (b: B).(\lambda 
+(e: C).(\lambda (v: T).(let TMP_29 \def (CHead c k0 t) in (let TMP_30 \def 
+(Bind b) in (let TMP_31 \def (CHead e TMP_30 v) in (clear TMP_29 
+TMP_31))))))) in (let TMP_33 \def (\lambda (_: B).(\lambda (e: C).(\lambda 
+(_: T).(drop i O e c2)))) in (ex2_3 B C T TMP_32 TMP_33))))) in (let TMP_42 
+\def (\lambda (b: B).(\lambda (H1: (drop (r (Bind b) i) O c c2)).(let TMP_39 
+\def (\lambda (b0: B).(\lambda (e: C).(\lambda (v: T).(let TMP_35 \def (Bind 
+b) in (let TMP_36 \def (CHead c TMP_35 t) in (let TMP_37 \def (Bind b0) in 
+(let TMP_38 \def (CHead e TMP_37 v) in (clear TMP_36 TMP_38)))))))) in (let 
+TMP_40 \def (\lambda (_: B).(\lambda (e: C).(\lambda (_: T).(drop i O e 
+c2)))) in (let TMP_41 \def (clear_bind b c t) in (ex2_3_intro B C T TMP_39 
+TMP_40 b c t TMP_41 H1)))))) in (let TMP_64 \def (\lambda (f: F).(\lambda 
+(H1: (drop (r (Flat f) i) O c c2)).(let H2 \def (H c2 i H1) in (let TMP_45 
+\def (\lambda (b: B).(\lambda (e: C).(\lambda (v: T).(let TMP_43 \def (Bind 
+b) in (let TMP_44 \def (CHead e TMP_43 v) in (clear c TMP_44)))))) in (let 
+TMP_46 \def (\lambda (_: B).(\lambda (e: C).(\lambda (_: T).(drop i O e 
+c2)))) in (let TMP_51 \def (\lambda (b: B).(\lambda (e: C).(\lambda (v: 
+T).(let TMP_47 \def (Flat f) in (let TMP_48 \def (CHead c TMP_47 t) in (let 
+TMP_49 \def (Bind b) in (let TMP_50 \def (CHead e TMP_49 v) in (clear TMP_48 
+TMP_50)))))))) in (let TMP_52 \def (\lambda (_: B).(\lambda (e: C).(\lambda 
+(_: T).(drop i O e c2)))) in (let TMP_53 \def (ex2_3 B C T TMP_51 TMP_52) in 
+(let TMP_63 \def (\lambda (x0: B).(\lambda (x1: C).(\lambda (x2: T).(\lambda 
+(H3: (clear c (CHead x1 (Bind x0) x2))).(\lambda (H4: (drop i O x1 c2)).(let 
+TMP_58 \def (\lambda (b: B).(\lambda (e: C).(\lambda (v: T).(let TMP_54 \def 
+(Flat f) in (let TMP_55 \def (CHead c TMP_54 t) in (let TMP_56 \def (Bind b) 
+in (let TMP_57 \def (CHead e TMP_56 v) in (clear TMP_55 TMP_57)))))))) in 
+(let TMP_59 \def (\lambda (_: B).(\lambda (e: C).(\lambda (_: T).(drop i O e 
+c2)))) in (let TMP_60 \def (Bind x0) in (let TMP_61 \def (CHead x1 TMP_60 x2) 
+in (let TMP_62 \def (clear_flat c TMP_61 H3 f t) in (ex2_3_intro B C T TMP_58 
+TMP_59 x0 x1 x2 TMP_62 H4))))))))))) in (ex2_3_ind B C T TMP_45 TMP_46 TMP_53 
+TMP_63 H2)))))))))) in (let TMP_65 \def (drop_gen_drop k c c2 t i H0) in 
+(K_ind TMP_34 TMP_42 TMP_64 k TMP_65)))))))))))) in (C_ind TMP_5 TMP_28 
+TMP_66 c1)))).
 
 theorem drop_clear_O:
  \forall (b: B).(\forall (c: C).(\forall (e1: C).(\forall (u: T).((clear c 
 (CHead e1 (Bind b) u)) \to (\forall (e2: C).(\forall (i: nat).((drop i O e1 
 e2) \to (drop (S i) O c e2))))))))
 \def
- \lambda (b: B).(\lambda (c: C).(C_ind (\lambda (c0: C).(\forall (e1: 
-C).(\forall (u: T).((clear c0 (CHead e1 (Bind b) u)) \to (\forall (e2: 
-C).(\forall (i: nat).((drop i O e1 e2) \to (drop (S i) O c0 e2)))))))) 
-(\lambda (n: nat).(\lambda (e1: C).(\lambda (u: T).(\lambda (H: (clear (CSort 
-n) (CHead e1 (Bind b) u))).(\lambda (e2: C).(\lambda (i: nat).(\lambda (_: 
-(drop i O e1 e2)).(clear_gen_sort (CHead e1 (Bind b) u) n H (drop (S i) O 
-(CSort n) e2))))))))) (\lambda (c0: C).(\lambda (H: ((\forall (e1: 
-C).(\forall (u: T).((clear c0 (CHead e1 (Bind b) u)) \to (\forall (e2: 
-C).(\forall (i: nat).((drop i O e1 e2) \to (drop (S i) O c0 
-e2))))))))).(\lambda (k: K).(\lambda (t: T).(\lambda (e1: C).(\lambda (u: 
-T).(\lambda (H0: (clear (CHead c0 k t) (CHead e1 (Bind b) u))).(\lambda (e2: 
-C).(\lambda (i: nat).(\lambda (H1: (drop i O e1 e2)).(K_ind (\lambda (k0: 
-K).((clear (CHead c0 k0 t) (CHead e1 (Bind b) u)) \to (drop (S i) O (CHead c0 
-k0 t) e2))) (\lambda (b0: B).(\lambda (H2: (clear (CHead c0 (Bind b0) t) 
-(CHead e1 (Bind b) u))).(let H3 \def (f_equal C C (\lambda (e: C).(match e in 
-C return (\lambda (_: C).C) with [(CSort _) \Rightarrow e1 | (CHead c1 _ _) 
-\Rightarrow c1])) (CHead e1 (Bind b) u) (CHead c0 (Bind b0) t) 
-(clear_gen_bind b0 c0 (CHead e1 (Bind b) u) t H2)) in ((let H4 \def (f_equal 
-C B (\lambda (e: C).(match e in C return (\lambda (_: C).B) with [(CSort _) 
-\Rightarrow b | (CHead _ k0 _) \Rightarrow (match k0 in K return (\lambda (_: 
-K).B) with [(Bind b1) \Rightarrow b1 | (Flat _) \Rightarrow b])])) (CHead e1 
-(Bind b) u) (CHead c0 (Bind b0) t) (clear_gen_bind b0 c0 (CHead e1 (Bind b) 
-u) t H2)) in ((let H5 \def (f_equal C T (\lambda (e: C).(match e in C return 
-(\lambda (_: C).T) with [(CSort _) \Rightarrow u | (CHead _ _ t0) \Rightarrow 
-t0])) (CHead e1 (Bind b) u) (CHead c0 (Bind b0) t) (clear_gen_bind b0 c0 
-(CHead e1 (Bind b) u) t H2)) in (\lambda (H6: (eq B b b0)).(\lambda (H7: (eq 
-C e1 c0)).(let H8 \def (eq_ind C e1 (\lambda (c1: C).(drop i O c1 e2)) H1 c0 
-H7) in (eq_ind B b (\lambda (b1: B).(drop (S i) O (CHead c0 (Bind b1) t) e2)) 
-(drop_drop (Bind b) i c0 e2 H8 t) b0 H6))))) H4)) H3)))) (\lambda (f: 
-F).(\lambda (H2: (clear (CHead c0 (Flat f) t) (CHead e1 (Bind b) 
-u))).(drop_drop (Flat f) i c0 e2 (H e1 u (clear_gen_flat f c0 (CHead e1 (Bind 
-b) u) t H2) e2 i H1) t))) k H0))))))))))) c)).
-(* COMMENTS
-Initial nodes: 619
-END *)
+ \lambda (b: B).(\lambda (c: C).(let TMP_2 \def (\lambda (c0: C).(\forall 
+(e1: C).(\forall (u: T).((clear c0 (CHead e1 (Bind b) u)) \to (\forall (e2: 
+C).(\forall (i: nat).((drop i O e1 e2) \to (let TMP_1 \def (S i) in (drop 
+TMP_1 O c0 e2))))))))) in (let TMP_8 \def (\lambda (n: nat).(\lambda (e1: 
+C).(\lambda (u: T).(\lambda (H: (clear (CSort n) (CHead e1 (Bind b) 
+u))).(\lambda (e2: C).(\lambda (i: nat).(\lambda (_: (drop i O e1 e2)).(let 
+TMP_3 \def (Bind b) in (let TMP_4 \def (CHead e1 TMP_3 u) in (let TMP_5 \def 
+(S i) in (let TMP_6 \def (CSort n) in (let TMP_7 \def (drop TMP_5 O TMP_6 e2) 
+in (clear_gen_sort TMP_4 n H TMP_7))))))))))))) in (let TMP_52 \def (\lambda 
+(c0: C).(\lambda (H: ((\forall (e1: C).(\forall (u: T).((clear c0 (CHead e1 
+(Bind b) u)) \to (\forall (e2: C).(\forall (i: nat).((drop i O e1 e2) \to 
+(drop (S i) O c0 e2))))))))).(\lambda (k: K).(\lambda (t: T).(\lambda (e1: 
+C).(\lambda (u: T).(\lambda (H0: (clear (CHead c0 k t) (CHead e1 (Bind b) 
+u))).(\lambda (e2: C).(\lambda (i: nat).(\lambda (H1: (drop i O e1 e2)).(let 
+TMP_11 \def (\lambda (k0: K).((clear (CHead c0 k0 t) (CHead e1 (Bind b) u)) 
+\to (let TMP_9 \def (S i) in (let TMP_10 \def (CHead c0 k0 t) in (drop TMP_9 
+O TMP_10 e2))))) in (let TMP_45 \def (\lambda (b0: B).(\lambda (H2: (clear 
+(CHead c0 (Bind b0) t) (CHead e1 (Bind b) u))).(let TMP_12 \def (\lambda (e: 
+C).(match e with [(CSort _) \Rightarrow e1 | (CHead c1 _ _) \Rightarrow c1])) 
+in (let TMP_13 \def (Bind b) in (let TMP_14 \def (CHead e1 TMP_13 u) in (let 
+TMP_15 \def (Bind b0) in (let TMP_16 \def (CHead c0 TMP_15 t) in (let TMP_17 
+\def (Bind b) in (let TMP_18 \def (CHead e1 TMP_17 u) in (let TMP_19 \def 
+(clear_gen_bind b0 c0 TMP_18 t H2) in (let H3 \def (f_equal C C TMP_12 TMP_14 
+TMP_16 TMP_19) in (let TMP_20 \def (\lambda (e: C).(match e with [(CSort _) 
+\Rightarrow b | (CHead _ k0 _) \Rightarrow (match k0 with [(Bind b1) 
+\Rightarrow b1 | (Flat _) \Rightarrow b])])) in (let TMP_21 \def (Bind b) in 
+(let TMP_22 \def (CHead e1 TMP_21 u) in (let TMP_23 \def (Bind b0) in (let 
+TMP_24 \def (CHead c0 TMP_23 t) in (let TMP_25 \def (Bind b) in (let TMP_26 
+\def (CHead e1 TMP_25 u) in (let TMP_27 \def (clear_gen_bind b0 c0 TMP_26 t 
+H2) in (let H4 \def (f_equal C B TMP_20 TMP_22 TMP_24 TMP_27) in (let TMP_28 
+\def (\lambda (e: C).(match e with [(CSort _) \Rightarrow u | (CHead _ _ t0) 
+\Rightarrow t0])) in (let TMP_29 \def (Bind b) in (let TMP_30 \def (CHead e1 
+TMP_29 u) in (let TMP_31 \def (Bind b0) in (let TMP_32 \def (CHead c0 TMP_31 
+t) in (let TMP_33 \def (Bind b) in (let TMP_34 \def (CHead e1 TMP_33 u) in 
+(let TMP_35 \def (clear_gen_bind b0 c0 TMP_34 t H2) in (let H5 \def (f_equal 
+C T TMP_28 TMP_30 TMP_32 TMP_35) in (let TMP_43 \def (\lambda (H6: (eq B b 
+b0)).(\lambda (H7: (eq C e1 c0)).(let TMP_36 \def (\lambda (c1: C).(drop i O 
+c1 e2)) in (let H8 \def (eq_ind C e1 TMP_36 H1 c0 H7) in (let TMP_40 \def 
+(\lambda (b1: B).(let TMP_37 \def (S i) in (let TMP_38 \def (Bind b1) in (let 
+TMP_39 \def (CHead c0 TMP_38 t) in (drop TMP_37 O TMP_39 e2))))) in (let 
+TMP_41 \def (Bind b) in (let TMP_42 \def (drop_drop TMP_41 i c0 e2 H8 t) in 
+(eq_ind B b TMP_40 TMP_42 b0 H6)))))))) in (let TMP_44 \def (TMP_43 H4) in 
+(TMP_44 H3)))))))))))))))))))))))))))))))) in (let TMP_51 \def (\lambda (f: 
+F).(\lambda (H2: (clear (CHead c0 (Flat f) t) (CHead e1 (Bind b) u))).(let 
+TMP_46 \def (Flat f) in (let TMP_47 \def (Bind b) in (let TMP_48 \def (CHead 
+e1 TMP_47 u) in (let TMP_49 \def (clear_gen_flat f c0 TMP_48 t H2) in (let 
+TMP_50 \def (H e1 u TMP_49 e2 i H1) in (drop_drop TMP_46 i c0 e2 TMP_50 
+t)))))))) in (K_ind TMP_11 TMP_45 TMP_51 k H0)))))))))))))) in (C_ind TMP_2 
+TMP_8 TMP_52 c))))).
 
 theorem drop_clear_S:
  \forall (x2: C).(\forall (x1: C).(\forall (h: nat).(\forall (d: nat).((drop 
@@ -113,69 +148,126 @@ h (S d) x1 x2) \to (\forall (b: B).(\forall (c2: C).(\forall (u: T).((clear
 x2 (CHead c2 (Bind b) u)) \to (ex2 C (\lambda (c1: C).(clear x1 (CHead c1 
 (Bind b) (lift h d u)))) (\lambda (c1: C).(drop h d c1 c2)))))))))))
 \def
- \lambda (x2: C).(C_ind (\lambda (c: C).(\forall (x1: C).(\forall (h: 
-nat).(\forall (d: nat).((drop h (S d) x1 c) \to (\forall (b: B).(\forall (c2: 
-C).(\forall (u: T).((clear c (CHead c2 (Bind b) u)) \to (ex2 C (\lambda (c1: 
-C).(clear x1 (CHead c1 (Bind b) (lift h d u)))) (\lambda (c1: C).(drop h d c1 
-c2)))))))))))) (\lambda (n: nat).(\lambda (x1: C).(\lambda (h: nat).(\lambda 
-(d: nat).(\lambda (_: (drop h (S d) x1 (CSort n))).(\lambda (b: B).(\lambda 
-(c2: C).(\lambda (u: T).(\lambda (H0: (clear (CSort n) (CHead c2 (Bind b) 
-u))).(clear_gen_sort (CHead c2 (Bind b) u) n H0 (ex2 C (\lambda (c1: 
-C).(clear x1 (CHead c1 (Bind b) (lift h d u)))) (\lambda (c1: C).(drop h d c1 
-c2))))))))))))) (\lambda (c: C).(\lambda (H: ((\forall (x1: C).(\forall (h: 
-nat).(\forall (d: nat).((drop h (S d) x1 c) \to (\forall (b: B).(\forall (c2: 
-C).(\forall (u: T).((clear c (CHead c2 (Bind b) u)) \to (ex2 C (\lambda (c1: 
-C).(clear x1 (CHead c1 (Bind b) (lift h d u)))) (\lambda (c1: C).(drop h d c1 
-c2))))))))))))).(\lambda (k: K).(\lambda (t: T).(\lambda (x1: C).(\lambda (h: 
-nat).(\lambda (d: nat).(\lambda (H0: (drop h (S d) x1 (CHead c k 
-t))).(\lambda (b: B).(\lambda (c2: C).(\lambda (u: T).(\lambda (H1: (clear 
-(CHead c k t) (CHead c2 (Bind b) u))).(ex2_ind C (\lambda (e: C).(eq C x1 
-(CHead e k (lift h (r k d) t)))) (\lambda (e: C).(drop h (r k d) e c)) (ex2 C 
-(\lambda (c1: C).(clear x1 (CHead c1 (Bind b) (lift h d u)))) (\lambda (c1: 
-C).(drop h d c1 c2))) (\lambda (x: C).(\lambda (H2: (eq C x1 (CHead x k (lift 
-h (r k d) t)))).(\lambda (H3: (drop h (r k d) x c)).(eq_ind_r C (CHead x k 
-(lift h (r k d) t)) (\lambda (c0: C).(ex2 C (\lambda (c1: C).(clear c0 (CHead 
-c1 (Bind b) (lift h d u)))) (\lambda (c1: C).(drop h d c1 c2)))) (K_ind 
-(\lambda (k0: K).((clear (CHead c k0 t) (CHead c2 (Bind b) u)) \to ((drop h 
-(r k0 d) x c) \to (ex2 C (\lambda (c1: C).(clear (CHead x k0 (lift h (r k0 d) 
-t)) (CHead c1 (Bind b) (lift h d u)))) (\lambda (c1: C).(drop h d c1 c2)))))) 
-(\lambda (b0: B).(\lambda (H4: (clear (CHead c (Bind b0) t) (CHead c2 (Bind 
-b) u))).(\lambda (H5: (drop h (r (Bind b0) d) x c)).(let H6 \def (f_equal C C 
-(\lambda (e: C).(match e in C return (\lambda (_: C).C) with [(CSort _) 
-\Rightarrow c2 | (CHead c0 _ _) \Rightarrow c0])) (CHead c2 (Bind b) u) 
-(CHead c (Bind b0) t) (clear_gen_bind b0 c (CHead c2 (Bind b) u) t H4)) in 
-((let H7 \def (f_equal C B (\lambda (e: C).(match e in C return (\lambda (_: 
-C).B) with [(CSort _) \Rightarrow b | (CHead _ k0 _) \Rightarrow (match k0 in 
-K return (\lambda (_: K).B) with [(Bind b1) \Rightarrow b1 | (Flat _) 
-\Rightarrow b])])) (CHead c2 (Bind b) u) (CHead c (Bind b0) t) 
-(clear_gen_bind b0 c (CHead c2 (Bind b) u) t H4)) in ((let H8 \def (f_equal C 
-T (\lambda (e: C).(match e in C return (\lambda (_: C).T) with [(CSort _) 
-\Rightarrow u | (CHead _ _ t0) \Rightarrow t0])) (CHead c2 (Bind b) u) (CHead 
-c (Bind b0) t) (clear_gen_bind b0 c (CHead c2 (Bind b) u) t H4)) in (\lambda 
-(H9: (eq B b b0)).(\lambda (H10: (eq C c2 c)).(eq_ind_r T t (\lambda (t0: 
-T).(ex2 C (\lambda (c1: C).(clear (CHead x (Bind b0) (lift h (r (Bind b0) d) 
-t)) (CHead c1 (Bind b) (lift h d t0)))) (\lambda (c1: C).(drop h d c1 c2)))) 
-(eq_ind_r C c (\lambda (c0: C).(ex2 C (\lambda (c1: C).(clear (CHead x (Bind 
-b0) (lift h (r (Bind b0) d) t)) (CHead c1 (Bind b) (lift h d t)))) (\lambda 
-(c1: C).(drop h d c1 c0)))) (eq_ind_r B b0 (\lambda (b1: B).(ex2 C (\lambda 
-(c1: C).(clear (CHead x (Bind b0) (lift h (r (Bind b0) d) t)) (CHead c1 (Bind 
-b1) (lift h d t)))) (\lambda (c1: C).(drop h d c1 c)))) (ex_intro2 C (\lambda 
-(c1: C).(clear (CHead x (Bind b0) (lift h (r (Bind b0) d) t)) (CHead c1 (Bind 
-b0) (lift h d t)))) (\lambda (c1: C).(drop h d c1 c)) x (clear_bind b0 x 
-(lift h d t)) H5) b H9) c2 H10) u H8)))) H7)) H6))))) (\lambda (f: 
+ \lambda (x2: C).(let TMP_6 \def (\lambda (c: C).(\forall (x1: C).(\forall 
+(h: nat).(\forall (d: nat).((drop h (S d) x1 c) \to (\forall (b: B).(\forall 
+(c2: C).(\forall (u: T).((clear c (CHead c2 (Bind b) u)) \to (let TMP_4 \def 
+(\lambda (c1: C).(let TMP_1 \def (Bind b) in (let TMP_2 \def (lift h d u) in 
+(let TMP_3 \def (CHead c1 TMP_1 TMP_2) in (clear x1 TMP_3))))) in (let TMP_5 
+\def (\lambda (c1: C).(drop h d c1 c2)) in (ex2 C TMP_4 TMP_5)))))))))))) in 
+(let TMP_15 \def (\lambda (n: nat).(\lambda (x1: C).(\lambda (h: 
+nat).(\lambda (d: nat).(\lambda (_: (drop h (S d) x1 (CSort n))).(\lambda (b: 
+B).(\lambda (c2: C).(\lambda (u: T).(\lambda (H0: (clear (CSort n) (CHead c2 
+(Bind b) u))).(let TMP_7 \def (Bind b) in (let TMP_8 \def (CHead c2 TMP_7 u) 
+in (let TMP_12 \def (\lambda (c1: C).(let TMP_9 \def (Bind b) in (let TMP_10 
+\def (lift h d u) in (let TMP_11 \def (CHead c1 TMP_9 TMP_10) in (clear x1 
+TMP_11))))) in (let TMP_13 \def (\lambda (c1: C).(drop h d c1 c2)) in (let 
+TMP_14 \def (ex2 C TMP_12 TMP_13) in (clear_gen_sort TMP_8 n H0 
+TMP_14))))))))))))))) in (let TMP_162 \def (\lambda (c: C).(\lambda (H: 
+((\forall (x1: C).(\forall (h: nat).(\forall (d: nat).((drop h (S d) x1 c) 
+\to (\forall (b: B).(\forall (c2: C).(\forall (u: T).((clear c (CHead c2 
+(Bind b) u)) \to (ex2 C (\lambda (c1: C).(clear x1 (CHead c1 (Bind b) (lift h 
+d u)))) (\lambda (c1: C).(drop h d c1 c2))))))))))))).(\lambda (k: 
+K).(\lambda (t: T).(\lambda (x1: C).(\lambda (h: nat).(\lambda (d: 
+nat).(\lambda (H0: (drop h (S d) x1 (CHead c k t))).(\lambda (b: B).(\lambda 
+(c2: C).(\lambda (u: T).(\lambda (H1: (clear (CHead c k t) (CHead c2 (Bind b) 
+u))).(let TMP_19 \def (\lambda (e: C).(let TMP_16 \def (r k d) in (let TMP_17 
+\def (lift h TMP_16 t) in (let TMP_18 \def (CHead e k TMP_17) in (eq C x1 
+TMP_18))))) in (let TMP_21 \def (\lambda (e: C).(let TMP_20 \def (r k d) in 
+(drop h TMP_20 e c))) in (let TMP_25 \def (\lambda (c1: C).(let TMP_22 \def 
+(Bind b) in (let TMP_23 \def (lift h d u) in (let TMP_24 \def (CHead c1 
+TMP_22 TMP_23) in (clear x1 TMP_24))))) in (let TMP_26 \def (\lambda (c1: 
+C).(drop h d c1 c2)) in (let TMP_27 \def (ex2 C TMP_25 TMP_26) in (let 
+TMP_160 \def (\lambda (x: C).(\lambda (H2: (eq C x1 (CHead x k (lift h (r k 
+d) t)))).(\lambda (H3: (drop h (r k d) x c)).(let TMP_28 \def (r k d) in (let 
+TMP_29 \def (lift h TMP_28 t) in (let TMP_30 \def (CHead x k TMP_29) in (let 
+TMP_36 \def (\lambda (c0: C).(let TMP_34 \def (\lambda (c1: C).(let TMP_31 
+\def (Bind b) in (let TMP_32 \def (lift h d u) in (let TMP_33 \def (CHead c1 
+TMP_31 TMP_32) in (clear c0 TMP_33))))) in (let TMP_35 \def (\lambda (c1: 
+C).(drop h d c1 c2)) in (ex2 C TMP_34 TMP_35)))) in (let TMP_45 \def (\lambda 
+(k0: K).((clear (CHead c k0 t) (CHead c2 (Bind b) u)) \to ((drop h (r k0 d) x 
+c) \to (let TMP_43 \def (\lambda (c1: C).(let TMP_37 \def (r k0 d) in (let 
+TMP_38 \def (lift h TMP_37 t) in (let TMP_39 \def (CHead x k0 TMP_38) in (let 
+TMP_40 \def (Bind b) in (let TMP_41 \def (lift h d u) in (let TMP_42 \def 
+(CHead c1 TMP_40 TMP_41) in (clear TMP_39 TMP_42)))))))) in (let TMP_44 \def 
+(\lambda (c1: C).(drop h d c1 c2)) in (ex2 C TMP_43 TMP_44)))))) in (let 
+TMP_120 \def (\lambda (b0: B).(\lambda (H4: (clear (CHead c (Bind b0) t) 
+(CHead c2 (Bind b) u))).(\lambda (H5: (drop h (r (Bind b0) d) x c)).(let 
+TMP_46 \def (\lambda (e: C).(match e with [(CSort _) \Rightarrow c2 | (CHead 
+c0 _ _) \Rightarrow c0])) in (let TMP_47 \def (Bind b) in (let TMP_48 \def 
+(CHead c2 TMP_47 u) in (let TMP_49 \def (Bind b0) in (let TMP_50 \def (CHead 
+c TMP_49 t) in (let TMP_51 \def (Bind b) in (let TMP_52 \def (CHead c2 TMP_51 
+u) in (let TMP_53 \def (clear_gen_bind b0 c TMP_52 t H4) in (let H6 \def 
+(f_equal C C TMP_46 TMP_48 TMP_50 TMP_53) in (let TMP_54 \def (\lambda (e: 
+C).(match e with [(CSort _) \Rightarrow b | (CHead _ k0 _) \Rightarrow (match 
+k0 with [(Bind b1) \Rightarrow b1 | (Flat _) \Rightarrow b])])) in (let 
+TMP_55 \def (Bind b) in (let TMP_56 \def (CHead c2 TMP_55 u) in (let TMP_57 
+\def (Bind b0) in (let TMP_58 \def (CHead c TMP_57 t) in (let TMP_59 \def 
+(Bind b) in (let TMP_60 \def (CHead c2 TMP_59 u) in (let TMP_61 \def 
+(clear_gen_bind b0 c TMP_60 t H4) in (let H7 \def (f_equal C B TMP_54 TMP_56 
+TMP_58 TMP_61) in (let TMP_62 \def (\lambda (e: C).(match e with [(CSort _) 
+\Rightarrow u | (CHead _ _ t0) \Rightarrow t0])) in (let TMP_63 \def (Bind b) 
+in (let TMP_64 \def (CHead c2 TMP_63 u) in (let TMP_65 \def (Bind b0) in (let 
+TMP_66 \def (CHead c TMP_65 t) in (let TMP_67 \def (Bind b) in (let TMP_68 
+\def (CHead c2 TMP_67 u) in (let TMP_69 \def (clear_gen_bind b0 c TMP_68 t 
+H4) in (let H8 \def (f_equal C T TMP_62 TMP_64 TMP_66 TMP_69) in (let TMP_118 
+\def (\lambda (H9: (eq B b b0)).(\lambda (H10: (eq C c2 c)).(let TMP_80 \def 
+(\lambda (t0: T).(let TMP_78 \def (\lambda (c1: C).(let TMP_70 \def (Bind b0) 
+in (let TMP_71 \def (Bind b0) in (let TMP_72 \def (r TMP_71 d) in (let TMP_73 
+\def (lift h TMP_72 t) in (let TMP_74 \def (CHead x TMP_70 TMP_73) in (let 
+TMP_75 \def (Bind b) in (let TMP_76 \def (lift h d t0) in (let TMP_77 \def 
+(CHead c1 TMP_75 TMP_76) in (clear TMP_74 TMP_77)))))))))) in (let TMP_79 
+\def (\lambda (c1: C).(drop h d c1 c2)) in (ex2 C TMP_78 TMP_79)))) in (let 
+TMP_91 \def (\lambda (c0: C).(let TMP_89 \def (\lambda (c1: C).(let TMP_81 
+\def (Bind b0) in (let TMP_82 \def (Bind b0) in (let TMP_83 \def (r TMP_82 d) 
+in (let TMP_84 \def (lift h TMP_83 t) in (let TMP_85 \def (CHead x TMP_81 
+TMP_84) in (let TMP_86 \def (Bind b) in (let TMP_87 \def (lift h d t) in (let 
+TMP_88 \def (CHead c1 TMP_86 TMP_87) in (clear TMP_85 TMP_88)))))))))) in 
+(let TMP_90 \def (\lambda (c1: C).(drop h d c1 c0)) in (ex2 C TMP_89 
+TMP_90)))) in (let TMP_102 \def (\lambda (b1: B).(let TMP_100 \def (\lambda 
+(c1: C).(let TMP_92 \def (Bind b0) in (let TMP_93 \def (Bind b0) in (let 
+TMP_94 \def (r TMP_93 d) in (let TMP_95 \def (lift h TMP_94 t) in (let TMP_96 
+\def (CHead x TMP_92 TMP_95) in (let TMP_97 \def (Bind b1) in (let TMP_98 
+\def (lift h d t) in (let TMP_99 \def (CHead c1 TMP_97 TMP_98) in (clear 
+TMP_96 TMP_99)))))))))) in (let TMP_101 \def (\lambda (c1: C).(drop h d c1 
+c)) in (ex2 C TMP_100 TMP_101)))) in (let TMP_111 \def (\lambda (c1: C).(let 
+TMP_103 \def (Bind b0) in (let TMP_104 \def (Bind b0) in (let TMP_105 \def (r 
+TMP_104 d) in (let TMP_106 \def (lift h TMP_105 t) in (let TMP_107 \def 
+(CHead x TMP_103 TMP_106) in (let TMP_108 \def (Bind b0) in (let TMP_109 \def 
+(lift h d t) in (let TMP_110 \def (CHead c1 TMP_108 TMP_109) in (clear 
+TMP_107 TMP_110)))))))))) in (let TMP_112 \def (\lambda (c1: C).(drop h d c1 
+c)) in (let TMP_113 \def (lift h d t) in (let TMP_114 \def (clear_bind b0 x 
+TMP_113) in (let TMP_115 \def (ex_intro2 C TMP_111 TMP_112 x TMP_114 H5) in 
+(let TMP_116 \def (eq_ind_r B b0 TMP_102 TMP_115 b H9) in (let TMP_117 \def 
+(eq_ind_r C c TMP_91 TMP_116 c2 H10) in (eq_ind_r T t TMP_80 TMP_117 u 
+H8))))))))))))) in (let TMP_119 \def (TMP_118 H7) in (TMP_119 
+H6))))))))))))))))))))))))))))))))) in (let TMP_158 \def (\lambda (f: 
 F).(\lambda (H4: (clear (CHead c (Flat f) t) (CHead c2 (Bind b) u))).(\lambda 
-(H5: (drop h (r (Flat f) d) x c)).(let H6 \def (H x h d H5 b c2 u 
-(clear_gen_flat f c (CHead c2 (Bind b) u) t H4)) in (ex2_ind C (\lambda (c1: 
-C).(clear x (CHead c1 (Bind b) (lift h d u)))) (\lambda (c1: C).(drop h d c1 
-c2)) (ex2 C (\lambda (c1: C).(clear (CHead x (Flat f) (lift h (r (Flat f) d) 
-t)) (CHead c1 (Bind b) (lift h d u)))) (\lambda (c1: C).(drop h d c1 c2))) 
+(H5: (drop h (r (Flat f) d) x c)).(let TMP_121 \def (Bind b) in (let TMP_122 
+\def (CHead c2 TMP_121 u) in (let TMP_123 \def (clear_gen_flat f c TMP_122 t 
+H4) in (let H6 \def (H x h d H5 b c2 u TMP_123) in (let TMP_127 \def (\lambda 
+(c1: C).(let TMP_124 \def (Bind b) in (let TMP_125 \def (lift h d u) in (let 
+TMP_126 \def (CHead c1 TMP_124 TMP_125) in (clear x TMP_126))))) in (let 
+TMP_128 \def (\lambda (c1: C).(drop h d c1 c2)) in (let TMP_137 \def (\lambda 
+(c1: C).(let TMP_129 \def (Flat f) in (let TMP_130 \def (Flat f) in (let 
+TMP_131 \def (r TMP_130 d) in (let TMP_132 \def (lift h TMP_131 t) in (let 
+TMP_133 \def (CHead x TMP_129 TMP_132) in (let TMP_134 \def (Bind b) in (let 
+TMP_135 \def (lift h d u) in (let TMP_136 \def (CHead c1 TMP_134 TMP_135) in 
+(clear TMP_133 TMP_136)))))))))) in (let TMP_138 \def (\lambda (c1: C).(drop 
+h d c1 c2)) in (let TMP_139 \def (ex2 C TMP_137 TMP_138) in (let TMP_157 \def 
 (\lambda (x0: C).(\lambda (H7: (clear x (CHead x0 (Bind b) (lift h d 
-u)))).(\lambda (H8: (drop h d x0 c2)).(ex_intro2 C (\lambda (c1: C).(clear 
-(CHead x (Flat f) (lift h (r (Flat f) d) t)) (CHead c1 (Bind b) (lift h d 
-u)))) (\lambda (c1: C).(drop h d c1 c2)) x0 (clear_flat x (CHead x0 (Bind b) 
-(lift h d u)) H7 f (lift h (r (Flat f) d) t)) H8)))) H6))))) k H1 H3) x1 
-H2)))) (drop_gen_skip_r c x1 t h d k H0)))))))))))))) x2).
-(* COMMENTS
-Initial nodes: 1449
-END *)
+u)))).(\lambda (H8: (drop h d x0 c2)).(let TMP_148 \def (\lambda (c1: C).(let 
+TMP_140 \def (Flat f) in (let TMP_141 \def (Flat f) in (let TMP_142 \def (r 
+TMP_141 d) in (let TMP_143 \def (lift h TMP_142 t) in (let TMP_144 \def 
+(CHead x TMP_140 TMP_143) in (let TMP_145 \def (Bind b) in (let TMP_146 \def 
+(lift h d u) in (let TMP_147 \def (CHead c1 TMP_145 TMP_146) in (clear 
+TMP_144 TMP_147)))))))))) in (let TMP_149 \def (\lambda (c1: C).(drop h d c1 
+c2)) in (let TMP_150 \def (Bind b) in (let TMP_151 \def (lift h d u) in (let 
+TMP_152 \def (CHead x0 TMP_150 TMP_151) in (let TMP_153 \def (Flat f) in (let 
+TMP_154 \def (r TMP_153 d) in (let TMP_155 \def (lift h TMP_154 t) in (let 
+TMP_156 \def (clear_flat x TMP_152 H7 f TMP_155) in (ex_intro2 C TMP_148 
+TMP_149 x0 TMP_156 H8))))))))))))) in (ex2_ind C TMP_127 TMP_128 TMP_139 
+TMP_157 H6)))))))))))))) in (let TMP_159 \def (K_ind TMP_45 TMP_120 TMP_158 k 
+H1 H3) in (eq_ind_r C TMP_30 TMP_36 TMP_159 x1 H2)))))))))))) in (let TMP_161 
+\def (drop_gen_skip_r c x1 t h d k H0) in (ex2_ind C TMP_19 TMP_21 TMP_27 
+TMP_160 TMP_161)))))))))))))))))))) in (C_ind TMP_6 TMP_15 TMP_162 x2)))).
 
index d64ff77becc37bfac84d3889f01ebf257c4457cf..5d602754db201e079e83600273ecf122b7147152 100644 (file)
 
 (* This file was automatically generated: do not edit *********************)
 
-include "Basic-1/clear/defs.ma".
+include "basic_1/clear/defs.ma".
+
+include "basic_1/C/fwd.ma".
+
+let rec 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) (c0: C) (c1: 
+clear c c0) on c1: P c c0 \def match c1 with [(clear_bind b e u) \Rightarrow 
+(f b e u) | (clear_flat e c2 c3 f1 u) \Rightarrow (let TMP_1 \def ((clear_ind 
+P f f0) e c2 c3) in (f0 e c2 c3 TMP_1 f1 u))].
 
 theorem clear_gen_sort:
  \forall (x: C).(\forall (n: nat).((clear (CSort n) x) \to (\forall (P: 
 Prop).P)))
 \def
  \lambda (x: C).(\lambda (n: nat).(\lambda (H: (clear (CSort n) x)).(\lambda 
-(P: Prop).(insert_eq C (CSort n) (\lambda (c: C).(clear c x)) (\lambda (_: 
-C).P) (\lambda (y: C).(\lambda (H0: (clear y x)).(clear_ind (\lambda (c: 
-C).(\lambda (_: C).((eq C c (CSort n)) \to P))) (\lambda (b: B).(\lambda (e: 
-C).(\lambda (u: T).(\lambda (H1: (eq C (CHead e (Bind b) u) (CSort n))).(let 
-H2 \def (eq_ind C (CHead e (Bind b) u) (\lambda (ee: C).(match ee in C return 
-(\lambda (_: C).Prop) with [(CSort _) \Rightarrow False | (CHead _ _ _) 
-\Rightarrow True])) I (CSort n) H1) in (False_ind P H2)))))) (\lambda (e: 
-C).(\lambda (c: C).(\lambda (_: (clear e c)).(\lambda (_: (((eq C e (CSort 
-n)) \to P))).(\lambda (f: F).(\lambda (u: T).(\lambda (H3: (eq C (CHead e 
-(Flat f) u) (CSort n))).(let H4 \def (eq_ind C (CHead e (Flat f) u) (\lambda 
-(ee: C).(match ee in C return (\lambda (_: C).Prop) with [(CSort _) 
-\Rightarrow False | (CHead _ _ _) \Rightarrow True])) I (CSort n) H3) in 
-(False_ind P H4))))))))) y x H0))) H)))).
-(* COMMENTS
-Initial nodes: 215
-END *)
+(P: Prop).(let TMP_1 \def (CSort n) in (let TMP_2 \def (\lambda (c: C).(clear 
+c x)) in (let TMP_3 \def (\lambda (_: C).P) in (let TMP_15 \def (\lambda (y: 
+C).(\lambda (H0: (clear y x)).(let TMP_4 \def (\lambda (c: C).(\lambda (_: 
+C).((eq C c (CSort n)) \to P))) in (let TMP_9 \def (\lambda (b: B).(\lambda 
+(e: C).(\lambda (u: T).(\lambda (H1: (eq C (CHead e (Bind b) u) (CSort 
+n))).(let TMP_5 \def (Bind b) in (let TMP_6 \def (CHead e TMP_5 u) in (let 
+TMP_7 \def (\lambda (ee: C).(match ee with [(CSort _) \Rightarrow False | 
+(CHead _ _ _) \Rightarrow True])) in (let TMP_8 \def (CSort n) in (let H2 
+\def (eq_ind C TMP_6 TMP_7 I TMP_8 H1) in (False_ind P H2)))))))))) in (let 
+TMP_14 \def (\lambda (e: C).(\lambda (c: C).(\lambda (_: (clear e 
+c)).(\lambda (_: (((eq C e (CSort n)) \to P))).(\lambda (f: F).(\lambda (u: 
+T).(\lambda (H3: (eq C (CHead e (Flat f) u) (CSort n))).(let TMP_10 \def 
+(Flat f) in (let TMP_11 \def (CHead e TMP_10 u) in (let TMP_12 \def (\lambda 
+(ee: C).(match ee with [(CSort _) \Rightarrow False | (CHead _ _ _) 
+\Rightarrow True])) in (let TMP_13 \def (CSort n) in (let H4 \def (eq_ind C 
+TMP_11 TMP_12 I TMP_13 H3) in (False_ind P H4))))))))))))) in (clear_ind 
+TMP_4 TMP_9 TMP_14 y x H0)))))) in (insert_eq C TMP_1 TMP_2 TMP_3 TMP_15 
+H)))))))).
 
 theorem clear_gen_bind:
  \forall (b: B).(\forall (e: C).(\forall (x: C).(\forall (u: T).((clear 
 (CHead e (Bind b) u) x) \to (eq C x (CHead e (Bind b) u))))))
 \def
  \lambda (b: B).(\lambda (e: C).(\lambda (x: C).(\lambda (u: T).(\lambda (H: 
-(clear (CHead e (Bind b) u) x)).(insert_eq C (CHead e (Bind b) u) (\lambda 
-(c: C).(clear c x)) (\lambda (c: C).(eq C x c)) (\lambda (y: C).(\lambda (H0: 
-(clear y x)).(clear_ind (\lambda (c: C).(\lambda (c0: C).((eq C c (CHead e 
-(Bind b) u)) \to (eq C c0 c)))) (\lambda (b0: B).(\lambda (e0: C).(\lambda 
-(u0: T).(\lambda (H1: (eq C (CHead e0 (Bind b0) u0) (CHead e (Bind b) 
-u))).(let H2 \def (f_equal C C (\lambda (e1: C).(match e1 in C return 
-(\lambda (_: C).C) with [(CSort _) \Rightarrow e0 | (CHead c _ _) \Rightarrow 
-c])) (CHead e0 (Bind b0) u0) (CHead e (Bind b) u) H1) in ((let H3 \def 
-(f_equal C B (\lambda (e1: C).(match e1 in C return (\lambda (_: C).B) with 
-[(CSort _) \Rightarrow b0 | (CHead _ k _) \Rightarrow (match k in K return 
-(\lambda (_: K).B) with [(Bind b1) \Rightarrow b1 | (Flat _) \Rightarrow 
-b0])])) (CHead e0 (Bind b0) u0) (CHead e (Bind b) u) H1) in ((let H4 \def 
-(f_equal C T (\lambda (e1: C).(match e1 in C return (\lambda (_: C).T) with 
-[(CSort _) \Rightarrow u0 | (CHead _ _ t) \Rightarrow t])) (CHead e0 (Bind 
-b0) u0) (CHead e (Bind b) u) H1) in (\lambda (H5: (eq B b0 b)).(\lambda (H6: 
-(eq C e0 e)).(eq_ind_r T u (\lambda (t: T).(eq C (CHead e0 (Bind b0) t) 
-(CHead e0 (Bind b0) t))) (eq_ind_r C e (\lambda (c: C).(eq C (CHead c (Bind 
-b0) u) (CHead c (Bind b0) u))) (eq_ind_r B b (\lambda (b1: B).(eq C (CHead e 
-(Bind b1) u) (CHead e (Bind b1) u))) (refl_equal C (CHead e (Bind b) u)) b0 
-H5) e0 H6) u0 H4)))) H3)) H2)))))) (\lambda (e0: C).(\lambda (c: C).(\lambda 
-(_: (clear e0 c)).(\lambda (_: (((eq C e0 (CHead e (Bind b) u)) \to (eq C c 
-e0)))).(\lambda (f: F).(\lambda (u0: T).(\lambda (H3: (eq C (CHead e0 (Flat 
-f) u0) (CHead e (Bind b) u))).(let H4 \def (eq_ind C (CHead e0 (Flat f) u0) 
-(\lambda (ee: C).(match ee in C return (\lambda (_: C).Prop) with [(CSort _) 
-\Rightarrow False | (CHead _ k _) \Rightarrow (match k in K return (\lambda 
-(_: K).Prop) with [(Bind _) \Rightarrow False | (Flat _) \Rightarrow 
-True])])) I (CHead e (Bind b) u) H3) in (False_ind (eq C c (CHead e0 (Flat f) 
-u0)) H4))))))))) y x H0))) H))))).
-(* COMMENTS
-Initial nodes: 525
-END *)
+(clear (CHead e (Bind b) u) x)).(let TMP_1 \def (Bind b) in (let TMP_2 \def 
+(CHead e TMP_1 u) in (let TMP_3 \def (\lambda (c: C).(clear c x)) in (let 
+TMP_4 \def (\lambda (c: C).(eq C x c)) in (let TMP_53 \def (\lambda (y: 
+C).(\lambda (H0: (clear y x)).(let TMP_5 \def (\lambda (c: C).(\lambda (c0: 
+C).((eq C c (CHead e (Bind b) u)) \to (eq C c0 c)))) in (let TMP_43 \def 
+(\lambda (b0: B).(\lambda (e0: C).(\lambda (u0: T).(\lambda (H1: (eq C (CHead 
+e0 (Bind b0) u0) (CHead e (Bind b) u))).(let TMP_6 \def (\lambda (e1: 
+C).(match e1 with [(CSort _) \Rightarrow e0 | (CHead c _ _) \Rightarrow c])) 
+in (let TMP_7 \def (Bind b0) in (let TMP_8 \def (CHead e0 TMP_7 u0) in (let 
+TMP_9 \def (Bind b) in (let TMP_10 \def (CHead e TMP_9 u) in (let H2 \def 
+(f_equal C C TMP_6 TMP_8 TMP_10 H1) in (let TMP_11 \def (\lambda (e1: 
+C).(match e1 with [(CSort _) \Rightarrow b0 | (CHead _ k _) \Rightarrow 
+(match k with [(Bind b1) \Rightarrow b1 | (Flat _) \Rightarrow b0])])) in 
+(let TMP_12 \def (Bind b0) in (let TMP_13 \def (CHead e0 TMP_12 u0) in (let 
+TMP_14 \def (Bind b) in (let TMP_15 \def (CHead e TMP_14 u) in (let H3 \def 
+(f_equal C B TMP_11 TMP_13 TMP_15 H1) in (let TMP_16 \def (\lambda (e1: 
+C).(match e1 with [(CSort _) \Rightarrow u0 | (CHead _ _ t) \Rightarrow t])) 
+in (let TMP_17 \def (Bind b0) in (let TMP_18 \def (CHead e0 TMP_17 u0) in 
+(let TMP_19 \def (Bind b) in (let TMP_20 \def (CHead e TMP_19 u) in (let H4 
+\def (f_equal C T TMP_16 TMP_18 TMP_20 H1) in (let TMP_41 \def (\lambda (H5: 
+(eq B b0 b)).(\lambda (H6: (eq C e0 e)).(let TMP_25 \def (\lambda (t: T).(let 
+TMP_21 \def (Bind b0) in (let TMP_22 \def (CHead e0 TMP_21 t) in (let TMP_23 
+\def (Bind b0) in (let TMP_24 \def (CHead e0 TMP_23 t) in (eq C TMP_22 
+TMP_24)))))) in (let TMP_30 \def (\lambda (c: C).(let TMP_26 \def (Bind b0) 
+in (let TMP_27 \def (CHead c TMP_26 u) in (let TMP_28 \def (Bind b0) in (let 
+TMP_29 \def (CHead c TMP_28 u) in (eq C TMP_27 TMP_29)))))) in (let TMP_35 
+\def (\lambda (b1: B).(let TMP_31 \def (Bind b1) in (let TMP_32 \def (CHead e 
+TMP_31 u) in (let TMP_33 \def (Bind b1) in (let TMP_34 \def (CHead e TMP_33 
+u) in (eq C TMP_32 TMP_34)))))) in (let TMP_36 \def (Bind b) in (let TMP_37 
+\def (CHead e TMP_36 u) in (let TMP_38 \def (refl_equal C TMP_37) in (let 
+TMP_39 \def (eq_ind_r B b TMP_35 TMP_38 b0 H5) in (let TMP_40 \def (eq_ind_r 
+C e TMP_30 TMP_39 e0 H6) in (eq_ind_r T u TMP_25 TMP_40 u0 H4))))))))))) in 
+(let TMP_42 \def (TMP_41 H3) in (TMP_42 H2))))))))))))))))))))))))) in (let 
+TMP_52 \def (\lambda (e0: C).(\lambda (c: C).(\lambda (_: (clear e0 
+c)).(\lambda (_: (((eq C e0 (CHead e (Bind b) u)) \to (eq C c e0)))).(\lambda 
+(f: F).(\lambda (u0: T).(\lambda (H3: (eq C (CHead e0 (Flat f) u0) (CHead e 
+(Bind b) u))).(let TMP_44 \def (Flat f) in (let TMP_45 \def (CHead e0 TMP_44 
+u0) in (let TMP_46 \def (\lambda (ee: C).(match ee with [(CSort _) 
+\Rightarrow False | (CHead _ k _) \Rightarrow (match k with [(Bind _) 
+\Rightarrow False | (Flat _) \Rightarrow True])])) in (let TMP_47 \def (Bind 
+b) in (let TMP_48 \def (CHead e TMP_47 u) in (let H4 \def (eq_ind C TMP_45 
+TMP_46 I TMP_48 H3) in (let TMP_49 \def (Flat f) in (let TMP_50 \def (CHead 
+e0 TMP_49 u0) in (let TMP_51 \def (eq C c TMP_50) in (False_ind TMP_51 
+H4))))))))))))))))) in (clear_ind TMP_5 TMP_43 TMP_52 y x H0)))))) in 
+(insert_eq C TMP_2 TMP_3 TMP_4 TMP_53 H)))))))))).
 
 theorem clear_gen_flat:
  \forall (f: F).(\forall (e: C).(\forall (x: C).(\forall (u: T).((clear 
 (CHead e (Flat f) u) x) \to (clear e x)))))
 \def
  \lambda (f: F).(\lambda (e: C).(\lambda (x: C).(\lambda (u: T).(\lambda (H: 
-(clear (CHead e (Flat f) u) x)).(insert_eq C (CHead e (Flat f) u) (\lambda 
-(c: C).(clear c x)) (\lambda (_: C).(clear e x)) (\lambda (y: C).(\lambda 
-(H0: (clear y x)).(clear_ind (\lambda (c: C).(\lambda (c0: C).((eq C c (CHead 
-e (Flat f) u)) \to (clear e c0)))) (\lambda (b: B).(\lambda (e0: C).(\lambda 
-(u0: T).(\lambda (H1: (eq C (CHead e0 (Bind b) u0) (CHead e (Flat f) 
-u))).(let H2 \def (eq_ind C (CHead e0 (Bind b) u0) (\lambda (ee: C).(match ee 
-in C return (\lambda (_: C).Prop) with [(CSort _) \Rightarrow False | (CHead 
-_ k _) \Rightarrow (match k in K return (\lambda (_: K).Prop) with [(Bind _) 
-\Rightarrow True | (Flat _) \Rightarrow False])])) I (CHead e (Flat f) u) H1) 
-in (False_ind (clear e (CHead e0 (Bind b) u0)) H2)))))) (\lambda (e0: 
-C).(\lambda (c: C).(\lambda (H1: (clear e0 c)).(\lambda (H2: (((eq C e0 
-(CHead e (Flat f) u)) \to (clear e c)))).(\lambda (f0: F).(\lambda (u0: 
-T).(\lambda (H3: (eq C (CHead e0 (Flat f0) u0) (CHead e (Flat f) u))).(let H4 
-\def (f_equal C C (\lambda (e1: C).(match e1 in C return (\lambda (_: C).C) 
-with [(CSort _) \Rightarrow e0 | (CHead c0 _ _) \Rightarrow c0])) (CHead e0 
-(Flat f0) u0) (CHead e (Flat f) u) H3) in ((let H5 \def (f_equal C F (\lambda 
-(e1: C).(match e1 in C return (\lambda (_: C).F) with [(CSort _) \Rightarrow 
-f0 | (CHead _ k _) \Rightarrow (match k in K return (\lambda (_: K).F) with 
-[(Bind _) \Rightarrow f0 | (Flat f1) \Rightarrow f1])])) (CHead e0 (Flat f0) 
-u0) (CHead e (Flat f) u) H3) in ((let H6 \def (f_equal C T (\lambda (e1: 
-C).(match e1 in C return (\lambda (_: C).T) with [(CSort _) \Rightarrow u0 | 
-(CHead _ _ t) \Rightarrow t])) (CHead e0 (Flat f0) u0) (CHead e (Flat f) u) 
-H3) in (\lambda (_: (eq F f0 f)).(\lambda (H8: (eq C e0 e)).(let H9 \def 
-(eq_ind C e0 (\lambda (c0: C).((eq C c0 (CHead e (Flat f) u)) \to (clear e 
-c))) H2 e H8) in (let H10 \def (eq_ind C e0 (\lambda (c0: C).(clear c0 c)) H1 
-e H8) in H10))))) H5)) H4))))))))) y x H0))) H))))).
-(* COMMENTS
-Initial nodes: 453
-END *)
+(clear (CHead e (Flat f) u) x)).(let TMP_1 \def (Flat f) in (let TMP_2 \def 
+(CHead e TMP_1 u) in (let TMP_3 \def (\lambda (c: C).(clear c x)) in (let 
+TMP_4 \def (\lambda (_: C).(clear e x)) in (let TMP_35 \def (\lambda (y: 
+C).(\lambda (H0: (clear y x)).(let TMP_5 \def (\lambda (c: C).(\lambda (c0: 
+C).((eq C c (CHead e (Flat f) u)) \to (clear e c0)))) in (let TMP_14 \def 
+(\lambda (b: B).(\lambda (e0: C).(\lambda (u0: T).(\lambda (H1: (eq C (CHead 
+e0 (Bind b) u0) (CHead e (Flat f) u))).(let TMP_6 \def (Bind b) in (let TMP_7 
+\def (CHead e0 TMP_6 u0) in (let TMP_8 \def (\lambda (ee: C).(match ee with 
+[(CSort _) \Rightarrow False | (CHead _ k _) \Rightarrow (match k with [(Bind 
+_) \Rightarrow True | (Flat _) \Rightarrow False])])) in (let TMP_9 \def 
+(Flat f) in (let TMP_10 \def (CHead e TMP_9 u) in (let H2 \def (eq_ind C 
+TMP_7 TMP_8 I TMP_10 H1) in (let TMP_11 \def (Bind b) in (let TMP_12 \def 
+(CHead e0 TMP_11 u0) in (let TMP_13 \def (clear e TMP_12) in (False_ind 
+TMP_13 H2)))))))))))))) in (let TMP_34 \def (\lambda (e0: C).(\lambda (c: 
+C).(\lambda (H1: (clear e0 c)).(\lambda (H2: (((eq C e0 (CHead e (Flat f) u)) 
+\to (clear e c)))).(\lambda (f0: F).(\lambda (u0: T).(\lambda (H3: (eq C 
+(CHead e0 (Flat f0) u0) (CHead e (Flat f) u))).(let TMP_15 \def (\lambda (e1: 
+C).(match e1 with [(CSort _) \Rightarrow e0 | (CHead c0 _ _) \Rightarrow 
+c0])) in (let TMP_16 \def (Flat f0) in (let TMP_17 \def (CHead e0 TMP_16 u0) 
+in (let TMP_18 \def (Flat f) in (let TMP_19 \def (CHead e TMP_18 u) in (let 
+H4 \def (f_equal C C TMP_15 TMP_17 TMP_19 H3) in (let TMP_20 \def (\lambda 
+(e1: C).(match e1 with [(CSort _) \Rightarrow f0 | (CHead _ k _) \Rightarrow 
+(match k with [(Bind _) \Rightarrow f0 | (Flat f1) \Rightarrow f1])])) in 
+(let TMP_21 \def (Flat f0) in (let TMP_22 \def (CHead e0 TMP_21 u0) in (let 
+TMP_23 \def (Flat f) in (let TMP_24 \def (CHead e TMP_23 u) in (let H5 \def 
+(f_equal C F TMP_20 TMP_22 TMP_24 H3) in (let TMP_25 \def (\lambda (e1: 
+C).(match e1 with [(CSort _) \Rightarrow u0 | (CHead _ _ t) \Rightarrow t])) 
+in (let TMP_26 \def (Flat f0) in (let TMP_27 \def (CHead e0 TMP_26 u0) in 
+(let TMP_28 \def (Flat f) in (let TMP_29 \def (CHead e TMP_28 u) in (let H6 
+\def (f_equal C T TMP_25 TMP_27 TMP_29 H3) in (let TMP_32 \def (\lambda (_: 
+(eq F f0 f)).(\lambda (H8: (eq C e0 e)).(let TMP_30 \def (\lambda (c0: 
+C).((eq C c0 (CHead e (Flat f) u)) \to (clear e c))) in (let H9 \def (eq_ind 
+C e0 TMP_30 H2 e H8) in (let TMP_31 \def (\lambda (c0: C).(clear c0 c)) in 
+(let H10 \def (eq_ind C e0 TMP_31 H1 e H8) in H10)))))) in (let TMP_33 \def 
+(TMP_32 H5) in (TMP_33 H4)))))))))))))))))))))))))))) in (clear_ind TMP_5 
+TMP_14 TMP_34 y x H0)))))) in (insert_eq C TMP_2 TMP_3 TMP_4 TMP_35 
+H)))))))))).
 
 theorem clear_gen_flat_r:
  \forall (f: F).(\forall (x: C).(\forall (e: C).(\forall (u: T).((clear x 
 (CHead e (Flat f) u)) \to (\forall (P: Prop).P)))))
 \def
  \lambda (f: F).(\lambda (x: C).(\lambda (e: C).(\lambda (u: T).(\lambda (H: 
-(clear x (CHead e (Flat f) u))).(\lambda (P: Prop).(insert_eq C (CHead e 
-(Flat f) u) (\lambda (c: C).(clear x c)) (\lambda (_: C).P) (\lambda (y: 
-C).(\lambda (H0: (clear x y)).(clear_ind (\lambda (_: C).(\lambda (c0: 
-C).((eq C c0 (CHead e (Flat f) u)) \to P))) (\lambda (b: B).(\lambda (e0: 
-C).(\lambda (u0: T).(\lambda (H1: (eq C (CHead e0 (Bind b) u0) (CHead e (Flat 
-f) u))).(let H2 \def (eq_ind C (CHead e0 (Bind b) u0) (\lambda (ee: C).(match 
-ee in C return (\lambda (_: C).Prop) with [(CSort _) \Rightarrow False | 
-(CHead _ k _) \Rightarrow (match k in K return (\lambda (_: K).Prop) with 
-[(Bind _) \Rightarrow True | (Flat _) \Rightarrow False])])) I (CHead e (Flat 
-f) u) H1) in (False_ind P H2)))))) (\lambda (e0: C).(\lambda (c: C).(\lambda 
-(H1: (clear e0 c)).(\lambda (H2: (((eq C c (CHead e (Flat f) u)) \to 
-P))).(\lambda (_: F).(\lambda (_: T).(\lambda (H3: (eq C c (CHead e (Flat f) 
-u))).(let H4 \def (eq_ind C c (\lambda (c0: C).((eq C c0 (CHead e (Flat f) 
-u)) \to P)) H2 (CHead e (Flat f) u) H3) in (let H5 \def (eq_ind C c (\lambda 
-(c0: C).(clear e0 c0)) H1 (CHead e (Flat f) u) H3) in (H4 (refl_equal C 
-(CHead e (Flat f) u)))))))))))) x y H0))) H)))))).
-(* COMMENTS
-Initial nodes: 303
-END *)
+(clear x (CHead e (Flat f) u))).(\lambda (P: Prop).(let TMP_1 \def (Flat f) 
+in (let TMP_2 \def (CHead e TMP_1 u) in (let TMP_3 \def (\lambda (c: 
+C).(clear x c)) in (let TMP_4 \def (\lambda (_: C).P) in (let TMP_22 \def 
+(\lambda (y: C).(\lambda (H0: (clear x y)).(let TMP_5 \def (\lambda (_: 
+C).(\lambda (c0: C).((eq C c0 (CHead e (Flat f) u)) \to P))) in (let TMP_11 
+\def (\lambda (b: B).(\lambda (e0: C).(\lambda (u0: T).(\lambda (H1: (eq C 
+(CHead e0 (Bind b) u0) (CHead e (Flat f) u))).(let TMP_6 \def (Bind b) in 
+(let TMP_7 \def (CHead e0 TMP_6 u0) in (let TMP_8 \def (\lambda (ee: 
+C).(match ee with [(CSort _) \Rightarrow False | (CHead _ k _) \Rightarrow 
+(match k with [(Bind _) \Rightarrow True | (Flat _) \Rightarrow False])])) in 
+(let TMP_9 \def (Flat f) in (let TMP_10 \def (CHead e TMP_9 u) in (let H2 
+\def (eq_ind C TMP_7 TMP_8 I TMP_10 H1) in (False_ind P H2))))))))))) in (let 
+TMP_21 \def (\lambda (e0: C).(\lambda (c: C).(\lambda (H1: (clear e0 
+c)).(\lambda (H2: (((eq C c (CHead e (Flat f) u)) \to P))).(\lambda (_: 
+F).(\lambda (_: T).(\lambda (H3: (eq C c (CHead e (Flat f) u))).(let TMP_12 
+\def (\lambda (c0: C).((eq C c0 (CHead e (Flat f) u)) \to P)) in (let TMP_13 
+\def (Flat f) in (let TMP_14 \def (CHead e TMP_13 u) in (let H4 \def (eq_ind 
+C c TMP_12 H2 TMP_14 H3) in (let TMP_15 \def (\lambda (c0: C).(clear e0 c0)) 
+in (let TMP_16 \def (Flat f) in (let TMP_17 \def (CHead e TMP_16 u) in (let 
+H5 \def (eq_ind C c TMP_15 H1 TMP_17 H3) in (let TMP_18 \def (Flat f) in (let 
+TMP_19 \def (CHead e TMP_18 u) in (let TMP_20 \def (refl_equal C TMP_19) in 
+(H4 TMP_20))))))))))))))))))) in (clear_ind TMP_5 TMP_11 TMP_21 x y H0)))))) 
+in (insert_eq C TMP_2 TMP_3 TMP_4 TMP_22 H))))))))))).
 
 theorem clear_gen_all:
  \forall (c1: C).(\forall (c2: C).((clear c1 c2) \to (ex_3 B C T (\lambda (b: 
 B).(\lambda (e: C).(\lambda (u: T).(eq C c2 (CHead e (Bind b) u))))))))
 \def
- \lambda (c1: C).(\lambda (c2: C).(\lambda (H: (clear c1 c2)).(clear_ind 
-(\lambda (_: C).(\lambda (c0: C).(ex_3 B C T (\lambda (b: B).(\lambda (e: 
-C).(\lambda (u: T).(eq C c0 (CHead e (Bind b) u)))))))) (\lambda (b: 
-B).(\lambda (e: C).(\lambda (u: T).(ex_3_intro B C T (\lambda (b0: 
-B).(\lambda (e0: C).(\lambda (u0: T).(eq C (CHead e (Bind b) u) (CHead e0 
-(Bind b0) u0))))) b e u (refl_equal C (CHead e (Bind b) u)))))) (\lambda (e: 
-C).(\lambda (c: C).(\lambda (H0: (clear e c)).(\lambda (H1: (ex_3 B C T 
+ \lambda (c1: C).(\lambda (c2: C).(\lambda (H: (clear c1 c2)).(let TMP_4 \def 
+(\lambda (_: C).(\lambda (c0: C).(let TMP_3 \def (\lambda (b: B).(\lambda (e: 
+C).(\lambda (u: T).(let TMP_1 \def (Bind b) in (let TMP_2 \def (CHead e TMP_1 
+u) in (eq C c0 TMP_2)))))) in (ex_3 B C T TMP_3)))) in (let TMP_13 \def 
+(\lambda (b: B).(\lambda (e: C).(\lambda (u: T).(let TMP_9 \def (\lambda (b0: 
+B).(\lambda (e0: C).(\lambda (u0: T).(let TMP_5 \def (Bind b) in (let TMP_6 
+\def (CHead e TMP_5 u) in (let TMP_7 \def (Bind b0) in (let TMP_8 \def (CHead 
+e0 TMP_7 u0) in (eq C TMP_6 TMP_8)))))))) in (let TMP_10 \def (Bind b) in 
+(let TMP_11 \def (CHead e TMP_10 u) in (let TMP_12 \def (refl_equal C TMP_11) 
+in (ex_3_intro B C T TMP_9 b e u TMP_12)))))))) in (let TMP_40 \def (\lambda 
+(e: C).(\lambda (c: C).(\lambda (H0: (clear e c)).(\lambda (H1: (ex_3 B C T 
 (\lambda (b: B).(\lambda (e0: C).(\lambda (u: T).(eq C c (CHead e0 (Bind b) 
-u))))))).(\lambda (_: F).(\lambda (_: T).(let H2 \def H1 in (ex_3_ind B C T 
-(\lambda (b: B).(\lambda (e0: C).(\lambda (u0: T).(eq C c (CHead e0 (Bind b) 
-u0))))) (ex_3 B C T (\lambda (b: B).(\lambda (e0: C).(\lambda (u0: T).(eq C c 
-(CHead e0 (Bind b) u0)))))) (\lambda (x0: B).(\lambda (x1: C).(\lambda (x2: 
-T).(\lambda (H3: (eq C c (CHead x1 (Bind x0) x2))).(let H4 \def (eq_ind C c 
-(\lambda (c0: C).(clear e c0)) H0 (CHead x1 (Bind x0) x2) H3) in (eq_ind_r C 
-(CHead x1 (Bind x0) x2) (\lambda (c0: C).(ex_3 B C T (\lambda (b: B).(\lambda 
-(e0: C).(\lambda (u0: T).(eq C c0 (CHead e0 (Bind b) u0))))))) (ex_3_intro B 
-C T (\lambda (b: B).(\lambda (e0: C).(\lambda (u0: T).(eq C (CHead x1 (Bind 
-x0) x2) (CHead e0 (Bind b) u0))))) x0 x1 x2 (refl_equal C (CHead x1 (Bind x0) 
-x2))) c H3)))))) H2)))))))) c1 c2 H))).
-(* COMMENTS
-Initial nodes: 381
-END *)
+u))))))).(\lambda (_: F).(\lambda (_: T).(let H2 \def H1 in (let TMP_16 \def 
+(\lambda (b: B).(\lambda (e0: C).(\lambda (u0: T).(let TMP_14 \def (Bind b) 
+in (let TMP_15 \def (CHead e0 TMP_14 u0) in (eq C c TMP_15)))))) in (let 
+TMP_19 \def (\lambda (b: B).(\lambda (e0: C).(\lambda (u0: T).(let TMP_17 
+\def (Bind b) in (let TMP_18 \def (CHead e0 TMP_17 u0) in (eq C c 
+TMP_18)))))) in (let TMP_20 \def (ex_3 B C T TMP_19) in (let TMP_39 \def 
+(\lambda (x0: B).(\lambda (x1: C).(\lambda (x2: T).(\lambda (H3: (eq C c 
+(CHead x1 (Bind x0) x2))).(let TMP_21 \def (\lambda (c0: C).(clear e c0)) in 
+(let TMP_22 \def (Bind x0) in (let TMP_23 \def (CHead x1 TMP_22 x2) in (let 
+H4 \def (eq_ind C c TMP_21 H0 TMP_23 H3) in (let TMP_24 \def (Bind x0) in 
+(let TMP_25 \def (CHead x1 TMP_24 x2) in (let TMP_29 \def (\lambda (c0: 
+C).(let TMP_28 \def (\lambda (b: B).(\lambda (e0: C).(\lambda (u0: T).(let 
+TMP_26 \def (Bind b) in (let TMP_27 \def (CHead e0 TMP_26 u0) in (eq C c0 
+TMP_27)))))) in (ex_3 B C T TMP_28))) in (let TMP_34 \def (\lambda (b: 
+B).(\lambda (e0: C).(\lambda (u0: T).(let TMP_30 \def (Bind x0) in (let 
+TMP_31 \def (CHead x1 TMP_30 x2) in (let TMP_32 \def (Bind b) in (let TMP_33 
+\def (CHead e0 TMP_32 u0) in (eq C TMP_31 TMP_33)))))))) in (let TMP_35 \def 
+(Bind x0) in (let TMP_36 \def (CHead x1 TMP_35 x2) in (let TMP_37 \def 
+(refl_equal C TMP_36) in (let TMP_38 \def (ex_3_intro B C T TMP_34 x0 x1 x2 
+TMP_37) in (eq_ind_r C TMP_25 TMP_29 TMP_38 c H3))))))))))))))))) in 
+(ex_3_ind B C T TMP_16 TMP_20 TMP_39 H2)))))))))))) in (clear_ind TMP_4 
+TMP_13 TMP_40 c1 c2 H)))))).
+
+theorem clear_mono:
+ \forall (c: C).(\forall (c1: C).((clear c c1) \to (\forall (c2: C).((clear c 
+c2) \to (eq C c1 c2)))))
+\def
+ \lambda (c: C).(let TMP_1 \def (\lambda (c0: C).(\forall (c1: C).((clear c0 
+c1) \to (\forall (c2: C).((clear c0 c2) \to (eq C c1 c2)))))) in (let TMP_3 
+\def (\lambda (n: nat).(\lambda (c1: C).(\lambda (_: (clear (CSort n) 
+c1)).(\lambda (c2: C).(\lambda (H0: (clear (CSort n) c2)).(let TMP_2 \def (eq 
+C c1 c2) in (clear_gen_sort c2 n H0 TMP_2))))))) in (let TMP_23 \def (\lambda 
+(c0: C).(\lambda (H: ((\forall (c1: C).((clear c0 c1) \to (\forall (c2: 
+C).((clear c0 c2) \to (eq C c1 c2))))))).(\lambda (k: K).(\lambda (t: 
+T).(\lambda (c1: C).(\lambda (H0: (clear (CHead c0 k t) c1)).(\lambda (c2: 
+C).(\lambda (H1: (clear (CHead c0 k t) c2)).(let TMP_4 \def (\lambda (k0: 
+K).((clear (CHead c0 k0 t) c1) \to ((clear (CHead c0 k0 t) c2) \to (eq C c1 
+c2)))) in (let TMP_19 \def (\lambda (b: B).(\lambda (H2: (clear (CHead c0 
+(Bind b) t) c1)).(\lambda (H3: (clear (CHead c0 (Bind b) t) c2)).(let TMP_5 
+\def (Bind b) in (let TMP_6 \def (CHead c0 TMP_5 t) in (let TMP_7 \def 
+(\lambda (c3: C).(eq C c1 c3)) in (let TMP_8 \def (Bind b) in (let TMP_9 \def 
+(CHead c0 TMP_8 t) in (let TMP_12 \def (\lambda (c3: C).(let TMP_10 \def 
+(Bind b) in (let TMP_11 \def (CHead c0 TMP_10 t) in (eq C c3 TMP_11)))) in 
+(let TMP_13 \def (Bind b) in (let TMP_14 \def (CHead c0 TMP_13 t) in (let 
+TMP_15 \def (refl_equal C TMP_14) in (let TMP_16 \def (clear_gen_bind b c0 c1 
+t H2) in (let TMP_17 \def (eq_ind_r C TMP_9 TMP_12 TMP_15 c1 TMP_16) in (let 
+TMP_18 \def (clear_gen_bind b c0 c2 t H3) in (eq_ind_r C TMP_6 TMP_7 TMP_17 
+c2 TMP_18)))))))))))))))) in (let TMP_22 \def (\lambda (f: F).(\lambda (H2: 
+(clear (CHead c0 (Flat f) t) c1)).(\lambda (H3: (clear (CHead c0 (Flat f) t) 
+c2)).(let TMP_20 \def (clear_gen_flat f c0 c1 t H2) in (let TMP_21 \def 
+(clear_gen_flat f c0 c2 t H3) in (H c1 TMP_20 c2 TMP_21)))))) in (K_ind TMP_4 
+TMP_19 TMP_22 k H0 H1)))))))))))) in (C_ind TMP_1 TMP_3 TMP_23 c)))).
+
+theorem clear_cle:
+ \forall (c1: C).(\forall (c2: C).((clear c1 c2) \to (cle c2 c1)))
+\def
+ \lambda (c1: C).(let TMP_3 \def (\lambda (c: C).(\forall (c2: C).((clear c 
+c2) \to (let TMP_1 \def (cweight c2) in (let TMP_2 \def (cweight c) in (le 
+TMP_1 TMP_2)))))) in (let TMP_6 \def (\lambda (n: nat).(\lambda (c2: 
+C).(\lambda (H: (clear (CSort n) c2)).(let TMP_4 \def (cweight c2) in (let 
+TMP_5 \def (le TMP_4 O) in (clear_gen_sort c2 n H TMP_5)))))) in (let TMP_31 
+\def (\lambda (c: C).(\lambda (H: ((\forall (c2: C).((clear c c2) \to (le 
+(cweight c2) (cweight c)))))).(\lambda (k: K).(\lambda (t: T).(\lambda (c2: 
+C).(\lambda (H0: (clear (CHead c k t) c2)).(let TMP_11 \def (\lambda (k0: 
+K).((clear (CHead c k0 t) c2) \to (let TMP_7 \def (cweight c2) in (let TMP_8 
+\def (cweight c) in (let TMP_9 \def (tweight t) in (let TMP_10 \def (plus 
+TMP_8 TMP_9) in (le TMP_7 TMP_10))))))) in (let TMP_24 \def (\lambda (b: 
+B).(\lambda (H1: (clear (CHead c (Bind b) t) c2)).(let TMP_12 \def (Bind b) 
+in (let TMP_13 \def (CHead c TMP_12 t) in (let TMP_18 \def (\lambda (c0: 
+C).(let TMP_14 \def (cweight c0) in (let TMP_15 \def (cweight c) in (let 
+TMP_16 \def (tweight t) in (let TMP_17 \def (plus TMP_15 TMP_16) in (le 
+TMP_14 TMP_17)))))) in (let TMP_19 \def (cweight c) in (let TMP_20 \def 
+(tweight t) in (let TMP_21 \def (plus TMP_19 TMP_20) in (let TMP_22 \def 
+(le_n TMP_21) in (let TMP_23 \def (clear_gen_bind b c c2 t H1) in (eq_ind_r C 
+TMP_13 TMP_18 TMP_22 c2 TMP_23))))))))))) in (let TMP_30 \def (\lambda (f: 
+F).(\lambda (H1: (clear (CHead c (Flat f) t) c2)).(let TMP_25 \def (cweight 
+c2) in (let TMP_26 \def (cweight c) in (let TMP_27 \def (tweight t) in (let 
+TMP_28 \def (clear_gen_flat f c c2 t H1) in (let TMP_29 \def (H c2 TMP_28) in 
+(le_plus_trans TMP_25 TMP_26 TMP_27 TMP_29)))))))) in (K_ind TMP_11 TMP_24 
+TMP_30 k H0)))))))))) in (C_ind TMP_3 TMP_6 TMP_31 c1)))).
 
index 68e250d761edb121096de84ccd2ef32a7f35848b..70f732a643d0584289df9a367f95322528f23a25 100644 (file)
 
 (* This file was automatically generated: do not edit *********************)
 
-include "Basic-1/clear/fwd.ma".
+include "basic_1/clear/fwd.ma".
 
 theorem clear_clear:
  \forall (c1: C).(\forall (c2: C).((clear c1 c2) \to (clear c2 c2)))
 \def
- \lambda (c1: C).(C_ind (\lambda (c: C).(\forall (c2: C).((clear c c2) \to 
-(clear c2 c2)))) (\lambda (n: nat).(\lambda (c2: C).(\lambda (H: (clear 
-(CSort n) c2)).(clear_gen_sort c2 n H (clear c2 c2))))) (\lambda (c: 
+ \lambda (c1: C).(let TMP_1 \def (\lambda (c: C).(\forall (c2: C).((clear c 
+c2) \to (clear c2 c2)))) in (let TMP_3 \def (\lambda (n: nat).(\lambda (c2: 
+C).(\lambda (H: (clear (CSort n) c2)).(let TMP_2 \def (clear c2 c2) in 
+(clear_gen_sort c2 n H TMP_2))))) in (let TMP_13 \def (\lambda (c: 
 C).(\lambda (H: ((\forall (c2: C).((clear c c2) \to (clear c2 
 c2))))).(\lambda (k: K).(\lambda (t: T).(\lambda (c2: C).(\lambda (H0: (clear 
-(CHead c k t) c2)).(K_ind (\lambda (k0: K).((clear (CHead c k0 t) c2) \to 
-(clear c2 c2))) (\lambda (b: B).(\lambda (H1: (clear (CHead c (Bind b) t) 
-c2)).(eq_ind_r C (CHead c (Bind b) t) (\lambda (c0: C).(clear c0 c0)) 
-(clear_bind b c t) c2 (clear_gen_bind b c c2 t H1)))) (\lambda (f: 
-F).(\lambda (H1: (clear (CHead c (Flat f) t) c2)).(H c2 (clear_gen_flat f c 
-c2 t H1)))) k H0))))))) c1).
-(* COMMENTS
-Initial nodes: 199
-END *)
-
-theorem clear_mono:
- \forall (c: C).(\forall (c1: C).((clear c c1) \to (\forall (c2: C).((clear c 
-c2) \to (eq C c1 c2)))))
-\def
- \lambda (c: C).(C_ind (\lambda (c0: C).(\forall (c1: C).((clear c0 c1) \to 
-(\forall (c2: C).((clear c0 c2) \to (eq C c1 c2)))))) (\lambda (n: 
-nat).(\lambda (c1: C).(\lambda (_: (clear (CSort n) c1)).(\lambda (c2: 
-C).(\lambda (H0: (clear (CSort n) c2)).(clear_gen_sort c2 n H0 (eq C c1 
-c2))))))) (\lambda (c0: C).(\lambda (H: ((\forall (c1: C).((clear c0 c1) \to 
-(\forall (c2: C).((clear c0 c2) \to (eq C c1 c2))))))).(\lambda (k: 
-K).(\lambda (t: T).(\lambda (c1: C).(\lambda (H0: (clear (CHead c0 k t) 
-c1)).(\lambda (c2: C).(\lambda (H1: (clear (CHead c0 k t) c2)).(K_ind 
-(\lambda (k0: K).((clear (CHead c0 k0 t) c1) \to ((clear (CHead c0 k0 t) c2) 
-\to (eq C c1 c2)))) (\lambda (b: B).(\lambda (H2: (clear (CHead c0 (Bind b) 
-t) c1)).(\lambda (H3: (clear (CHead c0 (Bind b) t) c2)).(eq_ind_r C (CHead c0 
-(Bind b) t) (\lambda (c3: C).(eq C c1 c3)) (eq_ind_r C (CHead c0 (Bind b) t) 
-(\lambda (c3: C).(eq C c3 (CHead c0 (Bind b) t))) (refl_equal C (CHead c0 
-(Bind b) t)) c1 (clear_gen_bind b c0 c1 t H2)) c2 (clear_gen_bind b c0 c2 t 
-H3))))) (\lambda (f: F).(\lambda (H2: (clear (CHead c0 (Flat f) t) 
-c1)).(\lambda (H3: (clear (CHead c0 (Flat f) t) c2)).(H c1 (clear_gen_flat f 
-c0 c1 t H2) c2 (clear_gen_flat f c0 c2 t H3))))) k H0 H1))))))))) c).
-(* COMMENTS
-Initial nodes: 357
-END *)
+(CHead c k t) c2)).(let TMP_4 \def (\lambda (k0: K).((clear (CHead c k0 t) 
+c2) \to (clear c2 c2))) in (let TMP_10 \def (\lambda (b: B).(\lambda (H1: 
+(clear (CHead c (Bind b) t) c2)).(let TMP_5 \def (Bind b) in (let TMP_6 \def 
+(CHead c TMP_5 t) in (let TMP_7 \def (\lambda (c0: C).(clear c0 c0)) in (let 
+TMP_8 \def (clear_bind b c t) in (let TMP_9 \def (clear_gen_bind b c c2 t H1) 
+in (eq_ind_r C TMP_6 TMP_7 TMP_8 c2 TMP_9)))))))) in (let TMP_12 \def 
+(\lambda (f: F).(\lambda (H1: (clear (CHead c (Flat f) t) c2)).(let TMP_11 
+\def (clear_gen_flat f c c2 t H1) in (H c2 TMP_11)))) in (K_ind TMP_4 TMP_10 
+TMP_12 k H0)))))))))) in (C_ind TMP_1 TMP_3 TMP_13 c1)))).
 
 theorem clear_trans:
  \forall (c1: C).(\forall (c: C).((clear c1 c) \to (\forall (c2: C).((clear c 
 c2) \to (clear c1 c2)))))
 \def
- \lambda (c1: C).(C_ind (\lambda (c: C).(\forall (c0: C).((clear c c0) \to 
-(\forall (c2: C).((clear c0 c2) \to (clear c c2)))))) (\lambda (n: 
-nat).(\lambda (c: C).(\lambda (H: (clear (CSort n) c)).(\lambda (c2: 
-C).(\lambda (_: (clear c c2)).(clear_gen_sort c n H (clear (CSort n) 
-c2))))))) (\lambda (c: C).(\lambda (H: ((\forall (c0: C).((clear c c0) \to 
-(\forall (c2: C).((clear c0 c2) \to (clear c c2))))))).(\lambda (k: 
+ \lambda (c1: C).(let TMP_1 \def (\lambda (c: C).(\forall (c0: C).((clear c 
+c0) \to (\forall (c2: C).((clear c0 c2) \to (clear c c2)))))) in (let TMP_4 
+\def (\lambda (n: nat).(\lambda (c: C).(\lambda (H: (clear (CSort n) 
+c)).(\lambda (c2: C).(\lambda (_: (clear c c2)).(let TMP_2 \def (CSort n) in 
+(let TMP_3 \def (clear TMP_2 c2) in (clear_gen_sort c n H TMP_3)))))))) in 
+(let TMP_22 \def (\lambda (c: C).(\lambda (H: ((\forall (c0: C).((clear c c0) 
+\to (\forall (c2: C).((clear c0 c2) \to (clear c c2))))))).(\lambda (k: 
 K).(\lambda (t: T).(\lambda (c0: C).(\lambda (H0: (clear (CHead c k t) 
-c0)).(\lambda (c2: C).(\lambda (H1: (clear c0 c2)).(K_ind (\lambda (k0: 
-K).((clear (CHead c k0 t) c0) \to (clear (CHead c k0 t) c2))) (\lambda (b: 
-B).(\lambda (H2: (clear (CHead c (Bind b) t) c0)).(let H3 \def (eq_ind C c0 
-(\lambda (c3: C).(clear c3 c2)) H1 (CHead c (Bind b) t) (clear_gen_bind b c 
-c0 t H2)) in (eq_ind_r C (CHead c (Bind b) t) (\lambda (c3: C).(clear (CHead 
-c (Bind b) t) c3)) (clear_bind b c t) c2 (clear_gen_bind b c c2 t H3))))) 
-(\lambda (f: F).(\lambda (H2: (clear (CHead c (Flat f) t) c0)).(clear_flat c 
-c2 (H c0 (clear_gen_flat f c c0 t H2) c2 H1) f t))) k H0))))))))) c1).
-(* COMMENTS
-Initial nodes: 299
-END *)
+c0)).(\lambda (c2: C).(\lambda (H1: (clear c0 c2)).(let TMP_6 \def (\lambda 
+(k0: K).((clear (CHead c k0 t) c0) \to (let TMP_5 \def (CHead c k0 t) in 
+(clear TMP_5 c2)))) in (let TMP_18 \def (\lambda (b: B).(\lambda (H2: (clear 
+(CHead c (Bind b) t) c0)).(let TMP_7 \def (\lambda (c3: C).(clear c3 c2)) in 
+(let TMP_8 \def (Bind b) in (let TMP_9 \def (CHead c TMP_8 t) in (let TMP_10 
+\def (clear_gen_bind b c c0 t H2) in (let H3 \def (eq_ind C c0 TMP_7 H1 TMP_9 
+TMP_10) in (let TMP_11 \def (Bind b) in (let TMP_12 \def (CHead c TMP_11 t) 
+in (let TMP_15 \def (\lambda (c3: C).(let TMP_13 \def (Bind b) in (let TMP_14 
+\def (CHead c TMP_13 t) in (clear TMP_14 c3)))) in (let TMP_16 \def 
+(clear_bind b c t) in (let TMP_17 \def (clear_gen_bind b c c2 t H3) in 
+(eq_ind_r C TMP_12 TMP_15 TMP_16 c2 TMP_17))))))))))))) in (let TMP_21 \def 
+(\lambda (f: F).(\lambda (H2: (clear (CHead c (Flat f) t) c0)).(let TMP_19 
+\def (clear_gen_flat f c c0 t H2) in (let TMP_20 \def (H c0 TMP_19 c2 H1) in 
+(clear_flat c c2 TMP_20 f t))))) in (K_ind TMP_6 TMP_18 TMP_21 k 
+H0)))))))))))) in (C_ind TMP_1 TMP_4 TMP_22 c1)))).
 
 theorem clear_ctail:
  \forall (b: B).(\forall (c1: C).(\forall (c2: C).(\forall (u2: T).((clear c1 
 (CHead c2 (Bind b) u2)) \to (\forall (k: K).(\forall (u1: T).(clear (CTail k 
 u1 c1) (CHead (CTail k u1 c2) (Bind b) u2))))))))
 \def
- \lambda (b: B).(\lambda (c1: C).(C_ind (\lambda (c: C).(\forall (c2: 
+ \lambda (b: B).(\lambda (c1: C).(let TMP_5 \def (\lambda (c: C).(\forall 
+(c2: C).(\forall (u2: T).((clear c (CHead c2 (Bind b) u2)) \to (\forall (k: 
+K).(\forall (u1: T).(let TMP_1 \def (CTail k u1 c) in (let TMP_2 \def (CTail 
+k u1 c2) in (let TMP_3 \def (Bind b) in (let TMP_4 \def (CHead TMP_2 TMP_3 
+u2) in (clear TMP_1 TMP_4))))))))))) in (let TMP_34 \def (\lambda (n: 
+nat).(\lambda (c2: C).(\lambda (u2: T).(\lambda (H: (clear (CSort n) (CHead 
+c2 (Bind b) u2))).(\lambda (k: K).(\lambda (u1: T).(let TMP_11 \def (\lambda 
+(k0: K).(let TMP_6 \def (CSort n) in (let TMP_7 \def (CHead TMP_6 k0 u1) in 
+(let TMP_8 \def (CTail k0 u1 c2) in (let TMP_9 \def (Bind b) in (let TMP_10 
+\def (CHead TMP_8 TMP_9 u2) in (clear TMP_7 TMP_10))))))) in (let TMP_22 \def 
+(\lambda (b0: B).(let TMP_12 \def (Bind b) in (let TMP_13 \def (CHead c2 
+TMP_12 u2) in (let TMP_14 \def (CSort n) in (let TMP_15 \def (Bind b0) in 
+(let TMP_16 \def (CHead TMP_14 TMP_15 u1) in (let TMP_17 \def (Bind b0) in 
+(let TMP_18 \def (CTail TMP_17 u1 c2) in (let TMP_19 \def (Bind b) in (let 
+TMP_20 \def (CHead TMP_18 TMP_19 u2) in (let TMP_21 \def (clear TMP_16 
+TMP_20) in (clear_gen_sort TMP_13 n H TMP_21)))))))))))) in (let TMP_33 \def 
+(\lambda (f: F).(let TMP_23 \def (Bind b) in (let TMP_24 \def (CHead c2 
+TMP_23 u2) in (let TMP_25 \def (CSort n) in (let TMP_26 \def (Flat f) in (let 
+TMP_27 \def (CHead TMP_25 TMP_26 u1) in (let TMP_28 \def (Flat f) in (let 
+TMP_29 \def (CTail TMP_28 u1 c2) in (let TMP_30 \def (Bind b) in (let TMP_31 
+\def (CHead TMP_29 TMP_30 u2) in (let TMP_32 \def (clear TMP_27 TMP_31) in 
+(clear_gen_sort TMP_24 n H TMP_32)))))))))))) in (K_ind TMP_11 TMP_22 TMP_33 
+k)))))))))) in (let TMP_102 \def (\lambda (c: C).(\lambda (H: ((\forall (c2: 
 C).(\forall (u2: T).((clear c (CHead c2 (Bind b) u2)) \to (\forall (k: 
 K).(\forall (u1: T).(clear (CTail k u1 c) (CHead (CTail k u1 c2) (Bind b) 
-u2)))))))) (\lambda (n: nat).(\lambda (c2: C).(\lambda (u2: T).(\lambda (H: 
-(clear (CSort n) (CHead c2 (Bind b) u2))).(\lambda (k: K).(\lambda (u1: 
-T).(K_ind (\lambda (k0: K).(clear (CHead (CSort n) k0 u1) (CHead (CTail k0 u1 
-c2) (Bind b) u2))) (\lambda (b0: B).(clear_gen_sort (CHead c2 (Bind b) u2) n 
-H (clear (CHead (CSort n) (Bind b0) u1) (CHead (CTail (Bind b0) u1 c2) (Bind 
-b) u2)))) (\lambda (f: F).(clear_gen_sort (CHead c2 (Bind b) u2) n H (clear 
-(CHead (CSort n) (Flat f) u1) (CHead (CTail (Flat f) u1 c2) (Bind b) u2)))) 
-k))))))) (\lambda (c: C).(\lambda (H: ((\forall (c2: C).(\forall (u2: 
-T).((clear c (CHead c2 (Bind b) u2)) \to (\forall (k: K).(\forall (u1: 
-T).(clear (CTail k u1 c) (CHead (CTail k u1 c2) (Bind b) u2))))))))).(\lambda 
-(k: K).(\lambda (t: T).(\lambda (c2: C).(\lambda (u2: T).(\lambda (H0: (clear 
-(CHead c k t) (CHead c2 (Bind b) u2))).(\lambda (k0: K).(\lambda (u1: 
-T).(K_ind (\lambda (k1: K).((clear (CHead c k1 t) (CHead c2 (Bind b) u2)) \to 
-(clear (CHead (CTail k0 u1 c) k1 t) (CHead (CTail k0 u1 c2) (Bind b) u2)))) 
-(\lambda (b0: B).(\lambda (H1: (clear (CHead c (Bind b0) t) (CHead c2 (Bind 
-b) u2))).(let H2 \def (f_equal C C (\lambda (e: C).(match e in C return 
-(\lambda (_: C).C) with [(CSort _) \Rightarrow c2 | (CHead c0 _ _) 
-\Rightarrow c0])) (CHead c2 (Bind b) u2) (CHead c (Bind b0) t) 
-(clear_gen_bind b0 c (CHead c2 (Bind b) u2) t H1)) in ((let H3 \def (f_equal 
-C B (\lambda (e: C).(match e in C return (\lambda (_: C).B) with [(CSort _) 
-\Rightarrow b | (CHead _ k1 _) \Rightarrow (match k1 in K return (\lambda (_: 
-K).B) with [(Bind b1) \Rightarrow b1 | (Flat _) \Rightarrow b])])) (CHead c2 
-(Bind b) u2) (CHead c (Bind b0) t) (clear_gen_bind b0 c (CHead c2 (Bind b) 
-u2) t H1)) in ((let H4 \def (f_equal C T (\lambda (e: C).(match e in C return 
-(\lambda (_: C).T) with [(CSort _) \Rightarrow u2 | (CHead _ _ t0) 
-\Rightarrow t0])) (CHead c2 (Bind b) u2) (CHead c (Bind b0) t) 
-(clear_gen_bind b0 c (CHead c2 (Bind b) u2) t H1)) in (\lambda (H5: (eq B b 
-b0)).(\lambda (H6: (eq C c2 c)).(eq_ind_r T t (\lambda (t0: T).(clear (CHead 
-(CTail k0 u1 c) (Bind b0) t) (CHead (CTail k0 u1 c2) (Bind b) t0))) (eq_ind_r 
-C c (\lambda (c0: C).(clear (CHead (CTail k0 u1 c) (Bind b0) t) (CHead (CTail 
-k0 u1 c0) (Bind b) t))) (eq_ind B b (\lambda (b1: B).(clear (CHead (CTail k0 
-u1 c) (Bind b1) t) (CHead (CTail k0 u1 c) (Bind b) t))) (clear_bind b (CTail 
-k0 u1 c) t) b0 H5) c2 H6) u2 H4)))) H3)) H2)))) (\lambda (f: F).(\lambda (H1: 
-(clear (CHead c (Flat f) t) (CHead c2 (Bind b) u2))).(clear_flat (CTail k0 u1 
-c) (CHead (CTail k0 u1 c2) (Bind b) u2) (H c2 u2 (clear_gen_flat f c (CHead 
-c2 (Bind b) u2) t H1) k0 u1) f t))) k H0)))))))))) c1)).
-(* COMMENTS
-Initial nodes: 819
-END *)
-
-theorem clear_cle:
- \forall (c1: C).(\forall (c2: C).((clear c1 c2) \to (cle c2 c1)))
-\def
- \lambda (c1: C).(C_ind (\lambda (c: C).(\forall (c2: C).((clear c c2) \to 
-(le (cweight c2) (cweight c))))) (\lambda (n: nat).(\lambda (c2: C).(\lambda 
-(H: (clear (CSort n) c2)).(clear_gen_sort c2 n H (le (cweight c2) O))))) 
-(\lambda (c: C).(\lambda (H: ((\forall (c2: C).((clear c c2) \to (le (cweight 
-c2) (cweight c)))))).(\lambda (k: K).(\lambda (t: T).(\lambda (c2: 
-C).(\lambda (H0: (clear (CHead c k t) c2)).(K_ind (\lambda (k0: K).((clear 
-(CHead c k0 t) c2) \to (le (cweight c2) (plus (cweight c) (tweight t))))) 
-(\lambda (b: B).(\lambda (H1: (clear (CHead c (Bind b) t) c2)).(eq_ind_r C 
-(CHead c (Bind b) t) (\lambda (c0: C).(le (cweight c0) (plus (cweight c) 
-(tweight t)))) (le_n (plus (cweight c) (tweight t))) c2 (clear_gen_bind b c 
-c2 t H1)))) (\lambda (f: F).(\lambda (H1: (clear (CHead c (Flat f) t) 
-c2)).(le_plus_trans (cweight c2) (cweight c) (tweight t) (H c2 
-(clear_gen_flat f c c2 t H1))))) k H0))))))) c1).
-(* COMMENTS
-Initial nodes: 247
-END *)
+u2))))))))).(\lambda (k: K).(\lambda (t: T).(\lambda (c2: C).(\lambda (u2: 
+T).(\lambda (H0: (clear (CHead c k t) (CHead c2 (Bind b) u2))).(\lambda (k0: 
+K).(\lambda (u1: T).(let TMP_40 \def (\lambda (k1: K).((clear (CHead c k1 t) 
+(CHead c2 (Bind b) u2)) \to (let TMP_35 \def (CTail k0 u1 c) in (let TMP_36 
+\def (CHead TMP_35 k1 t) in (let TMP_37 \def (CTail k0 u1 c2) in (let TMP_38 
+\def (Bind b) in (let TMP_39 \def (CHead TMP_37 TMP_38 u2) in (clear TMP_36 
+TMP_39)))))))) in (let TMP_92 \def (\lambda (b0: B).(\lambda (H1: (clear 
+(CHead c (Bind b0) t) (CHead c2 (Bind b) u2))).(let TMP_41 \def (\lambda (e: 
+C).(match e with [(CSort _) \Rightarrow c2 | (CHead c0 _ _) \Rightarrow c0])) 
+in (let TMP_42 \def (Bind b) in (let TMP_43 \def (CHead c2 TMP_42 u2) in (let 
+TMP_44 \def (Bind b0) in (let TMP_45 \def (CHead c TMP_44 t) in (let TMP_46 
+\def (Bind b) in (let TMP_47 \def (CHead c2 TMP_46 u2) in (let TMP_48 \def 
+(clear_gen_bind b0 c TMP_47 t H1) in (let H2 \def (f_equal C C TMP_41 TMP_43 
+TMP_45 TMP_48) in (let TMP_49 \def (\lambda (e: C).(match e with [(CSort _) 
+\Rightarrow b | (CHead _ k1 _) \Rightarrow (match k1 with [(Bind b1) 
+\Rightarrow b1 | (Flat _) \Rightarrow b])])) in (let TMP_50 \def (Bind b) in 
+(let TMP_51 \def (CHead c2 TMP_50 u2) in (let TMP_52 \def (Bind b0) in (let 
+TMP_53 \def (CHead c TMP_52 t) in (let TMP_54 \def (Bind b) in (let TMP_55 
+\def (CHead c2 TMP_54 u2) in (let TMP_56 \def (clear_gen_bind b0 c TMP_55 t 
+H1) in (let H3 \def (f_equal C B TMP_49 TMP_51 TMP_53 TMP_56) in (let TMP_57 
+\def (\lambda (e: C).(match e with [(CSort _) \Rightarrow u2 | (CHead _ _ t0) 
+\Rightarrow t0])) in (let TMP_58 \def (Bind b) in (let TMP_59 \def (CHead c2 
+TMP_58 u2) in (let TMP_60 \def (Bind b0) in (let TMP_61 \def (CHead c TMP_60 
+t) in (let TMP_62 \def (Bind b) in (let TMP_63 \def (CHead c2 TMP_62 u2) in 
+(let TMP_64 \def (clear_gen_bind b0 c TMP_63 t H1) in (let H4 \def (f_equal C 
+T TMP_57 TMP_59 TMP_61 TMP_64) in (let TMP_90 \def (\lambda (H5: (eq B b 
+b0)).(\lambda (H6: (eq C c2 c)).(let TMP_71 \def (\lambda (t0: T).(let TMP_65 
+\def (CTail k0 u1 c) in (let TMP_66 \def (Bind b0) in (let TMP_67 \def (CHead 
+TMP_65 TMP_66 t) in (let TMP_68 \def (CTail k0 u1 c2) in (let TMP_69 \def 
+(Bind b) in (let TMP_70 \def (CHead TMP_68 TMP_69 t0) in (clear TMP_67 
+TMP_70)))))))) in (let TMP_78 \def (\lambda (c0: C).(let TMP_72 \def (CTail 
+k0 u1 c) in (let TMP_73 \def (Bind b0) in (let TMP_74 \def (CHead TMP_72 
+TMP_73 t) in (let TMP_75 \def (CTail k0 u1 c0) in (let TMP_76 \def (Bind b) 
+in (let TMP_77 \def (CHead TMP_75 TMP_76 t) in (clear TMP_74 TMP_77)))))))) 
+in (let TMP_85 \def (\lambda (b1: B).(let TMP_79 \def (CTail k0 u1 c) in (let 
+TMP_80 \def (Bind b1) in (let TMP_81 \def (CHead TMP_79 TMP_80 t) in (let 
+TMP_82 \def (CTail k0 u1 c) in (let TMP_83 \def (Bind b) in (let TMP_84 \def 
+(CHead TMP_82 TMP_83 t) in (clear TMP_81 TMP_84)))))))) in (let TMP_86 \def 
+(CTail k0 u1 c) in (let TMP_87 \def (clear_bind b TMP_86 t) in (let TMP_88 
+\def (eq_ind B b TMP_85 TMP_87 b0 H5) in (let TMP_89 \def (eq_ind_r C c 
+TMP_78 TMP_88 c2 H6) in (eq_ind_r T t TMP_71 TMP_89 u2 H4)))))))))) in (let 
+TMP_91 \def (TMP_90 H3) in (TMP_91 H2)))))))))))))))))))))))))))))))) in (let 
+TMP_101 \def (\lambda (f: F).(\lambda (H1: (clear (CHead c (Flat f) t) (CHead 
+c2 (Bind b) u2))).(let TMP_93 \def (CTail k0 u1 c) in (let TMP_94 \def (CTail 
+k0 u1 c2) in (let TMP_95 \def (Bind b) in (let TMP_96 \def (CHead TMP_94 
+TMP_95 u2) in (let TMP_97 \def (Bind b) in (let TMP_98 \def (CHead c2 TMP_97 
+u2) in (let TMP_99 \def (clear_gen_flat f c TMP_98 t H1) in (let TMP_100 \def 
+(H c2 u2 TMP_99 k0 u1) in (clear_flat TMP_93 TMP_96 TMP_100 f t))))))))))) in 
+(K_ind TMP_40 TMP_92 TMP_101 k H0))))))))))))) in (C_ind TMP_5 TMP_34 TMP_102 
+c1))))).
 
index de0a85bd316e0beb06b1b5abb27334a103f9d38d..ab74ba390e37ed717d135fea2d5789c47c33a3be 100644 (file)
 
 (* This file was automatically generated: do not edit *********************)
 
-include "Basic-1/getl/props.ma".
+include "basic_1/getl/props.ma".
 
-include "Basic-1/clear/drop.ma".
+include "basic_1/clear/drop.ma".
 
 theorem clear_getl_trans:
  \forall (i: nat).(\forall (c2: C).(\forall (c3: C).((getl i c2 c3) \to 
 (\forall (c1: C).((clear c1 c2) \to (getl i c1 c3))))))
 \def
- \lambda (i: nat).(nat_ind (\lambda (n: nat).(\forall (c2: C).(\forall (c3: 
-C).((getl n c2 c3) \to (\forall (c1: C).((clear c1 c2) \to (getl n c1 
-c3))))))) (\lambda (c2: C).(\lambda (c3: C).(\lambda (H: (getl O c2 
-c3)).(\lambda (c1: C).(\lambda (H0: (clear c1 c2)).(getl_intro O c1 c3 c1 
-(drop_refl c1) (clear_trans c1 c2 H0 c3 (getl_gen_O c2 c3 H)))))))) (\lambda 
-(n: nat).(\lambda (_: ((\forall (c2: C).(\forall (c3: C).((getl n c2 c3) \to 
-(\forall (c1: C).((clear c1 c2) \to (getl n c1 c3)))))))).(\lambda (c2: 
-C).(C_ind (\lambda (c: C).(\forall (c3: C).((getl (S n) c c3) \to (\forall 
-(c1: C).((clear c1 c) \to (getl (S n) c1 c3)))))) (\lambda (n0: nat).(\lambda 
-(c3: C).(\lambda (H0: (getl (S n) (CSort n0) c3)).(\lambda (c1: C).(\lambda 
-(_: (clear c1 (CSort n0))).(getl_gen_sort n0 (S n) c3 H0 (getl (S n) c1 
-c3))))))) (\lambda (c: C).(\lambda (_: ((\forall (c3: C).((getl (S n) c c3) 
-\to (\forall (c1: C).((clear c1 c) \to (getl (S n) c1 c3))))))).(\lambda (k: 
-K).(\lambda (t: T).(\lambda (c3: C).(\lambda (H1: (getl (S n) (CHead c k t) 
-c3)).(\lambda (c1: C).(\lambda (H2: (clear c1 (CHead c k t))).(K_ind (\lambda 
+ \lambda (i: nat).(let TMP_1 \def (\lambda (n: nat).(\forall (c2: C).(\forall 
+(c3: C).((getl n c2 c3) \to (\forall (c1: C).((clear c1 c2) \to (getl n c1 
+c3))))))) in (let TMP_5 \def (\lambda (c2: C).(\lambda (c3: C).(\lambda (H: 
+(getl O c2 c3)).(\lambda (c1: C).(\lambda (H0: (clear c1 c2)).(let TMP_2 \def 
+(drop_refl c1) in (let TMP_3 \def (getl_gen_O c2 c3 H) in (let TMP_4 \def 
+(clear_trans c1 c2 H0 c3 TMP_3) in (getl_intro O c1 c3 c1 TMP_2 
+TMP_4))))))))) in (let TMP_30 \def (\lambda (n: nat).(\lambda (_: ((\forall 
+(c2: C).(\forall (c3: C).((getl n c2 c3) \to (\forall (c1: C).((clear c1 c2) 
+\to (getl n c1 c3)))))))).(\lambda (c2: C).(let TMP_7 \def (\lambda (c: 
+C).(\forall (c3: C).((getl (S n) c c3) \to (\forall (c1: C).((clear c1 c) \to 
+(let TMP_6 \def (S n) in (getl TMP_6 c1 c3))))))) in (let TMP_11 \def 
+(\lambda (n0: nat).(\lambda (c3: C).(\lambda (H0: (getl (S n) (CSort n0) 
+c3)).(\lambda (c1: C).(\lambda (_: (clear c1 (CSort n0))).(let TMP_8 \def (S 
+n) in (let TMP_9 \def (S n) in (let TMP_10 \def (getl TMP_9 c1 c3) in 
+(getl_gen_sort n0 TMP_8 c3 H0 TMP_10))))))))) in (let TMP_29 \def (\lambda 
+(c: C).(\lambda (_: ((\forall (c3: C).((getl (S n) c c3) \to (\forall (c1: 
+C).((clear c1 c) \to (getl (S n) c1 c3))))))).(\lambda (k: K).(\lambda (t: 
+T).(\lambda (c3: C).(\lambda (H1: (getl (S n) (CHead c k t) c3)).(\lambda 
+(c1: C).(\lambda (H2: (clear c1 (CHead c k t))).(let TMP_13 \def (\lambda 
 (k0: K).((getl (S n) (CHead c k0 t) c3) \to ((clear c1 (CHead c k0 t)) \to 
-(getl (S n) c1 c3)))) (\lambda (b: B).(\lambda (H3: (getl (S n) (CHead c 
-(Bind b) t) c3)).(\lambda (H4: (clear c1 (CHead c (Bind b) t))).(let H5 \def 
-(getl_gen_all c c3 (r (Bind b) n) (getl_gen_S (Bind b) c c3 t n H3)) in 
-(ex2_ind C (\lambda (e: C).(drop n O c e)) (\lambda (e: C).(clear e c3)) 
-(getl (S n) c1 c3) (\lambda (x: C).(\lambda (H6: (drop n O c x)).(\lambda 
-(H7: (clear x c3)).(getl_intro (S n) c1 c3 x (drop_clear_O b c1 c t H4 x n 
-H6) H7)))) H5))))) (\lambda (f: F).(\lambda (_: (getl (S n) (CHead c (Flat f) 
-t) c3)).(\lambda (H4: (clear c1 (CHead c (Flat f) t))).(clear_gen_flat_r f c1 
-c t H4 (getl (S n) c1 c3))))) k H1 H2))))))))) c2)))) i).
-(* COMMENTS
-Initial nodes: 525
-END *)
+(let TMP_12 \def (S n) in (getl TMP_12 c1 c3))))) in (let TMP_25 \def 
+(\lambda (b: B).(\lambda (H3: (getl (S n) (CHead c (Bind b) t) c3)).(\lambda 
+(H4: (clear c1 (CHead c (Bind b) t))).(let TMP_14 \def (Bind b) in (let 
+TMP_15 \def (r TMP_14 n) in (let TMP_16 \def (Bind b) in (let TMP_17 \def 
+(getl_gen_S TMP_16 c c3 t n H3) in (let H5 \def (getl_gen_all c c3 TMP_15 
+TMP_17) in (let TMP_18 \def (\lambda (e: C).(drop n O c e)) in (let TMP_19 
+\def (\lambda (e: C).(clear e c3)) in (let TMP_20 \def (S n) in (let TMP_21 
+\def (getl TMP_20 c1 c3) in (let TMP_24 \def (\lambda (x: C).(\lambda (H6: 
+(drop n O c x)).(\lambda (H7: (clear x c3)).(let TMP_22 \def (S n) in (let 
+TMP_23 \def (drop_clear_O b c1 c t H4 x n H6) in (getl_intro TMP_22 c1 c3 x 
+TMP_23 H7)))))) in (ex2_ind C TMP_18 TMP_19 TMP_21 TMP_24 H5)))))))))))))) in 
+(let TMP_28 \def (\lambda (f: F).(\lambda (_: (getl (S n) (CHead c (Flat f) 
+t) c3)).(\lambda (H4: (clear c1 (CHead c (Flat f) t))).(let TMP_26 \def (S n) 
+in (let TMP_27 \def (getl TMP_26 c1 c3) in (clear_gen_flat_r f c1 c t H4 
+TMP_27)))))) in (K_ind TMP_13 TMP_25 TMP_28 k H1 H2)))))))))))) in (C_ind 
+TMP_7 TMP_11 TMP_29 c2))))))) in (nat_ind TMP_1 TMP_5 TMP_30 i)))).
 
 theorem getl_clear_trans:
  \forall (i: nat).(\forall (c1: C).(\forall (c2: C).((getl i c1 c2) \to 
@@ -57,97 +65,129 @@ theorem getl_clear_trans:
 \def
  \lambda (i: nat).(\lambda (c1: C).(\lambda (c2: C).(\lambda (H: (getl i c1 
 c2)).(\lambda (c3: C).(\lambda (H0: (clear c2 c3)).(let H1 \def (getl_gen_all 
-c1 c2 i H) in (ex2_ind C (\lambda (e: C).(drop i O c1 e)) (\lambda (e: 
-C).(clear e c2)) (getl i c1 c3) (\lambda (x: C).(\lambda (H2: (drop i O c1 
-x)).(\lambda (H3: (clear x c2)).(let H4 \def (clear_gen_all x c2 H3) in 
-(ex_3_ind B C T (\lambda (b: B).(\lambda (e: C).(\lambda (u: T).(eq C c2 
-(CHead e (Bind b) u))))) (getl i c1 c3) (\lambda (x0: B).(\lambda (x1: 
-C).(\lambda (x2: T).(\lambda (H5: (eq C c2 (CHead x1 (Bind x0) x2))).(let H6 
-\def (eq_ind C c2 (\lambda (c: C).(clear x c)) H3 (CHead x1 (Bind x0) x2) H5) 
-in (let H7 \def (eq_ind C c2 (\lambda (c: C).(clear c c3)) H0 (CHead x1 (Bind 
-x0) x2) H5) in (eq_ind_r C (CHead x1 (Bind x0) x2) (\lambda (c: C).(getl i c1 
-c)) (getl_intro i c1 (CHead x1 (Bind x0) x2) x H2 H6) c3 (clear_gen_bind x0 
-x1 c3 x2 H7)))))))) H4))))) H1))))))).
-(* COMMENTS
-Initial nodes: 269
-END *)
+c1 c2 i H) in (let TMP_1 \def (\lambda (e: C).(drop i O c1 e)) in (let TMP_2 
+\def (\lambda (e: C).(clear e c2)) in (let TMP_3 \def (getl i c1 c3) in (let 
+TMP_22 \def (\lambda (x: C).(\lambda (H2: (drop i O c1 x)).(\lambda (H3: 
+(clear x c2)).(let H4 \def (clear_gen_all x c2 H3) in (let TMP_6 \def 
+(\lambda (b: B).(\lambda (e: C).(\lambda (u: T).(let TMP_4 \def (Bind b) in 
+(let TMP_5 \def (CHead e TMP_4 u) in (eq C c2 TMP_5)))))) in (let TMP_7 \def 
+(getl i c1 c3) in (let TMP_21 \def (\lambda (x0: B).(\lambda (x1: C).(\lambda 
+(x2: T).(\lambda (H5: (eq C c2 (CHead x1 (Bind x0) x2))).(let TMP_8 \def 
+(\lambda (c: C).(clear x c)) in (let TMP_9 \def (Bind x0) in (let TMP_10 \def 
+(CHead x1 TMP_9 x2) in (let H6 \def (eq_ind C c2 TMP_8 H3 TMP_10 H5) in (let 
+TMP_11 \def (\lambda (c: C).(clear c c3)) in (let TMP_12 \def (Bind x0) in 
+(let TMP_13 \def (CHead x1 TMP_12 x2) in (let H7 \def (eq_ind C c2 TMP_11 H0 
+TMP_13 H5) in (let TMP_14 \def (Bind x0) in (let TMP_15 \def (CHead x1 TMP_14 
+x2) in (let TMP_16 \def (\lambda (c: C).(getl i c1 c)) in (let TMP_17 \def 
+(Bind x0) in (let TMP_18 \def (CHead x1 TMP_17 x2) in (let TMP_19 \def 
+(getl_intro i c1 TMP_18 x H2 H6) in (let TMP_20 \def (clear_gen_bind x0 x1 c3 
+x2 H7) in (eq_ind_r C TMP_15 TMP_16 TMP_19 c3 TMP_20)))))))))))))))))))) in 
+(ex_3_ind B C T TMP_6 TMP_7 TMP_21 H4)))))))) in (ex2_ind C TMP_1 TMP_2 TMP_3 
+TMP_22 H1))))))))))).
 
 theorem getl_clear_bind:
  \forall (b: B).(\forall (c: C).(\forall (e1: C).(\forall (v: T).((clear c 
 (CHead e1 (Bind b) v)) \to (\forall (e2: C).(\forall (n: nat).((getl n e1 e2) 
 \to (getl (S n) c e2))))))))
 \def
- \lambda (b: B).(\lambda (c: C).(C_ind (\lambda (c0: C).(\forall (e1: 
-C).(\forall (v: T).((clear c0 (CHead e1 (Bind b) v)) \to (\forall (e2: 
-C).(\forall (n: nat).((getl n e1 e2) \to (getl (S n) c0 e2)))))))) (\lambda 
-(n: nat).(\lambda (e1: C).(\lambda (v: T).(\lambda (H: (clear (CSort n) 
-(CHead e1 (Bind b) v))).(\lambda (e2: C).(\lambda (n0: nat).(\lambda (_: 
-(getl n0 e1 e2)).(clear_gen_sort (CHead e1 (Bind b) v) n H (getl (S n0) 
-(CSort n) e2))))))))) (\lambda (c0: C).(\lambda (H: ((\forall (e1: 
-C).(\forall (v: T).((clear c0 (CHead e1 (Bind b) v)) \to (\forall (e2: 
-C).(\forall (n: nat).((getl n e1 e2) \to (getl (S n) c0 e2))))))))).(\lambda 
-(k: K).(\lambda (t: T).(\lambda (e1: C).(\lambda (v: T).(\lambda (H0: (clear 
-(CHead c0 k t) (CHead e1 (Bind b) v))).(\lambda (e2: C).(\lambda (n: 
-nat).(\lambda (H1: (getl n e1 e2)).(K_ind (\lambda (k0: K).((clear (CHead c0 
-k0 t) (CHead e1 (Bind b) v)) \to (getl (S n) (CHead c0 k0 t) e2))) (\lambda 
-(b0: B).(\lambda (H2: (clear (CHead c0 (Bind b0) t) (CHead e1 (Bind b) 
-v))).(let H3 \def (f_equal C C (\lambda (e: C).(match e in C return (\lambda 
-(_: C).C) with [(CSort _) \Rightarrow e1 | (CHead c1 _ _) \Rightarrow c1])) 
-(CHead e1 (Bind b) v) (CHead c0 (Bind b0) t) (clear_gen_bind b0 c0 (CHead e1 
-(Bind b) v) t H2)) in ((let H4 \def (f_equal C B (\lambda (e: C).(match e in 
-C return (\lambda (_: C).B) with [(CSort _) \Rightarrow b | (CHead _ k0 _) 
-\Rightarrow (match k0 in K return (\lambda (_: K).B) with [(Bind b1) 
-\Rightarrow b1 | (Flat _) \Rightarrow b])])) (CHead e1 (Bind b) v) (CHead c0 
-(Bind b0) t) (clear_gen_bind b0 c0 (CHead e1 (Bind b) v) t H2)) in ((let H5 
-\def (f_equal C T (\lambda (e: C).(match e in C return (\lambda (_: C).T) 
-with [(CSort _) \Rightarrow v | (CHead _ _ t0) \Rightarrow t0])) (CHead e1 
-(Bind b) v) (CHead c0 (Bind b0) t) (clear_gen_bind b0 c0 (CHead e1 (Bind b) 
-v) t H2)) in (\lambda (H6: (eq B b b0)).(\lambda (H7: (eq C e1 c0)).(let H8 
-\def (eq_ind C e1 (\lambda (c1: C).(getl n c1 e2)) H1 c0 H7) in (eq_ind B b 
-(\lambda (b1: B).(getl (S n) (CHead c0 (Bind b1) t) e2)) (getl_head (Bind b) 
-n c0 e2 H8 t) b0 H6))))) H4)) H3)))) (\lambda (f: F).(\lambda (H2: (clear 
-(CHead c0 (Flat f) t) (CHead e1 (Bind b) v))).(getl_flat c0 e2 (S n) (H e1 v 
-(clear_gen_flat f c0 (CHead e1 (Bind b) v) t H2) e2 n H1) f t))) k 
-H0))))))))))) c)).
-(* COMMENTS
-Initial nodes: 599
-END *)
+ \lambda (b: B).(\lambda (c: C).(let TMP_2 \def (\lambda (c0: C).(\forall 
+(e1: C).(\forall (v: T).((clear c0 (CHead e1 (Bind b) v)) \to (\forall (e2: 
+C).(\forall (n: nat).((getl n e1 e2) \to (let TMP_1 \def (S n) in (getl TMP_1 
+c0 e2))))))))) in (let TMP_8 \def (\lambda (n: nat).(\lambda (e1: C).(\lambda 
+(v: T).(\lambda (H: (clear (CSort n) (CHead e1 (Bind b) v))).(\lambda (e2: 
+C).(\lambda (n0: nat).(\lambda (_: (getl n0 e1 e2)).(let TMP_3 \def (Bind b) 
+in (let TMP_4 \def (CHead e1 TMP_3 v) in (let TMP_5 \def (S n0) in (let TMP_6 
+\def (CSort n) in (let TMP_7 \def (getl TMP_5 TMP_6 e2) in (clear_gen_sort 
+TMP_4 n H TMP_7))))))))))))) in (let TMP_52 \def (\lambda (c0: C).(\lambda 
+(H: ((\forall (e1: C).(\forall (v: T).((clear c0 (CHead e1 (Bind b) v)) \to 
+(\forall (e2: C).(\forall (n: nat).((getl n e1 e2) \to (getl (S n) c0 
+e2))))))))).(\lambda (k: K).(\lambda (t: T).(\lambda (e1: C).(\lambda (v: 
+T).(\lambda (H0: (clear (CHead c0 k t) (CHead e1 (Bind b) v))).(\lambda (e2: 
+C).(\lambda (n: nat).(\lambda (H1: (getl n e1 e2)).(let TMP_11 \def (\lambda 
+(k0: K).((clear (CHead c0 k0 t) (CHead e1 (Bind b) v)) \to (let TMP_9 \def (S 
+n) in (let TMP_10 \def (CHead c0 k0 t) in (getl TMP_9 TMP_10 e2))))) in (let 
+TMP_45 \def (\lambda (b0: B).(\lambda (H2: (clear (CHead c0 (Bind b0) t) 
+(CHead e1 (Bind b) v))).(let TMP_12 \def (\lambda (e: C).(match e with 
+[(CSort _) \Rightarrow e1 | (CHead c1 _ _) \Rightarrow c1])) in (let TMP_13 
+\def (Bind b) in (let TMP_14 \def (CHead e1 TMP_13 v) in (let TMP_15 \def 
+(Bind b0) in (let TMP_16 \def (CHead c0 TMP_15 t) in (let TMP_17 \def (Bind 
+b) in (let TMP_18 \def (CHead e1 TMP_17 v) in (let TMP_19 \def 
+(clear_gen_bind b0 c0 TMP_18 t H2) in (let H3 \def (f_equal C C TMP_12 TMP_14 
+TMP_16 TMP_19) in (let TMP_20 \def (\lambda (e: C).(match e with [(CSort _) 
+\Rightarrow b | (CHead _ k0 _) \Rightarrow (match k0 with [(Bind b1) 
+\Rightarrow b1 | (Flat _) \Rightarrow b])])) in (let TMP_21 \def (Bind b) in 
+(let TMP_22 \def (CHead e1 TMP_21 v) in (let TMP_23 \def (Bind b0) in (let 
+TMP_24 \def (CHead c0 TMP_23 t) in (let TMP_25 \def (Bind b) in (let TMP_26 
+\def (CHead e1 TMP_25 v) in (let TMP_27 \def (clear_gen_bind b0 c0 TMP_26 t 
+H2) in (let H4 \def (f_equal C B TMP_20 TMP_22 TMP_24 TMP_27) in (let TMP_28 
+\def (\lambda (e: C).(match e with [(CSort _) \Rightarrow v | (CHead _ _ t0) 
+\Rightarrow t0])) in (let TMP_29 \def (Bind b) in (let TMP_30 \def (CHead e1 
+TMP_29 v) in (let TMP_31 \def (Bind b0) in (let TMP_32 \def (CHead c0 TMP_31 
+t) in (let TMP_33 \def (Bind b) in (let TMP_34 \def (CHead e1 TMP_33 v) in 
+(let TMP_35 \def (clear_gen_bind b0 c0 TMP_34 t H2) in (let H5 \def (f_equal 
+C T TMP_28 TMP_30 TMP_32 TMP_35) in (let TMP_43 \def (\lambda (H6: (eq B b 
+b0)).(\lambda (H7: (eq C e1 c0)).(let TMP_36 \def (\lambda (c1: C).(getl n c1 
+e2)) in (let H8 \def (eq_ind C e1 TMP_36 H1 c0 H7) in (let TMP_40 \def 
+(\lambda (b1: B).(let TMP_37 \def (S n) in (let TMP_38 \def (Bind b1) in (let 
+TMP_39 \def (CHead c0 TMP_38 t) in (getl TMP_37 TMP_39 e2))))) in (let TMP_41 
+\def (Bind b) in (let TMP_42 \def (getl_head TMP_41 n c0 e2 H8 t) in (eq_ind 
+B b TMP_40 TMP_42 b0 H6)))))))) in (let TMP_44 \def (TMP_43 H4) in (TMP_44 
+H3)))))))))))))))))))))))))))))))) in (let TMP_51 \def (\lambda (f: 
+F).(\lambda (H2: (clear (CHead c0 (Flat f) t) (CHead e1 (Bind b) v))).(let 
+TMP_46 \def (S n) in (let TMP_47 \def (Bind b) in (let TMP_48 \def (CHead e1 
+TMP_47 v) in (let TMP_49 \def (clear_gen_flat f c0 TMP_48 t H2) in (let 
+TMP_50 \def (H e1 v TMP_49 e2 n H1) in (getl_flat c0 e2 TMP_46 TMP_50 f 
+t)))))))) in (K_ind TMP_11 TMP_45 TMP_51 k H0)))))))))))))) in (C_ind TMP_2 
+TMP_8 TMP_52 c))))).
 
 theorem getl_clear_conf:
  \forall (i: nat).(\forall (c1: C).(\forall (c3: C).((getl i c1 c3) \to 
 (\forall (c2: C).((clear c1 c2) \to (getl i c2 c3))))))
 \def
- \lambda (i: nat).(nat_ind (\lambda (n: nat).(\forall (c1: C).(\forall (c3: 
-C).((getl n c1 c3) \to (\forall (c2: C).((clear c1 c2) \to (getl n c2 
-c3))))))) (\lambda (c1: C).(\lambda (c3: C).(\lambda (H: (getl O c1 
-c3)).(\lambda (c2: C).(\lambda (H0: (clear c1 c2)).(eq_ind C c3 (\lambda (c: 
-C).(getl O c c3)) (let H1 \def (clear_gen_all c1 c3 (getl_gen_O c1 c3 H)) in 
-(ex_3_ind B C T (\lambda (b: B).(\lambda (e: C).(\lambda (u: T).(eq C c3 
-(CHead e (Bind b) u))))) (getl O c3 c3) (\lambda (x0: B).(\lambda (x1: 
-C).(\lambda (x2: T).(\lambda (H2: (eq C c3 (CHead x1 (Bind x0) x2))).(let H3 
-\def (eq_ind C c3 (\lambda (c: C).(clear c1 c)) (getl_gen_O c1 c3 H) (CHead 
-x1 (Bind x0) x2) H2) in (eq_ind_r C (CHead x1 (Bind x0) x2) (\lambda (c: 
-C).(getl O c c)) (getl_refl x0 x1 x2) c3 H2)))))) H1)) c2 (clear_mono c1 c3 
-(getl_gen_O c1 c3 H) c2 H0))))))) (\lambda (n: nat).(\lambda (_: ((\forall 
-(c1: C).(\forall (c3: C).((getl n c1 c3) \to (\forall (c2: C).((clear c1 c2) 
-\to (getl n c2 c3)))))))).(\lambda (c1: C).(C_ind (\lambda (c: C).(\forall 
-(c3: C).((getl (S n) c c3) \to (\forall (c2: C).((clear c c2) \to (getl (S n) 
-c2 c3)))))) (\lambda (n0: nat).(\lambda (c3: C).(\lambda (H0: (getl (S n) 
-(CSort n0) c3)).(\lambda (c2: C).(\lambda (_: (clear (CSort n0) 
-c2)).(getl_gen_sort n0 (S n) c3 H0 (getl (S n) c2 c3))))))) (\lambda (c: 
-C).(\lambda (H0: ((\forall (c3: C).((getl (S n) c c3) \to (\forall (c2: 
-C).((clear c c2) \to (getl (S n) c2 c3))))))).(\lambda (k: K).(\lambda (t: 
-T).(\lambda (c3: C).(\lambda (H1: (getl (S n) (CHead c k t) c3)).(\lambda 
-(c2: C).(\lambda (H2: (clear (CHead c k t) c2)).(K_ind (\lambda (k0: 
-K).((getl (S n) (CHead c k0 t) c3) \to ((clear (CHead c k0 t) c2) \to (getl 
-(S n) c2 c3)))) (\lambda (b: B).(\lambda (H3: (getl (S n) (CHead c (Bind b) 
-t) c3)).(\lambda (H4: (clear (CHead c (Bind b) t) c2)).(eq_ind_r C (CHead c 
-(Bind b) t) (\lambda (c0: C).(getl (S n) c0 c3)) (getl_head (Bind b) n c c3 
-(getl_gen_S (Bind b) c c3 t n H3) t) c2 (clear_gen_bind b c c2 t H4))))) 
-(\lambda (f: F).(\lambda (H3: (getl (S n) (CHead c (Flat f) t) c3)).(\lambda 
-(H4: (clear (CHead c (Flat f) t) c2)).(H0 c3 (getl_gen_S (Flat f) c c3 t n 
-H3) c2 (clear_gen_flat f c c2 t H4))))) k H1 H2))))))))) c1)))) i).
-(* COMMENTS
-Initial nodes: 641
-END *)
+ \lambda (i: nat).(let TMP_1 \def (\lambda (n: nat).(\forall (c1: C).(\forall 
+(c3: C).((getl n c1 c3) \to (\forall (c2: C).((clear c1 c2) \to (getl n c2 
+c3))))))) in (let TMP_20 \def (\lambda (c1: C).(\lambda (c3: C).(\lambda (H: 
+(getl O c1 c3)).(\lambda (c2: C).(\lambda (H0: (clear c1 c2)).(let TMP_2 \def 
+(\lambda (c: C).(getl O c c3)) in (let TMP_3 \def (getl_gen_O c1 c3 H) in 
+(let H1 \def (clear_gen_all c1 c3 TMP_3) in (let TMP_6 \def (\lambda (b: 
+B).(\lambda (e: C).(\lambda (u: T).(let TMP_4 \def (Bind b) in (let TMP_5 
+\def (CHead e TMP_4 u) in (eq C c3 TMP_5)))))) in (let TMP_7 \def (getl O c3 
+c3) in (let TMP_16 \def (\lambda (x0: B).(\lambda (x1: C).(\lambda (x2: 
+T).(\lambda (H2: (eq C c3 (CHead x1 (Bind x0) x2))).(let TMP_8 \def (\lambda 
+(c: C).(clear c1 c)) in (let TMP_9 \def (getl_gen_O c1 c3 H) in (let TMP_10 
+\def (Bind x0) in (let TMP_11 \def (CHead x1 TMP_10 x2) in (let H3 \def 
+(eq_ind C c3 TMP_8 TMP_9 TMP_11 H2) in (let TMP_12 \def (Bind x0) in (let 
+TMP_13 \def (CHead x1 TMP_12 x2) in (let TMP_14 \def (\lambda (c: C).(getl O 
+c c)) in (let TMP_15 \def (getl_refl x0 x1 x2) in (eq_ind_r C TMP_13 TMP_14 
+TMP_15 c3 H2)))))))))))))) in (let TMP_17 \def (ex_3_ind B C T TMP_6 TMP_7 
+TMP_16 H1) in (let TMP_18 \def (getl_gen_O c1 c3 H) in (let TMP_19 \def 
+(clear_mono c1 c3 TMP_18 c2 H0) in (eq_ind C c3 TMP_2 TMP_17 c2 
+TMP_19))))))))))))))) in (let TMP_44 \def (\lambda (n: nat).(\lambda (_: 
+((\forall (c1: C).(\forall (c3: C).((getl n c1 c3) \to (\forall (c2: 
+C).((clear c1 c2) \to (getl n c2 c3)))))))).(\lambda (c1: C).(let TMP_22 \def 
+(\lambda (c: C).(\forall (c3: C).((getl (S n) c c3) \to (\forall (c2: 
+C).((clear c c2) \to (let TMP_21 \def (S n) in (getl TMP_21 c2 c3))))))) in 
+(let TMP_26 \def (\lambda (n0: nat).(\lambda (c3: C).(\lambda (H0: (getl (S 
+n) (CSort n0) c3)).(\lambda (c2: C).(\lambda (_: (clear (CSort n0) c2)).(let 
+TMP_23 \def (S n) in (let TMP_24 \def (S n) in (let TMP_25 \def (getl TMP_24 
+c2 c3) in (getl_gen_sort n0 TMP_23 c3 H0 TMP_25))))))))) in (let TMP_43 \def 
+(\lambda (c: C).(\lambda (H0: ((\forall (c3: C).((getl (S n) c c3) \to 
+(\forall (c2: C).((clear c c2) \to (getl (S n) c2 c3))))))).(\lambda (k: 
+K).(\lambda (t: T).(\lambda (c3: C).(\lambda (H1: (getl (S n) (CHead c k t) 
+c3)).(\lambda (c2: C).(\lambda (H2: (clear (CHead c k t) c2)).(let TMP_28 
+\def (\lambda (k0: K).((getl (S n) (CHead c k0 t) c3) \to ((clear (CHead c k0 
+t) c2) \to (let TMP_27 \def (S n) in (getl TMP_27 c2 c3))))) in (let TMP_38 
+\def (\lambda (b: B).(\lambda (H3: (getl (S n) (CHead c (Bind b) t) 
+c3)).(\lambda (H4: (clear (CHead c (Bind b) t) c2)).(let TMP_29 \def (Bind b) 
+in (let TMP_30 \def (CHead c TMP_29 t) in (let TMP_32 \def (\lambda (c0: 
+C).(let TMP_31 \def (S n) in (getl TMP_31 c0 c3))) in (let TMP_33 \def (Bind 
+b) in (let TMP_34 \def (Bind b) in (let TMP_35 \def (getl_gen_S TMP_34 c c3 t 
+n H3) in (let TMP_36 \def (getl_head TMP_33 n c c3 TMP_35 t) in (let TMP_37 
+\def (clear_gen_bind b c c2 t H4) in (eq_ind_r C TMP_30 TMP_32 TMP_36 c2 
+TMP_37)))))))))))) in (let TMP_42 \def (\lambda (f: F).(\lambda (H3: (getl (S 
+n) (CHead c (Flat f) t) c3)).(\lambda (H4: (clear (CHead c (Flat f) t) 
+c2)).(let TMP_39 \def (Flat f) in (let TMP_40 \def (getl_gen_S TMP_39 c c3 t 
+n H3) in (let TMP_41 \def (clear_gen_flat f c c2 t H4) in (H0 c3 TMP_40 c2 
+TMP_41))))))) in (K_ind TMP_28 TMP_38 TMP_42 k H1 H2)))))))))))) in (C_ind 
+TMP_22 TMP_26 TMP_43 c1))))))) in (nat_ind TMP_1 TMP_20 TMP_44 i)))).
 
index 278362590dbfe6b03f419a27d9231bf4d8521200..f29dc20a5d94e34721799fe079d1132abba8c8d5 100644 (file)
 
 (* This file was automatically generated: do not edit *********************)
 
-include "Basic-1/getl/props.ma".
+include "basic_1/getl/props.ma".
 
 theorem getl_dec:
  \forall (c: C).(\forall (i: nat).(or (ex_3 C B T (\lambda (e: C).(\lambda 
 (b: B).(\lambda (v: T).(getl i c (CHead e (Bind b) v)))))) (\forall (d: 
 C).((getl i c d) \to (\forall (P: Prop).P)))))
 \def
- \lambda (c: C).(C_ind (\lambda (c0: C).(\forall (i: nat).(or (ex_3 C B T 
-(\lambda (e: C).(\lambda (b: B).(\lambda (v: T).(getl i c0 (CHead e (Bind b) 
-v)))))) (\forall (d: C).((getl i c0 d) \to (\forall (P: Prop).P)))))) 
-(\lambda (n: nat).(\lambda (i: nat).(or_intror (ex_3 C B T (\lambda (e: 
-C).(\lambda (b: B).(\lambda (v: T).(getl i (CSort n) (CHead e (Bind b) 
-v)))))) (\forall (d: C).((getl i (CSort n) d) \to (\forall (P: Prop).P))) 
-(\lambda (d: C).(\lambda (H: (getl i (CSort n) d)).(\lambda (P: 
-Prop).(getl_gen_sort n i d H P))))))) (\lambda (c0: C).(\lambda (H: ((\forall 
-(i: nat).(or (ex_3 C B T (\lambda (e: C).(\lambda (b: B).(\lambda (v: 
-T).(getl i c0 (CHead e (Bind b) v)))))) (\forall (d: C).((getl i c0 d) \to 
-(\forall (P: Prop).P))))))).(\lambda (k: K).(\lambda (t: T).(\lambda (i: 
-nat).(nat_ind (\lambda (n: nat).(or (ex_3 C B T (\lambda (e: C).(\lambda (b: 
-B).(\lambda (v: T).(getl n (CHead c0 k t) (CHead e (Bind b) v)))))) (\forall 
-(d: C).((getl n (CHead c0 k t) d) \to (\forall (P: Prop).P))))) (K_ind 
-(\lambda (k0: K).(or (ex_3 C B T (\lambda (e: C).(\lambda (b: B).(\lambda (v: 
-T).(getl O (CHead c0 k0 t) (CHead e (Bind b) v)))))) (\forall (d: C).((getl O 
-(CHead c0 k0 t) d) \to (\forall (P: Prop).P))))) (\lambda (b: B).(or_introl 
-(ex_3 C B T (\lambda (e: C).(\lambda (b0: B).(\lambda (v: T).(getl O (CHead 
-c0 (Bind b) t) (CHead e (Bind b0) v)))))) (\forall (d: C).((getl O (CHead c0 
-(Bind b) t) d) \to (\forall (P: Prop).P))) (ex_3_intro C B T (\lambda (e: 
-C).(\lambda (b0: B).(\lambda (v: T).(getl O (CHead c0 (Bind b) t) (CHead e 
-(Bind b0) v))))) c0 b t (getl_refl b c0 t)))) (\lambda (f: F).(let H_x \def 
-(H O) in (let H0 \def H_x in (or_ind (ex_3 C B T (\lambda (e: C).(\lambda (b: 
-B).(\lambda (v: T).(getl O c0 (CHead e (Bind b) v)))))) (\forall (d: 
-C).((getl O c0 d) \to (\forall (P: Prop).P))) (or (ex_3 C B T (\lambda (e: 
-C).(\lambda (b: B).(\lambda (v: T).(getl O (CHead c0 (Flat f) t) (CHead e 
-(Bind b) v)))))) (\forall (d: C).((getl O (CHead c0 (Flat f) t) d) \to 
-(\forall (P: Prop).P)))) (\lambda (H1: (ex_3 C B T (\lambda (e: C).(\lambda 
-(b: B).(\lambda (v: T).(getl O c0 (CHead e (Bind b) v))))))).(ex_3_ind C B T 
-(\lambda (e: C).(\lambda (b: B).(\lambda (v: T).(getl O c0 (CHead e (Bind b) 
-v))))) (or (ex_3 C B T (\lambda (e: C).(\lambda (b: B).(\lambda (v: T).(getl 
-O (CHead c0 (Flat f) t) (CHead e (Bind b) v)))))) (\forall (d: C).((getl O 
-(CHead c0 (Flat f) t) d) \to (\forall (P: Prop).P)))) (\lambda (x0: 
-C).(\lambda (x1: B).(\lambda (x2: T).(\lambda (H2: (getl O c0 (CHead x0 (Bind 
-x1) x2))).(or_introl (ex_3 C B T (\lambda (e: C).(\lambda (b: B).(\lambda (v: 
-T).(getl O (CHead c0 (Flat f) t) (CHead e (Bind b) v)))))) (\forall (d: 
-C).((getl O (CHead c0 (Flat f) t) d) \to (\forall (P: Prop).P))) (ex_3_intro 
-C B T (\lambda (e: C).(\lambda (b: B).(\lambda (v: T).(getl O (CHead c0 (Flat 
-f) t) (CHead e (Bind b) v))))) x0 x1 x2 (getl_flat c0 (CHead x0 (Bind x1) x2) 
-O H2 f t))))))) H1)) (\lambda (H1: ((\forall (d: C).((getl O c0 d) \to 
-(\forall (P: Prop).P))))).(or_intror (ex_3 C B T (\lambda (e: C).(\lambda (b: 
-B).(\lambda (v: T).(getl O (CHead c0 (Flat f) t) (CHead e (Bind b) v)))))) 
+ \lambda (c: C).(let TMP_6 \def (\lambda (c0: C).(\forall (i: nat).(let TMP_3 
+\def (\lambda (e: C).(\lambda (b: B).(\lambda (v: T).(let TMP_1 \def (Bind b) 
+in (let TMP_2 \def (CHead e TMP_1 v) in (getl i c0 TMP_2)))))) in (let TMP_4 
+\def (ex_3 C B T TMP_3) in (let TMP_5 \def (\forall (d: C).((getl i c0 d) \to 
+(\forall (P: Prop).P))) in (or TMP_4 TMP_5)))))) in (let TMP_14 \def (\lambda 
+(n: nat).(\lambda (i: nat).(let TMP_10 \def (\lambda (e: C).(\lambda (b: 
+B).(\lambda (v: T).(let TMP_7 \def (CSort n) in (let TMP_8 \def (Bind b) in 
+(let TMP_9 \def (CHead e TMP_8 v) in (getl i TMP_7 TMP_9))))))) in (let 
+TMP_11 \def (ex_3 C B T TMP_10) in (let TMP_12 \def (\forall (d: C).((getl i 
+(CSort n) d) \to (\forall (P: Prop).P))) in (let TMP_13 \def (\lambda (d: 
+C).(\lambda (H: (getl i (CSort n) d)).(\lambda (P: Prop).(getl_gen_sort n i d 
+H P)))) in (or_intror TMP_11 TMP_12 TMP_13))))))) in (let TMP_159 \def 
+(\lambda (c0: C).(\lambda (H: ((\forall (i: nat).(or (ex_3 C B T (\lambda (e: 
+C).(\lambda (b: B).(\lambda (v: T).(getl i c0 (CHead e (Bind b) v)))))) 
+(\forall (d: C).((getl i c0 d) \to (\forall (P: Prop).P))))))).(\lambda (k: 
+K).(\lambda (t: T).(\lambda (i: nat).(let TMP_21 \def (\lambda (n: nat).(let 
+TMP_18 \def (\lambda (e: C).(\lambda (b: B).(\lambda (v: T).(let TMP_15 \def 
+(CHead c0 k t) in (let TMP_16 \def (Bind b) in (let TMP_17 \def (CHead e 
+TMP_16 v) in (getl n TMP_15 TMP_17))))))) in (let TMP_19 \def (ex_3 C B T 
+TMP_18) in (let TMP_20 \def (\forall (d: C).((getl n (CHead c0 k t) d) \to 
+(\forall (P: Prop).P))) in (or TMP_19 TMP_20))))) in (let TMP_28 \def 
+(\lambda (k0: K).(let TMP_25 \def (\lambda (e: C).(\lambda (b: B).(\lambda 
+(v: T).(let TMP_22 \def (CHead c0 k0 t) in (let TMP_23 \def (Bind b) in (let 
+TMP_24 \def (CHead e TMP_23 v) in (getl O TMP_22 TMP_24))))))) in (let TMP_26 
+\def (ex_3 C B T TMP_25) in (let TMP_27 \def (\forall (d: C).((getl O (CHead 
+c0 k0 t) d) \to (\forall (P: Prop).P))) in (or TMP_26 TMP_27))))) in (let 
+TMP_43 \def (\lambda (b: B).(let TMP_33 \def (\lambda (e: C).(\lambda (b0: 
+B).(\lambda (v: T).(let TMP_29 \def (Bind b) in (let TMP_30 \def (CHead c0 
+TMP_29 t) in (let TMP_31 \def (Bind b0) in (let TMP_32 \def (CHead e TMP_31 
+v) in (getl O TMP_30 TMP_32)))))))) in (let TMP_34 \def (ex_3 C B T TMP_33) 
+in (let TMP_35 \def (\forall (d: C).((getl O (CHead c0 (Bind b) t) d) \to 
+(\forall (P: Prop).P))) in (let TMP_40 \def (\lambda (e: C).(\lambda (b0: 
+B).(\lambda (v: T).(let TMP_36 \def (Bind b) in (let TMP_37 \def (CHead c0 
+TMP_36 t) in (let TMP_38 \def (Bind b0) in (let TMP_39 \def (CHead e TMP_38 
+v) in (getl O TMP_37 TMP_39)))))))) in (let TMP_41 \def (getl_refl b c0 t) in 
+(let TMP_42 \def (ex_3_intro C B T TMP_40 c0 b t TMP_41) in (or_introl TMP_34 
+TMP_35 TMP_42)))))))) in (let TMP_101 \def (\lambda (f: F).(let H_x \def (H 
+O) in (let H0 \def H_x in (let TMP_46 \def (\lambda (e: C).(\lambda (b: 
+B).(\lambda (v: T).(let TMP_44 \def (Bind b) in (let TMP_45 \def (CHead e 
+TMP_44 v) in (getl O c0 TMP_45)))))) in (let TMP_47 \def (ex_3 C B T TMP_46) 
+in (let TMP_48 \def (\forall (d: C).((getl O c0 d) \to (\forall (P: 
+Prop).P))) in (let TMP_53 \def (\lambda (e: C).(\lambda (b: B).(\lambda (v: 
+T).(let TMP_49 \def (Flat f) in (let TMP_50 \def (CHead c0 TMP_49 t) in (let 
+TMP_51 \def (Bind b) in (let TMP_52 \def (CHead e TMP_51 v) in (getl O TMP_50 
+TMP_52)))))))) in (let TMP_54 \def (ex_3 C B T TMP_53) in (let TMP_55 \def 
 (\forall (d: C).((getl O (CHead c0 (Flat f) t) d) \to (\forall (P: Prop).P))) 
-(\lambda (d: C).(\lambda (H2: (getl O (CHead c0 (Flat f) t) d)).(\lambda (P: 
-Prop).(H1 d (getl_intro O c0 d c0 (drop_refl c0) (clear_gen_flat f c0 d t 
-(getl_gen_O (CHead c0 (Flat f) t) d H2))) P)))))) H0)))) k) (\lambda (n: 
-nat).(\lambda (_: (or (ex_3 C B T (\lambda (e: C).(\lambda (b: B).(\lambda 
-(v: T).(getl n (CHead c0 k t) (CHead e (Bind b) v)))))) (\forall (d: 
-C).((getl n (CHead c0 k t) d) \to (\forall (P: Prop).P))))).(let H_x \def (H 
-(r k n)) in (let H1 \def H_x in (or_ind (ex_3 C B T (\lambda (e: C).(\lambda 
-(b: B).(\lambda (v: T).(getl (r k n) c0 (CHead e (Bind b) v)))))) (\forall 
-(d: C).((getl (r k n) c0 d) \to (\forall (P: Prop).P))) (or (ex_3 C B T 
-(\lambda (e: C).(\lambda (b: B).(\lambda (v: T).(getl (S n) (CHead c0 k t) 
-(CHead e (Bind b) v)))))) (\forall (d: C).((getl (S n) (CHead c0 k t) d) \to 
-(\forall (P: Prop).P)))) (\lambda (H2: (ex_3 C B T (\lambda (e: C).(\lambda 
-(b: B).(\lambda (v: T).(getl (r k n) c0 (CHead e (Bind b) v))))))).(ex_3_ind 
-C B T (\lambda (e: C).(\lambda (b: B).(\lambda (v: T).(getl (r k n) c0 (CHead 
-e (Bind b) v))))) (or (ex_3 C B T (\lambda (e: C).(\lambda (b: B).(\lambda 
-(v: T).(getl (S n) (CHead c0 k t) (CHead e (Bind b) v)))))) (\forall (d: 
-C).((getl (S n) (CHead c0 k t) d) \to (\forall (P: Prop).P)))) (\lambda (x0: 
-C).(\lambda (x1: B).(\lambda (x2: T).(\lambda (H3: (getl (r k n) c0 (CHead x0 
-(Bind x1) x2))).(or_introl (ex_3 C B T (\lambda (e: C).(\lambda (b: 
-B).(\lambda (v: T).(getl (S n) (CHead c0 k t) (CHead e (Bind b) v)))))) 
-(\forall (d: C).((getl (S n) (CHead c0 k t) d) \to (\forall (P: Prop).P))) 
-(ex_3_intro C B T (\lambda (e: C).(\lambda (b: B).(\lambda (v: T).(getl (S n) 
-(CHead c0 k t) (CHead e (Bind b) v))))) x0 x1 x2 (getl_head k n c0 (CHead x0 
-(Bind x1) x2) H3 t))))))) H2)) (\lambda (H2: ((\forall (d: C).((getl (r k n) 
-c0 d) \to (\forall (P: Prop).P))))).(or_intror (ex_3 C B T (\lambda (e: 
-C).(\lambda (b: B).(\lambda (v: T).(getl (S n) (CHead c0 k t) (CHead e (Bind 
-b) v)))))) (\forall (d: C).((getl (S n) (CHead c0 k t) d) \to (\forall (P: 
-Prop).P))) (\lambda (d: C).(\lambda (H3: (getl (S n) (CHead c0 k t) 
-d)).(\lambda (P: Prop).(H2 d (getl_gen_S k c0 d t n H3) P)))))) H1))))) 
-i)))))) c).
-(* COMMENTS
-Initial nodes: 1563
-END *)
+in (let TMP_56 \def (or TMP_54 TMP_55) in (let TMP_85 \def (\lambda (H1: 
+(ex_3 C B T (\lambda (e: C).(\lambda (b: B).(\lambda (v: T).(getl O c0 (CHead 
+e (Bind b) v))))))).(let TMP_59 \def (\lambda (e: C).(\lambda (b: B).(\lambda 
+(v: T).(let TMP_57 \def (Bind b) in (let TMP_58 \def (CHead e TMP_57 v) in 
+(getl O c0 TMP_58)))))) in (let TMP_64 \def (\lambda (e: C).(\lambda (b: 
+B).(\lambda (v: T).(let TMP_60 \def (Flat f) in (let TMP_61 \def (CHead c0 
+TMP_60 t) in (let TMP_62 \def (Bind b) in (let TMP_63 \def (CHead e TMP_62 v) 
+in (getl O TMP_61 TMP_63)))))))) in (let TMP_65 \def (ex_3 C B T TMP_64) in 
+(let TMP_66 \def (\forall (d: C).((getl O (CHead c0 (Flat f) t) d) \to 
+(\forall (P: Prop).P))) in (let TMP_67 \def (or TMP_65 TMP_66) in (let TMP_84 
+\def (\lambda (x0: C).(\lambda (x1: B).(\lambda (x2: T).(\lambda (H2: (getl O 
+c0 (CHead x0 (Bind x1) x2))).(let TMP_72 \def (\lambda (e: C).(\lambda (b: 
+B).(\lambda (v: T).(let TMP_68 \def (Flat f) in (let TMP_69 \def (CHead c0 
+TMP_68 t) in (let TMP_70 \def (Bind b) in (let TMP_71 \def (CHead e TMP_70 v) 
+in (getl O TMP_69 TMP_71)))))))) in (let TMP_73 \def (ex_3 C B T TMP_72) in 
+(let TMP_74 \def (\forall (d: C).((getl O (CHead c0 (Flat f) t) d) \to 
+(\forall (P: Prop).P))) in (let TMP_79 \def (\lambda (e: C).(\lambda (b: 
+B).(\lambda (v: T).(let TMP_75 \def (Flat f) in (let TMP_76 \def (CHead c0 
+TMP_75 t) in (let TMP_77 \def (Bind b) in (let TMP_78 \def (CHead e TMP_77 v) 
+in (getl O TMP_76 TMP_78)))))))) in (let TMP_80 \def (Bind x1) in (let TMP_81 
+\def (CHead x0 TMP_80 x2) in (let TMP_82 \def (getl_flat c0 TMP_81 O H2 f t) 
+in (let TMP_83 \def (ex_3_intro C B T TMP_79 x0 x1 x2 TMP_82) in (or_introl 
+TMP_73 TMP_74 TMP_83))))))))))))) in (ex_3_ind C B T TMP_59 TMP_67 TMP_84 
+H1)))))))) in (let TMP_100 \def (\lambda (H1: ((\forall (d: C).((getl O c0 d) 
+\to (\forall (P: Prop).P))))).(let TMP_90 \def (\lambda (e: C).(\lambda (b: 
+B).(\lambda (v: T).(let TMP_86 \def (Flat f) in (let TMP_87 \def (CHead c0 
+TMP_86 t) in (let TMP_88 \def (Bind b) in (let TMP_89 \def (CHead e TMP_88 v) 
+in (getl O TMP_87 TMP_89)))))))) in (let TMP_91 \def (ex_3 C B T TMP_90) in 
+(let TMP_92 \def (\forall (d: C).((getl O (CHead c0 (Flat f) t) d) \to 
+(\forall (P: Prop).P))) in (let TMP_99 \def (\lambda (d: C).(\lambda (H2: 
+(getl O (CHead c0 (Flat f) t) d)).(\lambda (P: Prop).(let TMP_93 \def 
+(drop_refl c0) in (let TMP_94 \def (Flat f) in (let TMP_95 \def (CHead c0 
+TMP_94 t) in (let TMP_96 \def (getl_gen_O TMP_95 d H2) in (let TMP_97 \def 
+(clear_gen_flat f c0 d t TMP_96) in (let TMP_98 \def (getl_intro O c0 d c0 
+TMP_93 TMP_97) in (H1 d TMP_98 P)))))))))) in (or_intror TMP_91 TMP_92 
+TMP_99)))))) in (or_ind TMP_47 TMP_48 TMP_56 TMP_85 TMP_100 H0))))))))))))) 
+in (let TMP_102 \def (K_ind TMP_28 TMP_43 TMP_101 k) in (let TMP_158 \def 
+(\lambda (n: nat).(\lambda (_: (or (ex_3 C B T (\lambda (e: C).(\lambda (b: 
+B).(\lambda (v: T).(getl n (CHead c0 k t) (CHead e (Bind b) v)))))) (\forall 
+(d: C).((getl n (CHead c0 k t) d) \to (\forall (P: Prop).P))))).(let TMP_103 
+\def (r k n) in (let H_x \def (H TMP_103) in (let H1 \def H_x in (let TMP_107 
+\def (\lambda (e: C).(\lambda (b: B).(\lambda (v: T).(let TMP_104 \def (r k 
+n) in (let TMP_105 \def (Bind b) in (let TMP_106 \def (CHead e TMP_105 v) in 
+(getl TMP_104 c0 TMP_106))))))) in (let TMP_108 \def (ex_3 C B T TMP_107) in 
+(let TMP_109 \def (\forall (d: C).((getl (r k n) c0 d) \to (\forall (P: 
+Prop).P))) in (let TMP_114 \def (\lambda (e: C).(\lambda (b: B).(\lambda (v: 
+T).(let TMP_110 \def (S n) in (let TMP_111 \def (CHead c0 k t) in (let 
+TMP_112 \def (Bind b) in (let TMP_113 \def (CHead e TMP_112 v) in (getl 
+TMP_110 TMP_111 TMP_113)))))))) in (let TMP_115 \def (ex_3 C B T TMP_114) in 
+(let TMP_116 \def (\forall (d: C).((getl (S n) (CHead c0 k t) d) \to (\forall 
+(P: Prop).P))) in (let TMP_117 \def (or TMP_115 TMP_116) in (let TMP_147 \def 
+(\lambda (H2: (ex_3 C B T (\lambda (e: C).(\lambda (b: B).(\lambda (v: 
+T).(getl (r k n) c0 (CHead e (Bind b) v))))))).(let TMP_121 \def (\lambda (e: 
+C).(\lambda (b: B).(\lambda (v: T).(let TMP_118 \def (r k n) in (let TMP_119 
+\def (Bind b) in (let TMP_120 \def (CHead e TMP_119 v) in (getl TMP_118 c0 
+TMP_120))))))) in (let TMP_126 \def (\lambda (e: C).(\lambda (b: B).(\lambda 
+(v: T).(let TMP_122 \def (S n) in (let TMP_123 \def (CHead c0 k t) in (let 
+TMP_124 \def (Bind b) in (let TMP_125 \def (CHead e TMP_124 v) in (getl 
+TMP_122 TMP_123 TMP_125)))))))) in (let TMP_127 \def (ex_3 C B T TMP_126) in 
+(let TMP_128 \def (\forall (d: C).((getl (S n) (CHead c0 k t) d) \to (\forall 
+(P: Prop).P))) in (let TMP_129 \def (or TMP_127 TMP_128) in (let TMP_146 \def 
+(\lambda (x0: C).(\lambda (x1: B).(\lambda (x2: T).(\lambda (H3: (getl (r k 
+n) c0 (CHead x0 (Bind x1) x2))).(let TMP_134 \def (\lambda (e: C).(\lambda 
+(b: B).(\lambda (v: T).(let TMP_130 \def (S n) in (let TMP_131 \def (CHead c0 
+k t) in (let TMP_132 \def (Bind b) in (let TMP_133 \def (CHead e TMP_132 v) 
+in (getl TMP_130 TMP_131 TMP_133)))))))) in (let TMP_135 \def (ex_3 C B T 
+TMP_134) in (let TMP_136 \def (\forall (d: C).((getl (S n) (CHead c0 k t) d) 
+\to (\forall (P: Prop).P))) in (let TMP_141 \def (\lambda (e: C).(\lambda (b: 
+B).(\lambda (v: T).(let TMP_137 \def (S n) in (let TMP_138 \def (CHead c0 k 
+t) in (let TMP_139 \def (Bind b) in (let TMP_140 \def (CHead e TMP_139 v) in 
+(getl TMP_137 TMP_138 TMP_140)))))))) in (let TMP_142 \def (Bind x1) in (let 
+TMP_143 \def (CHead x0 TMP_142 x2) in (let TMP_144 \def (getl_head k n c0 
+TMP_143 H3 t) in (let TMP_145 \def (ex_3_intro C B T TMP_141 x0 x1 x2 
+TMP_144) in (or_introl TMP_135 TMP_136 TMP_145))))))))))))) in (ex_3_ind C B 
+T TMP_121 TMP_129 TMP_146 H2)))))))) in (let TMP_157 \def (\lambda (H2: 
+((\forall (d: C).((getl (r k n) c0 d) \to (\forall (P: Prop).P))))).(let 
+TMP_152 \def (\lambda (e: C).(\lambda (b: B).(\lambda (v: T).(let TMP_148 
+\def (S n) in (let TMP_149 \def (CHead c0 k t) in (let TMP_150 \def (Bind b) 
+in (let TMP_151 \def (CHead e TMP_150 v) in (getl TMP_148 TMP_149 
+TMP_151)))))))) in (let TMP_153 \def (ex_3 C B T TMP_152) in (let TMP_154 
+\def (\forall (d: C).((getl (S n) (CHead c0 k t) d) \to (\forall (P: 
+Prop).P))) in (let TMP_156 \def (\lambda (d: C).(\lambda (H3: (getl (S n) 
+(CHead c0 k t) d)).(\lambda (P: Prop).(let TMP_155 \def (getl_gen_S k c0 d t 
+n H3) in (H2 d TMP_155 P))))) in (or_intror TMP_153 TMP_154 TMP_156)))))) in 
+(or_ind TMP_108 TMP_109 TMP_117 TMP_147 TMP_157 H1))))))))))))))) in (nat_ind 
+TMP_21 TMP_102 TMP_158 i)))))))))))) in (C_ind TMP_6 TMP_14 TMP_159 c)))).
 
index a6efd2eee22327f19457c2c6198f671cb6a20e82..9a21c5eceedc8fc05289334eaa0f39e503d520d6 100644 (file)
@@ -14,9 +14,9 @@
 
 (* This file was automatically generated: do not edit *********************)
 
-include "Basic-1/drop/defs.ma".
+include "basic_1/drop/defs.ma".
 
-include "Basic-1/clear/defs.ma".
+include "basic_1/clear/defs.ma".
 
 inductive getl (h: nat) (c1: C) (c2: C): Prop \def
 | getl_intro: \forall (e: C).((drop h O c1 e) \to ((clear e c2) \to (getl h 
index e4404e13787d9f71b779a9f286903dd3ac8a596a..9fba2b7b1b852c309d33ed7a197e175297334c16 100644 (file)
@@ -14,9 +14,9 @@
 
 (* This file was automatically generated: do not edit *********************)
 
-include "Basic-1/getl/props.ma".
+include "basic_1/getl/props.ma".
 
-include "Basic-1/clear/drop.ma".
+include "basic_1/clear/drop.ma".
 
 theorem getl_drop:
  \forall (b: B).(\forall (c: C).(\forall (e: C).(\forall (u: T).(\forall (h: 
@@ -35,33 +35,28 @@ T).(\lambda (h: nat).(nat_ind (\lambda (n: nat).((getl n (CHead c0 k t)
 (getl O (CHead c0 k t) (CHead e (Bind b) u))).(K_ind (\lambda (k0: K).((clear 
 (CHead c0 k0 t) (CHead e (Bind b) u)) \to (drop (S O) O (CHead c0 k0 t) e))) 
 (\lambda (b0: B).(\lambda (H1: (clear (CHead c0 (Bind b0) t) (CHead e (Bind 
-b) u))).(let H2 \def (f_equal C C (\lambda (e0: C).(match e0 in C return 
-(\lambda (_: C).C) with [(CSort _) \Rightarrow e | (CHead c1 _ _) \Rightarrow 
-c1])) (CHead e (Bind b) u) (CHead c0 (Bind b0) t) (clear_gen_bind b0 c0 
-(CHead e (Bind b) u) t H1)) in ((let H3 \def (f_equal C B (\lambda (e0: 
-C).(match e0 in C return (\lambda (_: C).B) with [(CSort _) \Rightarrow b | 
-(CHead _ k0 _) \Rightarrow (match k0 in K return (\lambda (_: K).B) with 
-[(Bind b1) \Rightarrow b1 | (Flat _) \Rightarrow b])])) (CHead e (Bind b) u) 
-(CHead c0 (Bind b0) t) (clear_gen_bind b0 c0 (CHead e (Bind b) u) t H1)) in 
-((let H4 \def (f_equal C T (\lambda (e0: C).(match e0 in C return (\lambda 
-(_: C).T) with [(CSort _) \Rightarrow u | (CHead _ _ t0) \Rightarrow t0])) 
-(CHead e (Bind b) u) (CHead c0 (Bind b0) t) (clear_gen_bind b0 c0 (CHead e 
-(Bind b) u) t H1)) in (\lambda (H5: (eq B b b0)).(\lambda (H6: (eq C e 
-c0)).(eq_ind_r C c0 (\lambda (c1: C).(drop (S O) O (CHead c0 (Bind b0) t) 
-c1)) (eq_ind B b (\lambda (b1: B).(drop (S O) O (CHead c0 (Bind b1) t) c0)) 
-(drop_drop (Bind b) O c0 c0 (drop_refl c0) t) b0 H5) e H6)))) H3)) H2)))) 
-(\lambda (f: F).(\lambda (H1: (clear (CHead c0 (Flat f) t) (CHead e (Bind b) 
-u))).(drop_clear_O b (CHead c0 (Flat f) t) e u (clear_flat c0 (CHead e (Bind 
-b) u) (clear_gen_flat f c0 (CHead e (Bind b) u) t H1) f t) e O (drop_refl 
-e)))) k (getl_gen_O (CHead c0 k t) (CHead e (Bind b) u) H0))) (\lambda (n: 
-nat).(\lambda (_: (((getl n (CHead c0 k t) (CHead e (Bind b) u)) \to (drop (S 
-n) O (CHead c0 k t) e)))).(\lambda (H1: (getl (S n) (CHead c0 k t) (CHead e 
-(Bind b) u))).(drop_drop k (S n) c0 e (eq_ind_r nat (S (r k n)) (\lambda (n0: 
-nat).(drop n0 O c0 e)) (H e u (r k n) (getl_gen_S k c0 (CHead e (Bind b) u) t 
-n H1)) (r k (S n)) (r_S k n)) t)))) h)))))))) c)).
-(* COMMENTS
-Initial nodes: 827
-END *)
+b) u))).(let H2 \def (f_equal C C (\lambda (e0: C).(match e0 with [(CSort _) 
+\Rightarrow e | (CHead c1 _ _) \Rightarrow c1])) (CHead e (Bind b) u) (CHead 
+c0 (Bind b0) t) (clear_gen_bind b0 c0 (CHead e (Bind b) u) t H1)) in ((let H3 
+\def (f_equal C B (\lambda (e0: C).(match e0 with [(CSort _) \Rightarrow b | 
+(CHead _ k0 _) \Rightarrow (match k0 with [(Bind b1) \Rightarrow b1 | (Flat 
+_) \Rightarrow b])])) (CHead e (Bind b) u) (CHead c0 (Bind b0) t) 
+(clear_gen_bind b0 c0 (CHead e (Bind b) u) t H1)) in ((let H4 \def (f_equal C 
+T (\lambda (e0: C).(match e0 with [(CSort _) \Rightarrow u | (CHead _ _ t0) 
+\Rightarrow t0])) (CHead e (Bind b) u) (CHead c0 (Bind b0) t) (clear_gen_bind 
+b0 c0 (CHead e (Bind b) u) t H1)) in (\lambda (H5: (eq B b b0)).(\lambda (H6: 
+(eq C e c0)).(eq_ind_r C c0 (\lambda (c1: C).(drop (S O) O (CHead c0 (Bind 
+b0) t) c1)) (eq_ind B b (\lambda (b1: B).(drop (S O) O (CHead c0 (Bind b1) t) 
+c0)) (drop_drop (Bind b) O c0 c0 (drop_refl c0) t) b0 H5) e H6)))) H3)) 
+H2)))) (\lambda (f: F).(\lambda (H1: (clear (CHead c0 (Flat f) t) (CHead e 
+(Bind b) u))).(drop_clear_O b (CHead c0 (Flat f) t) e u (clear_flat c0 (CHead 
+e (Bind b) u) (clear_gen_flat f c0 (CHead e (Bind b) u) t H1) f t) e O 
+(drop_refl e)))) k (getl_gen_O (CHead c0 k t) (CHead e (Bind b) u) H0))) 
+(\lambda (n: nat).(\lambda (_: (((getl n (CHead c0 k t) (CHead e (Bind b) u)) 
+\to (drop (S n) O (CHead c0 k t) e)))).(\lambda (H1: (getl (S n) (CHead c0 k 
+t) (CHead e (Bind b) u))).(drop_drop k (S n) c0 e (eq_ind_r nat (S (r k n)) 
+(\lambda (n0: nat).(drop n0 O c0 e)) (H e u (r k n) (getl_gen_S k c0 (CHead e 
+(Bind b) u) t n H1)) (r k (S n)) (r_S k n)) t)))) h)))))))) c)).
 
 theorem getl_drop_conf_lt:
  \forall (b: B).(\forall (c: C).(\forall (c0: C).(\forall (u: T).(\forall (i: 
@@ -119,34 +114,33 @@ K).((drop i O (CHead c0 k t) (CHead x0 k1 t0)) \to ((clear (CHead x0 k1 t0)
 v)))) (\lambda (_: T).(\lambda (e0: C).(drop h d c1 e0))))))) (\lambda (b0: 
 B).(\lambda (H7: (drop i O (CHead c0 k t) (CHead x0 (Bind b0) t0))).(\lambda 
 (H8: (clear (CHead x0 (Bind b0) t0) (CHead c1 (Bind b) u))).(let H9 \def 
-(f_equal C C (\lambda (e0: C).(match e0 in C return (\lambda (_: C).C) with 
-[(CSort _) \Rightarrow c1 | (CHead c2 _ _) \Rightarrow c2])) (CHead c1 (Bind 
-b) u) (CHead x0 (Bind b0) t0) (clear_gen_bind b0 x0 (CHead c1 (Bind b) u) t0 
-H8)) in ((let H10 \def (f_equal C B (\lambda (e0: C).(match e0 in C return 
-(\lambda (_: C).B) with [(CSort _) \Rightarrow b | (CHead _ k1 _) \Rightarrow 
-(match k1 in K return (\lambda (_: K).B) with [(Bind b1) \Rightarrow b1 | 
-(Flat _) \Rightarrow b])])) (CHead c1 (Bind b) u) (CHead x0 (Bind b0) t0) 
+(f_equal C C (\lambda (e0: C).(match e0 with [(CSort _) \Rightarrow c1 | 
+(CHead c2 _ _) \Rightarrow c2])) (CHead c1 (Bind b) u) (CHead x0 (Bind b0) 
+t0) (clear_gen_bind b0 x0 (CHead c1 (Bind b) u) t0 H8)) in ((let H10 \def 
+(f_equal C B (\lambda (e0: C).(match e0 with [(CSort _) \Rightarrow b | 
+(CHead _ k1 _) \Rightarrow (match k1 with [(Bind b1) \Rightarrow b1 | (Flat 
+_) \Rightarrow b])])) (CHead c1 (Bind b) u) (CHead x0 (Bind b0) t0) 
 (clear_gen_bind b0 x0 (CHead c1 (Bind b) u) t0 H8)) in ((let H11 \def 
-(f_equal C T (\lambda (e0: C).(match e0 in C return (\lambda (_: C).T) with 
-[(CSort _) \Rightarrow u | (CHead _ _ t1) \Rightarrow t1])) (CHead c1 (Bind 
-b) u) (CHead x0 (Bind b0) t0) (clear_gen_bind b0 x0 (CHead c1 (Bind b) u) t0 
-H8)) in (\lambda (H12: (eq B b b0)).(\lambda (H13: (eq C c1 x0)).(let H14 
-\def (eq_ind_r T t0 (\lambda (t1: T).(drop i O (CHead c0 k t) (CHead x0 (Bind 
-b0) t1))) H7 u H11) in (let H15 \def (eq_ind_r B b0 (\lambda (b1: B).(drop i 
-O (CHead c0 k t) (CHead x0 (Bind b1) u))) H14 b H12) in (let H16 \def 
-(eq_ind_r C x0 (\lambda (c2: C).((drop i O (CHead c0 k t) c2) \to ((clear c2 
-(CHead c1 (Bind b) u)) \to (ex3_2 T C (\lambda (v: T).(\lambda (_: C).(eq T u 
-(lift h d v)))) (\lambda (v: T).(\lambda (e0: C).(getl i e (CHead e0 (Bind b) 
-v)))) (\lambda (_: T).(\lambda (e0: C).(drop h d c1 e0))))))) IHx c1 H13) in 
-(let H17 \def (eq_ind_r C x0 (\lambda (c2: C).(drop i O (CHead c0 k t) (CHead 
-c2 (Bind b) u))) H15 c1 H13) in (ex3_2_ind T C (\lambda (v: T).(\lambda (_: 
-C).(eq T u (lift h (r (Bind b) d) v)))) (\lambda (v: T).(\lambda (e0: 
-C).(drop i O e (CHead e0 (Bind b) v)))) (\lambda (_: T).(\lambda (e0: 
-C).(drop h (r (Bind b) d) c1 e0))) (ex3_2 T C (\lambda (v: T).(\lambda (_: 
-C).(eq T u (lift h d v)))) (\lambda (v: T).(\lambda (e0: C).(getl i e (CHead 
-e0 (Bind b) v)))) (\lambda (_: T).(\lambda (e0: C).(drop h d c1 e0)))) 
-(\lambda (x1: T).(\lambda (x2: C).(\lambda (H18: (eq T u (lift h (r (Bind b
-d) x1))).(\lambda (H19: (drop i O e (CHead x2 (Bind b) x1))).(\lambda (H20: 
+(f_equal C T (\lambda (e0: C).(match e0 with [(CSort _) \Rightarrow u | 
+(CHead _ _ t1) \Rightarrow t1])) (CHead c1 (Bind b) u) (CHead x0 (Bind b0) 
+t0) (clear_gen_bind b0 x0 (CHead c1 (Bind b) u) t0 H8)) in (\lambda (H12: (eq 
+B b b0)).(\lambda (H13: (eq C c1 x0)).(let H14 \def (eq_ind_r T t0 (\lambda 
+(t1: T).(drop i O (CHead c0 k t) (CHead x0 (Bind b0) t1))) H7 u H11) in (let 
+H15 \def (eq_ind_r B b0 (\lambda (b1: B).(drop i O (CHead c0 k t) (CHead x0 
+(Bind b1) u))) H14 b H12) in (let H16 \def (eq_ind_r C x0 (\lambda (c2: 
+C).((drop i O (CHead c0 k t) c2) \to ((clear c2 (CHead c1 (Bind b) u)) \to 
+(ex3_2 T C (\lambda (v: T).(\lambda (_: C).(eq T u (lift h d v)))) (\lambda 
+(v: T).(\lambda (e0: C).(getl i e (CHead e0 (Bind b) v)))) (\lambda (_: 
+T).(\lambda (e0: C).(drop h d c1 e0))))))) IHx c1 H13) in (let H17 \def 
+(eq_ind_r C x0 (\lambda (c2: C).(drop i O (CHead c0 k t) (CHead c2 (Bind b) 
+u))) H15 c1 H13) in (ex3_2_ind T C (\lambda (v: T).(\lambda (_: C).(eq T u 
+(lift h (r (Bind b) d) v)))) (\lambda (v: T).(\lambda (e0: C).(drop i O e 
+(CHead e0 (Bind b) v)))) (\lambda (_: T).(\lambda (e0: C).(drop h (r (Bind b) 
+d) c1 e0))) (ex3_2 T C (\lambda (v: T).(\lambda (_: C).(eq T u (lift h d 
+v)))) (\lambda (v: T).(\lambda (e0: C).(getl i e (CHead e0 (Bind b) v)))) 
+(\lambda (_: T).(\lambda (e0: C).(drop h d c1 e0)))) (\lambda (x1: 
+T).(\lambda (x2: C).(\lambda (H18: (eq T u (lift h (r (Bind b) d
+x1))).(\lambda (H19: (drop i O e (CHead x2 (Bind b) x1))).(\lambda (H20: 
 (drop h (r (Bind b) d) c1 x2)).(let H21 \def (eq_ind T u (\lambda (t1: 
 T).((drop i O (CHead c0 k t) c1) \to ((clear c1 (CHead c1 (Bind b) t1)) \to 
 (ex3_2 T C (\lambda (v: T).(\lambda (_: C).(eq T t1 (lift h d v)))) (\lambda 
@@ -177,83 +171,81 @@ e)).(\lambda (H10: (drop O O (CHead c0 k t) (CHead x0 (Flat f) t0))).(\lambda
 \to (ex3_2 T C (\lambda (v: T).(\lambda (_: C).(eq T u (lift h d v)))) 
 (\lambda (v: T).(\lambda (e0: C).(getl O e (CHead e0 (Bind b) v)))) (\lambda 
 (_: T).(\lambda (e0: C).(drop h d c1 e0)))))))).(let H11 \def (f_equal C C 
-(\lambda (e0: C).(match e0 in C return (\lambda (_: C).C) with [(CSort _) 
-\Rightarrow c0 | (CHead c2 _ _) \Rightarrow c2])) (CHead c0 k t) (CHead x0 
-(Flat f) t0) (drop_gen_refl (CHead c0 k t) (CHead x0 (Flat f) t0) H10)) in 
-((let H12 \def (f_equal C K (\lambda (e0: C).(match e0 in C return (\lambda 
-(_: C).K) with [(CSort _) \Rightarrow k | (CHead _ k1 _) \Rightarrow k1])) 
+(\lambda (e0: C).(match e0 with [(CSort _) \Rightarrow c0 | (CHead c2 _ _) 
+\Rightarrow c2])) (CHead c0 k t) (CHead x0 (Flat f) t0) (drop_gen_refl (CHead 
+c0 k t) (CHead x0 (Flat f) t0) H10)) in ((let H12 \def (f_equal C K (\lambda 
+(e0: C).(match e0 with [(CSort _) \Rightarrow k | (CHead _ k1 _) \Rightarrow 
+k1])) (CHead c0 k t) (CHead x0 (Flat f) t0) (drop_gen_refl (CHead c0 k t) 
+(CHead x0 (Flat f) t0) H10)) in ((let H13 \def (f_equal C T (\lambda (e0: 
+C).(match e0 with [(CSort _) \Rightarrow t | (CHead _ _ t1) \Rightarrow t1])) 
 (CHead c0 k t) (CHead x0 (Flat f) t0) (drop_gen_refl (CHead c0 k t) (CHead x0 
-(Flat f) t0) H10)) in ((let H13 \def (f_equal C T (\lambda (e0: C).(match e0 
-in C return (\lambda (_: C).T) with [(CSort _) \Rightarrow t | (CHead _ _ t1) 
-\Rightarrow t1])) (CHead c0 k t) (CHead x0 (Flat f) t0) (drop_gen_refl (CHead 
-c0 k t) (CHead x0 (Flat f) t0) H10)) in (\lambda (H14: (eq K k (Flat 
-f))).(\lambda (H15: (eq C c0 x0)).(let H16 \def (eq_ind_r C x0 (\lambda (c2: 
-C).(clear c2 (CHead c1 (Bind b) u))) (clear_gen_flat f x0 (CHead c1 (Bind b) 
-u) t0 H8) c0 H15) in (let H17 \def (eq_ind_r C x0 (\lambda (c2: C).((drop O O 
-(CHead c0 k t) c2) \to ((clear c2 (CHead c1 (Bind b) u)) \to (ex3_2 T C 
+(Flat f) t0) H10)) in (\lambda (H14: (eq K k (Flat f))).(\lambda (H15: (eq C 
+c0 x0)).(let H16 \def (eq_ind_r C x0 (\lambda (c2: C).(clear c2 (CHead c1 
+(Bind b) u))) (clear_gen_flat f x0 (CHead c1 (Bind b) u) t0 H8) c0 H15) in 
+(let H17 \def (eq_ind_r C x0 (\lambda (c2: C).((drop O O (CHead c0 k t) c2) 
+\to ((clear c2 (CHead c1 (Bind b) u)) \to (ex3_2 T C (\lambda (v: T).(\lambda 
+(_: C).(eq T u (lift h d v)))) (\lambda (v: T).(\lambda (e0: C).(getl O e 
+(CHead e0 (Bind b) v)))) (\lambda (_: T).(\lambda (e0: C).(drop h d c1 
+e0))))))) IHx0 c0 H15) in (let H18 \def (eq_ind K k (\lambda (k1: K).((drop O 
+O (CHead c0 k1 t) c0) \to ((clear c0 (CHead c1 (Bind b) u)) \to (ex3_2 T C 
 (\lambda (v: T).(\lambda (_: C).(eq T u (lift h d v)))) (\lambda (v: 
 T).(\lambda (e0: C).(getl O e (CHead e0 (Bind b) v)))) (\lambda (_: 
-T).(\lambda (e0: C).(drop h d c1 e0))))))) IHx0 c0 H15) in (let H18 \def 
-(eq_ind K k (\lambda (k1: K).((drop O O (CHead c0 k1 t) c0) \to ((clear c0 
-(CHead c1 (Bind b) u)) \to (ex3_2 T C (\lambda (v: T).(\lambda (_: C).(eq T u 
+T).(\lambda (e0: C).(drop h d c1 e0))))))) H17 (Flat f) H14) in (let H19 \def 
+(eq_ind K k (\lambda (k1: K).(drop h (S (plus O d)) (CHead c0 k1 t) e)) H9 
+(Flat f) H14) in (ex3_2_ind C T (\lambda (e0: C).(\lambda (v: T).(eq C e 
+(CHead e0 (Flat f) v)))) (\lambda (_: C).(\lambda (v: T).(eq T t (lift h (r 
+(Flat f) (plus O d)) v)))) (\lambda (e0: C).(\lambda (_: T).(drop h (r (Flat 
+f) (plus O d)) c0 e0))) (ex3_2 T C (\lambda (v: T).(\lambda (_: C).(eq T u 
 (lift h d v)))) (\lambda (v: T).(\lambda (e0: C).(getl O e (CHead e0 (Bind b) 
-v)))) (\lambda (_: T).(\lambda (e0: C).(drop h d c1 e0))))))) H17 (Flat f) 
-H14) in (let H19 \def (eq_ind K k (\lambda (k1: K).(drop h (S (plus O d)) 
-(CHead c0 k1 t) e)) H9 (Flat f) H14) in (ex3_2_ind C T (\lambda (e0: 
-C).(\lambda (v: T).(eq C e (CHead e0 (Flat f) v)))) (\lambda (_: C).(\lambda 
-(v: T).(eq T t (lift h (r (Flat f) (plus O d)) v)))) (\lambda (e0: 
-C).(\lambda (_: T).(drop h (r (Flat f) (plus O d)) c0 e0))) (ex3_2 T C 
-(\lambda (v: T).(\lambda (_: C).(eq T u (lift h d v)))) (\lambda (v: 
-T).(\lambda (e0: C).(getl O e (CHead e0 (Bind b) v)))) (\lambda (_: 
-T).(\lambda (e0: C).(drop h d c1 e0)))) (\lambda (x1: C).(\lambda (x2: 
-T).(\lambda (H20: (eq C e (CHead x1 (Flat f) x2))).(\lambda (H21: (eq T t 
-(lift h (r (Flat f) (plus O d)) x2))).(\lambda (H22: (drop h (r (Flat f) 
-(plus O d)) c0 x1)).(let H23 \def (f_equal T T (\lambda (e0: T).e0) t (lift h 
-(r (Flat f) (plus O d)) x2) H21) in (let H24 \def (eq_ind C e (\lambda (c2: 
-C).((drop O O (CHead c0 (Flat f) t) c0) \to ((clear c0 (CHead c1 (Bind b) u)) 
-\to (ex3_2 T C (\lambda (v: T).(\lambda (_: C).(eq T u (lift h d v)))) 
+v)))) (\lambda (_: T).(\lambda (e0: C).(drop h d c1 e0)))) (\lambda (x1: 
+C).(\lambda (x2: T).(\lambda (H20: (eq C e (CHead x1 (Flat f) x2))).(\lambda 
+(H21: (eq T t (lift h (r (Flat f) (plus O d)) x2))).(\lambda (H22: (drop h (r 
+(Flat f) (plus O d)) c0 x1)).(let H23 \def (f_equal T T (\lambda (e0: T).e0) 
+t (lift h (r (Flat f) (plus O d)) x2) H21) in (let H24 \def (eq_ind C e 
+(\lambda (c2: C).((drop O O (CHead c0 (Flat f) t) c0) \to ((clear c0 (CHead 
+c1 (Bind b) u)) \to (ex3_2 T C (\lambda (v: T).(\lambda (_: C).(eq T u (lift 
+h d v)))) (\lambda (v: T).(\lambda (e0: C).(getl O c2 (CHead e0 (Bind b) 
+v)))) (\lambda (_: T).(\lambda (e0: C).(drop h d c1 e0))))))) H18 (CHead x1 
+(Flat f) x2) H20) in (eq_ind_r C (CHead x1 (Flat f) x2) (\lambda (c2: 
+C).(ex3_2 T C (\lambda (v: T).(\lambda (_: C).(eq T u (lift h d v)))) 
 (\lambda (v: T).(\lambda (e0: C).(getl O c2 (CHead e0 (Bind b) v)))) (\lambda 
-(_: T).(\lambda (e0: C).(drop h d c1 e0))))))) H18 (CHead x1 (Flat f) x2) 
-H20) in (eq_ind_r C (CHead x1 (Flat f) x2) (\lambda (c2: C).(ex3_2 T C 
+(_: T).(\lambda (e0: C).(drop h d c1 e0))))) (let H25 \def (eq_ind T t 
+(\lambda (t1: T).((drop O O (CHead c0 (Flat f) t1) c0) \to ((clear c0 (CHead 
+c1 (Bind b) u)) \to (ex3_2 T C (\lambda (v: T).(\lambda (_: C).(eq T u (lift 
+h d v)))) (\lambda (v: T).(\lambda (e0: C).(getl O (CHead x1 (Flat f) x2) 
+(CHead e0 (Bind b) v)))) (\lambda (_: T).(\lambda (e0: C).(drop h d c1 
+e0))))))) H24 (lift h (S d) x2) H23) in (let H26 \def (H c1 u O (getl_intro O 
+c0 (CHead c1 (Bind b) u) c0 (drop_refl c0) H16) x1 h d H22) in (ex3_2_ind T C 
 (\lambda (v: T).(\lambda (_: C).(eq T u (lift h d v)))) (\lambda (v: 
-T).(\lambda (e0: C).(getl O c2 (CHead e0 (Bind b) v)))) (\lambda (_: 
-T).(\lambda (e0: C).(drop h d c1 e0))))) (let H25 \def (eq_ind T t (\lambda 
-(t1: T).((drop O O (CHead c0 (Flat f) t1) c0) \to ((clear c0 (CHead c1 (Bind 
-b) u)) \to (ex3_2 T C (\lambda (v: T).(\lambda (_: C).(eq T u (lift h d v)))) 
-(\lambda (v: T).(\lambda (e0: C).(getl O (CHead x1 (Flat f) x2) (CHead e0 
-(Bind b) v)))) (\lambda (_: T).(\lambda (e0: C).(drop h d c1 e0))))))) H24 
-(lift h (S d) x2) H23) in (let H26 \def (H c1 u O (getl_intro O c0 (CHead c1 
-(Bind b) u) c0 (drop_refl c0) H16) x1 h d H22) in (ex3_2_ind T C (\lambda (v: 
-T).(\lambda (_: C).(eq T u (lift h d v)))) (\lambda (v: T).(\lambda (e0: 
-C).(getl O x1 (CHead e0 (Bind b) v)))) (\lambda (_: T).(\lambda (e0: C).(drop 
-h d c1 e0))) (ex3_2 T C (\lambda (v: T).(\lambda (_: C).(eq T u (lift h d 
-v)))) (\lambda (v: T).(\lambda (e0: C).(getl O (CHead x1 (Flat f) x2) (CHead 
-e0 (Bind b) v)))) (\lambda (_: T).(\lambda (e0: C).(drop h d c1 e0)))) 
-(\lambda (x3: T).(\lambda (x4: C).(\lambda (H27: (eq T u (lift h d 
-x3))).(\lambda (H28: (getl O x1 (CHead x4 (Bind b) x3))).(\lambda (H29: (drop 
-h d c1 x4)).(let H30 \def (eq_ind T u (\lambda (t1: T).((drop O O (CHead c0 
-(Flat f) (lift h (S d) x2)) c0) \to ((clear c0 (CHead c1 (Bind b) t1)) \to 
-(ex3_2 T C (\lambda (v: T).(\lambda (_: C).(eq T t1 (lift h d v)))) (\lambda 
-(v: T).(\lambda (e0: C).(getl O (CHead x1 (Flat f) x2) (CHead e0 (Bind b) 
-v)))) (\lambda (_: T).(\lambda (e0: C).(drop h d c1 e0))))))) H25 (lift h d 
-x3) H27) in (let H31 \def (eq_ind T u (\lambda (t1: T).(clear c0 (CHead c1 
-(Bind b) t1))) H16 (lift h d x3) H27) in (eq_ind_r T (lift h d x3) (\lambda 
-(t1: T).(ex3_2 T C (\lambda (v: T).(\lambda (_: C).(eq T t1 (lift h d v)))) 
+T).(\lambda (e0: C).(getl O x1 (CHead e0 (Bind b) v)))) (\lambda (_: 
+T).(\lambda (e0: C).(drop h d c1 e0))) (ex3_2 T C (\lambda (v: T).(\lambda 
+(_: C).(eq T u (lift h d v)))) (\lambda (v: T).(\lambda (e0: C).(getl O 
+(CHead x1 (Flat f) x2) (CHead e0 (Bind b) v)))) (\lambda (_: T).(\lambda (e0: 
+C).(drop h d c1 e0)))) (\lambda (x3: T).(\lambda (x4: C).(\lambda (H27: (eq T 
+u (lift h d x3))).(\lambda (H28: (getl O x1 (CHead x4 (Bind b) x3))).(\lambda 
+(H29: (drop h d c1 x4)).(let H30 \def (eq_ind T u (\lambda (t1: T).((drop O O 
+(CHead c0 (Flat f) (lift h (S d) x2)) c0) \to ((clear c0 (CHead c1 (Bind b) 
+t1)) \to (ex3_2 T C (\lambda (v: T).(\lambda (_: C).(eq T t1 (lift h d v)))) 
 (\lambda (v: T).(\lambda (e0: C).(getl O (CHead x1 (Flat f) x2) (CHead e0 
-(Bind b) v)))) (\lambda (_: T).(\lambda (e0: C).(drop h d c1 e0))))) 
-(ex3_2_intro T C (\lambda (v: T).(\lambda (_: C).(eq T (lift h d x3) (lift h 
+(Bind b) v)))) (\lambda (_: T).(\lambda (e0: C).(drop h d c1 e0))))))) H25 
+(lift h d x3) H27) in (let H31 \def (eq_ind T u (\lambda (t1: T).(clear c0 
+(CHead c1 (Bind b) t1))) H16 (lift h d x3) H27) in (eq_ind_r T (lift h d x3) 
+(\lambda (t1: T).(ex3_2 T C (\lambda (v: T).(\lambda (_: C).(eq T t1 (lift h 
 d v)))) (\lambda (v: T).(\lambda (e0: C).(getl O (CHead x1 (Flat f) x2) 
-(CHead e0 (Bind b) v)))) (\lambda (_: T).(\lambda (e0: C).(drop h d c1 e0))) 
-x3 x4 (refl_equal T (lift h d x3)) (getl_flat x1 (CHead x4 (Bind b) x3) O H28 
-f x2) H29) u H27)))))))) H26))) e H20)))))))) (drop_gen_skip_l c0 e t h (plus 
-O d) (Flat f) H19))))))))) H12)) H11))))) (\lambda (i0: nat).(\lambda (IHi: 
-(((drop h (S (plus i0 d)) (CHead c0 k t) e) \to ((drop i0 O (CHead c0 k t) 
-(CHead x0 (Flat f) t0)) \to ((((drop i0 O (CHead c0 k t) x0) \to ((clear x0 
-(CHead c1 (Bind b) u)) \to (ex3_2 T C (\lambda (v: T).(\lambda (_: C).(eq T u 
-(lift h d v)))) (\lambda (v: T).(\lambda (e0: C).(getl i0 e (CHead e0 (Bind 
-b) v)))) (\lambda (_: T).(\lambda (e0: C).(drop h d c1 e0))))))) \to (ex3_2 T 
-C (\lambda (v: T).(\lambda (_: C).(eq T u (lift h d v)))) (\lambda (v: 
-T).(\lambda (e0: C).(getl i0 e (CHead e0 (Bind b) v)))) (\lambda (_: 
+(CHead e0 (Bind b) v)))) (\lambda (_: T).(\lambda (e0: C).(drop h d c1 
+e0))))) (ex3_2_intro T C (\lambda (v: T).(\lambda (_: C).(eq T (lift h d x3) 
+(lift h d v)))) (\lambda (v: T).(\lambda (e0: C).(getl O (CHead x1 (Flat f) 
+x2) (CHead e0 (Bind b) v)))) (\lambda (_: T).(\lambda (e0: C).(drop h d c1 
+e0))) x3 x4 (refl_equal T (lift h d x3)) (getl_flat x1 (CHead x4 (Bind b) x3) 
+O H28 f x2) H29) u H27)))))))) H26))) e H20)))))))) (drop_gen_skip_l c0 e t h 
+(plus O d) (Flat f) H19))))))))) H12)) H11))))) (\lambda (i0: nat).(\lambda 
+(IHi: (((drop h (S (plus i0 d)) (CHead c0 k t) e) \to ((drop i0 O (CHead c0 k 
+t) (CHead x0 (Flat f) t0)) \to ((((drop i0 O (CHead c0 k t) x0) \to ((clear 
+x0 (CHead c1 (Bind b) u)) \to (ex3_2 T C (\lambda (v: T).(\lambda (_: C).(eq 
+T u (lift h d v)))) (\lambda (v: T).(\lambda (e0: C).(getl i0 e (CHead e0 
+(Bind b) v)))) (\lambda (_: T).(\lambda (e0: C).(drop h d c1 e0))))))) \to 
+(ex3_2 T C (\lambda (v: T).(\lambda (_: C).(eq T u (lift h d v)))) (\lambda 
+(v: T).(\lambda (e0: C).(getl i0 e (CHead e0 (Bind b) v)))) (\lambda (_: 
 T).(\lambda (e0: C).(drop h d c1 e0))))))))).(\lambda (H9: (drop h (S (plus 
 (S i0) d)) (CHead c0 k t) e)).(\lambda (H10: (drop (S i0) O (CHead c0 k t) 
 (CHead x0 (Flat f) t0))).(\lambda (IHx0: (((drop (S i0) O (CHead c0 k t) x0) 
@@ -332,9 +324,6 @@ T).(\lambda (e0: C).(getl (S i0) (CHead x1 k x2) (CHead e0 (Bind b) v))))
 h d x3)) (getl_head k i0 x1 (CHead x4 (Bind b) x3) H23 x2) H24) u H22)))))))) 
 H21)))))) e H11))))))))) (drop_gen_skip_l c0 e t h (plus (S i0) d) k 
 H9))))))) i H1 H7 IHx)))) k0 H5 H6))))))) x H3 H4)))) H2)))))))))))))) c)).
-(* COMMENTS
-Initial nodes: 6137
-END *)
 
 theorem getl_drop_conf_ge:
  \forall (i: nat).(\forall (a: C).(\forall (c: C).((getl i c a) \to (\forall 
@@ -348,9 +337,6 @@ in (ex2_ind C (\lambda (e0: C).(drop i O c e0)) (\lambda (e0: C).(clear e0
 a)) (getl (minus i h) e a) (\lambda (x: C).(\lambda (H3: (drop i O c 
 x)).(\lambda (H4: (clear x a)).(getl_intro (minus i h) e a x (drop_conf_ge i 
 x c H3 e h d H0 H1) H4)))) H2)))))))))).
-(* COMMENTS
-Initial nodes: 141
-END *)
 
 theorem getl_conf_ge_drop:
  \forall (b: B).(\forall (c1: C).(\forall (e: C).(\forall (u: T).(\forall (i: 
@@ -364,9 +350,6 @@ nat).(\lambda (H: (getl i c1 (CHead e (Bind b) u))).(\lambda (c2: C).(\lambda
 u i H) c2 (S O) i H0 (eq_ind_r nat (plus (S O) i) (\lambda (n: nat).(le n (S 
 i))) (le_n (S i)) (plus i (S O)) (plus_sym i (S O)))) i (minus_Sx_SO i)) in 
 H3)))))))).
-(* COMMENTS
-Initial nodes: 151
-END *)
 
 theorem getl_drop_conf_rev:
  \forall (j: nat).(\forall (e1: C).(\forall (e2: C).((drop j O e1 e2) \to 
@@ -378,9 +361,6 @@ c2 (CHead e2 (Bind b) v2)) \to (ex2 C (\lambda (c1: C).(drop j O c1 c2))
 e2)).(\lambda (b: B).(\lambda (c2: C).(\lambda (v2: T).(\lambda (i: 
 nat).(\lambda (H0: (getl i c2 (CHead e2 (Bind b) v2))).(drop_conf_rev j e1 e2 
 H c2 (S i) (getl_drop b c2 e2 v2 i H0)))))))))).
-(* COMMENTS
-Initial nodes: 69
-END *)
 
 theorem drop_getl_trans_lt:
  \forall (i: nat).(\forall (d: nat).((lt i d) \to (\forall (c1: C).(\forall 
@@ -412,11 +392,9 @@ e2 v H4) in (ex2_ind C (\lambda (c3: C).(clear x0 (CHead c3 (Bind b) (lift h
 (H10: (drop h (minus d (S i)) x1 e2)).(ex_intro2 C (\lambda (e1: C).(getl i 
 c1 (CHead e1 (Bind b) (lift h (minus d (S i)) v)))) (\lambda (e1: C).(drop h 
 (minus d (S i)) e1 e2)) x1 (getl_intro i c1 (CHead x1 (Bind b) (lift h (minus 
-d (S i)) v)) x0 H5 H9) H10)))) H8)))))) (drop_trans_le i d (le_S_n i d (le_S 
-(S i) d H)) c1 c2 h H0 x H3))))) H2)))))))))))).
-(* COMMENTS
-Initial nodes: 627
-END *)
+d (S i)) v)) x0 H5 H9) H10)))) H8)))))) (drop_trans_le i d (le_S_n i d 
+(le_S_n (S i) (S d) (le_S (S (S i)) (S d) (le_n_S (S i) d H)))) c1 c2 h H0 x 
+H3))))) H2)))))))))))).
 
 theorem drop_getl_trans_le:
  \forall (i: nat).(\forall (d: nat).((le i d) \to (\forall (c1: C).(\forall 
@@ -442,9 +420,6 @@ e2)))) (\lambda (x0: C).(\lambda (H6: (drop i O c1 x0)).(\lambda (H7: (drop h
 O c1 e0))) (\lambda (e0: C).(\lambda (e1: C).(drop h (minus d i) e0 e1))) 
 (\lambda (_: C).(\lambda (e1: C).(clear e1 e2))) x0 x H6 H7 H4)))) H5))))) 
 H2)))))))))).
-(* COMMENTS
-Initial nodes: 323
-END *)
 
 theorem drop_getl_trans_ge:
  \forall (i: nat).(\forall (c1: C).(\forall (c2: C).(\forall (d: 
@@ -458,9 +433,6 @@ C).(\lambda (H0: (getl i c2 e2)).(\lambda (H1: (le d i)).(let H2 \def
 (\lambda (e: C).(clear e e2)) (getl (plus i h) c1 e2) (\lambda (x: 
 C).(\lambda (H3: (drop i O c2 x)).(\lambda (H4: (clear x e2)).(getl_intro 
 (plus i h) c1 e2 x (drop_trans_ge i c1 c2 d h H x H3 H1) H4)))) H2)))))))))).
-(* COMMENTS
-Initial nodes: 137
-END *)
 
 theorem getl_drop_trans:
  \forall (c1: C).(\forall (c2: C).(\forall (h: nat).((getl h c1 c2) \to 
@@ -508,7 +480,4 @@ n)) O (CHead c2 (Flat f) t) e2))))))).(\lambda (H0: (getl (S n) (CHead c2
 (Flat f) t) c3)).(\lambda (e2: C).(\lambda (i: nat).(\lambda (H1: (drop (S i) 
 O c3 e2)).(drop_drop (Flat f) (plus i (S n)) c2 e2 (IHc c3 (S n) (getl_gen_S 
 (Flat f) c2 c3 t n H0) e2 i H1) t))))))) h))))) k)))) c1).
-(* COMMENTS
-Initial nodes: 953
-END *)
 
index 3d6c90f730e35ac009d34063aa40650c93ffb7dd..db8d7be14cb466aef661477b6aa8b4cf68f9019a 100644 (file)
 
 (* This file was automatically generated: do not edit *********************)
 
-include "Basic-1/getl/fwd.ma".
+include "basic_1/getl/fwd.ma".
 
-include "Basic-1/clear/props.ma".
-
-include "Basic-1/flt/props.ma".
+include "basic_1/flt/props.ma".
 
 theorem getl_flt:
  \forall (b: B).(\forall (c: C).(\forall (e: C).(\forall (u: T).(\forall (i: 
 nat).((getl i c (CHead e (Bind b) u)) \to (flt e u c (TLRef i)))))))
 \def
- \lambda (b: B).(\lambda (c: C).(C_ind (\lambda (c0: C).(\forall (e: 
+ \lambda (b: B).(\lambda (c: C).(let TMP_2 \def (\lambda (c0: C).(\forall (e: 
 C).(\forall (u: T).(\forall (i: nat).((getl i c0 (CHead e (Bind b) u)) \to 
-(flt e u c0 (TLRef i))))))) (\lambda (n: nat).(\lambda (e: C).(\lambda (u: 
-T).(\lambda (i: nat).(\lambda (H: (getl i (CSort n) (CHead e (Bind b) 
-u))).(getl_gen_sort n i (CHead e (Bind b) u) H (flt e u (CSort n) (TLRef 
-i)))))))) (\lambda (c0: C).(\lambda (H: ((\forall (e: C).(\forall (u: 
-T).(\forall (i: nat).((getl i c0 (CHead e (Bind b) u)) \to (flt e u c0 (TLRef 
-i)))))))).(\lambda (k: K).(\lambda (t: T).(\lambda (e: C).(\lambda (u: 
-T).(\lambda (i: nat).(nat_ind (\lambda (n: nat).((getl n (CHead c0 k t) 
-(CHead e (Bind b) u)) \to (flt e u (CHead c0 k t) (TLRef n)))) (\lambda (H0: 
-(getl O (CHead c0 k t) (CHead e (Bind b) u))).(K_ind (\lambda (k0: K).((clear 
-(CHead c0 k0 t) (CHead e (Bind b) u)) \to (flt e u (CHead c0 k0 t) (TLRef 
-O)))) (\lambda (b0: B).(\lambda (H1: (clear (CHead c0 (Bind b0) t) (CHead e 
-(Bind b) u))).(let H2 \def (f_equal C C (\lambda (e0: C).(match e0 in C 
-return (\lambda (_: C).C) with [(CSort _) \Rightarrow e | (CHead c1 _ _) 
-\Rightarrow c1])) (CHead e (Bind b) u) (CHead c0 (Bind b0) t) (clear_gen_bind 
-b0 c0 (CHead e (Bind b) u) t H1)) in ((let H3 \def (f_equal C B (\lambda (e0: 
-C).(match e0 in C return (\lambda (_: C).B) with [(CSort _) \Rightarrow b | 
-(CHead _ k0 _) \Rightarrow (match k0 in K return (\lambda (_: K).B) with 
-[(Bind b1) \Rightarrow b1 | (Flat _) \Rightarrow b])])) (CHead e (Bind b) u) 
-(CHead c0 (Bind b0) t) (clear_gen_bind b0 c0 (CHead e (Bind b) u) t H1)) in 
-((let H4 \def (f_equal C T (\lambda (e0: C).(match e0 in C return (\lambda 
-(_: C).T) with [(CSort _) \Rightarrow u | (CHead _ _ t0) \Rightarrow t0])) 
-(CHead e (Bind b) u) (CHead c0 (Bind b0) t) (clear_gen_bind b0 c0 (CHead e 
-(Bind b) u) t H1)) in (\lambda (H5: (eq B b b0)).(\lambda (H6: (eq C e 
-c0)).(eq_ind_r T t (\lambda (t0: T).(flt e t0 (CHead c0 (Bind b0) t) (TLRef 
-O))) (eq_ind_r C c0 (\lambda (c1: C).(flt c1 t (CHead c0 (Bind b0) t) (TLRef 
-O))) (eq_ind B b (\lambda (b1: B).(flt c0 t (CHead c0 (Bind b1) t) (TLRef 
-O))) (flt_arith0 (Bind b) c0 t O) b0 H5) e H6) u H4)))) H3)) H2)))) (\lambda 
-(f: F).(\lambda (H1: (clear (CHead c0 (Flat f) t) (CHead e (Bind b) 
-u))).(flt_arith1 (Bind b) e c0 u (clear_cle c0 (CHead e (Bind b) u) 
-(clear_gen_flat f c0 (CHead e (Bind b) u) t H1)) (Flat f) t O))) k 
-(getl_gen_O (CHead c0 k t) (CHead e (Bind b) u) H0))) (\lambda (n: 
-nat).(\lambda (_: (((getl n (CHead c0 k t) (CHead e (Bind b) u)) \to (flt e u 
-(CHead c0 k t) (TLRef n))))).(\lambda (H1: (getl (S n) (CHead c0 k t) (CHead 
-e (Bind b) u))).(let H_y \def (H e u (r k n) (getl_gen_S k c0 (CHead e (Bind 
-b) u) t n H1)) in (flt_arith2 e c0 u (r k n) H_y k t (S n)))))) i)))))))) c)).
-(* COMMENTS
-Initial nodes: 815
-END *)
+(let TMP_1 \def (TLRef i) in (flt e u c0 TMP_1))))))) in (let TMP_8 \def 
+(\lambda (n: nat).(\lambda (e: C).(\lambda (u: T).(\lambda (i: nat).(\lambda 
+(H: (getl i (CSort n) (CHead e (Bind b) u))).(let TMP_3 \def (Bind b) in (let 
+TMP_4 \def (CHead e TMP_3 u) in (let TMP_5 \def (CSort n) in (let TMP_6 \def 
+(TLRef i) in (let TMP_7 \def (flt e u TMP_5 TMP_6) in (getl_gen_sort n i 
+TMP_4 H TMP_7))))))))))) in (let TMP_79 \def (\lambda (c0: C).(\lambda (H: 
+((\forall (e: C).(\forall (u: T).(\forall (i: nat).((getl i c0 (CHead e (Bind 
+b) u)) \to (flt e u c0 (TLRef i)))))))).(\lambda (k: K).(\lambda (t: 
+T).(\lambda (e: C).(\lambda (u: T).(\lambda (i: nat).(let TMP_11 \def 
+(\lambda (n: nat).((getl n (CHead c0 k t) (CHead e (Bind b) u)) \to (let 
+TMP_9 \def (CHead c0 k t) in (let TMP_10 \def (TLRef n) in (flt e u TMP_9 
+TMP_10))))) in (let TMP_71 \def (\lambda (H0: (getl O (CHead c0 k t) (CHead e 
+(Bind b) u))).(let TMP_14 \def (\lambda (k0: K).((clear (CHead c0 k0 t) 
+(CHead e (Bind b) u)) \to (let TMP_12 \def (CHead c0 k0 t) in (let TMP_13 
+\def (TLRef O) in (flt e u TMP_12 TMP_13))))) in (let TMP_57 \def (\lambda 
+(b0: B).(\lambda (H1: (clear (CHead c0 (Bind b0) t) (CHead e (Bind b) 
+u))).(let TMP_15 \def (\lambda (e0: C).(match e0 with [(CSort _) \Rightarrow 
+e | (CHead c1 _ _) \Rightarrow c1])) in (let TMP_16 \def (Bind b) in (let 
+TMP_17 \def (CHead e TMP_16 u) in (let TMP_18 \def (Bind b0) in (let TMP_19 
+\def (CHead c0 TMP_18 t) in (let TMP_20 \def (Bind b) in (let TMP_21 \def 
+(CHead e TMP_20 u) in (let TMP_22 \def (clear_gen_bind b0 c0 TMP_21 t H1) in 
+(let H2 \def (f_equal C C TMP_15 TMP_17 TMP_19 TMP_22) in (let TMP_23 \def 
+(\lambda (e0: C).(match e0 with [(CSort _) \Rightarrow b | (CHead _ k0 _) 
+\Rightarrow (match k0 with [(Bind b1) \Rightarrow b1 | (Flat _) \Rightarrow 
+b])])) in (let TMP_24 \def (Bind b) in (let TMP_25 \def (CHead e TMP_24 u) in 
+(let TMP_26 \def (Bind b0) in (let TMP_27 \def (CHead c0 TMP_26 t) in (let 
+TMP_28 \def (Bind b) in (let TMP_29 \def (CHead e TMP_28 u) in (let TMP_30 
+\def (clear_gen_bind b0 c0 TMP_29 t H1) in (let H3 \def (f_equal C B TMP_23 
+TMP_25 TMP_27 TMP_30) in (let TMP_31 \def (\lambda (e0: C).(match e0 with 
+[(CSort _) \Rightarrow u | (CHead _ _ t0) \Rightarrow t0])) in (let TMP_32 
+\def (Bind b) in (let TMP_33 \def (CHead e TMP_32 u) in (let TMP_34 \def 
+(Bind b0) in (let TMP_35 \def (CHead c0 TMP_34 t) in (let TMP_36 \def (Bind 
+b) in (let TMP_37 \def (CHead e TMP_36 u) in (let TMP_38 \def (clear_gen_bind 
+b0 c0 TMP_37 t H1) in (let H4 \def (f_equal C T TMP_31 TMP_33 TMP_35 TMP_38) 
+in (let TMP_55 \def (\lambda (H5: (eq B b b0)).(\lambda (H6: (eq C e 
+c0)).(let TMP_42 \def (\lambda (t0: T).(let TMP_39 \def (Bind b0) in (let 
+TMP_40 \def (CHead c0 TMP_39 t) in (let TMP_41 \def (TLRef O) in (flt e t0 
+TMP_40 TMP_41))))) in (let TMP_46 \def (\lambda (c1: C).(let TMP_43 \def 
+(Bind b0) in (let TMP_44 \def (CHead c0 TMP_43 t) in (let TMP_45 \def (TLRef 
+O) in (flt c1 t TMP_44 TMP_45))))) in (let TMP_50 \def (\lambda (b1: B).(let 
+TMP_47 \def (Bind b1) in (let TMP_48 \def (CHead c0 TMP_47 t) in (let TMP_49 
+\def (TLRef O) in (flt c0 t TMP_48 TMP_49))))) in (let TMP_51 \def (Bind b) 
+in (let TMP_52 \def (flt_arith0 TMP_51 c0 t O) in (let TMP_53 \def (eq_ind B 
+b TMP_50 TMP_52 b0 H5) in (let TMP_54 \def (eq_ind_r C c0 TMP_46 TMP_53 e H6) 
+in (eq_ind_r T t TMP_42 TMP_54 u H4)))))))))) in (let TMP_56 \def (TMP_55 H3) 
+in (TMP_56 H2)))))))))))))))))))))))))))))))) in (let TMP_66 \def (\lambda 
+(f: F).(\lambda (H1: (clear (CHead c0 (Flat f) t) (CHead e (Bind b) u))).(let 
+TMP_58 \def (Bind b) in (let TMP_59 \def (Bind b) in (let TMP_60 \def (CHead 
+e TMP_59 u) in (let TMP_61 \def (Bind b) in (let TMP_62 \def (CHead e TMP_61 
+u) in (let TMP_63 \def (clear_gen_flat f c0 TMP_62 t H1) in (let TMP_64 \def 
+(clear_cle c0 TMP_60 TMP_63) in (let TMP_65 \def (Flat f) in (flt_arith1 
+TMP_58 e c0 u TMP_64 TMP_65 t O))))))))))) in (let TMP_67 \def (CHead c0 k t) 
+in (let TMP_68 \def (Bind b) in (let TMP_69 \def (CHead e TMP_68 u) in (let 
+TMP_70 \def (getl_gen_O TMP_67 TMP_69 H0) in (K_ind TMP_14 TMP_57 TMP_66 k 
+TMP_70))))))))) in (let TMP_78 \def (\lambda (n: nat).(\lambda (_: (((getl n 
+(CHead c0 k t) (CHead e (Bind b) u)) \to (flt e u (CHead c0 k t) (TLRef 
+n))))).(\lambda (H1: (getl (S n) (CHead c0 k t) (CHead e (Bind b) u))).(let 
+TMP_72 \def (r k n) in (let TMP_73 \def (Bind b) in (let TMP_74 \def (CHead e 
+TMP_73 u) in (let TMP_75 \def (getl_gen_S k c0 TMP_74 t n H1) in (let H_y 
+\def (H e u TMP_72 TMP_75) in (let TMP_76 \def (r k n) in (let TMP_77 \def (S 
+n) in (flt_arith2 e c0 u TMP_76 H_y k t TMP_77))))))))))) in (nat_ind TMP_11 
+TMP_71 TMP_78 i))))))))))) in (C_ind TMP_2 TMP_8 TMP_79 c))))).
 
index b378f61fc55862e5bb3643960a68be53fc2d4c25..f8b2ebaa828c22e28ee6634f3b08e6fc27e20ce0 100644 (file)
 
 (* This file was automatically generated: do not edit *********************)
 
-include "Basic-1/getl/defs.ma".
+include "basic_1/getl/defs.ma".
 
-include "Basic-1/drop/fwd.ma".
+include "basic_1/drop/fwd.ma".
 
-include "Basic-1/clear/fwd.ma".
+include "basic_1/clear/fwd.ma".
+
+theorem getl_ind:
+ \forall (h: nat).(\forall (c1: C).(\forall (c2: C).(\forall (P: 
+Prop).(((\forall (e: C).((drop h O c1 e) \to ((clear e c2) \to P)))) \to 
+((getl h c1 c2) \to P)))))
+\def
+ \lambda (h: nat).(\lambda (c1: C).(\lambda (c2: C).(\lambda (P: 
+Prop).(\lambda (f: ((\forall (e: C).((drop h O c1 e) \to ((clear e c2) \to 
+P))))).(\lambda (g: (getl h c1 c2)).(match g with [(getl_intro x x0 x1) 
+\Rightarrow (f x x0 x1)])))))).
 
 theorem getl_gen_all:
  \forall (c1: C).(\forall (c2: C).(\forall (i: nat).((getl i c1 c2) \to (ex2 
 C (\lambda (e: C).(drop i O c1 e)) (\lambda (e: C).(clear e c2))))))
 \def
  \lambda (c1: C).(\lambda (c2: C).(\lambda (i: nat).(\lambda (H: (getl i c1 
-c2)).(getl_ind i c1 c2 (ex2 C (\lambda (e: C).(drop i O c1 e)) (\lambda (e: 
-C).(clear e c2))) (\lambda (e: C).(\lambda (H0: (drop i O c1 e)).(\lambda 
-(H1: (clear e c2)).(ex_intro2 C (\lambda (e0: C).(drop i O c1 e0)) (\lambda 
-(e0: C).(clear e0 c2)) e H0 H1)))) H)))).
-(* COMMENTS
-Initial nodes: 95
-END *)
+c2)).(let TMP_1 \def (\lambda (e: C).(drop i O c1 e)) in (let TMP_2 \def 
+(\lambda (e: C).(clear e c2)) in (let TMP_3 \def (ex2 C TMP_1 TMP_2) in (let 
+TMP_6 \def (\lambda (e: C).(\lambda (H0: (drop i O c1 e)).(\lambda (H1: 
+(clear e c2)).(let TMP_4 \def (\lambda (e0: C).(drop i O c1 e0)) in (let 
+TMP_5 \def (\lambda (e0: C).(clear e0 c2)) in (ex_intro2 C TMP_4 TMP_5 e H0 
+H1)))))) in (getl_ind i c1 c2 TMP_3 TMP_6 H)))))))).
 
 theorem getl_gen_sort:
  \forall (n: nat).(\forall (h: nat).(\forall (x: C).((getl h (CSort n) x) \to 
 (\forall (P: Prop).P))))
 \def
  \lambda (n: nat).(\lambda (h: nat).(\lambda (x: C).(\lambda (H: (getl h 
-(CSort n) x)).(\lambda (P: Prop).(let H0 \def (getl_gen_all (CSort n) x h H) 
-in (ex2_ind C (\lambda (e: C).(drop h O (CSort n) e)) (\lambda (e: C).(clear 
-e x)) P (\lambda (x0: C).(\lambda (H1: (drop h O (CSort n) x0)).(\lambda (H2: 
-(clear x0 x)).(and3_ind (eq C x0 (CSort n)) (eq nat h O) (eq nat O O) P 
-(\lambda (H3: (eq C x0 (CSort n))).(\lambda (_: (eq nat h O)).(\lambda (_: 
-(eq nat O O)).(let H6 \def (eq_ind C x0 (\lambda (c: C).(clear c x)) H2 
-(CSort n) H3) in (clear_gen_sort x n H6 P))))) (drop_gen_sort n h O x0 
-H1))))) H0)))))).
-(* COMMENTS
-Initial nodes: 179
-END *)
+(CSort n) x)).(\lambda (P: Prop).(let TMP_1 \def (CSort n) in (let H0 \def 
+(getl_gen_all TMP_1 x h H) in (let TMP_3 \def (\lambda (e: C).(let TMP_2 \def 
+(CSort n) in (drop h O TMP_2 e))) in (let TMP_4 \def (\lambda (e: C).(clear e 
+x)) in (let TMP_13 \def (\lambda (x0: C).(\lambda (H1: (drop h O (CSort n) 
+x0)).(\lambda (H2: (clear x0 x)).(let TMP_5 \def (CSort n) in (let TMP_6 \def 
+(eq C x0 TMP_5) in (let TMP_7 \def (eq nat h O) in (let TMP_8 \def (eq nat O 
+O) in (let TMP_11 \def (\lambda (H3: (eq C x0 (CSort n))).(\lambda (_: (eq 
+nat h O)).(\lambda (_: (eq nat O O)).(let TMP_9 \def (\lambda (c: C).(clear c 
+x)) in (let TMP_10 \def (CSort n) in (let H6 \def (eq_ind C x0 TMP_9 H2 
+TMP_10 H3) in (clear_gen_sort x n H6 P))))))) in (let TMP_12 \def 
+(drop_gen_sort n h O x0 H1) in (and3_ind TMP_6 TMP_7 TMP_8 P TMP_11 
+TMP_12)))))))))) in (ex2_ind C TMP_3 TMP_4 P TMP_13 H0)))))))))).
 
 theorem getl_gen_O:
  \forall (e: C).(\forall (x: C).((getl O e x) \to (clear e x)))
 \def
  \lambda (e: C).(\lambda (x: C).(\lambda (H: (getl O e x)).(let H0 \def 
-(getl_gen_all e x O H) in (ex2_ind C (\lambda (e0: C).(drop O O e e0)) 
-(\lambda (e0: C).(clear e0 x)) (clear e x) (\lambda (x0: C).(\lambda (H1: 
-(drop O O e x0)).(\lambda (H2: (clear x0 x)).(let H3 \def (eq_ind_r C x0 
-(\lambda (c: C).(clear c x)) H2 e (drop_gen_refl e x0 H1)) in H3)))) H0)))).
-(* COMMENTS
-Initial nodes: 99
-END *)
+(getl_gen_all e x O H) in (let TMP_1 \def (\lambda (e0: C).(drop O O e e0)) 
+in (let TMP_2 \def (\lambda (e0: C).(clear e0 x)) in (let TMP_3 \def (clear e 
+x) in (let TMP_6 \def (\lambda (x0: C).(\lambda (H1: (drop O O e 
+x0)).(\lambda (H2: (clear x0 x)).(let TMP_4 \def (\lambda (c: C).(clear c x)) 
+in (let TMP_5 \def (drop_gen_refl e x0 H1) in (let H3 \def (eq_ind_r C x0 
+TMP_4 H2 e TMP_5) in H3)))))) in (ex2_ind C TMP_1 TMP_2 TMP_3 TMP_6 
+H0)))))))).
 
 theorem getl_gen_S:
  \forall (k: K).(\forall (c: C).(\forall (x: C).(\forall (u: T).(\forall (h: 
 nat).((getl (S h) (CHead c k u) x) \to (getl (r k h) c x))))))
 \def
  \lambda (k: K).(\lambda (c: C).(\lambda (x: C).(\lambda (u: T).(\lambda (h: 
-nat).(\lambda (H: (getl (S h) (CHead c k u) x)).(let H0 \def (getl_gen_all 
-(CHead c k u) x (S h) H) in (ex2_ind C (\lambda (e: C).(drop (S h) O (CHead c 
-k u) e)) (\lambda (e: C).(clear e x)) (getl (r k h) c x) (\lambda (x0: 
-C).(\lambda (H1: (drop (S h) O (CHead c k u) x0)).(\lambda (H2: (clear x0 
-x)).(getl_intro (r k h) c x x0 (drop_gen_drop k c x0 u h H1) H2)))) H0))))))).
-(* COMMENTS
-Initial nodes: 145
-END *)
+nat).(\lambda (H: (getl (S h) (CHead c k u) x)).(let TMP_1 \def (CHead c k u) 
+in (let TMP_2 \def (S h) in (let H0 \def (getl_gen_all TMP_1 x TMP_2 H) in 
+(let TMP_5 \def (\lambda (e: C).(let TMP_3 \def (S h) in (let TMP_4 \def 
+(CHead c k u) in (drop TMP_3 O TMP_4 e)))) in (let TMP_6 \def (\lambda (e: 
+C).(clear e x)) in (let TMP_7 \def (r k h) in (let TMP_8 \def (getl TMP_7 c 
+x) in (let TMP_11 \def (\lambda (x0: C).(\lambda (H1: (drop (S h) O (CHead c 
+k u) x0)).(\lambda (H2: (clear x0 x)).(let TMP_9 \def (r k h) in (let TMP_10 
+\def (drop_gen_drop k c x0 u h H1) in (getl_intro TMP_9 c x x0 TMP_10 
+H2)))))) in (ex2_ind C TMP_5 TMP_6 TMP_8 TMP_11 H0)))))))))))))).
 
 theorem getl_gen_2:
  \forall (c1: C).(\forall (c2: C).(\forall (i: nat).((getl i c1 c2) \to (ex_3 
@@ -82,39 +93,48 @@ B C T (\lambda (b: B).(\lambda (c: C).(\lambda (v: T).(eq C c2 (CHead c (Bind
 b) v)))))))))
 \def
  \lambda (c1: C).(\lambda (c2: C).(\lambda (i: nat).(\lambda (H: (getl i c1 
-c2)).(let H0 \def (getl_gen_all c1 c2 i H) in (ex2_ind C (\lambda (e: 
-C).(drop i O c1 e)) (\lambda (e: C).(clear e c2)) (ex_3 B C T (\lambda (b: 
-B).(\lambda (c: C).(\lambda (v: T).(eq C c2 (CHead c (Bind b) v)))))) 
-(\lambda (x: C).(\lambda (_: (drop i O c1 x)).(\lambda (H2: (clear x 
-c2)).(let H3 \def (clear_gen_all x c2 H2) in (ex_3_ind B C T (\lambda (b: 
-B).(\lambda (e: C).(\lambda (u: T).(eq C c2 (CHead e (Bind b) u))))) (ex_3 B 
-C T (\lambda (b: B).(\lambda (c: C).(\lambda (v: T).(eq C c2 (CHead c (Bind 
-b) v)))))) (\lambda (x0: B).(\lambda (x1: C).(\lambda (x2: T).(\lambda (H4: 
-(eq C c2 (CHead x1 (Bind x0) x2))).(let H5 \def (eq_ind C c2 (\lambda (c: 
-C).(clear x c)) H2 (CHead x1 (Bind x0) x2) H4) in (eq_ind_r C (CHead x1 (Bind 
-x0) x2) (\lambda (c: C).(ex_3 B C T (\lambda (b: B).(\lambda (c0: C).(\lambda 
-(v: T).(eq C c (CHead c0 (Bind b) v))))))) (ex_3_intro B C T (\lambda (b: 
-B).(\lambda (c: C).(\lambda (v: T).(eq C (CHead x1 (Bind x0) x2) (CHead c 
-(Bind b) v))))) x0 x1 x2 (refl_equal C (CHead x1 (Bind x0) x2))) c2 H4)))))) 
-H3))))) H0))))).
-(* COMMENTS
-Initial nodes: 325
-END *)
+c2)).(let H0 \def (getl_gen_all c1 c2 i H) in (let TMP_1 \def (\lambda (e: 
+C).(drop i O c1 e)) in (let TMP_2 \def (\lambda (e: C).(clear e c2)) in (let 
+TMP_5 \def (\lambda (b: B).(\lambda (c: C).(\lambda (v: T).(let TMP_3 \def 
+(Bind b) in (let TMP_4 \def (CHead c TMP_3 v) in (eq C c2 TMP_4)))))) in (let 
+TMP_6 \def (ex_3 B C T TMP_5) in (let TMP_33 \def (\lambda (x: C).(\lambda 
+(_: (drop i O c1 x)).(\lambda (H2: (clear x c2)).(let H3 \def (clear_gen_all 
+x c2 H2) in (let TMP_9 \def (\lambda (b: B).(\lambda (e: C).(\lambda (u: 
+T).(let TMP_7 \def (Bind b) in (let TMP_8 \def (CHead e TMP_7 u) in (eq C c2 
+TMP_8)))))) in (let TMP_12 \def (\lambda (b: B).(\lambda (c: C).(\lambda (v: 
+T).(let TMP_10 \def (Bind b) in (let TMP_11 \def (CHead c TMP_10 v) in (eq C 
+c2 TMP_11)))))) in (let TMP_13 \def (ex_3 B C T TMP_12) in (let TMP_32 \def 
+(\lambda (x0: B).(\lambda (x1: C).(\lambda (x2: T).(\lambda (H4: (eq C c2 
+(CHead x1 (Bind x0) x2))).(let TMP_14 \def (\lambda (c: C).(clear x c)) in 
+(let TMP_15 \def (Bind x0) in (let TMP_16 \def (CHead x1 TMP_15 x2) in (let 
+H5 \def (eq_ind C c2 TMP_14 H2 TMP_16 H4) in (let TMP_17 \def (Bind x0) in 
+(let TMP_18 \def (CHead x1 TMP_17 x2) in (let TMP_22 \def (\lambda (c: 
+C).(let TMP_21 \def (\lambda (b: B).(\lambda (c0: C).(\lambda (v: T).(let 
+TMP_19 \def (Bind b) in (let TMP_20 \def (CHead c0 TMP_19 v) in (eq C c 
+TMP_20)))))) in (ex_3 B C T TMP_21))) in (let TMP_27 \def (\lambda (b: 
+B).(\lambda (c: C).(\lambda (v: T).(let TMP_23 \def (Bind x0) in (let TMP_24 
+\def (CHead x1 TMP_23 x2) in (let TMP_25 \def (Bind b) in (let TMP_26 \def 
+(CHead c TMP_25 v) in (eq C TMP_24 TMP_26)))))))) in (let TMP_28 \def (Bind 
+x0) in (let TMP_29 \def (CHead x1 TMP_28 x2) in (let TMP_30 \def (refl_equal 
+C TMP_29) in (let TMP_31 \def (ex_3_intro B C T TMP_27 x0 x1 x2 TMP_30) in 
+(eq_ind_r C TMP_18 TMP_22 TMP_31 c2 H4))))))))))))))))) in (ex_3_ind B C T 
+TMP_9 TMP_13 TMP_32 H3))))))))) in (ex2_ind C TMP_1 TMP_2 TMP_6 TMP_33 
+H0)))))))))).
 
 theorem getl_gen_flat:
  \forall (f: F).(\forall (e: C).(\forall (d: C).(\forall (v: T).(\forall (i: 
 nat).((getl i (CHead e (Flat f) v) d) \to (getl i e d))))))
 \def
  \lambda (f: F).(\lambda (e: C).(\lambda (d: C).(\lambda (v: T).(\lambda (i: 
-nat).(nat_ind (\lambda (n: nat).((getl n (CHead e (Flat f) v) d) \to (getl n 
-e d))) (\lambda (H: (getl O (CHead e (Flat f) v) d)).(getl_intro O e d e 
-(drop_refl e) (clear_gen_flat f e d v (getl_gen_O (CHead e (Flat f) v) d 
-H)))) (\lambda (n: nat).(\lambda (_: (((getl n (CHead e (Flat f) v) d) \to 
-(getl n e d)))).(\lambda (H0: (getl (S n) (CHead e (Flat f) v) 
-d)).(getl_gen_S (Flat f) e d v n H0)))) i))))).
-(* COMMENTS
-Initial nodes: 155
-END *)
+nat).(let TMP_1 \def (\lambda (n: nat).((getl n (CHead e (Flat f) v) d) \to 
+(getl n e d))) in (let TMP_7 \def (\lambda (H: (getl O (CHead e (Flat f) v) 
+d)).(let TMP_2 \def (drop_refl e) in (let TMP_3 \def (Flat f) in (let TMP_4 
+\def (CHead e TMP_3 v) in (let TMP_5 \def (getl_gen_O TMP_4 d H) in (let 
+TMP_6 \def (clear_gen_flat f e d v TMP_5) in (getl_intro O e d e TMP_2 
+TMP_6))))))) in (let TMP_9 \def (\lambda (n: nat).(\lambda (_: (((getl n 
+(CHead e (Flat f) v) d) \to (getl n e d)))).(\lambda (H0: (getl (S n) (CHead 
+e (Flat f) v) d)).(let TMP_8 \def (Flat f) in (getl_gen_S TMP_8 e d v n 
+H0))))) in (nat_ind TMP_1 TMP_7 TMP_9 i)))))))).
 
 theorem getl_gen_bind:
  \forall (b: B).(\forall (e: C).(\forall (d: C).(\forall (v: T).(\forall (i: 
@@ -123,26 +143,72 @@ nat).((getl i (CHead e (Bind b) v) d) \to (or (land (eq nat i O) (eq C d
 (j: nat).(getl j e d)))))))))
 \def
  \lambda (b: B).(\lambda (e: C).(\lambda (d: C).(\lambda (v: T).(\lambda (i: 
-nat).(nat_ind (\lambda (n: nat).((getl n (CHead e (Bind b) v) d) \to (or 
-(land (eq nat n O) (eq C d (CHead e (Bind b) v))) (ex2 nat (\lambda (j: 
-nat).(eq nat n (S j))) (\lambda (j: nat).(getl j e d)))))) (\lambda (H: (getl 
-O (CHead e (Bind b) v) d)).(eq_ind_r C (CHead e (Bind b) v) (\lambda (c: 
-C).(or (land (eq nat O O) (eq C c (CHead e (Bind b) v))) (ex2 nat (\lambda 
-(j: nat).(eq nat O (S j))) (\lambda (j: nat).(getl j e c))))) (or_introl 
-(land (eq nat O O) (eq C (CHead e (Bind b) v) (CHead e (Bind b) v))) (ex2 nat 
-(\lambda (j: nat).(eq nat O (S j))) (\lambda (j: nat).(getl j e (CHead e 
-(Bind b) v)))) (conj (eq nat O O) (eq C (CHead e (Bind b) v) (CHead e (Bind 
-b) v)) (refl_equal nat O) (refl_equal C (CHead e (Bind b) v)))) d 
-(clear_gen_bind b e d v (getl_gen_O (CHead e (Bind b) v) d H)))) (\lambda (n: 
+nat).(let TMP_10 \def (\lambda (n: nat).((getl n (CHead e (Bind b) v) d) \to 
+(let TMP_1 \def (eq nat n O) in (let TMP_2 \def (Bind b) in (let TMP_3 \def 
+(CHead e TMP_2 v) in (let TMP_4 \def (eq C d TMP_3) in (let TMP_5 \def (land 
+TMP_1 TMP_4) in (let TMP_7 \def (\lambda (j: nat).(let TMP_6 \def (S j) in 
+(eq nat n TMP_6))) in (let TMP_8 \def (\lambda (j: nat).(getl j e d)) in (let 
+TMP_9 \def (ex2 nat TMP_7 TMP_8) in (or TMP_5 TMP_9))))))))))) in (let TMP_52 
+\def (\lambda (H: (getl O (CHead e (Bind b) v) d)).(let TMP_11 \def (Bind b) 
+in (let TMP_12 \def (CHead e TMP_11 v) in (let TMP_22 \def (\lambda (c: 
+C).(let TMP_13 \def (eq nat O O) in (let TMP_14 \def (Bind b) in (let TMP_15 
+\def (CHead e TMP_14 v) in (let TMP_16 \def (eq C c TMP_15) in (let TMP_17 
+\def (land TMP_13 TMP_16) in (let TMP_19 \def (\lambda (j: nat).(let TMP_18 
+\def (S j) in (eq nat O TMP_18))) in (let TMP_20 \def (\lambda (j: nat).(getl 
+j e c)) in (let TMP_21 \def (ex2 nat TMP_19 TMP_20) in (or TMP_17 
+TMP_21)))))))))) in (let TMP_23 \def (eq nat O O) in (let TMP_24 \def (Bind 
+b) in (let TMP_25 \def (CHead e TMP_24 v) in (let TMP_26 \def (Bind b) in 
+(let TMP_27 \def (CHead e TMP_26 v) in (let TMP_28 \def (eq C TMP_25 TMP_27) 
+in (let TMP_29 \def (land TMP_23 TMP_28) in (let TMP_31 \def (\lambda (j: 
+nat).(let TMP_30 \def (S j) in (eq nat O TMP_30))) in (let TMP_34 \def 
+(\lambda (j: nat).(let TMP_32 \def (Bind b) in (let TMP_33 \def (CHead e 
+TMP_32 v) in (getl j e TMP_33)))) in (let TMP_35 \def (ex2 nat TMP_31 TMP_34) 
+in (let TMP_36 \def (eq nat O O) in (let TMP_37 \def (Bind b) in (let TMP_38 
+\def (CHead e TMP_37 v) in (let TMP_39 \def (Bind b) in (let TMP_40 \def 
+(CHead e TMP_39 v) in (let TMP_41 \def (eq C TMP_38 TMP_40) in (let TMP_42 
+\def (refl_equal nat O) in (let TMP_43 \def (Bind b) in (let TMP_44 \def 
+(CHead e TMP_43 v) in (let TMP_45 \def (refl_equal C TMP_44) in (let TMP_46 
+\def (conj TMP_36 TMP_41 TMP_42 TMP_45) in (let TMP_47 \def (or_introl TMP_29 
+TMP_35 TMP_46) in (let TMP_48 \def (Bind b) in (let TMP_49 \def (CHead e 
+TMP_48 v) in (let TMP_50 \def (getl_gen_O TMP_49 d H) in (let TMP_51 \def 
+(clear_gen_bind b e d v TMP_50) in (eq_ind_r C TMP_12 TMP_22 TMP_47 d 
+TMP_51))))))))))))))))))))))))))))))) in (let TMP_73 \def (\lambda (n: 
 nat).(\lambda (_: (((getl n (CHead e (Bind b) v) d) \to (or (land (eq nat n 
 O) (eq C d (CHead e (Bind b) v))) (ex2 nat (\lambda (j: nat).(eq nat n (S 
 j))) (\lambda (j: nat).(getl j e d))))))).(\lambda (H0: (getl (S n) (CHead e 
-(Bind b) v) d)).(or_intror (land (eq nat (S n) O) (eq C d (CHead e (Bind b) 
-v))) (ex2 nat (\lambda (j: nat).(eq nat (S n) (S j))) (\lambda (j: nat).(getl 
-j e d))) (ex_intro2 nat (\lambda (j: nat).(eq nat (S n) (S j))) (\lambda (j: 
-nat).(getl j e d)) n (refl_equal nat (S n)) (getl_gen_S (Bind b) e d v n 
-H0)))))) i))))).
-(* COMMENTS
-Initial nodes: 525
-END *)
+(Bind b) v) d)).(let TMP_53 \def (S n) in (let TMP_54 \def (eq nat TMP_53 O) 
+in (let TMP_55 \def (Bind b) in (let TMP_56 \def (CHead e TMP_55 v) in (let 
+TMP_57 \def (eq C d TMP_56) in (let TMP_58 \def (land TMP_54 TMP_57) in (let 
+TMP_61 \def (\lambda (j: nat).(let TMP_59 \def (S n) in (let TMP_60 \def (S 
+j) in (eq nat TMP_59 TMP_60)))) in (let TMP_62 \def (\lambda (j: nat).(getl j 
+e d)) in (let TMP_63 \def (ex2 nat TMP_61 TMP_62) in (let TMP_66 \def 
+(\lambda (j: nat).(let TMP_64 \def (S n) in (let TMP_65 \def (S j) in (eq nat 
+TMP_64 TMP_65)))) in (let TMP_67 \def (\lambda (j: nat).(getl j e d)) in (let 
+TMP_68 \def (S n) in (let TMP_69 \def (refl_equal nat TMP_68) in (let TMP_70 
+\def (Bind b) in (let TMP_71 \def (getl_gen_S TMP_70 e d v n H0) in (let 
+TMP_72 \def (ex_intro2 nat TMP_66 TMP_67 n TMP_69 TMP_71) in (or_intror 
+TMP_58 TMP_63 TMP_72)))))))))))))))))))) in (nat_ind TMP_10 TMP_52 TMP_73 
+i)))))))).
+
+theorem getl_mono:
+ \forall (c: C).(\forall (x1: C).(\forall (h: nat).((getl h c x1) \to 
+(\forall (x2: C).((getl h c x2) \to (eq C x1 x2))))))
+\def
+ \lambda (c: C).(\lambda (x1: C).(\lambda (h: nat).(\lambda (H: (getl h c 
+x1)).(\lambda (x2: C).(\lambda (H0: (getl h c x2)).(let H1 \def (getl_gen_all 
+c x2 h H0) in (let TMP_1 \def (\lambda (e: C).(drop h O c e)) in (let TMP_2 
+\def (\lambda (e: C).(clear e x2)) in (let TMP_3 \def (eq C x1 x2) in (let 
+TMP_14 \def (\lambda (x: C).(\lambda (H2: (drop h O c x)).(\lambda (H3: 
+(clear x x2)).(let H4 \def (getl_gen_all c x1 h H) in (let TMP_4 \def 
+(\lambda (e: C).(drop h O c e)) in (let TMP_5 \def (\lambda (e: C).(clear e 
+x1)) in (let TMP_6 \def (eq C x1 x2) in (let TMP_13 \def (\lambda (x0: 
+C).(\lambda (H5: (drop h O c x0)).(\lambda (H6: (clear x0 x1)).(let TMP_7 
+\def (\lambda (c0: C).(drop h O c c0)) in (let TMP_8 \def (drop_mono c x O h 
+H2 x0 H5) in (let H7 \def (eq_ind C x TMP_7 H2 x0 TMP_8) in (let TMP_9 \def 
+(\lambda (c0: C).(drop h O c c0)) in (let TMP_10 \def (drop_mono c x O h H2 
+x0 H5) in (let H8 \def (eq_ind_r C x0 TMP_9 H7 x TMP_10) in (let TMP_11 \def 
+(\lambda (c0: C).(clear c0 x1)) in (let TMP_12 \def (drop_mono c x O h H2 x0 
+H5) in (let H9 \def (eq_ind_r C x0 TMP_11 H6 x TMP_12) in (clear_mono x x1 H9 
+x2 H3))))))))))))) in (ex2_ind C TMP_4 TMP_5 TMP_6 TMP_13 H4))))))))) in 
+(ex2_ind C TMP_1 TMP_2 TMP_3 TMP_14 H1))))))))))).
 
index 71327becf1ca702dd30b78346cfa1c1837352472..824b1b181ec439cb334d1b08f3624c4137d909a2 100644 (file)
@@ -14,9 +14,9 @@
 
 (* This file was automatically generated: do not edit *********************)
 
-include "Basic-1/getl/drop.ma".
+include "basic_1/getl/drop.ma".
 
-include "Basic-1/getl/clear.ma".
+include "basic_1/getl/clear.ma".
 
 theorem getl_conf_le:
  \forall (i: nat).(\forall (a: C).(\forall (c: C).((getl i c a) \to (\forall 
@@ -25,14 +25,13 @@ a))))))))
 \def
  \lambda (i: nat).(\lambda (a: C).(\lambda (c: C).(\lambda (H: (getl i c 
 a)).(\lambda (e: C).(\lambda (h: nat).(\lambda (H0: (getl h c e)).(\lambda 
-(H1: (le h i)).(let H2 \def (getl_gen_all c e h H0) in (ex2_ind C (\lambda 
-(e0: C).(drop h O c e0)) (\lambda (e0: C).(clear e0 e)) (getl (minus i h) e 
-a) (\lambda (x: C).(\lambda (H3: (drop h O c x)).(\lambda (H4: (clear x 
-e)).(getl_clear_conf (minus i h) x a (getl_drop_conf_ge i a c H x h O H3 H1) 
-e H4)))) H2))))))))).
-(* COMMENTS
-Initial nodes: 133
-END *)
+(H1: (le h i)).(let H2 \def (getl_gen_all c e h H0) in (let TMP_1 \def 
+(\lambda (e0: C).(drop h O c e0)) in (let TMP_2 \def (\lambda (e0: C).(clear 
+e0 e)) in (let TMP_3 \def (minus i h) in (let TMP_4 \def (getl TMP_3 e a) in 
+(let TMP_7 \def (\lambda (x: C).(\lambda (H3: (drop h O c x)).(\lambda (H4: 
+(clear x e)).(let TMP_5 \def (minus i h) in (let TMP_6 \def 
+(getl_drop_conf_ge i a c H x h O H3 H1) in (getl_clear_conf TMP_5 x a TMP_6 e 
+H4)))))) in (ex2_ind C TMP_1 TMP_2 TMP_4 TMP_7 H2)))))))))))))).
 
 theorem getl_trans:
  \forall (i: nat).(\forall (c1: C).(\forall (c2: C).(\forall (h: nat).((getl 
@@ -41,17 +40,19 @@ e2)))))))
 \def
  \lambda (i: nat).(\lambda (c1: C).(\lambda (c2: C).(\lambda (h: 
 nat).(\lambda (H: (getl h c1 c2)).(\lambda (e2: C).(\lambda (H0: (getl i c2 
-e2)).(let H1 \def (getl_gen_all c2 e2 i H0) in (ex2_ind C (\lambda (e: 
-C).(drop i O c2 e)) (\lambda (e: C).(clear e e2)) (getl (plus i h) c1 e2) 
-(\lambda (x: C).(\lambda (H2: (drop i O c2 x)).(\lambda (H3: (clear x 
-e2)).(nat_ind (\lambda (n: nat).((drop n O c2 x) \to (getl (plus n h) c1 
-e2))) (\lambda (H4: (drop O O c2 x)).(let H5 \def (eq_ind_r C x (\lambda (c: 
-C).(clear c e2)) H3 c2 (drop_gen_refl c2 x H4)) in (getl_clear_trans (plus O 
-h) c1 c2 H e2 H5))) (\lambda (i0: nat).(\lambda (_: (((drop i0 O c2 x) \to 
-(getl (plus i0 h) c1 e2)))).(\lambda (H4: (drop (S i0) O c2 x)).(let H_y \def 
-(getl_drop_trans c1 c2 h H x i0 H4) in (getl_intro (plus (S i0) h) c1 e2 x 
-H_y H3))))) i H2)))) H1)))))))).
-(* COMMENTS
-Initial nodes: 247
-END *)
+e2)).(let H1 \def (getl_gen_all c2 e2 i H0) in (let TMP_1 \def (\lambda (e: 
+C).(drop i O c2 e)) in (let TMP_2 \def (\lambda (e: C).(clear e e2)) in (let 
+TMP_3 \def (plus i h) in (let TMP_4 \def (getl TMP_3 c1 e2) in (let TMP_14 
+\def (\lambda (x: C).(\lambda (H2: (drop i O c2 x)).(\lambda (H3: (clear x 
+e2)).(let TMP_6 \def (\lambda (n: nat).((drop n O c2 x) \to (let TMP_5 \def 
+(plus n h) in (getl TMP_5 c1 e2)))) in (let TMP_10 \def (\lambda (H4: (drop O 
+O c2 x)).(let TMP_7 \def (\lambda (c: C).(clear c e2)) in (let TMP_8 \def 
+(drop_gen_refl c2 x H4) in (let H5 \def (eq_ind_r C x TMP_7 H3 c2 TMP_8) in 
+(let TMP_9 \def (plus O h) in (getl_clear_trans TMP_9 c1 c2 H e2 H5)))))) in 
+(let TMP_13 \def (\lambda (i0: nat).(\lambda (_: (((drop i0 O c2 x) \to (getl 
+(plus i0 h) c1 e2)))).(\lambda (H4: (drop (S i0) O c2 x)).(let H_y \def 
+(getl_drop_trans c1 c2 h H x i0 H4) in (let TMP_11 \def (S i0) in (let TMP_12 
+\def (plus TMP_11 h) in (getl_intro TMP_12 c1 e2 x H_y H3))))))) in (nat_ind 
+TMP_6 TMP_10 TMP_13 i H2))))))) in (ex2_ind C TMP_1 TMP_2 TMP_4 TMP_14 
+H1))))))))))))).
 
index 9399ad4abfd36b13857e12ff20e7032a3710fe91..2747e0c746cf9e2e840e614ccbbbf20ab0919769 100644 (file)
 
 (* This file was automatically generated: do not edit *********************)
 
-include "Basic-1/getl/fwd.ma".
+include "basic_1/getl/fwd.ma".
 
-include "Basic-1/drop/props.ma".
+include "basic_1/clear/props.ma".
 
-include "Basic-1/clear/props.ma".
+include "basic_1/drop/props.ma".
 
 theorem getl_refl:
  \forall (b: B).(\forall (c: C).(\forall (u: T).(getl O (CHead c (Bind b) u) 
 (CHead c (Bind b) u))))
 \def
- \lambda (b: B).(\lambda (c: C).(\lambda (u: T).(getl_intro O (CHead c (Bind 
-b) u) (CHead c (Bind b) u) (CHead c (Bind b) u) (drop_refl (CHead c (Bind b) 
-u)) (clear_bind b c u)))).
-(* COMMENTS
-Initial nodes: 59
-END *)
+ \lambda (b: B).(\lambda (c: C).(\lambda (u: T).(let TMP_1 \def (Bind b) in 
+(let TMP_2 \def (CHead c TMP_1 u) in (let TMP_3 \def (Bind b) in (let TMP_4 
+\def (CHead c TMP_3 u) in (let TMP_5 \def (Bind b) in (let TMP_6 \def (CHead 
+c TMP_5 u) in (let TMP_7 \def (Bind b) in (let TMP_8 \def (CHead c TMP_7 u) 
+in (let TMP_9 \def (drop_refl TMP_8) in (let TMP_10 \def (clear_bind b c u) 
+in (getl_intro O TMP_2 TMP_4 TMP_6 TMP_9 TMP_10))))))))))))).
 
 theorem getl_head:
  \forall (k: K).(\forall (h: nat).(\forall (c: C).(\forall (e: C).((getl (r k 
 h) c e) \to (\forall (u: T).(getl (S h) (CHead c k u) e))))))
 \def
  \lambda (k: K).(\lambda (h: nat).(\lambda (c: C).(\lambda (e: C).(\lambda 
-(H: (getl (r k h) c e)).(\lambda (u: T).(let H0 \def (getl_gen_all c e (r k 
-h) H) in (ex2_ind C (\lambda (e0: C).(drop (r k h) O c e0)) (\lambda (e0: 
-C).(clear e0 e)) (getl (S h) (CHead c k u) e) (\lambda (x: C).(\lambda (H1: 
-(drop (r k h) O c x)).(\lambda (H2: (clear x e)).(getl_intro (S h) (CHead c k 
-u) e x (drop_drop k h c x H1 u) H2)))) H0))))))).
-(* COMMENTS
-Initial nodes: 137
-END *)
+(H: (getl (r k h) c e)).(\lambda (u: T).(let TMP_1 \def (r k h) in (let H0 
+\def (getl_gen_all c e TMP_1 H) in (let TMP_3 \def (\lambda (e0: C).(let 
+TMP_2 \def (r k h) in (drop TMP_2 O c e0))) in (let TMP_4 \def (\lambda (e0: 
+C).(clear e0 e)) in (let TMP_5 \def (S h) in (let TMP_6 \def (CHead c k u) in 
+(let TMP_7 \def (getl TMP_5 TMP_6 e) in (let TMP_11 \def (\lambda (x: 
+C).(\lambda (H1: (drop (r k h) O c x)).(\lambda (H2: (clear x e)).(let TMP_8 
+\def (S h) in (let TMP_9 \def (CHead c k u) in (let TMP_10 \def (drop_drop k 
+h c x H1 u) in (getl_intro TMP_8 TMP_9 e x TMP_10 H2))))))) in (ex2_ind C 
+TMP_3 TMP_4 TMP_7 TMP_11 H0)))))))))))))).
 
 theorem getl_flat:
  \forall (c: C).(\forall (e: C).(\forall (h: nat).((getl h c e) \to (\forall 
@@ -51,19 +52,25 @@ theorem getl_flat:
 \def
  \lambda (c: C).(\lambda (e: C).(\lambda (h: nat).(\lambda (H: (getl h c 
 e)).(\lambda (f: F).(\lambda (u: T).(let H0 \def (getl_gen_all c e h H) in 
-(ex2_ind C (\lambda (e0: C).(drop h O c e0)) (\lambda (e0: C).(clear e0 e)) 
-(getl h (CHead c (Flat f) u) e) (\lambda (x: C).(\lambda (H1: (drop h O c 
-x)).(\lambda (H2: (clear x e)).(nat_ind (\lambda (n: nat).((drop n O c x) \to 
-(getl n (CHead c (Flat f) u) e))) (\lambda (H3: (drop O O c x)).(let H4 \def 
-(eq_ind_r C x (\lambda (c0: C).(clear c0 e)) H2 c (drop_gen_refl c x H3)) in 
-(getl_intro O (CHead c (Flat f) u) e (CHead c (Flat f) u) (drop_refl (CHead c 
-(Flat f) u)) (clear_flat c e H4 f u)))) (\lambda (h0: nat).(\lambda (_: 
-(((drop h0 O c x) \to (getl h0 (CHead c (Flat f) u) e)))).(\lambda (H3: (drop 
-(S h0) O c x)).(getl_intro (S h0) (CHead c (Flat f) u) e x (drop_drop (Flat 
-f) h0 c x H3 u) H2)))) h H1)))) H0))))))).
-(* COMMENTS
-Initial nodes: 285
-END *)
+(let TMP_1 \def (\lambda (e0: C).(drop h O c e0)) in (let TMP_2 \def (\lambda 
+(e0: C).(clear e0 e)) in (let TMP_3 \def (Flat f) in (let TMP_4 \def (CHead c 
+TMP_3 u) in (let TMP_5 \def (getl h TMP_4 e) in (let TMP_26 \def (\lambda (x: 
+C).(\lambda (H1: (drop h O c x)).(\lambda (H2: (clear x e)).(let TMP_8 \def 
+(\lambda (n: nat).((drop n O c x) \to (let TMP_6 \def (Flat f) in (let TMP_7 
+\def (CHead c TMP_6 u) in (getl n TMP_7 e))))) in (let TMP_19 \def (\lambda 
+(H3: (drop O O c x)).(let TMP_9 \def (\lambda (c0: C).(clear c0 e)) in (let 
+TMP_10 \def (drop_gen_refl c x H3) in (let H4 \def (eq_ind_r C x TMP_9 H2 c 
+TMP_10) in (let TMP_11 \def (Flat f) in (let TMP_12 \def (CHead c TMP_11 u) 
+in (let TMP_13 \def (Flat f) in (let TMP_14 \def (CHead c TMP_13 u) in (let 
+TMP_15 \def (Flat f) in (let TMP_16 \def (CHead c TMP_15 u) in (let TMP_17 
+\def (drop_refl TMP_16) in (let TMP_18 \def (clear_flat c e H4 f u) in 
+(getl_intro O TMP_12 e TMP_14 TMP_17 TMP_18))))))))))))) in (let TMP_25 \def 
+(\lambda (h0: nat).(\lambda (_: (((drop h0 O c x) \to (getl h0 (CHead c (Flat 
+f) u) e)))).(\lambda (H3: (drop (S h0) O c x)).(let TMP_20 \def (S h0) in 
+(let TMP_21 \def (Flat f) in (let TMP_22 \def (CHead c TMP_21 u) in (let 
+TMP_23 \def (Flat f) in (let TMP_24 \def (drop_drop TMP_23 h0 c x H3 u) in 
+(getl_intro TMP_20 TMP_22 e x TMP_24 H2))))))))) in (nat_ind TMP_8 TMP_19 
+TMP_25 h H1))))))) in (ex2_ind C TMP_1 TMP_2 TMP_5 TMP_26 H0))))))))))))).
 
 theorem getl_ctail:
  \forall (b: B).(\forall (c: C).(\forall (d: C).(\forall (u: T).(\forall (i: 
@@ -72,33 +79,17 @@ T).(getl i (CTail k v c) (CHead (CTail k v d) (Bind b) u)))))))))
 \def
  \lambda (b: B).(\lambda (c: C).(\lambda (d: C).(\lambda (u: T).(\lambda (i: 
 nat).(\lambda (H: (getl i c (CHead d (Bind b) u))).(\lambda (k: K).(\lambda 
-(v: T).(let H0 \def (getl_gen_all c (CHead d (Bind b) u) i H) in (ex2_ind C 
-(\lambda (e: C).(drop i O c e)) (\lambda (e: C).(clear e (CHead d (Bind b) 
-u))) (getl i (CTail k v c) (CHead (CTail k v d) (Bind b) u)) (\lambda (x: 
-C).(\lambda (H1: (drop i O c x)).(\lambda (H2: (clear x (CHead d (Bind b) 
-u))).(getl_intro i (CTail k v c) (CHead (CTail k v d) (Bind b) u) (CTail k v 
-x) (drop_ctail c x O i H1 k v) (clear_ctail b x d u H2 k v))))) H0))))))))).
-(* COMMENTS
-Initial nodes: 203
-END *)
-
-theorem getl_mono:
- \forall (c: C).(\forall (x1: C).(\forall (h: nat).((getl h c x1) \to 
-(\forall (x2: C).((getl h c x2) \to (eq C x1 x2))))))
-\def
- \lambda (c: C).(\lambda (x1: C).(\lambda (h: nat).(\lambda (H: (getl h c 
-x1)).(\lambda (x2: C).(\lambda (H0: (getl h c x2)).(let H1 \def (getl_gen_all 
-c x2 h H0) in (ex2_ind C (\lambda (e: C).(drop h O c e)) (\lambda (e: 
-C).(clear e x2)) (eq C x1 x2) (\lambda (x: C).(\lambda (H2: (drop h O c 
-x)).(\lambda (H3: (clear x x2)).(let H4 \def (getl_gen_all c x1 h H) in 
-(ex2_ind C (\lambda (e: C).(drop h O c e)) (\lambda (e: C).(clear e x1)) (eq 
-C x1 x2) (\lambda (x0: C).(\lambda (H5: (drop h O c x0)).(\lambda (H6: (clear 
-x0 x1)).(let H7 \def (eq_ind C x (\lambda (c0: C).(drop h O c c0)) H2 x0 
-(drop_mono c x O h H2 x0 H5)) in (let H8 \def (eq_ind_r C x0 (\lambda (c0: 
-C).(drop h O c c0)) H7 x (drop_mono c x O h H2 x0 H5)) in (let H9 \def 
-(eq_ind_r C x0 (\lambda (c0: C).(clear c0 x1)) H6 x (drop_mono c x O h H2 x0 
-H5)) in (clear_mono x x1 H9 x2 H3))))))) H4))))) H1))))))).
-(* COMMENTS
-Initial nodes: 269
-END *)
+(v: T).(let TMP_1 \def (Bind b) in (let TMP_2 \def (CHead d TMP_1 u) in (let 
+H0 \def (getl_gen_all c TMP_2 i H) in (let TMP_3 \def (\lambda (e: C).(drop i 
+O c e)) in (let TMP_6 \def (\lambda (e: C).(let TMP_4 \def (Bind b) in (let 
+TMP_5 \def (CHead d TMP_4 u) in (clear e TMP_5)))) in (let TMP_7 \def (CTail 
+k v c) in (let TMP_8 \def (CTail k v d) in (let TMP_9 \def (Bind b) in (let 
+TMP_10 \def (CHead TMP_8 TMP_9 u) in (let TMP_11 \def (getl i TMP_7 TMP_10) 
+in (let TMP_19 \def (\lambda (x: C).(\lambda (H1: (drop i O c x)).(\lambda 
+(H2: (clear x (CHead d (Bind b) u))).(let TMP_12 \def (CTail k v c) in (let 
+TMP_13 \def (CTail k v d) in (let TMP_14 \def (Bind b) in (let TMP_15 \def 
+(CHead TMP_13 TMP_14 u) in (let TMP_16 \def (CTail k v x) in (let TMP_17 \def 
+(drop_ctail c x O i H1 k v) in (let TMP_18 \def (clear_ctail b x d u H2 k v) 
+in (getl_intro i TMP_12 TMP_15 TMP_16 TMP_17 TMP_18))))))))))) in (ex2_ind C 
+TMP_3 TMP_6 TMP_11 TMP_19 H0))))))))))))))))))).