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

Theorem hashmap 13784
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 7153 . . . . . 6 (𝑥 = ∅ → (𝐴m 𝑥) = (𝐴m ∅))
21fveq2d 6667 . . . . 5 (𝑥 = ∅ → (♯‘(𝐴m 𝑥)) = (♯‘(𝐴m ∅)))
3 fveq2 6663 . . . . . 6 (𝑥 = ∅ → (♯‘𝑥) = (♯‘∅))
43oveq2d 7161 . . . . 5 (𝑥 = ∅ → ((♯‘𝐴)↑(♯‘𝑥)) = ((♯‘𝐴)↑(♯‘∅)))
52, 4eqeq12d 2834 . . . 4 (𝑥 = ∅ → ((♯‘(𝐴m 𝑥)) = ((♯‘𝐴)↑(♯‘𝑥)) ↔ (♯‘(𝐴m ∅)) = ((♯‘𝐴)↑(♯‘∅))))
65imbi2d 342 . . 3 (𝑥 = ∅ → ((𝐴 ∈ Fin → (♯‘(𝐴m 𝑥)) = ((♯‘𝐴)↑(♯‘𝑥))) ↔ (𝐴 ∈ Fin → (♯‘(𝐴m ∅)) = ((♯‘𝐴)↑(♯‘∅)))))
7 oveq2 7153 . . . . . 6 (𝑥 = 𝑦 → (𝐴m 𝑥) = (𝐴m 𝑦))
87fveq2d 6667 . . . . 5 (𝑥 = 𝑦 → (♯‘(𝐴m 𝑥)) = (♯‘(𝐴m 𝑦)))
9 fveq2 6663 . . . . . 6 (𝑥 = 𝑦 → (♯‘𝑥) = (♯‘𝑦))
109oveq2d 7161 . . . . 5 (𝑥 = 𝑦 → ((♯‘𝐴)↑(♯‘𝑥)) = ((♯‘𝐴)↑(♯‘𝑦)))
118, 10eqeq12d 2834 . . . 4 (𝑥 = 𝑦 → ((♯‘(𝐴m 𝑥)) = ((♯‘𝐴)↑(♯‘𝑥)) ↔ (♯‘(𝐴m 𝑦)) = ((♯‘𝐴)↑(♯‘𝑦))))
1211imbi2d 342 . . 3 (𝑥 = 𝑦 → ((𝐴 ∈ Fin → (♯‘(𝐴m 𝑥)) = ((♯‘𝐴)↑(♯‘𝑥))) ↔ (𝐴 ∈ Fin → (♯‘(𝐴m 𝑦)) = ((♯‘𝐴)↑(♯‘𝑦)))))
13 oveq2 7153 . . . . . 6 (𝑥 = (𝑦 ∪ {𝑧}) → (𝐴m 𝑥) = (𝐴m (𝑦 ∪ {𝑧})))
1413fveq2d 6667 . . . . 5 (𝑥 = (𝑦 ∪ {𝑧}) → (♯‘(𝐴m 𝑥)) = (♯‘(𝐴m (𝑦 ∪ {𝑧}))))
15 fveq2 6663 . . . . . 6 (𝑥 = (𝑦 ∪ {𝑧}) → (♯‘𝑥) = (♯‘(𝑦 ∪ {𝑧})))
1615oveq2d 7161 . . . . 5 (𝑥 = (𝑦 ∪ {𝑧}) → ((♯‘𝐴)↑(♯‘𝑥)) = ((♯‘𝐴)↑(♯‘(𝑦 ∪ {𝑧}))))
1714, 16eqeq12d 2834 . . . 4 (𝑥 = (𝑦 ∪ {𝑧}) → ((♯‘(𝐴m 𝑥)) = ((♯‘𝐴)↑(♯‘𝑥)) ↔ (♯‘(𝐴m (𝑦 ∪ {𝑧}))) = ((♯‘𝐴)↑(♯‘(𝑦 ∪ {𝑧})))))
1817imbi2d 342 . . 3 (𝑥 = (𝑦 ∪ {𝑧}) → ((𝐴 ∈ Fin → (♯‘(𝐴m 𝑥)) = ((♯‘𝐴)↑(♯‘𝑥))) ↔ (𝐴 ∈ Fin → (♯‘(𝐴m (𝑦 ∪ {𝑧}))) = ((♯‘𝐴)↑(♯‘(𝑦 ∪ {𝑧}))))))
19 oveq2 7153 . . . . . 6 (𝑥 = 𝐵 → (𝐴m 𝑥) = (𝐴m 𝐵))
2019fveq2d 6667 . . . . 5 (𝑥 = 𝐵 → (♯‘(𝐴m 𝑥)) = (♯‘(𝐴m 𝐵)))
21 fveq2 6663 . . . . . 6 (𝑥 = 𝐵 → (♯‘𝑥) = (♯‘𝐵))
2221oveq2d 7161 . . . . 5 (𝑥 = 𝐵 → ((♯‘𝐴)↑(♯‘𝑥)) = ((♯‘𝐴)↑(♯‘𝐵)))
2320, 22eqeq12d 2834 . . . 4 (𝑥 = 𝐵 → ((♯‘(𝐴m 𝑥)) = ((♯‘𝐴)↑(♯‘𝑥)) ↔ (♯‘(𝐴m 𝐵)) = ((♯‘𝐴)↑(♯‘𝐵))))
2423imbi2d 342 . . 3 (𝑥 = 𝐵 → ((𝐴 ∈ Fin → (♯‘(𝐴m 𝑥)) = ((♯‘𝐴)↑(♯‘𝑥))) ↔ (𝐴 ∈ Fin → (♯‘(𝐴m 𝐵)) = ((♯‘𝐴)↑(♯‘𝐵)))))
25 hashcl 13705 . . . . . 6 (𝐴 ∈ Fin → (♯‘𝐴) ∈ ℕ0)
2625nn0cnd 11945 . . . . 5 (𝐴 ∈ Fin → (♯‘𝐴) ∈ ℂ)
2726exp0d 13492 . . . 4 (𝐴 ∈ Fin → ((♯‘𝐴)↑0) = 1)
28 hash0 13716 . . . . . 6 (♯‘∅) = 0
2928oveq2i 7156 . . . . 5 ((♯‘𝐴)↑(♯‘∅)) = ((♯‘𝐴)↑0)
3029a1i 11 . . . 4 (𝐴 ∈ Fin → ((♯‘𝐴)↑(♯‘∅)) = ((♯‘𝐴)↑0))
31 mapdm0 8410 . . . . . 6 (𝐴 ∈ Fin → (𝐴m ∅) = {∅})
3231fveq2d 6667 . . . . 5 (𝐴 ∈ Fin → (♯‘(𝐴m ∅)) = (♯‘{∅}))
33 0ex 5202 . . . . . 6 ∅ ∈ V
34 hashsng 13718 . . . . . 6 (∅ ∈ V → (♯‘{∅}) = 1)
3533, 34mp1i 13 . . . . 5 (𝐴 ∈ Fin → (♯‘{∅}) = 1)
3632, 35eqtrd 2853 . . . 4 (𝐴 ∈ Fin → (♯‘(𝐴m ∅)) = 1)
3727, 30, 363eqtr4rd 2864 . . 3 (𝐴 ∈ Fin → (♯‘(𝐴m ∅)) = ((♯‘𝐴)↑(♯‘∅)))
38 oveq1 7152 . . . . . 6 ((♯‘(𝐴m 𝑦)) = ((♯‘𝐴)↑(♯‘𝑦)) → ((♯‘(𝐴m 𝑦)) · (♯‘𝐴)) = (((♯‘𝐴)↑(♯‘𝑦)) · (♯‘𝐴)))
39 vex 3495 . . . . . . . . . . 11 𝑦 ∈ V
4039a1i 11 . . . . . . . . . 10 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → 𝑦 ∈ V)
41 snex 5322 . . . . . . . . . . 11 {𝑧} ∈ V
4241a1i 11 . . . . . . . . . 10 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → {𝑧} ∈ V)
43 elex 3510 . . . . . . . . . . 11 (𝐴 ∈ Fin → 𝐴 ∈ V)
4443adantr 481 . . . . . . . . . 10 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → 𝐴 ∈ V)
45 simprr 769 . . . . . . . . . . 11 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → ¬ 𝑧𝑦)
46 disjsn 4639 . . . . . . . . . . 11 ((𝑦 ∩ {𝑧}) = ∅ ↔ ¬ 𝑧𝑦)
4745, 46sylibr 235 . . . . . . . . . 10 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → (𝑦 ∩ {𝑧}) = ∅)
48 mapunen 8674 . . . . . . . . . 10 (((𝑦 ∈ V ∧ {𝑧} ∈ V ∧ 𝐴 ∈ V) ∧ (𝑦 ∩ {𝑧}) = ∅) → (𝐴m (𝑦 ∪ {𝑧})) ≈ ((𝐴m 𝑦) × (𝐴m {𝑧})))
4940, 42, 44, 47, 48syl31anc 1365 . . . . . . . . 9 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → (𝐴m (𝑦 ∪ {𝑧})) ≈ ((𝐴m 𝑦) × (𝐴m {𝑧})))
50 simpl 483 . . . . . . . . . . 11 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → 𝐴 ∈ Fin)
51 simprl 767 . . . . . . . . . . . 12 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → 𝑦 ∈ Fin)
52 snfi 8582 . . . . . . . . . . . 12 {𝑧} ∈ Fin
53 unfi 8773 . . . . . . . . . . . 12 ((𝑦 ∈ Fin ∧ {𝑧} ∈ Fin) → (𝑦 ∪ {𝑧}) ∈ Fin)
5451, 52, 53sylancl 586 . . . . . . . . . . 11 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → (𝑦 ∪ {𝑧}) ∈ Fin)
55 mapfi 8808 . . . . . . . . . . 11 ((𝐴 ∈ Fin ∧ (𝑦 ∪ {𝑧}) ∈ Fin) → (𝐴m (𝑦 ∪ {𝑧})) ∈ Fin)
5650, 54, 55syl2anc 584 . . . . . . . . . 10 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → (𝐴m (𝑦 ∪ {𝑧})) ∈ Fin)
57 mapfi 8808 . . . . . . . . . . . 12 ((𝐴 ∈ Fin ∧ 𝑦 ∈ Fin) → (𝐴m 𝑦) ∈ Fin)
5857adantrr 713 . . . . . . . . . . 11 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → (𝐴m 𝑦) ∈ Fin)
59 mapfi 8808 . . . . . . . . . . . 12 ((𝐴 ∈ Fin ∧ {𝑧} ∈ Fin) → (𝐴m {𝑧}) ∈ Fin)
6050, 52, 59sylancl 586 . . . . . . . . . . 11 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → (𝐴m {𝑧}) ∈ Fin)
61 xpfi 8777 . . . . . . . . . . 11 (((𝐴m 𝑦) ∈ Fin ∧ (𝐴m {𝑧}) ∈ Fin) → ((𝐴m 𝑦) × (𝐴m {𝑧})) ∈ Fin)
6258, 60, 61syl2anc 584 . . . . . . . . . 10 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → ((𝐴m 𝑦) × (𝐴m {𝑧})) ∈ Fin)
63 hashen 13695 . . . . . . . . . 10 (((𝐴m (𝑦 ∪ {𝑧})) ∈ Fin ∧ ((𝐴m 𝑦) × (𝐴m {𝑧})) ∈ Fin) → ((♯‘(𝐴m (𝑦 ∪ {𝑧}))) = (♯‘((𝐴m 𝑦) × (𝐴m {𝑧}))) ↔ (𝐴m (𝑦 ∪ {𝑧})) ≈ ((𝐴m 𝑦) × (𝐴m {𝑧}))))
6456, 62, 63syl2anc 584 . . . . . . . . 9 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → ((♯‘(𝐴m (𝑦 ∪ {𝑧}))) = (♯‘((𝐴m 𝑦) × (𝐴m {𝑧}))) ↔ (𝐴m (𝑦 ∪ {𝑧})) ≈ ((𝐴m 𝑦) × (𝐴m {𝑧}))))
6549, 64mpbird 258 . . . . . . . 8 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → (♯‘(𝐴m (𝑦 ∪ {𝑧}))) = (♯‘((𝐴m 𝑦) × (𝐴m {𝑧}))))
66 hashxp 13783 . . . . . . . . 9 (((𝐴m 𝑦) ∈ Fin ∧ (𝐴m {𝑧}) ∈ Fin) → (♯‘((𝐴m 𝑦) × (𝐴m {𝑧}))) = ((♯‘(𝐴m 𝑦)) · (♯‘(𝐴m {𝑧}))))
6758, 60, 66syl2anc 584 . . . . . . . 8 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → (♯‘((𝐴m 𝑦) × (𝐴m {𝑧}))) = ((♯‘(𝐴m 𝑦)) · (♯‘(𝐴m {𝑧}))))
68 vex 3495 . . . . . . . . . . . 12 𝑧 ∈ V
6968a1i 11 . . . . . . . . . . 11 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → 𝑧 ∈ V)
7050, 69mapsnend 8576 . . . . . . . . . 10 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → (𝐴m {𝑧}) ≈ 𝐴)
71 hashen 13695 . . . . . . . . . . 11 (((𝐴m {𝑧}) ∈ Fin ∧ 𝐴 ∈ Fin) → ((♯‘(𝐴m {𝑧})) = (♯‘𝐴) ↔ (𝐴m {𝑧}) ≈ 𝐴))
7260, 50, 71syl2anc 584 . . . . . . . . . 10 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → ((♯‘(𝐴m {𝑧})) = (♯‘𝐴) ↔ (𝐴m {𝑧}) ≈ 𝐴))
7370, 72mpbird 258 . . . . . . . . 9 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → (♯‘(𝐴m {𝑧})) = (♯‘𝐴))
7473oveq2d 7161 . . . . . . . 8 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → ((♯‘(𝐴m 𝑦)) · (♯‘(𝐴m {𝑧}))) = ((♯‘(𝐴m 𝑦)) · (♯‘𝐴)))
7565, 67, 743eqtrd 2857 . . . . . . 7 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → (♯‘(𝐴m (𝑦 ∪ {𝑧}))) = ((♯‘(𝐴m 𝑦)) · (♯‘𝐴)))
76 hashunsng 13741 . . . . . . . . . . 11 (𝑧 ∈ V → ((𝑦 ∈ Fin ∧ ¬ 𝑧𝑦) → (♯‘(𝑦 ∪ {𝑧})) = ((♯‘𝑦) + 1)))
7776elv 3497 . . . . . . . . . 10 ((𝑦 ∈ Fin ∧ ¬ 𝑧𝑦) → (♯‘(𝑦 ∪ {𝑧})) = ((♯‘𝑦) + 1))
7877adantl 482 . . . . . . . . 9 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → (♯‘(𝑦 ∪ {𝑧})) = ((♯‘𝑦) + 1))
7978oveq2d 7161 . . . . . . . 8 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → ((♯‘𝐴)↑(♯‘(𝑦 ∪ {𝑧}))) = ((♯‘𝐴)↑((♯‘𝑦) + 1)))
8026adantr 481 . . . . . . . . 9 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → (♯‘𝐴) ∈ ℂ)
81 hashcl 13705 . . . . . . . . . 10 (𝑦 ∈ Fin → (♯‘𝑦) ∈ ℕ0)
8281ad2antrl 724 . . . . . . . . 9 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → (♯‘𝑦) ∈ ℕ0)
8380, 82expp1d 13499 . . . . . . . 8 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → ((♯‘𝐴)↑((♯‘𝑦) + 1)) = (((♯‘𝐴)↑(♯‘𝑦)) · (♯‘𝐴)))
8479, 83eqtrd 2853 . . . . . . 7 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → ((♯‘𝐴)↑(♯‘(𝑦 ∪ {𝑧}))) = (((♯‘𝐴)↑(♯‘𝑦)) · (♯‘𝐴)))
8575, 84eqeq12d 2834 . . . . . 6 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → ((♯‘(𝐴m (𝑦 ∪ {𝑧}))) = ((♯‘𝐴)↑(♯‘(𝑦 ∪ {𝑧}))) ↔ ((♯‘(𝐴m 𝑦)) · (♯‘𝐴)) = (((♯‘𝐴)↑(♯‘𝑦)) · (♯‘𝐴))))
8638, 85syl5ibr 247 . . . . 5 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → ((♯‘(𝐴m 𝑦)) = ((♯‘𝐴)↑(♯‘𝑦)) → (♯‘(𝐴m (𝑦 ∪ {𝑧}))) = ((♯‘𝐴)↑(♯‘(𝑦 ∪ {𝑧})))))
8786expcom 414 . . . 4 ((𝑦 ∈ Fin ∧ ¬ 𝑧𝑦) → (𝐴 ∈ Fin → ((♯‘(𝐴m 𝑦)) = ((♯‘𝐴)↑(♯‘𝑦)) → (♯‘(𝐴m (𝑦 ∪ {𝑧}))) = ((♯‘𝐴)↑(♯‘(𝑦 ∪ {𝑧}))))))
8887a2d 29 . . 3 ((𝑦 ∈ Fin ∧ ¬ 𝑧𝑦) → ((𝐴 ∈ Fin → (♯‘(𝐴m 𝑦)) = ((♯‘𝐴)↑(♯‘𝑦))) → (𝐴 ∈ Fin → (♯‘(𝐴m (𝑦 ∪ {𝑧}))) = ((♯‘𝐴)↑(♯‘(𝑦 ∪ {𝑧}))))))
896, 12, 18, 24, 37, 88findcard2s 8747 . 2 (𝐵 ∈ Fin → (𝐴 ∈ Fin → (♯‘(𝐴m 𝐵)) = ((♯‘𝐴)↑(♯‘𝐵))))
9089impcom 408 1 ((𝐴 ∈ Fin ∧ 𝐵 ∈ Fin) → (♯‘(𝐴m 𝐵)) = ((♯‘𝐴)↑(♯‘𝐵)))
Colors of variables: wff setvar class
Syntax hints:  ¬ wn 3  wi 4  wb 207  wa 396   = wceq 1528  wcel 2105  Vcvv 3492  cun 3931  cin 3932  c0 4288  {csn 4557   class class class wbr 5057   × cxp 5546  cfv 6348  (class class class)co 7145  m cmap 8395  cen 8494  Fincfn 8497  cc 10523  0cc0 10525  1c1 10526   + caddc 10528   · cmul 10530  0cn0 11885  cexp 13417  chash 13678
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1787  ax-4 1801  ax-5 1902  ax-6 1961  ax-7 2006  ax-8 2107  ax-9 2115  ax-10 2136  ax-11 2151  ax-12 2167  ax-ext 2790  ax-rep 5181  ax-sep 5194  ax-nul 5201  ax-pow 5257  ax-pr 5320  ax-un 7450  ax-cnex 10581  ax-resscn 10582  ax-1cn 10583  ax-icn 10584  ax-addcl 10585  ax-addrcl 10586  ax-mulcl 10587  ax-mulrcl 10588  ax-mulcom 10589  ax-addass 10590  ax-mulass 10591  ax-distr 10592  ax-i2m1 10593  ax-1ne0 10594  ax-1rid 10595  ax-rnegex 10596  ax-rrecex 10597  ax-cnre 10598  ax-pre-lttri 10599  ax-pre-lttrn 10600  ax-pre-ltadd 10601  ax-pre-mulgt0 10602
This theorem depends on definitions:  df-bi 208  df-an 397  df-or 842  df-3or 1080  df-3an 1081  df-tru 1531  df-ex 1772  df-nf 1776  df-sb 2061  df-mo 2615  df-eu 2647  df-clab 2797  df-cleq 2811  df-clel 2890  df-nfc 2960  df-ne 3014  df-nel 3121  df-ral 3140  df-rex 3141  df-reu 3142  df-rmo 3143  df-rab 3144  df-v 3494  df-sbc 3770  df-csb 3881  df-dif 3936  df-un 3938  df-in 3940  df-ss 3949  df-pss 3951  df-nul 4289  df-if 4464  df-pw 4537  df-sn 4558  df-pr 4560  df-tp 4562  df-op 4564  df-uni 4831  df-int 4868  df-iun 4912  df-br 5058  df-opab 5120  df-mpt 5138  df-tr 5164  df-id 5453  df-eprel 5458  df-po 5467  df-so 5468  df-fr 5507  df-we 5509  df-xp 5554  df-rel 5555  df-cnv 5556  df-co 5557  df-dm 5558  df-rn 5559  df-res 5560  df-ima 5561  df-pred 6141  df-ord 6187  df-on 6188  df-lim 6189  df-suc 6190  df-iota 6307  df-fun 6350  df-fn 6351  df-f 6352  df-f1 6353  df-fo 6354  df-f1o 6355  df-fv 6356  df-riota 7103  df-ov 7148  df-oprab 7149  df-mpo 7150  df-om 7570  df-1st 7678  df-2nd 7679  df-wrecs 7936  df-recs 7997  df-rdg 8035  df-1o 8091  df-2o 8092  df-oadd 8095  df-er 8278  df-map 8397  df-pm 8398  df-en 8498  df-dom 8499  df-sdom 8500  df-fin 8501  df-dju 9318  df-card 9356  df-pnf 10665  df-mnf 10666  df-xr 10667  df-ltxr 10668  df-le 10669  df-sub 10860  df-neg 10861  df-nn 11627  df-n0 11886  df-z 11970  df-uz 12232  df-fz 12881  df-seq 13358  df-exp 13418  df-hash 13679
This theorem is referenced by:  hashpw  13785  hashwrdn  13886  prmreclem2  16241  birthdaylem2  25457  efmndhash  43974
  Copyright terms: Public domain W3C validator