@@ -651,7 +651,6 @@ record IsRingWithoutOne (+ * : Op₂ A) (-_ : Op₁ A) (0# : A) : Set (a ⊔ ℓ
651651 *-cong : Congruent₂ *
652652 *-assoc : Associative *
653653 distrib : * DistributesOver +
654- zero : Zero 0# *
655654
656655 open IsAbelianGroup +-isAbelianGroup public
657656 renaming
@@ -679,23 +678,28 @@ record IsRingWithoutOne (+ * : Op₂ A) (-_ : Op₁ A) (0# : A) : Set (a ⊔ ℓ
679678 ; isGroup to +-isGroup
680679 )
681680
682- *-isMagma : IsMagma *
683- *-isMagma = record
684- { isEquivalence = isEquivalence
685- ; ∙-cong = *-cong
686- }
681+ distribˡ : * DistributesOverˡ +
682+ distribˡ = proj₁ distrib
683+
684+ distribʳ : * DistributesOverʳ +
685+ distribʳ = proj₂ distrib
687686
688687 zeroˡ : LeftZero 0# *
689- zeroˡ = proj₁ zero
688+ zeroˡ = Consequences.assoc∧distribʳ∧idʳ∧invʳ⇒zeˡ setoid
689+ +-cong *-cong +-assoc distribʳ +-identityʳ -‿inverseʳ
690690
691691 zeroʳ : RightZero 0# *
692- zeroʳ = proj₂ zero
692+ zeroʳ = Consequences.assoc∧distribˡ∧idʳ∧invʳ⇒zeʳ setoid
693+ +-cong *-cong +-assoc distribˡ +-identityʳ -‿inverseʳ
693694
694- distribˡ : * DistributesOverˡ +
695- distribˡ = proj₁ distrib
695+ zero : Zero 0# *
696+ zero = zeroˡ , zeroʳ
696697
697- distribʳ : * DistributesOverʳ +
698- distribʳ = proj₂ distrib
698+ *-isMagma : IsMagma *
699+ *-isMagma = record
700+ { isEquivalence = isEquivalence
701+ ; ∙-cong = *-cong
702+ }
699703
700704 *-isSemigroup : IsSemigroup *
701705 *-isSemigroup = record
@@ -806,45 +810,17 @@ record IsRing (+ * : Op₂ A) (-_ : Op₁ A) (0# 1# : A) : Set (a ⊔ ℓ) where
806810 *-assoc : Associative *
807811 *-identity : Identity 1# *
808812 distrib : * DistributesOver +
809- zero : Zero 0# *
810813
811- open IsAbelianGroup +-isAbelianGroup public
812- renaming
813- ( assoc to +-assoc
814- ; ∙-cong to +-cong
815- ; ∙-congˡ to +-congˡ
816- ; ∙-congʳ to +-congʳ
817- ; identity to +-identity
818- ; identityˡ to +-identityˡ
819- ; identityʳ to +-identityʳ
820- ; inverse to -‿inverse
821- ; inverseˡ to -‿inverseˡ
822- ; inverseʳ to -‿inverseʳ
823- ; ⁻¹-cong to -‿cong
824- ; comm to +-comm
825- ; isMagma to +-isMagma
826- ; isSemigroup to +-isSemigroup
827- ; isMonoid to +-isMonoid
828- ; isUnitalMagma to +-isUnitalMagma
829- ; isCommutativeMagma to +-isCommutativeMagma
830- ; isCommutativeMonoid to +-isCommutativeMonoid
831- ; isCommutativeSemigroup to +-isCommutativeSemigroup
832- ; isInvertibleMagma to +-isInvertibleMagma
833- ; isInvertibleUnitalMagma to +-isInvertibleUnitalMagma
834- ; isGroup to +-isGroup
835- )
836-
837- *-isMagma : IsMagma *
838- *-isMagma = record
839- { isEquivalence = isEquivalence
840- ; ∙-cong = *-cong
814+ isRingWithoutOne : IsRingWithoutOne + * -_ 0#
815+ isRingWithoutOne = record
816+ { +-isAbelianGroup = +-isAbelianGroup
817+ ; *-cong = *-cong
818+ ; *-assoc = *-assoc
819+ ; distrib = distrib
841820 }
842821
843- *-isSemigroup : IsSemigroup *
844- *-isSemigroup = record
845- { isMagma = *-isMagma
846- ; assoc = *-assoc
847- }
822+ open IsRingWithoutOne isRingWithoutOne public
823+ hiding (+-isAbelianGroup; *-cong; *-assoc; distrib)
848824
849825 *-isMonoid : IsMonoid * 1#
850826 *-isMonoid = record
@@ -855,18 +831,10 @@ record IsRing (+ * : Op₂ A) (-_ : Op₁ A) (0# 1# : A) : Set (a ⊔ ℓ) where
855831 open IsMonoid *-isMonoid public
856832 using ()
857833 renaming
858- ( ∙-congˡ to *-congˡ
859- ; ∙-congʳ to *-congʳ
860- ; identityˡ to *-identityˡ
834+ ( identityˡ to *-identityˡ
861835 ; identityʳ to *-identityʳ
862836 )
863837
864- zeroˡ : LeftZero 0# *
865- zeroˡ = proj₁ zero
866-
867- zeroʳ : RightZero 0# *
868- zeroʳ = proj₂ zero
869-
870838 isSemiringWithoutAnnihilatingZero
871839 : IsSemiringWithoutAnnihilatingZero + * 0# 1#
872840 isSemiringWithoutAnnihilatingZero = record
@@ -885,7 +853,7 @@ record IsRing (+ * : Op₂ A) (-_ : Op₁ A) (0# 1# : A) : Set (a ⊔ ℓ) where
885853 }
886854
887855 open IsSemiring isSemiring public
888- using (distribˡ; distribʳ; isNearSemiring; isSemiringWithoutOne)
856+ using (isNearSemiring; isSemiringWithoutOne)
889857
890858
891859record IsCommutativeRing
0 commit comments