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

Theorem isfldidl 30670
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 30606 . . 3  |-  ( K  e.  Fld  ->  K  e. CRingOps )
2 flddivrng 25544 . . . 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 25562 . . . 4  |-  ( K  e.  DivRingOps  ->  U  =/=  Z
)
92, 8syl 16 . . 3  |-  ( K  e.  Fld  ->  U  =/=  Z )
103, 4, 5, 6divrngidl 30630 . . . 4  |-  ( K  e.  DivRingOps  ->  ( Idl `  K
)  =  { { Z } ,  X }
)
112, 10syl 16 . . 3  |-  ( K  e.  Fld  ->  ( Idl `  K )  =  { { Z } ,  X } )
121, 9, 113jca 1176 . 2  |-  ( K  e.  Fld  ->  ( K  e. CRingOps  /\  U  =/= 
Z  /\  ( Idl `  K )  =  { { Z } ,  X } ) )
13 crngorngo 30602 . . . . . 6  |-  ( K  e. CRingOps  ->  K  e.  RingOps )
14133ad2ant1 1017 . . . . 5  |-  ( ( K  e. CRingOps  /\  U  =/= 
Z  /\  ( Idl `  K )  =  { { Z } ,  X } )  ->  K  e.  RingOps )
15 simp2 997 . . . . 5  |-  ( ( K  e. CRingOps  /\  U  =/= 
Z  /\  ( Idl `  K )  =  { { Z } ,  X } )  ->  U  =/=  Z )
163rneqi 5239 . . . . . . . . . . . . . . 15  |-  ran  G  =  ran  ( 1st `  K
)
175, 16eqtri 2486 . . . . . . . . . . . . . 14  |-  X  =  ran  ( 1st `  K
)
1817, 4, 7rngo1cl 25558 . . . . . . . . . . . . 13  |-  ( K  e.  RingOps  ->  U  e.  X
)
1913, 18syl 16 . . . . . . . . . . . 12  |-  ( K  e. CRingOps  ->  U  e.  X
)
2019ad2antrr 725 . . . . . . . . . . 11  |-  ( ( ( K  e. CRingOps  /\  ( Idl `  K )  =  { { Z } ,  X } )  /\  x  e.  ( X  \  { Z } ) )  ->  U  e.  X )
21 eldif 3481 . . . . . . . . . . . . . . . 16  |-  ( x  e.  ( X  \  { Z } )  <->  ( x  e.  X  /\  -.  x  e.  { Z } ) )
22 snssi 4176 . . . . . . . . . . . . . . . . . . 19  |-  ( x  e.  X  ->  { x }  C_  X )
233, 5igenss 30664 . . . . . . . . . . . . . . . . . . 19  |-  ( ( K  e.  RingOps  /\  {
x }  C_  X
)  ->  { x }  C_  ( K  IdlGen  { x } ) )
2422, 23sylan2 474 . . . . . . . . . . . . . . . . . 18  |-  ( ( K  e.  RingOps  /\  x  e.  X )  ->  { x }  C_  ( K  IdlGen  { x } ) )
25 vex 3112 . . . . . . . . . . . . . . . . . . . . . 22  |-  x  e. 
_V
2625snss 4156 . . . . . . . . . . . . . . . . . . . . 21  |-  ( x  e.  ( K  IdlGen  { x } )  <->  { x }  C_  ( K  IdlGen  { x } ) )
2726biimpri 206 . . . . . . . . . . . . . . . . . . . 20  |-  ( { x }  C_  ( K  IdlGen  { x }
)  ->  x  e.  ( K  IdlGen  { x } ) )
28 eleq2 2530 . . . . . . . . . . . . . . . . . . . 20  |-  ( ( K  IdlGen  { x }
)  =  { Z }  ->  ( x  e.  ( K  IdlGen  { x } )  <->  x  e.  { Z } ) )
2927, 28syl5ibcom 220 . . . . . . . . . . . . . . . . . . 19  |-  ( { x }  C_  ( K  IdlGen  { x }
)  ->  ( ( K  IdlGen  { x }
)  =  { Z }  ->  x  e.  { Z } ) )
3029con3dimp 441 . . . . . . . . . . . . . . . . . 18  |-  ( ( { x }  C_  ( K  IdlGen  { x } )  /\  -.  x  e.  { Z } )  ->  -.  ( K  IdlGen  { x } )  =  { Z } )
3124, 30sylan 471 . . . . . . . . . . . . . . . . 17  |-  ( ( ( K  e.  RingOps  /\  x  e.  X )  /\  -.  x  e.  { Z } )  ->  -.  ( K  IdlGen  { x } )  =  { Z } )
3231anasss 647 . . . . . . . . . . . . . . . 16  |-  ( ( K  e.  RingOps  /\  (
x  e.  X  /\  -.  x  e.  { Z } ) )  ->  -.  ( K  IdlGen  { x } )  =  { Z } )
3321, 32sylan2b 475 . . . . . . . . . . . . . . 15  |-  ( ( K  e.  RingOps  /\  x  e.  ( X  \  { Z } ) )  ->  -.  ( K  IdlGen  { x } )  =  { Z } )
3433adantlr 714 . . . . . . . . . . . . . 14  |-  ( ( ( K  e.  RingOps  /\  ( Idl `  K )  =  { { Z } ,  X }
)  /\  x  e.  ( X  \  { Z } ) )  ->  -.  ( K  IdlGen  { x } )  =  { Z } )
35 eldifi 3622 . . . . . . . . . . . . . . . . . . . . 21  |-  ( x  e.  ( X  \  { Z } )  ->  x  e.  X )
3635snssd 4177 . . . . . . . . . . . . . . . . . . . 20  |-  ( x  e.  ( X  \  { Z } )  ->  { x }  C_  X )
373, 5igenidl 30665 . . . . . . . . . . . . . . . . . . . 20  |-  ( ( K  e.  RingOps  /\  {
x }  C_  X
)  ->  ( K  IdlGen  { x } )  e.  ( Idl `  K
) )
3836, 37sylan2 474 . . . . . . . . . . . . . . . . . . 19  |-  ( ( K  e.  RingOps  /\  x  e.  ( X  \  { Z } ) )  -> 
( K  IdlGen  { x } )  e.  ( Idl `  K ) )
39 eleq2 2530 . . . . . . . . . . . . . . . . . . 19  |-  ( ( Idl `  K )  =  { { Z } ,  X }  ->  ( ( K  IdlGen  { x } )  e.  ( Idl `  K
)  <->  ( K  IdlGen  { x } )  e. 
{ { Z } ,  X } ) )
4038, 39syl5ibcom 220 . . . . . . . . . . . . . . . . . 18  |-  ( ( K  e.  RingOps  /\  x  e.  ( X  \  { Z } ) )  -> 
( ( Idl `  K
)  =  { { Z } ,  X }  ->  ( K  IdlGen  { x } )  e.  { { Z } ,  X } ) )
4140imp 429 . . . . . . . . . . . . . . . . 17  |-  ( ( ( K  e.  RingOps  /\  x  e.  ( X  \  { Z } ) )  /\  ( Idl `  K )  =  { { Z } ,  X } )  ->  ( K  IdlGen  { x }
)  e.  { { Z } ,  X }
)
4241an32s 804 . . . . . . . . . . . . . . . 16  |-  ( ( ( K  e.  RingOps  /\  ( Idl `  K )  =  { { Z } ,  X }
)  /\  x  e.  ( X  \  { Z } ) )  -> 
( K  IdlGen  { x } )  e.  { { Z } ,  X } )
43 ovex 6324 . . . . . . . . . . . . . . . . 17  |-  ( K 
IdlGen  { x } )  e.  _V
4443elpr 4050 . . . . . . . . . . . . . . . 16  |-  ( ( K  IdlGen  { x }
)  e.  { { Z } ,  X }  <->  ( ( K  IdlGen  { x } )  =  { Z }  \/  ( K  IdlGen  { x }
)  =  X ) )
4542, 44sylib 196 . . . . . . . . . . . . . . 15  |-  ( ( ( K  e.  RingOps  /\  ( Idl `  K )  =  { { Z } ,  X }
)  /\  x  e.  ( X  \  { Z } ) )  -> 
( ( K  IdlGen  { x } )  =  { Z }  \/  ( K  IdlGen  { x } )  =  X ) )
4645ord 377 . . . . . . . . . . . . . 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 650 . . . . . . . . . . . 12  |-  ( ( ( K  e. CRingOps  /\  ( Idl `  K )  =  { { Z } ,  X } )  /\  x  e.  ( X  \  { Z } ) )  ->  ( K  IdlGen  { x } )  =  X )
493, 4, 5prnc 30669 . . . . . . . . . . . . . 14  |-  ( ( K  e. CRingOps  /\  x  e.  X )  ->  ( K  IdlGen  { x }
)  =  { z  e.  X  |  E. y  e.  X  z  =  ( y H x ) } )
5035, 49sylan2 474 . . . . . . . . . . . . 13  |-  ( ( K  e. CRingOps  /\  x  e.  ( X  \  { Z } ) )  -> 
( K  IdlGen  { x } )  =  {
z  e.  X  |  E. y  e.  X  z  =  ( y H x ) } )
5150adantlr 714 . . . . . . . . . . . 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 2500 . . . . . . . . . . 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 2547 . . . . . . . . . 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 2461 . . . . . . . . . . . 12  |-  ( z  =  U  ->  (
z  =  ( y H x )  <->  U  =  ( y H x ) ) )
5554rexbidv 2968 . . . . . . . . . . 11  |-  ( z  =  U  ->  ( E. y  e.  X  z  =  ( y H x )  <->  E. y  e.  X  U  =  ( y H x ) ) )
5655elrab 3257 . . . . . . . . . 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 196 . . . . . . . . 9  |-  ( ( ( K  e. CRingOps  /\  ( Idl `  K )  =  { { Z } ,  X } )  /\  x  e.  ( X  \  { Z } ) )  ->  ( U  e.  X  /\  E. y  e.  X  U  =  ( y H x ) ) )
5857simprd 463 . . . . . . . 8  |-  ( ( ( K  e. CRingOps  /\  ( Idl `  K )  =  { { Z } ,  X } )  /\  x  e.  ( X  \  { Z } ) )  ->  E. y  e.  X  U  =  ( y H x ) )
59 eqcom 2466 . . . . . . . . 9  |-  ( ( y H x )  =  U  <->  U  =  ( y H x ) )
6059rexbii 2959 . . . . . . . 8  |-  ( E. y  e.  X  ( y H x )  =  U  <->  E. y  e.  X  U  =  ( y H x ) )
6158, 60sylibr 212 . . . . . . 7  |-  ( ( ( K  e. CRingOps  /\  ( Idl `  K )  =  { { Z } ,  X } )  /\  x  e.  ( X  \  { Z } ) )  ->  E. y  e.  X  ( y H x )  =  U )
6261ralrimiva 2871 . . . . . 6  |-  ( ( K  e. CRingOps  /\  ( Idl `  K )  =  { { Z } ,  X } )  ->  A. x  e.  ( X  \  { Z }
) E. y  e.  X  ( y H x )  =  U )
63623adant2 1015 . . . . 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 535 . . . 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 30567 . . . 4  |-  ( K  e.  DivRingOps 
<->  ( K  e.  RingOps  /\  ( U  =/=  Z  /\  A. x  e.  ( X  \  { Z } ) E. y  e.  X  ( y H x )  =  U ) ) )
6664, 65sylibr 212 . . 3  |-  ( ( K  e. CRingOps  /\  U  =/= 
Z  /\  ( Idl `  K )  =  { { Z } ,  X } )  ->  K  e. 
DivRingOps )
67 simp1 996 . . 3  |-  ( ( K  e. CRingOps  /\  U  =/= 
Z  /\  ( Idl `  K )  =  { { Z } ,  X } )  ->  K  e. CRingOps )
68 isfld2 30607 . . 3  |-  ( K  e.  Fld  <->  ( K  e. 
DivRingOps 
/\  K  e. CRingOps )
)
6966, 67, 68sylanbrc 664 . 2  |-  ( ( K  e. CRingOps  /\  U  =/= 
Z  /\  ( Idl `  K )  =  { { Z } ,  X } )  ->  K  e.  Fld )
7012, 69impbii 188 1  |-  ( K  e.  Fld  <->  ( K  e. CRingOps 
/\  U  =/=  Z  /\  ( Idl `  K
)  =  { { Z } ,  X }
) )
Colors of variables: wff setvar class
Syntax hints:   -. wn 3    <-> wb 184    \/ wo 368    /\ wa 369    /\ w3a 973    = wceq 1395    e. wcel 1819    =/= wne 2652   A.wral 2807   E.wrex 2808   {crab 2811    \ cdif 3468    C_ wss 3471   {csn 4032   {cpr 4034   ran crn 5009   ` cfv 5594  (class class class)co 6296   1stc1st 6797   2ndc2nd 6798  GIdcgi 25316   RingOpscrngo 25504   DivRingOpscdrng 25534   Fldcfld 25542  CRingOpsccring 30597   Idlcidl 30609    IdlGen cigen 30661
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1619  ax-4 1632  ax-5 1705  ax-6 1748  ax-7 1791  ax-8 1821  ax-9 1823  ax-10 1838  ax-11 1843  ax-12 1855  ax-13 2000  ax-ext 2435  ax-rep 4568  ax-sep 4578  ax-nul 4586  ax-pow 4634  ax-pr 4695  ax-un 6591
This theorem depends on definitions:  df-bi 185  df-or 370  df-an 371  df-3or 974  df-3an 975  df-tru 1398  df-ex 1614  df-nf 1618  df-sb 1741  df-eu 2287  df-mo 2288  df-clab 2443  df-cleq 2449  df-clel 2452  df-nfc 2607  df-ne 2654  df-ral 2812  df-rex 2813  df-reu 2814  df-rmo 2815  df-rab 2816  df-v 3111  df-sbc 3328  df-csb 3431  df-dif 3474  df-un 3476  df-in 3478  df-ss 3485  df-pss 3487  df-nul 3794  df-if 3945  df-pw 4017  df-sn 4033  df-pr 4035  df-tp 4037  df-op 4039  df-uni 4252  df-int 4289  df-iun 4334  df-br 4457  df-opab 4516  df-mpt 4517  df-tr 4551  df-eprel 4800  df-id 4804  df-po 4809  df-so 4810  df-fr 4847  df-we 4849  df-ord 4890  df-on 4891  df-lim 4892  df-suc 4893  df-xp 5014  df-rel 5015  df-cnv 5016  df-co 5017  df-dm 5018  df-rn 5019  df-res 5020  df-ima 5021  df-iota 5557  df-fun 5596  df-fn 5597  df-f 5598  df-f1 5599  df-fo 5600  df-f1o 5601  df-fv 5602  df-riota 6258  df-ov 6299  df-oprab 6300  df-mpt2 6301  df-om 6700  df-1st 6799  df-2nd 6800  df-1o 7148  df-er 7329  df-en 7536  df-dom 7537  df-sdom 7538  df-fin 7539  df-grpo 25320  df-gid 25321  df-ginv 25322  df-ablo 25411  df-ass 25442  df-exid 25444  df-mgmOLD 25448  df-sgrOLD 25460  df-mndo 25467  df-rngo 25505  df-drngo 25535  df-com2 25540  df-fld 25543  df-crngo 30598  df-idl 30612  df-igen 30662
This theorem is referenced by:  isfldidl2  30671
  Copyright terms: Public domain W3C validator