- \lambda (g: G).(\lambda (h: nat).(\lambda (k: nat).(\lambda (n: nat).(let
-TMP_1 \def (ASort k n) in (let TMP_2 \def (aplus g TMP_1 h) in (let TMP_3
-\def (minus k h) in (let TMP_4 \def (minus h k) in (let TMP_5 \def (next_plus
-g n TMP_4) in (let TMP_6 \def (ASort TMP_3 TMP_5) in (let TMP_7 \def (eq A
-TMP_2 TMP_6) in (let TMP_92 \def (\lambda (H: (lt k h)).(let TMP_8 \def
-(minus h k) in (let TMP_9 \def (plus k TMP_8) in (let TMP_16 \def (\lambda
-(n0: nat).(let TMP_10 \def (ASort k n) in (let TMP_11 \def (aplus g TMP_10
-n0) in (let TMP_12 \def (minus k h) in (let TMP_13 \def (minus h k) in (let
-TMP_14 \def (next_plus g n TMP_13) in (let TMP_15 \def (ASort TMP_12 TMP_14)
-in (eq A TMP_11 TMP_15)))))))) in (let TMP_17 \def (ASort k n) in (let TMP_18
-\def (aplus g TMP_17 k) in (let TMP_19 \def (minus h k) in (let TMP_20 \def
-(aplus g TMP_18 TMP_19) in (let TMP_25 \def (\lambda (a: A).(let TMP_21 \def
-(minus k h) in (let TMP_22 \def (minus h k) in (let TMP_23 \def (next_plus g
-n TMP_22) in (let TMP_24 \def (ASort TMP_21 TMP_23) in (eq A a TMP_24))))))
-in (let TMP_26 \def (minus k k) in (let TMP_27 \def (ASort TMP_26 n) in (let
-TMP_34 \def (\lambda (a: A).(let TMP_28 \def (minus h k) in (let TMP_29 \def
-(aplus g a TMP_28) in (let TMP_30 \def (minus k h) in (let TMP_31 \def (minus
-h k) in (let TMP_32 \def (next_plus g n TMP_31) in (let TMP_33 \def (ASort
-TMP_30 TMP_32) in (eq A TMP_29 TMP_33)))))))) in (let TMP_42 \def (\lambda
-(n0: nat).(let TMP_35 \def (ASort n0 n) in (let TMP_36 \def (minus h k) in
-(let TMP_37 \def (aplus g TMP_35 TMP_36) in (let TMP_38 \def (minus k h) in
-(let TMP_39 \def (minus h k) in (let TMP_40 \def (next_plus g n TMP_39) in
-(let TMP_41 \def (ASort TMP_38 TMP_40) in (eq A TMP_37 TMP_41))))))))) in
-(let TMP_49 \def (\lambda (n0: nat).(let TMP_43 \def (ASort O n) in (let
-TMP_44 \def (minus h k) in (let TMP_45 \def (aplus g TMP_43 TMP_44) in (let
-TMP_46 \def (minus h k) in (let TMP_47 \def (next_plus g n TMP_46) in (let
-TMP_48 \def (ASort n0 TMP_47) in (eq A TMP_45 TMP_48)))))))) in (let TMP_50
-\def (minus h k) in (let TMP_51 \def (aplus_asort_O_simpl g TMP_50 n) in (let
-TMP_52 \def (minus k h) in (let TMP_53 \def (S k) in (let TMP_54 \def (S h)
-in (let TMP_55 \def (S k) in (let TMP_56 \def (S TMP_55) in (let TMP_57 \def
-(S h) in (let TMP_58 \def (S k) in (let TMP_59 \def (le_n_S TMP_58 h H) in
-(let TMP_60 \def (le_S TMP_56 TMP_57 TMP_59) in (let TMP_61 \def (le_S_n
-TMP_53 TMP_54 TMP_60) in (let TMP_62 \def (le_S_n k h TMP_61) in (let TMP_63
-\def (O_minus k h TMP_62) in (let TMP_64 \def (eq_ind_r nat O TMP_49 TMP_51
-TMP_52 TMP_63) in (let TMP_65 \def (minus k k) in (let TMP_66 \def (minus_n_n
-k) in (let TMP_67 \def (eq_ind nat O TMP_42 TMP_64 TMP_65 TMP_66) in (let
-TMP_68 \def (ASort k n) in (let TMP_69 \def (aplus g TMP_68 k) in (let TMP_70
-\def (le_n k) in (let TMP_71 \def (aplus_asort_le_simpl g k k n TMP_70) in
-(let TMP_72 \def (eq_ind_r A TMP_27 TMP_34 TMP_67 TMP_69 TMP_71) in (let
-TMP_73 \def (ASort k n) in (let TMP_74 \def (minus h k) in (let TMP_75 \def
-(plus k TMP_74) in (let TMP_76 \def (aplus g TMP_73 TMP_75) in (let TMP_77
-\def (ASort k n) in (let TMP_78 \def (minus h k) in (let TMP_79 \def
-(aplus_assoc g TMP_77 k TMP_78) in (let TMP_80 \def (eq_ind A TMP_20 TMP_25
-TMP_72 TMP_76 TMP_79) in (let TMP_81 \def (S k) in (let TMP_82 \def (S h) in
-(let TMP_83 \def (S k) in (let TMP_84 \def (S TMP_83) in (let TMP_85 \def (S
-h) in (let TMP_86 \def (S k) in (let TMP_87 \def (le_n_S TMP_86 h H) in (let
-TMP_88 \def (le_S TMP_84 TMP_85 TMP_87) in (let TMP_89 \def (le_S_n TMP_81
-TMP_82 TMP_88) in (let TMP_90 \def (le_S_n k h TMP_89) in (let TMP_91 \def
-(le_plus_minus k h TMP_90) in (eq_ind_r nat TMP_9 TMP_16 TMP_80 h
-TMP_91))))))))))))))))))))))))))))))))))))))))))))))))))))))))) in (let
-TMP_116 \def (\lambda (H: (le h k)).(let TMP_93 \def (minus k h) in (let
-TMP_94 \def (ASort TMP_93 n) in (let TMP_99 \def (\lambda (a: A).(let TMP_95
-\def (minus k h) in (let TMP_96 \def (minus h k) in (let TMP_97 \def
-(next_plus g n TMP_96) in (let TMP_98 \def (ASort TMP_95 TMP_97) in (eq A a
-TMP_98)))))) in (let TMP_105 \def (\lambda (n0: nat).(let TMP_100 \def (minus
-k h) in (let TMP_101 \def (ASort TMP_100 n) in (let TMP_102 \def (minus k h)
-in (let TMP_103 \def (next_plus g n n0) in (let TMP_104 \def (ASort TMP_102
-TMP_103) in (eq A TMP_101 TMP_104))))))) in (let TMP_106 \def (minus k h) in
-(let TMP_107 \def (next_plus g n O) in (let TMP_108 \def (ASort TMP_106
-TMP_107) in (let TMP_109 \def (refl_equal A TMP_108) in (let TMP_110 \def
-(minus h k) in (let TMP_111 \def (O_minus h k H) in (let TMP_112 \def
-(eq_ind_r nat O TMP_105 TMP_109 TMP_110 TMP_111) in (let TMP_113 \def (ASort
-k n) in (let TMP_114 \def (aplus g TMP_113 h) in (let TMP_115 \def
-(aplus_asort_le_simpl g h k n H) in (eq_ind_r A TMP_94 TMP_99 TMP_112 TMP_114
-TMP_115)))))))))))))))) in (lt_le_e k h TMP_7 TMP_92 TMP_116))))))))))))).
-
-theorem aplus_ahead_simpl:
+ \lambda (g: G).(\lambda (h: nat).(\lambda (k: nat).(\lambda (n:
+nat).(lt_le_e k h (eq A (aplus g (ASort k n) h) (ASort (minus k h) (next_plus
+g n (minus h k)))) (\lambda (H: (lt k h)).(eq_ind_r nat (plus k (minus h k))
+(\lambda (n0: nat).(eq A (aplus g (ASort k n) n0) (ASort (minus k h)
+(next_plus g n (minus h k))))) (eq_ind A (aplus g (aplus g (ASort k n) k)
+(minus h k)) (\lambda (a: A).(eq A a (ASort (minus k h) (next_plus g n (minus
+h k))))) (eq_ind_r A (ASort (minus k k) n) (\lambda (a: A).(eq A (aplus g a
+(minus h k)) (ASort (minus k h) (next_plus g n (minus h k))))) (eq_ind nat O
+(\lambda (n0: nat).(eq A (aplus g (ASort n0 n) (minus h k)) (ASort (minus k
+h) (next_plus g n (minus h k))))) (eq_ind_r nat O (\lambda (n0: nat).(eq A
+(aplus g (ASort O n) (minus h k)) (ASort n0 (next_plus g n (minus h k)))))
+(aplus_asort_O_simpl g (minus h k) n) (minus k h) (O_minus k h (le_S_n k h
+(le_S_n (S k) (S h) (le_S (S (S k)) (S h) (le_n_S (S k) h H)))))) (minus k k)
+(minus_n_n k)) (aplus g (ASort k n) k) (aplus_asort_le_simpl g k k n (le_n
+k))) (aplus g (ASort k n) (plus k (minus h k))) (aplus_assoc g (ASort k n) k
+(minus h k))) h (le_plus_minus k h (le_S_n k h (le_S_n (S k) (S h) (le_S (S
+(S k)) (S h) (le_n_S (S k) h H))))))) (\lambda (H: (le h k)).(eq_ind_r A
+(ASort (minus k h) n) (\lambda (a: A).(eq A a (ASort (minus k h) (next_plus g
+n (minus h k))))) (eq_ind_r nat O (\lambda (n0: nat).(eq A (ASort (minus k h)
+n) (ASort (minus k h) (next_plus g n n0)))) (refl_equal A (ASort (minus k h)
+(next_plus g n O))) (minus h k) (O_minus h k H)) (aplus g (ASort k n) h)
+(aplus_asort_le_simpl g h k n H))))))).
+
+lemma aplus_ahead_simpl: