-T).(sn3 c t0)) (land (sn3 c u) (sn3 c t)) (\lambda (y: T).(\lambda (H0: (sn3
-c y)).(unintro T t (\lambda (t0: T).((eq T y (THead (Flat f) u t0)) \to (land
-(sn3 c u) (sn3 c t0)))) (unintro T u (\lambda (t0: T).(\forall (x: T).((eq T
-y (THead (Flat f) t0 x)) \to (land (sn3 c t0) (sn3 c x))))) (sn3_ind c
-(\lambda (t0: T).(\forall (x: T).(\forall (x0: T).((eq T t0 (THead (Flat f) x
-x0)) \to (land (sn3 c x) (sn3 c x0)))))) (\lambda (t1: T).(\lambda (H1:
-((\forall (t2: T).((((eq T t1 t2) \to (\forall (P: Prop).P))) \to ((pr3 c t1
-t2) \to (sn3 c t2)))))).(\lambda (H2: ((\forall (t2: T).((((eq T t1 t2) \to
-(\forall (P: Prop).P))) \to ((pr3 c t1 t2) \to (\forall (x: T).(\forall (x0:
-T).((eq T t2 (THead (Flat f) x x0)) \to (land (sn3 c x) (sn3 c
-x0)))))))))).(\lambda (x: T).(\lambda (x0: T).(\lambda (H3: (eq T t1 (THead
-(Flat f) x x0))).(let H4 \def (eq_ind T t1 (\lambda (t0: T).(\forall (t2:
-T).((((eq T t0 t2) \to (\forall (P: Prop).P))) \to ((pr3 c t0 t2) \to
-(\forall (x1: T).(\forall (x2: T).((eq T t2 (THead (Flat f) x1 x2)) \to (land
-(sn3 c x1) (sn3 c x2))))))))) H2 (THead (Flat f) x x0) H3) in (let H5 \def
-(eq_ind T t1 (\lambda (t0: T).(\forall (t2: T).((((eq T t0 t2) \to (\forall
-(P: Prop).P))) \to ((pr3 c t0 t2) \to (sn3 c t2))))) H1 (THead (Flat f) x x0)
-H3) in (conj (sn3 c x) (sn3 c x0) (sn3_sing c x (\lambda (t2: T).(\lambda
-(H6: (((eq T x t2) \to (\forall (P: Prop).P)))).(\lambda (H7: (pr3 c x
-t2)).(let H8 \def (H4 (THead (Flat f) t2 x0) (\lambda (H8: (eq T (THead (Flat
-f) x x0) (THead (Flat f) t2 x0))).(\lambda (P: Prop).(let H9 \def (f_equal T
-T (\lambda (e: T).(match e in T return (\lambda (_: T).T) with [(TSort _)
-\Rightarrow x | (TLRef _) \Rightarrow x | (THead _ t0 _) \Rightarrow t0]))
-(THead (Flat f) x x0) (THead (Flat f) t2 x0) H8) in (let H10 \def (eq_ind_r T
-t2 (\lambda (t0: T).(pr3 c x t0)) H7 x H9) in (let H11 \def (eq_ind_r T t2
-(\lambda (t0: T).((eq T x t0) \to (\forall (P0: Prop).P0))) H6 x H9) in (H11
-(refl_equal T x) P)))))) (pr3_head_12 c x t2 H7 (Flat f) x0 x0 (pr3_refl
-(CHead c (Flat f) t2) x0)) t2 x0 (refl_equal T (THead (Flat f) t2 x0))) in
-(and_ind (sn3 c t2) (sn3 c x0) (sn3 c t2) (\lambda (H9: (sn3 c t2)).(\lambda
-(_: (sn3 c x0)).H9)) H8)))))) (sn3_sing c x0 (\lambda (t2: T).(\lambda (H6:
-(((eq T x0 t2) \to (\forall (P: Prop).P)))).(\lambda (H7: (pr3 c x0 t2)).(let
-H8 \def (H4 (THead (Flat f) x t2) (\lambda (H8: (eq T (THead (Flat f) x x0)
-(THead (Flat f) x t2))).(\lambda (P: Prop).(let H9 \def (f_equal T T (\lambda
-(e: T).(match e in T return (\lambda (_: T).T) with [(TSort _) \Rightarrow x0
-| (TLRef _) \Rightarrow x0 | (THead _ _ t0) \Rightarrow t0])) (THead (Flat f)
-x x0) (THead (Flat f) x t2) H8) in (let H10 \def (eq_ind_r T t2 (\lambda (t0:
+T).(sn3 c t0)) (\lambda (_: T).(land (sn3 c u) (sn3 c t))) (\lambda (y:
+T).(\lambda (H0: (sn3 c y)).(unintro T t (\lambda (t0: T).((eq T y (THead
+(Flat f) u t0)) \to (land (sn3 c u) (sn3 c t0)))) (unintro T u (\lambda (t0:
+T).(\forall (x: T).((eq T y (THead (Flat f) t0 x)) \to (land (sn3 c t0) (sn3
+c x))))) (sn3_ind c (\lambda (t0: T).(\forall (x: T).(\forall (x0: T).((eq T
+t0 (THead (Flat f) x x0)) \to (land (sn3 c x) (sn3 c x0)))))) (\lambda (t1:
+T).(\lambda (H1: ((\forall (t2: T).((((eq T t1 t2) \to (\forall (P:
+Prop).P))) \to ((pr3 c t1 t2) \to (sn3 c t2)))))).(\lambda (H2: ((\forall
+(t2: T).((((eq T t1 t2) \to (\forall (P: Prop).P))) \to ((pr3 c t1 t2) \to
+(\forall (x: T).(\forall (x0: T).((eq T t2 (THead (Flat f) x x0)) \to (land
+(sn3 c x) (sn3 c x0)))))))))).(\lambda (x: T).(\lambda (x0: T).(\lambda (H3:
+(eq T t1 (THead (Flat f) x x0))).(let H4 \def (eq_ind T t1 (\lambda (t0:
+T).(\forall (t2: T).((((eq T t0 t2) \to (\forall (P: Prop).P))) \to ((pr3 c
+t0 t2) \to (\forall (x1: T).(\forall (x2: T).((eq T t2 (THead (Flat f) x1
+x2)) \to (land (sn3 c x1) (sn3 c x2))))))))) H2 (THead (Flat f) x x0) H3) in
+(let H5 \def (eq_ind T t1 (\lambda (t0: T).(\forall (t2: T).((((eq T t0 t2)
+\to (\forall (P: Prop).P))) \to ((pr3 c t0 t2) \to (sn3 c t2))))) H1 (THead
+(Flat f) x x0) H3) in (conj (sn3 c x) (sn3 c x0) (sn3_sing c x (\lambda (t2:
+T).(\lambda (H6: (((eq T x t2) \to (\forall (P: Prop).P)))).(\lambda (H7:
+(pr3 c x t2)).(let H8 \def (H4 (THead (Flat f) t2 x0) (\lambda (H8: (eq T
+(THead (Flat f) x x0) (THead (Flat f) t2 x0))).(\lambda (P: Prop).(let H9
+\def (f_equal T T (\lambda (e: T).(match e in T return (\lambda (_: T).T)
+with [(TSort _) \Rightarrow x | (TLRef _) \Rightarrow x | (THead _ t0 _)
+\Rightarrow t0])) (THead (Flat f) x x0) (THead (Flat f) t2 x0) H8) in (let
+H10 \def (eq_ind_r T t2 (\lambda (t0: T).(pr3 c x t0)) H7 x H9) in (let H11
+\def (eq_ind_r T t2 (\lambda (t0: T).((eq T x t0) \to (\forall (P0:
+Prop).P0))) H6 x H9) in (H11 (refl_equal T x) P)))))) (pr3_head_12 c x t2 H7
+(Flat f) x0 x0 (pr3_refl (CHead c (Flat f) t2) x0)) t2 x0 (refl_equal T
+(THead (Flat f) t2 x0))) in (and_ind (sn3 c t2) (sn3 c x0) (sn3 c t2)
+(\lambda (H9: (sn3 c t2)).(\lambda (_: (sn3 c x0)).H9)) H8)))))) (sn3_sing c
+x0 (\lambda (t2: T).(\lambda (H6: (((eq T x0 t2) \to (\forall (P:
+Prop).P)))).(\lambda (H7: (pr3 c x0 t2)).(let H8 \def (H4 (THead (Flat f) x
+t2) (\lambda (H8: (eq T (THead (Flat f) x x0) (THead (Flat f) x
+t2))).(\lambda (P: Prop).(let H9 \def (f_equal T T (\lambda (e: T).(match e
+in T return (\lambda (_: T).T) with [(TSort _) \Rightarrow x0 | (TLRef _)
+\Rightarrow x0 | (THead _ _ t0) \Rightarrow t0])) (THead (Flat f) x x0)
+(THead (Flat f) x t2) H8) in (let H10 \def (eq_ind_r T t2 (\lambda (t0: