Step | Hyp | Ref
| Expression |
1 | | elfzoelz 10103 |
. . . . . 6
⊢ (𝑥 ∈ (0..^(𝑀 · 𝑁)) → 𝑥 ∈ ℤ) |
2 | | crth.1 |
. . . . . 6
⊢ 𝑆 = (0..^(𝑀 · 𝑁)) |
3 | 1, 2 | eleq2s 2265 |
. . . . 5
⊢ (𝑥 ∈ 𝑆 → 𝑥 ∈ ℤ) |
4 | | simpr 109 |
. . . . . . . 8
⊢ ((𝜑 ∧ 𝑥 ∈ ℤ) → 𝑥 ∈ ℤ) |
5 | | crth.4 |
. . . . . . . . . 10
⊢ (𝜑 → (𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ (𝑀 gcd 𝑁) = 1)) |
6 | 5 | simp1d 1004 |
. . . . . . . . 9
⊢ (𝜑 → 𝑀 ∈ ℕ) |
7 | 6 | adantr 274 |
. . . . . . . 8
⊢ ((𝜑 ∧ 𝑥 ∈ ℤ) → 𝑀 ∈ ℕ) |
8 | | zmodfzo 10303 |
. . . . . . . 8
⊢ ((𝑥 ∈ ℤ ∧ 𝑀 ∈ ℕ) → (𝑥 mod 𝑀) ∈ (0..^𝑀)) |
9 | 4, 7, 8 | syl2anc 409 |
. . . . . . 7
⊢ ((𝜑 ∧ 𝑥 ∈ ℤ) → (𝑥 mod 𝑀) ∈ (0..^𝑀)) |
10 | 5 | simp2d 1005 |
. . . . . . . . 9
⊢ (𝜑 → 𝑁 ∈ ℕ) |
11 | 10 | adantr 274 |
. . . . . . . 8
⊢ ((𝜑 ∧ 𝑥 ∈ ℤ) → 𝑁 ∈ ℕ) |
12 | | zmodfzo 10303 |
. . . . . . . 8
⊢ ((𝑥 ∈ ℤ ∧ 𝑁 ∈ ℕ) → (𝑥 mod 𝑁) ∈ (0..^𝑁)) |
13 | 4, 11, 12 | syl2anc 409 |
. . . . . . 7
⊢ ((𝜑 ∧ 𝑥 ∈ ℤ) → (𝑥 mod 𝑁) ∈ (0..^𝑁)) |
14 | | opelxpi 4643 |
. . . . . . 7
⊢ (((𝑥 mod 𝑀) ∈ (0..^𝑀) ∧ (𝑥 mod 𝑁) ∈ (0..^𝑁)) → 〈(𝑥 mod 𝑀), (𝑥 mod 𝑁)〉 ∈ ((0..^𝑀) × (0..^𝑁))) |
15 | 9, 13, 14 | syl2anc 409 |
. . . . . 6
⊢ ((𝜑 ∧ 𝑥 ∈ ℤ) → 〈(𝑥 mod 𝑀), (𝑥 mod 𝑁)〉 ∈ ((0..^𝑀) × (0..^𝑁))) |
16 | | crth.2 |
. . . . . 6
⊢ 𝑇 = ((0..^𝑀) × (0..^𝑁)) |
17 | 15, 16 | eleqtrrdi 2264 |
. . . . 5
⊢ ((𝜑 ∧ 𝑥 ∈ ℤ) → 〈(𝑥 mod 𝑀), (𝑥 mod 𝑁)〉 ∈ 𝑇) |
18 | 3, 17 | sylan2 284 |
. . . 4
⊢ ((𝜑 ∧ 𝑥 ∈ 𝑆) → 〈(𝑥 mod 𝑀), (𝑥 mod 𝑁)〉 ∈ 𝑇) |
19 | | crth.3 |
. . . 4
⊢ 𝐹 = (𝑥 ∈ 𝑆 ↦ 〈(𝑥 mod 𝑀), (𝑥 mod 𝑁)〉) |
20 | 18, 19 | fmptd 5650 |
. . 3
⊢ (𝜑 → 𝐹:𝑆⟶𝑇) |
21 | | simprl 526 |
. . . . . . . 8
⊢ ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → 𝑦 ∈ 𝑆) |
22 | | elfzoelz 10103 |
. . . . . . . . . . . . 13
⊢ (𝑦 ∈ (0..^(𝑀 · 𝑁)) → 𝑦 ∈ ℤ) |
23 | 22, 2 | eleq2s 2265 |
. . . . . . . . . . . 12
⊢ (𝑦 ∈ 𝑆 → 𝑦 ∈ ℤ) |
24 | 23 | ad2antrl 487 |
. . . . . . . . . . 11
⊢ ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → 𝑦 ∈ ℤ) |
25 | | zq 9585 |
. . . . . . . . . . 11
⊢ (𝑦 ∈ ℤ → 𝑦 ∈
ℚ) |
26 | 24, 25 | syl 14 |
. . . . . . . . . 10
⊢ ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → 𝑦 ∈ ℚ) |
27 | 6 | adantr 274 |
. . . . . . . . . . 11
⊢ ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → 𝑀 ∈ ℕ) |
28 | | nnq 9592 |
. . . . . . . . . . 11
⊢ (𝑀 ∈ ℕ → 𝑀 ∈
ℚ) |
29 | 27, 28 | syl 14 |
. . . . . . . . . 10
⊢ ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → 𝑀 ∈ ℚ) |
30 | 27 | nngt0d 8922 |
. . . . . . . . . 10
⊢ ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → 0 < 𝑀) |
31 | 26, 29, 30 | modqcld 10284 |
. . . . . . . . 9
⊢ ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → (𝑦 mod 𝑀) ∈ ℚ) |
32 | 10 | adantr 274 |
. . . . . . . . . . 11
⊢ ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → 𝑁 ∈ ℕ) |
33 | | nnq 9592 |
. . . . . . . . . . 11
⊢ (𝑁 ∈ ℕ → 𝑁 ∈
ℚ) |
34 | 32, 33 | syl 14 |
. . . . . . . . . 10
⊢ ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → 𝑁 ∈ ℚ) |
35 | 32 | nngt0d 8922 |
. . . . . . . . . 10
⊢ ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → 0 < 𝑁) |
36 | 26, 34, 35 | modqcld 10284 |
. . . . . . . . 9
⊢ ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → (𝑦 mod 𝑁) ∈ ℚ) |
37 | | opexg 4213 |
. . . . . . . . 9
⊢ (((𝑦 mod 𝑀) ∈ ℚ ∧ (𝑦 mod 𝑁) ∈ ℚ) → 〈(𝑦 mod 𝑀), (𝑦 mod 𝑁)〉 ∈ V) |
38 | 31, 36, 37 | syl2anc 409 |
. . . . . . . 8
⊢ ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → 〈(𝑦 mod 𝑀), (𝑦 mod 𝑁)〉 ∈ V) |
39 | | oveq1 5860 |
. . . . . . . . . 10
⊢ (𝑥 = 𝑦 → (𝑥 mod 𝑀) = (𝑦 mod 𝑀)) |
40 | | oveq1 5860 |
. . . . . . . . . 10
⊢ (𝑥 = 𝑦 → (𝑥 mod 𝑁) = (𝑦 mod 𝑁)) |
41 | 39, 40 | opeq12d 3773 |
. . . . . . . . 9
⊢ (𝑥 = 𝑦 → 〈(𝑥 mod 𝑀), (𝑥 mod 𝑁)〉 = 〈(𝑦 mod 𝑀), (𝑦 mod 𝑁)〉) |
42 | 41, 19 | fvmptg 5572 |
. . . . . . . 8
⊢ ((𝑦 ∈ 𝑆 ∧ 〈(𝑦 mod 𝑀), (𝑦 mod 𝑁)〉 ∈ V) → (𝐹‘𝑦) = 〈(𝑦 mod 𝑀), (𝑦 mod 𝑁)〉) |
43 | 21, 38, 42 | syl2anc 409 |
. . . . . . 7
⊢ ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → (𝐹‘𝑦) = 〈(𝑦 mod 𝑀), (𝑦 mod 𝑁)〉) |
44 | | simprr 527 |
. . . . . . . 8
⊢ ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → 𝑧 ∈ 𝑆) |
45 | | elfzoelz 10103 |
. . . . . . . . . . . . 13
⊢ (𝑧 ∈ (0..^(𝑀 · 𝑁)) → 𝑧 ∈ ℤ) |
46 | 45, 2 | eleq2s 2265 |
. . . . . . . . . . . 12
⊢ (𝑧 ∈ 𝑆 → 𝑧 ∈ ℤ) |
47 | 44, 46 | syl 14 |
. . . . . . . . . . 11
⊢ ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → 𝑧 ∈ ℤ) |
48 | | zq 9585 |
. . . . . . . . . . 11
⊢ (𝑧 ∈ ℤ → 𝑧 ∈
ℚ) |
49 | 47, 48 | syl 14 |
. . . . . . . . . 10
⊢ ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → 𝑧 ∈ ℚ) |
50 | 49, 29, 30 | modqcld 10284 |
. . . . . . . . 9
⊢ ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → (𝑧 mod 𝑀) ∈ ℚ) |
51 | 49, 34, 35 | modqcld 10284 |
. . . . . . . . 9
⊢ ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → (𝑧 mod 𝑁) ∈ ℚ) |
52 | | opexg 4213 |
. . . . . . . . 9
⊢ (((𝑧 mod 𝑀) ∈ ℚ ∧ (𝑧 mod 𝑁) ∈ ℚ) → 〈(𝑧 mod 𝑀), (𝑧 mod 𝑁)〉 ∈ V) |
53 | 50, 51, 52 | syl2anc 409 |
. . . . . . . 8
⊢ ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → 〈(𝑧 mod 𝑀), (𝑧 mod 𝑁)〉 ∈ V) |
54 | | oveq1 5860 |
. . . . . . . . . 10
⊢ (𝑥 = 𝑧 → (𝑥 mod 𝑀) = (𝑧 mod 𝑀)) |
55 | | oveq1 5860 |
. . . . . . . . . 10
⊢ (𝑥 = 𝑧 → (𝑥 mod 𝑁) = (𝑧 mod 𝑁)) |
56 | 54, 55 | opeq12d 3773 |
. . . . . . . . 9
⊢ (𝑥 = 𝑧 → 〈(𝑥 mod 𝑀), (𝑥 mod 𝑁)〉 = 〈(𝑧 mod 𝑀), (𝑧 mod 𝑁)〉) |
57 | 56, 19 | fvmptg 5572 |
. . . . . . . 8
⊢ ((𝑧 ∈ 𝑆 ∧ 〈(𝑧 mod 𝑀), (𝑧 mod 𝑁)〉 ∈ V) → (𝐹‘𝑧) = 〈(𝑧 mod 𝑀), (𝑧 mod 𝑁)〉) |
58 | 44, 53, 57 | syl2anc 409 |
. . . . . . 7
⊢ ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → (𝐹‘𝑧) = 〈(𝑧 mod 𝑀), (𝑧 mod 𝑁)〉) |
59 | 43, 58 | eqeq12d 2185 |
. . . . . 6
⊢ ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → ((𝐹‘𝑦) = (𝐹‘𝑧) ↔ 〈(𝑦 mod 𝑀), (𝑦 mod 𝑁)〉 = 〈(𝑧 mod 𝑀), (𝑧 mod 𝑁)〉)) |
60 | | opthg 4223 |
. . . . . . 7
⊢ (((𝑦 mod 𝑀) ∈ ℚ ∧ (𝑦 mod 𝑁) ∈ ℚ) → (〈(𝑦 mod 𝑀), (𝑦 mod 𝑁)〉 = 〈(𝑧 mod 𝑀), (𝑧 mod 𝑁)〉 ↔ ((𝑦 mod 𝑀) = (𝑧 mod 𝑀) ∧ (𝑦 mod 𝑁) = (𝑧 mod 𝑁)))) |
61 | 31, 36, 60 | syl2anc 409 |
. . . . . 6
⊢ ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → (〈(𝑦 mod 𝑀), (𝑦 mod 𝑁)〉 = 〈(𝑧 mod 𝑀), (𝑧 mod 𝑁)〉 ↔ ((𝑦 mod 𝑀) = (𝑧 mod 𝑀) ∧ (𝑦 mod 𝑁) = (𝑧 mod 𝑁)))) |
62 | 59, 61 | bitrd 187 |
. . . . 5
⊢ ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → ((𝐹‘𝑦) = (𝐹‘𝑧) ↔ ((𝑦 mod 𝑀) = (𝑧 mod 𝑀) ∧ (𝑦 mod 𝑁) = (𝑧 mod 𝑁)))) |
63 | 27 | nnzd 9333 |
. . . . . . 7
⊢ ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → 𝑀 ∈ ℤ) |
64 | 32 | nnzd 9333 |
. . . . . . 7
⊢ ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → 𝑁 ∈ ℤ) |
65 | 21, 2 | eleqtrdi 2263 |
. . . . . . . . 9
⊢ ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → 𝑦 ∈ (0..^(𝑀 · 𝑁))) |
66 | 65, 22 | syl 14 |
. . . . . . . 8
⊢ ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → 𝑦 ∈ ℤ) |
67 | 44, 2 | eleqtrdi 2263 |
. . . . . . . . 9
⊢ ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → 𝑧 ∈ (0..^(𝑀 · 𝑁))) |
68 | 67, 45 | syl 14 |
. . . . . . . 8
⊢ ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → 𝑧 ∈ ℤ) |
69 | 66, 68 | zsubcld 9339 |
. . . . . . 7
⊢ ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → (𝑦 − 𝑧) ∈ ℤ) |
70 | 5 | simp3d 1006 |
. . . . . . . 8
⊢ (𝜑 → (𝑀 gcd 𝑁) = 1) |
71 | 70 | adantr 274 |
. . . . . . 7
⊢ ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → (𝑀 gcd 𝑁) = 1) |
72 | | coprmdvds2 12047 |
. . . . . . 7
⊢ (((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ∧ (𝑦 − 𝑧) ∈ ℤ) ∧ (𝑀 gcd 𝑁) = 1) → ((𝑀 ∥ (𝑦 − 𝑧) ∧ 𝑁 ∥ (𝑦 − 𝑧)) → (𝑀 · 𝑁) ∥ (𝑦 − 𝑧))) |
73 | 63, 64, 69, 71, 72 | syl31anc 1236 |
. . . . . 6
⊢ ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → ((𝑀 ∥ (𝑦 − 𝑧) ∧ 𝑁 ∥ (𝑦 − 𝑧)) → (𝑀 · 𝑁) ∥ (𝑦 − 𝑧))) |
74 | | moddvds 11761 |
. . . . . . . 8
⊢ ((𝑀 ∈ ℕ ∧ 𝑦 ∈ ℤ ∧ 𝑧 ∈ ℤ) → ((𝑦 mod 𝑀) = (𝑧 mod 𝑀) ↔ 𝑀 ∥ (𝑦 − 𝑧))) |
75 | 27, 66, 68, 74 | syl3anc 1233 |
. . . . . . 7
⊢ ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → ((𝑦 mod 𝑀) = (𝑧 mod 𝑀) ↔ 𝑀 ∥ (𝑦 − 𝑧))) |
76 | | moddvds 11761 |
. . . . . . . 8
⊢ ((𝑁 ∈ ℕ ∧ 𝑦 ∈ ℤ ∧ 𝑧 ∈ ℤ) → ((𝑦 mod 𝑁) = (𝑧 mod 𝑁) ↔ 𝑁 ∥ (𝑦 − 𝑧))) |
77 | 32, 66, 68, 76 | syl3anc 1233 |
. . . . . . 7
⊢ ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → ((𝑦 mod 𝑁) = (𝑧 mod 𝑁) ↔ 𝑁 ∥ (𝑦 − 𝑧))) |
78 | 75, 77 | anbi12d 470 |
. . . . . 6
⊢ ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → (((𝑦 mod 𝑀) = (𝑧 mod 𝑀) ∧ (𝑦 mod 𝑁) = (𝑧 mod 𝑁)) ↔ (𝑀 ∥ (𝑦 − 𝑧) ∧ 𝑁 ∥ (𝑦 − 𝑧)))) |
79 | | qmulcl 9596 |
. . . . . . . . . 10
⊢ ((𝑀 ∈ ℚ ∧ 𝑁 ∈ ℚ) → (𝑀 · 𝑁) ∈ ℚ) |
80 | 29, 34, 79 | syl2anc 409 |
. . . . . . . . 9
⊢ ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → (𝑀 · 𝑁) ∈ ℚ) |
81 | | elfzole1 10111 |
. . . . . . . . . 10
⊢ (𝑦 ∈ (0..^(𝑀 · 𝑁)) → 0 ≤ 𝑦) |
82 | 65, 81 | syl 14 |
. . . . . . . . 9
⊢ ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → 0 ≤ 𝑦) |
83 | | elfzolt2 10112 |
. . . . . . . . . 10
⊢ (𝑦 ∈ (0..^(𝑀 · 𝑁)) → 𝑦 < (𝑀 · 𝑁)) |
84 | 65, 83 | syl 14 |
. . . . . . . . 9
⊢ ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → 𝑦 < (𝑀 · 𝑁)) |
85 | | modqid 10305 |
. . . . . . . . 9
⊢ (((𝑦 ∈ ℚ ∧ (𝑀 · 𝑁) ∈ ℚ) ∧ (0 ≤ 𝑦 ∧ 𝑦 < (𝑀 · 𝑁))) → (𝑦 mod (𝑀 · 𝑁)) = 𝑦) |
86 | 26, 80, 82, 84, 85 | syl22anc 1234 |
. . . . . . . 8
⊢ ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → (𝑦 mod (𝑀 · 𝑁)) = 𝑦) |
87 | | elfzole1 10111 |
. . . . . . . . . 10
⊢ (𝑧 ∈ (0..^(𝑀 · 𝑁)) → 0 ≤ 𝑧) |
88 | 67, 87 | syl 14 |
. . . . . . . . 9
⊢ ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → 0 ≤ 𝑧) |
89 | | elfzolt2 10112 |
. . . . . . . . . 10
⊢ (𝑧 ∈ (0..^(𝑀 · 𝑁)) → 𝑧 < (𝑀 · 𝑁)) |
90 | 67, 89 | syl 14 |
. . . . . . . . 9
⊢ ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → 𝑧 < (𝑀 · 𝑁)) |
91 | | modqid 10305 |
. . . . . . . . 9
⊢ (((𝑧 ∈ ℚ ∧ (𝑀 · 𝑁) ∈ ℚ) ∧ (0 ≤ 𝑧 ∧ 𝑧 < (𝑀 · 𝑁))) → (𝑧 mod (𝑀 · 𝑁)) = 𝑧) |
92 | 49, 80, 88, 90, 91 | syl22anc 1234 |
. . . . . . . 8
⊢ ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → (𝑧 mod (𝑀 · 𝑁)) = 𝑧) |
93 | 86, 92 | eqeq12d 2185 |
. . . . . . 7
⊢ ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → ((𝑦 mod (𝑀 · 𝑁)) = (𝑧 mod (𝑀 · 𝑁)) ↔ 𝑦 = 𝑧)) |
94 | 27, 32 | nnmulcld 8927 |
. . . . . . . 8
⊢ ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → (𝑀 · 𝑁) ∈ ℕ) |
95 | | moddvds 11761 |
. . . . . . . 8
⊢ (((𝑀 · 𝑁) ∈ ℕ ∧ 𝑦 ∈ ℤ ∧ 𝑧 ∈ ℤ) → ((𝑦 mod (𝑀 · 𝑁)) = (𝑧 mod (𝑀 · 𝑁)) ↔ (𝑀 · 𝑁) ∥ (𝑦 − 𝑧))) |
96 | 94, 66, 68, 95 | syl3anc 1233 |
. . . . . . 7
⊢ ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → ((𝑦 mod (𝑀 · 𝑁)) = (𝑧 mod (𝑀 · 𝑁)) ↔ (𝑀 · 𝑁) ∥ (𝑦 − 𝑧))) |
97 | 93, 96 | bitr3d 189 |
. . . . . 6
⊢ ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → (𝑦 = 𝑧 ↔ (𝑀 · 𝑁) ∥ (𝑦 − 𝑧))) |
98 | 73, 78, 97 | 3imtr4d 202 |
. . . . 5
⊢ ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → (((𝑦 mod 𝑀) = (𝑧 mod 𝑀) ∧ (𝑦 mod 𝑁) = (𝑧 mod 𝑁)) → 𝑦 = 𝑧)) |
99 | 62, 98 | sylbid 149 |
. . . 4
⊢ ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → ((𝐹‘𝑦) = (𝐹‘𝑧) → 𝑦 = 𝑧)) |
100 | 99 | ralrimivva 2552 |
. . 3
⊢ (𝜑 → ∀𝑦 ∈ 𝑆 ∀𝑧 ∈ 𝑆 ((𝐹‘𝑦) = (𝐹‘𝑧) → 𝑦 = 𝑧)) |
101 | | dff13 5747 |
. . 3
⊢ (𝐹:𝑆–1-1→𝑇 ↔ (𝐹:𝑆⟶𝑇 ∧ ∀𝑦 ∈ 𝑆 ∀𝑧 ∈ 𝑆 ((𝐹‘𝑦) = (𝐹‘𝑧) → 𝑦 = 𝑧))) |
102 | 20, 100, 101 | sylanbrc 415 |
. 2
⊢ (𝜑 → 𝐹:𝑆–1-1→𝑇) |
103 | | nnnn0 9142 |
. . . . . 6
⊢ (𝑀 ∈ ℕ → 𝑀 ∈
ℕ0) |
104 | | nnnn0 9142 |
. . . . . 6
⊢ (𝑁 ∈ ℕ → 𝑁 ∈
ℕ0) |
105 | | hashfzo0 10758 |
. . . . . . . . 9
⊢ (𝑀 ∈ ℕ0
→ (♯‘(0..^𝑀)) = 𝑀) |
106 | | hashfzo0 10758 |
. . . . . . . . 9
⊢ (𝑁 ∈ ℕ0
→ (♯‘(0..^𝑁)) = 𝑁) |
107 | 105, 106 | oveqan12d 5872 |
. . . . . . . 8
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → ((♯‘(0..^𝑀)) · (♯‘(0..^𝑁))) = (𝑀 · 𝑁)) |
108 | | 0z 9223 |
. . . . . . . . . 10
⊢ 0 ∈
ℤ |
109 | | simpl 108 |
. . . . . . . . . . 11
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → 𝑀 ∈
ℕ0) |
110 | 109 | nn0zd 9332 |
. . . . . . . . . 10
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → 𝑀 ∈ ℤ) |
111 | | fzofig 10388 |
. . . . . . . . . 10
⊢ ((0
∈ ℤ ∧ 𝑀
∈ ℤ) → (0..^𝑀) ∈ Fin) |
112 | 108, 110,
111 | sylancr 412 |
. . . . . . . . 9
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → (0..^𝑀) ∈ Fin) |
113 | | nn0z 9232 |
. . . . . . . . . . 11
⊢ (𝑁 ∈ ℕ0
→ 𝑁 ∈
ℤ) |
114 | 113 | adantl 275 |
. . . . . . . . . 10
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → 𝑁 ∈ ℤ) |
115 | | fzofig 10388 |
. . . . . . . . . 10
⊢ ((0
∈ ℤ ∧ 𝑁
∈ ℤ) → (0..^𝑁) ∈ Fin) |
116 | 108, 114,
115 | sylancr 412 |
. . . . . . . . 9
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → (0..^𝑁) ∈ Fin) |
117 | | hashxp 10761 |
. . . . . . . . 9
⊢
(((0..^𝑀) ∈ Fin
∧ (0..^𝑁) ∈ Fin)
→ (♯‘((0..^𝑀) × (0..^𝑁))) = ((♯‘(0..^𝑀)) · (♯‘(0..^𝑁)))) |
118 | 112, 116,
117 | syl2anc 409 |
. . . . . . . 8
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → (♯‘((0..^𝑀) × (0..^𝑁))) = ((♯‘(0..^𝑀)) · (♯‘(0..^𝑁)))) |
119 | | nn0mulcl 9171 |
. . . . . . . . 9
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → (𝑀 · 𝑁) ∈
ℕ0) |
120 | | hashfzo0 10758 |
. . . . . . . . 9
⊢ ((𝑀 · 𝑁) ∈ ℕ0 →
(♯‘(0..^(𝑀
· 𝑁))) = (𝑀 · 𝑁)) |
121 | 119, 120 | syl 14 |
. . . . . . . 8
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → (♯‘(0..^(𝑀 · 𝑁))) = (𝑀 · 𝑁)) |
122 | 107, 118,
121 | 3eqtr4rd 2214 |
. . . . . . 7
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → (♯‘(0..^(𝑀 · 𝑁))) = (♯‘((0..^𝑀) × (0..^𝑁)))) |
123 | 119 | nn0zd 9332 |
. . . . . . . . 9
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → (𝑀 · 𝑁) ∈ ℤ) |
124 | | fzofig 10388 |
. . . . . . . . 9
⊢ ((0
∈ ℤ ∧ (𝑀
· 𝑁) ∈ ℤ)
→ (0..^(𝑀 ·
𝑁)) ∈
Fin) |
125 | 108, 123,
124 | sylancr 412 |
. . . . . . . 8
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → (0..^(𝑀 · 𝑁)) ∈ Fin) |
126 | | xpfi 6907 |
. . . . . . . . 9
⊢
(((0..^𝑀) ∈ Fin
∧ (0..^𝑁) ∈ Fin)
→ ((0..^𝑀) ×
(0..^𝑁)) ∈
Fin) |
127 | 112, 116,
126 | syl2anc 409 |
. . . . . . . 8
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → ((0..^𝑀) × (0..^𝑁)) ∈ Fin) |
128 | | hashen 10718 |
. . . . . . . 8
⊢
(((0..^(𝑀 ·
𝑁)) ∈ Fin ∧
((0..^𝑀) × (0..^𝑁)) ∈ Fin) →
((♯‘(0..^(𝑀
· 𝑁))) =
(♯‘((0..^𝑀)
× (0..^𝑁))) ↔
(0..^(𝑀 · 𝑁)) ≈ ((0..^𝑀) × (0..^𝑁)))) |
129 | 125, 127,
128 | syl2anc 409 |
. . . . . . 7
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → ((♯‘(0..^(𝑀 · 𝑁))) = (♯‘((0..^𝑀) × (0..^𝑁))) ↔ (0..^(𝑀 · 𝑁)) ≈ ((0..^𝑀) × (0..^𝑁)))) |
130 | 122, 129 | mpbid 146 |
. . . . . 6
⊢ ((𝑀 ∈ ℕ0
∧ 𝑁 ∈
ℕ0) → (0..^(𝑀 · 𝑁)) ≈ ((0..^𝑀) × (0..^𝑁))) |
131 | 103, 104,
130 | syl2an 287 |
. . . . 5
⊢ ((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ) →
(0..^(𝑀 · 𝑁)) ≈ ((0..^𝑀) × (0..^𝑁))) |
132 | 6, 10, 131 | syl2anc 409 |
. . . 4
⊢ (𝜑 → (0..^(𝑀 · 𝑁)) ≈ ((0..^𝑀) × (0..^𝑁))) |
133 | 132, 2, 16 | 3brtr4g 4023 |
. . 3
⊢ (𝜑 → 𝑆 ≈ 𝑇) |
134 | 6 | nnnn0d 9188 |
. . . . 5
⊢ (𝜑 → 𝑀 ∈
ℕ0) |
135 | 10 | nnnn0d 9188 |
. . . . 5
⊢ (𝜑 → 𝑁 ∈
ℕ0) |
136 | 134, 135,
127 | syl2anc 409 |
. . . 4
⊢ (𝜑 → ((0..^𝑀) × (0..^𝑁)) ∈ Fin) |
137 | 16, 136 | eqeltrid 2257 |
. . 3
⊢ (𝜑 → 𝑇 ∈ Fin) |
138 | | f1finf1o 6924 |
. . 3
⊢ ((𝑆 ≈ 𝑇 ∧ 𝑇 ∈ Fin) → (𝐹:𝑆–1-1→𝑇 ↔ 𝐹:𝑆–1-1-onto→𝑇)) |
139 | 133, 137,
138 | syl2anc 409 |
. 2
⊢ (𝜑 → (𝐹:𝑆–1-1→𝑇 ↔ 𝐹:𝑆–1-1-onto→𝑇)) |
140 | 102, 139 | mpbid 146 |
1
⊢ (𝜑 → 𝐹:𝑆–1-1-onto→𝑇) |