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

Theorem crth 13031
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 10571 . . . . . 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 10805 . . . . . . . 8 ((𝑥 ∈ ℤ ∧ 𝑀 ∈ ℕ) → (𝑥 mod 𝑀) ∈ (0..^𝑀))
94, 7, 8syl2anc 415 . . . . . . 7 ((𝜑 ∧ 𝑥 ∈ ℤ) → (𝑥 mod 𝑀) ∈ (0..^𝑀))
105simp2d 1041 . . . . . . . . 9 (𝜑 → 𝑁 ∈ ℕ)
1110adantr 276 . . . . . . . 8 ((𝜑 ∧ 𝑥 ∈ ℤ) → 𝑁 ∈ ℕ)
12 zmodfzo 10805 . . . . . . . 8 ((𝑥 ∈ ℤ ∧ 𝑁 ∈ ℕ) → (𝑥 mod 𝑁) ∈ (0..^𝑁))
134, 11, 12syl2anc 415 . . . . . . 7 ((𝜑 ∧ 𝑥 ∈ ℤ) → (𝑥 mod 𝑁) ∈ (0..^𝑁))
14 opelxpi 4808 . . . . . . 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 5865 . . 3 (𝜑 → 𝐹:𝑆⟶𝑇)
21 simprl 535 . . . . . . . 8 ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → 𝑦 ∈ 𝑆)
22 elfzoelz 10571 . . . . . . . . . . . . 13 (𝑦 ∈ (0..^(𝑀 · 𝑁)) → 𝑦 ∈ ℤ)
2322, 2eleq2s 2333 . . . . . . . . . . . 12 (𝑦 ∈ 𝑆 → 𝑦 ∈ ℤ)
2423ad2antrl 494 . . . . . . . . . . 11 ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → 𝑦 ∈ ℤ)
25 zq 10042 . . . . . . . . . . 11 (𝑦 ∈ ℤ → 𝑦 ∈ ℚ)
2624, 25syl 14 . . . . . . . . . 10 ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → 𝑦 ∈ ℚ)
276adantr 276 . . . . . . . . . . 11 ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → 𝑀 ∈ ℕ)
28 nnq 10049 . . . . . . . . . . 11 (𝑀 ∈ ℕ → 𝑀 ∈ ℚ)
2927, 28syl 14 . . . . . . . . . 10 ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → 𝑀 ∈ ℚ)
3027nngt0d 9357 . . . . . . . . . 10 ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → 0 < 𝑀)
3126, 29, 30modqcld 10786 . . . . . . . . 9 ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → (𝑦 mod 𝑀) ∈ ℚ)
3210adantr 276 . . . . . . . . . . 11 ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → 𝑁 ∈ ℕ)
33 nnq 10049 . . . . . . . . . . 11 (𝑁 ∈ ℕ → 𝑁 ∈ ℚ)
3432, 33syl 14 . . . . . . . . . 10 ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → 𝑁 ∈ ℚ)
3532nngt0d 9357 . . . . . . . . . 10 ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → 0 < 𝑁)
3626, 34, 35modqcld 10786 . . . . . . . . 9 ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → (𝑦 mod 𝑁) ∈ ℚ)
37 opexg 4370 . . . . . . . . 9 (((𝑦 mod 𝑀) ∈ ℚ ∧ (𝑦 mod 𝑁) ∈ ℚ) → ⟨(𝑦 mod 𝑀), (𝑦 mod 𝑁)⟩ ∈ V)
3831, 36, 37syl2anc 415 . . . . . . . 8 ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → ⟨(𝑦 mod 𝑀), (𝑦 mod 𝑁)⟩ ∈ V)
39 oveq1 6095 . . . . . . . . . 10 (𝑥 = 𝑦 → (𝑥 mod 𝑀) = (𝑦 mod 𝑀))
40 oveq1 6095 . . . . . . . . . 10 (𝑥 = 𝑦 → (𝑥 mod 𝑁) = (𝑦 mod 𝑁))
4139, 40opeq12d 3912 . . . . . . . . 9 (𝑥 = 𝑦 → ⟨(𝑥 mod 𝑀), (𝑥 mod 𝑁)⟩ = ⟨(𝑦 mod 𝑀), (𝑦 mod 𝑁)⟩)
4241, 19fvmptg 5784 . . . . . . . 8 ((𝑦 ∈ 𝑆 ∧ ⟨(𝑦 mod 𝑀), (𝑦 mod 𝑁)⟩ ∈ V) → (𝐹‘𝑦) = ⟨(𝑦 mod 𝑀), (𝑦 mod 𝑁)⟩)
4321, 38, 42syl2anc 415 . . . . . . 7 ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → (𝐹‘𝑦) = ⟨(𝑦 mod 𝑀), (𝑦 mod 𝑁)⟩)
44 simprr 537 . . . . . . . 8 ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → 𝑧 ∈ 𝑆)
45 elfzoelz 10571 . . . . . . . . . . . . 13 (𝑧 ∈ (0..^(𝑀 · 𝑁)) → 𝑧 ∈ ℤ)
4645, 2eleq2s 2333 . . . . . . . . . . . 12 (𝑧 ∈ 𝑆 → 𝑧 ∈ ℤ)
4744, 46syl 14 . . . . . . . . . . 11 ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → 𝑧 ∈ ℤ)
48 zq 10042 . . . . . . . . . . 11 (𝑧 ∈ ℤ → 𝑧 ∈ ℚ)
4947, 48syl 14 . . . . . . . . . 10 ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → 𝑧 ∈ ℚ)
5049, 29, 30modqcld 10786 . . . . . . . . 9 ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → (𝑧 mod 𝑀) ∈ ℚ)
5149, 34, 35modqcld 10786 . . . . . . . . 9 ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → (𝑧 mod 𝑁) ∈ ℚ)
52 opexg 4370 . . . . . . . . 9 (((𝑧 mod 𝑀) ∈ ℚ ∧ (𝑧 mod 𝑁) ∈ ℚ) → ⟨(𝑧 mod 𝑀), (𝑧 mod 𝑁)⟩ ∈ V)
5350, 51, 52syl2anc 415 . . . . . . . 8 ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → ⟨(𝑧 mod 𝑀), (𝑧 mod 𝑁)⟩ ∈ V)
54 oveq1 6095 . . . . . . . . . 10 (𝑥 = 𝑧 → (𝑥 mod 𝑀) = (𝑧 mod 𝑀))
55 oveq1 6095 . . . . . . . . . 10 (𝑥 = 𝑧 → (𝑥 mod 𝑁) = (𝑧 mod 𝑁))
5654, 55opeq12d 3912 . . . . . . . . 9 (𝑥 = 𝑧 → ⟨(𝑥 mod 𝑀), (𝑥 mod 𝑁)⟩ = ⟨(𝑧 mod 𝑀), (𝑧 mod 𝑁)⟩)
5756, 19fvmptg 5784 . . . . . . . 8 ((𝑧 ∈ 𝑆 ∧ ⟨(𝑧 mod 𝑀), (𝑧 mod 𝑁)⟩ ∈ V) → (𝐹‘𝑧) = ⟨(𝑧 mod 𝑀), (𝑧 mod 𝑁)⟩)
5844, 53, 57syl2anc 415 . . . . . . 7 ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → (𝐹‘𝑧) = ⟨(𝑧 mod 𝑀), (𝑧 mod 𝑁)⟩)
5943, 58eqeq12d 2253 . . . . . 6 ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → ((𝐹‘𝑦) = (𝐹‘𝑧) ↔ ⟨(𝑦 mod 𝑀), (𝑦 mod 𝑁)⟩ = ⟨(𝑧 mod 𝑀), (𝑧 mod 𝑁)⟩))
60 opthg 4380 . . . . . . 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 9778 . . . . . . 7 ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → 𝑀 ∈ ℤ)
6432nnzd 9778 . . . . . . 7 ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → 𝑁 ∈ ℤ)
6521, 2eleqtrdi 2331 . . . . . . . . 9 ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → 𝑦 ∈ (0..^(𝑀 · 𝑁)))
6665, 22syl 14 . . . . . . . 8 ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → 𝑦 ∈ ℤ)
6744, 2eleqtrdi 2331 . . . . . . . . 9 ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → 𝑧 ∈ (0..^(𝑀 · 𝑁)))
6867, 45syl 14 . . . . . . . 8 ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → 𝑧 ∈ ℤ)
6966, 68zsubcld 9784 . . . . . . 7 ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → (𝑦 − 𝑧) ∈ ℤ)
705simp3d 1042 . . . . . . . 8 (𝜑 → (𝑀 gcd 𝑁) = 1)
7170adantr 276 . . . . . . 7 ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → (𝑀 gcd 𝑁) = 1)
72 coprmdvds2 12896 . . . . . . 7 (((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ∧ (𝑦 − 𝑧) ∈ ℤ) ∧ (𝑀 gcd 𝑁) = 1) → ((𝑀 ∥ (𝑦 − 𝑧) ∧ 𝑁 ∥ (𝑦 − 𝑧)) → (𝑀 · 𝑁) ∥ (𝑦 − 𝑧)))
7363, 64, 69, 71, 72syl31anc 1281 . . . . . 6 ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → ((𝑀 ∥ (𝑦 − 𝑧) ∧ 𝑁 ∥ (𝑦 − 𝑧)) → (𝑀 · 𝑁) ∥ (𝑦 − 𝑧)))
74 moddvds 12591 . . . . . . . 8 ((𝑀 ∈ ℕ ∧ 𝑦 ∈ ℤ ∧ 𝑧 ∈ ℤ) → ((𝑦 mod 𝑀) = (𝑧 mod 𝑀) ↔ 𝑀 ∥ (𝑦 − 𝑧)))
7527, 66, 68, 74syl3anc 1278 . . . . . . 7 ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → ((𝑦 mod 𝑀) = (𝑧 mod 𝑀) ↔ 𝑀 ∥ (𝑦 − 𝑧)))
76 moddvds 12591 . . . . . . . 8 ((𝑁 ∈ ℕ ∧ 𝑦 ∈ ℤ ∧ 𝑧 ∈ ℤ) → ((𝑦 mod 𝑁) = (𝑧 mod 𝑁) ↔ 𝑁 ∥ (𝑦 − 𝑧)))
7732, 66, 68, 76syl3anc 1278 . . . . . . 7 ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → ((𝑦 mod 𝑁) = (𝑧 mod 𝑁) ↔ 𝑁 ∥ (𝑦 − 𝑧)))
7875, 77anbi12d 477 . . . . . 6 ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → (((𝑦 mod 𝑀) = (𝑧 mod 𝑀) ∧ (𝑦 mod 𝑁) = (𝑧 mod 𝑁)) ↔ (𝑀 ∥ (𝑦 − 𝑧) ∧ 𝑁 ∥ (𝑦 − 𝑧))))
79 qmulcl 10053 . . . . . . . . . 10 ((𝑀 ∈ ℚ ∧ 𝑁 ∈ ℚ) → (𝑀 · 𝑁) ∈ ℚ)
8029, 34, 79syl2anc 415 . . . . . . . . 9 ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → (𝑀 · 𝑁) ∈ ℚ)
81 elfzole1 10580 . . . . . . . . . 10 (𝑦 ∈ (0..^(𝑀 · 𝑁)) → 0 ≤ 𝑦)
8265, 81syl 14 . . . . . . . . 9 ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → 0 ≤ 𝑦)
83 elfzolt2 10581 . . . . . . . . . 10 (𝑦 ∈ (0..^(𝑀 · 𝑁)) → 𝑦 < (𝑀 · 𝑁))
8465, 83syl 14 . . . . . . . . 9 ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → 𝑦 < (𝑀 · 𝑁))
85 modqid 10807 . . . . . . . . 9 (((𝑦 ∈ ℚ ∧ (𝑀 · 𝑁) ∈ ℚ) ∧ (0 ≤ 𝑦 ∧ 𝑦 < (𝑀 · 𝑁))) → (𝑦 mod (𝑀 · 𝑁)) = 𝑦)
8626, 80, 82, 84, 85syl22anc 1279 . . . . . . . 8 ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → (𝑦 mod (𝑀 · 𝑁)) = 𝑦)
87 elfzole1 10580 . . . . . . . . . 10 (𝑧 ∈ (0..^(𝑀 · 𝑁)) → 0 ≤ 𝑧)
8867, 87syl 14 . . . . . . . . 9 ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → 0 ≤ 𝑧)
89 elfzolt2 10581 . . . . . . . . . 10 (𝑧 ∈ (0..^(𝑀 · 𝑁)) → 𝑧 < (𝑀 · 𝑁))
9067, 89syl 14 . . . . . . . . 9 ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → 𝑧 < (𝑀 · 𝑁))
91 modqid 10807 . . . . . . . . 9 (((𝑧 ∈ ℚ ∧ (𝑀 · 𝑁) ∈ ℚ) ∧ (0 ≤ 𝑧 ∧ 𝑧 < (𝑀 · 𝑁))) → (𝑧 mod (𝑀 · 𝑁)) = 𝑧)
9249, 80, 88, 90, 91syl22anc 1279 . . . . . . . 8 ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → (𝑧 mod (𝑀 · 𝑁)) = 𝑧)
9386, 92eqeq12d 2253 . . . . . . 7 ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → ((𝑦 mod (𝑀 · 𝑁)) = (𝑧 mod (𝑀 · 𝑁)) ↔ 𝑦 = 𝑧))
9427, 32nnmulcld 9362 . . . . . . . 8 ((𝜑 ∧ (𝑦 ∈ 𝑆 ∧ 𝑧 ∈ 𝑆)) → (𝑀 · 𝑁) ∈ ℕ)
95 moddvds 12591 . . . . . . . 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 5977 . . 3 (𝐹:𝑆–1-1→𝑇 ↔ (𝐹:𝑆⟶𝑇 ∧ ∀𝑦 ∈ 𝑆 ∀𝑧 ∈ 𝑆 ((𝐹‘𝑦) = (𝐹‘𝑧) → 𝑦 = 𝑧)))
10220, 100, 101sylanbrc 421 . 2 (𝜑 → 𝐹:𝑆–1-1→𝑇)
103 nnnn0 9581 . . . . . 6 (𝑀 ∈ ℕ → 𝑀 ∈ ℕ0)
104 nnnn0 9581 . . . . . 6 (𝑁 ∈ ℕ → 𝑁 ∈ ℕ0)
105 hashfzo0 11286 . . . . . . . . 9 (𝑀 ∈ ℕ0 → (♯‘(0..^𝑀)) = 𝑀)
106 hashfzo0 11286 . . . . . . . . 9 (𝑁 ∈ ℕ0 → (♯‘(0..^𝑁)) = 𝑁)
107105, 106oveqan12d 6107 . . . . . . . 8 ((𝑀 ∈ ℕ0 ∧ 𝑁 ∈ ℕ0) → ((♯‘(0..^𝑀)) · (♯‘(0..^𝑁))) = (𝑀 · 𝑁))
108 0z 9666 . . . . . . . . . 10 0 ∈ ℤ
109 simpl 109 . . . . . . . . . . 11 ((𝑀 ∈ ℕ0 ∧ 𝑁 ∈ ℕ0) → 𝑀 ∈ ℕ0)
110109nn0zd 9777 . . . . . . . . . 10 ((𝑀 ∈ ℕ0 ∧ 𝑁 ∈ ℕ0) → 𝑀 ∈ ℤ)
111 fzofig 10890 . . . . . . . . . 10 ((0 ∈ ℤ ∧ 𝑀 ∈ ℤ) → (0..^𝑀) ∈ Fin)
112108, 110, 111sylancr 418 . . . . . . . . 9 ((𝑀 ∈ ℕ0 ∧ 𝑁 ∈ ℕ0) → (0..^𝑀) ∈ Fin)
113 nn0z 9675 . . . . . . . . . . 11 (𝑁 ∈ ℕ0 → 𝑁 ∈ ℤ)
114113adantl 277 . . . . . . . . . 10 ((𝑀 ∈ ℕ0 ∧ 𝑁 ∈ ℕ0) → 𝑁 ∈ ℤ)
115 fzofig 10890 . . . . . . . . . 10 ((0 ∈ ℤ ∧ 𝑁 ∈ ℤ) → (0..^𝑁) ∈ Fin)
116108, 114, 115sylancr 418 . . . . . . . . 9 ((𝑀 ∈ ℕ0 ∧ 𝑁 ∈ ℕ0) → (0..^𝑁) ∈ Fin)
117 hashxp 11289 . . . . . . . . 9 (((0..^𝑀) ∈ Fin ∧ (0..^𝑁) ∈ Fin) → (♯‘((0..^𝑀) × (0..^𝑁))) = ((♯‘(0..^𝑀)) · (♯‘(0..^𝑁))))
118112, 116, 117syl2anc 415 . . . . . . . 8 ((𝑀 ∈ ℕ0 ∧ 𝑁 ∈ ℕ0) → (♯‘((0..^𝑀) × (0..^𝑁))) = ((♯‘(0..^𝑀)) · (♯‘(0..^𝑁))))
119 nn0mulcl 9610 . . . . . . . . 9 ((𝑀 ∈ ℕ0 ∧ 𝑁 ∈ ℕ0) → (𝑀 · 𝑁) ∈ ℕ0)
120 hashfzo0 11286 . . . . . . . . 9 ((𝑀 · 𝑁) ∈ ℕ0 → (♯‘(0..^(𝑀 · 𝑁))) = (𝑀 · 𝑁))
121119, 120syl 14 . . . . . . . 8 ((𝑀 ∈ ℕ0 ∧ 𝑁 ∈ ℕ0) → (♯‘(0..^(𝑀 · 𝑁))) = (𝑀 · 𝑁))
122107, 118, 1213eqtr4rd 2282 . . . . . . 7 ((𝑀 ∈ ℕ0 ∧ 𝑁 ∈ ℕ0) → (♯‘(0..^(𝑀 · 𝑁))) = (♯‘((0..^𝑀) × (0..^𝑁))))
123119nn0zd 9777 . . . . . . . . 9 ((𝑀 ∈ ℕ0 ∧ 𝑁 ∈ ℕ0) → (𝑀 · 𝑁) ∈ ℤ)
124 fzofig 10890 . . . . . . . . 9 ((0 ∈ ℤ ∧ (𝑀 · 𝑁) ∈ ℤ) → (0..^(𝑀 · 𝑁)) ∈ Fin)
125108, 123, 124sylancr 418 . . . . . . . 8 ((𝑀 ∈ ℕ0 ∧ 𝑁 ∈ ℕ0) → (0..^(𝑀 · 𝑁)) ∈ Fin)
126 xpfi 7243 . . . . . . . . 9 (((0..^𝑀) ∈ Fin ∧ (0..^𝑁) ∈ Fin) → ((0..^𝑀) × (0..^𝑁)) ∈ Fin)
127112, 116, 126syl2anc 415 . . . . . . . 8 ((𝑀 ∈ ℕ0 ∧ 𝑁 ∈ ℕ0) → ((0..^𝑀) × (0..^𝑁)) ∈ Fin)
128 hashen 11245 . . . . . . . 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 4165 . . 3 (𝜑 → 𝑆 ≈ 𝑇)
1346nnnn0d 9631 . . . . 5 (𝜑 → 𝑀 ∈ ℕ0)
13510nnnn0d 9631 . . . . 5 (𝜑 → 𝑁 ∈ ℕ0)
136134, 135, 127syl2anc 415 . . . 4 (𝜑 → ((0..^𝑀) × (0..^𝑁)) ∈ Fin)
13716, 136eqeltrid 2325 . . 3 (𝜑 → 𝑇 ∈ Fin)
138 f1finf1o 7269 . . 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 4131   ↦ cmpt 4193   × cxp 4774  ⟶wf 5376  –1-1→wf1 5377  –1-1-onto→wf1o 5379  ‘cfv 5380  (class class class)co 6088   ≈ cen 7024  Fincfn 7026  0cc0 8185  1c1 8186   · cmul 8190   < clt 8366   ≤ cle 8367   − cmin 8504  ℕcn 9313  ℕ0cn0 9574  ℤcz 9655  ℚcq 10035  ..^cfzo 10566   mod cmo 10780  ♯chash 11236   ∥ cdvds 12579   gcd cgcd 12755
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 4248  ax-sep 4251  ax-nul 4261  ax-pow 4313  ax-pr 4348  ax-un 4580  ax-setind 4686  ax-iinf 4737  ax-cnex 8276  ax-resscn 8277  ax-1cn 8278  ax-1re 8279  ax-icn 8280  ax-addcl 8281  ax-addrcl 8282  ax-mulcl 8283  ax-mulrcl 8284  ax-addcom 8285  ax-mulcom 8286  ax-addass 8287  ax-mulass 8288  ax-distr 8289  ax-i2m1 8290  ax-0lt1 8291  ax-1rid 8292  ax-0id 8293  ax-rnegex 8294  ax-precex 8295  ax-cnre 8296  ax-pre-ltirr 8297  ax-pre-ltwlin 8298  ax-pre-lttrn 8299  ax-pre-apti 8300  ax-pre-ltadd 8301  ax-pre-mulgt0 8302  ax-pre-mulext 8303  ax-arch 8304  ax-caucvg 8305
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 4132  df-opab 4194  df-mpt 4195  df-tr 4232  df-id 4440  df-po 4443  df-iso 4444  df-iord 4513  df-on 4515  df-ilim 4516  df-suc 4518  df-iom 4740  df-xp 4782  df-rel 4783  df-cnv 4784  df-co 4785  df-dm 4786  df-rn 4787  df-res 4788  df-ima 4789  df-iota 5340  df-fun 5382  df-fn 5383  df-f 5384  df-f1 5385  df-fo 5386  df-f1o 5387  df-fv 5388  df-riota 6041  df-ov 6091  df-oprab 6092  df-mpo 6093  df-1st 6378  df-2nd 6379  df-recs 6580  df-irdg 6645  df-frec 6666  df-1o 6691  df-oadd 6695  df-er 6811  df-en 7027  df-dom 7028  df-fin 7029  df-sup 7330  df-pnf 8368  df-mnf 8369  df-xr 8370  df-ltxr 8371  df-le 8372  df-sub 8506  df-neg 8507  df-reap 8911  df-ap 8918  df-div 9011  df-inn 9314  df-2 9372  df-3 9373  df-4 9374  df-n0 9575  df-z 9656  df-uz 9938  df-q 10036  df-rp 10072  df-fz 10429  df-fzo 10567  df-fl 10722  df-mod 10781  df-seqfrec 10906  df-exp 10997  df-ihash 11237  df-cj 11629  df-re 11630  df-im 11631  df-rsqrt 11786  df-abs 11787  df-dvds 12580  df-gcd 12756
This theorem is used by:  phimullem  13032
  Copyright terms: Public domain W3C validator