This is an inofficial mirror of http://metamath.tirix.org for personal testing of a visualizer extension only.
Description: Equivalent characterization of nonzero rings: they have at least two elements. Analogous to isnzr2 . (Contributed by AV, 14-Apr-2019)
| Ref | Expression | ||
|---|---|---|---|
| Hypothesis | isnzr2hash.b | |- B = ( Base ` R ) |
|
| Assertion | isnzr2hash | |- ( R e. NzRing <-> ( R e. Ring /\ 1 < ( # ` B ) ) ) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | isnzr2hash.b | |- B = ( Base ` R ) |
|
| 2 | eqid | |- ( 1r ` R ) = ( 1r ` R ) |
|
| 3 | eqid | |- ( 0g ` R ) = ( 0g ` R ) |
|
| 4 | 2 3 | isnzr | |- ( R e. NzRing <-> ( R e. Ring /\ ( 1r ` R ) =/= ( 0g ` R ) ) ) |
| 5 | 1 2 | ringidcl | |- ( R e. Ring -> ( 1r ` R ) e. B ) |
| 6 | 1 3 | ring0cl | |- ( R e. Ring -> ( 0g ` R ) e. B ) |
| 7 | 1xr | |- 1 e. RR* |
|
| 8 | 7 | a1i | |- ( ( ( ( 1r ` R ) e. B /\ ( 0g ` R ) e. B ) /\ ( 1r ` R ) =/= ( 0g ` R ) ) -> 1 e. RR* ) |
| 9 | prex | |- { ( 1r ` R ) , ( 0g ` R ) } e. _V |
|
| 10 | hashxrcl | |- ( { ( 1r ` R ) , ( 0g ` R ) } e. _V -> ( # ` { ( 1r ` R ) , ( 0g ` R ) } ) e. RR* ) |
|
| 11 | 9 10 | mp1i | |- ( ( ( ( 1r ` R ) e. B /\ ( 0g ` R ) e. B ) /\ ( 1r ` R ) =/= ( 0g ` R ) ) -> ( # ` { ( 1r ` R ) , ( 0g ` R ) } ) e. RR* ) |
| 12 | 1 | fvexi | |- B e. _V |
| 13 | hashxrcl | |- ( B e. _V -> ( # ` B ) e. RR* ) |
|
| 14 | 12 13 | mp1i | |- ( ( ( ( 1r ` R ) e. B /\ ( 0g ` R ) e. B ) /\ ( 1r ` R ) =/= ( 0g ` R ) ) -> ( # ` B ) e. RR* ) |
| 15 | 1lt2 | |- 1 < 2 |
|
| 16 | hashprg | |- ( ( ( 1r ` R ) e. B /\ ( 0g ` R ) e. B ) -> ( ( 1r ` R ) =/= ( 0g ` R ) <-> ( # ` { ( 1r ` R ) , ( 0g ` R ) } ) = 2 ) ) |
|
| 17 | 16 | biimpa | |- ( ( ( ( 1r ` R ) e. B /\ ( 0g ` R ) e. B ) /\ ( 1r ` R ) =/= ( 0g ` R ) ) -> ( # ` { ( 1r ` R ) , ( 0g ` R ) } ) = 2 ) |
| 18 | 15 17 | breqtrrid | |- ( ( ( ( 1r ` R ) e. B /\ ( 0g ` R ) e. B ) /\ ( 1r ` R ) =/= ( 0g ` R ) ) -> 1 < ( # ` { ( 1r ` R ) , ( 0g ` R ) } ) ) |
| 19 | simpl | |- ( ( ( ( 1r ` R ) e. B /\ ( 0g ` R ) e. B ) /\ ( 1r ` R ) =/= ( 0g ` R ) ) -> ( ( 1r ` R ) e. B /\ ( 0g ` R ) e. B ) ) |
|
| 20 | fvex | |- ( 1r ` R ) e. _V |
|
| 21 | fvex | |- ( 0g ` R ) e. _V |
|
| 22 | 20 21 | prss | |- ( ( ( 1r ` R ) e. B /\ ( 0g ` R ) e. B ) <-> { ( 1r ` R ) , ( 0g ` R ) } C_ B ) |
| 23 | 19 22 | sylib | |- ( ( ( ( 1r ` R ) e. B /\ ( 0g ` R ) e. B ) /\ ( 1r ` R ) =/= ( 0g ` R ) ) -> { ( 1r ` R ) , ( 0g ` R ) } C_ B ) |
| 24 | hashss | |- ( ( B e. _V /\ { ( 1r ` R ) , ( 0g ` R ) } C_ B ) -> ( # ` { ( 1r ` R ) , ( 0g ` R ) } ) <_ ( # ` B ) ) |
|
| 25 | 12 23 24 | sylancr | |- ( ( ( ( 1r ` R ) e. B /\ ( 0g ` R ) e. B ) /\ ( 1r ` R ) =/= ( 0g ` R ) ) -> ( # ` { ( 1r ` R ) , ( 0g ` R ) } ) <_ ( # ` B ) ) |
| 26 | 8 11 14 18 25 | xrltletrd | |- ( ( ( ( 1r ` R ) e. B /\ ( 0g ` R ) e. B ) /\ ( 1r ` R ) =/= ( 0g ` R ) ) -> 1 < ( # ` B ) ) |
| 27 | 26 | ex | |- ( ( ( 1r ` R ) e. B /\ ( 0g ` R ) e. B ) -> ( ( 1r ` R ) =/= ( 0g ` R ) -> 1 < ( # ` B ) ) ) |
| 28 | 5 6 27 | syl2anc | |- ( R e. Ring -> ( ( 1r ` R ) =/= ( 0g ` R ) -> 1 < ( # ` B ) ) ) |
| 29 | 28 | imdistani | |- ( ( R e. Ring /\ ( 1r ` R ) =/= ( 0g ` R ) ) -> ( R e. Ring /\ 1 < ( # ` B ) ) ) |
| 30 | simpl | |- ( ( R e. Ring /\ 1 < ( # ` B ) ) -> R e. Ring ) |
|
| 31 | 1 2 3 | ring1ne0 | |- ( ( R e. Ring /\ 1 < ( # ` B ) ) -> ( 1r ` R ) =/= ( 0g ` R ) ) |
| 32 | 30 31 | jca | |- ( ( R e. Ring /\ 1 < ( # ` B ) ) -> ( R e. Ring /\ ( 1r ` R ) =/= ( 0g ` R ) ) ) |
| 33 | 29 32 | impbii | |- ( ( R e. Ring /\ ( 1r ` R ) =/= ( 0g ` R ) ) <-> ( R e. Ring /\ 1 < ( # ` B ) ) ) |
| 34 | 4 33 | bitri | |- ( R e. NzRing <-> ( R e. Ring /\ 1 < ( # ` B ) ) ) |