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 38423
Description: Obsolete as of 25-Jan-2020. Use ring1zr 20826 or srg1zr 20265 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 38409 . . . . . . . . 9 (𝑅 ∈ RingOps → 𝐺 ∈ GrpOp)
3 on1el3.2 . . . . . . . . . 10 𝑋 = ran 𝐺
43grpofo 30702 . . . . . . . . 9 (𝐺 ∈ GrpOp → 𝐺:(𝑋 × 𝑋)–onto𝑋)
5 fof 6778 . . . . . . . . 9 (𝐺:(𝑋 × 𝑋)–onto𝑋𝐺:(𝑋 × 𝑋)⟶𝑋)
62, 4, 53syl 18 . . . . . . . 8 (𝑅 ∈ RingOps → 𝐺:(𝑋 × 𝑋)⟶𝑋)
76adantr 484 . . . . . . 7 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → 𝐺:(𝑋 × 𝑋)⟶𝑋)
8 id 22 . . . . . . . . 9 (𝑋 = {𝐴} → 𝑋 = {𝐴})
98sqxpeqd 5679 . . . . . . . 8 (𝑋 = {𝐴} → (𝑋 × 𝑋) = ({𝐴} × {𝐴}))
109, 8feq23d 6686 . . . . . . 7 (𝑋 = {𝐴} → (𝐺:(𝑋 × 𝑋)⟶𝑋𝐺:({𝐴} × {𝐴})⟶{𝐴}))
117, 10syl5ibcom 247 . . . . . 6 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → (𝑋 = {𝐴} → 𝐺:({𝐴} × {𝐴})⟶{𝐴}))
127fdmd 6702 . . . . . . . . 9 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → dom 𝐺 = (𝑋 × 𝑋))
1312eqcomd 2768 . . . . . . . 8 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → (𝑋 × 𝑋) = dom 𝐺)
14 fdm 6701 . . . . . . . . 9 (𝐺:({𝐴} × {𝐴})⟶{𝐴} → dom 𝐺 = ({𝐴} × {𝐴}))
1514eqeq2d 2773 . . . . . . . 8 (𝐺:({𝐴} × {𝐴})⟶{𝐴} → ((𝑋 × 𝑋) = dom 𝐺 ↔ (𝑋 × 𝑋) = ({𝐴} × {𝐴})))
1613, 15syl5ibcom 247 . . . . . . 7 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → (𝐺:({𝐴} × {𝐴})⟶{𝐴} → (𝑋 × 𝑋) = ({𝐴} × {𝐴})))
17 xpid11 5908 . . . . . . 7 ((𝑋 × 𝑋) = ({𝐴} × {𝐴}) ↔ 𝑋 = {𝐴})
1816, 17imbitrdi 253 . . . . . 6 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → (𝐺:({𝐴} × {𝐴})⟶{𝐴} → 𝑋 = {𝐴}))
1911, 18impbid 214 . . . . 5 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → (𝑋 = {𝐴} ↔ 𝐺:({𝐴} × {𝐴})⟶{𝐴}))
20 simpr 488 . . . . . . 7 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → 𝐴𝐵)
21 xpsng 7121 . . . . . . 7 ((𝐴𝐵𝐴𝐵) → ({𝐴} × {𝐴}) = {⟨𝐴, 𝐴⟩})
2220, 21sylancom 597 . . . . . 6 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → ({𝐴} × {𝐴}) = {⟨𝐴, 𝐴⟩})
2322feq2d 6675 . . . . 5 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → (𝐺:({𝐴} × {𝐴})⟶{𝐴} ↔ 𝐺:{⟨𝐴, 𝐴⟩}⟶{𝐴}))
24 opex 5431 . . . . . 6 𝐴, 𝐴⟩ ∈ V
25 fsng 7119 . . . . . 6 ((⟨𝐴, 𝐴⟩ ∈ V ∧ 𝐴𝐵) → (𝐺:{⟨𝐴, 𝐴⟩}⟶{𝐴} ↔ 𝐺 = {⟨⟨𝐴, 𝐴⟩, 𝐴⟩}))
2624, 20, 25sylancr 596 . . . . 5 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → (𝐺:{⟨𝐴, 𝐴⟩}⟶{𝐴} ↔ 𝐺 = {⟨⟨𝐴, 𝐴⟩, 𝐴⟩}))
2719, 23, 263bitrd 307 . . . 4 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → (𝑋 = {𝐴} ↔ 𝐺 = {⟨⟨𝐴, 𝐴⟩, 𝐴⟩}))
281eqeq1i 2767 . . . 4 (𝐺 = {⟨⟨𝐴, 𝐴⟩, 𝐴⟩} ↔ (1st𝑅) = {⟨⟨𝐴, 𝐴⟩, 𝐴⟩})
2927, 28bitrdi 289 . . 3 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → (𝑋 = {𝐴} ↔ (1st𝑅) = {⟨⟨𝐴, 𝐴⟩, 𝐴⟩}))
3029anbi1d 640 . 2 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → ((𝑋 = {𝐴} ∧ (2nd𝑅) = {⟨⟨𝐴, 𝐴⟩, 𝐴⟩}) ↔ ((1st𝑅) = {⟨⟨𝐴, 𝐴⟩, 𝐴⟩} ∧ (2nd𝑅) = {⟨⟨𝐴, 𝐴⟩, 𝐴⟩})))
31 eqid 2762 . . . . . . 7 (2nd𝑅) = (2nd𝑅)
321, 31, 3rngosm 38399 . . . . . 6 (𝑅 ∈ RingOps → (2nd𝑅):(𝑋 × 𝑋)⟶𝑋)
3332adantr 484 . . . . 5 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → (2nd𝑅):(𝑋 × 𝑋)⟶𝑋)
349, 8feq23d 6686 . . . . 5 (𝑋 = {𝐴} → ((2nd𝑅):(𝑋 × 𝑋)⟶𝑋 ↔ (2nd𝑅):({𝐴} × {𝐴})⟶{𝐴}))
3533, 34syl5ibcom 247 . . . 4 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → (𝑋 = {𝐴} → (2nd𝑅):({𝐴} × {𝐴})⟶{𝐴}))
3622feq2d 6675 . . . . 5 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → ((2nd𝑅):({𝐴} × {𝐴})⟶{𝐴} ↔ (2nd𝑅):{⟨𝐴, 𝐴⟩}⟶{𝐴}))
37 fsng 7119 . . . . . 6 ((⟨𝐴, 𝐴⟩ ∈ V ∧ 𝐴𝐵) → ((2nd𝑅):{⟨𝐴, 𝐴⟩}⟶{𝐴} ↔ (2nd𝑅) = {⟨⟨𝐴, 𝐴⟩, 𝐴⟩}))
3824, 20, 37sylancr 596 . . . . 5 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → ((2nd𝑅):{⟨𝐴, 𝐴⟩}⟶{𝐴} ↔ (2nd𝑅) = {⟨⟨𝐴, 𝐴⟩, 𝐴⟩}))
3936, 38bitrd 281 . . . 4 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → ((2nd𝑅):({𝐴} × {𝐴})⟶{𝐴} ↔ (2nd𝑅) = {⟨⟨𝐴, 𝐴⟩, 𝐴⟩}))
4035, 39sylibd 241 . . 3 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → (𝑋 = {𝐴} → (2nd𝑅) = {⟨⟨𝐴, 𝐴⟩, 𝐴⟩}))
4140pm4.71d 569 . 2 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → (𝑋 = {𝐴} ↔ (𝑋 = {𝐴} ∧ (2nd𝑅) = {⟨⟨𝐴, 𝐴⟩, 𝐴⟩})))
42 relrngo 38395 . . . . . 6 Rel RingOps
43 df-rel 5654 . . . . . 6 (Rel RingOps ↔ RingOps ⊆ (V × V))
4442, 43mpbi 232 . . . . 5 RingOps ⊆ (V × V)
4544sseli 3932 . . . 4 (𝑅 ∈ RingOps → 𝑅 ∈ (V × V))
4645adantr 484 . . 3 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → 𝑅 ∈ (V × V))
47 eqop 8012 . . 3 (𝑅 ∈ (V × V) → (𝑅 = ⟨{⟨⟨𝐴, 𝐴⟩, 𝐴⟩}, {⟨⟨𝐴, 𝐴⟩, 𝐴⟩}⟩ ↔ ((1st𝑅) = {⟨⟨𝐴, 𝐴⟩, 𝐴⟩} ∧ (2nd𝑅) = {⟨⟨𝐴, 𝐴⟩, 𝐴⟩})))
4846, 47syl 17 . 2 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → (𝑅 = ⟨{⟨⟨𝐴, 𝐴⟩, 𝐴⟩}, {⟨⟨𝐴, 𝐴⟩, 𝐴⟩}⟩ ↔ ((1st𝑅) = {⟨⟨𝐴, 𝐴⟩, 𝐴⟩} ∧ (2nd𝑅) = {⟨⟨𝐴, 𝐴⟩, 𝐴⟩})))
4930, 41, 483bitr4d 313 1 ((𝑅 ∈ RingOps ∧ 𝐴𝐵) → (𝑋 = {𝐴} ↔ 𝑅 = ⟨{⟨⟨𝐴, 𝐴⟩, 𝐴⟩}, {⟨⟨𝐴, 𝐴⟩, 𝐴⟩}⟩))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 208  wa 399   = wceq 1560  wcel 2142  Vcvv 3454  wss 3904  {csn 4582  cop 4588   × cxp 5645  dom cdm 5647  ran crn 5648  Rel wrel 5652  wf 6517  ontowfo 6519  cfv 6521  1st c1st 7968  2nd c2nd 7969  GrpOpcgr 30692  RingOpscrngo 38393
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1815  ax-4 1829  ax-5 1930  ax-6 1987  ax-7 2028  ax-8 2144  ax-9 2152  ax-10 2175  ax-11 2191  ax-12 2212  ax-ext 2734  ax-sep 5246  ax-nul 5256  ax-pr 5390  ax-un 7718
This theorem depends on definitions:  df-bi 209  df-an 400  df-or 859  df-3an 1100  df-tru 1563  df-fal 1573  df-ex 1800  df-nf 1804  df-sb 2091  df-mo 2566  df-eu 2596  df-clab 2741  df-cleq 2754  df-clel 2837  df-nfc 2911  df-ne 2958  df-ral 3077  df-rex 3087  df-reu 3368  df-rab 3415  df-v 3456  df-sbc 3745  df-csb 3853  df-dif 3907  df-un 3909  df-in 3911  df-ss 3921  df-nul 4286  df-if 4481  df-sn 4583  df-pr 4585  df-op 4589  df-uni 4866  df-iun 4951  df-br 5101  df-opab 5163  df-mpt 5182  df-id 5542  df-xp 5653  df-rel 5654  df-cnv 5655  df-co 5656  df-dm 5657  df-rn 5658  df-iota 6477  df-fun 6523  df-fn 6524  df-f 6525  df-f1 6526  df-fo 6527  df-f1o 6528  df-fv 6529  df-ov 7399  df-1st 7970  df-2nd 7971  df-grpo 30696  df-ablo 30748  df-rngo 38394
This theorem is referenced by:  rngosn4  38424
  Copyright terms: Public domain W3C validator