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 35083
Description: Obsolete as of 25-Jan-2020. Use ring1zr 19976 or srg1zr 19208 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 35069 . . . . . . . . 9 (𝑅 ∈ RingOps → 𝐺 ∈ GrpOp)
3 on1el3.2 . . . . . . . . . 10 𝑋 = ran 𝐺
43grpofo 28203 . . . . . . . . 9 (𝐺 ∈ GrpOp → 𝐺:(𝑋 × 𝑋)–onto𝑋)
5 fof 6583 . . . . . . . . 9 (𝐺:(𝑋 × 𝑋)–onto𝑋𝐺:(𝑋 × 𝑋)⟶𝑋)
62, 4, 53syl 18 . . . . . . . 8 (𝑅 ∈ RingOps → 𝐺:(𝑋 × 𝑋)⟶𝑋)
76adantr 481 . . . . . . 7 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → 𝐺:(𝑋 × 𝑋)⟶𝑋)
8 id 22 . . . . . . . . 9 (𝑋 = {𝐴} → 𝑋 = {𝐴})
98sqxpeqd 5580 . . . . . . . 8 (𝑋 = {𝐴} → (𝑋 × 𝑋) = ({𝐴} × {𝐴}))
109, 8feq23d 6502 . . . . . . 7 (𝑋 = {𝐴} → (𝐺:(𝑋 × 𝑋)⟶𝑋𝐺:({𝐴} × {𝐴})⟶{𝐴}))
117, 10syl5ibcom 246 . . . . . 6 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → (𝑋 = {𝐴} → 𝐺:({𝐴} × {𝐴})⟶{𝐴}))
127fdmd 6516 . . . . . . . . 9 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → dom 𝐺 = (𝑋 × 𝑋))
1312eqcomd 2824 . . . . . . . 8 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → (𝑋 × 𝑋) = dom 𝐺)
14 fdm 6515 . . . . . . . . 9 (𝐺:({𝐴} × {𝐴})⟶{𝐴} → dom 𝐺 = ({𝐴} × {𝐴}))
1514eqeq2d 2829 . . . . . . . 8 (𝐺:({𝐴} × {𝐴})⟶{𝐴} → ((𝑋 × 𝑋) = dom 𝐺 ↔ (𝑋 × 𝑋) = ({𝐴} × {𝐴})))
1613, 15syl5ibcom 246 . . . . . . 7 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → (𝐺:({𝐴} × {𝐴})⟶{𝐴} → (𝑋 × 𝑋) = ({𝐴} × {𝐴})))
17 xpid11 5795 . . . . . . 7 ((𝑋 × 𝑋) = ({𝐴} × {𝐴}) ↔ 𝑋 = {𝐴})
1816, 17syl6ib 252 . . . . . 6 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → (𝐺:({𝐴} × {𝐴})⟶{𝐴} → 𝑋 = {𝐴}))
1911, 18impbid 213 . . . . 5 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → (𝑋 = {𝐴} ↔ 𝐺:({𝐴} × {𝐴})⟶{𝐴}))
20 simpr 485 . . . . . . 7 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → 𝐴𝐵)
21 xpsng 6893 . . . . . . 7 ((𝐴𝐵𝐴𝐵) → ({𝐴} × {𝐴}) = {⟨𝐴, 𝐴⟩})
2220, 21sylancom 588 . . . . . 6 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → ({𝐴} × {𝐴}) = {⟨𝐴, 𝐴⟩})
2322feq2d 6493 . . . . 5 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → (𝐺:({𝐴} × {𝐴})⟶{𝐴} ↔ 𝐺:{⟨𝐴, 𝐴⟩}⟶{𝐴}))
24 opex 5347 . . . . . 6 𝐴, 𝐴⟩ ∈ V
25 fsng 6891 . . . . . 6 ((⟨𝐴, 𝐴⟩ ∈ V ∧ 𝐴𝐵) → (𝐺:{⟨𝐴, 𝐴⟩}⟶{𝐴} ↔ 𝐺 = {⟨⟨𝐴, 𝐴⟩, 𝐴⟩}))
2624, 20, 25sylancr 587 . . . . 5 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → (𝐺:{⟨𝐴, 𝐴⟩}⟶{𝐴} ↔ 𝐺 = {⟨⟨𝐴, 𝐴⟩, 𝐴⟩}))
2719, 23, 263bitrd 306 . . . 4 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → (𝑋 = {𝐴} ↔ 𝐺 = {⟨⟨𝐴, 𝐴⟩, 𝐴⟩}))
281eqeq1i 2823 . . . 4 (𝐺 = {⟨⟨𝐴, 𝐴⟩, 𝐴⟩} ↔ (1st𝑅) = {⟨⟨𝐴, 𝐴⟩, 𝐴⟩})
2927, 28syl6bb 288 . . 3 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → (𝑋 = {𝐴} ↔ (1st𝑅) = {⟨⟨𝐴, 𝐴⟩, 𝐴⟩}))
3029anbi1d 629 . 2 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → ((𝑋 = {𝐴} ∧ (2nd𝑅) = {⟨⟨𝐴, 𝐴⟩, 𝐴⟩}) ↔ ((1st𝑅) = {⟨⟨𝐴, 𝐴⟩, 𝐴⟩} ∧ (2nd𝑅) = {⟨⟨𝐴, 𝐴⟩, 𝐴⟩})))
31 eqid 2818 . . . . . . 7 (2nd𝑅) = (2nd𝑅)
321, 31, 3rngosm 35059 . . . . . 6 (𝑅 ∈ RingOps → (2nd𝑅):(𝑋 × 𝑋)⟶𝑋)
3332adantr 481 . . . . 5 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → (2nd𝑅):(𝑋 × 𝑋)⟶𝑋)
349, 8feq23d 6502 . . . . 5 (𝑋 = {𝐴} → ((2nd𝑅):(𝑋 × 𝑋)⟶𝑋 ↔ (2nd𝑅):({𝐴} × {𝐴})⟶{𝐴}))
3533, 34syl5ibcom 246 . . . 4 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → (𝑋 = {𝐴} → (2nd𝑅):({𝐴} × {𝐴})⟶{𝐴}))
3622feq2d 6493 . . . . 5 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → ((2nd𝑅):({𝐴} × {𝐴})⟶{𝐴} ↔ (2nd𝑅):{⟨𝐴, 𝐴⟩}⟶{𝐴}))
37 fsng 6891 . . . . . 6 ((⟨𝐴, 𝐴⟩ ∈ V ∧ 𝐴𝐵) → ((2nd𝑅):{⟨𝐴, 𝐴⟩}⟶{𝐴} ↔ (2nd𝑅) = {⟨⟨𝐴, 𝐴⟩, 𝐴⟩}))
3824, 20, 37sylancr 587 . . . . 5 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → ((2nd𝑅):{⟨𝐴, 𝐴⟩}⟶{𝐴} ↔ (2nd𝑅) = {⟨⟨𝐴, 𝐴⟩, 𝐴⟩}))
3936, 38bitrd 280 . . . 4 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → ((2nd𝑅):({𝐴} × {𝐴})⟶{𝐴} ↔ (2nd𝑅) = {⟨⟨𝐴, 𝐴⟩, 𝐴⟩}))
4035, 39sylibd 240 . . 3 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → (𝑋 = {𝐴} → (2nd𝑅) = {⟨⟨𝐴, 𝐴⟩, 𝐴⟩}))
4140pm4.71d 562 . 2 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → (𝑋 = {𝐴} ↔ (𝑋 = {𝐴} ∧ (2nd𝑅) = {⟨⟨𝐴, 𝐴⟩, 𝐴⟩})))
42 relrngo 35055 . . . . . 6 Rel RingOps
43 df-rel 5555 . . . . . 6 (Rel RingOps ↔ RingOps ⊆ (V × V))
4442, 43mpbi 231 . . . . 5 RingOps ⊆ (V × V)
4544sseli 3960 . . . 4 (𝑅 ∈ RingOps → 𝑅 ∈ (V × V))
4645adantr 481 . . 3 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → 𝑅 ∈ (V × V))
47 eqop 7720 . . 3 (𝑅 ∈ (V × V) → (𝑅 = ⟨{⟨⟨𝐴, 𝐴⟩, 𝐴⟩}, {⟨⟨𝐴, 𝐴⟩, 𝐴⟩}⟩ ↔ ((1st𝑅) = {⟨⟨𝐴, 𝐴⟩, 𝐴⟩} ∧ (2nd𝑅) = {⟨⟨𝐴, 𝐴⟩, 𝐴⟩})))
4846, 47syl 17 . 2 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → (𝑅 = ⟨{⟨⟨𝐴, 𝐴⟩, 𝐴⟩}, {⟨⟨𝐴, 𝐴⟩, 𝐴⟩}⟩ ↔ ((1st𝑅) = {⟨⟨𝐴, 𝐴⟩, 𝐴⟩} ∧ (2nd𝑅) = {⟨⟨𝐴, 𝐴⟩, 𝐴⟩})))
4930, 41, 483bitr4d 312 1 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → (𝑋 = {𝐴} ↔ 𝑅 = ⟨{⟨⟨𝐴, 𝐴⟩, 𝐴⟩}, {⟨⟨𝐴, 𝐴⟩, 𝐴⟩}⟩))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 207  wa 396   = wceq 1528  wcel 2105  Vcvv 3492  wss 3933  {csn 4557  cop 4563   × cxp 5546  dom cdm 5548  ran crn 5549  Rel wrel 5553  wf 6344  ontowfo 6346  cfv 6348  1st c1st 7676  2nd c2nd 7677  GrpOpcgr 28193  RingOpscrngo 35053
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1787  ax-4 1801  ax-5 1902  ax-6 1961  ax-7 2006  ax-8 2107  ax-9 2115  ax-10 2136  ax-11 2151  ax-12 2167  ax-ext 2790  ax-sep 5194  ax-nul 5201  ax-pow 5257  ax-pr 5320  ax-un 7450
This theorem depends on definitions:  df-bi 208  df-an 397  df-or 842  df-3an 1081  df-tru 1531  df-ex 1772  df-nf 1776  df-sb 2061  df-mo 2615  df-eu 2647  df-clab 2797  df-cleq 2811  df-clel 2890  df-nfc 2960  df-ne 3014  df-ral 3140  df-rex 3141  df-reu 3142  df-rab 3144  df-v 3494  df-sbc 3770  df-csb 3881  df-dif 3936  df-un 3938  df-in 3940  df-ss 3949  df-nul 4289  df-if 4464  df-sn 4558  df-pr 4560  df-op 4564  df-uni 4831  df-iun 4912  df-br 5058  df-opab 5120  df-mpt 5138  df-id 5453  df-xp 5554  df-rel 5555  df-cnv 5556  df-co 5557  df-dm 5558  df-rn 5559  df-iota 6307  df-fun 6350  df-fn 6351  df-f 6352  df-f1 6353  df-fo 6354  df-f1o 6355  df-fv 6356  df-ov 7148  df-1st 7678  df-2nd 7679  df-grpo 28197  df-ablo 28249  df-rngo 35054
This theorem is referenced by:  rngosn4  35084
  Copyright terms: Public domain W3C validator