`{Integers Z} `{IsCRing R} (f: R -> Z) (g: Z -> R) `{!IsSemiRingPreserving f} `{!IsSemiRingPreserving g} : IsInjective g. Proof. intros x y E. change (id x = id y). rewrite <-(to_ring_twice f g id x), <-(to_ring_twice f g id y). apply ap,E. Qed.
Require Import Require Import Import NatPair.Instances.