Definition isringfuninvmap {X Y : ring} (f : ringiso X Y) : isringfun (invmap f) := isrigfuninvmap f. Local Definition ring' : UU := ∑ D : (∑ X : setwith2binop, isrigops (@op1 X) (@op2 X)), invstruct (@op1 (pr1 D)) (dirprod_pr1 (dirprod_pr1 (pr1 (pr1 (pr2 D))))). Local Definition make_ring' (R : ring) : ring'. Proof. use tpair. - exists (pr1 R). use make_isrigops. + use make_isabmonoidop. * exact (pr1 (dirprod_pr1 (dirprod_pr1 (dirprod_pr1 (pr2 R))))). * exact (dirprod_pr2 (dirprod_pr1 (dirprod_pr1 (pr2 R)))). + exact (dirprod_pr2 (dirprod_pr1 (pr2 R))). + exact (@mult0x_is_l (pr1 R) (@op1 (pr1 R)) (@op2 (pr1 R)) (dirprod_pr1 (dirprod_pr1 (dirprod_pr1 (pr2 R)))) (dirprod_pr2 (dirprod_pr1 (pr2 R))) (dirprod_pr2 (pr2 R))). + exact (@multx0_is_l (pr1 R) (@op1 (pr1 R)) (@op2 (pr1 R)) (dirprod_pr1 (dirprod_pr1 (dirprod_pr1 (pr2 R)))) (dirprod_pr2 (dirprod_pr1 (pr2 R))) (dirprod_pr2 (pr2 R))). + exact (dirprod_pr2 (pr2 R)). - exact (pr2 (dirprod_pr1 (dirprod_pr1 (dirprod_pr1 (pr2 R))))). Defined.
Require Import UniMath.Algebra.Groups. Require Import UniMath.MoreFoundations.Sets. Require Import UniMath.MoreFoundations.Orders.