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 38995
Description: Obsolete as of 25-Jan-2020. Use ring1zr 21043 or srg1zr 20450 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.) (Proof modification 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 38981 . . . . . . . . 9 (𝑅 ∈ RingOps → 𝐺 ∈ GrpOp)
3 on1el3.2 . . . . . . . . . 10 𝑋 = ran 𝐺
43grpofo 31110 . . . . . . . . 9 (𝐺 ∈ GrpOp → 𝐺:(𝑋 × 𝑋)–onto→𝑋)
5 fof 6801 . . . . . . . . 9 (𝐺:(𝑋 × 𝑋)–onto→𝑋 → 𝐺:(𝑋 × 𝑋)⟶𝑋)
62, 4, 53syl 19 . . . . . . . 8 (𝑅 ∈ RingOps → 𝐺:(𝑋 × 𝑋)⟶𝑋)
76adantr 486 . . . . . . 7 ((𝑅 ∈ RingOps ∧ 𝐴 ∈ 𝐵) → 𝐺:(𝑋 × 𝑋)⟶𝑋)
8 id 23 . . . . . . . . 9 (𝑋 = {𝐴} → 𝑋 = {𝐴})
98sqxpeqd 5683 . . . . . . . 8 (𝑋 = {𝐴} → (𝑋 × 𝑋) = ({𝐴} × {𝐴}))
109, 8feq23d 6709 . . . . . . 7 (𝑋 = {𝐴} → (𝐺:(𝑋 × 𝑋)⟶𝑋 ↔ 𝐺:({𝐴} × {𝐴})⟶{𝐴}))
117, 10syl5ibcom 248 . . . . . 6 ((𝑅 ∈ RingOps ∧ 𝐴 ∈ 𝐵) → (𝑋 = {𝐴} → 𝐺:({𝐴} × {𝐴})⟶{𝐴}))
127fdmd 6725 . . . . . . . . 9 ((𝑅 ∈ RingOps ∧ 𝐴 ∈ 𝐵) → dom 𝐺 = (𝑋 × 𝑋))
1312eqcomd 2766 . . . . . . . 8 ((𝑅 ∈ RingOps ∧ 𝐴 ∈ 𝐵) → (𝑋 × 𝑋) = dom 𝐺)
14 fdm 6724 . . . . . . . . 9 (𝐺:({𝐴} × {𝐴})⟶{𝐴} → dom 𝐺 = ({𝐴} × {𝐴}))
1514eqeq2d 2771 . . . . . . . 8 (𝐺:({𝐴} × {𝐴})⟶{𝐴} → ((𝑋 × 𝑋) = dom 𝐺 ↔ (𝑋 × 𝑋) = ({𝐴} × {𝐴})))
1613, 15syl5ibcom 248 . . . . . . 7 ((𝑅 ∈ RingOps ∧ 𝐴 ∈ 𝐵) → (𝐺:({𝐴} × {𝐴})⟶{𝐴} → (𝑋 × 𝑋) = ({𝐴} × {𝐴})))
17 xpid11 5915 . . . . . . 7 ((𝑋 × 𝑋) = ({𝐴} × {𝐴}) ↔ 𝑋 = {𝐴})
1816, 17imbitrdi 254 . . . . . 6 ((𝑅 ∈ RingOps ∧ 𝐴 ∈ 𝐵) → (𝐺:({𝐴} × {𝐴})⟶{𝐴} → 𝑋 = {𝐴}))
1911, 18impbid 215 . . . . 5 ((𝑅 ∈ RingOps ∧ 𝐴 ∈ 𝐵) → (𝑋 = {𝐴} ↔ 𝐺:({𝐴} × {𝐴})⟶{𝐴}))
20 simpr 490 . . . . . . 7 ((𝑅 ∈ RingOps ∧ 𝐴 ∈ 𝐵) → 𝐴 ∈ 𝐵)
21 xpsng 7145 . . . . . . 7 ((𝐴 ∈ 𝐵 ∧ 𝐴 ∈ 𝐵) → ({𝐴} × {𝐴}) = {⟨𝐴, 𝐴⟩})
2220, 21sylancom 600 . . . . . 6 ((𝑅 ∈ RingOps ∧ 𝐴 ∈ 𝐵) → ({𝐴} × {𝐴}) = {⟨𝐴, 𝐴⟩})
2322feq2d 6698 . . . . 5 ((𝑅 ∈ RingOps ∧ 𝐴 ∈ 𝐵) → (𝐺:({𝐴} × {𝐴})⟶{𝐴} ↔ 𝐺:{⟨𝐴, 𝐴⟩}⟶{𝐴}))
24 opex 5432 . . . . . 6 ⟨𝐴, 𝐴⟩ ∈ V
25 fsng 7143 . . . . . 6 ((⟨𝐴, 𝐴⟩ ∈ V ∧ 𝐴 ∈ 𝐵) → (𝐺:{⟨𝐴, 𝐴⟩}⟶{𝐴} ↔ 𝐺 = {⟨⟨𝐴, 𝐴⟩, 𝐴⟩}))
2624, 20, 25sylancr 599 . . . . 5 ((𝑅 ∈ RingOps ∧ 𝐴 ∈ 𝐵) → (𝐺:{⟨𝐴, 𝐴⟩}⟶{𝐴} ↔ 𝐺 = {⟨⟨𝐴, 𝐴⟩, 𝐴⟩}))
2719, 23, 263bitrd 308 . . . 4 ((𝑅 ∈ RingOps ∧ 𝐴 ∈ 𝐵) → (𝑋 = {𝐴} ↔ 𝐺 = {⟨⟨𝐴, 𝐴⟩, 𝐴⟩}))
281eqeq1i 2765 . . . 4 (𝐺 = {⟨⟨𝐴, 𝐴⟩, 𝐴⟩} ↔ (1st ‘𝑅) = {⟨⟨𝐴, 𝐴⟩, 𝐴⟩})
2927, 28bitrdi 290 . . 3 ((𝑅 ∈ RingOps ∧ 𝐴 ∈ 𝐵) → (𝑋 = {𝐴} ↔ (1st ‘𝑅) = {⟨⟨𝐴, 𝐴⟩, 𝐴⟩}))
3029anbi1d 643 . 2 ((𝑅 ∈ RingOps ∧ 𝐴 ∈ 𝐵) → ((𝑋 = {𝐴} ∧ (2nd ‘𝑅) = {⟨⟨𝐴, 𝐴⟩, 𝐴⟩}) ↔ ((1st ‘𝑅) = {⟨⟨𝐴, 𝐴⟩, 𝐴⟩} ∧ (2nd ‘𝑅) = {⟨⟨𝐴, 𝐴⟩, 𝐴⟩})))
31 eqid 2760 . . . . . . 7 (2nd ‘𝑅) = (2nd ‘𝑅)
321, 31, 3rngosm 38971 . . . . . 6 (𝑅 ∈ RingOps → (2nd ‘𝑅):(𝑋 × 𝑋)⟶𝑋)
3332adantr 486 . . . . 5 ((𝑅 ∈ RingOps ∧ 𝐴 ∈ 𝐵) → (2nd ‘𝑅):(𝑋 × 𝑋)⟶𝑋)
349, 8feq23d 6709 . . . . 5 (𝑋 = {𝐴} → ((2nd ‘𝑅):(𝑋 × 𝑋)⟶𝑋 ↔ (2nd ‘𝑅):({𝐴} × {𝐴})⟶{𝐴}))
3533, 34syl5ibcom 248 . . . 4 ((𝑅 ∈ RingOps ∧ 𝐴 ∈ 𝐵) → (𝑋 = {𝐴} → (2nd ‘𝑅):({𝐴} × {𝐴})⟶{𝐴}))
3622feq2d 6698 . . . . 5 ((𝑅 ∈ RingOps ∧ 𝐴 ∈ 𝐵) → ((2nd ‘𝑅):({𝐴} × {𝐴})⟶{𝐴} ↔ (2nd ‘𝑅):{⟨𝐴, 𝐴⟩}⟶{𝐴}))
37 fsng 7143 . . . . . 6 ((⟨𝐴, 𝐴⟩ ∈ V ∧ 𝐴 ∈ 𝐵) → ((2nd ‘𝑅):{⟨𝐴, 𝐴⟩}⟶{𝐴} ↔ (2nd ‘𝑅) = {⟨⟨𝐴, 𝐴⟩, 𝐴⟩}))
3824, 20, 37sylancr 599 . . . . 5 ((𝑅 ∈ RingOps ∧ 𝐴 ∈ 𝐵) → ((2nd ‘𝑅):{⟨𝐴, 𝐴⟩}⟶{𝐴} ↔ (2nd ‘𝑅) = {⟨⟨𝐴, 𝐴⟩, 𝐴⟩}))
3936, 38bitrd 282 . . . 4 ((𝑅 ∈ RingOps ∧ 𝐴 ∈ 𝐵) → ((2nd ‘𝑅):({𝐴} × {𝐴})⟶{𝐴} ↔ (2nd ‘𝑅) = {⟨⟨𝐴, 𝐴⟩, 𝐴⟩}))
4035, 39sylibd 242 . . 3 ((𝑅 ∈ RingOps ∧ 𝐴 ∈ 𝐵) → (𝑋 = {𝐴} → (2nd ‘𝑅) = {⟨⟨𝐴, 𝐴⟩, 𝐴⟩}))
4140pm4.71d 571 . 2 ((𝑅 ∈ RingOps ∧ 𝐴 ∈ 𝐵) → (𝑋 = {𝐴} ↔ (𝑋 = {𝐴} ∧ (2nd ‘𝑅) = {⟨⟨𝐴, 𝐴⟩, 𝐴⟩})))
42 relrngo 38967 . . . . . 6 Rel RingOps
43 df-rel 5658 . . . . . 6 (Rel RingOps ↔ RingOps ⊆ (V × V))
4442, 43mpbi 233 . . . . 5 RingOps ⊆ (V × V)
4544sseli 3905 . . . 4 (𝑅 ∈ RingOps → 𝑅 ∈ (V × V))
4645adantr 486 . . 3 ((𝑅 ∈ RingOps ∧ 𝐴 ∈ 𝐵) → 𝑅 ∈ (V × V))
47 eqop 8047 . . 3 (𝑅 ∈ (V × V) → (𝑅 = ⟨{⟨⟨𝐴, 𝐴⟩, 𝐴⟩}, {⟨⟨𝐴, 𝐴⟩, 𝐴⟩}⟩ ↔ ((1st ‘𝑅) = {⟨⟨𝐴, 𝐴⟩, 𝐴⟩} ∧ (2nd ‘𝑅) = {⟨⟨𝐴, 𝐴⟩, 𝐴⟩})))
4846, 47syl 18 . 2 ((𝑅 ∈ RingOps ∧ 𝐴 ∈ 𝐵) → (𝑅 = ⟨{⟨⟨𝐴, 𝐴⟩, 𝐴⟩}, {⟨⟨𝐴, 𝐴⟩, 𝐴⟩}⟩ ↔ ((1st ‘𝑅) = {⟨⟨𝐴, 𝐴⟩, 𝐴⟩} ∧ (2nd ‘𝑅) = {⟨⟨𝐴, 𝐴⟩, 𝐴⟩})))
4930, 41, 483bitr4d 314 1 ((𝑅 ∈ RingOps ∧ 𝐴 ∈ 𝐵) → (𝑋 = {𝐴} ↔ 𝑅 = ⟨{⟨⟨𝐴, 𝐴⟩, 𝐴⟩}, {⟨⟨𝐴, 𝐴⟩, 𝐴⟩}⟩))
Colors of variables:    wff setvar class
This proof depends on syntax axioms:   → wi 4   ↔ wb 209   ∧ wa 401   = wceq 1569   ∈ wcel 2144  Vcvv 3450   ⊆ wss 3896  {csn 4584  ⟨cop 4834   × cxp 5649  dom cdm 5651  ran crn 5652  Rel wrel 5656  ⟶wf 6539  –onto→wfo 6541  ‘cfv 6543  1st c1st 8003  2nd c2nd 8004  GrpOpcgr 31100  RingOpscrngo 38965
This proof depends on axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1827  ax-4 1841  ax-5 1942  ax-6 1999  ax-7 2040  ax-8 2146  ax-9 2154  ax-10 2177  ax-11 2193  ax-12 2212  ax-ext 2732  ax-sep 5248  ax-nul 5259  ax-pr 5391  ax-un 7755
This proof depends on definitions:  df-bi 210  df-an 402  df-or 862  df-3an 1105  df-tru 1572  df-fal 1582  df-ex 1812  df-nf 1816  df-sb 2099  df-mo 2564  df-eu 2594  df-clab 2739  df-cleq 2752  df-clel 2835  df-nfc 2909  df-ne 2956  df-ral 3077  df-rex 3087  df-reu 3366  df-rab 3413  df-v 3452  df-sbc 3739  df-csb 3848  df-ss 3897  df-dif 4046  df-in 4090  df-un 4150  df-nul 4278  df-if 4482  df-sn 4585  df-pr 4587  df-op 4835  df-uni 4867  df-iun 4952  df-br 5103  df-opab 5167  df-mpt 5186  df-id 5546  df-xp 5657  df-rel 5658  df-cnv 5659  df-co 5660  df-dm 5661  df-rn 5662  df-iota 6497  df-fun 6545  df-fn 6546  df-f 6547  df-f1 6548  df-fo 6549  df-f1o 6550  df-fv 6551  df-ov 7427  df-1st 8005  df-2nd 8006  df-grpo 31104  df-ablo 31156  df-rngo 38966
This theorem is used by:  rngosn4  38996
  Copyright terms: Public domain W3C validator