Lemma binop_equiv_iso_is_equiv (A B : BINOP) : isweq (binop_equiv_iso A B). Proof. apply (isweq_iso _ (binop_iso_equiv A B)). intros x. apply subtypePath. intros y. apply isapropisbinopfun. unfold binop_equiv_iso, binop_iso_equiv. cbn. use total2_paths_f. cbn. apply idpath. apply isapropisweq. intros y. unfold binop_equiv_iso, binop_iso_equiv. cbn. use total2_paths_f. cbn. unfold make_binopfun. cbn. apply subtypePath. intros x. apply isapropisbinopfun. apply idpath. apply proofirrelevance. apply (isaprop_is_z_isomorphism(C:=BINOP)). Qed.
Require Import UniMath.Foundations.PartD. Require Import UniMath.Foundations.Propositions. Require Import UniMath.Foundations.Sets. Require Import UniMath.Foundations.UnivalenceAxiom. Require Import UniMath.Algebra.BinaryOperations. Require Import UniMath.CategoryTheory.Core.Categories. Require Import UniMath.CategoryTheory.Core.Isos. Require Import UniMath.CategoryTheory.Core.Univalence. Require Import UniMath.CategoryTheory.Core.Functors.