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