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

Theorem hashmap 13082
Description: The size of the set exponential of two finite sets is the exponential of their sizes. (This is the original motivation behind the notation for set exponentiation.) (Contributed by Mario Carneiro, 5-Aug-2014.)
Assertion
Ref Expression
hashmap ((𝐴 ∈ Fin ∧ 𝐵 ∈ Fin) → (#‘(𝐴𝑚 𝐵)) = ((#‘𝐴)↑(#‘𝐵)))

Proof of Theorem hashmap
Dummy variables 𝑥 𝑎 𝑦 𝑧 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 oveq1 6556 . . . . . 6 (𝑎 = 𝐴 → (𝑎𝑚 𝐵) = (𝐴𝑚 𝐵))
21fveq2d 6107 . . . . 5 (𝑎 = 𝐴 → (#‘(𝑎𝑚 𝐵)) = (#‘(𝐴𝑚 𝐵)))
3 fveq2 6103 . . . . . 6 (𝑎 = 𝐴 → (#‘𝑎) = (#‘𝐴))
43oveq1d 6564 . . . . 5 (𝑎 = 𝐴 → ((#‘𝑎)↑(#‘𝐵)) = ((#‘𝐴)↑(#‘𝐵)))
52, 4eqeq12d 2625 . . . 4 (𝑎 = 𝐴 → ((#‘(𝑎𝑚 𝐵)) = ((#‘𝑎)↑(#‘𝐵)) ↔ (#‘(𝐴𝑚 𝐵)) = ((#‘𝐴)↑(#‘𝐵))))
65imbi2d 329 . . 3 (𝑎 = 𝐴 → ((𝐵 ∈ Fin → (#‘(𝑎𝑚 𝐵)) = ((#‘𝑎)↑(#‘𝐵))) ↔ (𝐵 ∈ Fin → (#‘(𝐴𝑚 𝐵)) = ((#‘𝐴)↑(#‘𝐵)))))
7 oveq2 6557 . . . . . . . 8 (𝑥 = ∅ → (𝑎𝑚 𝑥) = (𝑎𝑚 ∅))
87fveq2d 6107 . . . . . . 7 (𝑥 = ∅ → (#‘(𝑎𝑚 𝑥)) = (#‘(𝑎𝑚 ∅)))
9 fveq2 6103 . . . . . . . 8 (𝑥 = ∅ → (#‘𝑥) = (#‘∅))
109oveq2d 6565 . . . . . . 7 (𝑥 = ∅ → ((#‘𝑎)↑(#‘𝑥)) = ((#‘𝑎)↑(#‘∅)))
118, 10eqeq12d 2625 . . . . . 6 (𝑥 = ∅ → ((#‘(𝑎𝑚 𝑥)) = ((#‘𝑎)↑(#‘𝑥)) ↔ (#‘(𝑎𝑚 ∅)) = ((#‘𝑎)↑(#‘∅))))
1211imbi2d 329 . . . . 5 (𝑥 = ∅ → ((𝑎 ∈ Fin → (#‘(𝑎𝑚 𝑥)) = ((#‘𝑎)↑(#‘𝑥))) ↔ (𝑎 ∈ Fin → (#‘(𝑎𝑚 ∅)) = ((#‘𝑎)↑(#‘∅)))))
13 oveq2 6557 . . . . . . . 8 (𝑥 = 𝑦 → (𝑎𝑚 𝑥) = (𝑎𝑚 𝑦))
1413fveq2d 6107 . . . . . . 7 (𝑥 = 𝑦 → (#‘(𝑎𝑚 𝑥)) = (#‘(𝑎𝑚 𝑦)))
15 fveq2 6103 . . . . . . . 8 (𝑥 = 𝑦 → (#‘𝑥) = (#‘𝑦))
1615oveq2d 6565 . . . . . . 7 (𝑥 = 𝑦 → ((#‘𝑎)↑(#‘𝑥)) = ((#‘𝑎)↑(#‘𝑦)))
1714, 16eqeq12d 2625 . . . . . 6 (𝑥 = 𝑦 → ((#‘(𝑎𝑚 𝑥)) = ((#‘𝑎)↑(#‘𝑥)) ↔ (#‘(𝑎𝑚 𝑦)) = ((#‘𝑎)↑(#‘𝑦))))
1817imbi2d 329 . . . . 5 (𝑥 = 𝑦 → ((𝑎 ∈ Fin → (#‘(𝑎𝑚 𝑥)) = ((#‘𝑎)↑(#‘𝑥))) ↔ (𝑎 ∈ Fin → (#‘(𝑎𝑚 𝑦)) = ((#‘𝑎)↑(#‘𝑦)))))
19 oveq2 6557 . . . . . . . 8 (𝑥 = (𝑦 ∪ {𝑧}) → (𝑎𝑚 𝑥) = (𝑎𝑚 (𝑦 ∪ {𝑧})))
2019fveq2d 6107 . . . . . . 7 (𝑥 = (𝑦 ∪ {𝑧}) → (#‘(𝑎𝑚 𝑥)) = (#‘(𝑎𝑚 (𝑦 ∪ {𝑧}))))
21 fveq2 6103 . . . . . . . 8 (𝑥 = (𝑦 ∪ {𝑧}) → (#‘𝑥) = (#‘(𝑦 ∪ {𝑧})))
2221oveq2d 6565 . . . . . . 7 (𝑥 = (𝑦 ∪ {𝑧}) → ((#‘𝑎)↑(#‘𝑥)) = ((#‘𝑎)↑(#‘(𝑦 ∪ {𝑧}))))
2320, 22eqeq12d 2625 . . . . . 6 (𝑥 = (𝑦 ∪ {𝑧}) → ((#‘(𝑎𝑚 𝑥)) = ((#‘𝑎)↑(#‘𝑥)) ↔ (#‘(𝑎𝑚 (𝑦 ∪ {𝑧}))) = ((#‘𝑎)↑(#‘(𝑦 ∪ {𝑧})))))
2423imbi2d 329 . . . . 5 (𝑥 = (𝑦 ∪ {𝑧}) → ((𝑎 ∈ Fin → (#‘(𝑎𝑚 𝑥)) = ((#‘𝑎)↑(#‘𝑥))) ↔ (𝑎 ∈ Fin → (#‘(𝑎𝑚 (𝑦 ∪ {𝑧}))) = ((#‘𝑎)↑(#‘(𝑦 ∪ {𝑧}))))))
25 oveq2 6557 . . . . . . . 8 (𝑥 = 𝐵 → (𝑎𝑚 𝑥) = (𝑎𝑚 𝐵))
2625fveq2d 6107 . . . . . . 7 (𝑥 = 𝐵 → (#‘(𝑎𝑚 𝑥)) = (#‘(𝑎𝑚 𝐵)))
27 fveq2 6103 . . . . . . . 8 (𝑥 = 𝐵 → (#‘𝑥) = (#‘𝐵))
2827oveq2d 6565 . . . . . . 7 (𝑥 = 𝐵 → ((#‘𝑎)↑(#‘𝑥)) = ((#‘𝑎)↑(#‘𝐵)))
2926, 28eqeq12d 2625 . . . . . 6 (𝑥 = 𝐵 → ((#‘(𝑎𝑚 𝑥)) = ((#‘𝑎)↑(#‘𝑥)) ↔ (#‘(𝑎𝑚 𝐵)) = ((#‘𝑎)↑(#‘𝐵))))
3029imbi2d 329 . . . . 5 (𝑥 = 𝐵 → ((𝑎 ∈ Fin → (#‘(𝑎𝑚 𝑥)) = ((#‘𝑎)↑(#‘𝑥))) ↔ (𝑎 ∈ Fin → (#‘(𝑎𝑚 𝐵)) = ((#‘𝑎)↑(#‘𝐵)))))
31 hashcl 13009 . . . . . . . . 9 (𝑎 ∈ Fin → (#‘𝑎) ∈ ℕ0)
3231nn0cnd 11230 . . . . . . . 8 (𝑎 ∈ Fin → (#‘𝑎) ∈ ℂ)
3332exp0d 12864 . . . . . . 7 (𝑎 ∈ Fin → ((#‘𝑎)↑0) = 1)
3433eqcomd 2616 . . . . . 6 (𝑎 ∈ Fin → 1 = ((#‘𝑎)↑0))
35 vex 3176 . . . . . . . . . 10 𝑎 ∈ V
36 map0e 7781 . . . . . . . . . 10 (𝑎 ∈ V → (𝑎𝑚 ∅) = 1𝑜)
3735, 36ax-mp 5 . . . . . . . . 9 (𝑎𝑚 ∅) = 1𝑜
38 df1o2 7459 . . . . . . . . 9 1𝑜 = {∅}
3937, 38eqtri 2632 . . . . . . . 8 (𝑎𝑚 ∅) = {∅}
4039fveq2i 6106 . . . . . . 7 (#‘(𝑎𝑚 ∅)) = (#‘{∅})
41 0ex 4718 . . . . . . . 8 ∅ ∈ V
42 hashsng 13020 . . . . . . . 8 (∅ ∈ V → (#‘{∅}) = 1)
4341, 42ax-mp 5 . . . . . . 7 (#‘{∅}) = 1
4440, 43eqtri 2632 . . . . . 6 (#‘(𝑎𝑚 ∅)) = 1
45 hash0 13019 . . . . . . 7 (#‘∅) = 0
4645oveq2i 6560 . . . . . 6 ((#‘𝑎)↑(#‘∅)) = ((#‘𝑎)↑0)
4734, 44, 463eqtr4g 2669 . . . . 5 (𝑎 ∈ Fin → (#‘(𝑎𝑚 ∅)) = ((#‘𝑎)↑(#‘∅)))
48 oveq1 6556 . . . . . . . 8 ((#‘(𝑎𝑚 𝑦)) = ((#‘𝑎)↑(#‘𝑦)) → ((#‘(𝑎𝑚 𝑦)) · (#‘𝑎)) = (((#‘𝑎)↑(#‘𝑦)) · (#‘𝑎)))
49 vex 3176 . . . . . . . . . . . . 13 𝑦 ∈ V
50 snex 4835 . . . . . . . . . . . . 13 {𝑧} ∈ V
5149, 50, 353pm3.2i 1232 . . . . . . . . . . . 12 (𝑦 ∈ V ∧ {𝑧} ∈ V ∧ 𝑎 ∈ V)
52 simprr 792 . . . . . . . . . . . . 13 ((𝑎 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → ¬ 𝑧𝑦)
53 disjsn 4192 . . . . . . . . . . . . 13 ((𝑦 ∩ {𝑧}) = ∅ ↔ ¬ 𝑧𝑦)
5452, 53sylibr 223 . . . . . . . . . . . 12 ((𝑎 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → (𝑦 ∩ {𝑧}) = ∅)
55 mapunen 8014 . . . . . . . . . . . 12 (((𝑦 ∈ V ∧ {𝑧} ∈ V ∧ 𝑎 ∈ V) ∧ (𝑦 ∩ {𝑧}) = ∅) → (𝑎𝑚 (𝑦 ∪ {𝑧})) ≈ ((𝑎𝑚 𝑦) × (𝑎𝑚 {𝑧})))
5651, 54, 55sylancr 694 . . . . . . . . . . 11 ((𝑎 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → (𝑎𝑚 (𝑦 ∪ {𝑧})) ≈ ((𝑎𝑚 𝑦) × (𝑎𝑚 {𝑧})))
57 simpl 472 . . . . . . . . . . . . 13 ((𝑎 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → 𝑎 ∈ Fin)
58 simprl 790 . . . . . . . . . . . . . 14 ((𝑎 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → 𝑦 ∈ Fin)
59 snfi 7923 . . . . . . . . . . . . . 14 {𝑧} ∈ Fin
60 unfi 8112 . . . . . . . . . . . . . 14 ((𝑦 ∈ Fin ∧ {𝑧} ∈ Fin) → (𝑦 ∪ {𝑧}) ∈ Fin)
6158, 59, 60sylancl 693 . . . . . . . . . . . . 13 ((𝑎 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → (𝑦 ∪ {𝑧}) ∈ Fin)
62 mapfi 8145 . . . . . . . . . . . . 13 ((𝑎 ∈ Fin ∧ (𝑦 ∪ {𝑧}) ∈ Fin) → (𝑎𝑚 (𝑦 ∪ {𝑧})) ∈ Fin)
6357, 61, 62syl2anc 691 . . . . . . . . . . . 12 ((𝑎 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → (𝑎𝑚 (𝑦 ∪ {𝑧})) ∈ Fin)
64 mapfi 8145 . . . . . . . . . . . . . 14 ((𝑎 ∈ Fin ∧ 𝑦 ∈ Fin) → (𝑎𝑚 𝑦) ∈ Fin)
6564adantrr 749 . . . . . . . . . . . . 13 ((𝑎 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → (𝑎𝑚 𝑦) ∈ Fin)
66 mapfi 8145 . . . . . . . . . . . . . 14 ((𝑎 ∈ Fin ∧ {𝑧} ∈ Fin) → (𝑎𝑚 {𝑧}) ∈ Fin)
6757, 59, 66sylancl 693 . . . . . . . . . . . . 13 ((𝑎 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → (𝑎𝑚 {𝑧}) ∈ Fin)
68 xpfi 8116 . . . . . . . . . . . . 13 (((𝑎𝑚 𝑦) ∈ Fin ∧ (𝑎𝑚 {𝑧}) ∈ Fin) → ((𝑎𝑚 𝑦) × (𝑎𝑚 {𝑧})) ∈ Fin)
6965, 67, 68syl2anc 691 . . . . . . . . . . . 12 ((𝑎 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → ((𝑎𝑚 𝑦) × (𝑎𝑚 {𝑧})) ∈ Fin)
70 hashen 12997 . . . . . . . . . . . 12 (((𝑎𝑚 (𝑦 ∪ {𝑧})) ∈ Fin ∧ ((𝑎𝑚 𝑦) × (𝑎𝑚 {𝑧})) ∈ Fin) → ((#‘(𝑎𝑚 (𝑦 ∪ {𝑧}))) = (#‘((𝑎𝑚 𝑦) × (𝑎𝑚 {𝑧}))) ↔ (𝑎𝑚 (𝑦 ∪ {𝑧})) ≈ ((𝑎𝑚 𝑦) × (𝑎𝑚 {𝑧}))))
7163, 69, 70syl2anc 691 . . . . . . . . . . 11 ((𝑎 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → ((#‘(𝑎𝑚 (𝑦 ∪ {𝑧}))) = (#‘((𝑎𝑚 𝑦) × (𝑎𝑚 {𝑧}))) ↔ (𝑎𝑚 (𝑦 ∪ {𝑧})) ≈ ((𝑎𝑚 𝑦) × (𝑎𝑚 {𝑧}))))
7256, 71mpbird 246 . . . . . . . . . 10 ((𝑎 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → (#‘(𝑎𝑚 (𝑦 ∪ {𝑧}))) = (#‘((𝑎𝑚 𝑦) × (𝑎𝑚 {𝑧}))))
73 hashxp 13081 . . . . . . . . . . . 12 (((𝑎𝑚 𝑦) ∈ Fin ∧ (𝑎𝑚 {𝑧}) ∈ Fin) → (#‘((𝑎𝑚 𝑦) × (𝑎𝑚 {𝑧}))) = ((#‘(𝑎𝑚 𝑦)) · (#‘(𝑎𝑚 {𝑧}))))
7465, 67, 73syl2anc 691 . . . . . . . . . . 11 ((𝑎 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → (#‘((𝑎𝑚 𝑦) × (𝑎𝑚 {𝑧}))) = ((#‘(𝑎𝑚 𝑦)) · (#‘(𝑎𝑚 {𝑧}))))
75 vex 3176 . . . . . . . . . . . . . 14 𝑧 ∈ V
7635, 75mapsnen 7920 . . . . . . . . . . . . 13 (𝑎𝑚 {𝑧}) ≈ 𝑎
77 hashen 12997 . . . . . . . . . . . . . 14 (((𝑎𝑚 {𝑧}) ∈ Fin ∧ 𝑎 ∈ Fin) → ((#‘(𝑎𝑚 {𝑧})) = (#‘𝑎) ↔ (𝑎𝑚 {𝑧}) ≈ 𝑎))
7867, 57, 77syl2anc 691 . . . . . . . . . . . . 13 ((𝑎 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → ((#‘(𝑎𝑚 {𝑧})) = (#‘𝑎) ↔ (𝑎𝑚 {𝑧}) ≈ 𝑎))
7976, 78mpbiri 247 . . . . . . . . . . . 12 ((𝑎 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → (#‘(𝑎𝑚 {𝑧})) = (#‘𝑎))
8079oveq2d 6565 . . . . . . . . . . 11 ((𝑎 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → ((#‘(𝑎𝑚 𝑦)) · (#‘(𝑎𝑚 {𝑧}))) = ((#‘(𝑎𝑚 𝑦)) · (#‘𝑎)))
8174, 80eqtrd 2644 . . . . . . . . . 10 ((𝑎 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → (#‘((𝑎𝑚 𝑦) × (𝑎𝑚 {𝑧}))) = ((#‘(𝑎𝑚 𝑦)) · (#‘𝑎)))
8272, 81eqtrd 2644 . . . . . . . . 9 ((𝑎 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → (#‘(𝑎𝑚 (𝑦 ∪ {𝑧}))) = ((#‘(𝑎𝑚 𝑦)) · (#‘𝑎)))
83 hashunsng 13042 . . . . . . . . . . . . 13 (𝑧 ∈ V → ((𝑦 ∈ Fin ∧ ¬ 𝑧𝑦) → (#‘(𝑦 ∪ {𝑧})) = ((#‘𝑦) + 1)))
8475, 83ax-mp 5 . . . . . . . . . . . 12 ((𝑦 ∈ Fin ∧ ¬ 𝑧𝑦) → (#‘(𝑦 ∪ {𝑧})) = ((#‘𝑦) + 1))
8584adantl 481 . . . . . . . . . . 11 ((𝑎 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → (#‘(𝑦 ∪ {𝑧})) = ((#‘𝑦) + 1))
8685oveq2d 6565 . . . . . . . . . 10 ((𝑎 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → ((#‘𝑎)↑(#‘(𝑦 ∪ {𝑧}))) = ((#‘𝑎)↑((#‘𝑦) + 1)))
8732adantr 480 . . . . . . . . . . 11 ((𝑎 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → (#‘𝑎) ∈ ℂ)
88 hashcl 13009 . . . . . . . . . . . 12 (𝑦 ∈ Fin → (#‘𝑦) ∈ ℕ0)
8988ad2antrl 760 . . . . . . . . . . 11 ((𝑎 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → (#‘𝑦) ∈ ℕ0)
9087, 89expp1d 12871 . . . . . . . . . 10 ((𝑎 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → ((#‘𝑎)↑((#‘𝑦) + 1)) = (((#‘𝑎)↑(#‘𝑦)) · (#‘𝑎)))
9186, 90eqtrd 2644 . . . . . . . . 9 ((𝑎 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → ((#‘𝑎)↑(#‘(𝑦 ∪ {𝑧}))) = (((#‘𝑎)↑(#‘𝑦)) · (#‘𝑎)))
9282, 91eqeq12d 2625 . . . . . . . 8 ((𝑎 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → ((#‘(𝑎𝑚 (𝑦 ∪ {𝑧}))) = ((#‘𝑎)↑(#‘(𝑦 ∪ {𝑧}))) ↔ ((#‘(𝑎𝑚 𝑦)) · (#‘𝑎)) = (((#‘𝑎)↑(#‘𝑦)) · (#‘𝑎))))
9348, 92syl5ibr 235 . . . . . . 7 ((𝑎 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → ((#‘(𝑎𝑚 𝑦)) = ((#‘𝑎)↑(#‘𝑦)) → (#‘(𝑎𝑚 (𝑦 ∪ {𝑧}))) = ((#‘𝑎)↑(#‘(𝑦 ∪ {𝑧})))))
9493expcom 450 . . . . . 6 ((𝑦 ∈ Fin ∧ ¬ 𝑧𝑦) → (𝑎 ∈ Fin → ((#‘(𝑎𝑚 𝑦)) = ((#‘𝑎)↑(#‘𝑦)) → (#‘(𝑎𝑚 (𝑦 ∪ {𝑧}))) = ((#‘𝑎)↑(#‘(𝑦 ∪ {𝑧}))))))
9594a2d 29 . . . . 5 ((𝑦 ∈ Fin ∧ ¬ 𝑧𝑦) → ((𝑎 ∈ Fin → (#‘(𝑎𝑚 𝑦)) = ((#‘𝑎)↑(#‘𝑦))) → (𝑎 ∈ Fin → (#‘(𝑎𝑚 (𝑦 ∪ {𝑧}))) = ((#‘𝑎)↑(#‘(𝑦 ∪ {𝑧}))))))
9612, 18, 24, 30, 47, 95findcard2s 8086 . . . 4 (𝐵 ∈ Fin → (𝑎 ∈ Fin → (#‘(𝑎𝑚 𝐵)) = ((#‘𝑎)↑(#‘𝐵))))
9796com12 32 . . 3 (𝑎 ∈ Fin → (𝐵 ∈ Fin → (#‘(𝑎𝑚 𝐵)) = ((#‘𝑎)↑(#‘𝐵))))
986, 97vtoclga 3245 . 2 (𝐴 ∈ Fin → (𝐵 ∈ Fin → (#‘(𝐴𝑚 𝐵)) = ((#‘𝐴)↑(#‘𝐵))))
9998imp 444 1 ((𝐴 ∈ Fin ∧ 𝐵 ∈ Fin) → (#‘(𝐴𝑚 𝐵)) = ((#‘𝐴)↑(#‘𝐵)))
Colors of variables: wff setvar class
Syntax hints:  ¬ wn 3  wi 4  wb 195  wa 383  w3a 1031   = wceq 1475  wcel 1977  Vcvv 3173  cun 3538  cin 3539  c0 3874  {csn 4125   class class class wbr 4583   × cxp 5036  cfv 5804  (class class class)co 6549  1𝑜c1o 7440  𝑚 cmap 7744  cen 7838  Fincfn 7841  cc 9813  0cc0 9815  1c1 9816   + caddc 9818   · cmul 9820  0cn0 11169  cexp 12722  #chash 12979
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1713  ax-4 1728  ax-5 1827  ax-6 1875  ax-7 1922  ax-8 1979  ax-9 1986  ax-10 2006  ax-11 2021  ax-12 2034  ax-13 2234  ax-ext 2590  ax-rep 4699  ax-sep 4709  ax-nul 4717  ax-pow 4769  ax-pr 4833  ax-un 6847  ax-cnex 9871  ax-resscn 9872  ax-1cn 9873  ax-icn 9874  ax-addcl 9875  ax-addrcl 9876  ax-mulcl 9877  ax-mulrcl 9878  ax-mulcom 9879  ax-addass 9880  ax-mulass 9881  ax-distr 9882  ax-i2m1 9883  ax-1ne0 9884  ax-1rid 9885  ax-rnegex 9886  ax-rrecex 9887  ax-cnre 9888  ax-pre-lttri 9889  ax-pre-lttrn 9890  ax-pre-ltadd 9891  ax-pre-mulgt0 9892
This theorem depends on definitions:  df-bi 196  df-or 384  df-an 385  df-3or 1032  df-3an 1033  df-tru 1478  df-ex 1696  df-nf 1701  df-sb 1868  df-eu 2462  df-mo 2463  df-clab 2597  df-cleq 2603  df-clel 2606  df-nfc 2740  df-ne 2782  df-nel 2783  df-ral 2901  df-rex 2902  df-reu 2903  df-rmo 2904  df-rab 2905  df-v 3175  df-sbc 3403  df-csb 3500  df-dif 3543  df-un 3545  df-in 3547  df-ss 3554  df-pss 3556  df-nul 3875  df-if 4037  df-pw 4110  df-sn 4126  df-pr 4128  df-tp 4130  df-op 4132  df-uni 4373  df-int 4411  df-iun 4457  df-br 4584  df-opab 4644  df-mpt 4645  df-tr 4681  df-eprel 4949  df-id 4953  df-po 4959  df-so 4960  df-fr 4997  df-we 4999  df-xp 5044  df-rel 5045  df-cnv 5046  df-co 5047  df-dm 5048  df-rn 5049  df-res 5050  df-ima 5051  df-pred 5597  df-ord 5643  df-on 5644  df-lim 5645  df-suc 5646  df-iota 5768  df-fun 5806  df-fn 5807  df-f 5808  df-f1 5809  df-fo 5810  df-f1o 5811  df-fv 5812  df-riota 6511  df-ov 6552  df-oprab 6553  df-mpt2 6554  df-om 6958  df-1st 7059  df-2nd 7060  df-wrecs 7294  df-recs 7355  df-rdg 7393  df-1o 7447  df-2o 7448  df-oadd 7451  df-er 7629  df-map 7746  df-pm 7747  df-en 7842  df-dom 7843  df-sdom 7844  df-fin 7845  df-card 8648  df-cda 8873  df-pnf 9955  df-mnf 9956  df-xr 9957  df-ltxr 9958  df-le 9959  df-sub 10147  df-neg 10148  df-nn 10898  df-n0 11170  df-z 11255  df-uz 11564  df-fz 12198  df-seq 12664  df-exp 12723  df-hash 12980
This theorem is referenced by:  hashpw  13083  hashwrdn  13192  prmreclem2  15459  birthdaylem2  24479
  Copyright terms: Public domain W3C validator