Add Morphism radd with signature (req ==> req ==> req) as radd_ext1.Add Morphism rmul with signature (req ==> req ==> req) as rmul_ext1.(** Every semi ring can be seen as an almost ring, by taking :
        [-x = x] and [x - y = x + y] *)
 Definition SRopp (x:R) := x.Definition SRsub x y := x + -y.

(* Specifications: *)
Lemma SRopp_ext : forall x y, x == y -> -x == -y.
Lemma SReqe_Reqe : ring_eq_ext radd rmul SRopp req.
Lemma SRopp_mul_l : forall x y, -(x * y) == -x * y.
Lemma SRopp_add : forall x y, -(x + y) == -x + -y.
Lemma SRsub_def : forall x y, x - y == x + -y.
Lemma SRth_ARth : almost_ring_theory 0 1 radd rmul SRsub SRopp req.