ILE Home Intuitionistic Logic Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  ILE Home  >  Th. List  >  crth GIF version

Theorem crth 13025
Description: The Chinese Remainder Theorem: the function that maps 𝑥 to its remainder classes mod 𝑀 and mod 𝑁 is 1-1 and onto when 𝑀 and 𝑁 are coprime. (Contributed by Mario Carneiro, 24-Feb-2014.) (Proof shortened by Mario Carneiro, 2-May-2016.)
Hypotheses
Ref Expression
crth.1 𝑆 = (0..^(𝑀 · 𝑁))
crth.2 𝑇 = ((0..^𝑀) × (0..^𝑁))
crth.3 𝐹 = (𝑥 ∈ 𝑆 ↦ ⟨(𝑥 mod 𝑀), (𝑥 mod 𝑁)⟩)
crth.4 (𝜑 → (𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ (𝑀 gcd 𝑁) = 1))
Assertion
Ref Expression
crth (𝜑 → 𝐹:𝑆–1-1-onto→𝑇)
Distinct variable groups:   𝑥,𝑀   𝑥,𝑁   𝑥,𝑆   𝑥,𝑇   𝜑,𝑥
Allowed substitution hint:   𝐹(𝑥)

Proof of Theorem crth
Dummy variables 𝑦 𝑧 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 elfzoelz 10565 . . . . . 6 (𝑥 ∈ (0..^(𝑀 · 𝑁)) → 𝑥 ∈ ℤ)
2 crth.1 . . . . . 6 𝑆 = (0..^(𝑀 · 𝑁))
31, 2eleq2s 2333 . . . . 5 (𝑥 ∈ 𝑆 → 𝑥 ∈ ℤ)
4 simpr 110 . . . . . . . 8 ((𝜑 ∧ 𝑥 ∈ ℤ) → 𝑥 ∈ ℤ)
5 crth.4 . . . . . . . . . 10 (𝜑 → (𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ (𝑀 gcd 𝑁) = 1))
65simp1d 1040 . . . . . . . . 9 (𝜑 → 𝑀 ∈ ℕ)
76adantr 276 . . . . . . . 8 ((𝜑 ∧ 𝑥 ∈ ℤ) → 𝑀 ∈ ℕ)
8 zmodfzo 10799 . . . . . . . 8 ((𝑥 ∈ ℤ ∧ 𝑀 ∈ ℕ) → (𝑥 mod 𝑀) ∈ (0..^𝑀))
94, 7, 8syl2anc 415 . . . . . . 7 ((𝜑 ∧ 𝑥 ∈ ℤ) → (𝑥 mod 𝑀) ∈ (0..^𝑀))
105simp2d 1041 . . . . . . . . 9 (𝜑 → 𝑁 ∈ ℕ)
1110adantr 276 . . . . . . . 8 ((𝜑 ∧ 𝑥 ∈ ℤ) → 𝑁 ∈ ℕ)
12 zmodfzo 10799 . . . . . . . 8 ((𝑥 ∈ ℤ ∧ 𝑁 ∈ ℕ) → (𝑥 mod 𝑁) ∈ (0..^𝑁))
134, 11, 12syl2anc 415 . . . . . . 7 ((𝜑 ∧ 𝑥 ∈ ℤ) → (𝑥 mod 𝑁) ∈ (0..^𝑁))
14 opelxpi 4806 . . . . . . 7 (((𝑥 mod 𝑀) ∈ (0..^𝑀) ∧ (𝑥 mod 𝑁) ∈ (0..^𝑁)) → ⟨(𝑥 mod 𝑀), (𝑥 mod 𝑁)⟩ ∈ ((0..^𝑀) × (0..^𝑁)))
159, 13, 14syl2anc 415 . . . . . 6 ((𝜑 ∧ 𝑥 ∈ ℤ) → ⟨(𝑥 mod 𝑀), (𝑥 mod 𝑁)⟩ ∈ ((0..^𝑀) × (0..^𝑁)))
16 crth.2 . . . . . 6 𝑇 = ((0..^𝑀) × (0..^𝑁))
1715, 16eleqtrrdi 2332 . . . . 5 ((𝜑 ∧ 𝑥 ∈ ℤ) → ⟨(𝑥 mod 𝑀), (𝑥 mod 𝑁)⟩ ∈ 𝑇)
183, 17sylan2 286 . . . 4 ((𝜑 ∧ 𝑥 ∈ 𝑆) → ⟨(𝑥 mod 𝑀), (𝑥 mod 𝑁)⟩ ∈ 𝑇)
19 crth.3 . . . 4 𝐹 = (𝑥 ∈ 𝑆 ↦ ⟨(𝑥 mod 𝑀), (𝑥 mod 𝑁)⟩)
2018, 19fmptd 5862 . . 3 (𝜑 → 𝐹:𝑆⟶𝑇)
21 simprl 535 . . . . . . . 8 ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → 𝑦 ∈ 𝑆)
22 elfzoelz 10565 . . . . . . . . . . . . 13 (𝑦 ∈ (0..^(𝑀 · 𝑁)) → 𝑦 ∈ ℤ)
2322, 2eleq2s 2333 . . . . . . . . . . . 12 (𝑦 ∈ 𝑆 → 𝑦 ∈ ℤ)
2423ad2antrl 494 . . . . . . . . . . 11 ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → 𝑦 ∈ ℤ)
25 zq 10036 . . . . . . . . . . 11 (𝑦 ∈ ℤ → 𝑦 ∈ ℚ)
2624, 25syl 14 . . . . . . . . . 10 ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → 𝑦 ∈ ℚ)
276adantr 276 . . . . . . . . . . 11 ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → 𝑀 ∈ ℕ)
28 nnq 10043 . . . . . . . . . . 11 (𝑀 ∈ ℕ → 𝑀 ∈ ℚ)
2927, 28syl 14 . . . . . . . . . 10 ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → 𝑀 ∈ ℚ)
3027nngt0d 9351 . . . . . . . . . 10 ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → 0 < 𝑀)
3126, 29, 30modqcld 10780 . . . . . . . . 9 ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → (𝑦 mod 𝑀) ∈ ℚ)
3210adantr 276 . . . . . . . . . . 11 ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → 𝑁 ∈ ℕ)
33 nnq 10043 . . . . . . . . . . 11 (𝑁 ∈ ℕ → 𝑁 ∈ ℚ)
3432, 33syl 14 . . . . . . . . . 10 ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → 𝑁 ∈ ℚ)
3532nngt0d 9351 . . . . . . . . . 10 ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → 0 < 𝑁)
3626, 34, 35modqcld 10780 . . . . . . . . 9 ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → (𝑦 mod 𝑁) ∈ ℚ)
37 opexg 4368 . . . . . . . . 9 (((𝑦 mod 𝑀) ∈ ℚ ∧ (𝑦 mod 𝑁) ∈ ℚ) → ⟨(𝑦 mod 𝑀), (𝑦 mod 𝑁)⟩ ∈ V)
3831, 36, 37syl2anc 415 . . . . . . . 8 ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → ⟨(𝑦 mod 𝑀), (𝑦 mod 𝑁)⟩ ∈ V)
39 oveq1 6092 . . . . . . . . . 10 (𝑥 = 𝑦 → (𝑥 mod 𝑀) = (𝑦 mod 𝑀))
40 oveq1 6092 . . . . . . . . . 10 (𝑥 = 𝑦 → (𝑥 mod 𝑁) = (𝑦 mod 𝑁))
4139, 40opeq12d 3912 . . . . . . . . 9 (𝑥 = 𝑦 → ⟨(𝑥 mod 𝑀), (𝑥 mod 𝑁)⟩ = ⟨(𝑦 mod 𝑀), (𝑦 mod 𝑁)⟩)
4241, 19fvmptg 5781 . . . . . . . 8 ((𝑦 ∈ 𝑆 ∧ ⟨(𝑦 mod 𝑀), (𝑦 mod 𝑁)⟩ ∈ V) → (𝐹‘𝑦) = ⟨(𝑦 mod 𝑀), (𝑦 mod 𝑁)⟩)
4321, 38, 42syl2anc 415 . . . . . . 7 ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → (𝐹‘𝑦) = ⟨(𝑦 mod 𝑀), (𝑦 mod 𝑁)⟩)
44 simprr 537 . . . . . . . 8 ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → 𝑧 ∈ 𝑆)
45 elfzoelz 10565 . . . . . . . . . . . . 13 (𝑧 ∈ (0..^(𝑀 · 𝑁)) → 𝑧 ∈ ℤ)
4645, 2eleq2s 2333 . . . . . . . . . . . 12 (𝑧 ∈ 𝑆 → 𝑧 ∈ ℤ)
4744, 46syl 14 . . . . . . . . . . 11 ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → 𝑧 ∈ ℤ)
48 zq 10036 . . . . . . . . . . 11 (𝑧 ∈ ℤ → 𝑧 ∈ ℚ)
4947, 48syl 14 . . . . . . . . . 10 ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → 𝑧 ∈ ℚ)
5049, 29, 30modqcld 10780 . . . . . . . . 9 ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → (𝑧 mod 𝑀) ∈ ℚ)
5149, 34, 35modqcld 10780 . . . . . . . . 9 ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → (𝑧 mod 𝑁) ∈ ℚ)
52 opexg 4368 . . . . . . . . 9 (((𝑧 mod 𝑀) ∈ ℚ ∧ (𝑧 mod 𝑁) ∈ ℚ) → ⟨(𝑧 mod 𝑀), (𝑧 mod 𝑁)⟩ ∈ V)
5350, 51, 52syl2anc 415 . . . . . . . 8 ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → ⟨(𝑧 mod 𝑀), (𝑧 mod 𝑁)⟩ ∈ V)
54 oveq1 6092 . . . . . . . . . 10 (𝑥 = 𝑧 → (𝑥 mod 𝑀) = (𝑧 mod 𝑀))
55 oveq1 6092 . . . . . . . . . 10 (𝑥 = 𝑧 → (𝑥 mod 𝑁) = (𝑧 mod 𝑁))
5654, 55opeq12d 3912 . . . . . . . . 9 (𝑥 = 𝑧 → ⟨(𝑥 mod 𝑀), (𝑥 mod 𝑁)⟩ = ⟨(𝑧 mod 𝑀), (𝑧 mod 𝑁)⟩)
5756, 19fvmptg 5781 . . . . . . . 8 ((𝑧 ∈ 𝑆 ∧ ⟨(𝑧 mod 𝑀), (𝑧 mod 𝑁)⟩ ∈ V) → (𝐹‘𝑧) = ⟨(𝑧 mod 𝑀), (𝑧 mod 𝑁)⟩)
5844, 53, 57syl2anc 415 . . . . . . 7 ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → (𝐹‘𝑧) = ⟨(𝑧 mod 𝑀), (𝑧 mod 𝑁)⟩)
5943, 58eqeq12d 2253 . . . . . 6 ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → ((𝐹‘𝑦) = (𝐹‘𝑧) ↔ ⟨(𝑦 mod 𝑀), (𝑦 mod 𝑁)⟩ = ⟨(𝑧 mod 𝑀), (𝑧 mod 𝑁)⟩))
60 opthg 4378 . . . . . . 7 (((𝑦 mod 𝑀) ∈ ℚ ∧ (𝑦 mod 𝑁) ∈ ℚ) → (⟨(𝑦 mod 𝑀), (𝑦 mod 𝑁)⟩ = ⟨(𝑧 mod 𝑀), (𝑧 mod 𝑁)⟩ ↔ ((𝑦 mod 𝑀) = (𝑧 mod 𝑀) ∧ (𝑦 mod 𝑁) = (𝑧 mod 𝑁))))
6131, 36, 60syl2anc 415 . . . . . 6 ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → (⟨(𝑦 mod 𝑀), (𝑦 mod 𝑁)⟩ = ⟨(𝑧 mod 𝑀), (𝑧 mod 𝑁)⟩ ↔ ((𝑦 mod 𝑀) = (𝑧 mod 𝑀) ∧ (𝑦 mod 𝑁) = (𝑧 mod 𝑁))))
6259, 61bitrd 188 . . . . 5 ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → ((𝐹‘𝑦) = (𝐹‘𝑧) ↔ ((𝑦 mod 𝑀) = (𝑧 mod 𝑀) ∧ (𝑦 mod 𝑁) = (𝑧 mod 𝑁))))
6327nnzd 9772 . . . . . . 7 ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → 𝑀 ∈ ℤ)
6432nnzd 9772 . . . . . . 7 ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → 𝑁 ∈ ℤ)
6521, 2eleqtrdi 2331 . . . . . . . . 9 ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → 𝑦 ∈ (0..^(𝑀 · 𝑁)))
6665, 22syl 14 . . . . . . . 8 ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → 𝑦 ∈ ℤ)
6744, 2eleqtrdi 2331 . . . . . . . . 9 ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → 𝑧 ∈ (0..^(𝑀 · 𝑁)))
6867, 45syl 14 . . . . . . . 8 ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → 𝑧 ∈ ℤ)
6966, 68zsubcld 9778 . . . . . . 7 ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → (𝑦 − 𝑧) ∈ ℤ)
705simp3d 1042 . . . . . . . 8 (𝜑 → (𝑀 gcd 𝑁) = 1)
7170adantr 276 . . . . . . 7 ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → (𝑀 gcd 𝑁) = 1)
72 coprmdvds2 12890 . . . . . . 7 (((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ∧ (𝑦 − 𝑧) ∈ ℤ) ∧ (𝑀 gcd 𝑁) = 1) → ((𝑀 ∥ (𝑦 − 𝑧) ∧ 𝑁 ∥ (𝑦 − 𝑧)) → (𝑀 · 𝑁) ∥ (𝑦 − 𝑧)))
7363, 64, 69, 71, 72syl31anc 1281 . . . . . 6 ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → ((𝑀 ∥ (𝑦 − 𝑧) ∧ 𝑁 ∥ (𝑦 − 𝑧)) → (𝑀 · 𝑁) ∥ (𝑦 − 𝑧)))
74 moddvds 12585 . . . . . . . 8 ((𝑀 ∈ ℕ ∧ 𝑦 ∈ ℤ ∧ 𝑧 ∈ ℤ) → ((𝑦 mod 𝑀) = (𝑧 mod 𝑀) ↔ 𝑀 ∥ (𝑦 − 𝑧)))
7527, 66, 68, 74syl3anc 1278 . . . . . . 7 ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → ((𝑦 mod 𝑀) = (𝑧 mod 𝑀) ↔ 𝑀 ∥ (𝑦 − 𝑧)))
76 moddvds 12585 . . . . . . . 8 ((𝑁 ∈ ℕ ∧ 𝑦 ∈ ℤ ∧ 𝑧 ∈ ℤ) → ((𝑦 mod 𝑁) = (𝑧 mod 𝑁) ↔ 𝑁 ∥ (𝑦 − 𝑧)))
7732, 66, 68, 76syl3anc 1278 . . . . . . 7 ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → ((𝑦 mod 𝑁) = (𝑧 mod 𝑁) ↔ 𝑁 ∥ (𝑦 − 𝑧)))
7875, 77anbi12d 477 . . . . . 6 ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → (((𝑦 mod 𝑀) = (𝑧 mod 𝑀) ∧ (𝑦 mod 𝑁) = (𝑧 mod 𝑁)) ↔ (𝑀 ∥ (𝑦 − 𝑧) ∧ 𝑁 ∥ (𝑦 − 𝑧))))
79 qmulcl 10047 . . . . . . . . . 10 ((𝑀 ∈ ℚ ∧ 𝑁 ∈ ℚ) → (𝑀 · 𝑁) ∈ ℚ)
8029, 34, 79syl2anc 415 . . . . . . . . 9 ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → (𝑀 · 𝑁) ∈ ℚ)
81 elfzole1 10574 . . . . . . . . . 10 (𝑦 ∈ (0..^(𝑀 · 𝑁)) → 0 ≤ 𝑦)
8265, 81syl 14 . . . . . . . . 9 ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → 0 ≤ 𝑦)
83 elfzolt2 10575 . . . . . . . . . 10 (𝑦 ∈ (0..^(𝑀 · 𝑁)) → 𝑦 < (𝑀 · 𝑁))
8465, 83syl 14 . . . . . . . . 9 ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → 𝑦 < (𝑀 · 𝑁))
85 modqid 10801 . . . . . . . . 9 (((𝑦 ∈ ℚ ∧ (𝑀 · 𝑁) ∈ ℚ) ∧ (0 ≤ 𝑦 ∧ 𝑦 < (𝑀 · 𝑁))) → (𝑦 mod (𝑀 · 𝑁)) = 𝑦)
8626, 80, 82, 84, 85syl22anc 1279 . . . . . . . 8 ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → (𝑦 mod (𝑀 · 𝑁)) = 𝑦)
87 elfzole1 10574 . . . . . . . . . 10 (𝑧 ∈ (0..^(𝑀 · 𝑁)) → 0 ≤ 𝑧)
8867, 87syl 14 . . . . . . . . 9 ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → 0 ≤ 𝑧)
89 elfzolt2 10575 . . . . . . . . . 10 (𝑧 ∈ (0..^(𝑀 · 𝑁)) → 𝑧 < (𝑀 · 𝑁))
9067, 89syl 14 . . . . . . . . 9 ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → 𝑧 < (𝑀 · 𝑁))
91 modqid 10801 . . . . . . . . 9 (((𝑧 ∈ ℚ ∧ (𝑀 · 𝑁) ∈ ℚ) ∧ (0 ≤ 𝑧 ∧ 𝑧 < (𝑀 · 𝑁))) → (𝑧 mod (𝑀 · 𝑁)) = 𝑧)
9249, 80, 88, 90, 91syl22anc 1279 . . . . . . . 8 ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → (𝑧 mod (𝑀 · 𝑁)) = 𝑧)
9386, 92eqeq12d 2253 . . . . . . 7 ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → ((𝑦 mod (𝑀 · 𝑁)) = (𝑧 mod (𝑀 · 𝑁)) ↔ 𝑦 = 𝑧))
9427, 32nnmulcld 9356 . . . . . . . 8 ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → (𝑀 · 𝑁) ∈ ℕ)
95 moddvds 12585 . . . . . . . 8 (((𝑀 · 𝑁) ∈ ℕ ∧ 𝑦 ∈ ℤ ∧ 𝑧 ∈ ℤ) → ((𝑦 mod (𝑀 · 𝑁)) = (𝑧 mod (𝑀 · 𝑁)) ↔ (𝑀 · 𝑁) ∥ (𝑦 − 𝑧)))
9694, 66, 68, 95syl3anc 1278 . . . . . . 7 ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → ((𝑦 mod (𝑀 · 𝑁)) = (𝑧 mod (𝑀 · 𝑁)) ↔ (𝑀 · 𝑁) ∥ (𝑦 − 𝑧)))
9793, 96bitr3d 190 . . . . . 6 ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → (𝑦 = 𝑧 ↔ (𝑀 · 𝑁) ∥ (𝑦 − 𝑧)))
9873, 78, 973imtr4d 203 . . . . 5 ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → (((𝑦 mod 𝑀) = (𝑧 mod 𝑀) ∧ (𝑦 mod 𝑁) = (𝑧 mod 𝑁)) → 𝑦 = 𝑧))
9962, 98sylbid 150 . . . 4 ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → ((𝐹‘𝑦) = (𝐹‘𝑧) → 𝑦 = 𝑧))
10099ralrimivva 2632 . . 3 (𝜑 → ∀𝑦 ∈ 𝑆 ∀𝑧 ∈ 𝑆 ((𝐹‘𝑦) = (𝐹‘𝑧) → 𝑦 = 𝑧))
101 dff13 5974 . . 3 (𝐹:𝑆–1-1→𝑇 ↔ (𝐹:𝑆⟶𝑇 ∧ ∀𝑦 ∈ 𝑆 ∀𝑧 ∈ 𝑆 ((𝐹‘𝑦) = (𝐹‘𝑧) → 𝑦 = 𝑧)))
10220, 100, 101sylanbrc 421 . 2 (𝜑 → 𝐹:𝑆–1-1→𝑇)
103 nnnn0 9575 . . . . . 6 (𝑀 ∈ ℕ → 𝑀 ∈ ℕ0)
104 nnnn0 9575 . . . . . 6 (𝑁 ∈ ℕ → 𝑁 ∈ ℕ0)
105 hashfzo0 11280 . . . . . . . . 9 (𝑀 ∈ ℕ0 → (♯‘(0..^𝑀)) = 𝑀)
106 hashfzo0 11280 . . . . . . . . 9 (𝑁 ∈ ℕ0 → (♯‘(0..^𝑁)) = 𝑁)
107105, 106oveqan12d 6104 . . . . . . . 8 ((𝑀 ∈ ℕ0 ∧ 𝑁 ∈ ℕ0) → ((♯‘(0..^𝑀)) · (♯‘(0..^𝑁))) = (𝑀 · 𝑁))
108 0z 9660 . . . . . . . . . 10 0 ∈ ℤ
109 simpl 109 . . . . . . . . . . 11 ((𝑀 ∈ ℕ0 ∧ 𝑁 ∈ ℕ0) → 𝑀 ∈ ℕ0)
110109nn0zd 9771 . . . . . . . . . 10 ((𝑀 ∈ ℕ0 ∧ 𝑁 ∈ ℕ0) → 𝑀 ∈ ℤ)
111 fzofig 10884 . . . . . . . . . 10 ((0 ∈ ℤ ∧ 𝑀 ∈ ℤ) → (0..^𝑀) ∈ Fin)
112108, 110, 111sylancr 418 . . . . . . . . 9 ((𝑀 ∈ ℕ0 ∧ 𝑁 ∈ ℕ0) → (0..^𝑀) ∈ Fin)
113 nn0z 9669 . . . . . . . . . . 11 (𝑁 ∈ ℕ0 → 𝑁 ∈ ℤ)
114113adantl 277 . . . . . . . . . 10 ((𝑀 ∈ ℕ0 ∧ 𝑁 ∈ ℕ0) → 𝑁 ∈ ℤ)
115 fzofig 10884 . . . . . . . . . 10 ((0 ∈ ℤ ∧ 𝑁 ∈ ℤ) → (0..^𝑁) ∈ Fin)
116108, 114, 115sylancr 418 . . . . . . . . 9 ((𝑀 ∈ ℕ0 ∧ 𝑁 ∈ ℕ0) → (0..^𝑁) ∈ Fin)
117 hashxp 11283 . . . . . . . . 9 (((0..^𝑀) ∈ Fin ∧ (0..^𝑁) ∈ Fin) → (♯‘((0..^𝑀) × (0..^𝑁))) = ((♯‘(0..^𝑀)) · (♯‘(0..^𝑁))))
118112, 116, 117syl2anc 415 . . . . . . . 8 ((𝑀 ∈ ℕ0 ∧ 𝑁 ∈ ℕ0) → (♯‘((0..^𝑀) × (0..^𝑁))) = ((♯‘(0..^𝑀)) · (♯‘(0..^𝑁))))
119 nn0mulcl 9604 . . . . . . . . 9 ((𝑀 ∈ ℕ0 ∧ 𝑁 ∈ ℕ0) → (𝑀 · 𝑁) ∈ ℕ0)
120 hashfzo0 11280 . . . . . . . . 9 ((𝑀 · 𝑁) ∈ ℕ0 → (♯‘(0..^(𝑀 · 𝑁))) = (𝑀 · 𝑁))
121119, 120syl 14 . . . . . . . 8 ((𝑀 ∈ ℕ0 ∧ 𝑁 ∈ ℕ0) → (♯‘(0..^(𝑀 · 𝑁))) = (𝑀 · 𝑁))
122107, 118, 1213eqtr4rd 2282 . . . . . . 7 ((𝑀 ∈ ℕ0 ∧ 𝑁 ∈ ℕ0) → (♯‘(0..^(𝑀 · 𝑁))) = (♯‘((0..^𝑀) × (0..^𝑁))))
123119nn0zd 9771 . . . . . . . . 9 ((𝑀 ∈ ℕ0 ∧ 𝑁 ∈ ℕ0) → (𝑀 · 𝑁) ∈ ℤ)
124 fzofig 10884 . . . . . . . . 9 ((0 ∈ ℤ ∧ (𝑀 · 𝑁) ∈ ℤ) → (0..^(𝑀 · 𝑁)) ∈ Fin)
125108, 123, 124sylancr 418 . . . . . . . 8 ((𝑀 ∈ ℕ0 ∧ 𝑁 ∈ ℕ0) → (0..^(𝑀 · 𝑁)) ∈ Fin)
126 xpfi 7239 . . . . . . . . 9 (((0..^𝑀) ∈ Fin ∧ (0..^𝑁) ∈ Fin) → ((0..^𝑀) × (0..^𝑁)) ∈ Fin)
127112, 116, 126syl2anc 415 . . . . . . . 8 ((𝑀 ∈ ℕ0 ∧ 𝑁 ∈ ℕ0) → ((0..^𝑀) × (0..^𝑁)) ∈ Fin)
128 hashen 11239 . . . . . . . 8 (((0..^(𝑀 · 𝑁)) ∈ Fin ∧ ((0..^𝑀) × (0..^𝑁)) ∈ Fin) → ((♯‘(0..^(𝑀 · 𝑁))) = (♯‘((0..^𝑀) × (0..^𝑁))) ↔ (0..^(𝑀 · 𝑁)) ≈ ((0..^𝑀) × (0..^𝑁))))
129125, 127, 128syl2anc 415 . . . . . . 7 ((𝑀 ∈ ℕ0 ∧ 𝑁 ∈ ℕ0) → ((♯‘(0..^(𝑀 · 𝑁))) = (♯‘((0..^𝑀) × (0..^𝑁))) ↔ (0..^(𝑀 · 𝑁)) ≈ ((0..^𝑀) × (0..^𝑁))))
130122, 129mpbid 147 . . . . . 6 ((𝑀 ∈ ℕ0 ∧ 𝑁 ∈ ℕ0) → (0..^(𝑀 · 𝑁)) ≈ ((0..^𝑀) × (0..^𝑁)))
131103, 104, 130syl2an 289 . . . . 5 ((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ) → (0..^(𝑀 · 𝑁)) ≈ ((0..^𝑀) × (0..^𝑁)))
1326, 10, 131syl2anc 415 . . . 4 (𝜑 → (0..^(𝑀 · 𝑁)) ≈ ((0..^𝑀) × (0..^𝑁)))
133132, 2, 163brtr4g 4164 . . 3 (𝜑 → 𝑆 ≈ 𝑇)
1346nnnn0d 9625 . . . . 5 (𝜑 → 𝑀 ∈ ℕ0)
13510nnnn0d 9625 . . . . 5 (𝜑 → 𝑁 ∈ ℕ0)
136134, 135, 127syl2anc 415 . . . 4 (𝜑 → ((0..^𝑀) × (0..^𝑁)) ∈ Fin)
13716, 136eqeltrid 2325 . . 3 (𝜑 → 𝑇 ∈ Fin)
138 f1finf1o 7264 . . 3 ((𝑆 ≈ 𝑇 ∧ 𝑇 ∈ Fin) → (𝐹:𝑆–1-1→𝑇 ↔ 𝐹:𝑆–1-1-onto→𝑇))
139133, 137, 138syl2anc 415 . 2 (𝜑 → (𝐹:𝑆–1-1→𝑇 ↔ 𝐹:𝑆–1-1-onto→𝑇))
140102, 139mpbid 147 1 (𝜑 → 𝐹:𝑆–1-1-onto→𝑇)
Colors of variables:    wff set class
This proof depends on syntax axioms:   → wi 4   ∧ wa 104   ↔ wb 105   ∧ w3a 1009   = wceq 1402   ∈ wcel 2209  ∀wral 2528  Vcvv 2821  ⟨cop 3712   class class class wbr 4130   ↦ cmpt 4192   × cxp 4772  ⟶wf 5373  –1-1→wf1 5374  –1-1-onto→wf1o 5376  ‘cfv 5377  (class class class)co 6085   ≈ cen 7020  Fincfn 7022  0cc0 8180  1c1 8181   · cmul 8185   < clt 8361   ≤ cle 8362   − cmin 8499  ℕcn 9307  ℕ0cn0 9568  ℤcz 9649  ℚcq 10029  ..^cfzo 10560   mod cmo 10774  ♯chash 11230   ∥ cdvds 12573   gcd cgcd 12749
This proof depends on axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-ia1 106  ax-ia2 107  ax-ia3 108  ax-in1 623  ax-in2 624  ax-io 721  ax-5 1500  ax-7 1501  ax-gen 1502  ax-ie1 1546  ax-ie2 1547  ax-8 1557  ax-10 1558  ax-11 1559  ax-i12 1560  ax-bndl 1562  ax-4 1563  ax-17 1579  ax-i9 1583  ax-ial 1587  ax-i5r 1588  ax-14 2212  ax-ext 2220  ax-coll 4246  ax-sep 4249  ax-nul 4259  ax-pow 4311  ax-pr 4346  ax-un 4578  ax-setind 4684  ax-iinf 4735  ax-cnex 8271  ax-resscn 8272  ax-1cn 8273  ax-1re 8274  ax-icn 8275  ax-addcl 8276  ax-addrcl 8277  ax-mulcl 8278  ax-mulrcl 8279  ax-addcom 8280  ax-mulcom 8281  ax-addass 8282  ax-mulass 8283  ax-distr 8284  ax-i2m1 8285  ax-0lt1 8286  ax-1rid 8287  ax-0id 8288  ax-rnegex 8289  ax-precex 8290  ax-cnre 8291  ax-pre-ltirr 8292  ax-pre-ltwlin 8293  ax-pre-lttrn 8294  ax-pre-apti 8295  ax-pre-ltadd 8296  ax-pre-mulgt0 8297  ax-pre-mulext 8298  ax-arch 8299  ax-caucvg 8300
This proof depends on definitions:  df-bi 117  df-dc 847  df-3or 1010  df-3an 1011  df-tru 1405  df-fal 1408  df-nf 1514  df-sb 1816  df-eu 2089  df-mo 2090  df-clab 2225  df-cleq 2231  df-clel 2234  df-nfc 2381  df-ne 2421  df-nel 2516  df-ral 2533  df-rex 2534  df-reu 2535  df-rmo 2536  df-rab 2537  df-v 2823  df-sbc 3052  df-csb 3148  df-dif 3222  df-un 3224  df-in 3226  df-ss 3233  df-nul 3521  df-if 3639  df-pw 3690  df-sn 3715  df-pr 3716  df-op 3718  df-uni 3936  df-int 3971  df-iun 4014  df-br 4131  df-opab 4193  df-mpt 4194  df-tr 4230  df-id 4438  df-po 4441  df-iso 4442  df-iord 4511  df-on 4513  df-ilim 4514  df-suc 4516  df-iom 4738  df-xp 4780  df-rel 4781  df-cnv 4782  df-co 4783  df-dm 4784  df-rn 4785  df-res 4786  df-ima 4787  df-iota 5337  df-fun 5379  df-fn 5380  df-f 5381  df-f1 5382  df-fo 5383  df-f1o 5384  df-fv 5385  df-riota 6038  df-ov 6088  df-oprab 6089  df-mpo 6090  df-1st 6374  df-2nd 6375  df-recs 6576  df-irdg 6641  df-frec 6662  df-1o 6687  df-oadd 6691  df-er 6807  df-en 7023  df-dom 7024  df-fin 7025  df-sup 7325  df-pnf 8363  df-mnf 8364  df-xr 8365  df-ltxr 8366  df-le 8367  df-sub 8501  df-neg 8502  df-reap 8906  df-ap 8913  df-div 9006  df-inn 9308  df-2 9366  df-3 9367  df-4 9368  df-n0 9569  df-z 9650  df-uz 9932  df-q 10030  df-rp 10066  df-fz 10423  df-fzo 10561  df-fl 10716  df-mod 10775  df-seqfrec 10900  df-exp 10991  df-ihash 11231  df-cj 11623  df-re 11624  df-im 11625  df-rsqrt 11780  df-abs 11781  df-dvds 12574  df-gcd 12750
This theorem is used by:  phimullem  13026
  Copyright terms: Public domain W3C validator