ILE Home Intuitionistic Logic Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  ILE Home  >  Th. List  >  isring GIF version

Theorem isring 13929
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.)
Hypotheses
Ref Expression
isring.b 𝐵 = (Base‘𝑅)
isring.g 𝐺 = (mulGrp‘𝑅)
isring.p + = (+g𝑅)
isring.t · = (.r𝑅)
Assertion
Ref Expression
isring (𝑅 ∈ Ring ↔ (𝑅 ∈ Grp ∧ 𝐺 ∈ Mnd ∧ ∀𝑥𝐵𝑦𝐵𝑧𝐵 ((𝑥 · (𝑦 + 𝑧)) = ((𝑥 · 𝑦) + (𝑥 · 𝑧)) ∧ ((𝑥 + 𝑦) · 𝑧) = ((𝑥 · 𝑧) + (𝑦 · 𝑧)))))
Distinct variable groups:   𝑥,𝑦,𝑧,𝐵   𝑥, + ,𝑦,𝑧   𝑥,𝑅,𝑦,𝑧   𝑥, · ,𝑦,𝑧
Allowed substitution hints:   𝐺(𝑥,𝑦,𝑧)

Proof of Theorem isring
Dummy variables 𝑝 𝑏 𝑟 𝑡 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 fveq2 5603 . . . . . 6 (𝑟 = 𝑅 → (mulGrp‘𝑟) = (mulGrp‘𝑅))
2 isring.g . . . . . 6 𝐺 = (mulGrp‘𝑅)
31, 2eqtr4di 2260 . . . . 5 (𝑟 = 𝑅 → (mulGrp‘𝑟) = 𝐺)
43eleq1d 2278 . . . 4 (𝑟 = 𝑅 → ((mulGrp‘𝑟) ∈ Mnd ↔ 𝐺 ∈ Mnd))
5 basfn 13057 . . . . . . 7 Base Fn V
6 vex 2782 . . . . . . 7 𝑟 ∈ V
7 funfvex 5620 . . . . . . . 8 ((Fun Base ∧ 𝑟 ∈ dom Base) → (Base‘𝑟) ∈ V)
87funfni 5399 . . . . . . 7 ((Base Fn V ∧ 𝑟 ∈ V) → (Base‘𝑟) ∈ V)
95, 6, 8mp2an 426 . . . . . 6 (Base‘𝑟) ∈ V
109a1i 9 . . . . 5 (𝑟 = 𝑅 → (Base‘𝑟) ∈ V)
11 fveq2 5603 . . . . . 6 (𝑟 = 𝑅 → (Base‘𝑟) = (Base‘𝑅))
12 isring.b . . . . . 6 𝐵 = (Base‘𝑅)
1311, 12eqtr4di 2260 . . . . 5 (𝑟 = 𝑅 → (Base‘𝑟) = 𝐵)
14 plusgslid 13111 . . . . . . . . 9 (+g = Slot (+g‘ndx) ∧ (+g‘ndx) ∈ ℕ)
1514slotex 13025 . . . . . . . 8 (𝑟 ∈ V → (+g𝑟) ∈ V)
1615elv 2783 . . . . . . 7 (+g𝑟) ∈ V
1716a1i 9 . . . . . 6 ((𝑟 = 𝑅𝑏 = 𝐵) → (+g𝑟) ∈ V)
18 simpl 109 . . . . . . . 8 ((𝑟 = 𝑅𝑏 = 𝐵) → 𝑟 = 𝑅)
1918fveq2d 5607 . . . . . . 7 ((𝑟 = 𝑅𝑏 = 𝐵) → (+g𝑟) = (+g𝑅))
20 isring.p . . . . . . 7 + = (+g𝑅)
2119, 20eqtr4di 2260 . . . . . 6 ((𝑟 = 𝑅𝑏 = 𝐵) → (+g𝑟) = + )
22 mulrslid 13131 . . . . . . . . . 10 (.r = Slot (.r‘ndx) ∧ (.r‘ndx) ∈ ℕ)
2322slotex 13025 . . . . . . . . 9 (𝑟 ∈ V → (.r𝑟) ∈ V)
2423elv 2783 . . . . . . . 8 (.r𝑟) ∈ V
2524a1i 9 . . . . . . 7 (((𝑟 = 𝑅𝑏 = 𝐵) ∧ 𝑝 = + ) → (.r𝑟) ∈ V)
26 simpll 527 . . . . . . . . 9 (((𝑟 = 𝑅𝑏 = 𝐵) ∧ 𝑝 = + ) → 𝑟 = 𝑅)
2726fveq2d 5607 . . . . . . . 8 (((𝑟 = 𝑅𝑏 = 𝐵) ∧ 𝑝 = + ) → (.r𝑟) = (.r𝑅))
28 isring.t . . . . . . . 8 · = (.r𝑅)
2927, 28eqtr4di 2260 . . . . . . 7 (((𝑟 = 𝑅𝑏 = 𝐵) ∧ 𝑝 = + ) → (.r𝑟) = · )
30 simpllr 534 . . . . . . . 8 ((((𝑟 = 𝑅𝑏 = 𝐵) ∧ 𝑝 = + ) ∧ 𝑡 = · ) → 𝑏 = 𝐵)
31 simpr 110 . . . . . . . . . . . . 13 ((((𝑟 = 𝑅𝑏 = 𝐵) ∧ 𝑝 = + ) ∧ 𝑡 = · ) → 𝑡 = · )
32 eqidd 2210 . . . . . . . . . . . . 13 ((((𝑟 = 𝑅𝑏 = 𝐵) ∧ 𝑝 = + ) ∧ 𝑡 = · ) → 𝑥 = 𝑥)
33 simplr 528 . . . . . . . . . . . . . 14 ((((𝑟 = 𝑅𝑏 = 𝐵) ∧ 𝑝 = + ) ∧ 𝑡 = · ) → 𝑝 = + )
3433oveqd 5991 . . . . . . . . . . . . 13 ((((𝑟 = 𝑅𝑏 = 𝐵) ∧ 𝑝 = + ) ∧ 𝑡 = · ) → (𝑦𝑝𝑧) = (𝑦 + 𝑧))
3531, 32, 34oveq123d 5995 . . . . . . . . . . . 12 ((((𝑟 = 𝑅𝑏 = 𝐵) ∧ 𝑝 = + ) ∧ 𝑡 = · ) → (𝑥𝑡(𝑦𝑝𝑧)) = (𝑥 · (𝑦 + 𝑧)))
3631oveqd 5991 . . . . . . . . . . . . 13 ((((𝑟 = 𝑅𝑏 = 𝐵) ∧ 𝑝 = + ) ∧ 𝑡 = · ) → (𝑥𝑡𝑦) = (𝑥 · 𝑦))
3731oveqd 5991 . . . . . . . . . . . . 13 ((((𝑟 = 𝑅𝑏 = 𝐵) ∧ 𝑝 = + ) ∧ 𝑡 = · ) → (𝑥𝑡𝑧) = (𝑥 · 𝑧))
3833, 36, 37oveq123d 5995 . . . . . . . . . . . 12 ((((𝑟 = 𝑅𝑏 = 𝐵) ∧ 𝑝 = + ) ∧ 𝑡 = · ) → ((𝑥𝑡𝑦)𝑝(𝑥𝑡𝑧)) = ((𝑥 · 𝑦) + (𝑥 · 𝑧)))
3935, 38eqeq12d 2224 . . . . . . . . . . 11 ((((𝑟 = 𝑅𝑏 = 𝐵) ∧ 𝑝 = + ) ∧ 𝑡 = · ) → ((𝑥𝑡(𝑦𝑝𝑧)) = ((𝑥𝑡𝑦)𝑝(𝑥𝑡𝑧)) ↔ (𝑥 · (𝑦 + 𝑧)) = ((𝑥 · 𝑦) + (𝑥 · 𝑧))))
4033oveqd 5991 . . . . . . . . . . . . 13 ((((𝑟 = 𝑅𝑏 = 𝐵) ∧ 𝑝 = + ) ∧ 𝑡 = · ) → (𝑥𝑝𝑦) = (𝑥 + 𝑦))
41 eqidd 2210 . . . . . . . . . . . . 13 ((((𝑟 = 𝑅𝑏 = 𝐵) ∧ 𝑝 = + ) ∧ 𝑡 = · ) → 𝑧 = 𝑧)
4231, 40, 41oveq123d 5995 . . . . . . . . . . . 12 ((((𝑟 = 𝑅𝑏 = 𝐵) ∧ 𝑝 = + ) ∧ 𝑡 = · ) → ((𝑥𝑝𝑦)𝑡𝑧) = ((𝑥 + 𝑦) · 𝑧))
4331oveqd 5991 . . . . . . . . . . . . 13 ((((𝑟 = 𝑅𝑏 = 𝐵) ∧ 𝑝 = + ) ∧ 𝑡 = · ) → (𝑦𝑡𝑧) = (𝑦 · 𝑧))
4433, 37, 43oveq123d 5995 . . . . . . . . . . . 12 ((((𝑟 = 𝑅𝑏 = 𝐵) ∧ 𝑝 = + ) ∧ 𝑡 = · ) → ((𝑥𝑡𝑧)𝑝(𝑦𝑡𝑧)) = ((𝑥 · 𝑧) + (𝑦 · 𝑧)))
4542, 44eqeq12d 2224 . . . . . . . . . . 11 ((((𝑟 = 𝑅𝑏 = 𝐵) ∧ 𝑝 = + ) ∧ 𝑡 = · ) → (((𝑥𝑝𝑦)𝑡𝑧) = ((𝑥𝑡𝑧)𝑝(𝑦𝑡𝑧)) ↔ ((𝑥 + 𝑦) · 𝑧) = ((𝑥 · 𝑧) + (𝑦 · 𝑧))))
4639, 45anbi12d 473 . . . . . . . . . 10 ((((𝑟 = 𝑅𝑏 = 𝐵) ∧ 𝑝 = + ) ∧ 𝑡 = · ) → (((𝑥𝑡(𝑦𝑝𝑧)) = ((𝑥𝑡𝑦)𝑝(𝑥𝑡𝑧)) ∧ ((𝑥𝑝𝑦)𝑡𝑧) = ((𝑥𝑡𝑧)𝑝(𝑦𝑡𝑧))) ↔ ((𝑥 · (𝑦 + 𝑧)) = ((𝑥 · 𝑦) + (𝑥 · 𝑧)) ∧ ((𝑥 + 𝑦) · 𝑧) = ((𝑥 · 𝑧) + (𝑦 · 𝑧)))))
4730, 46raleqbidv 2724 . . . . . . . . 9 ((((𝑟 = 𝑅𝑏 = 𝐵) ∧ 𝑝 = + ) ∧ 𝑡 = · ) → (∀𝑧𝑏 ((𝑥𝑡(𝑦𝑝𝑧)) = ((𝑥𝑡𝑦)𝑝(𝑥𝑡𝑧)) ∧ ((𝑥𝑝𝑦)𝑡𝑧) = ((𝑥𝑡𝑧)𝑝(𝑦𝑡𝑧))) ↔ ∀𝑧𝐵 ((𝑥 · (𝑦 + 𝑧)) = ((𝑥 · 𝑦) + (𝑥 · 𝑧)) ∧ ((𝑥 + 𝑦) · 𝑧) = ((𝑥 · 𝑧) + (𝑦 · 𝑧)))))
4830, 47raleqbidv 2724 . . . . . . . 8 ((((𝑟 = 𝑅𝑏 = 𝐵) ∧ 𝑝 = + ) ∧ 𝑡 = · ) → (∀𝑦𝑏𝑧𝑏 ((𝑥𝑡(𝑦𝑝𝑧)) = ((𝑥𝑡𝑦)𝑝(𝑥𝑡𝑧)) ∧ ((𝑥𝑝𝑦)𝑡𝑧) = ((𝑥𝑡𝑧)𝑝(𝑦𝑡𝑧))) ↔ ∀𝑦𝐵𝑧𝐵 ((𝑥 · (𝑦 + 𝑧)) = ((𝑥 · 𝑦) + (𝑥 · 𝑧)) ∧ ((𝑥 + 𝑦) · 𝑧) = ((𝑥 · 𝑧) + (𝑦 · 𝑧)))))
4930, 48raleqbidv 2724 . . . . . . 7 ((((𝑟 = 𝑅𝑏 = 𝐵) ∧ 𝑝 = + ) ∧ 𝑡 = · ) → (∀𝑥𝑏𝑦𝑏𝑧𝑏 ((𝑥𝑡(𝑦𝑝𝑧)) = ((𝑥𝑡𝑦)𝑝(𝑥𝑡𝑧)) ∧ ((𝑥𝑝𝑦)𝑡𝑧) = ((𝑥𝑡𝑧)𝑝(𝑦𝑡𝑧))) ↔ ∀𝑥𝐵𝑦𝐵𝑧𝐵 ((𝑥 · (𝑦 + 𝑧)) = ((𝑥 · 𝑦) + (𝑥 · 𝑧)) ∧ ((𝑥 + 𝑦) · 𝑧) = ((𝑥 · 𝑧) + (𝑦 · 𝑧)))))
5025, 29, 49sbcied2 3046 . . . . . 6 (((𝑟 = 𝑅𝑏 = 𝐵) ∧ 𝑝 = + ) → ([(.r𝑟) / 𝑡]𝑥𝑏𝑦𝑏𝑧𝑏 ((𝑥𝑡(𝑦𝑝𝑧)) = ((𝑥𝑡𝑦)𝑝(𝑥𝑡𝑧)) ∧ ((𝑥𝑝𝑦)𝑡𝑧) = ((𝑥𝑡𝑧)𝑝(𝑦𝑡𝑧))) ↔ ∀𝑥𝐵𝑦𝐵𝑧𝐵 ((𝑥 · (𝑦 + 𝑧)) = ((𝑥 · 𝑦) + (𝑥 · 𝑧)) ∧ ((𝑥 + 𝑦) · 𝑧) = ((𝑥 · 𝑧) + (𝑦 · 𝑧)))))
5117, 21, 50sbcied2 3046 . . . . 5 ((𝑟 = 𝑅𝑏 = 𝐵) → ([(+g𝑟) / 𝑝][(.r𝑟) / 𝑡]𝑥𝑏𝑦𝑏𝑧𝑏 ((𝑥𝑡(𝑦𝑝𝑧)) = ((𝑥𝑡𝑦)𝑝(𝑥𝑡𝑧)) ∧ ((𝑥𝑝𝑦)𝑡𝑧) = ((𝑥𝑡𝑧)𝑝(𝑦𝑡𝑧))) ↔ ∀𝑥𝐵𝑦𝐵𝑧𝐵 ((𝑥 · (𝑦 + 𝑧)) = ((𝑥 · 𝑦) + (𝑥 · 𝑧)) ∧ ((𝑥 + 𝑦) · 𝑧) = ((𝑥 · 𝑧) + (𝑦 · 𝑧)))))
5210, 13, 51sbcied2 3046 . . . 4 (𝑟 = 𝑅 → ([(Base‘𝑟) / 𝑏][(+g𝑟) / 𝑝][(.r𝑟) / 𝑡]𝑥𝑏𝑦𝑏𝑧𝑏 ((𝑥𝑡(𝑦𝑝𝑧)) = ((𝑥𝑡𝑦)𝑝(𝑥𝑡𝑧)) ∧ ((𝑥𝑝𝑦)𝑡𝑧) = ((𝑥𝑡𝑧)𝑝(𝑦𝑡𝑧))) ↔ ∀𝑥𝐵𝑦𝐵𝑧𝐵 ((𝑥 · (𝑦 + 𝑧)) = ((𝑥 · 𝑦) + (𝑥 · 𝑧)) ∧ ((𝑥 + 𝑦) · 𝑧) = ((𝑥 · 𝑧) + (𝑦 · 𝑧)))))
534, 52anbi12d 473 . . 3 (𝑟 = 𝑅 → (((mulGrp‘𝑟) ∈ Mnd ∧ [(Base‘𝑟) / 𝑏][(+g𝑟) / 𝑝][(.r𝑟) / 𝑡]𝑥𝑏𝑦𝑏𝑧𝑏 ((𝑥𝑡(𝑦𝑝𝑧)) = ((𝑥𝑡𝑦)𝑝(𝑥𝑡𝑧)) ∧ ((𝑥𝑝𝑦)𝑡𝑧) = ((𝑥𝑡𝑧)𝑝(𝑦𝑡𝑧)))) ↔ (𝐺 ∈ Mnd ∧ ∀𝑥𝐵𝑦𝐵𝑧𝐵 ((𝑥 · (𝑦 + 𝑧)) = ((𝑥 · 𝑦) + (𝑥 · 𝑧)) ∧ ((𝑥 + 𝑦) · 𝑧) = ((𝑥 · 𝑧) + (𝑦 · 𝑧))))))
54 df-ring 13927 . . 3 Ring = {𝑟 ∈ Grp ∣ ((mulGrp‘𝑟) ∈ Mnd ∧ [(Base‘𝑟) / 𝑏][(+g𝑟) / 𝑝][(.r𝑟) / 𝑡]𝑥𝑏𝑦𝑏𝑧𝑏 ((𝑥𝑡(𝑦𝑝𝑧)) = ((𝑥𝑡𝑦)𝑝(𝑥𝑡𝑧)) ∧ ((𝑥𝑝𝑦)𝑡𝑧) = ((𝑥𝑡𝑧)𝑝(𝑦𝑡𝑧))))}
5553, 54elrab2 2942 . 2 (𝑅 ∈ Ring ↔ (𝑅 ∈ Grp ∧ (𝐺 ∈ Mnd ∧ ∀𝑥𝐵𝑦𝐵𝑧𝐵 ((𝑥 · (𝑦 + 𝑧)) = ((𝑥 · 𝑦) + (𝑥 · 𝑧)) ∧ ((𝑥 + 𝑦) · 𝑧) = ((𝑥 · 𝑧) + (𝑦 · 𝑧))))))
56 3anass 987 . 2 ((𝑅 ∈ Grp ∧ 𝐺 ∈ Mnd ∧ ∀𝑥𝐵𝑦𝐵𝑧𝐵 ((𝑥 · (𝑦 + 𝑧)) = ((𝑥 · 𝑦) + (𝑥 · 𝑧)) ∧ ((𝑥 + 𝑦) · 𝑧) = ((𝑥 · 𝑧) + (𝑦 · 𝑧)))) ↔ (𝑅 ∈ Grp ∧ (𝐺 ∈ Mnd ∧ ∀𝑥𝐵𝑦𝐵𝑧𝐵 ((𝑥 · (𝑦 + 𝑧)) = ((𝑥 · 𝑦) + (𝑥 · 𝑧)) ∧ ((𝑥 + 𝑦) · 𝑧) = ((𝑥 · 𝑧) + (𝑦 · 𝑧))))))
5755, 56bitr4i 187 1 (𝑅 ∈ Ring ↔ (𝑅 ∈ Grp ∧ 𝐺 ∈ Mnd ∧ ∀𝑥𝐵𝑦𝐵𝑧𝐵 ((𝑥 · (𝑦 + 𝑧)) = ((𝑥 · 𝑦) + (𝑥 · 𝑧)) ∧ ((𝑥 + 𝑦) · 𝑧) = ((𝑥 · 𝑧) + (𝑦 · 𝑧)))))
Colors of variables: wff set class
Syntax hints:  wa 104  wb 105  w3a 983   = wceq 1375  wcel 2180  wral 2488  Vcvv 2779  [wsbc 3008   Fn wfn 5289  cfv 5294  (class class class)co 5974  Basecbs 12998  +gcplusg 13076  .rcmulr 13077  Mndcmnd 13415  Grpcgrp 13499  mulGrpcmgp 13849  Ringcrg 13925
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-ia1 106  ax-ia2 107  ax-ia3 108  ax-io 713  ax-5 1473  ax-7 1474  ax-gen 1475  ax-ie1 1519  ax-ie2 1520  ax-8 1530  ax-10 1531  ax-11 1532  ax-i12 1533  ax-bndl 1535  ax-4 1536  ax-17 1552  ax-i9 1556  ax-ial 1560  ax-i5r 1561  ax-13 2182  ax-14 2183  ax-ext 2191  ax-sep 4181  ax-pow 4237  ax-pr 4272  ax-un 4501  ax-cnex 8058  ax-resscn 8059  ax-1re 8061  ax-addrcl 8064
This theorem depends on definitions:  df-bi 117  df-3an 985  df-tru 1378  df-nf 1487  df-sb 1789  df-eu 2060  df-mo 2061  df-clab 2196  df-cleq 2202  df-clel 2205  df-nfc 2341  df-ral 2493  df-rex 2494  df-rab 2497  df-v 2781  df-sbc 3009  df-un 3181  df-in 3183  df-ss 3190  df-pw 3631  df-sn 3652  df-pr 3653  df-op 3655  df-uni 3868  df-int 3903  df-br 4063  df-opab 4125  df-mpt 4126  df-id 4361  df-xp 4702  df-rel 4703  df-cnv 4704  df-co 4705  df-dm 4706  df-rn 4707  df-res 4708  df-iota 5254  df-fun 5296  df-fn 5297  df-fv 5302  df-ov 5977  df-inn 9079  df-2 9137  df-3 9138  df-ndx 13001  df-slot 13002  df-base 13004  df-plusg 13089  df-mulr 13090  df-ring 13927
This theorem is referenced by:  ringgrp  13930  ringmgp  13931  ringdilem  13941  ringrng  13965  ringpropd  13967  isringd  13970  ringsrg  13976  ring1  13988
  Copyright terms: Public domain W3C validator