qed.
theorem div_aux_mod_aux: \forall p,n,m:nat.
-(eq nat n (plus (times (div_aux p n m) (S m)) (mod_aux p n m) )).
+(n=plus (times (div_aux p n m) (S m)) (mod_aux p n m)).
intro.elim p.
simplify.elim leb n m.
simplify.apply refl_eq.
simplify.intro.
rewrite > assoc_plus.
elim (H (minus n1 (S m)) m).
-change with (eq nat n1 (plus (S m) (minus n1 (S m)))).
+change with (n1=plus (S m) (minus n1 (S m))).
rewrite < sym_plus.
apply plus_minus_m_m.
change with lt m n1.
qed.
theorem div_mod: \forall n,m:nat.
-(lt O m) \to (eq nat n (plus (times (div n m) m) (mod n m))).
+(lt O m) \to n=plus (times (div n m) m) (mod n m).
intros 2.elim m.elim (not_le_Sn_O O H).
simplify.
apply div_aux_mod_aux.
inductive div_mod_spec (n,m,q,r:nat) : Prop \def
div_mod_spec_intro:
-(lt r m) \to (eq nat n (plus (times q m) r)) \to (div_mod_spec n m q r).
+(lt r m) \to n=plus (times q m) r \to (div_mod_spec n m q r).
(*
definition div_mod_spec : nat \to nat \to nat \to nat \to Prop \def
-\lambda n,m,q,r:nat.(And (lt r m) (eq nat n (plus (times q m) r))).
+\lambda n,m,q,r:nat.(And (lt r m) n=plus (times q m) r).
*)
-theorem div_mod_spec_to_not_eq_O: \forall n,m,q,r.(div_mod_spec n m q r) \to Not (eq nat m O).
+theorem div_mod_spec_to_not_eq_O: \forall n,m,q,r.(div_mod_spec n m q r) \to Not (m=O).
intros 4.simplify.intros.elim H.absurd le (S r) O.
rewrite < H1.assumption.
exact not_le_Sn_O r.
apply le_times_r.
apply lt_to_le.
apply H6.
-qed.
\ No newline at end of file
+qed.