This is an inofficial mirror of http://metamath.tirix.org for personal testing of a visualizer extension only.
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 | ⊢ 𝑌 = ( ℤ/nℤ ‘ 𝑁 ) | |
| znf1o.b | ⊢ 𝐵 = ( Base ‘ 𝑌 ) | ||
| znf1o.f | ⊢ 𝐹 = ( ( ℤRHom ‘ 𝑌 ) ↾ 𝑊 ) | ||
| znf1o.w | ⊢ 𝑊 = if ( 𝑁 = 0 , ℤ , ( 0 ..^ 𝑁 ) ) | ||
| Assertion | znf1o | ⊢ ( 𝑁 ∈ ℕ0 → 𝐹 : 𝑊 –1-1-onto→ 𝐵 ) |
| 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→ 𝐵 ) |