Metamath Proof Explorer


Theorem znf1o

Description: The function F enumerates all equivalence classes in Z/nZ for each n . When n = 0 , ZZ / 0 ZZ = ZZ / { 0 } ~ZZ so we let W = ZZ ; otherwise W = { 0 , ... , n - 1 } enumerates all the equivalence classes. (Contributed by Mario Carneiro, 15-Jun-2015) (Revised by Mario Carneiro, 2-May-2016) (Revised by AV, 13-Jun-2019)

Ref Expression
Hypotheses znf1o.y Y = /N
znf1o.b B = Base Y
znf1o.f F = ℤRHom Y W
znf1o.w W = if N = 0 0 ..^ N
Assertion znf1o N 0 F : W 1-1 onto B

Proof

Step Hyp Ref Expression
1 znf1o.y Y = /N
2 znf1o.b B = Base Y
3 znf1o.f F = ℤRHom Y W
4 znf1o.w W = if N = 0 0 ..^ N
5 1 zncrng N 0 Y CRing
6 crngring Y CRing Y Ring
7 eqid ℤRHom Y = ℤRHom Y
8 7 zrhrhm Y Ring ℤRHom Y ring RingHom Y
9 zringbas = Base ring
10 9 2 rhmf ℤRHom Y ring RingHom Y ℤRHom Y : B
11 5 6 8 10 4syl N 0 ℤRHom Y : B
12 sseq1 = if N = 0 0 ..^ N if N = 0 0 ..^ N
13 sseq1 0 ..^ N = if N = 0 0 ..^ N 0 ..^ N if N = 0 0 ..^ N
14 ssid
15 elfzoelz x 0 ..^ N x
16 15 ssriv 0 ..^ N
17 12 13 14 16 keephyp if N = 0 0 ..^ N
18 4 17 eqsstri W
19 fssres ℤRHom Y : B W ℤRHom Y W : W B
20 11 18 19 sylancl N 0 ℤRHom Y W : W B
21 3 feq1i F : W B ℤRHom Y W : W B
22 20 21 sylibr N 0 F : W B
23 3 fveq1i F x = ℤRHom Y W x
24 fvres x W ℤRHom Y W x = ℤRHom Y x
25 24 ad2antrl N 0 x W y W ℤRHom Y W x = ℤRHom Y x
26 23 25 eqtrid N 0 x W y W F x = ℤRHom Y x
27 3 fveq1i F y = ℤRHom Y W y
28 fvres y W ℤRHom Y W y = ℤRHom Y y
29 28 ad2antll N 0 x W y W ℤRHom Y W y = ℤRHom Y y
30 27 29 eqtrid N 0 x W y W F y = ℤRHom Y y
31 26 30 eqeq12d N 0 x W y W F x = F y ℤRHom Y x = ℤRHom Y y
32 simpl N 0 x W y W N 0
33 simprl N 0 x W y W x W
34 18 33 sselid N 0 x W y W x
35 simprr N 0 x W y W y W
36 18 35 sselid N 0 x W y W y
37 1 7 zndvds N 0 x y ℤRHom Y x = ℤRHom Y y N x y
38 32 34 36 37 syl3anc N 0 x W y W ℤRHom Y x = ℤRHom Y y N x y
39 elnn0 N 0 N N = 0
40 simpl N x W y W N
41 simprl N x W y W x W
42 18 41 sselid N x W y W x
43 simprr N x W y W y W
44 18 43 sselid N x W y W y
45 moddvds N x y x mod N = y mod N N x y
46 40 42 44 45 syl3anc N x W y W x mod N = y mod N N x y
47 42 zred N x W y W x
48 nnrp N N +
49 48 adantr N x W y W N +
50 nnne0 N N 0
51 ifnefalse N 0 if N = 0 0 ..^ N = 0 ..^ N
52 50 51 syl N if N = 0 0 ..^ N = 0 ..^ N
53 4 52 eqtrid N W = 0 ..^ N
54 53 adantr N x W y W W = 0 ..^ N
55 41 54 eleqtrd N x W y W x 0 ..^ N
56 elfzole1 x 0 ..^ N 0 x
57 55 56 syl N x W y W 0 x
58 elfzolt2 x 0 ..^ N x < N
59 55 58 syl N x W y W x < N
60 modid x N + 0 x x < N x mod N = x
61 47 49 57 59 60 syl22anc N x W y W x mod N = x
62 44 zred N x W y W y
63 43 54 eleqtrd N x W y W y 0 ..^ N
64 elfzole1 y 0 ..^ N 0 y
65 63 64 syl N x W y W 0 y
66 elfzolt2 y 0 ..^ N y < N
67 63 66 syl N x W y W y < N
68 modid y N + 0 y y < N y mod N = y
69 62 49 65 67 68 syl22anc N x W y W y mod N = y
70 61 69 eqeq12d N x W y W x mod N = y mod N x = y
71 46 70 bitr3d N x W y W N x y x = y
72 simpl N = 0 x W y W N = 0
73 72 breq1d N = 0 x W y W N x y 0 x y
74 id N = 0 N = 0
75 0nn0 0 0
76 74 75 eqeltrdi N = 0 N 0
77 76 34 sylan N = 0 x W y W x
78 76 36 sylan N = 0 x W y W y
79 77 78 zsubcld N = 0 x W y W x y
80 0dvds x y 0 x y x y = 0
81 79 80 syl N = 0 x W y W 0 x y x y = 0
82 77 zcnd N = 0 x W y W x
83 78 zcnd N = 0 x W y W y
84 82 83 subeq0ad N = 0 x W y W x y = 0 x = y
85 73 81 84 3bitrd N = 0 x W y W N x y x = y
86 71 85 jaoian N N = 0 x W y W N x y x = y
87 39 86 sylanb N 0 x W y W N x y x = y
88 31 38 87 3bitrd N 0 x W y W F x = F y x = y
89 88 biimpd N 0 x W y W F x = F y x = y
90 89 ralrimivva N 0 x W y W F x = F y x = y
91 dff13 F : W 1-1 B F : W B x W y W F x = F y x = y
92 22 90 91 sylanbrc N 0 F : W 1-1 B
93 zmodfzo z N z mod N 0 ..^ N
94 93 ancoms N z z mod N 0 ..^ N
95 53 adantr N z W = 0 ..^ N
96 94 95 eleqtrrd N z z mod N W
97 zre z z
98 modabs2 z N + z mod N mod N = z mod N
99 97 48 98 syl2anr N z z mod N mod N = z mod N
100 simpl N z N
101 16 94 sselid N z z mod N
102 simpr N z z
103 moddvds N z mod N z z mod N mod N = z mod N N z mod N z
104 100 101 102 103 syl3anc N z z mod N mod N = z mod N N z mod N z
105 99 104 mpbid N z N z mod N z
106 nnnn0 N N 0
107 106 adantr N z N 0
108 1 7 zndvds N 0 z mod N z ℤRHom Y z mod N = ℤRHom Y z N z mod N z
109 107 101 102 108 syl3anc N z ℤRHom Y z mod N = ℤRHom Y z N z mod N z
110 105 109 mpbird N z ℤRHom Y z mod N = ℤRHom Y z
111 110 eqcomd N z ℤRHom Y z = ℤRHom Y z mod N
112 fveq2 y = z mod N ℤRHom Y y = ℤRHom Y z mod N
113 112 rspceeqv z mod N W ℤRHom Y z = ℤRHom Y z mod N y W ℤRHom Y z = ℤRHom Y y
114 96 111 113 syl2anc N z y W ℤRHom Y z = ℤRHom Y y
115 iftrue N = 0 if N = 0 0 ..^ N =
116 115 eleq2d N = 0 z if N = 0 0 ..^ N z
117 116 biimpar N = 0 z z if N = 0 0 ..^ N
118 117 4 eleqtrrdi N = 0 z z W
119 eqidd N = 0 z ℤRHom Y z = ℤRHom Y z
120 fveq2 y = z ℤRHom Y y = ℤRHom Y z
121 120 rspceeqv z W ℤRHom Y z = ℤRHom Y z y W ℤRHom Y z = ℤRHom Y y
122 118 119 121 syl2anc N = 0 z y W ℤRHom Y z = ℤRHom Y y
123 114 122 jaoian N N = 0 z y W ℤRHom Y z = ℤRHom Y y
124 39 123 sylanb N 0 z y W ℤRHom Y z = ℤRHom Y y
125 27 28 eqtrid y W F y = ℤRHom Y y
126 125 eqeq2d y W ℤRHom Y z = F y ℤRHom Y z = ℤRHom Y y
127 126 rexbiia y W ℤRHom Y z = F y y W ℤRHom Y z = ℤRHom Y y
128 124 127 sylibr N 0 z y W ℤRHom Y z = F y
129 128 ralrimiva N 0 z y W ℤRHom Y z = F y
130 1 2 7 znzrhfo N 0 ℤRHom Y : onto B
131 fofn ℤRHom Y : onto B ℤRHom Y Fn
132 eqeq1 x = ℤRHom Y z x = F y ℤRHom Y z = F y
133 132 rexbidv x = ℤRHom Y z y W x = F y y W ℤRHom Y z = F y
134 133 ralrn ℤRHom Y Fn x ran ℤRHom Y y W x = F y z y W ℤRHom Y z = F y
135 130 131 134 3syl N 0 x ran ℤRHom Y y W x = F y z y W ℤRHom Y z = F y
136 129 135 mpbird N 0 x ran ℤRHom Y y W x = F y
137 forn ℤRHom Y : onto B ran ℤRHom Y = B
138 130 137 syl N 0 ran ℤRHom Y = B
139 138 raleqdv N 0 x ran ℤRHom Y y W x = F y x B y W x = F y
140 136 139 mpbid N 0 x B y W x = F y
141 dffo3 F : W onto B F : W B x B y W x = F y
142 22 140 141 sylanbrc N 0 F : W onto B
143 df-f1o F : W 1-1 onto B F : W 1-1 B F : W onto B
144 92 142 143 sylanbrc N 0 F : W 1-1 onto B