This is an inofficial mirror of http://metamath.tirix.org for personal testing of a visualizer extension only.
Description: A ring is a division ring if and only if it admits exactly two ideals. (Proposed by Gerard Lang, 13-Mar-2025.) (Contributed by Thierry Arnoux, 13-Mar-2025)
| Ref | Expression | ||
|---|---|---|---|
| Hypothesis | drngidlhash.u | |- U = ( LIdeal ` R ) |
|
| Assertion | drngidlhash | |- ( R e. Ring -> ( R e. DivRing <-> ( # ` U ) = 2 ) ) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | drngidlhash.u | |- U = ( LIdeal ` R ) |
|
| 2 | eqid | |- ( Base ` R ) = ( Base ` R ) |
|
| 3 | eqid | |- ( 0g ` R ) = ( 0g ` R ) |
|
| 4 | 2 3 1 | drngnidl | |- ( R e. DivRing -> U = { { ( 0g ` R ) } , ( Base ` R ) } ) |
| 5 | 4 | fveq2d | |- ( R e. DivRing -> ( # ` U ) = ( # ` { { ( 0g ` R ) } , ( Base ` R ) } ) ) |
| 6 | drngnzr | |- ( R e. DivRing -> R e. NzRing ) |
|
| 7 | nzrring | |- ( R e. NzRing -> R e. Ring ) |
|
| 8 | eqid | |- ( 1r ` R ) = ( 1r ` R ) |
|
| 9 | 2 8 | ringidcl | |- ( R e. Ring -> ( 1r ` R ) e. ( Base ` R ) ) |
| 10 | 7 9 | syl | |- ( R e. NzRing -> ( 1r ` R ) e. ( Base ` R ) ) |
| 11 | 8 3 | nzrnz | |- ( R e. NzRing -> ( 1r ` R ) =/= ( 0g ` R ) ) |
| 12 | nelsn | |- ( ( 1r ` R ) =/= ( 0g ` R ) -> -. ( 1r ` R ) e. { ( 0g ` R ) } ) |
|
| 13 | 11 12 | syl | |- ( R e. NzRing -> -. ( 1r ` R ) e. { ( 0g ` R ) } ) |
| 14 | nelne1 | |- ( ( ( 1r ` R ) e. ( Base ` R ) /\ -. ( 1r ` R ) e. { ( 0g ` R ) } ) -> ( Base ` R ) =/= { ( 0g ` R ) } ) |
|
| 15 | 10 13 14 | syl2anc | |- ( R e. NzRing -> ( Base ` R ) =/= { ( 0g ` R ) } ) |
| 16 | 15 | necomd | |- ( R e. NzRing -> { ( 0g ` R ) } =/= ( Base ` R ) ) |
| 17 | 6 16 | syl | |- ( R e. DivRing -> { ( 0g ` R ) } =/= ( Base ` R ) ) |
| 18 | snex | |- { ( 0g ` R ) } e. _V |
|
| 19 | fvex | |- ( Base ` R ) e. _V |
|
| 20 | hashprg | |- ( ( { ( 0g ` R ) } e. _V /\ ( Base ` R ) e. _V ) -> ( { ( 0g ` R ) } =/= ( Base ` R ) <-> ( # ` { { ( 0g ` R ) } , ( Base ` R ) } ) = 2 ) ) |
|
| 21 | 18 19 20 | mp2an | |- ( { ( 0g ` R ) } =/= ( Base ` R ) <-> ( # ` { { ( 0g ` R ) } , ( Base ` R ) } ) = 2 ) |
| 22 | 17 21 | sylib | |- ( R e. DivRing -> ( # ` { { ( 0g ` R ) } , ( Base ` R ) } ) = 2 ) |
| 23 | 5 22 | eqtrd | |- ( R e. DivRing -> ( # ` U ) = 2 ) |
| 24 | 23 | adantl | |- ( ( R e. Ring /\ R e. DivRing ) -> ( # ` U ) = 2 ) |
| 25 | simpl | |- ( ( R e. Ring /\ ( # ` U ) = 2 ) -> R e. Ring ) |
|
| 26 | simplr | |- ( ( ( R e. Ring /\ ( # ` U ) = 2 ) /\ { ( 0g ` R ) } = ( Base ` R ) ) -> ( # ` U ) = 2 ) |
|
| 27 | 2re | |- 2 e. RR |
|
| 28 | 26 27 | eqeltrdi | |- ( ( ( R e. Ring /\ ( # ` U ) = 2 ) /\ { ( 0g ` R ) } = ( Base ` R ) ) -> ( # ` U ) e. RR ) |
| 29 | simpl | |- ( ( R e. Ring /\ { ( 0g ` R ) } = ( Base ` R ) ) -> R e. Ring ) |
|
| 30 | simpr | |- ( ( R e. Ring /\ { ( 0g ` R ) } = ( Base ` R ) ) -> { ( 0g ` R ) } = ( Base ` R ) ) |
|
| 31 | 30 | fveq2d | |- ( ( R e. Ring /\ { ( 0g ` R ) } = ( Base ` R ) ) -> ( # ` { ( 0g ` R ) } ) = ( # ` ( Base ` R ) ) ) |
| 32 | fvex | |- ( 0g ` R ) e. _V |
|
| 33 | hashsng | |- ( ( 0g ` R ) e. _V -> ( # ` { ( 0g ` R ) } ) = 1 ) |
|
| 34 | 32 33 | ax-mp | |- ( # ` { ( 0g ` R ) } ) = 1 |
| 35 | 31 34 | eqtr3di | |- ( ( R e. Ring /\ { ( 0g ` R ) } = ( Base ` R ) ) -> ( # ` ( Base ` R ) ) = 1 ) |
| 36 | 2 3 | 0ringidl | |- ( ( R e. Ring /\ ( # ` ( Base ` R ) ) = 1 ) -> ( LIdeal ` R ) = { { ( 0g ` R ) } } ) |
| 37 | 29 35 36 | syl2anc | |- ( ( R e. Ring /\ { ( 0g ` R ) } = ( Base ` R ) ) -> ( LIdeal ` R ) = { { ( 0g ` R ) } } ) |
| 38 | 1 37 | eqtrid | |- ( ( R e. Ring /\ { ( 0g ` R ) } = ( Base ` R ) ) -> U = { { ( 0g ` R ) } } ) |
| 39 | 38 | fveq2d | |- ( ( R e. Ring /\ { ( 0g ` R ) } = ( Base ` R ) ) -> ( # ` U ) = ( # ` { { ( 0g ` R ) } } ) ) |
| 40 | hashsng | |- ( { ( 0g ` R ) } e. _V -> ( # ` { { ( 0g ` R ) } } ) = 1 ) |
|
| 41 | 18 40 | ax-mp | |- ( # ` { { ( 0g ` R ) } } ) = 1 |
| 42 | 39 41 | eqtrdi | |- ( ( R e. Ring /\ { ( 0g ` R ) } = ( Base ` R ) ) -> ( # ` U ) = 1 ) |
| 43 | 42 | adantlr | |- ( ( ( R e. Ring /\ ( # ` U ) = 2 ) /\ { ( 0g ` R ) } = ( Base ` R ) ) -> ( # ` U ) = 1 ) |
| 44 | 1lt2 | |- 1 < 2 |
|
| 45 | 43 44 | eqbrtrdi | |- ( ( ( R e. Ring /\ ( # ` U ) = 2 ) /\ { ( 0g ` R ) } = ( Base ` R ) ) -> ( # ` U ) < 2 ) |
| 46 | 28 45 | ltned | |- ( ( ( R e. Ring /\ ( # ` U ) = 2 ) /\ { ( 0g ` R ) } = ( Base ` R ) ) -> ( # ` U ) =/= 2 ) |
| 47 | 46 | neneqd | |- ( ( ( R e. Ring /\ ( # ` U ) = 2 ) /\ { ( 0g ` R ) } = ( Base ` R ) ) -> -. ( # ` U ) = 2 ) |
| 48 | 26 47 | pm2.65da | |- ( ( R e. Ring /\ ( # ` U ) = 2 ) -> -. { ( 0g ` R ) } = ( Base ` R ) ) |
| 49 | 48 | neqned | |- ( ( R e. Ring /\ ( # ` U ) = 2 ) -> { ( 0g ` R ) } =/= ( Base ` R ) ) |
| 50 | 2 3 8 | 01eq0ring | |- ( ( R e. Ring /\ ( 0g ` R ) = ( 1r ` R ) ) -> ( Base ` R ) = { ( 0g ` R ) } ) |
| 51 | 50 | eqcomd | |- ( ( R e. Ring /\ ( 0g ` R ) = ( 1r ` R ) ) -> { ( 0g ` R ) } = ( Base ` R ) ) |
| 52 | 51 | ex | |- ( R e. Ring -> ( ( 0g ` R ) = ( 1r ` R ) -> { ( 0g ` R ) } = ( Base ` R ) ) ) |
| 53 | 52 | necon3d | |- ( R e. Ring -> ( { ( 0g ` R ) } =/= ( Base ` R ) -> ( 0g ` R ) =/= ( 1r ` R ) ) ) |
| 54 | 25 49 53 | sylc | |- ( ( R e. Ring /\ ( # ` U ) = 2 ) -> ( 0g ` R ) =/= ( 1r ` R ) ) |
| 55 | 54 | necomd | |- ( ( R e. Ring /\ ( # ` U ) = 2 ) -> ( 1r ` R ) =/= ( 0g ` R ) ) |
| 56 | 8 3 | isnzr | |- ( R e. NzRing <-> ( R e. Ring /\ ( 1r ` R ) =/= ( 0g ` R ) ) ) |
| 57 | 25 55 56 | sylanbrc | |- ( ( R e. Ring /\ ( # ` U ) = 2 ) -> R e. NzRing ) |
| 58 | 1 | fvexi | |- U e. _V |
| 59 | 58 | a1i | |- ( ( R e. Ring /\ ( # ` U ) = 2 ) -> U e. _V ) |
| 60 | simpr | |- ( ( R e. Ring /\ ( # ` U ) = 2 ) -> ( # ` U ) = 2 ) |
|
| 61 | 1 3 | lidl0 | |- ( R e. Ring -> { ( 0g ` R ) } e. U ) |
| 62 | 25 61 | syl | |- ( ( R e. Ring /\ ( # ` U ) = 2 ) -> { ( 0g ` R ) } e. U ) |
| 63 | 1 2 | lidl1 | |- ( R e. Ring -> ( Base ` R ) e. U ) |
| 64 | 25 63 | syl | |- ( ( R e. Ring /\ ( # ` U ) = 2 ) -> ( Base ` R ) e. U ) |
| 65 | hash2prd | |- ( ( U e. _V /\ ( # ` U ) = 2 ) -> ( ( { ( 0g ` R ) } e. U /\ ( Base ` R ) e. U /\ { ( 0g ` R ) } =/= ( Base ` R ) ) -> U = { { ( 0g ` R ) } , ( Base ` R ) } ) ) |
|
| 66 | 65 | imp | |- ( ( ( U e. _V /\ ( # ` U ) = 2 ) /\ ( { ( 0g ` R ) } e. U /\ ( Base ` R ) e. U /\ { ( 0g ` R ) } =/= ( Base ` R ) ) ) -> U = { { ( 0g ` R ) } , ( Base ` R ) } ) |
| 67 | 59 60 62 64 49 66 | syl23anc | |- ( ( R e. Ring /\ ( # ` U ) = 2 ) -> U = { { ( 0g ` R ) } , ( Base ` R ) } ) |
| 68 | 2 3 1 | drngidl | |- ( R e. NzRing -> ( R e. DivRing <-> U = { { ( 0g ` R ) } , ( Base ` R ) } ) ) |
| 69 | 68 | biimpar | |- ( ( R e. NzRing /\ U = { { ( 0g ` R ) } , ( Base ` R ) } ) -> R e. DivRing ) |
| 70 | 57 67 69 | syl2anc | |- ( ( R e. Ring /\ ( # ` U ) = 2 ) -> R e. DivRing ) |
| 71 | 24 70 | impbida | |- ( R e. Ring -> ( R e. DivRing <-> ( # ` U ) = 2 ) ) |