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

Theorem hashmap 14581
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 7428 . . . . . 6 (𝑥 = ∅ → (𝐴 ↑m 𝑥) = (𝐴 ↑m ∅))
21fveq2d 6889 . . . . 5 (𝑥 = ∅ → (♯‘(𝐴 ↑m 𝑥)) = (♯‘(𝐴 ↑m ∅)))
3 fveq2 6885 . . . . . 6 (𝑥 = ∅ → (♯‘𝑥) = (♯‘∅))
43oveq2d 7436 . . . . 5 (𝑥 = ∅ → ((♯‘𝐴)↑(♯‘𝑥)) = ((♯‘𝐴)↑(♯‘∅)))
52, 4eqeq12d 2776 . . . 4 (𝑥 = ∅ → ((♯‘(𝐴 ↑m 𝑥)) = ((♯‘𝐴)↑(♯‘𝑥)) ↔ (♯‘(𝐴 ↑m ∅)) = ((♯‘𝐴)↑(♯‘∅))))
65imbi2d 343 . . 3 (𝑥 = ∅ → ((𝐴 ∈ Fin → (♯‘(𝐴 ↑m 𝑥)) = ((♯‘𝐴)↑(♯‘𝑥))) ↔ (𝐴 ∈ Fin → (♯‘(𝐴 ↑m ∅)) = ((♯‘𝐴)↑(♯‘∅)))))
7 oveq2 7428 . . . . . 6 (𝑥 = 𝑦 → (𝐴 ↑m 𝑥) = (𝐴 ↑m 𝑦))
87fveq2d 6889 . . . . 5 (𝑥 = 𝑦 → (♯‘(𝐴 ↑m 𝑥)) = (♯‘(𝐴 ↑m 𝑦)))
9 fveq2 6885 . . . . . 6 (𝑥 = 𝑦 → (♯‘𝑥) = (♯‘𝑦))
109oveq2d 7436 . . . . 5 (𝑥 = 𝑦 → ((♯‘𝐴)↑(♯‘𝑥)) = ((♯‘𝐴)↑(♯‘𝑦)))
118, 10eqeq12d 2776 . . . 4 (𝑥 = 𝑦 → ((♯‘(𝐴 ↑m 𝑥)) = ((♯‘𝐴)↑(♯‘𝑥)) ↔ (♯‘(𝐴 ↑m 𝑦)) = ((♯‘𝐴)↑(♯‘𝑦))))
1211imbi2d 343 . . 3 (𝑥 = 𝑦 → ((𝐴 ∈ Fin → (♯‘(𝐴 ↑m 𝑥)) = ((♯‘𝐴)↑(♯‘𝑥))) ↔ (𝐴 ∈ Fin → (♯‘(𝐴 ↑m 𝑦)) = ((♯‘𝐴)↑(♯‘𝑦)))))
13 oveq2 7428 . . . . . 6 (𝑥 = (𝑦 ∪ {𝑧}) → (𝐴 ↑m 𝑥) = (𝐴 ↑m (𝑦 ∪ {𝑧})))
1413fveq2d 6889 . . . . 5 (𝑥 = (𝑦 ∪ {𝑧}) → (♯‘(𝐴 ↑m 𝑥)) = (♯‘(𝐴 ↑m (𝑦 ∪ {𝑧}))))
15 fveq2 6885 . . . . . 6 (𝑥 = (𝑦 ∪ {𝑧}) → (♯‘𝑥) = (♯‘(𝑦 ∪ {𝑧})))
1615oveq2d 7436 . . . . 5 (𝑥 = (𝑦 ∪ {𝑧}) → ((♯‘𝐴)↑(♯‘𝑥)) = ((♯‘𝐴)↑(♯‘(𝑦 ∪ {𝑧}))))
1714, 16eqeq12d 2776 . . . 4 (𝑥 = (𝑦 ∪ {𝑧}) → ((♯‘(𝐴 ↑m 𝑥)) = ((♯‘𝐴)↑(♯‘𝑥)) ↔ (♯‘(𝐴 ↑m (𝑦 ∪ {𝑧}))) = ((♯‘𝐴)↑(♯‘(𝑦 ∪ {𝑧})))))
1817imbi2d 343 . . 3 (𝑥 = (𝑦 ∪ {𝑧}) → ((𝐴 ∈ Fin → (♯‘(𝐴 ↑m 𝑥)) = ((♯‘𝐴)↑(♯‘𝑥))) ↔ (𝐴 ∈ Fin → (♯‘(𝐴 ↑m (𝑦 ∪ {𝑧}))) = ((♯‘𝐴)↑(♯‘(𝑦 ∪ {𝑧}))))))
19 oveq2 7428 . . . . . 6 (𝑥 = 𝐵 → (𝐴 ↑m 𝑥) = (𝐴 ↑m 𝐵))
2019fveq2d 6889 . . . . 5 (𝑥 = 𝐵 → (♯‘(𝐴 ↑m 𝑥)) = (♯‘(𝐴 ↑m 𝐵)))
21 fveq2 6885 . . . . . 6 (𝑥 = 𝐵 → (♯‘𝑥) = (♯‘𝐵))
2221oveq2d 7436 . . . . 5 (𝑥 = 𝐵 → ((♯‘𝐴)↑(♯‘𝑥)) = ((♯‘𝐴)↑(♯‘𝐵)))
2320, 22eqeq12d 2776 . . . 4 (𝑥 = 𝐵 → ((♯‘(𝐴 ↑m 𝑥)) = ((♯‘𝐴)↑(♯‘𝑥)) ↔ (♯‘(𝐴 ↑m 𝐵)) = ((♯‘𝐴)↑(♯‘𝐵))))
2423imbi2d 343 . . 3 (𝑥 = 𝐵 → ((𝐴 ∈ Fin → (♯‘(𝐴 ↑m 𝑥)) = ((♯‘𝐴)↑(♯‘𝑥))) ↔ (𝐴 ∈ Fin → (♯‘(𝐴 ↑m 𝐵)) = ((♯‘𝐴)↑(♯‘𝐵)))))
25 hashcl 14501 . . . . . 6 (𝐴 ∈ Fin → (♯‘𝐴) ∈ ℕ0)
2625nn0cnd 12670 . . . . 5 (𝐴 ∈ Fin → (♯‘𝐴) ∈ ℂ)
2726exp0d 14284 . . . 4 (𝐴 ∈ Fin → ((♯‘𝐴)↑0) = 1)
28 hash0 14512 . . . . . 6 (♯‘∅) = 0
2928oveq2i 7431 . . . . 5 ((♯‘𝐴)↑(♯‘∅)) = ((♯‘𝐴)↑0)
3029a1i 11 . . . 4 (𝐴 ∈ Fin → ((♯‘𝐴)↑(♯‘∅)) = ((♯‘𝐴)↑0))
31 mapdm0 8863 . . . . . 6 (𝐴 ∈ Fin → (𝐴 ↑m ∅) = {∅})
3231fveq2d 6889 . . . . 5 (𝐴 ∈ Fin → (♯‘(𝐴 ↑m ∅)) = (♯‘{∅}))
33 0ex 5260 . . . . . 6 ∅ ∈ V
34 hashsng 14514 . . . . . 6 (∅ ∈ V → (♯‘{∅}) = 1)
3533, 34mp1i 14 . . . . 5 (𝐴 ∈ Fin → (♯‘{∅}) = 1)
3632, 35eqtrd 2795 . . . 4 (𝐴 ∈ Fin → (♯‘(𝐴 ↑m ∅)) = 1)
3727, 30, 363eqtr4rd 2806 . . 3 (𝐴 ∈ Fin → (♯‘(𝐴 ↑m ∅)) = ((♯‘𝐴)↑(♯‘∅)))
38 oveq1 7427 . . . . . 6 ((♯‘(𝐴 ↑m 𝑦)) = ((♯‘𝐴)↑(♯‘𝑦)) → ((♯‘(𝐴 ↑m 𝑦)) · (♯‘𝐴)) = (((♯‘𝐴)↑(♯‘𝑦)) · (♯‘𝐴)))
39 vex 3454 . . . . . . . . . . 11 𝑦 ∈ V
4039a1i 11 . . . . . . . . . 10 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → 𝑦 ∈ V)
41 vsnex 5392 . . . . . . . . . . 11 {𝑧} ∈ V
4241a1i 11 . . . . . . . . . 10 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → {𝑧} ∈ V)
43 elex 3471 . . . . . . . . . . 11 (𝐴 ∈ Fin → 𝐴 ∈ V)
4443adantr 486 . . . . . . . . . 10 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → 𝐴 ∈ V)
45 simprr 785 . . . . . . . . . . 11 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → ¬ 𝑧 ∈ 𝑦)
46 disjsn 4671 . . . . . . . . . . 11 ((𝑦 ∩ {𝑧}) = ∅ ↔ ¬ 𝑧 ∈ 𝑦)
4745, 46sylibr 237 . . . . . . . . . 10 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → (𝑦 ∩ {𝑧}) = ∅)
48 mapunen 9166 . . . . . . . . . 10 (((𝑦 ∈ V ∧ {𝑧} ∈ V ∧ 𝐴 ∈ V) ∧ (𝑦 ∩ {𝑧}) = ∅) → (𝐴 ↑m (𝑦 ∪ {𝑧})) ≈ ((𝐴 ↑m 𝑦) × (𝐴 ↑m {𝑧})))
4940, 42, 44, 47, 48syl31anc 1400 . . . . . . . . 9 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → (𝐴 ↑m (𝑦 ∪ {𝑧})) ≈ ((𝐴 ↑m 𝑦) × (𝐴 ↑m {𝑧})))
50 simpl 488 . . . . . . . . . . 11 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → 𝐴 ∈ Fin)
51 simprl 783 . . . . . . . . . . . 12 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → 𝑦 ∈ Fin)
52 snfi 9072 . . . . . . . . . . . 12 {𝑧} ∈ Fin
53 unfi 9187 . . . . . . . . . . . 12 ((𝑦 ∈ Fin ∧ {𝑧} ∈ Fin) → (𝑦 ∪ {𝑧}) ∈ Fin)
5451, 52, 53sylancl 598 . . . . . . . . . . 11 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → (𝑦 ∪ {𝑧}) ∈ Fin)
55 mapfi 9338 . . . . . . . . . . 11 ((𝐴 ∈ Fin ∧ (𝑦 ∪ {𝑧}) ∈ Fin) → (𝐴 ↑m (𝑦 ∪ {𝑧})) ∈ Fin)
5650, 54, 55syl2anc 596 . . . . . . . . . 10 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → (𝐴 ↑m (𝑦 ∪ {𝑧})) ∈ Fin)
57 mapfi 9338 . . . . . . . . . . . 12 ((𝐴 ∈ Fin ∧ 𝑦 ∈ Fin) → (𝐴 ↑m 𝑦) ∈ Fin)
5857adantrr 730 . . . . . . . . . . 11 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → (𝐴 ↑m 𝑦) ∈ Fin)
59 mapfi 9338 . . . . . . . . . . . 12 ((𝐴 ∈ Fin ∧ {𝑧} ∈ Fin) → (𝐴 ↑m {𝑧}) ∈ Fin)
6050, 52, 59sylancl 598 . . . . . . . . . . 11 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → (𝐴 ↑m {𝑧}) ∈ Fin)
61 xpfi 9312 . . . . . . . . . . 11 (((𝐴 ↑m 𝑦) ∈ Fin ∧ (𝐴 ↑m {𝑧}) ∈ Fin) → ((𝐴 ↑m 𝑦) × (𝐴 ↑m {𝑧})) ∈ Fin)
6258, 60, 61syl2anc 596 . . . . . . . . . 10 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → ((𝐴 ↑m 𝑦) × (𝐴 ↑m {𝑧})) ∈ Fin)
63 hashen 14492 . . . . . . . . . 10 (((𝐴 ↑m (𝑦 ∪ {𝑧})) ∈ Fin ∧ ((𝐴 ↑m 𝑦) × (𝐴 ↑m {𝑧})) ∈ Fin) → ((♯‘(𝐴 ↑m (𝑦 ∪ {𝑧}))) = (♯‘((𝐴 ↑m 𝑦) × (𝐴 ↑m {𝑧}))) ↔ (𝐴 ↑m (𝑦 ∪ {𝑧})) ≈ ((𝐴 ↑m 𝑦) × (𝐴 ↑m {𝑧}))))
6456, 62, 63syl2anc 596 . . . . . . . . 9 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → ((♯‘(𝐴 ↑m (𝑦 ∪ {𝑧}))) = (♯‘((𝐴 ↑m 𝑦) × (𝐴 ↑m {𝑧}))) ↔ (𝐴 ↑m (𝑦 ∪ {𝑧})) ≈ ((𝐴 ↑m 𝑦) × (𝐴 ↑m {𝑧}))))
6549, 64mpbird 260 . . . . . . . 8 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → (♯‘(𝐴 ↑m (𝑦 ∪ {𝑧}))) = (♯‘((𝐴 ↑m 𝑦) × (𝐴 ↑m {𝑧}))))
66 hashxp 14580 . . . . . . . . 9 (((𝐴 ↑m 𝑦) ∈ Fin ∧ (𝐴 ↑m {𝑧}) ∈ Fin) → (♯‘((𝐴 ↑m 𝑦) × (𝐴 ↑m {𝑧}))) = ((♯‘(𝐴 ↑m 𝑦)) · (♯‘(𝐴 ↑m {𝑧}))))
6758, 60, 66syl2anc 596 . . . . . . . 8 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → (♯‘((𝐴 ↑m 𝑦) × (𝐴 ↑m {𝑧}))) = ((♯‘(𝐴 ↑m 𝑦)) · (♯‘(𝐴 ↑m {𝑧}))))
68 vex 3454 . . . . . . . . . . . 12 𝑧 ∈ V
6968a1i 11 . . . . . . . . . . 11 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → 𝑧 ∈ V)
7050, 69mapsnend 9065 . . . . . . . . . 10 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → (𝐴 ↑m {𝑧}) ≈ 𝐴)
71 hashen 14492 . . . . . . . . . . 11 (((𝐴 ↑m {𝑧}) ∈ Fin ∧ 𝐴 ∈ Fin) → ((♯‘(𝐴 ↑m {𝑧})) = (♯‘𝐴) ↔ (𝐴 ↑m {𝑧}) ≈ 𝐴))
7260, 50, 71syl2anc 596 . . . . . . . . . 10 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → ((♯‘(𝐴 ↑m {𝑧})) = (♯‘𝐴) ↔ (𝐴 ↑m {𝑧}) ≈ 𝐴))
7370, 72mpbird 260 . . . . . . . . 9 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → (♯‘(𝐴 ↑m {𝑧})) = (♯‘𝐴))
7473oveq2d 7436 . . . . . . . 8 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → ((♯‘(𝐴 ↑m 𝑦)) · (♯‘(𝐴 ↑m {𝑧}))) = ((♯‘(𝐴 ↑m 𝑦)) · (♯‘𝐴)))
7565, 67, 743eqtrd 2799 . . . . . . 7 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → (♯‘(𝐴 ↑m (𝑦 ∪ {𝑧}))) = ((♯‘(𝐴 ↑m 𝑦)) · (♯‘𝐴)))
76 hashunsng 14537 . . . . . . . . . . 11 (𝑧 ∈ V → ((𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦) → (♯‘(𝑦 ∪ {𝑧})) = ((♯‘𝑦) + 1)))
7776elv 3455 . . . . . . . . . 10 ((𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦) → (♯‘(𝑦 ∪ {𝑧})) = ((♯‘𝑦) + 1))
7877adantl 487 . . . . . . . . 9 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → (♯‘(𝑦 ∪ {𝑧})) = ((♯‘𝑦) + 1))
7978oveq2d 7436 . . . . . . . 8 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → ((♯‘𝐴)↑(♯‘(𝑦 ∪ {𝑧}))) = ((♯‘𝐴)↑((♯‘𝑦) + 1)))
8026adantr 486 . . . . . . . . 9 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → (♯‘𝐴) ∈ ℂ)
81 hashcl 14501 . . . . . . . . . 10 (𝑦 ∈ Fin → (♯‘𝑦) ∈ ℕ0)
8281ad2antrl 741 . . . . . . . . 9 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → (♯‘𝑦) ∈ ℕ0)
8380, 82expp1d 14291 . . . . . . . 8 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → ((♯‘𝐴)↑((♯‘𝑦) + 1)) = (((♯‘𝐴)↑(♯‘𝑦)) · (♯‘𝐴)))
8479, 83eqtrd 2795 . . . . . . 7 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → ((♯‘𝐴)↑(♯‘(𝑦 ∪ {𝑧}))) = (((♯‘𝐴)↑(♯‘𝑦)) · (♯‘𝐴)))
8575, 84eqeq12d 2776 . . . . . 6 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → ((♯‘(𝐴 ↑m (𝑦 ∪ {𝑧}))) = ((♯‘𝐴)↑(♯‘(𝑦 ∪ {𝑧}))) ↔ ((♯‘(𝐴 ↑m 𝑦)) · (♯‘𝐴)) = (((♯‘𝐴)↑(♯‘𝑦)) · (♯‘𝐴))))
8638, 85imbitrrid 249 . . . . 5 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → ((♯‘(𝐴 ↑m 𝑦)) = ((♯‘𝐴)↑(♯‘𝑦)) → (♯‘(𝐴 ↑m (𝑦 ∪ {𝑧}))) = ((♯‘𝐴)↑(♯‘(𝑦 ∪ {𝑧})))))
8786expcom 419 . . . 4 ((𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦) → (𝐴 ∈ Fin → ((♯‘(𝐴 ↑m 𝑦)) = ((♯‘𝐴)↑(♯‘𝑦)) → (♯‘(𝐴 ↑m (𝑦 ∪ {𝑧}))) = ((♯‘𝐴)↑(♯‘(𝑦 ∪ {𝑧}))))))
8887a2d 30 . . 3 ((𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦) → ((𝐴 ∈ Fin → (♯‘(𝐴 ↑m 𝑦)) = ((♯‘𝐴)↑(♯‘𝑦))) → (𝐴 ∈ Fin → (♯‘(𝐴 ↑m (𝑦 ∪ {𝑧}))) = ((♯‘𝐴)↑(♯‘(𝑦 ∪ {𝑧}))))))
896, 12, 18, 24, 37, 88findcard2s 9182 . 2 (𝐵 ∈ Fin → (𝐴 ∈ Fin → (♯‘(𝐴 ↑m 𝐵)) = ((♯‘𝐴)↑(♯‘𝐵))))
9089impcom 413 1 ((𝐴 ∈ Fin ∧ 𝐵 ∈ Fin) → (♯‘(𝐴 ↑m 𝐵)) = ((♯‘𝐴)↑(♯‘𝐵)))
Colors of variables:    wff setvar class
This proof depends on syntax axioms:  ¬ wn 3   → wi 4   ↔ wb 209   ∧ wa 401   = wceq 1569   ∈ wcel 2144  Vcvv 3450   ∩ cin 4089   ∪ cun 4149  ∅c0 4278  {csn 4583   class class class wbr 5102   × cxp 5648  ‘cfv 6538  (class class class)co 7420   ↑m cmap 8848   ≈ cen 8971  Fincfn 8974  ℂcc 11199  0cc0 11201  1c1 11202   + caddc 11204   · cmul 11206  ℕ0cn0 12607  ↑cexp 14205  ♯chash 14475
This proof depends on axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1827  ax-4 1841  ax-5 1942  ax-6 1999  ax-7 2040  ax-8 2146  ax-9 2154  ax-10 2177  ax-11 2193  ax-12 2212  ax-ext 2732  ax-sep 5248  ax-nul 5259  ax-pow 5326  ax-pr 5390  ax-un 7751  ax-cnex 11257  ax-resscn 11258  ax-1cn 11259  ax-icn 11260  ax-addcl 11261  ax-addrcl 11262  ax-mulcl 11263  ax-mulrcl 11264  ax-mulcom 11265  ax-addass 11266  ax-mulass 11267  ax-distr 11268  ax-i2m1 11269  ax-1ne0 11270  ax-1rid 11271  ax-rnegex 11272  ax-rrecex 11273  ax-cnre 11274  ax-pre-lttri 11275  ax-pre-lttrn 11276  ax-pre-ltadd 11277  ax-pre-mulgt0 11278
This proof depends on definitions:  df-bi 210  df-an 402  df-or 862  df-3or 1104  df-3an 1105  df-tru 1572  df-fal 1582  df-ex 1812  df-nf 1816  df-sb 2099  df-mo 2564  df-eu 2594  df-clab 2739  df-cleq 2752  df-clel 2835  df-nfc 2909  df-ne 2956  df-nel 3062  df-ral 3077  df-rex 3087  df-reu 3366  df-rab 3413  df-v 3452  df-sbc 3739  df-csb 3847  df-ss 3896  df-pss 4014  df-dif 4047  df-in 4091  df-un 4151  df-nul 4279  df-if 4482  df-pw 4558  df-sn 4584  df-pr 4586  df-op 4590  df-uni 4867  df-int 4907  df-iun 4952  df-br 5103  df-opab 5167  df-mpt 5186  df-tr 5212  df-id 5545  df-eprel 5550  df-po 5558  df-so 5559  df-fr 5603  df-we 5605  df-xp 5656  df-rel 5657  df-cnv 5658  df-co 5659  df-dm 5660  df-rn 5661  df-res 5662  df-ima 5663  df-pred 6304  df-ord 6365  df-on 6366  df-lim 6367  df-suc 6368  df-iota 6494  df-fun 6540  df-fn 6541  df-f 6542  df-f1 6543  df-fo 6544  df-f1o 6545  df-fv 6546  df-riota 7377  df-ov 7423  df-oprab 7424  df-mpo 7425  df-om 7878  df-1st 8001  df-2nd 8002  df-frecs 8300  df-wrecs 8331  df-recs 8380  df-rdg 8419  df-1o 8477  df-oadd 8481  df-er 8718  df-map 8850  df-pm 8851  df-en 8975  df-dom 8976  df-sdom 8977  df-fin 8978  df-dju 9983  df-card 10021  df-pnf 11346  df-mnf 11347  df-xr 11348  df-ltxr 11349  df-le 11350  df-sub 11544  df-neg 11545  df-nn 12337  df-n0 12608  df-z 12695  df-uz 12967  df-fz 13641  df-seq 14146  df-exp 14206  df-hash 14476
This theorem is used by:  hashpw  14582  hashwrdn  14693  prmreclem2  17096  efmndhash  19073  birthdaylem2  27281
  Copyright terms: Public domain W3C validator