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

Theorem hashmap 14002
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 7221 . . . . . 6 (𝑥 = ∅ → (𝐴m 𝑥) = (𝐴m ∅))
21fveq2d 6721 . . . . 5 (𝑥 = ∅ → (♯‘(𝐴m 𝑥)) = (♯‘(𝐴m ∅)))
3 fveq2 6717 . . . . . 6 (𝑥 = ∅ → (♯‘𝑥) = (♯‘∅))
43oveq2d 7229 . . . . 5 (𝑥 = ∅ → ((♯‘𝐴)↑(♯‘𝑥)) = ((♯‘𝐴)↑(♯‘∅)))
52, 4eqeq12d 2753 . . . 4 (𝑥 = ∅ → ((♯‘(𝐴m 𝑥)) = ((♯‘𝐴)↑(♯‘𝑥)) ↔ (♯‘(𝐴m ∅)) = ((♯‘𝐴)↑(♯‘∅))))
65imbi2d 344 . . 3 (𝑥 = ∅ → ((𝐴 ∈ Fin → (♯‘(𝐴m 𝑥)) = ((♯‘𝐴)↑(♯‘𝑥))) ↔ (𝐴 ∈ Fin → (♯‘(𝐴m ∅)) = ((♯‘𝐴)↑(♯‘∅)))))
7 oveq2 7221 . . . . . 6 (𝑥 = 𝑦 → (𝐴m 𝑥) = (𝐴m 𝑦))
87fveq2d 6721 . . . . 5 (𝑥 = 𝑦 → (♯‘(𝐴m 𝑥)) = (♯‘(𝐴m 𝑦)))
9 fveq2 6717 . . . . . 6 (𝑥 = 𝑦 → (♯‘𝑥) = (♯‘𝑦))
109oveq2d 7229 . . . . 5 (𝑥 = 𝑦 → ((♯‘𝐴)↑(♯‘𝑥)) = ((♯‘𝐴)↑(♯‘𝑦)))
118, 10eqeq12d 2753 . . . 4 (𝑥 = 𝑦 → ((♯‘(𝐴m 𝑥)) = ((♯‘𝐴)↑(♯‘𝑥)) ↔ (♯‘(𝐴m 𝑦)) = ((♯‘𝐴)↑(♯‘𝑦))))
1211imbi2d 344 . . 3 (𝑥 = 𝑦 → ((𝐴 ∈ Fin → (♯‘(𝐴m 𝑥)) = ((♯‘𝐴)↑(♯‘𝑥))) ↔ (𝐴 ∈ Fin → (♯‘(𝐴m 𝑦)) = ((♯‘𝐴)↑(♯‘𝑦)))))
13 oveq2 7221 . . . . . 6 (𝑥 = (𝑦 ∪ {𝑧}) → (𝐴m 𝑥) = (𝐴m (𝑦 ∪ {𝑧})))
1413fveq2d 6721 . . . . 5 (𝑥 = (𝑦 ∪ {𝑧}) → (♯‘(𝐴m 𝑥)) = (♯‘(𝐴m (𝑦 ∪ {𝑧}))))
15 fveq2 6717 . . . . . 6 (𝑥 = (𝑦 ∪ {𝑧}) → (♯‘𝑥) = (♯‘(𝑦 ∪ {𝑧})))
1615oveq2d 7229 . . . . 5 (𝑥 = (𝑦 ∪ {𝑧}) → ((♯‘𝐴)↑(♯‘𝑥)) = ((♯‘𝐴)↑(♯‘(𝑦 ∪ {𝑧}))))
1714, 16eqeq12d 2753 . . . 4 (𝑥 = (𝑦 ∪ {𝑧}) → ((♯‘(𝐴m 𝑥)) = ((♯‘𝐴)↑(♯‘𝑥)) ↔ (♯‘(𝐴m (𝑦 ∪ {𝑧}))) = ((♯‘𝐴)↑(♯‘(𝑦 ∪ {𝑧})))))
1817imbi2d 344 . . 3 (𝑥 = (𝑦 ∪ {𝑧}) → ((𝐴 ∈ Fin → (♯‘(𝐴m 𝑥)) = ((♯‘𝐴)↑(♯‘𝑥))) ↔ (𝐴 ∈ Fin → (♯‘(𝐴m (𝑦 ∪ {𝑧}))) = ((♯‘𝐴)↑(♯‘(𝑦 ∪ {𝑧}))))))
19 oveq2 7221 . . . . . 6 (𝑥 = 𝐵 → (𝐴m 𝑥) = (𝐴m 𝐵))
2019fveq2d 6721 . . . . 5 (𝑥 = 𝐵 → (♯‘(𝐴m 𝑥)) = (♯‘(𝐴m 𝐵)))
21 fveq2 6717 . . . . . 6 (𝑥 = 𝐵 → (♯‘𝑥) = (♯‘𝐵))
2221oveq2d 7229 . . . . 5 (𝑥 = 𝐵 → ((♯‘𝐴)↑(♯‘𝑥)) = ((♯‘𝐴)↑(♯‘𝐵)))
2320, 22eqeq12d 2753 . . . 4 (𝑥 = 𝐵 → ((♯‘(𝐴m 𝑥)) = ((♯‘𝐴)↑(♯‘𝑥)) ↔ (♯‘(𝐴m 𝐵)) = ((♯‘𝐴)↑(♯‘𝐵))))
2423imbi2d 344 . . 3 (𝑥 = 𝐵 → ((𝐴 ∈ Fin → (♯‘(𝐴m 𝑥)) = ((♯‘𝐴)↑(♯‘𝑥))) ↔ (𝐴 ∈ Fin → (♯‘(𝐴m 𝐵)) = ((♯‘𝐴)↑(♯‘𝐵)))))
25 hashcl 13923 . . . . . 6 (𝐴 ∈ Fin → (♯‘𝐴) ∈ ℕ0)
2625nn0cnd 12152 . . . . 5 (𝐴 ∈ Fin → (♯‘𝐴) ∈ ℂ)
2726exp0d 13710 . . . 4 (𝐴 ∈ Fin → ((♯‘𝐴)↑0) = 1)
28 hash0 13934 . . . . . 6 (♯‘∅) = 0
2928oveq2i 7224 . . . . 5 ((♯‘𝐴)↑(♯‘∅)) = ((♯‘𝐴)↑0)
3029a1i 11 . . . 4 (𝐴 ∈ Fin → ((♯‘𝐴)↑(♯‘∅)) = ((♯‘𝐴)↑0))
31 mapdm0 8523 . . . . . 6 (𝐴 ∈ Fin → (𝐴m ∅) = {∅})
3231fveq2d 6721 . . . . 5 (𝐴 ∈ Fin → (♯‘(𝐴m ∅)) = (♯‘{∅}))
33 0ex 5200 . . . . . 6 ∅ ∈ V
34 hashsng 13936 . . . . . 6 (∅ ∈ V → (♯‘{∅}) = 1)
3533, 34mp1i 13 . . . . 5 (𝐴 ∈ Fin → (♯‘{∅}) = 1)
3632, 35eqtrd 2777 . . . 4 (𝐴 ∈ Fin → (♯‘(𝐴m ∅)) = 1)
3727, 30, 363eqtr4rd 2788 . . 3 (𝐴 ∈ Fin → (♯‘(𝐴m ∅)) = ((♯‘𝐴)↑(♯‘∅)))
38 oveq1 7220 . . . . . 6 ((♯‘(𝐴m 𝑦)) = ((♯‘𝐴)↑(♯‘𝑦)) → ((♯‘(𝐴m 𝑦)) · (♯‘𝐴)) = (((♯‘𝐴)↑(♯‘𝑦)) · (♯‘𝐴)))
39 vex 3412 . . . . . . . . . . 11 𝑦 ∈ V
4039a1i 11 . . . . . . . . . 10 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → 𝑦 ∈ V)
41 snex 5324 . . . . . . . . . . 11 {𝑧} ∈ V
4241a1i 11 . . . . . . . . . 10 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → {𝑧} ∈ V)
43 elex 3426 . . . . . . . . . . 11 (𝐴 ∈ Fin → 𝐴 ∈ V)
4443adantr 484 . . . . . . . . . 10 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → 𝐴 ∈ V)
45 simprr 773 . . . . . . . . . . 11 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → ¬ 𝑧𝑦)
46 disjsn 4627 . . . . . . . . . . 11 ((𝑦 ∩ {𝑧}) = ∅ ↔ ¬ 𝑧𝑦)
4745, 46sylibr 237 . . . . . . . . . 10 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → (𝑦 ∩ {𝑧}) = ∅)
48 mapunen 8815 . . . . . . . . . 10 (((𝑦 ∈ V ∧ {𝑧} ∈ V ∧ 𝐴 ∈ V) ∧ (𝑦 ∩ {𝑧}) = ∅) → (𝐴m (𝑦 ∪ {𝑧})) ≈ ((𝐴m 𝑦) × (𝐴m {𝑧})))
4940, 42, 44, 47, 48syl31anc 1375 . . . . . . . . 9 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → (𝐴m (𝑦 ∪ {𝑧})) ≈ ((𝐴m 𝑦) × (𝐴m {𝑧})))
50 simpl 486 . . . . . . . . . . 11 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → 𝐴 ∈ Fin)
51 simprl 771 . . . . . . . . . . . 12 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → 𝑦 ∈ Fin)
52 snfi 8721 . . . . . . . . . . . 12 {𝑧} ∈ Fin
53 unfi 8850 . . . . . . . . . . . 12 ((𝑦 ∈ Fin ∧ {𝑧} ∈ Fin) → (𝑦 ∪ {𝑧}) ∈ Fin)
5451, 52, 53sylancl 589 . . . . . . . . . . 11 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → (𝑦 ∪ {𝑧}) ∈ Fin)
55 mapfi 8972 . . . . . . . . . . 11 ((𝐴 ∈ Fin ∧ (𝑦 ∪ {𝑧}) ∈ Fin) → (𝐴m (𝑦 ∪ {𝑧})) ∈ Fin)
5650, 54, 55syl2anc 587 . . . . . . . . . 10 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → (𝐴m (𝑦 ∪ {𝑧})) ∈ Fin)
57 mapfi 8972 . . . . . . . . . . . 12 ((𝐴 ∈ Fin ∧ 𝑦 ∈ Fin) → (𝐴m 𝑦) ∈ Fin)
5857adantrr 717 . . . . . . . . . . 11 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → (𝐴m 𝑦) ∈ Fin)
59 mapfi 8972 . . . . . . . . . . . 12 ((𝐴 ∈ Fin ∧ {𝑧} ∈ Fin) → (𝐴m {𝑧}) ∈ Fin)
6050, 52, 59sylancl 589 . . . . . . . . . . 11 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → (𝐴m {𝑧}) ∈ Fin)
61 xpfi 8942 . . . . . . . . . . 11 (((𝐴m 𝑦) ∈ Fin ∧ (𝐴m {𝑧}) ∈ Fin) → ((𝐴m 𝑦) × (𝐴m {𝑧})) ∈ Fin)
6258, 60, 61syl2anc 587 . . . . . . . . . 10 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → ((𝐴m 𝑦) × (𝐴m {𝑧})) ∈ Fin)
63 hashen 13913 . . . . . . . . . 10 (((𝐴m (𝑦 ∪ {𝑧})) ∈ Fin ∧ ((𝐴m 𝑦) × (𝐴m {𝑧})) ∈ Fin) → ((♯‘(𝐴m (𝑦 ∪ {𝑧}))) = (♯‘((𝐴m 𝑦) × (𝐴m {𝑧}))) ↔ (𝐴m (𝑦 ∪ {𝑧})) ≈ ((𝐴m 𝑦) × (𝐴m {𝑧}))))
6456, 62, 63syl2anc 587 . . . . . . . . 9 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → ((♯‘(𝐴m (𝑦 ∪ {𝑧}))) = (♯‘((𝐴m 𝑦) × (𝐴m {𝑧}))) ↔ (𝐴m (𝑦 ∪ {𝑧})) ≈ ((𝐴m 𝑦) × (𝐴m {𝑧}))))
6549, 64mpbird 260 . . . . . . . 8 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → (♯‘(𝐴m (𝑦 ∪ {𝑧}))) = (♯‘((𝐴m 𝑦) × (𝐴m {𝑧}))))
66 hashxp 14001 . . . . . . . . 9 (((𝐴m 𝑦) ∈ Fin ∧ (𝐴m {𝑧}) ∈ Fin) → (♯‘((𝐴m 𝑦) × (𝐴m {𝑧}))) = ((♯‘(𝐴m 𝑦)) · (♯‘(𝐴m {𝑧}))))
6758, 60, 66syl2anc 587 . . . . . . . 8 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → (♯‘((𝐴m 𝑦) × (𝐴m {𝑧}))) = ((♯‘(𝐴m 𝑦)) · (♯‘(𝐴m {𝑧}))))
68 vex 3412 . . . . . . . . . . . 12 𝑧 ∈ V
6968a1i 11 . . . . . . . . . . 11 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → 𝑧 ∈ V)
7050, 69mapsnend 8713 . . . . . . . . . 10 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → (𝐴m {𝑧}) ≈ 𝐴)
71 hashen 13913 . . . . . . . . . . 11 (((𝐴m {𝑧}) ∈ Fin ∧ 𝐴 ∈ Fin) → ((♯‘(𝐴m {𝑧})) = (♯‘𝐴) ↔ (𝐴m {𝑧}) ≈ 𝐴))
7260, 50, 71syl2anc 587 . . . . . . . . . 10 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → ((♯‘(𝐴m {𝑧})) = (♯‘𝐴) ↔ (𝐴m {𝑧}) ≈ 𝐴))
7370, 72mpbird 260 . . . . . . . . 9 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → (♯‘(𝐴m {𝑧})) = (♯‘𝐴))
7473oveq2d 7229 . . . . . . . 8 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → ((♯‘(𝐴m 𝑦)) · (♯‘(𝐴m {𝑧}))) = ((♯‘(𝐴m 𝑦)) · (♯‘𝐴)))
7565, 67, 743eqtrd 2781 . . . . . . 7 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → (♯‘(𝐴m (𝑦 ∪ {𝑧}))) = ((♯‘(𝐴m 𝑦)) · (♯‘𝐴)))
76 hashunsng 13959 . . . . . . . . . . 11 (𝑧 ∈ V → ((𝑦 ∈ Fin ∧ ¬ 𝑧𝑦) → (♯‘(𝑦 ∪ {𝑧})) = ((♯‘𝑦) + 1)))
7776elv 3414 . . . . . . . . . 10 ((𝑦 ∈ Fin ∧ ¬ 𝑧𝑦) → (♯‘(𝑦 ∪ {𝑧})) = ((♯‘𝑦) + 1))
7877adantl 485 . . . . . . . . 9 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → (♯‘(𝑦 ∪ {𝑧})) = ((♯‘𝑦) + 1))
7978oveq2d 7229 . . . . . . . 8 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → ((♯‘𝐴)↑(♯‘(𝑦 ∪ {𝑧}))) = ((♯‘𝐴)↑((♯‘𝑦) + 1)))
8026adantr 484 . . . . . . . . 9 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → (♯‘𝐴) ∈ ℂ)
81 hashcl 13923 . . . . . . . . . 10 (𝑦 ∈ Fin → (♯‘𝑦) ∈ ℕ0)
8281ad2antrl 728 . . . . . . . . 9 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → (♯‘𝑦) ∈ ℕ0)
8380, 82expp1d 13717 . . . . . . . 8 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → ((♯‘𝐴)↑((♯‘𝑦) + 1)) = (((♯‘𝐴)↑(♯‘𝑦)) · (♯‘𝐴)))
8479, 83eqtrd 2777 . . . . . . 7 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → ((♯‘𝐴)↑(♯‘(𝑦 ∪ {𝑧}))) = (((♯‘𝐴)↑(♯‘𝑦)) · (♯‘𝐴)))
8575, 84eqeq12d 2753 . . . . . 6 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → ((♯‘(𝐴m (𝑦 ∪ {𝑧}))) = ((♯‘𝐴)↑(♯‘(𝑦 ∪ {𝑧}))) ↔ ((♯‘(𝐴m 𝑦)) · (♯‘𝐴)) = (((♯‘𝐴)↑(♯‘𝑦)) · (♯‘𝐴))))
8638, 85syl5ibr 249 . . . . 5 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧𝑦)) → ((♯‘(𝐴m 𝑦)) = ((♯‘𝐴)↑(♯‘𝑦)) → (♯‘(𝐴m (𝑦 ∪ {𝑧}))) = ((♯‘𝐴)↑(♯‘(𝑦 ∪ {𝑧})))))
8786expcom 417 . . . 4 ((𝑦 ∈ Fin ∧ ¬ 𝑧𝑦) → (𝐴 ∈ Fin → ((♯‘(𝐴m 𝑦)) = ((♯‘𝐴)↑(♯‘𝑦)) → (♯‘(𝐴m (𝑦 ∪ {𝑧}))) = ((♯‘𝐴)↑(♯‘(𝑦 ∪ {𝑧}))))))
8887a2d 29 . . 3 ((𝑦 ∈ Fin ∧ ¬ 𝑧𝑦) → ((𝐴 ∈ Fin → (♯‘(𝐴m 𝑦)) = ((♯‘𝐴)↑(♯‘𝑦))) → (𝐴 ∈ Fin → (♯‘(𝐴m (𝑦 ∪ {𝑧}))) = ((♯‘𝐴)↑(♯‘(𝑦 ∪ {𝑧}))))))
896, 12, 18, 24, 37, 88findcard2s 8843 . 2 (𝐵 ∈ Fin → (𝐴 ∈ Fin → (♯‘(𝐴m 𝐵)) = ((♯‘𝐴)↑(♯‘𝐵))))
9089impcom 411 1 ((𝐴 ∈ Fin ∧ 𝐵 ∈ Fin) → (♯‘(𝐴m 𝐵)) = ((♯‘𝐴)↑(♯‘𝐵)))
Colors of variables: wff setvar class
Syntax hints:  ¬ wn 3  wi 4  wb 209  wa 399   = wceq 1543  wcel 2110  Vcvv 3408  cun 3864  cin 3865  c0 4237  {csn 4541   class class class wbr 5053   × cxp 5549  cfv 6380  (class class class)co 7213  m cmap 8508  cen 8623  Fincfn 8626  cc 10727  0cc0 10729  1c1 10730   + caddc 10732   · cmul 10734  0cn0 12090  cexp 13635  chash 13896
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1803  ax-4 1817  ax-5 1918  ax-6 1976  ax-7 2016  ax-8 2112  ax-9 2120  ax-10 2141  ax-11 2158  ax-12 2175  ax-ext 2708  ax-sep 5192  ax-nul 5199  ax-pow 5258  ax-pr 5322  ax-un 7523  ax-cnex 10785  ax-resscn 10786  ax-1cn 10787  ax-icn 10788  ax-addcl 10789  ax-addrcl 10790  ax-mulcl 10791  ax-mulrcl 10792  ax-mulcom 10793  ax-addass 10794  ax-mulass 10795  ax-distr 10796  ax-i2m1 10797  ax-1ne0 10798  ax-1rid 10799  ax-rnegex 10800  ax-rrecex 10801  ax-cnre 10802  ax-pre-lttri 10803  ax-pre-lttrn 10804  ax-pre-ltadd 10805  ax-pre-mulgt0 10806
This theorem depends on definitions:  df-bi 210  df-an 400  df-or 848  df-3or 1090  df-3an 1091  df-tru 1546  df-fal 1556  df-ex 1788  df-nf 1792  df-sb 2071  df-mo 2539  df-eu 2568  df-clab 2715  df-cleq 2729  df-clel 2816  df-nfc 2886  df-ne 2941  df-nel 3047  df-ral 3066  df-rex 3067  df-reu 3068  df-rab 3070  df-v 3410  df-sbc 3695  df-csb 3812  df-dif 3869  df-un 3871  df-in 3873  df-ss 3883  df-pss 3885  df-nul 4238  df-if 4440  df-pw 4515  df-sn 4542  df-pr 4544  df-tp 4546  df-op 4548  df-uni 4820  df-int 4860  df-iun 4906  df-br 5054  df-opab 5116  df-mpt 5136  df-tr 5162  df-id 5455  df-eprel 5460  df-po 5468  df-so 5469  df-fr 5509  df-we 5511  df-xp 5557  df-rel 5558  df-cnv 5559  df-co 5560  df-dm 5561  df-rn 5562  df-res 5563  df-ima 5564  df-pred 6160  df-ord 6216  df-on 6217  df-lim 6218  df-suc 6219  df-iota 6338  df-fun 6382  df-fn 6383  df-f 6384  df-f1 6385  df-fo 6386  df-f1o 6387  df-fv 6388  df-riota 7170  df-ov 7216  df-oprab 7217  df-mpo 7218  df-om 7645  df-1st 7761  df-2nd 7762  df-wrecs 8047  df-recs 8108  df-rdg 8146  df-1o 8202  df-oadd 8206  df-er 8391  df-map 8510  df-pm 8511  df-en 8627  df-dom 8628  df-sdom 8629  df-fin 8630  df-dju 9517  df-card 9555  df-pnf 10869  df-mnf 10870  df-xr 10871  df-ltxr 10872  df-le 10873  df-sub 11064  df-neg 11065  df-nn 11831  df-n0 12091  df-z 12177  df-uz 12439  df-fz 13096  df-seq 13575  df-exp 13636  df-hash 13897
This theorem is referenced by:  hashpw  14003  hashwrdn  14102  prmreclem2  16470  efmndhash  18303  birthdaylem2  25835
  Copyright terms: Public domain W3C validator