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

Theorem isfldidl 35779
Description: Determine if a ring is a field based on its ideals. (Contributed by Jeff Madsen, 10-Jun-2010.)
Hypotheses
Ref Expression
isfldidl.1 𝐺 = (1st𝐾)
isfldidl.2 𝐻 = (2nd𝐾)
isfldidl.3 𝑋 = ran 𝐺
isfldidl.4 𝑍 = (GId‘𝐺)
isfldidl.5 𝑈 = (GId‘𝐻)
Assertion
Ref Expression
isfldidl (𝐾 ∈ Fld ↔ (𝐾 ∈ CRingOps ∧ 𝑈𝑍 ∧ (Idl‘𝐾) = {{𝑍}, 𝑋}))

Proof of Theorem isfldidl
Dummy variables 𝑥 𝑦 𝑧 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 fldcrng 35715 . . 3 (𝐾 ∈ Fld → 𝐾 ∈ CRingOps)
2 flddivrng 35710 . . . 4 (𝐾 ∈ Fld → 𝐾 ∈ DivRingOps)
3 isfldidl.1 . . . . 5 𝐺 = (1st𝐾)
4 isfldidl.2 . . . . 5 𝐻 = (2nd𝐾)
5 isfldidl.3 . . . . 5 𝑋 = ran 𝐺
6 isfldidl.4 . . . . 5 𝑍 = (GId‘𝐺)
7 isfldidl.5 . . . . 5 𝑈 = (GId‘𝐻)
83, 4, 5, 6, 7dvrunz 35665 . . . 4 (𝐾 ∈ DivRingOps → 𝑈𝑍)
92, 8syl 17 . . 3 (𝐾 ∈ Fld → 𝑈𝑍)
103, 4, 5, 6divrngidl 35739 . . . 4 (𝐾 ∈ DivRingOps → (Idl‘𝐾) = {{𝑍}, 𝑋})
112, 10syl 17 . . 3 (𝐾 ∈ Fld → (Idl‘𝐾) = {{𝑍}, 𝑋})
121, 9, 113jca 1126 . 2 (𝐾 ∈ Fld → (𝐾 ∈ CRingOps ∧ 𝑈𝑍 ∧ (Idl‘𝐾) = {{𝑍}, 𝑋}))
13 crngorngo 35711 . . . . . 6 (𝐾 ∈ CRingOps → 𝐾 ∈ RingOps)
14133ad2ant1 1131 . . . . 5 ((𝐾 ∈ CRingOps ∧ 𝑈𝑍 ∧ (Idl‘𝐾) = {{𝑍}, 𝑋}) → 𝐾 ∈ RingOps)
15 simp2 1135 . . . . 5 ((𝐾 ∈ CRingOps ∧ 𝑈𝑍 ∧ (Idl‘𝐾) = {{𝑍}, 𝑋}) → 𝑈𝑍)
163rneqi 5779 . . . . . . . . . . . . . . 15 ran 𝐺 = ran (1st𝐾)
175, 16eqtri 2782 . . . . . . . . . . . . . 14 𝑋 = ran (1st𝐾)
1817, 4, 7rngo1cl 35650 . . . . . . . . . . . . 13 (𝐾 ∈ RingOps → 𝑈𝑋)
1913, 18syl 17 . . . . . . . . . . . 12 (𝐾 ∈ CRingOps → 𝑈𝑋)
2019ad2antrr 726 . . . . . . . . . . 11 (((𝐾 ∈ CRingOps ∧ (Idl‘𝐾) = {{𝑍}, 𝑋}) ∧ 𝑥 ∈ (𝑋 ∖ {𝑍})) → 𝑈𝑋)
21 eldif 3869 . . . . . . . . . . . . . . . 16 (𝑥 ∈ (𝑋 ∖ {𝑍}) ↔ (𝑥𝑋 ∧ ¬ 𝑥 ∈ {𝑍}))
22 snssi 4699 . . . . . . . . . . . . . . . . . . 19 (𝑥𝑋 → {𝑥} ⊆ 𝑋)
233, 5igenss 35773 . . . . . . . . . . . . . . . . . . 19 ((𝐾 ∈ RingOps ∧ {𝑥} ⊆ 𝑋) → {𝑥} ⊆ (𝐾 IdlGen {𝑥}))
2422, 23sylan2 596 . . . . . . . . . . . . . . . . . 18 ((𝐾 ∈ RingOps ∧ 𝑥𝑋) → {𝑥} ⊆ (𝐾 IdlGen {𝑥}))
25 vex 3414 . . . . . . . . . . . . . . . . . . . . . 22 𝑥 ∈ V
2625snss 4677 . . . . . . . . . . . . . . . . . . . . 21 (𝑥 ∈ (𝐾 IdlGen {𝑥}) ↔ {𝑥} ⊆ (𝐾 IdlGen {𝑥}))
2726biimpri 231 . . . . . . . . . . . . . . . . . . . 20 ({𝑥} ⊆ (𝐾 IdlGen {𝑥}) → 𝑥 ∈ (𝐾 IdlGen {𝑥}))
28 eleq2 2841 . . . . . . . . . . . . . . . . . . . 20 ((𝐾 IdlGen {𝑥}) = {𝑍} → (𝑥 ∈ (𝐾 IdlGen {𝑥}) ↔ 𝑥 ∈ {𝑍}))
2927, 28syl5ibcom 248 . . . . . . . . . . . . . . . . . . 19 ({𝑥} ⊆ (𝐾 IdlGen {𝑥}) → ((𝐾 IdlGen {𝑥}) = {𝑍} → 𝑥 ∈ {𝑍}))
3029con3dimp 413 . . . . . . . . . . . . . . . . . 18 (({𝑥} ⊆ (𝐾 IdlGen {𝑥}) ∧ ¬ 𝑥 ∈ {𝑍}) → ¬ (𝐾 IdlGen {𝑥}) = {𝑍})
3124, 30sylan 584 . . . . . . . . . . . . . . . . 17 (((𝐾 ∈ RingOps ∧ 𝑥𝑋) ∧ ¬ 𝑥 ∈ {𝑍}) → ¬ (𝐾 IdlGen {𝑥}) = {𝑍})
3231anasss 471 . . . . . . . . . . . . . . . 16 ((𝐾 ∈ RingOps ∧ (𝑥𝑋 ∧ ¬ 𝑥 ∈ {𝑍})) → ¬ (𝐾 IdlGen {𝑥}) = {𝑍})
3321, 32sylan2b 597 . . . . . . . . . . . . . . 15 ((𝐾 ∈ RingOps ∧ 𝑥 ∈ (𝑋 ∖ {𝑍})) → ¬ (𝐾 IdlGen {𝑥}) = {𝑍})
3433adantlr 715 . . . . . . . . . . . . . 14 (((𝐾 ∈ RingOps ∧ (Idl‘𝐾) = {{𝑍}, 𝑋}) ∧ 𝑥 ∈ (𝑋 ∖ {𝑍})) → ¬ (𝐾 IdlGen {𝑥}) = {𝑍})
35 eldifi 4033 . . . . . . . . . . . . . . . . . . . . 21 (𝑥 ∈ (𝑋 ∖ {𝑍}) → 𝑥𝑋)
3635snssd 4700 . . . . . . . . . . . . . . . . . . . 20 (𝑥 ∈ (𝑋 ∖ {𝑍}) → {𝑥} ⊆ 𝑋)
373, 5igenidl 35774 . . . . . . . . . . . . . . . . . . . 20 ((𝐾 ∈ RingOps ∧ {𝑥} ⊆ 𝑋) → (𝐾 IdlGen {𝑥}) ∈ (Idl‘𝐾))
3836, 37sylan2 596 . . . . . . . . . . . . . . . . . . 19 ((𝐾 ∈ RingOps ∧ 𝑥 ∈ (𝑋 ∖ {𝑍})) → (𝐾 IdlGen {𝑥}) ∈ (Idl‘𝐾))
39 eleq2 2841 . . . . . . . . . . . . . . . . . . 19 ((Idl‘𝐾) = {{𝑍}, 𝑋} → ((𝐾 IdlGen {𝑥}) ∈ (Idl‘𝐾) ↔ (𝐾 IdlGen {𝑥}) ∈ {{𝑍}, 𝑋}))
4038, 39syl5ibcom 248 . . . . . . . . . . . . . . . . . 18 ((𝐾 ∈ RingOps ∧ 𝑥 ∈ (𝑋 ∖ {𝑍})) → ((Idl‘𝐾) = {{𝑍}, 𝑋} → (𝐾 IdlGen {𝑥}) ∈ {{𝑍}, 𝑋}))
4140imp 411 . . . . . . . . . . . . . . . . 17 (((𝐾 ∈ RingOps ∧ 𝑥 ∈ (𝑋 ∖ {𝑍})) ∧ (Idl‘𝐾) = {{𝑍}, 𝑋}) → (𝐾 IdlGen {𝑥}) ∈ {{𝑍}, 𝑋})
4241an32s 652 . . . . . . . . . . . . . . . 16 (((𝐾 ∈ RingOps ∧ (Idl‘𝐾) = {{𝑍}, 𝑋}) ∧ 𝑥 ∈ (𝑋 ∖ {𝑍})) → (𝐾 IdlGen {𝑥}) ∈ {{𝑍}, 𝑋})
43 ovex 7184 . . . . . . . . . . . . . . . . 17 (𝐾 IdlGen {𝑥}) ∈ V
4443elpr 4546 . . . . . . . . . . . . . . . 16 ((𝐾 IdlGen {𝑥}) ∈ {{𝑍}, 𝑋} ↔ ((𝐾 IdlGen {𝑥}) = {𝑍} ∨ (𝐾 IdlGen {𝑥}) = 𝑋))
4542, 44sylib 221 . . . . . . . . . . . . . . 15 (((𝐾 ∈ RingOps ∧ (Idl‘𝐾) = {{𝑍}, 𝑋}) ∧ 𝑥 ∈ (𝑋 ∖ {𝑍})) → ((𝐾 IdlGen {𝑥}) = {𝑍} ∨ (𝐾 IdlGen {𝑥}) = 𝑋))
4645ord 862 . . . . . . . . . . . . . 14 (((𝐾 ∈ RingOps ∧ (Idl‘𝐾) = {{𝑍}, 𝑋}) ∧ 𝑥 ∈ (𝑋 ∖ {𝑍})) → (¬ (𝐾 IdlGen {𝑥}) = {𝑍} → (𝐾 IdlGen {𝑥}) = 𝑋))
4734, 46mpd 15 . . . . . . . . . . . . 13 (((𝐾 ∈ RingOps ∧ (Idl‘𝐾) = {{𝑍}, 𝑋}) ∧ 𝑥 ∈ (𝑋 ∖ {𝑍})) → (𝐾 IdlGen {𝑥}) = 𝑋)
4813, 47sylanl1 680 . . . . . . . . . . . 12 (((𝐾 ∈ CRingOps ∧ (Idl‘𝐾) = {{𝑍}, 𝑋}) ∧ 𝑥 ∈ (𝑋 ∖ {𝑍})) → (𝐾 IdlGen {𝑥}) = 𝑋)
493, 4, 5prnc 35778 . . . . . . . . . . . . . 14 ((𝐾 ∈ CRingOps ∧ 𝑥𝑋) → (𝐾 IdlGen {𝑥}) = {𝑧𝑋 ∣ ∃𝑦𝑋 𝑧 = (𝑦𝐻𝑥)})
5035, 49sylan2 596 . . . . . . . . . . . . 13 ((𝐾 ∈ CRingOps ∧ 𝑥 ∈ (𝑋 ∖ {𝑍})) → (𝐾 IdlGen {𝑥}) = {𝑧𝑋 ∣ ∃𝑦𝑋 𝑧 = (𝑦𝐻𝑥)})
5150adantlr 715 . . . . . . . . . . . 12 (((𝐾 ∈ CRingOps ∧ (Idl‘𝐾) = {{𝑍}, 𝑋}) ∧ 𝑥 ∈ (𝑋 ∖ {𝑍})) → (𝐾 IdlGen {𝑥}) = {𝑧𝑋 ∣ ∃𝑦𝑋 𝑧 = (𝑦𝐻𝑥)})
5248, 51eqtr3d 2796 . . . . . . . . . . 11 (((𝐾 ∈ CRingOps ∧ (Idl‘𝐾) = {{𝑍}, 𝑋}) ∧ 𝑥 ∈ (𝑋 ∖ {𝑍})) → 𝑋 = {𝑧𝑋 ∣ ∃𝑦𝑋 𝑧 = (𝑦𝐻𝑥)})
5320, 52eleqtrd 2855 . . . . . . . . . 10 (((𝐾 ∈ CRingOps ∧ (Idl‘𝐾) = {{𝑍}, 𝑋}) ∧ 𝑥 ∈ (𝑋 ∖ {𝑍})) → 𝑈 ∈ {𝑧𝑋 ∣ ∃𝑦𝑋 𝑧 = (𝑦𝐻𝑥)})
54 eqeq1 2763 . . . . . . . . . . . 12 (𝑧 = 𝑈 → (𝑧 = (𝑦𝐻𝑥) ↔ 𝑈 = (𝑦𝐻𝑥)))
5554rexbidv 3222 . . . . . . . . . . 11 (𝑧 = 𝑈 → (∃𝑦𝑋 𝑧 = (𝑦𝐻𝑥) ↔ ∃𝑦𝑋 𝑈 = (𝑦𝐻𝑥)))
5655elrab 3603 . . . . . . . . . 10 (𝑈 ∈ {𝑧𝑋 ∣ ∃𝑦𝑋 𝑧 = (𝑦𝐻𝑥)} ↔ (𝑈𝑋 ∧ ∃𝑦𝑋 𝑈 = (𝑦𝐻𝑥)))
5753, 56sylib 221 . . . . . . . . 9 (((𝐾 ∈ CRingOps ∧ (Idl‘𝐾) = {{𝑍}, 𝑋}) ∧ 𝑥 ∈ (𝑋 ∖ {𝑍})) → (𝑈𝑋 ∧ ∃𝑦𝑋 𝑈 = (𝑦𝐻𝑥)))
5857simprd 500 . . . . . . . 8 (((𝐾 ∈ CRingOps ∧ (Idl‘𝐾) = {{𝑍}, 𝑋}) ∧ 𝑥 ∈ (𝑋 ∖ {𝑍})) → ∃𝑦𝑋 𝑈 = (𝑦𝐻𝑥))
59 eqcom 2766 . . . . . . . . 9 ((𝑦𝐻𝑥) = 𝑈𝑈 = (𝑦𝐻𝑥))
6059rexbii 3176 . . . . . . . 8 (∃𝑦𝑋 (𝑦𝐻𝑥) = 𝑈 ↔ ∃𝑦𝑋 𝑈 = (𝑦𝐻𝑥))
6158, 60sylibr 237 . . . . . . 7 (((𝐾 ∈ CRingOps ∧ (Idl‘𝐾) = {{𝑍}, 𝑋}) ∧ 𝑥 ∈ (𝑋 ∖ {𝑍})) → ∃𝑦𝑋 (𝑦𝐻𝑥) = 𝑈)
6261ralrimiva 3114 . . . . . 6 ((𝐾 ∈ CRingOps ∧ (Idl‘𝐾) = {{𝑍}, 𝑋}) → ∀𝑥 ∈ (𝑋 ∖ {𝑍})∃𝑦𝑋 (𝑦𝐻𝑥) = 𝑈)
63623adant2 1129 . . . . 5 ((𝐾 ∈ CRingOps ∧ 𝑈𝑍 ∧ (Idl‘𝐾) = {{𝑍}, 𝑋}) → ∀𝑥 ∈ (𝑋 ∖ {𝑍})∃𝑦𝑋 (𝑦𝐻𝑥) = 𝑈)
6414, 15, 63jca32 520 . . . 4 ((𝐾 ∈ CRingOps ∧ 𝑈𝑍 ∧ (Idl‘𝐾) = {{𝑍}, 𝑋}) → (𝐾 ∈ RingOps ∧ (𝑈𝑍 ∧ ∀𝑥 ∈ (𝑋 ∖ {𝑍})∃𝑦𝑋 (𝑦𝐻𝑥) = 𝑈)))
653, 4, 6, 5, 7isdrngo3 35670 . . . 4 (𝐾 ∈ DivRingOps ↔ (𝐾 ∈ RingOps ∧ (𝑈𝑍 ∧ ∀𝑥 ∈ (𝑋 ∖ {𝑍})∃𝑦𝑋 (𝑦𝐻𝑥) = 𝑈)))
6664, 65sylibr 237 . . 3 ((𝐾 ∈ CRingOps ∧ 𝑈𝑍 ∧ (Idl‘𝐾) = {{𝑍}, 𝑋}) → 𝐾 ∈ DivRingOps)
67 simp1 1134 . . 3 ((𝐾 ∈ CRingOps ∧ 𝑈𝑍 ∧ (Idl‘𝐾) = {{𝑍}, 𝑋}) → 𝐾 ∈ CRingOps)
68 isfld2 35716 . . 3 (𝐾 ∈ Fld ↔ (𝐾 ∈ DivRingOps ∧ 𝐾 ∈ CRingOps))
6966, 67, 68sylanbrc 587 . 2 ((𝐾 ∈ CRingOps ∧ 𝑈𝑍 ∧ (Idl‘𝐾) = {{𝑍}, 𝑋}) → 𝐾 ∈ Fld)
7012, 69impbii 212 1 (𝐾 ∈ Fld ↔ (𝐾 ∈ CRingOps ∧ 𝑈𝑍 ∧ (Idl‘𝐾) = {{𝑍}, 𝑋}))
Colors of variables: wff setvar class
Syntax hints:  ¬ wn 3  wb 209  wa 400  wo 845  w3a 1085   = wceq 1539  wcel 2112  wne 2952  wral 3071  wrex 3072  {crab 3075  cdif 3856  wss 3859  {csn 4523  {cpr 4525  ran crn 5526  cfv 6336  (class class class)co 7151  1st c1st 7692  2nd c2nd 7693  GIdcgi 28365  RingOpscrngo 35605  DivRingOpscdrng 35659  Fldcfld 35702  CRingOpsccring 35704  Idlcidl 35718   IdlGen cigen 35770
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1798  ax-4 1812  ax-5 1912  ax-6 1971  ax-7 2016  ax-8 2114  ax-9 2122  ax-10 2143  ax-11 2159  ax-12 2176  ax-ext 2730  ax-rep 5157  ax-sep 5170  ax-nul 5177  ax-pow 5235  ax-pr 5299  ax-un 7460
This theorem depends on definitions:  df-bi 210  df-an 401  df-or 846  df-3or 1086  df-3an 1087  df-tru 1542  df-fal 1552  df-ex 1783  df-nf 1787  df-sb 2071  df-mo 2558  df-eu 2589  df-clab 2737  df-cleq 2751  df-clel 2831  df-nfc 2902  df-ne 2953  df-ral 3076  df-rex 3077  df-reu 3078  df-rmo 3079  df-rab 3080  df-v 3412  df-sbc 3698  df-csb 3807  df-dif 3862  df-un 3864  df-in 3866  df-ss 3876  df-pss 3878  df-nul 4227  df-if 4422  df-pw 4497  df-sn 4524  df-pr 4526  df-tp 4528  df-op 4530  df-uni 4800  df-int 4840  df-iun 4886  df-br 5034  df-opab 5096  df-mpt 5114  df-tr 5140  df-id 5431  df-eprel 5436  df-po 5444  df-so 5445  df-fr 5484  df-we 5486  df-xp 5531  df-rel 5532  df-cnv 5533  df-co 5534  df-dm 5535  df-rn 5536  df-res 5537  df-ima 5538  df-ord 6173  df-on 6174  df-lim 6175  df-suc 6176  df-iota 6295  df-fun 6338  df-fn 6339  df-f 6340  df-f1 6341  df-fo 6342  df-f1o 6343  df-fv 6344  df-riota 7109  df-ov 7154  df-oprab 7155  df-mpo 7156  df-om 7581  df-1st 7694  df-2nd 7695  df-1o 8113  df-er 8300  df-en 8529  df-dom 8530  df-sdom 8531  df-fin 8532  df-grpo 28368  df-gid 28369  df-ginv 28370  df-ablo 28420  df-ass 35554  df-exid 35556  df-mgmOLD 35560  df-sgrOLD 35572  df-mndo 35578  df-rngo 35606  df-drngo 35660  df-com2 35701  df-fld 35703  df-crngo 35705  df-idl 35721  df-igen 35771
This theorem is referenced by:  isfldidl2  35780
  Copyright terms: Public domain W3C validator