intros.
elim k
-[ rewrite < (plus_n_O n).
- simplify.
+[ simplify.
rewrite > H in \vdash (? ? ? %).
rewrite > (H1 ?).
reflexivity
rewrite > sym_plus.
rewrite > (div_plus_times ? ? ? H5).
rewrite > (mod_plus_times ? ? ? H5).
- rewrite > H4.
- simplify.reflexivity.
+ reflexivity.
]
| reflexivity
]
rewrite > sym_plus.
rewrite > (div_plus_times ? ? ? H5).
rewrite > (mod_plus_times ? ? ? H5).
- rewrite > H4.
- simplify.reflexivity.
+ reflexivity.
]
| reflexivity
]
rewrite > H8
[ reflexivity
| assumption
- | autobatch
+ | apply andb_true_true; [2: apply H12]
]
| apply eqb_false_to_not_eq.
generalize in match H14.
apply eq_f.
rewrite > sym_plus.
apply plus_minus_m_m.
- autobatch
+ autobatch by le_S_S_to_le, lt_mod_m_m, lt_O_S;
]
]
|intros.
[apply le_S_S_to_le.
change with ((i/S m) < S n).
apply (lt_times_to_lt_l m).
- apply (le_to_lt_to_lt ? i)
- [autobatch|assumption]
+ apply (le_to_lt_to_lt ? i);[2:assumption]
+ autobatch by eq_plus_to_le, div_mod, lt_O_S.
|apply le_exp
[assumption
|apply le_S_S_to_le.