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

Theorem gzrngunit 18246
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 18235 . . . . 5  |-  ZZ[_i]  e.  (SubRing ` fld )
2 gzrng.1 . . . . . 6  |-  Z  =  (flds  ZZ[_i] )
32subrgbas 17216 . . . . 5  |-  ( ZZ[_i]  e.  (SubRing ` fld )  ->  ZZ[_i]  =  ( Base `  Z ) )
41, 3ax-mp 5 . . . 4  |-  ZZ[_i]  =  ( Base `  Z )
5 eqid 2462 . . . 4  |-  (Unit `  Z )  =  (Unit `  Z )
64, 5unitcl 17087 . . 3  |-  ( A  e.  (Unit `  Z
)  ->  A  e.  ZZ[_i] )
7 eqid 2462 . . . . . . . . . . . 12  |-  ( invr ` fld )  =  ( invr ` fld )
8 eqid 2462 . . . . . . . . . . . 12  |-  ( invr `  Z )  =  (
invr `  Z )
92, 7, 5, 8subrginv 17223 . . . . . . . . . . 11  |-  ( ( ZZ[_i] 
e.  (SubRing ` fld )  /\  A  e.  (Unit `  Z )
)  ->  ( ( invr ` fld ) `  A )  =  ( ( invr `  Z ) `  A
) )
101, 9mpan 670 . . . . . . . . . 10  |-  ( A  e.  (Unit `  Z
)  ->  ( ( invr ` fld ) `  A )  =  ( ( invr `  Z ) `  A
) )
11 gzcn 14300 . . . . . . . . . . . 12  |-  ( A  e.  ZZ[_i]  ->  A  e.  CC )
126, 11syl 16 . . . . . . . . . . 11  |-  ( A  e.  (Unit `  Z
)  ->  A  e.  CC )
13 0red 9588 . . . . . . . . . . . . . 14  |-  ( A  e.  (Unit `  Z
)  ->  0  e.  RR )
14 1re 9586 . . . . . . . . . . . . . . 15  |-  1  e.  RR
1514a1i 11 . . . . . . . . . . . . . 14  |-  ( A  e.  (Unit `  Z
)  ->  1  e.  RR )
1612abscld 13218 . . . . . . . . . . . . . 14  |-  ( A  e.  (Unit `  Z
)  ->  ( abs `  A )  e.  RR )
17 0lt1 10066 . . . . . . . . . . . . . . 15  |-  0  <  1
1817a1i 11 . . . . . . . . . . . . . 14  |-  ( A  e.  (Unit `  Z
)  ->  0  <  1 )
192gzrngunitlem 18245 . . . . . . . . . . . . . 14  |-  ( A  e.  (Unit `  Z
)  ->  1  <_  ( abs `  A ) )
2013, 15, 16, 18, 19ltletrd 9732 . . . . . . . . . . . . 13  |-  ( A  e.  (Unit `  Z
)  ->  0  <  ( abs `  A ) )
2120gt0ne0d 10108 . . . . . . . . . . . 12  |-  ( A  e.  (Unit `  Z
)  ->  ( abs `  A )  =/=  0
)
2212abs00ad 13075 . . . . . . . . . . . . 13  |-  ( A  e.  (Unit `  Z
)  ->  ( ( abs `  A )  =  0  <->  A  =  0
) )
2322necon3bid 2720 . . . . . . . . . . . 12  |-  ( A  e.  (Unit `  Z
)  ->  ( ( abs `  A )  =/=  0  <->  A  =/=  0
) )
2421, 23mpbid 210 . . . . . . . . . . 11  |-  ( A  e.  (Unit `  Z
)  ->  A  =/=  0 )
25 cnfldinv 18215 . . . . . . . . . . 11  |-  ( ( A  e.  CC  /\  A  =/=  0 )  -> 
( ( invr ` fld ) `  A )  =  ( 1  /  A ) )
2612, 24, 25syl2anc 661 . . . . . . . . . 10  |-  ( A  e.  (Unit `  Z
)  ->  ( ( invr ` fld ) `  A )  =  ( 1  /  A ) )
2710, 26eqtr3d 2505 . . . . . . . . 9  |-  ( A  e.  (Unit `  Z
)  ->  ( ( invr `  Z ) `  A )  =  ( 1  /  A ) )
282subrgrng 17210 . . . . . . . . . . 11  |-  ( ZZ[_i]  e.  (SubRing ` fld )  ->  Z  e.  Ring )
291, 28ax-mp 5 . . . . . . . . . 10  |-  Z  e. 
Ring
305, 8unitinvcl 17102 . . . . . . . . . 10  |-  ( ( Z  e.  Ring  /\  A  e.  (Unit `  Z )
)  ->  ( ( invr `  Z ) `  A )  e.  (Unit `  Z ) )
3129, 30mpan 670 . . . . . . . . 9  |-  ( A  e.  (Unit `  Z
)  ->  ( ( invr `  Z ) `  A )  e.  (Unit `  Z ) )
3227, 31eqeltrrd 2551 . . . . . . . 8  |-  ( A  e.  (Unit `  Z
)  ->  ( 1  /  A )  e.  (Unit `  Z )
)
332gzrngunitlem 18245 . . . . . . . 8  |-  ( ( 1  /  A )  e.  (Unit `  Z
)  ->  1  <_  ( abs `  ( 1  /  A ) ) )
3432, 33syl 16 . . . . . . 7  |-  ( A  e.  (Unit `  Z
)  ->  1  <_  ( abs `  ( 1  /  A ) ) )
35 ax-1cn 9541 . . . . . . . . 9  |-  1  e.  CC
3635a1i 11 . . . . . . . 8  |-  ( A  e.  (Unit `  Z
)  ->  1  e.  CC )
3736, 12, 24absdivd 13237 . . . . . . 7  |-  ( A  e.  (Unit `  Z
)  ->  ( abs `  ( 1  /  A
) )  =  ( ( abs `  1
)  /  ( abs `  A ) ) )
3834, 37breqtrd 4466 . . . . . 6  |-  ( A  e.  (Unit `  Z
)  ->  1  <_  ( ( abs `  1
)  /  ( abs `  A ) ) )
39 1div1e1 10228 . . . . . 6  |-  ( 1  /  1 )  =  1
40 abs1 13082 . . . . . . . 8  |-  ( abs `  1 )  =  1
4140eqcomi 2475 . . . . . . 7  |-  1  =  ( abs `  1
)
4241oveq1i 6287 . . . . . 6  |-  ( 1  /  ( abs `  A
) )  =  ( ( abs `  1
)  /  ( abs `  A ) )
4338, 39, 423brtr4g 4474 . . . . 5  |-  ( A  e.  (Unit `  Z
)  ->  ( 1  /  1 )  <_ 
( 1  /  ( abs `  A ) ) )
44 lerec 10418 . . . . . 6  |-  ( ( ( ( abs `  A
)  e.  RR  /\  0  <  ( abs `  A
) )  /\  (
1  e.  RR  /\  0  <  1 ) )  ->  ( ( abs `  A )  <_  1  <->  ( 1  /  1 )  <_  ( 1  / 
( abs `  A
) ) ) )
4516, 20, 15, 18, 44syl22anc 1224 . . . . 5  |-  ( A  e.  (Unit `  Z
)  ->  ( ( abs `  A )  <_ 
1  <->  ( 1  / 
1 )  <_  (
1  /  ( abs `  A ) ) ) )
4643, 45mpbird 232 . . . 4  |-  ( A  e.  (Unit `  Z
)  ->  ( abs `  A )  <_  1
)
47 letri3 9661 . . . . 5  |-  ( ( ( abs `  A
)  e.  RR  /\  1  e.  RR )  ->  ( ( abs `  A
)  =  1  <->  (
( abs `  A
)  <_  1  /\  1  <_  ( abs `  A
) ) ) )
4816, 14, 47sylancl 662 . . . 4  |-  ( A  e.  (Unit `  Z
)  ->  ( ( abs `  A )  =  1  <->  ( ( abs `  A )  <_  1  /\  1  <_  ( abs `  A ) ) ) )
4946, 19, 48mpbir2and 915 . . 3  |-  ( A  e.  (Unit `  Z
)  ->  ( abs `  A )  =  1 )
506, 49jca 532 . 2  |-  ( A  e.  (Unit `  Z
)  ->  ( A  e.  ZZ[_i]  /\  ( abs `  A
)  =  1 ) )
5111adantr 465 . . . 4  |-  ( ( A  e.  ZZ[_i]  /\  ( abs `  A )  =  1 )  ->  A  e.  CC )
52 simpr 461 . . . . . 6  |-  ( ( A  e.  ZZ[_i]  /\  ( abs `  A )  =  1 )  ->  ( abs `  A )  =  1 )
53 ax-1ne0 9552 . . . . . . 7  |-  1  =/=  0
5453a1i 11 . . . . . 6  |-  ( ( A  e.  ZZ[_i]  /\  ( abs `  A )  =  1 )  ->  1  =/=  0 )
5552, 54eqnetrd 2755 . . . . 5  |-  ( ( A  e.  ZZ[_i]  /\  ( abs `  A )  =  1 )  ->  ( abs `  A )  =/=  0 )
56 fveq2 5859 . . . . . . 7  |-  ( A  =  0  ->  ( abs `  A )  =  ( abs `  0
) )
57 abs0 13070 . . . . . . 7  |-  ( abs `  0 )  =  0
5856, 57syl6eq 2519 . . . . . 6  |-  ( A  =  0  ->  ( abs `  A )  =  0 )
5958necon3i 2702 . . . . 5  |-  ( ( abs `  A )  =/=  0  ->  A  =/=  0 )
6055, 59syl 16 . . . 4  |-  ( ( A  e.  ZZ[_i]  /\  ( abs `  A )  =  1 )  ->  A  =/=  0 )
61 eldifsn 4147 . . . 4  |-  ( A  e.  ( CC  \  { 0 } )  <-> 
( A  e.  CC  /\  A  =/=  0 ) )
6251, 60, 61sylanbrc 664 . . 3  |-  ( ( A  e.  ZZ[_i]  /\  ( abs `  A )  =  1 )  ->  A  e.  ( CC  \  {
0 } ) )
63 simpl 457 . . 3  |-  ( ( A  e.  ZZ[_i]  /\  ( abs `  A )  =  1 )  ->  A  e.  ZZ[_i]
)
6451, 60, 25syl2anc 661 . . . . 5  |-  ( ( A  e.  ZZ[_i]  /\  ( abs `  A )  =  1 )  ->  (
( invr ` fld ) `  A )  =  ( 1  /  A ) )
6551absvalsqd 13224 . . . . . . 7  |-  ( ( A  e.  ZZ[_i]  /\  ( abs `  A )  =  1 )  ->  (
( abs `  A
) ^ 2 )  =  ( A  x.  ( * `  A
) ) )
6652oveq1d 6292 . . . . . . . 8  |-  ( ( A  e.  ZZ[_i]  /\  ( abs `  A )  =  1 )  ->  (
( abs `  A
) ^ 2 )  =  ( 1 ^ 2 ) )
67 sq1 12219 . . . . . . . 8  |-  ( 1 ^ 2 )  =  1
6866, 67syl6eq 2519 . . . . . . 7  |-  ( ( A  e.  ZZ[_i]  /\  ( abs `  A )  =  1 )  ->  (
( abs `  A
) ^ 2 )  =  1 )
6965, 68eqtr3d 2505 . . . . . 6  |-  ( ( A  e.  ZZ[_i]  /\  ( abs `  A )  =  1 )  ->  ( A  x.  ( * `  A ) )  =  1 )
7069oveq1d 6292 . . . . 5  |-  ( ( A  e.  ZZ[_i]  /\  ( abs `  A )  =  1 )  ->  (
( A  x.  (
* `  A )
)  /  A )  =  ( 1  /  A ) )
7151cjcld 12981 . . . . . 6  |-  ( ( A  e.  ZZ[_i]  /\  ( abs `  A )  =  1 )  ->  (
* `  A )  e.  CC )
7271, 51, 60divcan3d 10316 . . . . 5  |-  ( ( A  e.  ZZ[_i]  /\  ( abs `  A )  =  1 )  ->  (
( A  x.  (
* `  A )
)  /  A )  =  ( * `  A ) )
7364, 70, 723eqtr2d 2509 . . . 4  |-  ( ( A  e.  ZZ[_i]  /\  ( abs `  A )  =  1 )  ->  (
( invr ` fld ) `  A )  =  ( * `  A ) )
74 gzcjcl 14304 . . . . 5  |-  ( A  e.  ZZ[_i]  ->  ( * `  A )  e.  ZZ[_i] )
7574adantr 465 . . . 4  |-  ( ( A  e.  ZZ[_i]  /\  ( abs `  A )  =  1 )  ->  (
* `  A )  e.  ZZ[_i]
)
7673, 75eqeltrd 2550 . . 3  |-  ( ( A  e.  ZZ[_i]  /\  ( abs `  A )  =  1 )  ->  (
( invr ` fld ) `  A )  e.  ZZ[_i] )
77 cnfldbas 18190 . . . . . 6  |-  CC  =  ( Base ` fld )
78 cnfld0 18208 . . . . . 6  |-  0  =  ( 0g ` fld )
79 cndrng 18213 . . . . . 6  |-fld  e.  DivRing
8077, 78, 79drngui 17180 . . . . 5  |-  ( CC 
\  { 0 } )  =  (Unit ` fld )
812, 80, 5, 7subrgunit 17225 . . . 4  |-  ( ZZ[_i]  e.  (SubRing ` fld )  ->  ( A  e.  (Unit `  Z )  <->  ( A  e.  ( CC 
\  { 0 } )  /\  A  e.  ZZ[_i]  /\  ( ( invr ` fld ) `  A )  e.  ZZ[_i] ) ) )
821, 81ax-mp 5 . . 3  |-  ( A  e.  (Unit `  Z
)  <->  ( A  e.  ( CC  \  {
0 } )  /\  A  e.  ZZ[_i]  /\  ( (
invr ` fld ) `  A )  e.  ZZ[_i] ) )
8362, 63, 76, 82syl3anbrc 1175 . 2  |-  ( ( A  e.  ZZ[_i]  /\  ( abs `  A )  =  1 )  ->  A  e.  (Unit `  Z )
)
8450, 83impbii 188 1  |-  ( A  e.  (Unit `  Z
)  <->  ( A  e.  ZZ[_i]  /\  ( abs `  A
)  =  1 ) )
Colors of variables: wff setvar class
Syntax hints:    <-> wb 184    /\ wa 369    /\ w3a 968    = wceq 1374    e. wcel 1762    =/= wne 2657    \ cdif 3468   {csn 4022   class class class wbr 4442   ` cfv 5581  (class class class)co 6277   CCcc 9481   RRcr 9482   0cc0 9483   1c1 9484    x. cmul 9488    < clt 9619    <_ cle 9620    / cdiv 10197   2c2 10576   ^cexp 12124   *ccj 12881   abscabs 13019   ZZ[_i]cgz 14297   Basecbs 14481   ↾s cress 14482   Ringcrg 16981  Unitcui 17067   invrcinvr 17099  SubRingcsubrg 17203  ℂfldccnfld 18186
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1596  ax-4 1607  ax-5 1675  ax-6 1714  ax-7 1734  ax-8 1764  ax-9 1766  ax-10 1781  ax-11 1786  ax-12 1798  ax-13 1963  ax-ext 2440  ax-rep 4553  ax-sep 4563  ax-nul 4571  ax-pow 4620  ax-pr 4681  ax-un 6569  ax-cnex 9539  ax-resscn 9540  ax-1cn 9541  ax-icn 9542  ax-addcl 9543  ax-addrcl 9544  ax-mulcl 9545  ax-mulrcl 9546  ax-mulcom 9547  ax-addass 9548  ax-mulass 9549  ax-distr 9550  ax-i2m1 9551  ax-1ne0 9552  ax-1rid 9553  ax-rnegex 9554  ax-rrecex 9555  ax-cnre 9556  ax-pre-lttri 9557  ax-pre-lttrn 9558  ax-pre-ltadd 9559  ax-pre-mulgt0 9560  ax-pre-sup 9561  ax-addf 9562  ax-mulf 9563
This theorem depends on definitions:  df-bi 185  df-or 370  df-an 371  df-3or 969  df-3an 970  df-tru 1377  df-ex 1592  df-nf 1595  df-sb 1707  df-eu 2274  df-mo 2275  df-clab 2448  df-cleq 2454  df-clel 2457  df-nfc 2612  df-ne 2659  df-nel 2660  df-ral 2814  df-rex 2815  df-reu 2816  df-rmo 2817  df-rab 2818  df-v 3110  df-sbc 3327  df-csb 3431  df-dif 3474  df-un 3476  df-in 3478  df-ss 3485  df-pss 3487  df-nul 3781  df-if 3935  df-pw 4007  df-sn 4023  df-pr 4025  df-tp 4027  df-op 4029  df-uni 4241  df-int 4278  df-iun 4322  df-br 4443  df-opab 4501  df-mpt 4502  df-tr 4536  df-eprel 4786  df-id 4790  df-po 4795  df-so 4796  df-fr 4833  df-we 4835  df-ord 4876  df-on 4877  df-lim 4878  df-suc 4879  df-xp 5000  df-rel 5001  df-cnv 5002  df-co 5003  df-dm 5004  df-rn 5005  df-res 5006  df-ima 5007  df-iota 5544  df-fun 5583  df-fn 5584  df-f 5585  df-f1 5586  df-fo 5587  df-f1o 5588  df-fv 5589  df-riota 6238  df-ov 6280  df-oprab 6281  df-mpt2 6282  df-om 6674  df-1st 6776  df-2nd 6777  df-tpos 6947  df-recs 7034  df-rdg 7068  df-1o 7122  df-oadd 7126  df-er 7303  df-en 7509  df-dom 7510  df-sdom 7511  df-fin 7512  df-sup 7892  df-pnf 9621  df-mnf 9622  df-xr 9623  df-ltxr 9624  df-le 9625  df-sub 9798  df-neg 9799  df-div 10198  df-nn 10528  df-2 10585  df-3 10586  df-4 10587  df-5 10588  df-6 10589  df-7 10590  df-8 10591  df-9 10592  df-10 10593  df-n0 10787  df-z 10856  df-dec 10968  df-uz 11074  df-rp 11212  df-fz 11664  df-seq 12066  df-exp 12125  df-cj 12884  df-re 12885  df-im 12886  df-sqr 13020  df-abs 13021  df-gz 14298  df-struct 14483  df-ndx 14484  df-slot 14485  df-base 14486  df-sets 14487  df-ress 14488  df-plusg 14559  df-mulr 14560  df-starv 14561  df-tset 14565  df-ple 14566  df-ds 14568  df-unif 14569  df-0g 14688  df-mnd 15723  df-grp 15853  df-minusg 15854  df-subg 15988  df-cmn 16591  df-mgp 16927  df-ur 16939  df-rng 16983  df-cring 16984  df-oppr 17051  df-dvdsr 17069  df-unit 17070  df-invr 17100  df-dvr 17111  df-drng 17176  df-subrg 17205  df-cnfld 18187
This theorem is referenced by:  zringunit  18282  zrngunit  18283
  Copyright terms: Public domain W3C validator