Mathbox for Jeff Madsen < Previous   Next > Nearby theorems Mirrors  >  Home  >  MPE Home  >  Th. List  >   Mathboxes  >  rngosn3 Structured version   Visualization version   GIF version

Theorem rngosn3 33390
 Description: Obsolete as of 25-Jan-2020. Use ring1zr 19207 or srg1zr 18461 instead. The only unital ring with a base set consisting in one element is the zero ring. (Contributed by FL, 13-Feb-2010.) (Proof shortened by Mario Carneiro, 30-Apr-2015.) (New usage is discouraged.)
Hypotheses
Ref Expression
on1el3.1 𝐺 = (1st𝑅)
on1el3.2 𝑋 = ran 𝐺
Assertion
Ref Expression
rngosn3 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → (𝑋 = {𝐴} ↔ 𝑅 = ⟨{⟨⟨𝐴, 𝐴⟩, 𝐴⟩}, {⟨⟨𝐴, 𝐴⟩, 𝐴⟩}⟩))

Proof of Theorem rngosn3
StepHypRef Expression
1 on1el3.1 . . . . . . . . . 10 𝐺 = (1st𝑅)
21rngogrpo 33376 . . . . . . . . 9 (𝑅 ∈ RingOps → 𝐺 ∈ GrpOp)
3 on1el3.2 . . . . . . . . . 10 𝑋 = ran 𝐺
43grpofo 27223 . . . . . . . . 9 (𝐺 ∈ GrpOp → 𝐺:(𝑋 × 𝑋)–onto𝑋)
5 fof 6077 . . . . . . . . 9 (𝐺:(𝑋 × 𝑋)–onto𝑋𝐺:(𝑋 × 𝑋)⟶𝑋)
62, 4, 53syl 18 . . . . . . . 8 (𝑅 ∈ RingOps → 𝐺:(𝑋 × 𝑋)⟶𝑋)
76adantr 481 . . . . . . 7 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → 𝐺:(𝑋 × 𝑋)⟶𝑋)
8 id 22 . . . . . . . . 9 (𝑋 = {𝐴} → 𝑋 = {𝐴})
98sqxpeqd 5106 . . . . . . . 8 (𝑋 = {𝐴} → (𝑋 × 𝑋) = ({𝐴} × {𝐴}))
109, 8feq23d 6002 . . . . . . 7 (𝑋 = {𝐴} → (𝐺:(𝑋 × 𝑋)⟶𝑋𝐺:({𝐴} × {𝐴})⟶{𝐴}))
117, 10syl5ibcom 235 . . . . . 6 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → (𝑋 = {𝐴} → 𝐺:({𝐴} × {𝐴})⟶{𝐴}))
12 fdm 6013 . . . . . . . . . 10 (𝐺:(𝑋 × 𝑋)⟶𝑋 → dom 𝐺 = (𝑋 × 𝑋))
137, 12syl 17 . . . . . . . . 9 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → dom 𝐺 = (𝑋 × 𝑋))
1413eqcomd 2627 . . . . . . . 8 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → (𝑋 × 𝑋) = dom 𝐺)
15 fdm 6013 . . . . . . . . 9 (𝐺:({𝐴} × {𝐴})⟶{𝐴} → dom 𝐺 = ({𝐴} × {𝐴}))
1615eqeq2d 2631 . . . . . . . 8 (𝐺:({𝐴} × {𝐴})⟶{𝐴} → ((𝑋 × 𝑋) = dom 𝐺 ↔ (𝑋 × 𝑋) = ({𝐴} × {𝐴})))
1714, 16syl5ibcom 235 . . . . . . 7 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → (𝐺:({𝐴} × {𝐴})⟶{𝐴} → (𝑋 × 𝑋) = ({𝐴} × {𝐴})))
18 xpid11 5312 . . . . . . 7 ((𝑋 × 𝑋) = ({𝐴} × {𝐴}) ↔ 𝑋 = {𝐴})
1917, 18syl6ib 241 . . . . . 6 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → (𝐺:({𝐴} × {𝐴})⟶{𝐴} → 𝑋 = {𝐴}))
2011, 19impbid 202 . . . . 5 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → (𝑋 = {𝐴} ↔ 𝐺:({𝐴} × {𝐴})⟶{𝐴}))
21 simpr 477 . . . . . . 7 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → 𝐴𝐵)
22 xpsng 6366 . . . . . . 7 ((𝐴𝐵𝐴𝐵) → ({𝐴} × {𝐴}) = {⟨𝐴, 𝐴⟩})
2321, 22sylancom 700 . . . . . 6 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → ({𝐴} × {𝐴}) = {⟨𝐴, 𝐴⟩})
2423feq2d 5993 . . . . 5 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → (𝐺:({𝐴} × {𝐴})⟶{𝐴} ↔ 𝐺:{⟨𝐴, 𝐴⟩}⟶{𝐴}))
25 opex 4898 . . . . . 6 𝐴, 𝐴⟩ ∈ V
26 fsng 6364 . . . . . 6 ((⟨𝐴, 𝐴⟩ ∈ V ∧ 𝐴𝐵) → (𝐺:{⟨𝐴, 𝐴⟩}⟶{𝐴} ↔ 𝐺 = {⟨⟨𝐴, 𝐴⟩, 𝐴⟩}))
2725, 21, 26sylancr 694 . . . . 5 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → (𝐺:{⟨𝐴, 𝐴⟩}⟶{𝐴} ↔ 𝐺 = {⟨⟨𝐴, 𝐴⟩, 𝐴⟩}))
2820, 24, 273bitrd 294 . . . 4 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → (𝑋 = {𝐴} ↔ 𝐺 = {⟨⟨𝐴, 𝐴⟩, 𝐴⟩}))
291eqeq1i 2626 . . . 4 (𝐺 = {⟨⟨𝐴, 𝐴⟩, 𝐴⟩} ↔ (1st𝑅) = {⟨⟨𝐴, 𝐴⟩, 𝐴⟩})
3028, 29syl6bb 276 . . 3 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → (𝑋 = {𝐴} ↔ (1st𝑅) = {⟨⟨𝐴, 𝐴⟩, 𝐴⟩}))
3130anbi1d 740 . 2 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → ((𝑋 = {𝐴} ∧ (2nd𝑅) = {⟨⟨𝐴, 𝐴⟩, 𝐴⟩}) ↔ ((1st𝑅) = {⟨⟨𝐴, 𝐴⟩, 𝐴⟩} ∧ (2nd𝑅) = {⟨⟨𝐴, 𝐴⟩, 𝐴⟩})))
32 eqid 2621 . . . . . . 7 (2nd𝑅) = (2nd𝑅)
331, 32, 3rngosm 33366 . . . . . 6 (𝑅 ∈ RingOps → (2nd𝑅):(𝑋 × 𝑋)⟶𝑋)
3433adantr 481 . . . . 5 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → (2nd𝑅):(𝑋 × 𝑋)⟶𝑋)
359, 8feq23d 6002 . . . . 5 (𝑋 = {𝐴} → ((2nd𝑅):(𝑋 × 𝑋)⟶𝑋 ↔ (2nd𝑅):({𝐴} × {𝐴})⟶{𝐴}))
3634, 35syl5ibcom 235 . . . 4 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → (𝑋 = {𝐴} → (2nd𝑅):({𝐴} × {𝐴})⟶{𝐴}))
3723feq2d 5993 . . . . 5 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → ((2nd𝑅):({𝐴} × {𝐴})⟶{𝐴} ↔ (2nd𝑅):{⟨𝐴, 𝐴⟩}⟶{𝐴}))
38 fsng 6364 . . . . . 6 ((⟨𝐴, 𝐴⟩ ∈ V ∧ 𝐴𝐵) → ((2nd𝑅):{⟨𝐴, 𝐴⟩}⟶{𝐴} ↔ (2nd𝑅) = {⟨⟨𝐴, 𝐴⟩, 𝐴⟩}))
3925, 21, 38sylancr 694 . . . . 5 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → ((2nd𝑅):{⟨𝐴, 𝐴⟩}⟶{𝐴} ↔ (2nd𝑅) = {⟨⟨𝐴, 𝐴⟩, 𝐴⟩}))
4037, 39bitrd 268 . . . 4 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → ((2nd𝑅):({𝐴} × {𝐴})⟶{𝐴} ↔ (2nd𝑅) = {⟨⟨𝐴, 𝐴⟩, 𝐴⟩}))
4136, 40sylibd 229 . . 3 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → (𝑋 = {𝐴} → (2nd𝑅) = {⟨⟨𝐴, 𝐴⟩, 𝐴⟩}))
4241pm4.71d 665 . 2 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → (𝑋 = {𝐴} ↔ (𝑋 = {𝐴} ∧ (2nd𝑅) = {⟨⟨𝐴, 𝐴⟩, 𝐴⟩})))
43 relrngo 33362 . . . . . 6 Rel RingOps
44 df-rel 5086 . . . . . 6 (Rel RingOps ↔ RingOps ⊆ (V × V))
4543, 44mpbi 220 . . . . 5 RingOps ⊆ (V × V)
4645sseli 3583 . . . 4 (𝑅 ∈ RingOps → 𝑅 ∈ (V × V))
4746adantr 481 . . 3 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → 𝑅 ∈ (V × V))
48 eqop 7160 . . 3 (𝑅 ∈ (V × V) → (𝑅 = ⟨{⟨⟨𝐴, 𝐴⟩, 𝐴⟩}, {⟨⟨𝐴, 𝐴⟩, 𝐴⟩}⟩ ↔ ((1st𝑅) = {⟨⟨𝐴, 𝐴⟩, 𝐴⟩} ∧ (2nd𝑅) = {⟨⟨𝐴, 𝐴⟩, 𝐴⟩})))
4947, 48syl 17 . 2 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → (𝑅 = ⟨{⟨⟨𝐴, 𝐴⟩, 𝐴⟩}, {⟨⟨𝐴, 𝐴⟩, 𝐴⟩}⟩ ↔ ((1st𝑅) = {⟨⟨𝐴, 𝐴⟩, 𝐴⟩} ∧ (2nd𝑅) = {⟨⟨𝐴, 𝐴⟩, 𝐴⟩})))
5031, 42, 493bitr4d 300 1 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → (𝑋 = {𝐴} ↔ 𝑅 = ⟨{⟨⟨𝐴, 𝐴⟩, 𝐴⟩}, {⟨⟨𝐴, 𝐴⟩, 𝐴⟩}⟩))
 Colors of variables: wff setvar class Syntax hints:   → wi 4   ↔ wb 196   ∧ wa 384   = wceq 1480   ∈ wcel 1987  Vcvv 3189   ⊆ wss 3559  {csn 4153  ⟨cop 4159   × cxp 5077  dom cdm 5079  ran crn 5080  Rel wrel 5084  ⟶wf 5848  –onto→wfo 5850  ‘cfv 5852  1st c1st 7118  2nd c2nd 7119  GrpOpcgr 27213  RingOpscrngo 33360 This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1719  ax-4 1734  ax-5 1836  ax-6 1885  ax-7 1932  ax-8 1989  ax-9 1996  ax-10 2016  ax-11 2031  ax-12 2044  ax-13 2245  ax-ext 2601  ax-sep 4746  ax-nul 4754  ax-pow 4808  ax-pr 4872  ax-un 6909 This theorem depends on definitions:  df-bi 197  df-or 385  df-an 386  df-3an 1038  df-tru 1483  df-ex 1702  df-nf 1707  df-sb 1878  df-eu 2473  df-mo 2474  df-clab 2608  df-cleq 2614  df-clel 2617  df-nfc 2750  df-ne 2791  df-ral 2912  df-rex 2913  df-reu 2914  df-rab 2916  df-v 3191  df-sbc 3422  df-csb 3519  df-dif 3562  df-un 3564  df-in 3566  df-ss 3573  df-nul 3897  df-if 4064  df-sn 4154  df-pr 4156  df-op 4160  df-uni 4408  df-iun 4492  df-br 4619  df-opab 4679  df-mpt 4680  df-id 4994  df-xp 5085  df-rel 5086  df-cnv 5087  df-co 5088  df-dm 5089  df-rn 5090  df-iota 5815  df-fun 5854  df-fn 5855  df-f 5856  df-f1 5857  df-fo 5858  df-f1o 5859  df-fv 5860  df-ov 6613  df-1st 7120  df-2nd 7121  df-grpo 27217  df-ablo 27269  df-rngo 33361 This theorem is referenced by:  rngosn4  33391
 Copyright terms: Public domain W3C validator