MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  gzrngunit Structured version   Unicode version

Theorem gzrngunit 16769
Description: The units on  ZZ [
_i ] are the gaussian integers with norm  1. (Contributed by Mario Carneiro, 4-Dec-2014.)
Hypothesis
Ref Expression
gzrng.1  |-  Z  =  (flds  ZZ [ _i ] )
Assertion
Ref Expression
gzrngunit  |-  ( A  e.  (Unit `  Z
)  <->  ( A  e.  ZZ [ _i ]  /\  ( abs `  A
)  =  1 ) )

Proof of Theorem gzrngunit
StepHypRef Expression
1 gzsubrg 16758 . . . . 5  |-  ZZ [
_i ]  e.  (SubRing ` fld )
2 gzrng.1 . . . . . 6  |-  Z  =  (flds  ZZ [ _i ] )
32subrgbas 15882 . . . . 5  |-  ( ZZ [ _i ]  e.  (SubRing ` fld )  ->  ZZ [ _i ]  =  ( Base `  Z ) )
41, 3ax-mp 5 . . . 4  |-  ZZ [
_i ]  =  (
Base `  Z )
5 eqid 2438 . . . 4  |-  (Unit `  Z )  =  (Unit `  Z )
64, 5unitcl 15769 . . 3  |-  ( A  e.  (Unit `  Z
)  ->  A  e.  ZZ [ _i ] )
7 eqid 2438 . . . . . . . . . . . 12  |-  ( invr ` fld )  =  ( invr ` fld )
8 eqid 2438 . . . . . . . . . . . 12  |-  ( invr `  Z )  =  (
invr `  Z )
92, 7, 5, 8subrginv 15889 . . . . . . . . . . 11  |-  ( ( ZZ [ _i ]  e.  (SubRing ` fld )  /\  A  e.  (Unit `  Z )
)  ->  ( ( invr ` fld ) `  A )  =  ( ( invr `  Z ) `  A
) )
101, 9mpan 653 . . . . . . . . . 10  |-  ( A  e.  (Unit `  Z
)  ->  ( ( invr ` fld ) `  A )  =  ( ( invr `  Z ) `  A
) )
11 gzcn 13305 . . . . . . . . . . . 12  |-  ( A  e.  ZZ [ _i ]  ->  A  e.  CC )
126, 11syl 16 . . . . . . . . . . 11  |-  ( A  e.  (Unit `  Z
)  ->  A  e.  CC )
13 0re 9096 . . . . . . . . . . . . . . 15  |-  0  e.  RR
1413a1i 11 . . . . . . . . . . . . . 14  |-  ( A  e.  (Unit `  Z
)  ->  0  e.  RR )
15 1re 9095 . . . . . . . . . . . . . . 15  |-  1  e.  RR
1615a1i 11 . . . . . . . . . . . . . 14  |-  ( A  e.  (Unit `  Z
)  ->  1  e.  RR )
1712abscld 12243 . . . . . . . . . . . . . 14  |-  ( A  e.  (Unit `  Z
)  ->  ( abs `  A )  e.  RR )
18 0lt1 9555 . . . . . . . . . . . . . . 15  |-  0  <  1
1918a1i 11 . . . . . . . . . . . . . 14  |-  ( A  e.  (Unit `  Z
)  ->  0  <  1 )
202gzrngunitlem 16768 . . . . . . . . . . . . . 14  |-  ( A  e.  (Unit `  Z
)  ->  1  <_  ( abs `  A ) )
2114, 16, 17, 19, 20ltletrd 9235 . . . . . . . . . . . . 13  |-  ( A  e.  (Unit `  Z
)  ->  0  <  ( abs `  A ) )
2221gt0ne0d 9596 . . . . . . . . . . . 12  |-  ( A  e.  (Unit `  Z
)  ->  ( abs `  A )  =/=  0
)
2312abs00ad 12100 . . . . . . . . . . . . 13  |-  ( A  e.  (Unit `  Z
)  ->  ( ( abs `  A )  =  0  <->  A  =  0
) )
2423necon3bid 2638 . . . . . . . . . . . 12  |-  ( A  e.  (Unit `  Z
)  ->  ( ( abs `  A )  =/=  0  <->  A  =/=  0
) )
2522, 24mpbid 203 . . . . . . . . . . 11  |-  ( A  e.  (Unit `  Z
)  ->  A  =/=  0 )
26 cnfldinv 16737 . . . . . . . . . . 11  |-  ( ( A  e.  CC  /\  A  =/=  0 )  -> 
( ( invr ` fld ) `  A )  =  ( 1  /  A ) )
2712, 25, 26syl2anc 644 . . . . . . . . . 10  |-  ( A  e.  (Unit `  Z
)  ->  ( ( invr ` fld ) `  A )  =  ( 1  /  A ) )
2810, 27eqtr3d 2472 . . . . . . . . 9  |-  ( A  e.  (Unit `  Z
)  ->  ( ( invr `  Z ) `  A )  =  ( 1  /  A ) )
292subrgrng 15876 . . . . . . . . . . 11  |-  ( ZZ [ _i ]  e.  (SubRing ` fld )  ->  Z  e.  Ring )
301, 29ax-mp 5 . . . . . . . . . 10  |-  Z  e. 
Ring
315, 8unitinvcl 15784 . . . . . . . . . 10  |-  ( ( Z  e.  Ring  /\  A  e.  (Unit `  Z )
)  ->  ( ( invr `  Z ) `  A )  e.  (Unit `  Z ) )
3230, 31mpan 653 . . . . . . . . 9  |-  ( A  e.  (Unit `  Z
)  ->  ( ( invr `  Z ) `  A )  e.  (Unit `  Z ) )
3328, 32eqeltrrd 2513 . . . . . . . 8  |-  ( A  e.  (Unit `  Z
)  ->  ( 1  /  A )  e.  (Unit `  Z )
)
342gzrngunitlem 16768 . . . . . . . 8  |-  ( ( 1  /  A )  e.  (Unit `  Z
)  ->  1  <_  ( abs `  ( 1  /  A ) ) )
3533, 34syl 16 . . . . . . 7  |-  ( A  e.  (Unit `  Z
)  ->  1  <_  ( abs `  ( 1  /  A ) ) )
36 ax-1cn 9053 . . . . . . . . 9  |-  1  e.  CC
3736a1i 11 . . . . . . . 8  |-  ( A  e.  (Unit `  Z
)  ->  1  e.  CC )
3837, 12, 25absdivd 12262 . . . . . . 7  |-  ( A  e.  (Unit `  Z
)  ->  ( abs `  ( 1  /  A
) )  =  ( ( abs `  1
)  /  ( abs `  A ) ) )
3935, 38breqtrd 4239 . . . . . 6  |-  ( A  e.  (Unit `  Z
)  ->  1  <_  ( ( abs `  1
)  /  ( abs `  A ) ) )
4036div1i 9747 . . . . . 6  |-  ( 1  /  1 )  =  1
41 abs1 12107 . . . . . . . 8  |-  ( abs `  1 )  =  1
4241eqcomi 2442 . . . . . . 7  |-  1  =  ( abs `  1
)
4342oveq1i 6094 . . . . . 6  |-  ( 1  /  ( abs `  A
) )  =  ( ( abs `  1
)  /  ( abs `  A ) )
4439, 40, 433brtr4g 4247 . . . . 5  |-  ( A  e.  (Unit `  Z
)  ->  ( 1  /  1 )  <_ 
( 1  /  ( abs `  A ) ) )
45 lerec 9897 . . . . . 6  |-  ( ( ( ( abs `  A
)  e.  RR  /\  0  <  ( abs `  A
) )  /\  (
1  e.  RR  /\  0  <  1 ) )  ->  ( ( abs `  A )  <_  1  <->  ( 1  /  1 )  <_  ( 1  / 
( abs `  A
) ) ) )
4617, 21, 16, 19, 45syl22anc 1186 . . . . 5  |-  ( A  e.  (Unit `  Z
)  ->  ( ( abs `  A )  <_ 
1  <->  ( 1  / 
1 )  <_  (
1  /  ( abs `  A ) ) ) )
4744, 46mpbird 225 . . . 4  |-  ( A  e.  (Unit `  Z
)  ->  ( abs `  A )  <_  1
)
48 letri3 9165 . . . . 5  |-  ( ( ( abs `  A
)  e.  RR  /\  1  e.  RR )  ->  ( ( abs `  A
)  =  1  <->  (
( abs `  A
)  <_  1  /\  1  <_  ( abs `  A
) ) ) )
4917, 15, 48sylancl 645 . . . 4  |-  ( A  e.  (Unit `  Z
)  ->  ( ( abs `  A )  =  1  <->  ( ( abs `  A )  <_  1  /\  1  <_  ( abs `  A ) ) ) )
5047, 20, 49mpbir2and 890 . . 3  |-  ( A  e.  (Unit `  Z
)  ->  ( abs `  A )  =  1 )
516, 50jca 520 . 2  |-  ( A  e.  (Unit `  Z
)  ->  ( A  e.  ZZ [ _i ]  /\  ( abs `  A
)  =  1 ) )
5211adantr 453 . . . 4  |-  ( ( A  e.  ZZ [
_i ]  /\  ( abs `  A )  =  1 )  ->  A  e.  CC )
53 simpr 449 . . . . . 6  |-  ( ( A  e.  ZZ [
_i ]  /\  ( abs `  A )  =  1 )  ->  ( abs `  A )  =  1 )
54 ax-1ne0 9064 . . . . . . 7  |-  1  =/=  0
5554a1i 11 . . . . . 6  |-  ( ( A  e.  ZZ [
_i ]  /\  ( abs `  A )  =  1 )  ->  1  =/=  0 )
5653, 55eqnetrd 2621 . . . . 5  |-  ( ( A  e.  ZZ [
_i ]  /\  ( abs `  A )  =  1 )  ->  ( abs `  A )  =/=  0 )
57 fveq2 5731 . . . . . . 7  |-  ( A  =  0  ->  ( abs `  A )  =  ( abs `  0
) )
58 abs0 12095 . . . . . . 7  |-  ( abs `  0 )  =  0
5957, 58syl6eq 2486 . . . . . 6  |-  ( A  =  0  ->  ( abs `  A )  =  0 )
6059necon3i 2645 . . . . 5  |-  ( ( abs `  A )  =/=  0  ->  A  =/=  0 )
6156, 60syl 16 . . . 4  |-  ( ( A  e.  ZZ [
_i ]  /\  ( abs `  A )  =  1 )  ->  A  =/=  0 )
62 eldifsn 3929 . . . 4  |-  ( A  e.  ( CC  \  { 0 } )  <-> 
( A  e.  CC  /\  A  =/=  0 ) )
6352, 61, 62sylanbrc 647 . . 3  |-  ( ( A  e.  ZZ [
_i ]  /\  ( abs `  A )  =  1 )  ->  A  e.  ( CC  \  {
0 } ) )
64 simpl 445 . . 3  |-  ( ( A  e.  ZZ [
_i ]  /\  ( abs `  A )  =  1 )  ->  A  e.  ZZ [ _i ]
)
6552, 61, 26syl2anc 644 . . . . 5  |-  ( ( A  e.  ZZ [
_i ]  /\  ( abs `  A )  =  1 )  ->  (
( invr ` fld ) `  A )  =  ( 1  /  A ) )
6652absvalsqd 12249 . . . . . . 7  |-  ( ( A  e.  ZZ [
_i ]  /\  ( abs `  A )  =  1 )  ->  (
( abs `  A
) ^ 2 )  =  ( A  x.  ( * `  A
) ) )
6753oveq1d 6099 . . . . . . . 8  |-  ( ( A  e.  ZZ [
_i ]  /\  ( abs `  A )  =  1 )  ->  (
( abs `  A
) ^ 2 )  =  ( 1 ^ 2 ) )
68 sq1 11481 . . . . . . . 8  |-  ( 1 ^ 2 )  =  1
6967, 68syl6eq 2486 . . . . . . 7  |-  ( ( A  e.  ZZ [
_i ]  /\  ( abs `  A )  =  1 )  ->  (
( abs `  A
) ^ 2 )  =  1 )
7066, 69eqtr3d 2472 . . . . . 6  |-  ( ( A  e.  ZZ [
_i ]  /\  ( abs `  A )  =  1 )  ->  ( A  x.  ( * `  A ) )  =  1 )
7170oveq1d 6099 . . . . 5  |-  ( ( A  e.  ZZ [
_i ]  /\  ( abs `  A )  =  1 )  ->  (
( A  x.  (
* `  A )
)  /  A )  =  ( 1  /  A ) )
7252cjcld 12006 . . . . . 6  |-  ( ( A  e.  ZZ [
_i ]  /\  ( abs `  A )  =  1 )  ->  (
* `  A )  e.  CC )
7372, 52, 61divcan3d 9800 . . . . 5  |-  ( ( A  e.  ZZ [
_i ]  /\  ( abs `  A )  =  1 )  ->  (
( A  x.  (
* `  A )
)  /  A )  =  ( * `  A ) )
7465, 71, 733eqtr2d 2476 . . . 4  |-  ( ( A  e.  ZZ [
_i ]  /\  ( abs `  A )  =  1 )  ->  (
( invr ` fld ) `  A )  =  ( * `  A ) )
75 gzcjcl 13309 . . . . 5  |-  ( A  e.  ZZ [ _i ]  ->  ( * `  A )  e.  ZZ [ _i ] )
7675adantr 453 . . . 4  |-  ( ( A  e.  ZZ [
_i ]  /\  ( abs `  A )  =  1 )  ->  (
* `  A )  e.  ZZ [ _i ]
)
7774, 76eqeltrd 2512 . . 3  |-  ( ( A  e.  ZZ [
_i ]  /\  ( abs `  A )  =  1 )  ->  (
( invr ` fld ) `  A )  e.  ZZ [ _i ] )
78 cnfldbas 16712 . . . . . 6  |-  CC  =  ( Base ` fld )
79 cnfld0 16730 . . . . . 6  |-  0  =  ( 0g ` fld )
80 cndrng 16735 . . . . . 6  |-fld  e.  DivRing
8178, 79, 80drngui 15846 . . . . 5  |-  ( CC 
\  { 0 } )  =  (Unit ` fld )
822, 81, 5, 7subrgunit 15891 . . . 4  |-  ( ZZ [ _i ]  e.  (SubRing ` fld )  ->  ( A  e.  (Unit `  Z )  <->  ( A  e.  ( CC 
\  { 0 } )  /\  A  e.  ZZ [ _i ]  /\  ( ( invr ` fld ) `  A )  e.  ZZ [ _i ] ) ) )
831, 82ax-mp 5 . . 3  |-  ( A  e.  (Unit `  Z
)  <->  ( A  e.  ( CC  \  {
0 } )  /\  A  e.  ZZ [ _i ]  /\  ( ( invr ` fld ) `  A )  e.  ZZ [ _i ]
) )
8463, 64, 77, 83syl3anbrc 1139 . 2  |-  ( ( A  e.  ZZ [
_i ]  /\  ( abs `  A )  =  1 )  ->  A  e.  (Unit `  Z )
)
8551, 84impbii 182 1  |-  ( A  e.  (Unit `  Z
)  <->  ( A  e.  ZZ [ _i ]  /\  ( abs `  A
)  =  1 ) )
Colors of variables: wff set class
Syntax hints:    <-> wb 178    /\ wa 360    /\ w3a 937    = wceq 1653    e. wcel 1726    =/= wne 2601    \ cdif 3319   {csn 3816   class class class wbr 4215   ` cfv 5457  (class class class)co 6084   CCcc 8993   RRcr 8994   0cc0 8995   1c1 8996    x. cmul 9000    < clt 9125    <_ cle 9126    / cdiv 9682   2c2 10054   ^cexp 11387   *ccj 11906   abscabs 12044   ZZ [ _i ]cgz 13302   Basecbs 13474   ↾s cress 13475   Ringcrg 15665  Unitcui 15749   invrcinvr 15781  SubRingcsubrg 15869  ℂfldccnfld 16708
This theorem is referenced by:  zrngunit  16770
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1556  ax-5 1567  ax-17 1627  ax-9 1667  ax-8 1688  ax-13 1728  ax-14 1730  ax-6 1745  ax-7 1750  ax-11 1762  ax-12 1951  ax-ext 2419  ax-rep 4323  ax-sep 4333  ax-nul 4341  ax-pow 4380  ax-pr 4406  ax-un 4704  ax-cnex 9051  ax-resscn 9052  ax-1cn 9053  ax-icn 9054  ax-addcl 9055  ax-addrcl 9056  ax-mulcl 9057  ax-mulrcl 9058  ax-mulcom 9059  ax-addass 9060  ax-mulass 9061  ax-distr 9062  ax-i2m1 9063  ax-1ne0 9064  ax-1rid 9065  ax-rnegex 9066  ax-rrecex 9067  ax-cnre 9068  ax-pre-lttri 9069  ax-pre-lttrn 9070  ax-pre-ltadd 9071  ax-pre-mulgt0 9072  ax-pre-sup 9073  ax-addf 9074  ax-mulf 9075
This theorem depends on definitions:  df-bi 179  df-or 361  df-an 362  df-3or 938  df-3an 939  df-tru 1329  df-ex 1552  df-nf 1555  df-sb 1660  df-eu 2287  df-mo 2288  df-clab 2425  df-cleq 2431  df-clel 2434  df-nfc 2563  df-ne 2603  df-nel 2604  df-ral 2712  df-rex 2713  df-reu 2714  df-rmo 2715  df-rab 2716  df-v 2960  df-sbc 3164  df-csb 3254  df-dif 3325  df-un 3327  df-in 3329  df-ss 3336  df-pss 3338  df-nul 3631  df-if 3742  df-pw 3803  df-sn 3822  df-pr 3823  df-tp 3824  df-op 3825  df-uni 4018  df-int 4053  df-iun 4097  df-br 4216  df-opab 4270  df-mpt 4271  df-tr 4306  df-eprel 4497  df-id 4501  df-po 4506  df-so 4507  df-fr 4544  df-we 4546  df-ord 4587  df-on 4588  df-lim 4589  df-suc 4590  df-om 4849  df-xp 4887  df-rel 4888  df-cnv 4889  df-co 4890  df-dm 4891  df-rn 4892  df-res 4893  df-ima 4894  df-iota 5421  df-fun 5459  df-fn 5460  df-f 5461  df-f1 5462  df-fo 5463  df-f1o 5464  df-fv 5465  df-ov 6087  df-oprab 6088  df-mpt2 6089  df-1st 6352  df-2nd 6353  df-tpos 6482  df-riota 6552  df-recs 6636  df-rdg 6671  df-1o 6727  df-oadd 6731  df-er 6908  df-en 7113  df-dom 7114  df-sdom 7115  df-fin 7116  df-sup 7449  df-pnf 9127  df-mnf 9128  df-xr 9129  df-ltxr 9130  df-le 9131  df-sub 9298  df-neg 9299  df-div 9683  df-nn 10006  df-2 10063  df-3 10064  df-4 10065  df-5 10066  df-6 10067  df-7 10068  df-8 10069  df-9 10070  df-10 10071  df-n0 10227  df-z 10288  df-dec 10388  df-uz 10494  df-rp 10618  df-fz 11049  df-seq 11329  df-exp 11388  df-cj 11909  df-re 11910  df-im 11911  df-sqr 12045  df-abs 12046  df-gz 13303  df-struct 13476  df-ndx 13477  df-slot 13478  df-base 13479  df-sets 13480  df-ress 13481  df-plusg 13547  df-mulr 13548  df-starv 13549  df-tset 13553  df-ple 13554  df-ds 13556  df-unif 13557  df-0g 13732  df-mnd 14695  df-grp 14817  df-minusg 14818  df-subg 14946  df-cmn 15419  df-mgp 15654  df-rng 15668  df-cring 15669  df-ur 15670  df-oppr 15733  df-dvdsr 15751  df-unit 15752  df-invr 15782  df-dvr 15793  df-drng 15842  df-subrg 15871  df-cnfld 16709
  Copyright terms: Public domain W3C validator