MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  crth Structured version   Visualization version   GIF version

Theorem crth 15483
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 12470 . . . . . 6 (𝑥 ∈ (0..^(𝑀 · 𝑁)) → 𝑥 ∈ ℤ)
2 crth.1 . . . . . 6 𝑆 = (0..^(𝑀 · 𝑁))
31, 2eleq2s 2719 . . . . 5 (𝑥𝑆𝑥 ∈ ℤ)
4 simpr 477 . . . . . . . 8 ((𝜑𝑥 ∈ ℤ) → 𝑥 ∈ ℤ)
5 crth.4 . . . . . . . . . 10 (𝜑 → (𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ (𝑀 gcd 𝑁) = 1))
65simp1d 1073 . . . . . . . . 9 (𝜑𝑀 ∈ ℕ)
76adantr 481 . . . . . . . 8 ((𝜑𝑥 ∈ ℤ) → 𝑀 ∈ ℕ)
8 zmodfzo 12693 . . . . . . . 8 ((𝑥 ∈ ℤ ∧ 𝑀 ∈ ℕ) → (𝑥 mod 𝑀) ∈ (0..^𝑀))
94, 7, 8syl2anc 693 . . . . . . 7 ((𝜑𝑥 ∈ ℤ) → (𝑥 mod 𝑀) ∈ (0..^𝑀))
105simp2d 1074 . . . . . . . . 9 (𝜑𝑁 ∈ ℕ)
1110adantr 481 . . . . . . . 8 ((𝜑𝑥 ∈ ℤ) → 𝑁 ∈ ℕ)
12 zmodfzo 12693 . . . . . . . 8 ((𝑥 ∈ ℤ ∧ 𝑁 ∈ ℕ) → (𝑥 mod 𝑁) ∈ (0..^𝑁))
134, 11, 12syl2anc 693 . . . . . . 7 ((𝜑𝑥 ∈ ℤ) → (𝑥 mod 𝑁) ∈ (0..^𝑁))
14 opelxpi 5148 . . . . . . 7 (((𝑥 mod 𝑀) ∈ (0..^𝑀) ∧ (𝑥 mod 𝑁) ∈ (0..^𝑁)) → ⟨(𝑥 mod 𝑀), (𝑥 mod 𝑁)⟩ ∈ ((0..^𝑀) × (0..^𝑁)))
159, 13, 14syl2anc 693 . . . . . 6 ((𝜑𝑥 ∈ ℤ) → ⟨(𝑥 mod 𝑀), (𝑥 mod 𝑁)⟩ ∈ ((0..^𝑀) × (0..^𝑁)))
16 crth.2 . . . . . 6 𝑇 = ((0..^𝑀) × (0..^𝑁))
1715, 16syl6eleqr 2712 . . . . 5 ((𝜑𝑥 ∈ ℤ) → ⟨(𝑥 mod 𝑀), (𝑥 mod 𝑁)⟩ ∈ 𝑇)
183, 17sylan2 491 . . . 4 ((𝜑𝑥𝑆) → ⟨(𝑥 mod 𝑀), (𝑥 mod 𝑁)⟩ ∈ 𝑇)
19 crth.3 . . . 4 𝐹 = (𝑥𝑆 ↦ ⟨(𝑥 mod 𝑀), (𝑥 mod 𝑁)⟩)
2018, 19fmptd 6385 . . 3 (𝜑𝐹:𝑆𝑇)
21 oveq1 6657 . . . . . . . . . 10 (𝑥 = 𝑦 → (𝑥 mod 𝑀) = (𝑦 mod 𝑀))
22 oveq1 6657 . . . . . . . . . 10 (𝑥 = 𝑦 → (𝑥 mod 𝑁) = (𝑦 mod 𝑁))
2321, 22opeq12d 4410 . . . . . . . . 9 (𝑥 = 𝑦 → ⟨(𝑥 mod 𝑀), (𝑥 mod 𝑁)⟩ = ⟨(𝑦 mod 𝑀), (𝑦 mod 𝑁)⟩)
24 opex 4932 . . . . . . . . 9 ⟨(𝑦 mod 𝑀), (𝑦 mod 𝑁)⟩ ∈ V
2523, 19, 24fvmpt 6282 . . . . . . . 8 (𝑦𝑆 → (𝐹𝑦) = ⟨(𝑦 mod 𝑀), (𝑦 mod 𝑁)⟩)
2625ad2antrl 764 . . . . . . 7 ((𝜑 ∧ (𝑦𝑆𝑧𝑆)) → (𝐹𝑦) = ⟨(𝑦 mod 𝑀), (𝑦 mod 𝑁)⟩)
27 oveq1 6657 . . . . . . . . . 10 (𝑥 = 𝑧 → (𝑥 mod 𝑀) = (𝑧 mod 𝑀))
28 oveq1 6657 . . . . . . . . . 10 (𝑥 = 𝑧 → (𝑥 mod 𝑁) = (𝑧 mod 𝑁))
2927, 28opeq12d 4410 . . . . . . . . 9 (𝑥 = 𝑧 → ⟨(𝑥 mod 𝑀), (𝑥 mod 𝑁)⟩ = ⟨(𝑧 mod 𝑀), (𝑧 mod 𝑁)⟩)
30 opex 4932 . . . . . . . . 9 ⟨(𝑧 mod 𝑀), (𝑧 mod 𝑁)⟩ ∈ V
3129, 19, 30fvmpt 6282 . . . . . . . 8 (𝑧𝑆 → (𝐹𝑧) = ⟨(𝑧 mod 𝑀), (𝑧 mod 𝑁)⟩)
3231ad2antll 765 . . . . . . 7 ((𝜑 ∧ (𝑦𝑆𝑧𝑆)) → (𝐹𝑧) = ⟨(𝑧 mod 𝑀), (𝑧 mod 𝑁)⟩)
3326, 32eqeq12d 2637 . . . . . 6 ((𝜑 ∧ (𝑦𝑆𝑧𝑆)) → ((𝐹𝑦) = (𝐹𝑧) ↔ ⟨(𝑦 mod 𝑀), (𝑦 mod 𝑁)⟩ = ⟨(𝑧 mod 𝑀), (𝑧 mod 𝑁)⟩))
34 ovex 6678 . . . . . . 7 (𝑦 mod 𝑀) ∈ V
35 ovex 6678 . . . . . . 7 (𝑦 mod 𝑁) ∈ V
3634, 35opth 4945 . . . . . 6 (⟨(𝑦 mod 𝑀), (𝑦 mod 𝑁)⟩ = ⟨(𝑧 mod 𝑀), (𝑧 mod 𝑁)⟩ ↔ ((𝑦 mod 𝑀) = (𝑧 mod 𝑀) ∧ (𝑦 mod 𝑁) = (𝑧 mod 𝑁)))
3733, 36syl6bb 276 . . . . 5 ((𝜑 ∧ (𝑦𝑆𝑧𝑆)) → ((𝐹𝑦) = (𝐹𝑧) ↔ ((𝑦 mod 𝑀) = (𝑧 mod 𝑀) ∧ (𝑦 mod 𝑁) = (𝑧 mod 𝑁))))
386adantr 481 . . . . . . . 8 ((𝜑 ∧ (𝑦𝑆𝑧𝑆)) → 𝑀 ∈ ℕ)
3938nnzd 11481 . . . . . . 7 ((𝜑 ∧ (𝑦𝑆𝑧𝑆)) → 𝑀 ∈ ℤ)
4010adantr 481 . . . . . . . 8 ((𝜑 ∧ (𝑦𝑆𝑧𝑆)) → 𝑁 ∈ ℕ)
4140nnzd 11481 . . . . . . 7 ((𝜑 ∧ (𝑦𝑆𝑧𝑆)) → 𝑁 ∈ ℤ)
42 simprl 794 . . . . . . . . . 10 ((𝜑 ∧ (𝑦𝑆𝑧𝑆)) → 𝑦𝑆)
4342, 2syl6eleq 2711 . . . . . . . . 9 ((𝜑 ∧ (𝑦𝑆𝑧𝑆)) → 𝑦 ∈ (0..^(𝑀 · 𝑁)))
44 elfzoelz 12470 . . . . . . . . 9 (𝑦 ∈ (0..^(𝑀 · 𝑁)) → 𝑦 ∈ ℤ)
4543, 44syl 17 . . . . . . . 8 ((𝜑 ∧ (𝑦𝑆𝑧𝑆)) → 𝑦 ∈ ℤ)
46 simprr 796 . . . . . . . . . 10 ((𝜑 ∧ (𝑦𝑆𝑧𝑆)) → 𝑧𝑆)
4746, 2syl6eleq 2711 . . . . . . . . 9 ((𝜑 ∧ (𝑦𝑆𝑧𝑆)) → 𝑧 ∈ (0..^(𝑀 · 𝑁)))
48 elfzoelz 12470 . . . . . . . . 9 (𝑧 ∈ (0..^(𝑀 · 𝑁)) → 𝑧 ∈ ℤ)
4947, 48syl 17 . . . . . . . 8 ((𝜑 ∧ (𝑦𝑆𝑧𝑆)) → 𝑧 ∈ ℤ)
5045, 49zsubcld 11487 . . . . . . 7 ((𝜑 ∧ (𝑦𝑆𝑧𝑆)) → (𝑦𝑧) ∈ ℤ)
515simp3d 1075 . . . . . . . 8 (𝜑 → (𝑀 gcd 𝑁) = 1)
5251adantr 481 . . . . . . 7 ((𝜑 ∧ (𝑦𝑆𝑧𝑆)) → (𝑀 gcd 𝑁) = 1)
53 coprmdvds2 15368 . . . . . . 7 (((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ ∧ (𝑦𝑧) ∈ ℤ) ∧ (𝑀 gcd 𝑁) = 1) → ((𝑀 ∥ (𝑦𝑧) ∧ 𝑁 ∥ (𝑦𝑧)) → (𝑀 · 𝑁) ∥ (𝑦𝑧)))
5439, 41, 50, 52, 53syl31anc 1329 . . . . . 6 ((𝜑 ∧ (𝑦𝑆𝑧𝑆)) → ((𝑀 ∥ (𝑦𝑧) ∧ 𝑁 ∥ (𝑦𝑧)) → (𝑀 · 𝑁) ∥ (𝑦𝑧)))
55 moddvds 14991 . . . . . . . 8 ((𝑀 ∈ ℕ ∧ 𝑦 ∈ ℤ ∧ 𝑧 ∈ ℤ) → ((𝑦 mod 𝑀) = (𝑧 mod 𝑀) ↔ 𝑀 ∥ (𝑦𝑧)))
5638, 45, 49, 55syl3anc 1326 . . . . . . 7 ((𝜑 ∧ (𝑦𝑆𝑧𝑆)) → ((𝑦 mod 𝑀) = (𝑧 mod 𝑀) ↔ 𝑀 ∥ (𝑦𝑧)))
57 moddvds 14991 . . . . . . . 8 ((𝑁 ∈ ℕ ∧ 𝑦 ∈ ℤ ∧ 𝑧 ∈ ℤ) → ((𝑦 mod 𝑁) = (𝑧 mod 𝑁) ↔ 𝑁 ∥ (𝑦𝑧)))
5840, 45, 49, 57syl3anc 1326 . . . . . . 7 ((𝜑 ∧ (𝑦𝑆𝑧𝑆)) → ((𝑦 mod 𝑁) = (𝑧 mod 𝑁) ↔ 𝑁 ∥ (𝑦𝑧)))
5956, 58anbi12d 747 . . . . . 6 ((𝜑 ∧ (𝑦𝑆𝑧𝑆)) → (((𝑦 mod 𝑀) = (𝑧 mod 𝑀) ∧ (𝑦 mod 𝑁) = (𝑧 mod 𝑁)) ↔ (𝑀 ∥ (𝑦𝑧) ∧ 𝑁 ∥ (𝑦𝑧))))
6045zred 11482 . . . . . . . . 9 ((𝜑 ∧ (𝑦𝑆𝑧𝑆)) → 𝑦 ∈ ℝ)
6138, 40nnmulcld 11068 . . . . . . . . . 10 ((𝜑 ∧ (𝑦𝑆𝑧𝑆)) → (𝑀 · 𝑁) ∈ ℕ)
6261nnrpd 11870 . . . . . . . . 9 ((𝜑 ∧ (𝑦𝑆𝑧𝑆)) → (𝑀 · 𝑁) ∈ ℝ+)
63 elfzole1 12478 . . . . . . . . . 10 (𝑦 ∈ (0..^(𝑀 · 𝑁)) → 0 ≤ 𝑦)
6443, 63syl 17 . . . . . . . . 9 ((𝜑 ∧ (𝑦𝑆𝑧𝑆)) → 0 ≤ 𝑦)
65 elfzolt2 12479 . . . . . . . . . 10 (𝑦 ∈ (0..^(𝑀 · 𝑁)) → 𝑦 < (𝑀 · 𝑁))
6643, 65syl 17 . . . . . . . . 9 ((𝜑 ∧ (𝑦𝑆𝑧𝑆)) → 𝑦 < (𝑀 · 𝑁))
67 modid 12695 . . . . . . . . 9 (((𝑦 ∈ ℝ ∧ (𝑀 · 𝑁) ∈ ℝ+) ∧ (0 ≤ 𝑦𝑦 < (𝑀 · 𝑁))) → (𝑦 mod (𝑀 · 𝑁)) = 𝑦)
6860, 62, 64, 66, 67syl22anc 1327 . . . . . . . 8 ((𝜑 ∧ (𝑦𝑆𝑧𝑆)) → (𝑦 mod (𝑀 · 𝑁)) = 𝑦)
6949zred 11482 . . . . . . . . 9 ((𝜑 ∧ (𝑦𝑆𝑧𝑆)) → 𝑧 ∈ ℝ)
70 elfzole1 12478 . . . . . . . . . 10 (𝑧 ∈ (0..^(𝑀 · 𝑁)) → 0 ≤ 𝑧)
7147, 70syl 17 . . . . . . . . 9 ((𝜑 ∧ (𝑦𝑆𝑧𝑆)) → 0 ≤ 𝑧)
72 elfzolt2 12479 . . . . . . . . . 10 (𝑧 ∈ (0..^(𝑀 · 𝑁)) → 𝑧 < (𝑀 · 𝑁))
7347, 72syl 17 . . . . . . . . 9 ((𝜑 ∧ (𝑦𝑆𝑧𝑆)) → 𝑧 < (𝑀 · 𝑁))
74 modid 12695 . . . . . . . . 9 (((𝑧 ∈ ℝ ∧ (𝑀 · 𝑁) ∈ ℝ+) ∧ (0 ≤ 𝑧𝑧 < (𝑀 · 𝑁))) → (𝑧 mod (𝑀 · 𝑁)) = 𝑧)
7569, 62, 71, 73, 74syl22anc 1327 . . . . . . . 8 ((𝜑 ∧ (𝑦𝑆𝑧𝑆)) → (𝑧 mod (𝑀 · 𝑁)) = 𝑧)
7668, 75eqeq12d 2637 . . . . . . 7 ((𝜑 ∧ (𝑦𝑆𝑧𝑆)) → ((𝑦 mod (𝑀 · 𝑁)) = (𝑧 mod (𝑀 · 𝑁)) ↔ 𝑦 = 𝑧))
77 moddvds 14991 . . . . . . . 8 (((𝑀 · 𝑁) ∈ ℕ ∧ 𝑦 ∈ ℤ ∧ 𝑧 ∈ ℤ) → ((𝑦 mod (𝑀 · 𝑁)) = (𝑧 mod (𝑀 · 𝑁)) ↔ (𝑀 · 𝑁) ∥ (𝑦𝑧)))
7861, 45, 49, 77syl3anc 1326 . . . . . . 7 ((𝜑 ∧ (𝑦𝑆𝑧𝑆)) → ((𝑦 mod (𝑀 · 𝑁)) = (𝑧 mod (𝑀 · 𝑁)) ↔ (𝑀 · 𝑁) ∥ (𝑦𝑧)))
7976, 78bitr3d 270 . . . . . 6 ((𝜑 ∧ (𝑦𝑆𝑧𝑆)) → (𝑦 = 𝑧 ↔ (𝑀 · 𝑁) ∥ (𝑦𝑧)))
8054, 59, 793imtr4d 283 . . . . 5 ((𝜑 ∧ (𝑦𝑆𝑧𝑆)) → (((𝑦 mod 𝑀) = (𝑧 mod 𝑀) ∧ (𝑦 mod 𝑁) = (𝑧 mod 𝑁)) → 𝑦 = 𝑧))
8137, 80sylbid 230 . . . 4 ((𝜑 ∧ (𝑦𝑆𝑧𝑆)) → ((𝐹𝑦) = (𝐹𝑧) → 𝑦 = 𝑧))
8281ralrimivva 2971 . . 3 (𝜑 → ∀𝑦𝑆𝑧𝑆 ((𝐹𝑦) = (𝐹𝑧) → 𝑦 = 𝑧))
83 dff13 6512 . . 3 (𝐹:𝑆1-1𝑇 ↔ (𝐹:𝑆𝑇 ∧ ∀𝑦𝑆𝑧𝑆 ((𝐹𝑦) = (𝐹𝑧) → 𝑦 = 𝑧)))
8420, 82, 83sylanbrc 698 . 2 (𝜑𝐹:𝑆1-1𝑇)
85 nnnn0 11299 . . . . . 6 (𝑀 ∈ ℕ → 𝑀 ∈ ℕ0)
86 nnnn0 11299 . . . . . 6 (𝑁 ∈ ℕ → 𝑁 ∈ ℕ0)
87 nn0mulcl 11329 . . . . . . . . 9 ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) → (𝑀 · 𝑁) ∈ ℕ0)
88 hashfzo0 13217 . . . . . . . . 9 ((𝑀 · 𝑁) ∈ ℕ0 → (#‘(0..^(𝑀 · 𝑁))) = (𝑀 · 𝑁))
8987, 88syl 17 . . . . . . . 8 ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) → (#‘(0..^(𝑀 · 𝑁))) = (𝑀 · 𝑁))
90 fzofi 12773 . . . . . . . . . 10 (0..^𝑀) ∈ Fin
91 fzofi 12773 . . . . . . . . . 10 (0..^𝑁) ∈ Fin
92 hashxp 13221 . . . . . . . . . 10 (((0..^𝑀) ∈ Fin ∧ (0..^𝑁) ∈ Fin) → (#‘((0..^𝑀) × (0..^𝑁))) = ((#‘(0..^𝑀)) · (#‘(0..^𝑁))))
9390, 91, 92mp2an 708 . . . . . . . . 9 (#‘((0..^𝑀) × (0..^𝑁))) = ((#‘(0..^𝑀)) · (#‘(0..^𝑁)))
94 hashfzo0 13217 . . . . . . . . . 10 (𝑀 ∈ ℕ0 → (#‘(0..^𝑀)) = 𝑀)
95 hashfzo0 13217 . . . . . . . . . 10 (𝑁 ∈ ℕ0 → (#‘(0..^𝑁)) = 𝑁)
9694, 95oveqan12d 6669 . . . . . . . . 9 ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) → ((#‘(0..^𝑀)) · (#‘(0..^𝑁))) = (𝑀 · 𝑁))
9793, 96syl5eq 2668 . . . . . . . 8 ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) → (#‘((0..^𝑀) × (0..^𝑁))) = (𝑀 · 𝑁))
9889, 97eqtr4d 2659 . . . . . . 7 ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) → (#‘(0..^(𝑀 · 𝑁))) = (#‘((0..^𝑀) × (0..^𝑁))))
99 fzofi 12773 . . . . . . . 8 (0..^(𝑀 · 𝑁)) ∈ Fin
100 xpfi 8231 . . . . . . . . 9 (((0..^𝑀) ∈ Fin ∧ (0..^𝑁) ∈ Fin) → ((0..^𝑀) × (0..^𝑁)) ∈ Fin)
10190, 91, 100mp2an 708 . . . . . . . 8 ((0..^𝑀) × (0..^𝑁)) ∈ Fin
102 hashen 13135 . . . . . . . 8 (((0..^(𝑀 · 𝑁)) ∈ Fin ∧ ((0..^𝑀) × (0..^𝑁)) ∈ Fin) → ((#‘(0..^(𝑀 · 𝑁))) = (#‘((0..^𝑀) × (0..^𝑁))) ↔ (0..^(𝑀 · 𝑁)) ≈ ((0..^𝑀) × (0..^𝑁))))
10399, 101, 102mp2an 708 . . . . . . 7 ((#‘(0..^(𝑀 · 𝑁))) = (#‘((0..^𝑀) × (0..^𝑁))) ↔ (0..^(𝑀 · 𝑁)) ≈ ((0..^𝑀) × (0..^𝑁)))
10498, 103sylib 208 . . . . . 6 ((𝑀 ∈ ℕ0𝑁 ∈ ℕ0) → (0..^(𝑀 · 𝑁)) ≈ ((0..^𝑀) × (0..^𝑁)))
10585, 86, 104syl2an 494 . . . . 5 ((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ) → (0..^(𝑀 · 𝑁)) ≈ ((0..^𝑀) × (0..^𝑁)))
1066, 10, 105syl2anc 693 . . . 4 (𝜑 → (0..^(𝑀 · 𝑁)) ≈ ((0..^𝑀) × (0..^𝑁)))
107106, 2, 163brtr4g 4687 . . 3 (𝜑𝑆𝑇)
10816, 101eqeltri 2697 . . 3 𝑇 ∈ Fin
109 f1finf1o 8187 . . 3 ((𝑆𝑇𝑇 ∈ Fin) → (𝐹:𝑆1-1𝑇𝐹:𝑆1-1-onto𝑇))
110107, 108, 109sylancl 694 . 2 (𝜑 → (𝐹:𝑆1-1𝑇𝐹:𝑆1-1-onto𝑇))
11184, 110mpbid 222 1 (𝜑𝐹:𝑆1-1-onto𝑇)
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 196  wa 384  w3a 1037   = wceq 1483  wcel 1990  wral 2912  cop 4183   class class class wbr 4653  cmpt 4729   × cxp 5112  wf 5884  1-1wf1 5885  1-1-ontowf1o 5887  cfv 5888  (class class class)co 6650  cen 7952  Fincfn 7955  cr 9935  0cc0 9936  1c1 9937   · cmul 9941   < clt 10074  cle 10075  cmin 10266  cn 11020  0cn0 11292  cz 11377  +crp 11832  ..^cfzo 12465   mod cmo 12668  #chash 13117  cdvds 14983   gcd cgcd 15216
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1722  ax-4 1737  ax-5 1839  ax-6 1888  ax-7 1935  ax-8 1992  ax-9 1999  ax-10 2019  ax-11 2034  ax-12 2047  ax-13 2246  ax-ext 2602  ax-rep 4771  ax-sep 4781  ax-nul 4789  ax-pow 4843  ax-pr 4906  ax-un 6949  ax-cnex 9992  ax-resscn 9993  ax-1cn 9994  ax-icn 9995  ax-addcl 9996  ax-addrcl 9997  ax-mulcl 9998  ax-mulrcl 9999  ax-mulcom 10000  ax-addass 10001  ax-mulass 10002  ax-distr 10003  ax-i2m1 10004  ax-1ne0 10005  ax-1rid 10006  ax-rnegex 10007  ax-rrecex 10008  ax-cnre 10009  ax-pre-lttri 10010  ax-pre-lttrn 10011  ax-pre-ltadd 10012  ax-pre-mulgt0 10013  ax-pre-sup 10014
This theorem depends on definitions:  df-bi 197  df-or 385  df-an 386  df-3or 1038  df-3an 1039  df-tru 1486  df-ex 1705  df-nf 1710  df-sb 1881  df-eu 2474  df-mo 2475  df-clab 2609  df-cleq 2615  df-clel 2618  df-nfc 2753  df-ne 2795  df-nel 2898  df-ral 2917  df-rex 2918  df-reu 2919  df-rmo 2920  df-rab 2921  df-v 3202  df-sbc 3436  df-csb 3534  df-dif 3577  df-un 3579  df-in 3581  df-ss 3588  df-pss 3590  df-nul 3916  df-if 4087  df-pw 4160  df-sn 4178  df-pr 4180  df-tp 4182  df-op 4184  df-uni 4437  df-int 4476  df-iun 4522  df-br 4654  df-opab 4713  df-mpt 4730  df-tr 4753  df-id 5024  df-eprel 5029  df-po 5035  df-so 5036  df-fr 5073  df-we 5075  df-xp 5120  df-rel 5121  df-cnv 5122  df-co 5123  df-dm 5124  df-rn 5125  df-res 5126  df-ima 5127  df-pred 5680  df-ord 5726  df-on 5727  df-lim 5728  df-suc 5729  df-iota 5851  df-fun 5890  df-fn 5891  df-f 5892  df-f1 5893  df-fo 5894  df-f1o 5895  df-fv 5896  df-riota 6611  df-ov 6653  df-oprab 6654  df-mpt2 6655  df-om 7066  df-1st 7168  df-2nd 7169  df-wrecs 7407  df-recs 7468  df-rdg 7506  df-1o 7560  df-oadd 7564  df-er 7742  df-map 7859  df-en 7956  df-dom 7957  df-sdom 7958  df-fin 7959  df-sup 8348  df-inf 8349  df-card 8765  df-cda 8990  df-pnf 10076  df-mnf 10077  df-xr 10078  df-ltxr 10079  df-le 10080  df-sub 10268  df-neg 10269  df-div 10685  df-nn 11021  df-2 11079  df-3 11080  df-n0 11293  df-z 11378  df-uz 11688  df-rp 11833  df-fz 12327  df-fzo 12466  df-fl 12593  df-mod 12669  df-seq 12802  df-exp 12861  df-hash 13118  df-cj 13839  df-re 13840  df-im 13841  df-sqrt 13975  df-abs 13976  df-dvds 14984  df-gcd 15217
This theorem is referenced by:  phimullem  15484
  Copyright terms: Public domain W3C validator