Module Type NZBaseProp (Import NZ : NZDomainSig').
Include BackportEq NZ NZ. (** eq_refl, eq_sym, eq_trans *)
(* TODO: how register ~= (which is just a notation) as a Symmetric relation, hence allowing "symmetry" tac ? *)
Declare Left Step eq_stepl.
(* The right step lemma is just the transitivity of eq *)
Declare Right Step (@Equivalence_Transitive _ _ eq_equiv).

(* The following theorem is useful as an equivalence for proving bidirectional induction steps *)
Theorem succ_inj_wd : forall n1 n2, S n1 == S n2 <-> n1 == n2.