intros nZb nZa; case nZa.
apply eqA_trans with (y := multA (divA a b nZb) b); auto.
apply divA_is_multA with (1 := cs); auto.
apply eqA_trans with (y := divA (multA a b) b nZb); auto.
apply eqA_sym; apply divA_multA_comp_r with (1 := cs); auto.
apply eqA_trans with (y := divA A0 b nZb); auto.
Qed.
Hint Resolve A_sep.

(* Specifications: *)
Theorem divA_A1 : forall (a : A) (nZa : ~ eqA a A0), eqA (divA a a nZa) A1.
intros a nZa; apply eqA_trans with (y := divA (multA A1 a) a nZa); auto.