- lapply (plus_le_weak … Hdedt) -Hdedt #Hedt
- lapply (plus_le_weak … Hdei) #Hei
- lapply (lift_inv_lref2_ge … H … Hdei) -H #H destruct -T1;
- lapply (ldrop_conf_ge … HLK … HLKV ?) -HLK HLKV L // #HKV
- elim (lift_split … HVW d (i - e + 1) ? ? ?) -HVW; [4: // | 2,3: normalize /2/ ] -Hdei >arith_e2 // #V0 #HV10 #HV02
- @ex2_1_intro
- [2: @tps_subst [3: /2/ |5,6: // |1,2: skip |4: @arith5 // ]
- |1: skip
- | //
- ] (**) (* explicitc constructors *)
+ elim (le_inv_plus_l … Hdedt) -Hdedt #_ #Hedt
+ elim (le_inv_plus_l … Hdei) #Hdie #Hei
+ lapply (lift_inv_lref2_ge … H … Hdei) -H #H destruct
+ lapply (ldrop_conf_ge … HLK … HLKV ?) -L // #HKV
+ elim (lift_split … HVW d (i - e + 1) ? ? ?) -HVW [4: // |3: /2 width=1/ |2: /3 width=1/ ] -Hdei -Hdie
+ #V0 #HV10 >plus_minus // <minus_minus // /2 width=1/ <minus_n_n <plus_n_O #H
+ @ex2_1_intro [3: @H | skip | @tps_subst [5,6: // |1,2: skip | /2 width=1/ | >plus_minus // /2 width=1/ ] ] (**) (* explicit constructor, uses monotonic_lt_minus_l *)