proposition: Lemma binop_iso_equiv_is_equiv (A B : BINOP) : isweq (binop_iso_equiv A B).
proof: Proof. apply (isweq_iso _ (binop_equiv_iso A B)). - intro; apply z_iso_eq. apply maponpaths. unfold binop_equiv_iso, binop_iso_equiv. cbn. use total2_paths_f. + cbn. unfold make_binopfun. apply subtypePath. * intros y. apply isapropisbinopfun. * apply maponpaths. apply subtypePath. -- unfold isPredicate. intros x0. apply isapropisbinopfun. -- apply idpath. + apply proofirrelevance. apply (isaprop_is_z_isomorphism(C:=BINOP)). - intros y. unfold binop_iso_equiv, binop_equiv_iso. cbn. use total2_paths_f. + cbn. unfold make_binopfun. apply subtypePath. * intros x. apply isapropisweq. * apply idpath. + apply proofirrelevance. apply isapropisbinopfun. Defined.
imports: UniMath.Foundations.PartD UniMath.Foundations.Propositions UniMath.Foundations.Sets UniMath.Foundations.UnivalenceAxiom UniMath.Algebra.BinaryOperations UniMath.CategoryTheory.Core.Categories UniMath.CategoryTheory.Core.Isos UniMath.CategoryTheory.Core.Univalence UniMath.CategoryTheory.Core.Functors