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

Theorem hashmap 14078
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.) (Proof shortened by AV, 18-Jul-2022.)
Assertion
Ref Expression
hashmap ((𝐴 ∈ Fin ∧ 𝐵 ∈ Fin) → (♯‘(𝐴m 𝐵)) = ((♯‘𝐴)↑(♯‘𝐵)))

Proof of Theorem hashmap
Dummy variables 𝑥 𝑦 𝑧 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 oveq2 7263 . . . . . 6 (𝑥 = ∅ → (𝐴m 𝑥) = (𝐴m ∅))
21fveq2d 6760 . . . . 5 (𝑥 = ∅ → (♯‘(𝐴m 𝑥)) = (♯‘(𝐴m ∅)))
3 fveq2 6756 . . . . . 6 (𝑥 = ∅ → (♯‘𝑥) = (♯‘∅))
43oveq2d 7271 . . . . 5 (𝑥 = ∅ → ((♯‘𝐴)↑(♯‘𝑥)) = ((♯‘𝐴)↑(♯‘∅)))
52, 4eqeq12d 2754 . . . 4 (𝑥 = ∅ → ((♯‘(𝐴m 𝑥)) = ((♯‘𝐴)↑(♯‘𝑥)) ↔ (♯‘(𝐴m ∅)) = ((♯‘𝐴)↑(♯‘∅))))
65imbi2d 340 . . 3 (𝑥 = ∅ → ((𝐴 ∈ Fin → (♯‘(𝐴m 𝑥)) = ((♯‘𝐴)↑(♯‘𝑥))) ↔ (𝐴 ∈ Fin → (♯‘(𝐴m ∅)) = ((♯‘𝐴)↑(♯‘∅)))))
7 oveq2 7263 . . . . . 6 (𝑥 = 𝑦 → (𝐴m 𝑥) = (𝐴m 𝑦))
87fveq2d 6760 . . . . 5 (𝑥 = 𝑦 → (♯‘(𝐴m 𝑥)) = (♯‘(𝐴m 𝑦)))
9 fveq2 6756 . . . . . 6 (𝑥 = 𝑦 → (♯‘𝑥) = (♯‘𝑦))
109oveq2d 7271 . . . . 5 (𝑥 = 𝑦 → ((♯‘𝐴)↑(♯‘𝑥)) = ((♯‘𝐴)↑(♯‘𝑦)))
118, 10eqeq12d 2754 . . . 4 (𝑥 = 𝑦 → ((♯‘(𝐴m 𝑥)) = ((♯‘𝐴)↑(♯‘𝑥)) ↔ (♯‘(𝐴m 𝑦)) = ((♯‘𝐴)↑(♯‘𝑦))))
1211imbi2d 340 . . 3 (𝑥 = 𝑦 → ((𝐴 ∈ Fin → (♯‘(𝐴m 𝑥)) = ((♯‘𝐴)↑(♯‘𝑥))) ↔ (𝐴 ∈ Fin → (♯‘(𝐴m 𝑦)) = ((♯‘𝐴)↑(♯‘𝑦)))))
13 oveq2 7263 . . . . . 6 (𝑥 = (𝑦 ∪ {𝑧}) → (𝐴m 𝑥) = (𝐴m (𝑦 ∪ {𝑧})))
1413fveq2d 6760 . . . . 5 (𝑥 = (𝑦 ∪ {𝑧}) → (♯‘(𝐴m 𝑥)) = (♯‘(𝐴m (𝑦 ∪ {𝑧}))))
15 fveq2 6756 . . . . . 6 (𝑥 = (𝑦 ∪ {𝑧}) → (♯‘𝑥) = (♯‘(𝑦 ∪ {𝑧})))
1615oveq2d 7271 . . . . 5 (𝑥 = (𝑦 ∪ {𝑧}) → ((♯‘𝐴)↑(♯‘𝑥)) = ((♯‘𝐴)↑(♯‘(𝑦 ∪ {𝑧}))))
1714, 16eqeq12d 2754 . . . 4 (𝑥 = (𝑦 ∪ {𝑧}) → ((♯‘(𝐴m 𝑥)) = ((♯‘𝐴)↑(♯‘𝑥)) ↔ (♯‘(𝐴m (𝑦 ∪ {𝑧}))) = ((♯‘𝐴)↑(♯‘(𝑦 ∪ {𝑧})))))
1817imbi2d 340 . . 3 (𝑥 = (𝑦 ∪ {𝑧}) → ((𝐴 ∈ Fin → (♯‘(𝐴m 𝑥)) = ((♯‘𝐴)↑(♯‘𝑥))) ↔ (𝐴 ∈ Fin → (♯‘(𝐴m (𝑦 ∪ {𝑧}))) = ((♯‘𝐴)↑(♯‘(𝑦 ∪ {𝑧}))))))
19 oveq2 7263 . . . . . 6 (𝑥 = 𝐵 → (𝐴m 𝑥) = (𝐴m 𝐵))
2019fveq2d 6760 . . . . 5 (𝑥 = 𝐵 → (♯‘(𝐴m 𝑥)) = (♯‘(𝐴m 𝐵)))
21 fveq2 6756 . . . . . 6 (𝑥 = 𝐵 → (♯‘𝑥) = (♯‘𝐵))
2221oveq2d 7271 . . . . 5 (𝑥 = 𝐵 → ((♯‘𝐴)↑(♯‘𝑥)) = ((♯‘𝐴)↑(♯‘𝐵)))
2320, 22eqeq12d 2754 . . . 4 (𝑥 = 𝐵 → ((♯‘(𝐴m 𝑥)) = ((♯‘𝐴)↑(♯‘𝑥)) ↔ (♯‘(𝐴m 𝐵)) = ((♯‘𝐴)↑(♯‘𝐵))))
2423imbi2d 340 . . 3 (𝑥 = 𝐵 → ((𝐴 ∈ Fin → (♯‘(𝐴m 𝑥)) = ((♯‘𝐴)↑(♯‘𝑥))) ↔ (𝐴 ∈ Fin → (♯‘(𝐴m 𝐵)) = ((♯‘𝐴)↑(♯‘𝐵)))))
25 hashcl 13999 . . . . . 6 (𝐴 ∈ Fin → (♯‘𝐴) ∈ ℕ0)
2625nn0cnd 12225 . . . . 5 (𝐴 ∈ Fin → (♯‘𝐴) ∈ ℂ)
2726exp0d 13786 . . . 4 (𝐴 ∈ Fin → ((♯‘𝐴)↑0) = 1)
28 hash0 14010 . . . . . 6 (♯‘∅) = 0
2928oveq2i 7266 . . . . 5 ((♯‘𝐴)↑(♯‘∅)) = ((♯‘𝐴)↑0)
3029a1i 11 . . . 4 (𝐴 ∈ Fin → ((♯‘𝐴)↑(♯‘∅)) = ((♯‘𝐴)↑0))
31 mapdm0 8588 . . . . . 6 (𝐴 ∈ Fin → (𝐴m ∅) = {∅})
3231fveq2d 6760 . . . . 5 (𝐴 ∈ Fin → (♯‘(𝐴m ∅)) = (♯‘{∅}))
33 0ex 5226 . . . . . 6 ∅ ∈ V
34 hashsng 14012 . . . . . 6 (∅ ∈ V → (♯‘{∅}) = 1)
3533, 34mp1i 13 . . . . 5 (𝐴 ∈ Fin → (♯‘{∅}) = 1)
3632, 35eqtrd 2778 . . . 4 (𝐴 ∈ Fin → (♯‘(𝐴m ∅)) = 1)
3727, 30, 363eqtr4rd 2789 . . 3 (𝐴 ∈ Fin → (♯‘(𝐴m ∅)) = ((♯‘𝐴)↑(♯‘∅)))
38 oveq1 7262 . . . . . 6 ((♯‘(𝐴m 𝑦)) = ((♯‘𝐴)↑(♯‘𝑦)) → ((♯‘(𝐴m 𝑦)) · (♯‘𝐴)) = (((♯‘𝐴)↑(♯‘𝑦)) · (♯‘𝐴)))
39 vex 3426 . . . . . . . . . . 11 𝑦 ∈ V
4039a1i 11 . . . . . . . . . 10 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → 𝑦 ∈ V)
41 snex 5349 . . . . . . . . . . 11 {𝑧} ∈ V
4241a1i 11 . . . . . . . . . 10 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → {𝑧} ∈ V)
43 elex 3440 . . . . . . . . . . 11 (𝐴 ∈ Fin → 𝐴 ∈ V)
4443adantr 480 . . . . . . . . . 10 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → 𝐴 ∈ V)
45 simprr 769 . . . . . . . . . . 11 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → ¬ 𝑧𝑦)
46 disjsn 4644 . . . . . . . . . . 11 ((𝑦 ∩ {𝑧}) = ∅ ↔ ¬ 𝑧𝑦)
4745, 46sylibr 233 . . . . . . . . . 10 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → (𝑦 ∩ {𝑧}) = ∅)
48 mapunen 8882 . . . . . . . . . 10 (((𝑦 ∈ V ∧ {𝑧} ∈ V ∧ 𝐴 ∈ V) ∧ (𝑦 ∩ {𝑧}) = ∅) → (𝐴m (𝑦 ∪ {𝑧})) ≈ ((𝐴m 𝑦) × (𝐴m {𝑧})))
4940, 42, 44, 47, 48syl31anc 1371 . . . . . . . . 9 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → (𝐴m (𝑦 ∪ {𝑧})) ≈ ((𝐴m 𝑦) × (𝐴m {𝑧})))
50 simpl 482 . . . . . . . . . . 11 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → 𝐴 ∈ Fin)
51 simprl 767 . . . . . . . . . . . 12 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → 𝑦 ∈ Fin)
52 snfi 8788 . . . . . . . . . . . 12 {𝑧} ∈ Fin
53 unfi 8917 . . . . . . . . . . . 12 ((𝑦 ∈ Fin ∧ {𝑧} ∈ Fin) → (𝑦 ∪ {𝑧}) ∈ Fin)
5451, 52, 53sylancl 585 . . . . . . . . . . 11 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → (𝑦 ∪ {𝑧}) ∈ Fin)
55 mapfi 9045 . . . . . . . . . . 11 ((𝐴 ∈ Fin ∧ (𝑦 ∪ {𝑧}) ∈ Fin) → (𝐴m (𝑦 ∪ {𝑧})) ∈ Fin)
5650, 54, 55syl2anc 583 . . . . . . . . . 10 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → (𝐴m (𝑦 ∪ {𝑧})) ∈ Fin)
57 mapfi 9045 . . . . . . . . . . . 12 ((𝐴 ∈ Fin ∧ 𝑦 ∈ Fin) → (𝐴m 𝑦) ∈ Fin)
5857adantrr 713 . . . . . . . . . . 11 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → (𝐴m 𝑦) ∈ Fin)
59 mapfi 9045 . . . . . . . . . . . 12 ((𝐴 ∈ Fin ∧ {𝑧} ∈ Fin) → (𝐴m {𝑧}) ∈ Fin)
6050, 52, 59sylancl 585 . . . . . . . . . . 11 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → (𝐴m {𝑧}) ∈ Fin)
61 xpfi 9015 . . . . . . . . . . 11 (((𝐴m 𝑦) ∈ Fin ∧ (𝐴m {𝑧}) ∈ Fin) → ((𝐴m 𝑦) × (𝐴m {𝑧})) ∈ Fin)
6258, 60, 61syl2anc 583 . . . . . . . . . 10 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → ((𝐴m 𝑦) × (𝐴m {𝑧})) ∈ Fin)
63 hashen 13989 . . . . . . . . . 10 (((𝐴m (𝑦 ∪ {𝑧})) ∈ Fin ∧ ((𝐴m 𝑦) × (𝐴m {𝑧})) ∈ Fin) → ((♯‘(𝐴m (𝑦 ∪ {𝑧}))) = (♯‘((𝐴m 𝑦) × (𝐴m {𝑧}))) ↔ (𝐴m (𝑦 ∪ {𝑧})) ≈ ((𝐴m 𝑦) × (𝐴m {𝑧}))))
6456, 62, 63syl2anc 583 . . . . . . . . 9 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → ((♯‘(𝐴m (𝑦 ∪ {𝑧}))) = (♯‘((𝐴m 𝑦) × (𝐴m {𝑧}))) ↔ (𝐴m (𝑦 ∪ {𝑧})) ≈ ((𝐴m 𝑦) × (𝐴m {𝑧}))))
6549, 64mpbird 256 . . . . . . . 8 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → (♯‘(𝐴m (𝑦 ∪ {𝑧}))) = (♯‘((𝐴m 𝑦) × (𝐴m {𝑧}))))
66 hashxp 14077 . . . . . . . . 9 (((𝐴m 𝑦) ∈ Fin ∧ (𝐴m {𝑧}) ∈ Fin) → (♯‘((𝐴m 𝑦) × (𝐴m {𝑧}))) = ((♯‘(𝐴m 𝑦)) · (♯‘(𝐴m {𝑧}))))
6758, 60, 66syl2anc 583 . . . . . . . 8 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → (♯‘((𝐴m 𝑦) × (𝐴m {𝑧}))) = ((♯‘(𝐴m 𝑦)) · (♯‘(𝐴m {𝑧}))))
68 vex 3426 . . . . . . . . . . . 12 𝑧 ∈ V
6968a1i 11 . . . . . . . . . . 11 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → 𝑧 ∈ V)
7050, 69mapsnend 8780 . . . . . . . . . 10 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → (𝐴m {𝑧}) ≈ 𝐴)
71 hashen 13989 . . . . . . . . . . 11 (((𝐴m {𝑧}) ∈ Fin ∧ 𝐴 ∈ Fin) → ((♯‘(𝐴m {𝑧})) = (♯‘𝐴) ↔ (𝐴m {𝑧}) ≈ 𝐴))
7260, 50, 71syl2anc 583 . . . . . . . . . 10 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → ((♯‘(𝐴m {𝑧})) = (♯‘𝐴) ↔ (𝐴m {𝑧}) ≈ 𝐴))
7370, 72mpbird 256 . . . . . . . . 9 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → (♯‘(𝐴m {𝑧})) = (♯‘𝐴))
7473oveq2d 7271 . . . . . . . 8 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → ((♯‘(𝐴m 𝑦)) · (♯‘(𝐴m {𝑧}))) = ((♯‘(𝐴m 𝑦)) · (♯‘𝐴)))
7565, 67, 743eqtrd 2782 . . . . . . 7 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → (♯‘(𝐴m (𝑦 ∪ {𝑧}))) = ((♯‘(𝐴m 𝑦)) · (♯‘𝐴)))
76 hashunsng 14035 . . . . . . . . . . 11 (𝑧 ∈ V → ((𝑦 ∈ Fin ∧ ¬ 𝑧𝑦) → (♯‘(𝑦 ∪ {𝑧})) = ((♯‘𝑦) + 1)))
7776elv 3428 . . . . . . . . . 10 ((𝑦 ∈ Fin ∧ ¬ 𝑧𝑦) → (♯‘(𝑦 ∪ {𝑧})) = ((♯‘𝑦) + 1))
7877adantl 481 . . . . . . . . 9 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → (♯‘(𝑦 ∪ {𝑧})) = ((♯‘𝑦) + 1))
7978oveq2d 7271 . . . . . . . 8 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → ((♯‘𝐴)↑(♯‘(𝑦 ∪ {𝑧}))) = ((♯‘𝐴)↑((♯‘𝑦) + 1)))
8026adantr 480 . . . . . . . . 9 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → (♯‘𝐴) ∈ ℂ)
81 hashcl 13999 . . . . . . . . . 10 (𝑦 ∈ Fin → (♯‘𝑦) ∈ ℕ0)
8281ad2antrl 724 . . . . . . . . 9 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → (♯‘𝑦) ∈ ℕ0)
8380, 82expp1d 13793 . . . . . . . 8 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → ((♯‘𝐴)↑((♯‘𝑦) + 1)) = (((♯‘𝐴)↑(♯‘𝑦)) · (♯‘𝐴)))
8479, 83eqtrd 2778 . . . . . . 7 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → ((♯‘𝐴)↑(♯‘(𝑦 ∪ {𝑧}))) = (((♯‘𝐴)↑(♯‘𝑦)) · (♯‘𝐴)))
8575, 84eqeq12d 2754 . . . . . 6 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → ((♯‘(𝐴m (𝑦 ∪ {𝑧}))) = ((♯‘𝐴)↑(♯‘(𝑦 ∪ {𝑧}))) ↔ ((♯‘(𝐴m 𝑦)) · (♯‘𝐴)) = (((♯‘𝐴)↑(♯‘𝑦)) · (♯‘𝐴))))
8638, 85syl5ibr 245 . . . . 5 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → ((♯‘(𝐴m 𝑦)) = ((♯‘𝐴)↑(♯‘𝑦)) → (♯‘(𝐴m (𝑦 ∪ {𝑧}))) = ((♯‘𝐴)↑(♯‘(𝑦 ∪ {𝑧})))))
8786expcom 413 . . . 4 ((𝑦 ∈ Fin ∧ ¬ 𝑧𝑦) → (𝐴 ∈ Fin → ((♯‘(𝐴m 𝑦)) = ((♯‘𝐴)↑(♯‘𝑦)) → (♯‘(𝐴m (𝑦 ∪ {𝑧}))) = ((♯‘𝐴)↑(♯‘(𝑦 ∪ {𝑧}))))))
8887a2d 29 . . 3 ((𝑦 ∈ Fin ∧ ¬ 𝑧𝑦) → ((𝐴 ∈ Fin → (♯‘(𝐴m 𝑦)) = ((♯‘𝐴)↑(♯‘𝑦))) → (𝐴 ∈ Fin → (♯‘(𝐴m (𝑦 ∪ {𝑧}))) = ((♯‘𝐴)↑(♯‘(𝑦 ∪ {𝑧}))))))
896, 12, 18, 24, 37, 88findcard2s 8910 . 2 (𝐵 ∈ Fin → (𝐴 ∈ Fin → (♯‘(𝐴m 𝐵)) = ((♯‘𝐴)↑(♯‘𝐵))))
9089impcom 407 1 ((𝐴 ∈ Fin ∧ 𝐵 ∈ Fin) → (♯‘(𝐴m 𝐵)) = ((♯‘𝐴)↑(♯‘𝐵)))
Colors of variables: wff setvar class
Syntax hints:  ¬ wn 3  wi 4  wb 205  wa 395   = wceq 1539  wcel 2108  Vcvv 3422  cun 3881  cin 3882  c0 4253  {csn 4558   class class class wbr 5070   × cxp 5578  cfv 6418  (class class class)co 7255  m cmap 8573  cen 8688  Fincfn 8691  cc 10800  0cc0 10802  1c1 10803   + caddc 10805   · cmul 10807  0cn0 12163  cexp 13710  chash 13972
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1799  ax-4 1813  ax-5 1914  ax-6 1972  ax-7 2012  ax-8 2110  ax-9 2118  ax-10 2139  ax-11 2156  ax-12 2173  ax-ext 2709  ax-sep 5218  ax-nul 5225  ax-pow 5283  ax-pr 5347  ax-un 7566  ax-cnex 10858  ax-resscn 10859  ax-1cn 10860  ax-icn 10861  ax-addcl 10862  ax-addrcl 10863  ax-mulcl 10864  ax-mulrcl 10865  ax-mulcom 10866  ax-addass 10867  ax-mulass 10868  ax-distr 10869  ax-i2m1 10870  ax-1ne0 10871  ax-1rid 10872  ax-rnegex 10873  ax-rrecex 10874  ax-cnre 10875  ax-pre-lttri 10876  ax-pre-lttrn 10877  ax-pre-ltadd 10878  ax-pre-mulgt0 10879
This theorem depends on definitions:  df-bi 206  df-an 396  df-or 844  df-3or 1086  df-3an 1087  df-tru 1542  df-fal 1552  df-ex 1784  df-nf 1788  df-sb 2069  df-mo 2540  df-eu 2569  df-clab 2716  df-cleq 2730  df-clel 2817  df-nfc 2888  df-ne 2943  df-nel 3049  df-ral 3068  df-rex 3069  df-reu 3070  df-rab 3072  df-v 3424  df-sbc 3712  df-csb 3829  df-dif 3886  df-un 3888  df-in 3890  df-ss 3900  df-pss 3902  df-nul 4254  df-if 4457  df-pw 4532  df-sn 4559  df-pr 4561  df-tp 4563  df-op 4565  df-uni 4837  df-int 4877  df-iun 4923  df-br 5071  df-opab 5133  df-mpt 5154  df-tr 5188  df-id 5480  df-eprel 5486  df-po 5494  df-so 5495  df-fr 5535  df-we 5537  df-xp 5586  df-rel 5587  df-cnv 5588  df-co 5589  df-dm 5590  df-rn 5591  df-res 5592  df-ima 5593  df-pred 6191  df-ord 6254  df-on 6255  df-lim 6256  df-suc 6257  df-iota 6376  df-fun 6420  df-fn 6421  df-f 6422  df-f1 6423  df-fo 6424  df-f1o 6425  df-fv 6426  df-riota 7212  df-ov 7258  df-oprab 7259  df-mpo 7260  df-om 7688  df-1st 7804  df-2nd 7805  df-frecs 8068  df-wrecs 8099  df-recs 8173  df-rdg 8212  df-1o 8267  df-oadd 8271  df-er 8456  df-map 8575  df-pm 8576  df-en 8692  df-dom 8693  df-sdom 8694  df-fin 8695  df-dju 9590  df-card 9628  df-pnf 10942  df-mnf 10943  df-xr 10944  df-ltxr 10945  df-le 10946  df-sub 11137  df-neg 11138  df-nn 11904  df-n0 12164  df-z 12250  df-uz 12512  df-fz 13169  df-seq 13650  df-exp 13711  df-hash 13973
This theorem is referenced by:  hashpw  14079  hashwrdn  14178  prmreclem2  16546  efmndhash  18430  birthdaylem2  26007
  Copyright terms: Public domain W3C validator