Metamath Proof Explorer


Theorem isfldidl

Description: Determine if a ring is a field based on its ideals. (Contributed by Jeff Madsen, 10-Jun-2010)

Ref Expression
Hypotheses isfldidl.1 G=1stK
isfldidl.2 H=2ndK
isfldidl.3 X=ranG
isfldidl.4 Z=GIdG
isfldidl.5 U=GIdH
Assertion isfldidl KFldKCRingOpsUZIdlK=ZX

Proof

Step Hyp Ref Expression
1 isfldidl.1 G=1stK
2 isfldidl.2 H=2ndK
3 isfldidl.3 X=ranG
4 isfldidl.4 Z=GIdG
5 isfldidl.5 U=GIdH
6 fldcrngo KFldKCRingOps
7 flddivrng KFldKDivRingOps
8 1 2 3 4 5 dvrunz KDivRingOpsUZ
9 7 8 syl KFldUZ
10 1 2 3 4 divrngidl KDivRingOpsIdlK=ZX
11 7 10 syl KFldIdlK=ZX
12 6 9 11 3jca KFldKCRingOpsUZIdlK=ZX
13 crngorngo KCRingOpsKRingOps
14 13 3ad2ant1 KCRingOpsUZIdlK=ZXKRingOps
15 simp2 KCRingOpsUZIdlK=ZXUZ
16 1 rneqi ranG=ran1stK
17 3 16 eqtri X=ran1stK
18 17 2 5 rngo1cl KRingOpsUX
19 13 18 syl KCRingOpsUX
20 19 ad2antrr KCRingOpsIdlK=ZXxXZUX
21 eldif xXZxX¬xZ
22 snssi xXxX
23 1 3 igenss KRingOpsxXxKIdlGenx
24 22 23 sylan2 KRingOpsxXxKIdlGenx
25 vex xV
26 25 snss xKIdlGenxxKIdlGenx
27 26 biimpri xKIdlGenxxKIdlGenx
28 eleq2 KIdlGenx=ZxKIdlGenxxZ
29 27 28 syl5ibcom xKIdlGenxKIdlGenx=ZxZ
30 29 con3dimp xKIdlGenx¬xZ¬KIdlGenx=Z
31 24 30 sylan KRingOpsxX¬xZ¬KIdlGenx=Z
32 31 anasss KRingOpsxX¬xZ¬KIdlGenx=Z
33 21 32 sylan2b KRingOpsxXZ¬KIdlGenx=Z
34 33 adantlr KRingOpsIdlK=ZXxXZ¬KIdlGenx=Z
35 eldifi xXZxX
36 35 snssd xXZxX
37 1 3 igenidl KRingOpsxXKIdlGenxIdlK
38 36 37 sylan2 KRingOpsxXZKIdlGenxIdlK
39 eleq2 IdlK=ZXKIdlGenxIdlKKIdlGenxZX
40 38 39 syl5ibcom KRingOpsxXZIdlK=ZXKIdlGenxZX
41 40 imp KRingOpsxXZIdlK=ZXKIdlGenxZX
42 41 an32s KRingOpsIdlK=ZXxXZKIdlGenxZX
43 ovex KIdlGenxV
44 43 elpr KIdlGenxZXKIdlGenx=ZKIdlGenx=X
45 42 44 sylib KRingOpsIdlK=ZXxXZKIdlGenx=ZKIdlGenx=X
46 45 ord KRingOpsIdlK=ZXxXZ¬KIdlGenx=ZKIdlGenx=X
47 34 46 mpd KRingOpsIdlK=ZXxXZKIdlGenx=X
48 13 47 sylanl1 KCRingOpsIdlK=ZXxXZKIdlGenx=X
49 1 2 3 prnc KCRingOpsxXKIdlGenx=zX|yXz=yHx
50 35 49 sylan2 KCRingOpsxXZKIdlGenx=zX|yXz=yHx
51 50 adantlr KCRingOpsIdlK=ZXxXZKIdlGenx=zX|yXz=yHx
52 48 51 eqtr3d KCRingOpsIdlK=ZXxXZX=zX|yXz=yHx
53 20 52 eleqtrd KCRingOpsIdlK=ZXxXZUzX|yXz=yHx
54 eqeq1 z=Uz=yHxU=yHx
55 54 rexbidv z=UyXz=yHxyXU=yHx
56 55 elrab UzX|yXz=yHxUXyXU=yHx
57 53 56 sylib KCRingOpsIdlK=ZXxXZUXyXU=yHx
58 57 simprd KCRingOpsIdlK=ZXxXZyXU=yHx
59 eqcom yHx=UU=yHx
60 59 rexbii yXyHx=UyXU=yHx
61 58 60 sylibr KCRingOpsIdlK=ZXxXZyXyHx=U
62 61 ralrimiva KCRingOpsIdlK=ZXxXZyXyHx=U
63 62 3adant2 KCRingOpsUZIdlK=ZXxXZyXyHx=U
64 14 15 63 jca32 KCRingOpsUZIdlK=ZXKRingOpsUZxXZyXyHx=U
65 1 2 4 3 5 isdrngo3 KDivRingOpsKRingOpsUZxXZyXyHx=U
66 64 65 sylibr KCRingOpsUZIdlK=ZXKDivRingOps
67 simp1 KCRingOpsUZIdlK=ZXKCRingOps
68 isfld2 KFldKDivRingOpsKCRingOps
69 66 67 68 sylanbrc KCRingOpsUZIdlK=ZXKFld
70 12 69 impbii KFldKCRingOpsUZIdlK=ZX