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 38269
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 fldcrngo 38205 . . 3 (𝐾 ∈ Fld → 𝐾 ∈ CRingOps)
2 flddivrng 38200 . . . 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 38155 . . . 4 (𝐾 ∈ DivRingOps → 𝑈𝑍)
92, 8syl 17 . . 3 (𝐾 ∈ Fld → 𝑈𝑍)
103, 4, 5, 6divrngidl 38229 . . . 4 (𝐾 ∈ DivRingOps → (Idl‘𝐾) = {{𝑍}, 𝑋})
112, 10syl 17 . . 3 (𝐾 ∈ Fld → (Idl‘𝐾) = {{𝑍}, 𝑋})
121, 9, 113jca 1128 . 2 (𝐾 ∈ Fld → (𝐾 ∈ CRingOps ∧ 𝑈𝑍 ∧ (Idl‘𝐾) = {{𝑍}, 𝑋}))
13 crngorngo 38201 . . . . . 6 (𝐾 ∈ CRingOps → 𝐾 ∈ RingOps)
14133ad2ant1 1133 . . . . 5 ((𝐾 ∈ CRingOps ∧ 𝑈𝑍 ∧ (Idl‘𝐾) = {{𝑍}, 𝑋}) → 𝐾 ∈ RingOps)
15 simp2 1137 . . . . 5 ((𝐾 ∈ CRingOps ∧ 𝑈𝑍 ∧ (Idl‘𝐾) = {{𝑍}, 𝑋}) → 𝑈𝑍)
163rneqi 5886 . . . . . . . . . . . . . . 15 ran 𝐺 = ran (1st𝐾)
175, 16eqtri 2759 . . . . . . . . . . . . . 14 𝑋 = ran (1st𝐾)
1817, 4, 7rngo1cl 38140 . . . . . . . . . . . . 13 (𝐾 ∈ RingOps → 𝑈𝑋)
1913, 18syl 17 . . . . . . . . . . . 12 (𝐾 ∈ CRingOps → 𝑈𝑋)
2019ad2antrr 726 . . . . . . . . . . 11 (((𝐾 ∈ CRingOps ∧ (Idl‘𝐾) = {{𝑍}, 𝑋}) ∧ 𝑥 ∈ (𝑋 ∖ {𝑍})) → 𝑈𝑋)
21 eldif 3911 . . . . . . . . . . . . . . . 16 (𝑥 ∈ (𝑋 ∖ {𝑍}) ↔ (𝑥𝑋 ∧ ¬ 𝑥 ∈ {𝑍}))
22 snssi 4764 . . . . . . . . . . . . . . . . . . 19 (𝑥𝑋 → {𝑥} ⊆ 𝑋)
233, 5igenss 38263 . . . . . . . . . . . . . . . . . . 19 ((𝐾 ∈ RingOps ∧ {𝑥} ⊆ 𝑋) → {𝑥} ⊆ (𝐾 IdlGen {𝑥}))
2422, 23sylan2 593 . . . . . . . . . . . . . . . . . 18 ((𝐾 ∈ RingOps ∧ 𝑥𝑋) → {𝑥} ⊆ (𝐾 IdlGen {𝑥}))
25 vex 3444 . . . . . . . . . . . . . . . . . . . . . 22 𝑥 ∈ V
2625snss 4741 . . . . . . . . . . . . . . . . . . . . 21 (𝑥 ∈ (𝐾 IdlGen {𝑥}) ↔ {𝑥} ⊆ (𝐾 IdlGen {𝑥}))
2726biimpri 228 . . . . . . . . . . . . . . . . . . . 20 ({𝑥} ⊆ (𝐾 IdlGen {𝑥}) → 𝑥 ∈ (𝐾 IdlGen {𝑥}))
28 eleq2 2825 . . . . . . . . . . . . . . . . . . . 20 ((𝐾 IdlGen {𝑥}) = {𝑍} → (𝑥 ∈ (𝐾 IdlGen {𝑥}) ↔ 𝑥 ∈ {𝑍}))
2927, 28syl5ibcom 245 . . . . . . . . . . . . . . . . . . 19 ({𝑥} ⊆ (𝐾 IdlGen {𝑥}) → ((𝐾 IdlGen {𝑥}) = {𝑍} → 𝑥 ∈ {𝑍}))
3029con3dimp 408 . . . . . . . . . . . . . . . . . 18 (({𝑥} ⊆ (𝐾 IdlGen {𝑥}) ∧ ¬ 𝑥 ∈ {𝑍}) → ¬ (𝐾 IdlGen {𝑥}) = {𝑍})
3124, 30sylan 580 . . . . . . . . . . . . . . . . 17 (((𝐾 ∈ RingOps ∧ 𝑥𝑋) ∧ ¬ 𝑥 ∈ {𝑍}) → ¬ (𝐾 IdlGen {𝑥}) = {𝑍})
3231anasss 466 . . . . . . . . . . . . . . . 16 ((𝐾 ∈ RingOps ∧ (𝑥𝑋 ∧ ¬ 𝑥 ∈ {𝑍})) → ¬ (𝐾 IdlGen {𝑥}) = {𝑍})
3321, 32sylan2b 594 . . . . . . . . . . . . . . 15 ((𝐾 ∈ RingOps ∧ 𝑥 ∈ (𝑋 ∖ {𝑍})) → ¬ (𝐾 IdlGen {𝑥}) = {𝑍})
3433adantlr 715 . . . . . . . . . . . . . 14 (((𝐾 ∈ RingOps ∧ (Idl‘𝐾) = {{𝑍}, 𝑋}) ∧ 𝑥 ∈ (𝑋 ∖ {𝑍})) → ¬ (𝐾 IdlGen {𝑥}) = {𝑍})
35 eldifi 4083 . . . . . . . . . . . . . . . . . . . . 21 (𝑥 ∈ (𝑋 ∖ {𝑍}) → 𝑥𝑋)
3635snssd 4765 . . . . . . . . . . . . . . . . . . . 20 (𝑥 ∈ (𝑋 ∖ {𝑍}) → {𝑥} ⊆ 𝑋)
373, 5igenidl 38264 . . . . . . . . . . . . . . . . . . . 20 ((𝐾 ∈ RingOps ∧ {𝑥} ⊆ 𝑋) → (𝐾 IdlGen {𝑥}) ∈ (Idl‘𝐾))
3836, 37sylan2 593 . . . . . . . . . . . . . . . . . . 19 ((𝐾 ∈ RingOps ∧ 𝑥 ∈ (𝑋 ∖ {𝑍})) → (𝐾 IdlGen {𝑥}) ∈ (Idl‘𝐾))
39 eleq2 2825 . . . . . . . . . . . . . . . . . . 19 ((Idl‘𝐾) = {{𝑍}, 𝑋} → ((𝐾 IdlGen {𝑥}) ∈ (Idl‘𝐾) ↔ (𝐾 IdlGen {𝑥}) ∈ {{𝑍}, 𝑋}))
4038, 39syl5ibcom 245 . . . . . . . . . . . . . . . . . 18 ((𝐾 ∈ RingOps ∧ 𝑥 ∈ (𝑋 ∖ {𝑍})) → ((Idl‘𝐾) = {{𝑍}, 𝑋} → (𝐾 IdlGen {𝑥}) ∈ {{𝑍}, 𝑋}))
4140imp 406 . . . . . . . . . . . . . . . . 17 (((𝐾 ∈ RingOps ∧ 𝑥 ∈ (𝑋 ∖ {𝑍})) ∧ (Idl‘𝐾) = {{𝑍}, 𝑋}) → (𝐾 IdlGen {𝑥}) ∈ {{𝑍}, 𝑋})
4241an32s 652 . . . . . . . . . . . . . . . 16 (((𝐾 ∈ RingOps ∧ (Idl‘𝐾) = {{𝑍}, 𝑋}) ∧ 𝑥 ∈ (𝑋 ∖ {𝑍})) → (𝐾 IdlGen {𝑥}) ∈ {{𝑍}, 𝑋})
43 ovex 7391 . . . . . . . . . . . . . . . . 17 (𝐾 IdlGen {𝑥}) ∈ V
4443elpr 4605 . . . . . . . . . . . . . . . 16 ((𝐾 IdlGen {𝑥}) ∈ {{𝑍}, 𝑋} ↔ ((𝐾 IdlGen {𝑥}) = {𝑍} ∨ (𝐾 IdlGen {𝑥}) = 𝑋))
4542, 44sylib 218 . . . . . . . . . . . . . . 15 (((𝐾 ∈ RingOps ∧ (Idl‘𝐾) = {{𝑍}, 𝑋}) ∧ 𝑥 ∈ (𝑋 ∖ {𝑍})) → ((𝐾 IdlGen {𝑥}) = {𝑍} ∨ (𝐾 IdlGen {𝑥}) = 𝑋))
4645ord 864 . . . . . . . . . . . . . 14 (((𝐾 ∈ RingOps ∧ (Idl‘𝐾) = {{𝑍}, 𝑋}) ∧ 𝑥 ∈ (𝑋 ∖ {𝑍})) → (¬ (𝐾 IdlGen {𝑥}) = {𝑍} → (𝐾 IdlGen {𝑥}) = 𝑋))
4734, 46mpd 15 . . . . . . . . . . . . 13 (((𝐾 ∈ RingOps ∧ (Idl‘𝐾) = {{𝑍}, 𝑋}) ∧ 𝑥 ∈ (𝑋 ∖ {𝑍})) → (𝐾 IdlGen {𝑥}) = 𝑋)
4813, 47sylanl1 680 . . . . . . . . . . . 12 (((𝐾 ∈ CRingOps ∧ (Idl‘𝐾) = {{𝑍}, 𝑋}) ∧ 𝑥 ∈ (𝑋 ∖ {𝑍})) → (𝐾 IdlGen {𝑥}) = 𝑋)
493, 4, 5prnc 38268 . . . . . . . . . . . . . 14 ((𝐾 ∈ CRingOps ∧ 𝑥𝑋) → (𝐾 IdlGen {𝑥}) = {𝑧𝑋 ∣ ∃𝑦𝑋 𝑧 = (𝑦𝐻𝑥)})
5035, 49sylan2 593 . . . . . . . . . . . . 13 ((𝐾 ∈ CRingOps ∧ 𝑥 ∈ (𝑋 ∖ {𝑍})) → (𝐾 IdlGen {𝑥}) = {𝑧𝑋 ∣ ∃𝑦𝑋 𝑧 = (𝑦𝐻𝑥)})
5150adantlr 715 . . . . . . . . . . . 12 (((𝐾 ∈ CRingOps ∧ (Idl‘𝐾) = {{𝑍}, 𝑋}) ∧ 𝑥 ∈ (𝑋 ∖ {𝑍})) → (𝐾 IdlGen {𝑥}) = {𝑧𝑋 ∣ ∃𝑦𝑋 𝑧 = (𝑦𝐻𝑥)})
5248, 51eqtr3d 2773 . . . . . . . . . . 11 (((𝐾 ∈ CRingOps ∧ (Idl‘𝐾) = {{𝑍}, 𝑋}) ∧ 𝑥 ∈ (𝑋 ∖ {𝑍})) → 𝑋 = {𝑧𝑋 ∣ ∃𝑦𝑋 𝑧 = (𝑦𝐻𝑥)})
5320, 52eleqtrd 2838 . . . . . . . . . 10 (((𝐾 ∈ CRingOps ∧ (Idl‘𝐾) = {{𝑍}, 𝑋}) ∧ 𝑥 ∈ (𝑋 ∖ {𝑍})) → 𝑈 ∈ {𝑧𝑋 ∣ ∃𝑦𝑋 𝑧 = (𝑦𝐻𝑥)})
54 eqeq1 2740 . . . . . . . . . . . 12 (𝑧 = 𝑈 → (𝑧 = (𝑦𝐻𝑥) ↔ 𝑈 = (𝑦𝐻𝑥)))
5554rexbidv 3160 . . . . . . . . . . 11 (𝑧 = 𝑈 → (∃𝑦𝑋 𝑧 = (𝑦𝐻𝑥) ↔ ∃𝑦𝑋 𝑈 = (𝑦𝐻𝑥)))
5655elrab 3646 . . . . . . . . . 10 (𝑈 ∈ {𝑧𝑋 ∣ ∃𝑦𝑋 𝑧 = (𝑦𝐻𝑥)} ↔ (𝑈𝑋 ∧ ∃𝑦𝑋 𝑈 = (𝑦𝐻𝑥)))
5753, 56sylib 218 . . . . . . . . 9 (((𝐾 ∈ CRingOps ∧ (Idl‘𝐾) = {{𝑍}, 𝑋}) ∧ 𝑥 ∈ (𝑋 ∖ {𝑍})) → (𝑈𝑋 ∧ ∃𝑦𝑋 𝑈 = (𝑦𝐻𝑥)))
5857simprd 495 . . . . . . . 8 (((𝐾 ∈ CRingOps ∧ (Idl‘𝐾) = {{𝑍}, 𝑋}) ∧ 𝑥 ∈ (𝑋 ∖ {𝑍})) → ∃𝑦𝑋 𝑈 = (𝑦𝐻𝑥))
59 eqcom 2743 . . . . . . . . 9 ((𝑦𝐻𝑥) = 𝑈𝑈 = (𝑦𝐻𝑥))
6059rexbii 3083 . . . . . . . 8 (∃𝑦𝑋 (𝑦𝐻𝑥) = 𝑈 ↔ ∃𝑦𝑋 𝑈 = (𝑦𝐻𝑥))
6158, 60sylibr 234 . . . . . . 7 (((𝐾 ∈ CRingOps ∧ (Idl‘𝐾) = {{𝑍}, 𝑋}) ∧ 𝑥 ∈ (𝑋 ∖ {𝑍})) → ∃𝑦𝑋 (𝑦𝐻𝑥) = 𝑈)
6261ralrimiva 3128 . . . . . 6 ((𝐾 ∈ CRingOps ∧ (Idl‘𝐾) = {{𝑍}, 𝑋}) → ∀𝑥 ∈ (𝑋 ∖ {𝑍})∃𝑦𝑋 (𝑦𝐻𝑥) = 𝑈)
63623adant2 1131 . . . . 5 ((𝐾 ∈ CRingOps ∧ 𝑈𝑍 ∧ (Idl‘𝐾) = {{𝑍}, 𝑋}) → ∀𝑥 ∈ (𝑋 ∖ {𝑍})∃𝑦𝑋 (𝑦𝐻𝑥) = 𝑈)
6414, 15, 63jca32 515 . . . 4 ((𝐾 ∈ CRingOps ∧ 𝑈𝑍 ∧ (Idl‘𝐾) = {{𝑍}, 𝑋}) → (𝐾 ∈ RingOps ∧ (𝑈𝑍 ∧ ∀𝑥 ∈ (𝑋 ∖ {𝑍})∃𝑦𝑋 (𝑦𝐻𝑥) = 𝑈)))
653, 4, 6, 5, 7isdrngo3 38160 . . . 4 (𝐾 ∈ DivRingOps ↔ (𝐾 ∈ RingOps ∧ (𝑈𝑍 ∧ ∀𝑥 ∈ (𝑋 ∖ {𝑍})∃𝑦𝑋 (𝑦𝐻𝑥) = 𝑈)))
6664, 65sylibr 234 . . 3 ((𝐾 ∈ CRingOps ∧ 𝑈𝑍 ∧ (Idl‘𝐾) = {{𝑍}, 𝑋}) → 𝐾 ∈ DivRingOps)
67 simp1 1136 . . 3 ((𝐾 ∈ CRingOps ∧ 𝑈𝑍 ∧ (Idl‘𝐾) = {{𝑍}, 𝑋}) → 𝐾 ∈ CRingOps)
68 isfld2 38206 . . 3 (𝐾 ∈ Fld ↔ (𝐾 ∈ DivRingOps ∧ 𝐾 ∈ CRingOps))
6966, 67, 68sylanbrc 583 . 2 ((𝐾 ∈ CRingOps ∧ 𝑈𝑍 ∧ (Idl‘𝐾) = {{𝑍}, 𝑋}) → 𝐾 ∈ Fld)
7012, 69impbii 209 1 (𝐾 ∈ Fld ↔ (𝐾 ∈ CRingOps ∧ 𝑈𝑍 ∧ (Idl‘𝐾) = {{𝑍}, 𝑋}))
Colors of variables: wff setvar class
Syntax hints:  ¬ wn 3  wb 206  wa 395  wo 847  w3a 1086   = wceq 1541  wcel 2113  wne 2932  wral 3051  wrex 3060  {crab 3399  cdif 3898  wss 3901  {csn 4580  {cpr 4582  ran crn 5625  cfv 6492  (class class class)co 7358  1st c1st 7931  2nd c2nd 7932  GIdcgi 30565  RingOpscrngo 38095  DivRingOpscdrng 38149  Fldcfld 38192  CRingOpsccring 38194  Idlcidl 38208   IdlGen cigen 38260
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1796  ax-4 1810  ax-5 1911  ax-6 1968  ax-7 2009  ax-8 2115  ax-9 2123  ax-10 2146  ax-11 2162  ax-12 2184  ax-ext 2708  ax-rep 5224  ax-sep 5241  ax-nul 5251  ax-pow 5310  ax-pr 5377  ax-un 7680
This theorem depends on definitions:  df-bi 207  df-an 396  df-or 848  df-3an 1088  df-tru 1544  df-fal 1554  df-ex 1781  df-nf 1785  df-sb 2068  df-mo 2539  df-eu 2569  df-clab 2715  df-cleq 2728  df-clel 2811  df-nfc 2885  df-ne 2933  df-ral 3052  df-rex 3061  df-rmo 3350  df-reu 3351  df-rab 3400  df-v 3442  df-sbc 3741  df-csb 3850  df-dif 3904  df-un 3906  df-in 3908  df-ss 3918  df-nul 4286  df-if 4480  df-pw 4556  df-sn 4581  df-pr 4583  df-op 4587  df-uni 4864  df-int 4903  df-iun 4948  df-br 5099  df-opab 5161  df-mpt 5180  df-id 5519  df-xp 5630  df-rel 5631  df-cnv 5632  df-co 5633  df-dm 5634  df-rn 5635  df-res 5636  df-ima 5637  df-suc 6323  df-iota 6448  df-fun 6494  df-fn 6495  df-f 6496  df-f1 6497  df-fo 6498  df-f1o 6499  df-fv 6500  df-riota 7315  df-ov 7361  df-oprab 7362  df-mpo 7363  df-1st 7933  df-2nd 7934  df-1o 8397  df-en 8884  df-grpo 30568  df-gid 30569  df-ginv 30570  df-ablo 30620  df-ass 38044  df-exid 38046  df-mgmOLD 38050  df-sgrOLD 38062  df-mndo 38068  df-rngo 38096  df-drngo 38150  df-com2 38191  df-fld 38193  df-crngo 38195  df-idl 38211  df-igen 38261
This theorem is referenced by:  isfldidl2  38270
  Copyright terms: Public domain W3C validator