Metamath Proof Explorer


Theorem isring

Description: The predicate "is a (unital) ring". Definition of "ring with unit" in Schechter p. 187. (Contributed by NM, 18-Oct-2012) (Revised by Mario Carneiro, 6-Jan-2015)

Ref Expression
Hypotheses isring.b ⊢ B = Base R
isring.g ⊢ G = mulGrp R
isring.p ⊢ + ˙ = + R
isring.t ⊢ · ˙ = ⋅ R
Assertion isring ⊢ R ∈ Ring ↔ R ∈ Grp ∧ G ∈ Mnd ∧ ∀ x ∈ B ∀ y ∈ B ∀ z ∈ B x · ˙ y + ˙ z = x · ˙ y + ˙ x · ˙ z ∧ x + ˙ y · ˙ z = x · ˙ z + ˙ y · ˙ z

Proof

Step Hyp Ref Expression
1 isring.b ⊢ B = Base R
2 isring.g ⊢ G = mulGrp R
3 isring.p ⊢ + ˙ = + R
4 isring.t ⊢ · ˙ = ⋅ R
5 fveq2 ⊢ r = R → mulGrp r = mulGrp R
6 5 2 eqtr4di ⊢ r = R → mulGrp r = G
7 6 eleq1d ⊢ r = R → mulGrp r ∈ Mnd ↔ G ∈ Mnd
8 fvexd ⊢ r = R → Base r ∈ V
9 fveq2 ⊢ r = R → Base r = Base R
10 9 1 eqtr4di ⊢ r = R → Base r = B
11 fvexd ⊢ r = R ∧ b = B → + r ∈ V
12 simpl ⊢ r = R ∧ b = B → r = R
13 12 fveq2d ⊢ r = R ∧ b = B → + r = + R
14 13 3 eqtr4di ⊢ r = R ∧ b = B → + r = + ˙
15 fvexd ⊢ r = R ∧ b = B ∧ p = + ˙ → ⋅ r ∈ V
16 simpll ⊢ r = R ∧ b = B ∧ p = + ˙ → r = R
17 16 fveq2d ⊢ r = R ∧ b = B ∧ p = + ˙ → ⋅ r = ⋅ R
18 17 4 eqtr4di ⊢ r = R ∧ b = B ∧ p = + ˙ → ⋅ r = · ˙
19 simpllr ⊢ r = R ∧ b = B ∧ p = + ˙ ∧ t = · ˙ → b = B
20 simpr ⊢ r = R ∧ b = B ∧ p = + ˙ ∧ t = · ˙ → t = · ˙
21 eqidd ⊢ r = R ∧ b = B ∧ p = + ˙ ∧ t = · ˙ → x = x
22 simplr ⊢ r = R ∧ b = B ∧ p = + ˙ ∧ t = · ˙ → p = + ˙
23 22 oveqd ⊢ r = R ∧ b = B ∧ p = + ˙ ∧ t = · ˙ → y p z = y + ˙ z
24 20 21 23 oveq123d ⊢ r = R ∧ b = B ∧ p = + ˙ ∧ t = · ˙ → x t y p z = x · ˙ y + ˙ z
25 20 oveqd ⊢ r = R ∧ b = B ∧ p = + ˙ ∧ t = · ˙ → x t y = x · ˙ y
26 20 oveqd ⊢ r = R ∧ b = B ∧ p = + ˙ ∧ t = · ˙ → x t z = x · ˙ z
27 22 25 26 oveq123d ⊢ r = R ∧ b = B ∧ p = + ˙ ∧ t = · ˙ → x t y p x t z = x · ˙ y + ˙ x · ˙ z
28 24 27 eqeq12d ⊢ r = R ∧ b = B ∧ p = + ˙ ∧ t = · ˙ → x t y p z = x t y p x t z ↔ x · ˙ y + ˙ z = x · ˙ y + ˙ x · ˙ z
29 22 oveqd ⊢ r = R ∧ b = B ∧ p = + ˙ ∧ t = · ˙ → x p y = x + ˙ y
30 eqidd ⊢ r = R ∧ b = B ∧ p = + ˙ ∧ t = · ˙ → z = z
31 20 29 30 oveq123d ⊢ r = R ∧ b = B ∧ p = + ˙ ∧ t = · ˙ → x p y t z = x + ˙ y · ˙ z
32 20 oveqd ⊢ r = R ∧ b = B ∧ p = + ˙ ∧ t = · ˙ → y t z = y · ˙ z
33 22 26 32 oveq123d ⊢ r = R ∧ b = B ∧ p = + ˙ ∧ t = · ˙ → x t z p y t z = x · ˙ z + ˙ y · ˙ z
34 31 33 eqeq12d ⊢ r = R ∧ b = B ∧ p = + ˙ ∧ t = · ˙ → x p y t z = x t z p y t z ↔ x + ˙ y · ˙ z = x · ˙ z + ˙ y · ˙ z
35 28 34 anbi12d ⊢ r = R ∧ b = B ∧ p = + ˙ ∧ t = · ˙ → x t y p z = x t y p x t z ∧ x p y t z = x t z p y t z ↔ x · ˙ y + ˙ z = x · ˙ y + ˙ x · ˙ z ∧ x + ˙ y · ˙ z = x · ˙ z + ˙ y · ˙ z
36 19 35 raleqbidv ⊢ r = R ∧ b = B ∧ p = + ˙ ∧ t = · ˙ → ∀ z ∈ b x t y p z = x t y p x t z ∧ x p y t z = x t z p y t z ↔ ∀ z ∈ B x · ˙ y + ˙ z = x · ˙ y + ˙ x · ˙ z ∧ x + ˙ y · ˙ z = x · ˙ z + ˙ y · ˙ z
37 19 36 raleqbidv ⊢ r = R ∧ b = B ∧ p = + ˙ ∧ t = · ˙ → ∀ y ∈ b ∀ z ∈ b x t y p z = x t y p x t z ∧ x p y t z = x t z p y t z ↔ ∀ y ∈ B ∀ z ∈ B x · ˙ y + ˙ z = x · ˙ y + ˙ x · ˙ z ∧ x + ˙ y · ˙ z = x · ˙ z + ˙ y · ˙ z
38 19 37 raleqbidv ⊢ r = R ∧ b = B ∧ p = + ˙ ∧ t = · ˙ → ∀ x ∈ b ∀ y ∈ b ∀ z ∈ b x t y p z = x t y p x t z ∧ x p y t z = x t z p y t z ↔ ∀ x ∈ B ∀ y ∈ B ∀ z ∈ B x · ˙ y + ˙ z = x · ˙ y + ˙ x · ˙ z ∧ x + ˙ y · ˙ z = x · ˙ z + ˙ y · ˙ z
39 15 18 38 sbcied2 ⊢ r = R ∧ b = B ∧ p = + ˙ → [˙⋅ r / t]˙ ∀ x ∈ b ∀ y ∈ b ∀ z ∈ b x t y p z = x t y p x t z ∧ x p y t z = x t z p y t z ↔ ∀ x ∈ B ∀ y ∈ B ∀ z ∈ B x · ˙ y + ˙ z = x · ˙ y + ˙ x · ˙ z ∧ x + ˙ y · ˙ z = x · ˙ z + ˙ y · ˙ z
40 11 14 39 sbcied2 ⊢ r = R ∧ b = B → [˙+ r / p]˙ [˙⋅ r / t]˙ ∀ x ∈ b ∀ y ∈ b ∀ z ∈ b x t y p z = x t y p x t z ∧ x p y t z = x t z p y t z ↔ ∀ x ∈ B ∀ y ∈ B ∀ z ∈ B x · ˙ y + ˙ z = x · ˙ y + ˙ x · ˙ z ∧ x + ˙ y · ˙ z = x · ˙ z + ˙ y · ˙ z
41 8 10 40 sbcied2 ⊢ r = R → [˙Base r / b]˙ [˙+ r / p]˙ [˙⋅ r / t]˙ ∀ x ∈ b ∀ y ∈ b ∀ z ∈ b x t y p z = x t y p x t z ∧ x p y t z = x t z p y t z ↔ ∀ x ∈ B ∀ y ∈ B ∀ z ∈ B x · ˙ y + ˙ z = x · ˙ y + ˙ x · ˙ z ∧ x + ˙ y · ˙ z = x · ˙ z + ˙ y · ˙ z
42 7 41 anbi12d ⊢ r = R → mulGrp r ∈ Mnd ∧ [˙Base r / b]˙ [˙+ r / p]˙ [˙⋅ r / t]˙ ∀ x ∈ b ∀ y ∈ b ∀ z ∈ b x t y p z = x t y p x t z ∧ x p y t z = x t z p y t z ↔ G ∈ Mnd ∧ ∀ x ∈ B ∀ y ∈ B ∀ z ∈ B x · ˙ y + ˙ z = x · ˙ y + ˙ x · ˙ z ∧ x + ˙ y · ˙ z = x · ˙ z + ˙ y · ˙ z
43 df-ring ⊢ Ring = r ∈ Grp | mulGrp r ∈ Mnd ∧ [˙Base r / b]˙ [˙+ r / p]˙ [˙⋅ r / t]˙ ∀ x ∈ b ∀ y ∈ b ∀ z ∈ b x t y p z = x t y p x t z ∧ x p y t z = x t z p y t z
44 42 43 elrab2 ⊢ R ∈ Ring ↔ R ∈ Grp ∧ G ∈ Mnd ∧ ∀ x ∈ B ∀ y ∈ B ∀ z ∈ B x · ˙ y + ˙ z = x · ˙ y + ˙ x · ˙ z ∧ x + ˙ y · ˙ z = x · ˙ z + ˙ y · ˙ z
45 3anass ⊢ R ∈ Grp ∧ G ∈ Mnd ∧ ∀ x ∈ B ∀ y ∈ B ∀ z ∈ B x · ˙ y + ˙ z = x · ˙ y + ˙ x · ˙ z ∧ x + ˙ y · ˙ z = x · ˙ z + ˙ y · ˙ z ↔ R ∈ Grp ∧ G ∈ Mnd ∧ ∀ x ∈ B ∀ y ∈ B ∀ z ∈ B x · ˙ y + ˙ z = x · ˙ y + ˙ x · ˙ z ∧ x + ˙ y · ˙ z = x · ˙ z + ˙ y · ˙ z
46 44 45 bitr4i ⊢ R ∈ Ring ↔ R ∈ Grp ∧ G ∈ Mnd ∧ ∀ x ∈ B ∀ y ∈ B ∀ z ∈ B x · ˙ y + ˙ z = x · ˙ y + ˙ x · ˙ z ∧ x + ˙ y · ˙ z = x · ˙ z + ˙ y · ˙ z