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

Theorem rngosn3 36321
Description: Obsolete as of 25-Jan-2020. Use ring1zr 20698 or srg1zr 19900 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 36307 . . . . . . . . 9 (𝑅 ∈ RingOps → 𝐺 ∈ GrpOp)
3 on1el3.2 . . . . . . . . . 10 𝑋 = ran 𝐺
43grpofo 29270 . . . . . . . . 9 (𝐺 ∈ GrpOp → 𝐺:(𝑋 × 𝑋)–onto𝑋)
5 fof 6753 . . . . . . . . 9 (𝐺:(𝑋 × 𝑋)–onto𝑋𝐺:(𝑋 × 𝑋)⟶𝑋)
62, 4, 53syl 18 . . . . . . . 8 (𝑅 ∈ RingOps → 𝐺:(𝑋 × 𝑋)⟶𝑋)
76adantr 481 . . . . . . 7 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → 𝐺:(𝑋 × 𝑋)⟶𝑋)
8 id 22 . . . . . . . . 9 (𝑋 = {𝐴} → 𝑋 = {𝐴})
98sqxpeqd 5663 . . . . . . . 8 (𝑋 = {𝐴} → (𝑋 × 𝑋) = ({𝐴} × {𝐴}))
109, 8feq23d 6660 . . . . . . 7 (𝑋 = {𝐴} → (𝐺:(𝑋 × 𝑋)⟶𝑋𝐺:({𝐴} × {𝐴})⟶{𝐴}))
117, 10syl5ibcom 244 . . . . . 6 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → (𝑋 = {𝐴} → 𝐺:({𝐴} × {𝐴})⟶{𝐴}))
127fdmd 6676 . . . . . . . . 9 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → dom 𝐺 = (𝑋 × 𝑋))
1312eqcomd 2743 . . . . . . . 8 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → (𝑋 × 𝑋) = dom 𝐺)
14 fdm 6674 . . . . . . . . 9 (𝐺:({𝐴} × {𝐴})⟶{𝐴} → dom 𝐺 = ({𝐴} × {𝐴}))
1514eqeq2d 2748 . . . . . . . 8 (𝐺:({𝐴} × {𝐴})⟶{𝐴} → ((𝑋 × 𝑋) = dom 𝐺 ↔ (𝑋 × 𝑋) = ({𝐴} × {𝐴})))
1613, 15syl5ibcom 244 . . . . . . 7 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → (𝐺:({𝐴} × {𝐴})⟶{𝐴} → (𝑋 × 𝑋) = ({𝐴} × {𝐴})))
17 xpid11 5885 . . . . . . 7 ((𝑋 × 𝑋) = ({𝐴} × {𝐴}) ↔ 𝑋 = {𝐴})
1816, 17syl6ib 250 . . . . . 6 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → (𝐺:({𝐴} × {𝐴})⟶{𝐴} → 𝑋 = {𝐴}))
1911, 18impbid 211 . . . . 5 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → (𝑋 = {𝐴} ↔ 𝐺:({𝐴} × {𝐴})⟶{𝐴}))
20 simpr 485 . . . . . . 7 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → 𝐴𝐵)
21 xpsng 7081 . . . . . . 7 ((𝐴𝐵𝐴𝐵) → ({𝐴} × {𝐴}) = {⟨𝐴, 𝐴⟩})
2220, 21sylancom 588 . . . . . 6 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → ({𝐴} × {𝐴}) = {⟨𝐴, 𝐴⟩})
2322feq2d 6651 . . . . 5 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → (𝐺:({𝐴} × {𝐴})⟶{𝐴} ↔ 𝐺:{⟨𝐴, 𝐴⟩}⟶{𝐴}))
24 opex 5419 . . . . . 6 𝐴, 𝐴⟩ ∈ V
25 fsng 7079 . . . . . 6 ((⟨𝐴, 𝐴⟩ ∈ V ∧ 𝐴𝐵) → (𝐺:{⟨𝐴, 𝐴⟩}⟶{𝐴} ↔ 𝐺 = {⟨⟨𝐴, 𝐴⟩, 𝐴⟩}))
2624, 20, 25sylancr 587 . . . . 5 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → (𝐺:{⟨𝐴, 𝐴⟩}⟶{𝐴} ↔ 𝐺 = {⟨⟨𝐴, 𝐴⟩, 𝐴⟩}))
2719, 23, 263bitrd 304 . . . 4 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → (𝑋 = {𝐴} ↔ 𝐺 = {⟨⟨𝐴, 𝐴⟩, 𝐴⟩}))
281eqeq1i 2742 . . . 4 (𝐺 = {⟨⟨𝐴, 𝐴⟩, 𝐴⟩} ↔ (1st𝑅) = {⟨⟨𝐴, 𝐴⟩, 𝐴⟩})
2927, 28bitrdi 286 . . 3 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → (𝑋 = {𝐴} ↔ (1st𝑅) = {⟨⟨𝐴, 𝐴⟩, 𝐴⟩}))
3029anbi1d 630 . 2 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → ((𝑋 = {𝐴} ∧ (2nd𝑅) = {⟨⟨𝐴, 𝐴⟩, 𝐴⟩}) ↔ ((1st𝑅) = {⟨⟨𝐴, 𝐴⟩, 𝐴⟩} ∧ (2nd𝑅) = {⟨⟨𝐴, 𝐴⟩, 𝐴⟩})))
31 eqid 2737 . . . . . . 7 (2nd𝑅) = (2nd𝑅)
321, 31, 3rngosm 36297 . . . . . 6 (𝑅 ∈ RingOps → (2nd𝑅):(𝑋 × 𝑋)⟶𝑋)
3332adantr 481 . . . . 5 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → (2nd𝑅):(𝑋 × 𝑋)⟶𝑋)
349, 8feq23d 6660 . . . . 5 (𝑋 = {𝐴} → ((2nd𝑅):(𝑋 × 𝑋)⟶𝑋 ↔ (2nd𝑅):({𝐴} × {𝐴})⟶{𝐴}))
3533, 34syl5ibcom 244 . . . 4 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → (𝑋 = {𝐴} → (2nd𝑅):({𝐴} × {𝐴})⟶{𝐴}))
3622feq2d 6651 . . . . 5 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → ((2nd𝑅):({𝐴} × {𝐴})⟶{𝐴} ↔ (2nd𝑅):{⟨𝐴, 𝐴⟩}⟶{𝐴}))
37 fsng 7079 . . . . . 6 ((⟨𝐴, 𝐴⟩ ∈ V ∧ 𝐴𝐵) → ((2nd𝑅):{⟨𝐴, 𝐴⟩}⟶{𝐴} ↔ (2nd𝑅) = {⟨⟨𝐴, 𝐴⟩, 𝐴⟩}))
3824, 20, 37sylancr 587 . . . . 5 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → ((2nd𝑅):{⟨𝐴, 𝐴⟩}⟶{𝐴} ↔ (2nd𝑅) = {⟨⟨𝐴, 𝐴⟩, 𝐴⟩}))
3936, 38bitrd 278 . . . 4 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → ((2nd𝑅):({𝐴} × {𝐴})⟶{𝐴} ↔ (2nd𝑅) = {⟨⟨𝐴, 𝐴⟩, 𝐴⟩}))
4035, 39sylibd 238 . . 3 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → (𝑋 = {𝐴} → (2nd𝑅) = {⟨⟨𝐴, 𝐴⟩, 𝐴⟩}))
4140pm4.71d 562 . 2 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → (𝑋 = {𝐴} ↔ (𝑋 = {𝐴} ∧ (2nd𝑅) = {⟨⟨𝐴, 𝐴⟩, 𝐴⟩})))
42 relrngo 36293 . . . . . 6 Rel RingOps
43 df-rel 5638 . . . . . 6 (Rel RingOps ↔ RingOps ⊆ (V × V))
4442, 43mpbi 229 . . . . 5 RingOps ⊆ (V × V)
4544sseli 3938 . . . 4 (𝑅 ∈ RingOps → 𝑅 ∈ (V × V))
4645adantr 481 . . 3 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → 𝑅 ∈ (V × V))
47 eqop 7955 . . 3 (𝑅 ∈ (V × V) → (𝑅 = ⟨{⟨⟨𝐴, 𝐴⟩, 𝐴⟩}, {⟨⟨𝐴, 𝐴⟩, 𝐴⟩}⟩ ↔ ((1st𝑅) = {⟨⟨𝐴, 𝐴⟩, 𝐴⟩} ∧ (2nd𝑅) = {⟨⟨𝐴, 𝐴⟩, 𝐴⟩})))
4846, 47syl 17 . 2 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → (𝑅 = ⟨{⟨⟨𝐴, 𝐴⟩, 𝐴⟩}, {⟨⟨𝐴, 𝐴⟩, 𝐴⟩}⟩ ↔ ((1st𝑅) = {⟨⟨𝐴, 𝐴⟩, 𝐴⟩} ∧ (2nd𝑅) = {⟨⟨𝐴, 𝐴⟩, 𝐴⟩})))
4930, 41, 483bitr4d 310 1 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → (𝑋 = {𝐴} ↔ 𝑅 = ⟨{⟨⟨𝐴, 𝐴⟩, 𝐴⟩}, {⟨⟨𝐴, 𝐴⟩, 𝐴⟩}⟩))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 205  wa 396   = wceq 1541  wcel 2106  Vcvv 3443  wss 3908  {csn 4584  cop 4590   × cxp 5629  dom cdm 5631  ran crn 5632  Rel wrel 5636  wf 6489  ontowfo 6491  cfv 6493  1st c1st 7911  2nd c2nd 7912  GrpOpcgr 29260  RingOpscrngo 36291
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1797  ax-4 1811  ax-5 1913  ax-6 1971  ax-7 2011  ax-8 2108  ax-9 2116  ax-10 2137  ax-11 2154  ax-12 2171  ax-ext 2708  ax-sep 5254  ax-nul 5261  ax-pr 5382  ax-un 7664
This theorem depends on definitions:  df-bi 206  df-an 397  df-or 846  df-3an 1089  df-tru 1544  df-fal 1554  df-ex 1782  df-nf 1786  df-sb 2068  df-mo 2539  df-eu 2568  df-clab 2715  df-cleq 2729  df-clel 2815  df-nfc 2887  df-ne 2942  df-ral 3063  df-rex 3072  df-reu 3352  df-rab 3406  df-v 3445  df-sbc 3738  df-csb 3854  df-dif 3911  df-un 3913  df-in 3915  df-ss 3925  df-nul 4281  df-if 4485  df-sn 4585  df-pr 4587  df-op 4591  df-uni 4864  df-iun 4954  df-br 5104  df-opab 5166  df-mpt 5187  df-id 5529  df-xp 5637  df-rel 5638  df-cnv 5639  df-co 5640  df-dm 5641  df-rn 5642  df-iota 6445  df-fun 6495  df-fn 6496  df-f 6497  df-f1 6498  df-fo 6499  df-f1o 6500  df-fv 6501  df-ov 7354  df-1st 7913  df-2nd 7914  df-grpo 29264  df-ablo 29316  df-rngo 36292
This theorem is referenced by:  rngosn4  36322
  Copyright terms: Public domain W3C validator