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 38291
Description: Obsolete as of 25-Jan-2020. Use ring1zr 20748 or srg1zr 20187 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 38277 . . . . . . . . 9 (𝑅 ∈ RingOps → 𝐺 ∈ GrpOp)
3 on1el3.2 . . . . . . . . . 10 𝑋 = ran 𝐺
43grpofo 30588 . . . . . . . . 9 (𝐺 ∈ GrpOp → 𝐺:(𝑋 × 𝑋)–onto𝑋)
5 fof 6739 . . . . . . . . 9 (𝐺:(𝑋 × 𝑋)–onto𝑋𝐺:(𝑋 × 𝑋)⟶𝑋)
62, 4, 53syl 18 . . . . . . . 8 (𝑅 ∈ RingOps → 𝐺:(𝑋 × 𝑋)⟶𝑋)
76adantr 481 . . . . . . 7 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → 𝐺:(𝑋 × 𝑋)⟶𝑋)
8 id 22 . . . . . . . . 9 (𝑋 = {𝐴} → 𝑋 = {𝐴})
98sqxpeqd 5650 . . . . . . . 8 (𝑋 = {𝐴} → (𝑋 × 𝑋) = ({𝐴} × {𝐴}))
109, 8feq23d 6650 . . . . . . 7 (𝑋 = {𝐴} → (𝐺:(𝑋 × 𝑋)⟶𝑋𝐺:({𝐴} × {𝐴})⟶{𝐴}))
117, 10syl5ibcom 246 . . . . . 6 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → (𝑋 = {𝐴} → 𝐺:({𝐴} × {𝐴})⟶{𝐴}))
127fdmd 6665 . . . . . . . . 9 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → dom 𝐺 = (𝑋 × 𝑋))
1312eqcomd 2745 . . . . . . . 8 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → (𝑋 × 𝑋) = dom 𝐺)
14 fdm 6664 . . . . . . . . 9 (𝐺:({𝐴} × {𝐴})⟶{𝐴} → dom 𝐺 = ({𝐴} × {𝐴}))
1514eqeq2d 2750 . . . . . . . 8 (𝐺:({𝐴} × {𝐴})⟶{𝐴} → ((𝑋 × 𝑋) = dom 𝐺 ↔ (𝑋 × 𝑋) = ({𝐴} × {𝐴})))
1613, 15syl5ibcom 246 . . . . . . 7 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → (𝐺:({𝐴} × {𝐴})⟶{𝐴} → (𝑋 × 𝑋) = ({𝐴} × {𝐴})))
17 xpid11 5874 . . . . . . 7 ((𝑋 × 𝑋) = ({𝐴} × {𝐴}) ↔ 𝑋 = {𝐴})
1816, 17imbitrdi 252 . . . . . 6 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → (𝐺:({𝐴} × {𝐴})⟶{𝐴} → 𝑋 = {𝐴}))
1911, 18impbid 213 . . . . 5 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → (𝑋 = {𝐴} ↔ 𝐺:({𝐴} × {𝐴})⟶{𝐴}))
20 simpr 485 . . . . . . 7 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → 𝐴𝐵)
21 xpsng 7081 . . . . . . 7 ((𝐴𝐵𝐴𝐵) → ({𝐴} × {𝐴}) = {⟨𝐴, 𝐴⟩})
2220, 21sylancom 594 . . . . . 6 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → ({𝐴} × {𝐴}) = {⟨𝐴, 𝐴⟩})
2322feq2d 6639 . . . . 5 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → (𝐺:({𝐴} × {𝐴})⟶{𝐴} ↔ 𝐺:{⟨𝐴, 𝐴⟩}⟶{𝐴}))
24 opex 5403 . . . . . 6 𝐴, 𝐴⟩ ∈ V
25 fsng 7079 . . . . . 6 ((⟨𝐴, 𝐴⟩ ∈ V ∧ 𝐴𝐵) → (𝐺:{⟨𝐴, 𝐴⟩}⟶{𝐴} ↔ 𝐺 = {⟨⟨𝐴, 𝐴⟩, 𝐴⟩}))
2624, 20, 25sylancr 593 . . . . 5 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → (𝐺:{⟨𝐴, 𝐴⟩}⟶{𝐴} ↔ 𝐺 = {⟨⟨𝐴, 𝐴⟩, 𝐴⟩}))
2719, 23, 263bitrd 306 . . . 4 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → (𝑋 = {𝐴} ↔ 𝐺 = {⟨⟨𝐴, 𝐴⟩, 𝐴⟩}))
281eqeq1i 2744 . . . 4 (𝐺 = {⟨⟨𝐴, 𝐴⟩, 𝐴⟩} ↔ (1st𝑅) = {⟨⟨𝐴, 𝐴⟩, 𝐴⟩})
2927, 28bitrdi 288 . . 3 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → (𝑋 = {𝐴} ↔ (1st𝑅) = {⟨⟨𝐴, 𝐴⟩, 𝐴⟩}))
3029anbi1d 637 . 2 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → ((𝑋 = {𝐴} ∧ (2nd𝑅) = {⟨⟨𝐴, 𝐴⟩, 𝐴⟩}) ↔ ((1st𝑅) = {⟨⟨𝐴, 𝐴⟩, 𝐴⟩} ∧ (2nd𝑅) = {⟨⟨𝐴, 𝐴⟩, 𝐴⟩})))
31 eqid 2739 . . . . . . 7 (2nd𝑅) = (2nd𝑅)
321, 31, 3rngosm 38267 . . . . . 6 (𝑅 ∈ RingOps → (2nd𝑅):(𝑋 × 𝑋)⟶𝑋)
3332adantr 481 . . . . 5 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → (2nd𝑅):(𝑋 × 𝑋)⟶𝑋)
349, 8feq23d 6650 . . . . 5 (𝑋 = {𝐴} → ((2nd𝑅):(𝑋 × 𝑋)⟶𝑋 ↔ (2nd𝑅):({𝐴} × {𝐴})⟶{𝐴}))
3533, 34syl5ibcom 246 . . . 4 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → (𝑋 = {𝐴} → (2nd𝑅):({𝐴} × {𝐴})⟶{𝐴}))
3622feq2d 6639 . . . . 5 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → ((2nd𝑅):({𝐴} × {𝐴})⟶{𝐴} ↔ (2nd𝑅):{⟨𝐴, 𝐴⟩}⟶{𝐴}))
37 fsng 7079 . . . . . 6 ((⟨𝐴, 𝐴⟩ ∈ V ∧ 𝐴𝐵) → ((2nd𝑅):{⟨𝐴, 𝐴⟩}⟶{𝐴} ↔ (2nd𝑅) = {⟨⟨𝐴, 𝐴⟩, 𝐴⟩}))
3824, 20, 37sylancr 593 . . . . 5 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → ((2nd𝑅):{⟨𝐴, 𝐴⟩}⟶{𝐴} ↔ (2nd𝑅) = {⟨⟨𝐴, 𝐴⟩, 𝐴⟩}))
3936, 38bitrd 280 . . . 4 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → ((2nd𝑅):({𝐴} × {𝐴})⟶{𝐴} ↔ (2nd𝑅) = {⟨⟨𝐴, 𝐴⟩, 𝐴⟩}))
4035, 39sylibd 240 . . 3 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → (𝑋 = {𝐴} → (2nd𝑅) = {⟨⟨𝐴, 𝐴⟩, 𝐴⟩}))
4140pm4.71d 566 . 2 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → (𝑋 = {𝐴} ↔ (𝑋 = {𝐴} ∧ (2nd𝑅) = {⟨⟨𝐴, 𝐴⟩, 𝐴⟩})))
42 relrngo 38263 . . . . . 6 Rel RingOps
43 df-rel 5625 . . . . . 6 (Rel RingOps ↔ RingOps ⊆ (V × V))
4442, 43mpbi 231 . . . . 5 RingOps ⊆ (V × V)
4544sseli 3911 . . . 4 (𝑅 ∈ RingOps → 𝑅 ∈ (V × V))
4645adantr 481 . . 3 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → 𝑅 ∈ (V × V))
47 eqop 7973 . . 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 1547  wcel 2119  Vcvv 3431  wss 3883  {csn 4555  cop 4561   × cxp 5616  dom cdm 5618  ran crn 5619  Rel wrel 5623  wf 6481  ontowfo 6483  cfv 6485  1st c1st 7929  2nd c2nd 7930  GrpOpcgr 30578  RingOpscrngo 38261
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1802  ax-4 1816  ax-5 1917  ax-6 1974  ax-7 2015  ax-8 2121  ax-9 2129  ax-10 2152  ax-11 2168  ax-12 2189  ax-ext 2711  ax-sep 5218  ax-nul 5228  ax-pr 5362  ax-un 7678
This theorem depends on definitions:  df-bi 208  df-an 397  df-or 854  df-3an 1094  df-tru 1550  df-fal 1560  df-ex 1787  df-nf 1791  df-sb 2074  df-mo 2543  df-eu 2573  df-clab 2718  df-cleq 2731  df-clel 2814  df-nfc 2888  df-ne 2935  df-ral 3054  df-rex 3064  df-reu 3345  df-rab 3392  df-v 3433  df-sbc 3724  df-csb 3832  df-dif 3886  df-un 3888  df-in 3890  df-ss 3900  df-nul 4262  df-if 4455  df-sn 4556  df-pr 4558  df-op 4562  df-uni 4839  df-iun 4923  df-br 5073  df-opab 5135  df-mpt 5154  df-id 5513  df-xp 5624  df-rel 5625  df-cnv 5626  df-co 5627  df-dm 5628  df-rn 5629  df-iota 6441  df-fun 6487  df-fn 6488  df-f 6489  df-f1 6490  df-fo 6491  df-f1o 6492  df-fv 6493  df-ov 7359  df-1st 7931  df-2nd 7932  df-grpo 30582  df-ablo 30634  df-rngo 38262
This theorem is referenced by:  rngosn4  38292
  Copyright terms: Public domain W3C validator