ILE Home Intuitionistic Logic Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  ILE Home  >  Th. List  >  hashmap GIF version

Theorem hashmap 11290
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) → (♯‘(𝐴 ↑𝑚 𝐵)) = ((♯‘𝐴)↑(♯‘𝐵)))

Proof of Theorem hashmap
Dummy variables 𝑥 𝑦 𝑧 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 oveq2 6096 . . . . . 6 (𝑥 = ∅ → (𝐴 ↑𝑚 𝑥) = (𝐴 ↑𝑚 ∅))
21fveq2d 5702 . . . . 5 (𝑥 = ∅ → (♯‘(𝐴 ↑𝑚 𝑥)) = (♯‘(𝐴 ↑𝑚 ∅)))
3 fveq2 5698 . . . . . 6 (𝑥 = ∅ → (♯‘𝑥) = (♯‘∅))
43oveq2d 6104 . . . . 5 (𝑥 = ∅ → ((♯‘𝐴)↑(♯‘𝑥)) = ((♯‘𝐴)↑(♯‘∅)))
52, 4eqeq12d 2253 . . . 4 (𝑥 = ∅ → ((♯‘(𝐴 ↑𝑚 𝑥)) = ((♯‘𝐴)↑(♯‘𝑥)) ↔ (♯‘(𝐴 ↑𝑚 ∅)) = ((♯‘𝐴)↑(♯‘∅))))
65imbi2d 230 . . 3 (𝑥 = ∅ → ((𝐴 ∈ Fin → (♯‘(𝐴 ↑𝑚 𝑥)) = ((♯‘𝐴)↑(♯‘𝑥))) ↔ (𝐴 ∈ Fin → (♯‘(𝐴 ↑𝑚 ∅)) = ((♯‘𝐴)↑(♯‘∅)))))
7 oveq2 6096 . . . . . 6 (𝑥 = 𝑦 → (𝐴 ↑𝑚 𝑥) = (𝐴 ↑𝑚 𝑦))
87fveq2d 5702 . . . . 5 (𝑥 = 𝑦 → (♯‘(𝐴 ↑𝑚 𝑥)) = (♯‘(𝐴 ↑𝑚 𝑦)))
9 fveq2 5698 . . . . . 6 (𝑥 = 𝑦 → (♯‘𝑥) = (♯‘𝑦))
109oveq2d 6104 . . . . 5 (𝑥 = 𝑦 → ((♯‘𝐴)↑(♯‘𝑥)) = ((♯‘𝐴)↑(♯‘𝑦)))
118, 10eqeq12d 2253 . . . 4 (𝑥 = 𝑦 → ((♯‘(𝐴 ↑𝑚 𝑥)) = ((♯‘𝐴)↑(♯‘𝑥)) ↔ (♯‘(𝐴 ↑𝑚 𝑦)) = ((♯‘𝐴)↑(♯‘𝑦))))
1211imbi2d 230 . . 3 (𝑥 = 𝑦 → ((𝐴 ∈ Fin → (♯‘(𝐴 ↑𝑚 𝑥)) = ((♯‘𝐴)↑(♯‘𝑥))) ↔ (𝐴 ∈ Fin → (♯‘(𝐴 ↑𝑚 𝑦)) = ((♯‘𝐴)↑(♯‘𝑦)))))
13 oveq2 6096 . . . . . 6 (𝑥 = (𝑦 ∪ {𝑧}) → (𝐴 ↑𝑚 𝑥) = (𝐴 ↑𝑚 (𝑦 ∪ {𝑧})))
1413fveq2d 5702 . . . . 5 (𝑥 = (𝑦 ∪ {𝑧}) → (♯‘(𝐴 ↑𝑚 𝑥)) = (♯‘(𝐴 ↑𝑚 (𝑦 ∪ {𝑧}))))
15 fveq2 5698 . . . . . 6 (𝑥 = (𝑦 ∪ {𝑧}) → (♯‘𝑥) = (♯‘(𝑦 ∪ {𝑧})))
1615oveq2d 6104 . . . . 5 (𝑥 = (𝑦 ∪ {𝑧}) → ((♯‘𝐴)↑(♯‘𝑥)) = ((♯‘𝐴)↑(♯‘(𝑦 ∪ {𝑧}))))
1714, 16eqeq12d 2253 . . . 4 (𝑥 = (𝑦 ∪ {𝑧}) → ((♯‘(𝐴 ↑𝑚 𝑥)) = ((♯‘𝐴)↑(♯‘𝑥)) ↔ (♯‘(𝐴 ↑𝑚 (𝑦 ∪ {𝑧}))) = ((♯‘𝐴)↑(♯‘(𝑦 ∪ {𝑧})))))
1817imbi2d 230 . . 3 (𝑥 = (𝑦 ∪ {𝑧}) → ((𝐴 ∈ Fin → (♯‘(𝐴 ↑𝑚 𝑥)) = ((♯‘𝐴)↑(♯‘𝑥))) ↔ (𝐴 ∈ Fin → (♯‘(𝐴 ↑𝑚 (𝑦 ∪ {𝑧}))) = ((♯‘𝐴)↑(♯‘(𝑦 ∪ {𝑧}))))))
19 oveq2 6096 . . . . . 6 (𝑥 = 𝐵 → (𝐴 ↑𝑚 𝑥) = (𝐴 ↑𝑚 𝐵))
2019fveq2d 5702 . . . . 5 (𝑥 = 𝐵 → (♯‘(𝐴 ↑𝑚 𝑥)) = (♯‘(𝐴 ↑𝑚 𝐵)))
21 fveq2 5698 . . . . . 6 (𝑥 = 𝐵 → (♯‘𝑥) = (♯‘𝐵))
2221oveq2d 6104 . . . . 5 (𝑥 = 𝐵 → ((♯‘𝐴)↑(♯‘𝑥)) = ((♯‘𝐴)↑(♯‘𝐵)))
2320, 22eqeq12d 2253 . . . 4 (𝑥 = 𝐵 → ((♯‘(𝐴 ↑𝑚 𝑥)) = ((♯‘𝐴)↑(♯‘𝑥)) ↔ (♯‘(𝐴 ↑𝑚 𝐵)) = ((♯‘𝐴)↑(♯‘𝐵))))
2423imbi2d 230 . . 3 (𝑥 = 𝐵 → ((𝐴 ∈ Fin → (♯‘(𝐴 ↑𝑚 𝑥)) = ((♯‘𝐴)↑(♯‘𝑥))) ↔ (𝐴 ∈ Fin → (♯‘(𝐴 ↑𝑚 𝐵)) = ((♯‘𝐴)↑(♯‘𝐵)))))
25 hashcl 11242 . . . . . 6 (𝐴 ∈ Fin → (♯‘𝐴) ∈ ℕ0)
2625nn0cnd 9633 . . . . 5 (𝐴 ∈ Fin → (♯‘𝐴) ∈ ℂ)
2726exp0d 11126 . . . 4 (𝐴 ∈ Fin → ((♯‘𝐴)↑0) = 1)
28 hash0 11257 . . . . . 6 (♯‘∅) = 0
2928oveq2i 6099 . . . . 5 ((♯‘𝐴)↑(♯‘∅)) = ((♯‘𝐴)↑0)
3029a1i 9 . . . 4 (𝐴 ∈ Fin → ((♯‘𝐴)↑(♯‘∅)) = ((♯‘𝐴)↑0))
31 mapdm0 6941 . . . . . 6 (𝐴 ∈ Fin → (𝐴 ↑𝑚 ∅) = {∅})
3231fveq2d 5702 . . . . 5 (𝐴 ∈ Fin → (♯‘(𝐴 ↑𝑚 ∅)) = (♯‘{∅}))
33 0ex 4262 . . . . . 6 ∅ ∈ V
34 hashsng 11259 . . . . . 6 (∅ ∈ V → (♯‘{∅}) = 1)
3533, 34mp1i 10 . . . . 5 (𝐴 ∈ Fin → (♯‘{∅}) = 1)
3632, 35eqtrd 2271 . . . 4 (𝐴 ∈ Fin → (♯‘(𝐴 ↑𝑚 ∅)) = 1)
3727, 30, 363eqtr4rd 2282 . . 3 (𝐴 ∈ Fin → (♯‘(𝐴 ↑𝑚 ∅)) = ((♯‘𝐴)↑(♯‘∅)))
38 oveq1 6095 . . . . . 6 ((♯‘(𝐴 ↑𝑚 𝑦)) = ((♯‘𝐴)↑(♯‘𝑦)) → ((♯‘(𝐴 ↑𝑚 𝑦)) · (♯‘𝐴)) = (((♯‘𝐴)↑(♯‘𝑦)) · (♯‘𝐴)))
39 vex 2824 . . . . . . . . . . 11 𝑦 ∈ V
4039a1i 9 . . . . . . . . . 10 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → 𝑦 ∈ V)
41 vsnex 4350 . . . . . . . . . . 11 {𝑧} ∈ V
4241a1i 9 . . . . . . . . . 10 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → {𝑧} ∈ V)
43 elex 2833 . . . . . . . . . . 11 (𝐴 ∈ Fin → 𝐴 ∈ V)
4443adantr 276 . . . . . . . . . 10 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → 𝐴 ∈ V)
45 simprr 537 . . . . . . . . . . 11 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → ¬ 𝑧 ∈ 𝑦)
46 disjsn 3771 . . . . . . . . . . 11 ((𝑦 ∩ {𝑧}) = ∅ ↔ ¬ 𝑧 ∈ 𝑦)
4745, 46sylibr 134 . . . . . . . . . 10 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → (𝑦 ∩ {𝑧}) = ∅)
48 mapunen 7155 . . . . . . . . . 10 (((𝑦 ∈ V ∧ {𝑧} ∈ V ∧ 𝐴 ∈ V) ∧ (𝑦 ∩ {𝑧}) = ∅) → (𝐴 ↑𝑚 (𝑦 ∪ {𝑧})) ≈ ((𝐴 ↑𝑚 𝑦) × (𝐴 ↑𝑚 {𝑧})))
4940, 42, 44, 47, 48syl31anc 1281 . . . . . . . . 9 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → (𝐴 ↑𝑚 (𝑦 ∪ {𝑧})) ≈ ((𝐴 ↑𝑚 𝑦) × (𝐴 ↑𝑚 {𝑧})))
50 simpl 109 . . . . . . . . . . 11 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → 𝐴 ∈ Fin)
51 simprl 535 . . . . . . . . . . . 12 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → 𝑦 ∈ Fin)
52 vex 2824 . . . . . . . . . . . . 13 𝑧 ∈ V
5352a1i 9 . . . . . . . . . . . 12 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → 𝑧 ∈ V)
54 unsnfi 7230 . . . . . . . . . . . 12 ((𝑦 ∈ Fin ∧ 𝑧 ∈ V ∧ ¬ 𝑧 ∈ 𝑦) → (𝑦 ∪ {𝑧}) ∈ Fin)
5551, 53, 45, 54syl3anc 1278 . . . . . . . . . . 11 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → (𝑦 ∪ {𝑧}) ∈ Fin)
56 mapfi 7265 . . . . . . . . . . 11 ((𝐴 ∈ Fin ∧ (𝑦 ∪ {𝑧}) ∈ Fin) → (𝐴 ↑𝑚 (𝑦 ∪ {𝑧})) ∈ Fin)
5750, 55, 56syl2anc 415 . . . . . . . . . 10 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → (𝐴 ↑𝑚 (𝑦 ∪ {𝑧})) ∈ Fin)
58 mapfi 7265 . . . . . . . . . . . 12 ((𝐴 ∈ Fin ∧ 𝑦 ∈ Fin) → (𝐴 ↑𝑚 𝑦) ∈ Fin)
5958adantrr 483 . . . . . . . . . . 11 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → (𝐴 ↑𝑚 𝑦) ∈ Fin)
60 snfig 7107 . . . . . . . . . . . . 13 (𝑧 ∈ V → {𝑧} ∈ Fin)
6160elv 2825 . . . . . . . . . . . 12 {𝑧} ∈ Fin
62 mapfi 7265 . . . . . . . . . . . 12 ((𝐴 ∈ Fin ∧ {𝑧} ∈ Fin) → (𝐴 ↑𝑚 {𝑧}) ∈ Fin)
6350, 61, 62sylancl 417 . . . . . . . . . . 11 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → (𝐴 ↑𝑚 {𝑧}) ∈ Fin)
64 xpfi 7243 . . . . . . . . . . 11 (((𝐴 ↑𝑚 𝑦) ∈ Fin ∧ (𝐴 ↑𝑚 {𝑧}) ∈ Fin) → ((𝐴 ↑𝑚 𝑦) × (𝐴 ↑𝑚 {𝑧})) ∈ Fin)
6559, 63, 64syl2anc 415 . . . . . . . . . 10 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → ((𝐴 ↑𝑚 𝑦) × (𝐴 ↑𝑚 {𝑧})) ∈ Fin)
66 hashen 11245 . . . . . . . . . 10 (((𝐴 ↑𝑚 (𝑦 ∪ {𝑧})) ∈ Fin ∧ ((𝐴 ↑𝑚 𝑦) × (𝐴 ↑𝑚 {𝑧})) ∈ Fin) → ((♯‘(𝐴 ↑𝑚 (𝑦 ∪ {𝑧}))) = (♯‘((𝐴 ↑𝑚 𝑦) × (𝐴 ↑𝑚 {𝑧}))) ↔ (𝐴 ↑𝑚 (𝑦 ∪ {𝑧})) ≈ ((𝐴 ↑𝑚 𝑦) × (𝐴 ↑𝑚 {𝑧}))))
6757, 65, 66syl2anc 415 . . . . . . . . 9 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → ((♯‘(𝐴 ↑𝑚 (𝑦 ∪ {𝑧}))) = (♯‘((𝐴 ↑𝑚 𝑦) × (𝐴 ↑𝑚 {𝑧}))) ↔ (𝐴 ↑𝑚 (𝑦 ∪ {𝑧})) ≈ ((𝐴 ↑𝑚 𝑦) × (𝐴 ↑𝑚 {𝑧}))))
6849, 67mpbird 167 . . . . . . . 8 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → (♯‘(𝐴 ↑𝑚 (𝑦 ∪ {𝑧}))) = (♯‘((𝐴 ↑𝑚 𝑦) × (𝐴 ↑𝑚 {𝑧}))))
69 hashxp 11289 . . . . . . . . 9 (((𝐴 ↑𝑚 𝑦) ∈ Fin ∧ (𝐴 ↑𝑚 {𝑧}) ∈ Fin) → (♯‘((𝐴 ↑𝑚 𝑦) × (𝐴 ↑𝑚 {𝑧}))) = ((♯‘(𝐴 ↑𝑚 𝑦)) · (♯‘(𝐴 ↑𝑚 {𝑧}))))
7059, 63, 69syl2anc 415 . . . . . . . 8 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → (♯‘((𝐴 ↑𝑚 𝑦) × (𝐴 ↑𝑚 {𝑧}))) = ((♯‘(𝐴 ↑𝑚 𝑦)) · (♯‘(𝐴 ↑𝑚 {𝑧}))))
7150, 53mapsnend 7103 . . . . . . . . . 10 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → (𝐴 ↑𝑚 {𝑧}) ≈ 𝐴)
72 hashen 11245 . . . . . . . . . . 11 (((𝐴 ↑𝑚 {𝑧}) ∈ Fin ∧ 𝐴 ∈ Fin) → ((♯‘(𝐴 ↑𝑚 {𝑧})) = (♯‘𝐴) ↔ (𝐴 ↑𝑚 {𝑧}) ≈ 𝐴))
7363, 50, 72syl2anc 415 . . . . . . . . . 10 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → ((♯‘(𝐴 ↑𝑚 {𝑧})) = (♯‘𝐴) ↔ (𝐴 ↑𝑚 {𝑧}) ≈ 𝐴))
7471, 73mpbird 167 . . . . . . . . 9 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → (♯‘(𝐴 ↑𝑚 {𝑧})) = (♯‘𝐴))
7574oveq2d 6104 . . . . . . . 8 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → ((♯‘(𝐴 ↑𝑚 𝑦)) · (♯‘(𝐴 ↑𝑚 {𝑧}))) = ((♯‘(𝐴 ↑𝑚 𝑦)) · (♯‘𝐴)))
7668, 70, 753eqtrd 2275 . . . . . . 7 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → (♯‘(𝐴 ↑𝑚 (𝑦 ∪ {𝑧}))) = ((♯‘(𝐴 ↑𝑚 𝑦)) · (♯‘𝐴)))
77 hashunsng 11270 . . . . . . . . . . 11 (𝑧 ∈ V → ((𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦) → (♯‘(𝑦 ∪ {𝑧})) = ((♯‘𝑦) + 1)))
7877elv 2825 . . . . . . . . . 10 ((𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦) → (♯‘(𝑦 ∪ {𝑧})) = ((♯‘𝑦) + 1))
7978adantl 277 . . . . . . . . 9 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → (♯‘(𝑦 ∪ {𝑧})) = ((♯‘𝑦) + 1))
8079oveq2d 6104 . . . . . . . 8 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → ((♯‘𝐴)↑(♯‘(𝑦 ∪ {𝑧}))) = ((♯‘𝐴)↑((♯‘𝑦) + 1)))
8126adantr 276 . . . . . . . . 9 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → (♯‘𝐴) ∈ ℂ)
82 hashcl 11242 . . . . . . . . . 10 (𝑦 ∈ Fin → (♯‘𝑦) ∈ ℕ0)
8382ad2antrl 494 . . . . . . . . 9 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → (♯‘𝑦) ∈ ℕ0)
8481, 83expp1d 11133 . . . . . . . 8 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → ((♯‘𝐴)↑((♯‘𝑦) + 1)) = (((♯‘𝐴)↑(♯‘𝑦)) · (♯‘𝐴)))
8580, 84eqtrd 2271 . . . . . . 7 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → ((♯‘𝐴)↑(♯‘(𝑦 ∪ {𝑧}))) = (((♯‘𝐴)↑(♯‘𝑦)) · (♯‘𝐴)))
8676, 85eqeq12d 2253 . . . . . 6 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → ((♯‘(𝐴 ↑𝑚 (𝑦 ∪ {𝑧}))) = ((♯‘𝐴)↑(♯‘(𝑦 ∪ {𝑧}))) ↔ ((♯‘(𝐴 ↑𝑚 𝑦)) · (♯‘𝐴)) = (((♯‘𝐴)↑(♯‘𝑦)) · (♯‘𝐴))))
8738, 86imbitrrid 156 . . . . 5 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → ((♯‘(𝐴 ↑𝑚 𝑦)) = ((♯‘𝐴)↑(♯‘𝑦)) → (♯‘(𝐴 ↑𝑚 (𝑦 ∪ {𝑧}))) = ((♯‘𝐴)↑(♯‘(𝑦 ∪ {𝑧})))))
8887expcom 116 . . . 4 ((𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦) → (𝐴 ∈ Fin → ((♯‘(𝐴 ↑𝑚 𝑦)) = ((♯‘𝐴)↑(♯‘𝑦)) → (♯‘(𝐴 ↑𝑚 (𝑦 ∪ {𝑧}))) = ((♯‘𝐴)↑(♯‘(𝑦 ∪ {𝑧}))))))
8988a2d 26 . . 3 ((𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦) → ((𝐴 ∈ Fin → (♯‘(𝐴 ↑𝑚 𝑦)) = ((♯‘𝐴)↑(♯‘𝑦))) → (𝐴 ∈ Fin → (♯‘(𝐴 ↑𝑚 (𝑦 ∪ {𝑧}))) = ((♯‘𝐴)↑(♯‘(𝑦 ∪ {𝑧}))))))
906, 12, 18, 24, 37, 89findcard2s 7198 . 2 (𝐵 ∈ Fin → (𝐴 ∈ Fin → (♯‘(𝐴 ↑𝑚 𝐵)) = ((♯‘𝐴)↑(♯‘𝐵))))
9190impcom 125 1 ((𝐴 ∈ Fin ∧ 𝐵 ∈ Fin) → (♯‘(𝐴 ↑𝑚 𝐵)) = ((♯‘𝐴)↑(♯‘𝐵)))
Colors of variables:    wff set class
This proof depends on syntax axioms:  ¬ wn 3   → wi 4   ∧ wa 104   ↔ wb 105   = wceq 1402   ∈ wcel 2209  Vcvv 2821   ∪ cun 3218   ∩ cin 3219  ∅c0 3520  {csn 3709   class class class wbr 4131   × cxp 4774  ‘cfv 5380  (class class class)co 6088   ↑𝑚 cmap 6926   ≈ cen 7024  Fincfn 7026  ℂcc 8183  0cc0 8185  1c1 8186   + caddc 8188   · cmul 8190  ℕ0cn0 9574  ↑cexp 10996  ♯chash 11236
This proof depends on axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-ia1 106  ax-ia2 107  ax-ia3 108  ax-in1 623  ax-in2 624  ax-io 721  ax-5 1500  ax-7 1501  ax-gen 1502  ax-ie1 1546  ax-ie2 1547  ax-8 1557  ax-10 1558  ax-11 1559  ax-i12 1560  ax-bndl 1562  ax-4 1563  ax-17 1579  ax-i9 1583  ax-ial 1587  ax-i5r 1588  ax-14 2212  ax-ext 2220  ax-coll 4248  ax-sep 4251  ax-nul 4261  ax-pow 4313  ax-pr 4348  ax-un 4580  ax-setind 4686  ax-iinf 4737  ax-cnex 8276  ax-resscn 8277  ax-1cn 8278  ax-1re 8279  ax-icn 8280  ax-addcl 8281  ax-addrcl 8282  ax-mulcl 8283  ax-mulrcl 8284  ax-addcom 8285  ax-mulcom 8286  ax-addass 8287  ax-mulass 8288  ax-distr 8289  ax-i2m1 8290  ax-0lt1 8291  ax-1rid 8292  ax-0id 8293  ax-rnegex 8294  ax-precex 8295  ax-cnre 8296  ax-pre-ltirr 8297  ax-pre-ltwlin 8298  ax-pre-lttrn 8299  ax-pre-apti 8300  ax-pre-ltadd 8301  ax-pre-mulgt0 8302  ax-pre-mulext 8303
This proof depends on definitions:  df-bi 117  df-dc 847  df-3or 1010  df-3an 1011  df-tru 1405  df-fal 1408  df-nf 1514  df-sb 1816  df-eu 2089  df-mo 2090  df-clab 2225  df-cleq 2231  df-clel 2234  df-nfc 2381  df-ne 2421  df-nel 2516  df-ral 2533  df-rex 2534  df-reu 2535  df-rmo 2536  df-rab 2537  df-v 2823  df-sbc 3052  df-csb 3148  df-dif 3222  df-un 3224  df-in 3226  df-ss 3233  df-nul 3521  df-if 3639  df-pw 3690  df-sn 3715  df-pr 3716  df-op 3718  df-uni 3936  df-int 3971  df-iun 4014  df-br 4132  df-opab 4194  df-mpt 4195  df-tr 4232  df-id 4440  df-po 4443  df-iso 4444  df-iord 4513  df-on 4515  df-ilim 4516  df-suc 4518  df-iom 4740  df-xp 4782  df-rel 4783  df-cnv 4784  df-co 4785  df-dm 4786  df-rn 4787  df-res 4788  df-ima 4789  df-iota 5340  df-fun 5382  df-fn 5383  df-f 5384  df-f1 5385  df-fo 5386  df-f1o 5387  df-fv 5388  df-riota 6041  df-ov 6091  df-oprab 6092  df-mpo 6093  df-1st 6378  df-2nd 6379  df-recs 6580  df-irdg 6645  df-frec 6666  df-1o 6691  df-oadd 6695  df-er 6811  df-map 6928  df-en 7027  df-dom 7028  df-fin 7029  df-pnf 8368  df-mnf 8369  df-xr 8370  df-ltxr 8371  df-le 8372  df-sub 8506  df-neg 8507  df-reap 8911  df-ap 8918  df-div 9011  df-inn 9314  df-n0 9575  df-z 9656  df-uz 9938  df-fz 10429  df-seqfrec 10906  df-exp 10997  df-ihash 11237
This theorem is used by:  hashpwfi  11291  birthdaylem2  16226
  Copyright terms: Public domain W3C validator