This is an inofficial mirror of http://metamath.tirix.org for personal testing of a visualizer extension only.
Description: Lemma for phimul . (Contributed by Mario Carneiro, 24-Feb-2014)
| Ref | Expression | ||
|---|---|---|---|
| Hypotheses | crth.1 | ⊢ 𝑆 = ( 0 ..^ ( 𝑀 · 𝑁 ) ) | |
| crth.2 | ⊢ 𝑇 = ( ( 0 ..^ 𝑀 ) × ( 0 ..^ 𝑁 ) ) | ||
| crth.3 | ⊢ 𝐹 = ( 𝑥 ∈ 𝑆 ↦ 〈 ( 𝑥 mod 𝑀 ) , ( 𝑥 mod 𝑁 ) 〉 ) | ||
| crth.4 | ⊢ ( 𝜑 → ( 𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ ( 𝑀 gcd 𝑁 ) = 1 ) ) | ||
| phimul.4 | ⊢ 𝑈 = { 𝑦 ∈ ( 0 ..^ 𝑀 ) ∣ ( 𝑦 gcd 𝑀 ) = 1 } | ||
| phimul.5 | ⊢ 𝑉 = { 𝑦 ∈ ( 0 ..^ 𝑁 ) ∣ ( 𝑦 gcd 𝑁 ) = 1 } | ||
| phimul.6 | ⊢ 𝑊 = { 𝑦 ∈ 𝑆 ∣ ( 𝑦 gcd ( 𝑀 · 𝑁 ) ) = 1 } | ||
| Assertion | phimullem | ⊢ ( 𝜑 → ( ϕ ‘ ( 𝑀 · 𝑁 ) ) = ( ( ϕ ‘ 𝑀 ) · ( ϕ ‘ 𝑁 ) ) ) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | crth.1 | ⊢ 𝑆 = ( 0 ..^ ( 𝑀 · 𝑁 ) ) | |
| 2 | crth.2 | ⊢ 𝑇 = ( ( 0 ..^ 𝑀 ) × ( 0 ..^ 𝑁 ) ) | |
| 3 | crth.3 | ⊢ 𝐹 = ( 𝑥 ∈ 𝑆 ↦ 〈 ( 𝑥 mod 𝑀 ) , ( 𝑥 mod 𝑁 ) 〉 ) | |
| 4 | crth.4 | ⊢ ( 𝜑 → ( 𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ ( 𝑀 gcd 𝑁 ) = 1 ) ) | |
| 5 | phimul.4 | ⊢ 𝑈 = { 𝑦 ∈ ( 0 ..^ 𝑀 ) ∣ ( 𝑦 gcd 𝑀 ) = 1 } | |
| 6 | phimul.5 | ⊢ 𝑉 = { 𝑦 ∈ ( 0 ..^ 𝑁 ) ∣ ( 𝑦 gcd 𝑁 ) = 1 } | |
| 7 | phimul.6 | ⊢ 𝑊 = { 𝑦 ∈ 𝑆 ∣ ( 𝑦 gcd ( 𝑀 · 𝑁 ) ) = 1 } | |
| 8 | oveq1 | ⊢ ( 𝑦 = 𝑤 → ( 𝑦 gcd ( 𝑀 · 𝑁 ) ) = ( 𝑤 gcd ( 𝑀 · 𝑁 ) ) ) | |
| 9 | 8 | eqeq1d | ⊢ ( 𝑦 = 𝑤 → ( ( 𝑦 gcd ( 𝑀 · 𝑁 ) ) = 1 ↔ ( 𝑤 gcd ( 𝑀 · 𝑁 ) ) = 1 ) ) |
| 10 | 9 7 | elrab2 | ⊢ ( 𝑤 ∈ 𝑊 ↔ ( 𝑤 ∈ 𝑆 ∧ ( 𝑤 gcd ( 𝑀 · 𝑁 ) ) = 1 ) ) |
| 11 | 10 | simplbi | ⊢ ( 𝑤 ∈ 𝑊 → 𝑤 ∈ 𝑆 ) |
| 12 | oveq1 | ⊢ ( 𝑥 = 𝑤 → ( 𝑥 mod 𝑀 ) = ( 𝑤 mod 𝑀 ) ) | |
| 13 | oveq1 | ⊢ ( 𝑥 = 𝑤 → ( 𝑥 mod 𝑁 ) = ( 𝑤 mod 𝑁 ) ) | |
| 14 | 12 13 | opeq12d | ⊢ ( 𝑥 = 𝑤 → 〈 ( 𝑥 mod 𝑀 ) , ( 𝑥 mod 𝑁 ) 〉 = 〈 ( 𝑤 mod 𝑀 ) , ( 𝑤 mod 𝑁 ) 〉 ) |
| 15 | opex | ⊢ 〈 ( 𝑤 mod 𝑀 ) , ( 𝑤 mod 𝑁 ) 〉 ∈ V | |
| 16 | 14 3 15 | fvmpt | ⊢ ( 𝑤 ∈ 𝑆 → ( 𝐹 ‘ 𝑤 ) = 〈 ( 𝑤 mod 𝑀 ) , ( 𝑤 mod 𝑁 ) 〉 ) |
| 17 | 11 16 | syl | ⊢ ( 𝑤 ∈ 𝑊 → ( 𝐹 ‘ 𝑤 ) = 〈 ( 𝑤 mod 𝑀 ) , ( 𝑤 mod 𝑁 ) 〉 ) |
| 18 | 17 | adantl | ⊢ ( ( 𝜑 ∧ 𝑤 ∈ 𝑊 ) → ( 𝐹 ‘ 𝑤 ) = 〈 ( 𝑤 mod 𝑀 ) , ( 𝑤 mod 𝑁 ) 〉 ) |
| 19 | 11 1 | eleqtrdi | ⊢ ( 𝑤 ∈ 𝑊 → 𝑤 ∈ ( 0 ..^ ( 𝑀 · 𝑁 ) ) ) |
| 20 | 19 | adantl | ⊢ ( ( 𝜑 ∧ 𝑤 ∈ 𝑊 ) → 𝑤 ∈ ( 0 ..^ ( 𝑀 · 𝑁 ) ) ) |
| 21 | elfzoelz | ⊢ ( 𝑤 ∈ ( 0 ..^ ( 𝑀 · 𝑁 ) ) → 𝑤 ∈ ℤ ) | |
| 22 | 20 21 | syl | ⊢ ( ( 𝜑 ∧ 𝑤 ∈ 𝑊 ) → 𝑤 ∈ ℤ ) |
| 23 | 4 | simp1d | ⊢ ( 𝜑 → 𝑀 ∈ ℕ ) |
| 24 | 23 | adantr | ⊢ ( ( 𝜑 ∧ 𝑤 ∈ 𝑊 ) → 𝑀 ∈ ℕ ) |
| 25 | zmodfzo | ⊢ ( ( 𝑤 ∈ ℤ ∧ 𝑀 ∈ ℕ ) → ( 𝑤 mod 𝑀 ) ∈ ( 0 ..^ 𝑀 ) ) | |
| 26 | 22 24 25 | syl2anc | ⊢ ( ( 𝜑 ∧ 𝑤 ∈ 𝑊 ) → ( 𝑤 mod 𝑀 ) ∈ ( 0 ..^ 𝑀 ) ) |
| 27 | modgcd | ⊢ ( ( 𝑤 ∈ ℤ ∧ 𝑀 ∈ ℕ ) → ( ( 𝑤 mod 𝑀 ) gcd 𝑀 ) = ( 𝑤 gcd 𝑀 ) ) | |
| 28 | 22 24 27 | syl2anc | ⊢ ( ( 𝜑 ∧ 𝑤 ∈ 𝑊 ) → ( ( 𝑤 mod 𝑀 ) gcd 𝑀 ) = ( 𝑤 gcd 𝑀 ) ) |
| 29 | 24 | nnzd | ⊢ ( ( 𝜑 ∧ 𝑤 ∈ 𝑊 ) → 𝑀 ∈ ℤ ) |
| 30 | gcddvds | ⊢ ( ( 𝑤 ∈ ℤ ∧ 𝑀 ∈ ℤ ) → ( ( 𝑤 gcd 𝑀 ) ∥ 𝑤 ∧ ( 𝑤 gcd 𝑀 ) ∥ 𝑀 ) ) | |
| 31 | 22 29 30 | syl2anc | ⊢ ( ( 𝜑 ∧ 𝑤 ∈ 𝑊 ) → ( ( 𝑤 gcd 𝑀 ) ∥ 𝑤 ∧ ( 𝑤 gcd 𝑀 ) ∥ 𝑀 ) ) |
| 32 | 31 | simpld | ⊢ ( ( 𝜑 ∧ 𝑤 ∈ 𝑊 ) → ( 𝑤 gcd 𝑀 ) ∥ 𝑤 ) |
| 33 | nnne0 | ⊢ ( 𝑀 ∈ ℕ → 𝑀 ≠ 0 ) | |
| 34 | simpr | ⊢ ( ( 𝑤 = 0 ∧ 𝑀 = 0 ) → 𝑀 = 0 ) | |
| 35 | 34 | necon3ai | ⊢ ( 𝑀 ≠ 0 → ¬ ( 𝑤 = 0 ∧ 𝑀 = 0 ) ) |
| 36 | 24 33 35 | 3syl | ⊢ ( ( 𝜑 ∧ 𝑤 ∈ 𝑊 ) → ¬ ( 𝑤 = 0 ∧ 𝑀 = 0 ) ) |
| 37 | gcdn0cl | ⊢ ( ( ( 𝑤 ∈ ℤ ∧ 𝑀 ∈ ℤ ) ∧ ¬ ( 𝑤 = 0 ∧ 𝑀 = 0 ) ) → ( 𝑤 gcd 𝑀 ) ∈ ℕ ) | |
| 38 | 22 29 36 37 | syl21anc | ⊢ ( ( 𝜑 ∧ 𝑤 ∈ 𝑊 ) → ( 𝑤 gcd 𝑀 ) ∈ ℕ ) |
| 39 | 38 | nnzd | ⊢ ( ( 𝜑 ∧ 𝑤 ∈ 𝑊 ) → ( 𝑤 gcd 𝑀 ) ∈ ℤ ) |
| 40 | 4 | simp2d | ⊢ ( 𝜑 → 𝑁 ∈ ℕ ) |
| 41 | 40 | adantr | ⊢ ( ( 𝜑 ∧ 𝑤 ∈ 𝑊 ) → 𝑁 ∈ ℕ ) |
| 42 | 41 | nnzd | ⊢ ( ( 𝜑 ∧ 𝑤 ∈ 𝑊 ) → 𝑁 ∈ ℤ ) |
| 43 | 31 | simprd | ⊢ ( ( 𝜑 ∧ 𝑤 ∈ 𝑊 ) → ( 𝑤 gcd 𝑀 ) ∥ 𝑀 ) |
| 44 | 39 29 42 43 | dvdsmultr1d | ⊢ ( ( 𝜑 ∧ 𝑤 ∈ 𝑊 ) → ( 𝑤 gcd 𝑀 ) ∥ ( 𝑀 · 𝑁 ) ) |
| 45 | 24 41 | nnmulcld | ⊢ ( ( 𝜑 ∧ 𝑤 ∈ 𝑊 ) → ( 𝑀 · 𝑁 ) ∈ ℕ ) |
| 46 | 45 | nnzd | ⊢ ( ( 𝜑 ∧ 𝑤 ∈ 𝑊 ) → ( 𝑀 · 𝑁 ) ∈ ℤ ) |
| 47 | nnne0 | ⊢ ( ( 𝑀 · 𝑁 ) ∈ ℕ → ( 𝑀 · 𝑁 ) ≠ 0 ) | |
| 48 | simpr | ⊢ ( ( 𝑤 = 0 ∧ ( 𝑀 · 𝑁 ) = 0 ) → ( 𝑀 · 𝑁 ) = 0 ) | |
| 49 | 48 | necon3ai | ⊢ ( ( 𝑀 · 𝑁 ) ≠ 0 → ¬ ( 𝑤 = 0 ∧ ( 𝑀 · 𝑁 ) = 0 ) ) |
| 50 | 45 47 49 | 3syl | ⊢ ( ( 𝜑 ∧ 𝑤 ∈ 𝑊 ) → ¬ ( 𝑤 = 0 ∧ ( 𝑀 · 𝑁 ) = 0 ) ) |
| 51 | dvdslegcd | ⊢ ( ( ( ( 𝑤 gcd 𝑀 ) ∈ ℤ ∧ 𝑤 ∈ ℤ ∧ ( 𝑀 · 𝑁 ) ∈ ℤ ) ∧ ¬ ( 𝑤 = 0 ∧ ( 𝑀 · 𝑁 ) = 0 ) ) → ( ( ( 𝑤 gcd 𝑀 ) ∥ 𝑤 ∧ ( 𝑤 gcd 𝑀 ) ∥ ( 𝑀 · 𝑁 ) ) → ( 𝑤 gcd 𝑀 ) ≤ ( 𝑤 gcd ( 𝑀 · 𝑁 ) ) ) ) | |
| 52 | 39 22 46 50 51 | syl31anc | ⊢ ( ( 𝜑 ∧ 𝑤 ∈ 𝑊 ) → ( ( ( 𝑤 gcd 𝑀 ) ∥ 𝑤 ∧ ( 𝑤 gcd 𝑀 ) ∥ ( 𝑀 · 𝑁 ) ) → ( 𝑤 gcd 𝑀 ) ≤ ( 𝑤 gcd ( 𝑀 · 𝑁 ) ) ) ) |
| 53 | 32 44 52 | mp2and | ⊢ ( ( 𝜑 ∧ 𝑤 ∈ 𝑊 ) → ( 𝑤 gcd 𝑀 ) ≤ ( 𝑤 gcd ( 𝑀 · 𝑁 ) ) ) |
| 54 | 10 | simprbi | ⊢ ( 𝑤 ∈ 𝑊 → ( 𝑤 gcd ( 𝑀 · 𝑁 ) ) = 1 ) |
| 55 | 54 | adantl | ⊢ ( ( 𝜑 ∧ 𝑤 ∈ 𝑊 ) → ( 𝑤 gcd ( 𝑀 · 𝑁 ) ) = 1 ) |
| 56 | 53 55 | breqtrd | ⊢ ( ( 𝜑 ∧ 𝑤 ∈ 𝑊 ) → ( 𝑤 gcd 𝑀 ) ≤ 1 ) |
| 57 | nnle1eq1 | ⊢ ( ( 𝑤 gcd 𝑀 ) ∈ ℕ → ( ( 𝑤 gcd 𝑀 ) ≤ 1 ↔ ( 𝑤 gcd 𝑀 ) = 1 ) ) | |
| 58 | 38 57 | syl | ⊢ ( ( 𝜑 ∧ 𝑤 ∈ 𝑊 ) → ( ( 𝑤 gcd 𝑀 ) ≤ 1 ↔ ( 𝑤 gcd 𝑀 ) = 1 ) ) |
| 59 | 56 58 | mpbid | ⊢ ( ( 𝜑 ∧ 𝑤 ∈ 𝑊 ) → ( 𝑤 gcd 𝑀 ) = 1 ) |
| 60 | 28 59 | eqtrd | ⊢ ( ( 𝜑 ∧ 𝑤 ∈ 𝑊 ) → ( ( 𝑤 mod 𝑀 ) gcd 𝑀 ) = 1 ) |
| 61 | oveq1 | ⊢ ( 𝑦 = ( 𝑤 mod 𝑀 ) → ( 𝑦 gcd 𝑀 ) = ( ( 𝑤 mod 𝑀 ) gcd 𝑀 ) ) | |
| 62 | 61 | eqeq1d | ⊢ ( 𝑦 = ( 𝑤 mod 𝑀 ) → ( ( 𝑦 gcd 𝑀 ) = 1 ↔ ( ( 𝑤 mod 𝑀 ) gcd 𝑀 ) = 1 ) ) |
| 63 | 62 5 | elrab2 | ⊢ ( ( 𝑤 mod 𝑀 ) ∈ 𝑈 ↔ ( ( 𝑤 mod 𝑀 ) ∈ ( 0 ..^ 𝑀 ) ∧ ( ( 𝑤 mod 𝑀 ) gcd 𝑀 ) = 1 ) ) |
| 64 | 26 60 63 | sylanbrc | ⊢ ( ( 𝜑 ∧ 𝑤 ∈ 𝑊 ) → ( 𝑤 mod 𝑀 ) ∈ 𝑈 ) |
| 65 | zmodfzo | ⊢ ( ( 𝑤 ∈ ℤ ∧ 𝑁 ∈ ℕ ) → ( 𝑤 mod 𝑁 ) ∈ ( 0 ..^ 𝑁 ) ) | |
| 66 | 22 41 65 | syl2anc | ⊢ ( ( 𝜑 ∧ 𝑤 ∈ 𝑊 ) → ( 𝑤 mod 𝑁 ) ∈ ( 0 ..^ 𝑁 ) ) |
| 67 | modgcd | ⊢ ( ( 𝑤 ∈ ℤ ∧ 𝑁 ∈ ℕ ) → ( ( 𝑤 mod 𝑁 ) gcd 𝑁 ) = ( 𝑤 gcd 𝑁 ) ) | |
| 68 | 22 41 67 | syl2anc | ⊢ ( ( 𝜑 ∧ 𝑤 ∈ 𝑊 ) → ( ( 𝑤 mod 𝑁 ) gcd 𝑁 ) = ( 𝑤 gcd 𝑁 ) ) |
| 69 | gcddvds | ⊢ ( ( 𝑤 ∈ ℤ ∧ 𝑁 ∈ ℤ ) → ( ( 𝑤 gcd 𝑁 ) ∥ 𝑤 ∧ ( 𝑤 gcd 𝑁 ) ∥ 𝑁 ) ) | |
| 70 | 22 42 69 | syl2anc | ⊢ ( ( 𝜑 ∧ 𝑤 ∈ 𝑊 ) → ( ( 𝑤 gcd 𝑁 ) ∥ 𝑤 ∧ ( 𝑤 gcd 𝑁 ) ∥ 𝑁 ) ) |
| 71 | 70 | simpld | ⊢ ( ( 𝜑 ∧ 𝑤 ∈ 𝑊 ) → ( 𝑤 gcd 𝑁 ) ∥ 𝑤 ) |
| 72 | nnne0 | ⊢ ( 𝑁 ∈ ℕ → 𝑁 ≠ 0 ) | |
| 73 | simpr | ⊢ ( ( 𝑤 = 0 ∧ 𝑁 = 0 ) → 𝑁 = 0 ) | |
| 74 | 73 | necon3ai | ⊢ ( 𝑁 ≠ 0 → ¬ ( 𝑤 = 0 ∧ 𝑁 = 0 ) ) |
| 75 | 41 72 74 | 3syl | ⊢ ( ( 𝜑 ∧ 𝑤 ∈ 𝑊 ) → ¬ ( 𝑤 = 0 ∧ 𝑁 = 0 ) ) |
| 76 | gcdn0cl | ⊢ ( ( ( 𝑤 ∈ ℤ ∧ 𝑁 ∈ ℤ ) ∧ ¬ ( 𝑤 = 0 ∧ 𝑁 = 0 ) ) → ( 𝑤 gcd 𝑁 ) ∈ ℕ ) | |
| 77 | 22 42 75 76 | syl21anc | ⊢ ( ( 𝜑 ∧ 𝑤 ∈ 𝑊 ) → ( 𝑤 gcd 𝑁 ) ∈ ℕ ) |
| 78 | 77 | nnzd | ⊢ ( ( 𝜑 ∧ 𝑤 ∈ 𝑊 ) → ( 𝑤 gcd 𝑁 ) ∈ ℤ ) |
| 79 | 70 | simprd | ⊢ ( ( 𝜑 ∧ 𝑤 ∈ 𝑊 ) → ( 𝑤 gcd 𝑁 ) ∥ 𝑁 ) |
| 80 | dvdsmul2 | ⊢ ( ( 𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ) → 𝑁 ∥ ( 𝑀 · 𝑁 ) ) | |
| 81 | 29 42 80 | syl2anc | ⊢ ( ( 𝜑 ∧ 𝑤 ∈ 𝑊 ) → 𝑁 ∥ ( 𝑀 · 𝑁 ) ) |
| 82 | 78 42 46 79 81 | dvdstrd | ⊢ ( ( 𝜑 ∧ 𝑤 ∈ 𝑊 ) → ( 𝑤 gcd 𝑁 ) ∥ ( 𝑀 · 𝑁 ) ) |
| 83 | dvdslegcd | ⊢ ( ( ( ( 𝑤 gcd 𝑁 ) ∈ ℤ ∧ 𝑤 ∈ ℤ ∧ ( 𝑀 · 𝑁 ) ∈ ℤ ) ∧ ¬ ( 𝑤 = 0 ∧ ( 𝑀 · 𝑁 ) = 0 ) ) → ( ( ( 𝑤 gcd 𝑁 ) ∥ 𝑤 ∧ ( 𝑤 gcd 𝑁 ) ∥ ( 𝑀 · 𝑁 ) ) → ( 𝑤 gcd 𝑁 ) ≤ ( 𝑤 gcd ( 𝑀 · 𝑁 ) ) ) ) | |
| 84 | 78 22 46 50 83 | syl31anc | ⊢ ( ( 𝜑 ∧ 𝑤 ∈ 𝑊 ) → ( ( ( 𝑤 gcd 𝑁 ) ∥ 𝑤 ∧ ( 𝑤 gcd 𝑁 ) ∥ ( 𝑀 · 𝑁 ) ) → ( 𝑤 gcd 𝑁 ) ≤ ( 𝑤 gcd ( 𝑀 · 𝑁 ) ) ) ) |
| 85 | 71 82 84 | mp2and | ⊢ ( ( 𝜑 ∧ 𝑤 ∈ 𝑊 ) → ( 𝑤 gcd 𝑁 ) ≤ ( 𝑤 gcd ( 𝑀 · 𝑁 ) ) ) |
| 86 | 85 55 | breqtrd | ⊢ ( ( 𝜑 ∧ 𝑤 ∈ 𝑊 ) → ( 𝑤 gcd 𝑁 ) ≤ 1 ) |
| 87 | nnle1eq1 | ⊢ ( ( 𝑤 gcd 𝑁 ) ∈ ℕ → ( ( 𝑤 gcd 𝑁 ) ≤ 1 ↔ ( 𝑤 gcd 𝑁 ) = 1 ) ) | |
| 88 | 77 87 | syl | ⊢ ( ( 𝜑 ∧ 𝑤 ∈ 𝑊 ) → ( ( 𝑤 gcd 𝑁 ) ≤ 1 ↔ ( 𝑤 gcd 𝑁 ) = 1 ) ) |
| 89 | 86 88 | mpbid | ⊢ ( ( 𝜑 ∧ 𝑤 ∈ 𝑊 ) → ( 𝑤 gcd 𝑁 ) = 1 ) |
| 90 | 68 89 | eqtrd | ⊢ ( ( 𝜑 ∧ 𝑤 ∈ 𝑊 ) → ( ( 𝑤 mod 𝑁 ) gcd 𝑁 ) = 1 ) |
| 91 | oveq1 | ⊢ ( 𝑦 = ( 𝑤 mod 𝑁 ) → ( 𝑦 gcd 𝑁 ) = ( ( 𝑤 mod 𝑁 ) gcd 𝑁 ) ) | |
| 92 | 91 | eqeq1d | ⊢ ( 𝑦 = ( 𝑤 mod 𝑁 ) → ( ( 𝑦 gcd 𝑁 ) = 1 ↔ ( ( 𝑤 mod 𝑁 ) gcd 𝑁 ) = 1 ) ) |
| 93 | 92 6 | elrab2 | ⊢ ( ( 𝑤 mod 𝑁 ) ∈ 𝑉 ↔ ( ( 𝑤 mod 𝑁 ) ∈ ( 0 ..^ 𝑁 ) ∧ ( ( 𝑤 mod 𝑁 ) gcd 𝑁 ) = 1 ) ) |
| 94 | 66 90 93 | sylanbrc | ⊢ ( ( 𝜑 ∧ 𝑤 ∈ 𝑊 ) → ( 𝑤 mod 𝑁 ) ∈ 𝑉 ) |
| 95 | 64 94 | opelxpd | ⊢ ( ( 𝜑 ∧ 𝑤 ∈ 𝑊 ) → 〈 ( 𝑤 mod 𝑀 ) , ( 𝑤 mod 𝑁 ) 〉 ∈ ( 𝑈 × 𝑉 ) ) |
| 96 | 18 95 | eqeltrd | ⊢ ( ( 𝜑 ∧ 𝑤 ∈ 𝑊 ) → ( 𝐹 ‘ 𝑤 ) ∈ ( 𝑈 × 𝑉 ) ) |
| 97 | 96 | ralrimiva | ⊢ ( 𝜑 → ∀ 𝑤 ∈ 𝑊 ( 𝐹 ‘ 𝑤 ) ∈ ( 𝑈 × 𝑉 ) ) |
| 98 | 1 2 3 4 | crth | ⊢ ( 𝜑 → 𝐹 : 𝑆 –1-1-onto→ 𝑇 ) |
| 99 | f1ofn | ⊢ ( 𝐹 : 𝑆 –1-1-onto→ 𝑇 → 𝐹 Fn 𝑆 ) | |
| 100 | fnfun | ⊢ ( 𝐹 Fn 𝑆 → Fun 𝐹 ) | |
| 101 | 98 99 100 | 3syl | ⊢ ( 𝜑 → Fun 𝐹 ) |
| 102 | 7 | ssrab3 | ⊢ 𝑊 ⊆ 𝑆 |
| 103 | fndm | ⊢ ( 𝐹 Fn 𝑆 → dom 𝐹 = 𝑆 ) | |
| 104 | 98 99 103 | 3syl | ⊢ ( 𝜑 → dom 𝐹 = 𝑆 ) |
| 105 | 102 104 | sseqtrrid | ⊢ ( 𝜑 → 𝑊 ⊆ dom 𝐹 ) |
| 106 | funimass4 | ⊢ ( ( Fun 𝐹 ∧ 𝑊 ⊆ dom 𝐹 ) → ( ( 𝐹 “ 𝑊 ) ⊆ ( 𝑈 × 𝑉 ) ↔ ∀ 𝑤 ∈ 𝑊 ( 𝐹 ‘ 𝑤 ) ∈ ( 𝑈 × 𝑉 ) ) ) | |
| 107 | 101 105 106 | syl2anc | ⊢ ( 𝜑 → ( ( 𝐹 “ 𝑊 ) ⊆ ( 𝑈 × 𝑉 ) ↔ ∀ 𝑤 ∈ 𝑊 ( 𝐹 ‘ 𝑤 ) ∈ ( 𝑈 × 𝑉 ) ) ) |
| 108 | 97 107 | mpbird | ⊢ ( 𝜑 → ( 𝐹 “ 𝑊 ) ⊆ ( 𝑈 × 𝑉 ) ) |
| 109 | 5 | ssrab3 | ⊢ 𝑈 ⊆ ( 0 ..^ 𝑀 ) |
| 110 | 6 | ssrab3 | ⊢ 𝑉 ⊆ ( 0 ..^ 𝑁 ) |
| 111 | xpss12 | ⊢ ( ( 𝑈 ⊆ ( 0 ..^ 𝑀 ) ∧ 𝑉 ⊆ ( 0 ..^ 𝑁 ) ) → ( 𝑈 × 𝑉 ) ⊆ ( ( 0 ..^ 𝑀 ) × ( 0 ..^ 𝑁 ) ) ) | |
| 112 | 109 110 111 | mp2an | ⊢ ( 𝑈 × 𝑉 ) ⊆ ( ( 0 ..^ 𝑀 ) × ( 0 ..^ 𝑁 ) ) |
| 113 | 112 2 | sseqtrri | ⊢ ( 𝑈 × 𝑉 ) ⊆ 𝑇 |
| 114 | 113 | sseli | ⊢ ( 𝑧 ∈ ( 𝑈 × 𝑉 ) → 𝑧 ∈ 𝑇 ) |
| 115 | f1ocnvfv2 | ⊢ ( ( 𝐹 : 𝑆 –1-1-onto→ 𝑇 ∧ 𝑧 ∈ 𝑇 ) → ( 𝐹 ‘ ( ◡ 𝐹 ‘ 𝑧 ) ) = 𝑧 ) | |
| 116 | 98 114 115 | syl2an | ⊢ ( ( 𝜑 ∧ 𝑧 ∈ ( 𝑈 × 𝑉 ) ) → ( 𝐹 ‘ ( ◡ 𝐹 ‘ 𝑧 ) ) = 𝑧 ) |
| 117 | f1ocnv | ⊢ ( 𝐹 : 𝑆 –1-1-onto→ 𝑇 → ◡ 𝐹 : 𝑇 –1-1-onto→ 𝑆 ) | |
| 118 | f1of | ⊢ ( ◡ 𝐹 : 𝑇 –1-1-onto→ 𝑆 → ◡ 𝐹 : 𝑇 ⟶ 𝑆 ) | |
| 119 | 98 117 118 | 3syl | ⊢ ( 𝜑 → ◡ 𝐹 : 𝑇 ⟶ 𝑆 ) |
| 120 | ffvelcdm | ⊢ ( ( ◡ 𝐹 : 𝑇 ⟶ 𝑆 ∧ 𝑧 ∈ 𝑇 ) → ( ◡ 𝐹 ‘ 𝑧 ) ∈ 𝑆 ) | |
| 121 | 119 114 120 | syl2an | ⊢ ( ( 𝜑 ∧ 𝑧 ∈ ( 𝑈 × 𝑉 ) ) → ( ◡ 𝐹 ‘ 𝑧 ) ∈ 𝑆 ) |
| 122 | 121 1 | eleqtrdi | ⊢ ( ( 𝜑 ∧ 𝑧 ∈ ( 𝑈 × 𝑉 ) ) → ( ◡ 𝐹 ‘ 𝑧 ) ∈ ( 0 ..^ ( 𝑀 · 𝑁 ) ) ) |
| 123 | elfzoelz | ⊢ ( ( ◡ 𝐹 ‘ 𝑧 ) ∈ ( 0 ..^ ( 𝑀 · 𝑁 ) ) → ( ◡ 𝐹 ‘ 𝑧 ) ∈ ℤ ) | |
| 124 | 122 123 | syl | ⊢ ( ( 𝜑 ∧ 𝑧 ∈ ( 𝑈 × 𝑉 ) ) → ( ◡ 𝐹 ‘ 𝑧 ) ∈ ℤ ) |
| 125 | 23 | adantr | ⊢ ( ( 𝜑 ∧ 𝑧 ∈ ( 𝑈 × 𝑉 ) ) → 𝑀 ∈ ℕ ) |
| 126 | modgcd | ⊢ ( ( ( ◡ 𝐹 ‘ 𝑧 ) ∈ ℤ ∧ 𝑀 ∈ ℕ ) → ( ( ( ◡ 𝐹 ‘ 𝑧 ) mod 𝑀 ) gcd 𝑀 ) = ( ( ◡ 𝐹 ‘ 𝑧 ) gcd 𝑀 ) ) | |
| 127 | 124 125 126 | syl2anc | ⊢ ( ( 𝜑 ∧ 𝑧 ∈ ( 𝑈 × 𝑉 ) ) → ( ( ( ◡ 𝐹 ‘ 𝑧 ) mod 𝑀 ) gcd 𝑀 ) = ( ( ◡ 𝐹 ‘ 𝑧 ) gcd 𝑀 ) ) |
| 128 | oveq1 | ⊢ ( 𝑤 = ( ◡ 𝐹 ‘ 𝑧 ) → ( 𝑤 mod 𝑀 ) = ( ( ◡ 𝐹 ‘ 𝑧 ) mod 𝑀 ) ) | |
| 129 | oveq1 | ⊢ ( 𝑤 = ( ◡ 𝐹 ‘ 𝑧 ) → ( 𝑤 mod 𝑁 ) = ( ( ◡ 𝐹 ‘ 𝑧 ) mod 𝑁 ) ) | |
| 130 | 128 129 | opeq12d | ⊢ ( 𝑤 = ( ◡ 𝐹 ‘ 𝑧 ) → 〈 ( 𝑤 mod 𝑀 ) , ( 𝑤 mod 𝑁 ) 〉 = 〈 ( ( ◡ 𝐹 ‘ 𝑧 ) mod 𝑀 ) , ( ( ◡ 𝐹 ‘ 𝑧 ) mod 𝑁 ) 〉 ) |
| 131 | 14 | cbvmptv | ⊢ ( 𝑥 ∈ 𝑆 ↦ 〈 ( 𝑥 mod 𝑀 ) , ( 𝑥 mod 𝑁 ) 〉 ) = ( 𝑤 ∈ 𝑆 ↦ 〈 ( 𝑤 mod 𝑀 ) , ( 𝑤 mod 𝑁 ) 〉 ) |
| 132 | 3 131 | eqtri | ⊢ 𝐹 = ( 𝑤 ∈ 𝑆 ↦ 〈 ( 𝑤 mod 𝑀 ) , ( 𝑤 mod 𝑁 ) 〉 ) |
| 133 | opex | ⊢ 〈 ( ( ◡ 𝐹 ‘ 𝑧 ) mod 𝑀 ) , ( ( ◡ 𝐹 ‘ 𝑧 ) mod 𝑁 ) 〉 ∈ V | |
| 134 | 130 132 133 | fvmpt | ⊢ ( ( ◡ 𝐹 ‘ 𝑧 ) ∈ 𝑆 → ( 𝐹 ‘ ( ◡ 𝐹 ‘ 𝑧 ) ) = 〈 ( ( ◡ 𝐹 ‘ 𝑧 ) mod 𝑀 ) , ( ( ◡ 𝐹 ‘ 𝑧 ) mod 𝑁 ) 〉 ) |
| 135 | 121 134 | syl | ⊢ ( ( 𝜑 ∧ 𝑧 ∈ ( 𝑈 × 𝑉 ) ) → ( 𝐹 ‘ ( ◡ 𝐹 ‘ 𝑧 ) ) = 〈 ( ( ◡ 𝐹 ‘ 𝑧 ) mod 𝑀 ) , ( ( ◡ 𝐹 ‘ 𝑧 ) mod 𝑁 ) 〉 ) |
| 136 | 116 135 | eqtr3d | ⊢ ( ( 𝜑 ∧ 𝑧 ∈ ( 𝑈 × 𝑉 ) ) → 𝑧 = 〈 ( ( ◡ 𝐹 ‘ 𝑧 ) mod 𝑀 ) , ( ( ◡ 𝐹 ‘ 𝑧 ) mod 𝑁 ) 〉 ) |
| 137 | simpr | ⊢ ( ( 𝜑 ∧ 𝑧 ∈ ( 𝑈 × 𝑉 ) ) → 𝑧 ∈ ( 𝑈 × 𝑉 ) ) | |
| 138 | 136 137 | eqeltrrd | ⊢ ( ( 𝜑 ∧ 𝑧 ∈ ( 𝑈 × 𝑉 ) ) → 〈 ( ( ◡ 𝐹 ‘ 𝑧 ) mod 𝑀 ) , ( ( ◡ 𝐹 ‘ 𝑧 ) mod 𝑁 ) 〉 ∈ ( 𝑈 × 𝑉 ) ) |
| 139 | opelxp | ⊢ ( 〈 ( ( ◡ 𝐹 ‘ 𝑧 ) mod 𝑀 ) , ( ( ◡ 𝐹 ‘ 𝑧 ) mod 𝑁 ) 〉 ∈ ( 𝑈 × 𝑉 ) ↔ ( ( ( ◡ 𝐹 ‘ 𝑧 ) mod 𝑀 ) ∈ 𝑈 ∧ ( ( ◡ 𝐹 ‘ 𝑧 ) mod 𝑁 ) ∈ 𝑉 ) ) | |
| 140 | 138 139 | sylib | ⊢ ( ( 𝜑 ∧ 𝑧 ∈ ( 𝑈 × 𝑉 ) ) → ( ( ( ◡ 𝐹 ‘ 𝑧 ) mod 𝑀 ) ∈ 𝑈 ∧ ( ( ◡ 𝐹 ‘ 𝑧 ) mod 𝑁 ) ∈ 𝑉 ) ) |
| 141 | 140 | simpld | ⊢ ( ( 𝜑 ∧ 𝑧 ∈ ( 𝑈 × 𝑉 ) ) → ( ( ◡ 𝐹 ‘ 𝑧 ) mod 𝑀 ) ∈ 𝑈 ) |
| 142 | oveq1 | ⊢ ( 𝑦 = ( ( ◡ 𝐹 ‘ 𝑧 ) mod 𝑀 ) → ( 𝑦 gcd 𝑀 ) = ( ( ( ◡ 𝐹 ‘ 𝑧 ) mod 𝑀 ) gcd 𝑀 ) ) | |
| 143 | 142 | eqeq1d | ⊢ ( 𝑦 = ( ( ◡ 𝐹 ‘ 𝑧 ) mod 𝑀 ) → ( ( 𝑦 gcd 𝑀 ) = 1 ↔ ( ( ( ◡ 𝐹 ‘ 𝑧 ) mod 𝑀 ) gcd 𝑀 ) = 1 ) ) |
| 144 | 143 5 | elrab2 | ⊢ ( ( ( ◡ 𝐹 ‘ 𝑧 ) mod 𝑀 ) ∈ 𝑈 ↔ ( ( ( ◡ 𝐹 ‘ 𝑧 ) mod 𝑀 ) ∈ ( 0 ..^ 𝑀 ) ∧ ( ( ( ◡ 𝐹 ‘ 𝑧 ) mod 𝑀 ) gcd 𝑀 ) = 1 ) ) |
| 145 | 141 144 | sylib | ⊢ ( ( 𝜑 ∧ 𝑧 ∈ ( 𝑈 × 𝑉 ) ) → ( ( ( ◡ 𝐹 ‘ 𝑧 ) mod 𝑀 ) ∈ ( 0 ..^ 𝑀 ) ∧ ( ( ( ◡ 𝐹 ‘ 𝑧 ) mod 𝑀 ) gcd 𝑀 ) = 1 ) ) |
| 146 | 145 | simprd | ⊢ ( ( 𝜑 ∧ 𝑧 ∈ ( 𝑈 × 𝑉 ) ) → ( ( ( ◡ 𝐹 ‘ 𝑧 ) mod 𝑀 ) gcd 𝑀 ) = 1 ) |
| 147 | 127 146 | eqtr3d | ⊢ ( ( 𝜑 ∧ 𝑧 ∈ ( 𝑈 × 𝑉 ) ) → ( ( ◡ 𝐹 ‘ 𝑧 ) gcd 𝑀 ) = 1 ) |
| 148 | 40 | adantr | ⊢ ( ( 𝜑 ∧ 𝑧 ∈ ( 𝑈 × 𝑉 ) ) → 𝑁 ∈ ℕ ) |
| 149 | modgcd | ⊢ ( ( ( ◡ 𝐹 ‘ 𝑧 ) ∈ ℤ ∧ 𝑁 ∈ ℕ ) → ( ( ( ◡ 𝐹 ‘ 𝑧 ) mod 𝑁 ) gcd 𝑁 ) = ( ( ◡ 𝐹 ‘ 𝑧 ) gcd 𝑁 ) ) | |
| 150 | 124 148 149 | syl2anc | ⊢ ( ( 𝜑 ∧ 𝑧 ∈ ( 𝑈 × 𝑉 ) ) → ( ( ( ◡ 𝐹 ‘ 𝑧 ) mod 𝑁 ) gcd 𝑁 ) = ( ( ◡ 𝐹 ‘ 𝑧 ) gcd 𝑁 ) ) |
| 151 | 140 | simprd | ⊢ ( ( 𝜑 ∧ 𝑧 ∈ ( 𝑈 × 𝑉 ) ) → ( ( ◡ 𝐹 ‘ 𝑧 ) mod 𝑁 ) ∈ 𝑉 ) |
| 152 | oveq1 | ⊢ ( 𝑦 = ( ( ◡ 𝐹 ‘ 𝑧 ) mod 𝑁 ) → ( 𝑦 gcd 𝑁 ) = ( ( ( ◡ 𝐹 ‘ 𝑧 ) mod 𝑁 ) gcd 𝑁 ) ) | |
| 153 | 152 | eqeq1d | ⊢ ( 𝑦 = ( ( ◡ 𝐹 ‘ 𝑧 ) mod 𝑁 ) → ( ( 𝑦 gcd 𝑁 ) = 1 ↔ ( ( ( ◡ 𝐹 ‘ 𝑧 ) mod 𝑁 ) gcd 𝑁 ) = 1 ) ) |
| 154 | 153 6 | elrab2 | ⊢ ( ( ( ◡ 𝐹 ‘ 𝑧 ) mod 𝑁 ) ∈ 𝑉 ↔ ( ( ( ◡ 𝐹 ‘ 𝑧 ) mod 𝑁 ) ∈ ( 0 ..^ 𝑁 ) ∧ ( ( ( ◡ 𝐹 ‘ 𝑧 ) mod 𝑁 ) gcd 𝑁 ) = 1 ) ) |
| 155 | 151 154 | sylib | ⊢ ( ( 𝜑 ∧ 𝑧 ∈ ( 𝑈 × 𝑉 ) ) → ( ( ( ◡ 𝐹 ‘ 𝑧 ) mod 𝑁 ) ∈ ( 0 ..^ 𝑁 ) ∧ ( ( ( ◡ 𝐹 ‘ 𝑧 ) mod 𝑁 ) gcd 𝑁 ) = 1 ) ) |
| 156 | 155 | simprd | ⊢ ( ( 𝜑 ∧ 𝑧 ∈ ( 𝑈 × 𝑉 ) ) → ( ( ( ◡ 𝐹 ‘ 𝑧 ) mod 𝑁 ) gcd 𝑁 ) = 1 ) |
| 157 | 150 156 | eqtr3d | ⊢ ( ( 𝜑 ∧ 𝑧 ∈ ( 𝑈 × 𝑉 ) ) → ( ( ◡ 𝐹 ‘ 𝑧 ) gcd 𝑁 ) = 1 ) |
| 158 | 23 | nnzd | ⊢ ( 𝜑 → 𝑀 ∈ ℤ ) |
| 159 | 158 | adantr | ⊢ ( ( 𝜑 ∧ 𝑧 ∈ ( 𝑈 × 𝑉 ) ) → 𝑀 ∈ ℤ ) |
| 160 | 40 | nnzd | ⊢ ( 𝜑 → 𝑁 ∈ ℤ ) |
| 161 | 160 | adantr | ⊢ ( ( 𝜑 ∧ 𝑧 ∈ ( 𝑈 × 𝑉 ) ) → 𝑁 ∈ ℤ ) |
| 162 | rpmul | ⊢ ( ( ( ◡ 𝐹 ‘ 𝑧 ) ∈ ℤ ∧ 𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ) → ( ( ( ( ◡ 𝐹 ‘ 𝑧 ) gcd 𝑀 ) = 1 ∧ ( ( ◡ 𝐹 ‘ 𝑧 ) gcd 𝑁 ) = 1 ) → ( ( ◡ 𝐹 ‘ 𝑧 ) gcd ( 𝑀 · 𝑁 ) ) = 1 ) ) | |
| 163 | 124 159 161 162 | syl3anc | ⊢ ( ( 𝜑 ∧ 𝑧 ∈ ( 𝑈 × 𝑉 ) ) → ( ( ( ( ◡ 𝐹 ‘ 𝑧 ) gcd 𝑀 ) = 1 ∧ ( ( ◡ 𝐹 ‘ 𝑧 ) gcd 𝑁 ) = 1 ) → ( ( ◡ 𝐹 ‘ 𝑧 ) gcd ( 𝑀 · 𝑁 ) ) = 1 ) ) |
| 164 | 147 157 163 | mp2and | ⊢ ( ( 𝜑 ∧ 𝑧 ∈ ( 𝑈 × 𝑉 ) ) → ( ( ◡ 𝐹 ‘ 𝑧 ) gcd ( 𝑀 · 𝑁 ) ) = 1 ) |
| 165 | oveq1 | ⊢ ( 𝑦 = ( ◡ 𝐹 ‘ 𝑧 ) → ( 𝑦 gcd ( 𝑀 · 𝑁 ) ) = ( ( ◡ 𝐹 ‘ 𝑧 ) gcd ( 𝑀 · 𝑁 ) ) ) | |
| 166 | 165 | eqeq1d | ⊢ ( 𝑦 = ( ◡ 𝐹 ‘ 𝑧 ) → ( ( 𝑦 gcd ( 𝑀 · 𝑁 ) ) = 1 ↔ ( ( ◡ 𝐹 ‘ 𝑧 ) gcd ( 𝑀 · 𝑁 ) ) = 1 ) ) |
| 167 | 166 7 | elrab2 | ⊢ ( ( ◡ 𝐹 ‘ 𝑧 ) ∈ 𝑊 ↔ ( ( ◡ 𝐹 ‘ 𝑧 ) ∈ 𝑆 ∧ ( ( ◡ 𝐹 ‘ 𝑧 ) gcd ( 𝑀 · 𝑁 ) ) = 1 ) ) |
| 168 | 121 164 167 | sylanbrc | ⊢ ( ( 𝜑 ∧ 𝑧 ∈ ( 𝑈 × 𝑉 ) ) → ( ◡ 𝐹 ‘ 𝑧 ) ∈ 𝑊 ) |
| 169 | funfvima2 | ⊢ ( ( Fun 𝐹 ∧ 𝑊 ⊆ dom 𝐹 ) → ( ( ◡ 𝐹 ‘ 𝑧 ) ∈ 𝑊 → ( 𝐹 ‘ ( ◡ 𝐹 ‘ 𝑧 ) ) ∈ ( 𝐹 “ 𝑊 ) ) ) | |
| 170 | 101 105 169 | syl2anc | ⊢ ( 𝜑 → ( ( ◡ 𝐹 ‘ 𝑧 ) ∈ 𝑊 → ( 𝐹 ‘ ( ◡ 𝐹 ‘ 𝑧 ) ) ∈ ( 𝐹 “ 𝑊 ) ) ) |
| 171 | 170 | imp | ⊢ ( ( 𝜑 ∧ ( ◡ 𝐹 ‘ 𝑧 ) ∈ 𝑊 ) → ( 𝐹 ‘ ( ◡ 𝐹 ‘ 𝑧 ) ) ∈ ( 𝐹 “ 𝑊 ) ) |
| 172 | 168 171 | syldan | ⊢ ( ( 𝜑 ∧ 𝑧 ∈ ( 𝑈 × 𝑉 ) ) → ( 𝐹 ‘ ( ◡ 𝐹 ‘ 𝑧 ) ) ∈ ( 𝐹 “ 𝑊 ) ) |
| 173 | 116 172 | eqeltrrd | ⊢ ( ( 𝜑 ∧ 𝑧 ∈ ( 𝑈 × 𝑉 ) ) → 𝑧 ∈ ( 𝐹 “ 𝑊 ) ) |
| 174 | 108 173 | eqelssd | ⊢ ( 𝜑 → ( 𝐹 “ 𝑊 ) = ( 𝑈 × 𝑉 ) ) |
| 175 | f1of1 | ⊢ ( 𝐹 : 𝑆 –1-1-onto→ 𝑇 → 𝐹 : 𝑆 –1-1→ 𝑇 ) | |
| 176 | 98 175 | syl | ⊢ ( 𝜑 → 𝐹 : 𝑆 –1-1→ 𝑇 ) |
| 177 | fzofi | ⊢ ( 0 ..^ ( 𝑀 · 𝑁 ) ) ∈ Fin | |
| 178 | 1 177 | eqeltri | ⊢ 𝑆 ∈ Fin |
| 179 | ssfi | ⊢ ( ( 𝑆 ∈ Fin ∧ 𝑊 ⊆ 𝑆 ) → 𝑊 ∈ Fin ) | |
| 180 | 178 102 179 | mp2an | ⊢ 𝑊 ∈ Fin |
| 181 | 180 | elexi | ⊢ 𝑊 ∈ V |
| 182 | 181 | f1imaen | ⊢ ( ( 𝐹 : 𝑆 –1-1→ 𝑇 ∧ 𝑊 ⊆ 𝑆 ) → ( 𝐹 “ 𝑊 ) ≈ 𝑊 ) |
| 183 | 176 102 182 | sylancl | ⊢ ( 𝜑 → ( 𝐹 “ 𝑊 ) ≈ 𝑊 ) |
| 184 | 174 183 | eqbrtrrd | ⊢ ( 𝜑 → ( 𝑈 × 𝑉 ) ≈ 𝑊 ) |
| 185 | fzofi | ⊢ ( 0 ..^ 𝑀 ) ∈ Fin | |
| 186 | ssrab2 | ⊢ { 𝑦 ∈ ( 0 ..^ 𝑀 ) ∣ ( 𝑦 gcd 𝑀 ) = 1 } ⊆ ( 0 ..^ 𝑀 ) | |
| 187 | ssfi | ⊢ ( ( ( 0 ..^ 𝑀 ) ∈ Fin ∧ { 𝑦 ∈ ( 0 ..^ 𝑀 ) ∣ ( 𝑦 gcd 𝑀 ) = 1 } ⊆ ( 0 ..^ 𝑀 ) ) → { 𝑦 ∈ ( 0 ..^ 𝑀 ) ∣ ( 𝑦 gcd 𝑀 ) = 1 } ∈ Fin ) | |
| 188 | 185 186 187 | mp2an | ⊢ { 𝑦 ∈ ( 0 ..^ 𝑀 ) ∣ ( 𝑦 gcd 𝑀 ) = 1 } ∈ Fin |
| 189 | 5 188 | eqeltri | ⊢ 𝑈 ∈ Fin |
| 190 | fzofi | ⊢ ( 0 ..^ 𝑁 ) ∈ Fin | |
| 191 | ssrab2 | ⊢ { 𝑦 ∈ ( 0 ..^ 𝑁 ) ∣ ( 𝑦 gcd 𝑁 ) = 1 } ⊆ ( 0 ..^ 𝑁 ) | |
| 192 | ssfi | ⊢ ( ( ( 0 ..^ 𝑁 ) ∈ Fin ∧ { 𝑦 ∈ ( 0 ..^ 𝑁 ) ∣ ( 𝑦 gcd 𝑁 ) = 1 } ⊆ ( 0 ..^ 𝑁 ) ) → { 𝑦 ∈ ( 0 ..^ 𝑁 ) ∣ ( 𝑦 gcd 𝑁 ) = 1 } ∈ Fin ) | |
| 193 | 190 191 192 | mp2an | ⊢ { 𝑦 ∈ ( 0 ..^ 𝑁 ) ∣ ( 𝑦 gcd 𝑁 ) = 1 } ∈ Fin |
| 194 | 6 193 | eqeltri | ⊢ 𝑉 ∈ Fin |
| 195 | xpfi | ⊢ ( ( 𝑈 ∈ Fin ∧ 𝑉 ∈ Fin ) → ( 𝑈 × 𝑉 ) ∈ Fin ) | |
| 196 | 189 194 195 | mp2an | ⊢ ( 𝑈 × 𝑉 ) ∈ Fin |
| 197 | hashen | ⊢ ( ( ( 𝑈 × 𝑉 ) ∈ Fin ∧ 𝑊 ∈ Fin ) → ( ( ♯ ‘ ( 𝑈 × 𝑉 ) ) = ( ♯ ‘ 𝑊 ) ↔ ( 𝑈 × 𝑉 ) ≈ 𝑊 ) ) | |
| 198 | 196 180 197 | mp2an | ⊢ ( ( ♯ ‘ ( 𝑈 × 𝑉 ) ) = ( ♯ ‘ 𝑊 ) ↔ ( 𝑈 × 𝑉 ) ≈ 𝑊 ) |
| 199 | 184 198 | sylibr | ⊢ ( 𝜑 → ( ♯ ‘ ( 𝑈 × 𝑉 ) ) = ( ♯ ‘ 𝑊 ) ) |
| 200 | hashxp | ⊢ ( ( 𝑈 ∈ Fin ∧ 𝑉 ∈ Fin ) → ( ♯ ‘ ( 𝑈 × 𝑉 ) ) = ( ( ♯ ‘ 𝑈 ) · ( ♯ ‘ 𝑉 ) ) ) | |
| 201 | 189 194 200 | mp2an | ⊢ ( ♯ ‘ ( 𝑈 × 𝑉 ) ) = ( ( ♯ ‘ 𝑈 ) · ( ♯ ‘ 𝑉 ) ) |
| 202 | 199 201 | eqtr3di | ⊢ ( 𝜑 → ( ♯ ‘ 𝑊 ) = ( ( ♯ ‘ 𝑈 ) · ( ♯ ‘ 𝑉 ) ) ) |
| 203 | 23 40 | nnmulcld | ⊢ ( 𝜑 → ( 𝑀 · 𝑁 ) ∈ ℕ ) |
| 204 | dfphi2 | ⊢ ( ( 𝑀 · 𝑁 ) ∈ ℕ → ( ϕ ‘ ( 𝑀 · 𝑁 ) ) = ( ♯ ‘ { 𝑦 ∈ ( 0 ..^ ( 𝑀 · 𝑁 ) ) ∣ ( 𝑦 gcd ( 𝑀 · 𝑁 ) ) = 1 } ) ) | |
| 205 | 1 | rabeqi | ⊢ { 𝑦 ∈ 𝑆 ∣ ( 𝑦 gcd ( 𝑀 · 𝑁 ) ) = 1 } = { 𝑦 ∈ ( 0 ..^ ( 𝑀 · 𝑁 ) ) ∣ ( 𝑦 gcd ( 𝑀 · 𝑁 ) ) = 1 } |
| 206 | 7 205 | eqtri | ⊢ 𝑊 = { 𝑦 ∈ ( 0 ..^ ( 𝑀 · 𝑁 ) ) ∣ ( 𝑦 gcd ( 𝑀 · 𝑁 ) ) = 1 } |
| 207 | 206 | fveq2i | ⊢ ( ♯ ‘ 𝑊 ) = ( ♯ ‘ { 𝑦 ∈ ( 0 ..^ ( 𝑀 · 𝑁 ) ) ∣ ( 𝑦 gcd ( 𝑀 · 𝑁 ) ) = 1 } ) |
| 208 | 204 207 | eqtr4di | ⊢ ( ( 𝑀 · 𝑁 ) ∈ ℕ → ( ϕ ‘ ( 𝑀 · 𝑁 ) ) = ( ♯ ‘ 𝑊 ) ) |
| 209 | 203 208 | syl | ⊢ ( 𝜑 → ( ϕ ‘ ( 𝑀 · 𝑁 ) ) = ( ♯ ‘ 𝑊 ) ) |
| 210 | dfphi2 | ⊢ ( 𝑀 ∈ ℕ → ( ϕ ‘ 𝑀 ) = ( ♯ ‘ { 𝑦 ∈ ( 0 ..^ 𝑀 ) ∣ ( 𝑦 gcd 𝑀 ) = 1 } ) ) | |
| 211 | 5 | fveq2i | ⊢ ( ♯ ‘ 𝑈 ) = ( ♯ ‘ { 𝑦 ∈ ( 0 ..^ 𝑀 ) ∣ ( 𝑦 gcd 𝑀 ) = 1 } ) |
| 212 | 210 211 | eqtr4di | ⊢ ( 𝑀 ∈ ℕ → ( ϕ ‘ 𝑀 ) = ( ♯ ‘ 𝑈 ) ) |
| 213 | 23 212 | syl | ⊢ ( 𝜑 → ( ϕ ‘ 𝑀 ) = ( ♯ ‘ 𝑈 ) ) |
| 214 | dfphi2 | ⊢ ( 𝑁 ∈ ℕ → ( ϕ ‘ 𝑁 ) = ( ♯ ‘ { 𝑦 ∈ ( 0 ..^ 𝑁 ) ∣ ( 𝑦 gcd 𝑁 ) = 1 } ) ) | |
| 215 | 6 | fveq2i | ⊢ ( ♯ ‘ 𝑉 ) = ( ♯ ‘ { 𝑦 ∈ ( 0 ..^ 𝑁 ) ∣ ( 𝑦 gcd 𝑁 ) = 1 } ) |
| 216 | 214 215 | eqtr4di | ⊢ ( 𝑁 ∈ ℕ → ( ϕ ‘ 𝑁 ) = ( ♯ ‘ 𝑉 ) ) |
| 217 | 40 216 | syl | ⊢ ( 𝜑 → ( ϕ ‘ 𝑁 ) = ( ♯ ‘ 𝑉 ) ) |
| 218 | 213 217 | oveq12d | ⊢ ( 𝜑 → ( ( ϕ ‘ 𝑀 ) · ( ϕ ‘ 𝑁 ) ) = ( ( ♯ ‘ 𝑈 ) · ( ♯ ‘ 𝑉 ) ) ) |
| 219 | 202 209 218 | 3eqtr4d | ⊢ ( 𝜑 → ( ϕ ‘ ( 𝑀 · 𝑁 ) ) = ( ( ϕ ‘ 𝑀 ) · ( ϕ ‘ 𝑁 ) ) ) |