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

Theorem isfldidl 32365
Description: Determine if a ring is a field based on its ideals. (Contributed by Jeff Madsen, 10-Jun-2010.)
Hypotheses
Ref Expression
isfldidl.1  |-  G  =  ( 1st `  K
)
isfldidl.2  |-  H  =  ( 2nd `  K
)
isfldidl.3  |-  X  =  ran  G
isfldidl.4  |-  Z  =  (GId `  G )
isfldidl.5  |-  U  =  (GId `  H )
Assertion
Ref Expression
isfldidl  |-  ( K  e.  Fld  <->  ( K  e. CRingOps 
/\  U  =/=  Z  /\  ( Idl `  K
)  =  { { Z } ,  X }
) )

Proof of Theorem isfldidl
Dummy variables  x  y  z are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 fldcrng 32301 . . 3  |-  ( K  e.  Fld  ->  K  e. CRingOps )
2 flddivrng 26224 . . . 4  |-  ( K  e.  Fld  ->  K  e. 
DivRingOps )
3 isfldidl.1 . . . . 5  |-  G  =  ( 1st `  K
)
4 isfldidl.2 . . . . 5  |-  H  =  ( 2nd `  K
)
5 isfldidl.3 . . . . 5  |-  X  =  ran  G
6 isfldidl.4 . . . . 5  |-  Z  =  (GId `  G )
7 isfldidl.5 . . . . 5  |-  U  =  (GId `  H )
83, 4, 5, 6, 7dvrunz 26242 . . . 4  |-  ( K  e.  DivRingOps  ->  U  =/=  Z
)
92, 8syl 17 . . 3  |-  ( K  e.  Fld  ->  U  =/=  Z )
103, 4, 5, 6divrngidl 32325 . . . 4  |-  ( K  e.  DivRingOps  ->  ( Idl `  K
)  =  { { Z } ,  X }
)
112, 10syl 17 . . 3  |-  ( K  e.  Fld  ->  ( Idl `  K )  =  { { Z } ,  X } )
121, 9, 113jca 1210 . 2  |-  ( K  e.  Fld  ->  ( K  e. CRingOps  /\  U  =/= 
Z  /\  ( Idl `  K )  =  { { Z } ,  X } ) )
13 crngorngo 32297 . . . . . 6  |-  ( K  e. CRingOps  ->  K  e.  RingOps )
14133ad2ant1 1051 . . . . 5  |-  ( ( K  e. CRingOps  /\  U  =/= 
Z  /\  ( Idl `  K )  =  { { Z } ,  X } )  ->  K  e.  RingOps )
15 simp2 1031 . . . . 5  |-  ( ( K  e. CRingOps  /\  U  =/= 
Z  /\  ( Idl `  K )  =  { { Z } ,  X } )  ->  U  =/=  Z )
163rneqi 5067 . . . . . . . . . . . . . . 15  |-  ran  G  =  ran  ( 1st `  K
)
175, 16eqtri 2493 . . . . . . . . . . . . . 14  |-  X  =  ran  ( 1st `  K
)
1817, 4, 7rngo1cl 26238 . . . . . . . . . . . . 13  |-  ( K  e.  RingOps  ->  U  e.  X
)
1913, 18syl 17 . . . . . . . . . . . 12  |-  ( K  e. CRingOps  ->  U  e.  X
)
2019ad2antrr 740 . . . . . . . . . . 11  |-  ( ( ( K  e. CRingOps  /\  ( Idl `  K )  =  { { Z } ,  X } )  /\  x  e.  ( X  \  { Z } ) )  ->  U  e.  X )
21 eldif 3400 . . . . . . . . . . . . . . . 16  |-  ( x  e.  ( X  \  { Z } )  <->  ( x  e.  X  /\  -.  x  e.  { Z } ) )
22 snssi 4107 . . . . . . . . . . . . . . . . . . 19  |-  ( x  e.  X  ->  { x }  C_  X )
233, 5igenss 32359 . . . . . . . . . . . . . . . . . . 19  |-  ( ( K  e.  RingOps  /\  {
x }  C_  X
)  ->  { x }  C_  ( K  IdlGen  { x } ) )
2422, 23sylan2 482 . . . . . . . . . . . . . . . . . 18  |-  ( ( K  e.  RingOps  /\  x  e.  X )  ->  { x }  C_  ( K  IdlGen  { x } ) )
25 vex 3034 . . . . . . . . . . . . . . . . . . . . . 22  |-  x  e. 
_V
2625snss 4087 . . . . . . . . . . . . . . . . . . . . 21  |-  ( x  e.  ( K  IdlGen  { x } )  <->  { x }  C_  ( K  IdlGen  { x } ) )
2726biimpri 211 . . . . . . . . . . . . . . . . . . . 20  |-  ( { x }  C_  ( K  IdlGen  { x }
)  ->  x  e.  ( K  IdlGen  { x } ) )
28 eleq2 2538 . . . . . . . . . . . . . . . . . . . 20  |-  ( ( K  IdlGen  { x }
)  =  { Z }  ->  ( x  e.  ( K  IdlGen  { x } )  <->  x  e.  { Z } ) )
2927, 28syl5ibcom 228 . . . . . . . . . . . . . . . . . . 19  |-  ( { x }  C_  ( K  IdlGen  { x }
)  ->  ( ( K  IdlGen  { x }
)  =  { Z }  ->  x  e.  { Z } ) )
3029con3dimp 448 . . . . . . . . . . . . . . . . . 18  |-  ( ( { x }  C_  ( K  IdlGen  { x } )  /\  -.  x  e.  { Z } )  ->  -.  ( K  IdlGen  { x } )  =  { Z } )
3124, 30sylan 479 . . . . . . . . . . . . . . . . 17  |-  ( ( ( K  e.  RingOps  /\  x  e.  X )  /\  -.  x  e.  { Z } )  ->  -.  ( K  IdlGen  { x } )  =  { Z } )
3231anasss 659 . . . . . . . . . . . . . . . 16  |-  ( ( K  e.  RingOps  /\  (
x  e.  X  /\  -.  x  e.  { Z } ) )  ->  -.  ( K  IdlGen  { x } )  =  { Z } )
3321, 32sylan2b 483 . . . . . . . . . . . . . . 15  |-  ( ( K  e.  RingOps  /\  x  e.  ( X  \  { Z } ) )  ->  -.  ( K  IdlGen  { x } )  =  { Z } )
3433adantlr 729 . . . . . . . . . . . . . 14  |-  ( ( ( K  e.  RingOps  /\  ( Idl `  K )  =  { { Z } ,  X }
)  /\  x  e.  ( X  \  { Z } ) )  ->  -.  ( K  IdlGen  { x } )  =  { Z } )
35 eldifi 3544 . . . . . . . . . . . . . . . . . . . . 21  |-  ( x  e.  ( X  \  { Z } )  ->  x  e.  X )
3635snssd 4108 . . . . . . . . . . . . . . . . . . . 20  |-  ( x  e.  ( X  \  { Z } )  ->  { x }  C_  X )
373, 5igenidl 32360 . . . . . . . . . . . . . . . . . . . 20  |-  ( ( K  e.  RingOps  /\  {
x }  C_  X
)  ->  ( K  IdlGen  { x } )  e.  ( Idl `  K
) )
3836, 37sylan2 482 . . . . . . . . . . . . . . . . . . 19  |-  ( ( K  e.  RingOps  /\  x  e.  ( X  \  { Z } ) )  -> 
( K  IdlGen  { x } )  e.  ( Idl `  K ) )
39 eleq2 2538 . . . . . . . . . . . . . . . . . . 19  |-  ( ( Idl `  K )  =  { { Z } ,  X }  ->  ( ( K  IdlGen  { x } )  e.  ( Idl `  K
)  <->  ( K  IdlGen  { x } )  e. 
{ { Z } ,  X } ) )
4038, 39syl5ibcom 228 . . . . . . . . . . . . . . . . . 18  |-  ( ( K  e.  RingOps  /\  x  e.  ( X  \  { Z } ) )  -> 
( ( Idl `  K
)  =  { { Z } ,  X }  ->  ( K  IdlGen  { x } )  e.  { { Z } ,  X } ) )
4140imp 436 . . . . . . . . . . . . . . . . 17  |-  ( ( ( K  e.  RingOps  /\  x  e.  ( X  \  { Z } ) )  /\  ( Idl `  K )  =  { { Z } ,  X } )  ->  ( K  IdlGen  { x }
)  e.  { { Z } ,  X }
)
4241an32s 821 . . . . . . . . . . . . . . . 16  |-  ( ( ( K  e.  RingOps  /\  ( Idl `  K )  =  { { Z } ,  X }
)  /\  x  e.  ( X  \  { Z } ) )  -> 
( K  IdlGen  { x } )  e.  { { Z } ,  X } )
43 ovex 6336 . . . . . . . . . . . . . . . . 17  |-  ( K 
IdlGen  { x } )  e.  _V
4443elpr 3977 . . . . . . . . . . . . . . . 16  |-  ( ( K  IdlGen  { x }
)  e.  { { Z } ,  X }  <->  ( ( K  IdlGen  { x } )  =  { Z }  \/  ( K  IdlGen  { x }
)  =  X ) )
4542, 44sylib 201 . . . . . . . . . . . . . . 15  |-  ( ( ( K  e.  RingOps  /\  ( Idl `  K )  =  { { Z } ,  X }
)  /\  x  e.  ( X  \  { Z } ) )  -> 
( ( K  IdlGen  { x } )  =  { Z }  \/  ( K  IdlGen  { x } )  =  X ) )
4645ord 384 . . . . . . . . . . . . . 14  |-  ( ( ( K  e.  RingOps  /\  ( Idl `  K )  =  { { Z } ,  X }
)  /\  x  e.  ( X  \  { Z } ) )  -> 
( -.  ( K 
IdlGen  { x } )  =  { Z }  ->  ( K  IdlGen  { x } )  =  X ) )
4734, 46mpd 15 . . . . . . . . . . . . 13  |-  ( ( ( K  e.  RingOps  /\  ( Idl `  K )  =  { { Z } ,  X }
)  /\  x  e.  ( X  \  { Z } ) )  -> 
( K  IdlGen  { x } )  =  X )
4813, 47sylanl1 662 . . . . . . . . . . . 12  |-  ( ( ( K  e. CRingOps  /\  ( Idl `  K )  =  { { Z } ,  X } )  /\  x  e.  ( X  \  { Z } ) )  ->  ( K  IdlGen  { x } )  =  X )
493, 4, 5prnc 32364 . . . . . . . . . . . . . 14  |-  ( ( K  e. CRingOps  /\  x  e.  X )  ->  ( K  IdlGen  { x }
)  =  { z  e.  X  |  E. y  e.  X  z  =  ( y H x ) } )
5035, 49sylan2 482 . . . . . . . . . . . . 13  |-  ( ( K  e. CRingOps  /\  x  e.  ( X  \  { Z } ) )  -> 
( K  IdlGen  { x } )  =  {
z  e.  X  |  E. y  e.  X  z  =  ( y H x ) } )
5150adantlr 729 . . . . . . . . . . . 12  |-  ( ( ( K  e. CRingOps  /\  ( Idl `  K )  =  { { Z } ,  X } )  /\  x  e.  ( X  \  { Z } ) )  ->  ( K  IdlGen  { x } )  =  { z  e.  X  |  E. y  e.  X  z  =  ( y H x ) } )
5248, 51eqtr3d 2507 . . . . . . . . . . 11  |-  ( ( ( K  e. CRingOps  /\  ( Idl `  K )  =  { { Z } ,  X } )  /\  x  e.  ( X  \  { Z } ) )  ->  X  =  { z  e.  X  |  E. y  e.  X  z  =  ( y H x ) } )
5320, 52eleqtrd 2551 . . . . . . . . . 10  |-  ( ( ( K  e. CRingOps  /\  ( Idl `  K )  =  { { Z } ,  X } )  /\  x  e.  ( X  \  { Z } ) )  ->  U  e.  { z  e.  X  |  E. y  e.  X  z  =  ( y H x ) } )
54 eqeq1 2475 . . . . . . . . . . . 12  |-  ( z  =  U  ->  (
z  =  ( y H x )  <->  U  =  ( y H x ) ) )
5554rexbidv 2892 . . . . . . . . . . 11  |-  ( z  =  U  ->  ( E. y  e.  X  z  =  ( y H x )  <->  E. y  e.  X  U  =  ( y H x ) ) )
5655elrab 3184 . . . . . . . . . 10  |-  ( U  e.  { z  e.  X  |  E. y  e.  X  z  =  ( y H x ) }  <->  ( U  e.  X  /\  E. y  e.  X  U  =  ( y H x ) ) )
5753, 56sylib 201 . . . . . . . . 9  |-  ( ( ( K  e. CRingOps  /\  ( Idl `  K )  =  { { Z } ,  X } )  /\  x  e.  ( X  \  { Z } ) )  ->  ( U  e.  X  /\  E. y  e.  X  U  =  ( y H x ) ) )
5857simprd 470 . . . . . . . 8  |-  ( ( ( K  e. CRingOps  /\  ( Idl `  K )  =  { { Z } ,  X } )  /\  x  e.  ( X  \  { Z } ) )  ->  E. y  e.  X  U  =  ( y H x ) )
59 eqcom 2478 . . . . . . . . 9  |-  ( ( y H x )  =  U  <->  U  =  ( y H x ) )
6059rexbii 2881 . . . . . . . 8  |-  ( E. y  e.  X  ( y H x )  =  U  <->  E. y  e.  X  U  =  ( y H x ) )
6158, 60sylibr 217 . . . . . . 7  |-  ( ( ( K  e. CRingOps  /\  ( Idl `  K )  =  { { Z } ,  X } )  /\  x  e.  ( X  \  { Z } ) )  ->  E. y  e.  X  ( y H x )  =  U )
6261ralrimiva 2809 . . . . . 6  |-  ( ( K  e. CRingOps  /\  ( Idl `  K )  =  { { Z } ,  X } )  ->  A. x  e.  ( X  \  { Z }
) E. y  e.  X  ( y H x )  =  U )
63623adant2 1049 . . . . 5  |-  ( ( K  e. CRingOps  /\  U  =/= 
Z  /\  ( Idl `  K )  =  { { Z } ,  X } )  ->  A. x  e.  ( X  \  { Z } ) E. y  e.  X  ( y H x )  =  U )
6414, 15, 63jca32 544 . . . 4  |-  ( ( K  e. CRingOps  /\  U  =/= 
Z  /\  ( Idl `  K )  =  { { Z } ,  X } )  ->  ( K  e.  RingOps  /\  ( U  =/=  Z  /\  A. x  e.  ( X  \  { Z } ) E. y  e.  X  ( y H x )  =  U ) ) )
653, 4, 6, 5, 7isdrngo3 32262 . . . 4  |-  ( K  e.  DivRingOps 
<->  ( K  e.  RingOps  /\  ( U  =/=  Z  /\  A. x  e.  ( X  \  { Z } ) E. y  e.  X  ( y H x )  =  U ) ) )
6664, 65sylibr 217 . . 3  |-  ( ( K  e. CRingOps  /\  U  =/= 
Z  /\  ( Idl `  K )  =  { { Z } ,  X } )  ->  K  e. 
DivRingOps )
67 simp1 1030 . . 3  |-  ( ( K  e. CRingOps  /\  U  =/= 
Z  /\  ( Idl `  K )  =  { { Z } ,  X } )  ->  K  e. CRingOps )
68 isfld2 32302 . . 3  |-  ( K  e.  Fld  <->  ( K  e. 
DivRingOps 
/\  K  e. CRingOps )
)
6966, 67, 68sylanbrc 677 . 2  |-  ( ( K  e. CRingOps  /\  U  =/= 
Z  /\  ( Idl `  K )  =  { { Z } ,  X } )  ->  K  e.  Fld )
7012, 69impbii 192 1  |-  ( K  e.  Fld  <->  ( K  e. CRingOps 
/\  U  =/=  Z  /\  ( Idl `  K
)  =  { { Z } ,  X }
) )
Colors of variables: wff setvar class
Syntax hints:   -. wn 3    <-> wb 189    \/ wo 375    /\ wa 376    /\ w3a 1007    = wceq 1452    e. wcel 1904    =/= wne 2641   A.wral 2756   E.wrex 2757   {crab 2760    \ cdif 3387    C_ wss 3390   {csn 3959   {cpr 3961   ran crn 4840   ` cfv 5589  (class class class)co 6308   1stc1st 6810   2ndc2nd 6811  GIdcgi 25996   RingOpscrngo 26184   DivRingOpscdrng 26214   Fldcfld 26222  CRingOpsccring 32292   Idlcidl 32304    IdlGen cigen 32356
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1677  ax-4 1690  ax-5 1766  ax-6 1813  ax-7 1859  ax-8 1906  ax-9 1913  ax-10 1932  ax-11 1937  ax-12 1950  ax-13 2104  ax-ext 2451  ax-rep 4508  ax-sep 4518  ax-nul 4527  ax-pow 4579  ax-pr 4639  ax-un 6602
This theorem depends on definitions:  df-bi 190  df-or 377  df-an 378  df-3or 1008  df-3an 1009  df-tru 1455  df-ex 1672  df-nf 1676  df-sb 1806  df-eu 2323  df-mo 2324  df-clab 2458  df-cleq 2464  df-clel 2467  df-nfc 2601  df-ne 2643  df-ral 2761  df-rex 2762  df-reu 2763  df-rmo 2764  df-rab 2765  df-v 3033  df-sbc 3256  df-csb 3350  df-dif 3393  df-un 3395  df-in 3397  df-ss 3404  df-pss 3406  df-nul 3723  df-if 3873  df-pw 3944  df-sn 3960  df-pr 3962  df-tp 3964  df-op 3966  df-uni 4191  df-int 4227  df-iun 4271  df-br 4396  df-opab 4455  df-mpt 4456  df-tr 4491  df-eprel 4750  df-id 4754  df-po 4760  df-so 4761  df-fr 4798  df-we 4800  df-xp 4845  df-rel 4846  df-cnv 4847  df-co 4848  df-dm 4849  df-rn 4850  df-res 4851  df-ima 4852  df-ord 5433  df-on 5434  df-lim 5435  df-suc 5436  df-iota 5553  df-fun 5591  df-fn 5592  df-f 5593  df-f1 5594  df-fo 5595  df-f1o 5596  df-fv 5597  df-riota 6270  df-ov 6311  df-oprab 6312  df-mpt2 6313  df-om 6712  df-1st 6812  df-2nd 6813  df-1o 7200  df-er 7381  df-en 7588  df-dom 7589  df-sdom 7590  df-fin 7591  df-grpo 26000  df-gid 26001  df-ginv 26002  df-ablo 26091  df-ass 26122  df-exid 26124  df-mgmOLD 26128  df-sgrOLD 26140  df-mndo 26147  df-rngo 26185  df-drngo 26215  df-com2 26220  df-fld 26223  df-crngo 32293  df-idl 32307  df-igen 32357
This theorem is referenced by:  isfldidl2  32366
  Copyright terms: Public domain W3C validator