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

Theorem hashmap 14607
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 7451 . . . . . 6 (𝑥 = ∅ → (𝐴 ↑m 𝑥) = (𝐴 ↑m ∅))
21fveq2d 6912 . . . . 5 (𝑥 = ∅ → (♯‘(𝐴 ↑m 𝑥)) = (♯‘(𝐴 ↑m ∅)))
3 fveq2 6908 . . . . . 6 (𝑥 = ∅ → (♯‘𝑥) = (♯‘∅))
43oveq2d 7459 . . . . 5 (𝑥 = ∅ → ((♯‘𝐴)↑(♯‘𝑥)) = ((♯‘𝐴)↑(♯‘∅)))
52, 4eqeq12d 2779 . . . 4 (𝑥 = ∅ → ((♯‘(𝐴 ↑m 𝑥)) = ((♯‘𝐴)↑(♯‘𝑥)) ↔ (♯‘(𝐴 ↑m ∅)) = ((♯‘𝐴)↑(♯‘∅))))
65imbi2d 343 . . 3 (𝑥 = ∅ → ((𝐴 ∈ Fin → (♯‘(𝐴 ↑m 𝑥)) = ((♯‘𝐴)↑(♯‘𝑥))) ↔ (𝐴 ∈ Fin → (♯‘(𝐴 ↑m ∅)) = ((♯‘𝐴)↑(♯‘∅)))))
7 oveq2 7451 . . . . . 6 (𝑥 = 𝑦 → (𝐴 ↑m 𝑥) = (𝐴 ↑m 𝑦))
87fveq2d 6912 . . . . 5 (𝑥 = 𝑦 → (♯‘(𝐴 ↑m 𝑥)) = (♯‘(𝐴 ↑m 𝑦)))
9 fveq2 6908 . . . . . 6 (𝑥 = 𝑦 → (♯‘𝑥) = (♯‘𝑦))
109oveq2d 7459 . . . . 5 (𝑥 = 𝑦 → ((♯‘𝐴)↑(♯‘𝑥)) = ((♯‘𝐴)↑(♯‘𝑦)))
118, 10eqeq12d 2779 . . . 4 (𝑥 = 𝑦 → ((♯‘(𝐴 ↑m 𝑥)) = ((♯‘𝐴)↑(♯‘𝑥)) ↔ (♯‘(𝐴 ↑m 𝑦)) = ((♯‘𝐴)↑(♯‘𝑦))))
1211imbi2d 343 . . 3 (𝑥 = 𝑦 → ((𝐴 ∈ Fin → (♯‘(𝐴 ↑m 𝑥)) = ((♯‘𝐴)↑(♯‘𝑥))) ↔ (𝐴 ∈ Fin → (♯‘(𝐴 ↑m 𝑦)) = ((♯‘𝐴)↑(♯‘𝑦)))))
13 oveq2 7451 . . . . . 6 (𝑥 = (𝑦 ∪ {𝑧}) → (𝐴 ↑m 𝑥) = (𝐴 ↑m (𝑦 ∪ {𝑧})))
1413fveq2d 6912 . . . . 5 (𝑥 = (𝑦 ∪ {𝑧}) → (♯‘(𝐴 ↑m 𝑥)) = (♯‘(𝐴 ↑m (𝑦 ∪ {𝑧}))))
15 fveq2 6908 . . . . . 6 (𝑥 = (𝑦 ∪ {𝑧}) → (♯‘𝑥) = (♯‘(𝑦 ∪ {𝑧})))
1615oveq2d 7459 . . . . 5 (𝑥 = (𝑦 ∪ {𝑧}) → ((♯‘𝐴)↑(♯‘𝑥)) = ((♯‘𝐴)↑(♯‘(𝑦 ∪ {𝑧}))))
1714, 16eqeq12d 2779 . . . 4 (𝑥 = (𝑦 ∪ {𝑧}) → ((♯‘(𝐴 ↑m 𝑥)) = ((♯‘𝐴)↑(♯‘𝑥)) ↔ (♯‘(𝐴 ↑m (𝑦 ∪ {𝑧}))) = ((♯‘𝐴)↑(♯‘(𝑦 ∪ {𝑧})))))
1817imbi2d 343 . . 3 (𝑥 = (𝑦 ∪ {𝑧}) → ((𝐴 ∈ Fin → (♯‘(𝐴 ↑m 𝑥)) = ((♯‘𝐴)↑(♯‘𝑥))) ↔ (𝐴 ∈ Fin → (♯‘(𝐴 ↑m (𝑦 ∪ {𝑧}))) = ((♯‘𝐴)↑(♯‘(𝑦 ∪ {𝑧}))))))
19 oveq2 7451 . . . . . 6 (𝑥 = 𝐵 → (𝐴 ↑m 𝑥) = (𝐴 ↑m 𝐵))
2019fveq2d 6912 . . . . 5 (𝑥 = 𝐵 → (♯‘(𝐴 ↑m 𝑥)) = (♯‘(𝐴 ↑m 𝐵)))
21 fveq2 6908 . . . . . 6 (𝑥 = 𝐵 → (♯‘𝑥) = (♯‘𝐵))
2221oveq2d 7459 . . . . 5 (𝑥 = 𝐵 → ((♯‘𝐴)↑(♯‘𝑥)) = ((♯‘𝐴)↑(♯‘𝐵)))
2320, 22eqeq12d 2779 . . . 4 (𝑥 = 𝐵 → ((♯‘(𝐴 ↑m 𝑥)) = ((♯‘𝐴)↑(♯‘𝑥)) ↔ (♯‘(𝐴 ↑m 𝐵)) = ((♯‘𝐴)↑(♯‘𝐵))))
2423imbi2d 343 . . 3 (𝑥 = 𝐵 → ((𝐴 ∈ Fin → (♯‘(𝐴 ↑m 𝑥)) = ((♯‘𝐴)↑(♯‘𝑥))) ↔ (𝐴 ∈ Fin → (♯‘(𝐴 ↑m 𝐵)) = ((♯‘𝐴)↑(♯‘𝐵)))))
25 hashcl 14527 . . . . . 6 (𝐴 ∈ Fin → (♯‘𝐴) ∈ ℕ0)
2625nn0cnd 12696 . . . . 5 (𝐴 ∈ Fin → (♯‘𝐴) ∈ ℂ)
2726exp0d 14310 . . . 4 (𝐴 ∈ Fin → ((♯‘𝐴)↑0) = 1)
28 hash0 14538 . . . . . 6 (♯‘∅) = 0
2928oveq2i 7454 . . . . 5 ((♯‘𝐴)↑(♯‘∅)) = ((♯‘𝐴)↑0)
3029a1i 11 . . . 4 (𝐴 ∈ Fin → ((♯‘𝐴)↑(♯‘∅)) = ((♯‘𝐴)↑0))
31 mapdm0 8890 . . . . . 6 (𝐴 ∈ Fin → (𝐴 ↑m ∅) = {∅})
3231fveq2d 6912 . . . . 5 (𝐴 ∈ Fin → (♯‘(𝐴 ↑m ∅)) = (♯‘{∅}))
33 0ex 5264 . . . . . 6 ∅ ∈ V
34 hashsng 14540 . . . . . 6 (∅ ∈ V → (♯‘{∅}) = 1)
3533, 34mp1i 14 . . . . 5 (𝐴 ∈ Fin → (♯‘{∅}) = 1)
3632, 35eqtrd 2798 . . . 4 (𝐴 ∈ Fin → (♯‘(𝐴 ↑m ∅)) = 1)
3727, 30, 363eqtr4rd 2809 . . 3 (𝐴 ∈ Fin → (♯‘(𝐴 ↑m ∅)) = ((♯‘𝐴)↑(♯‘∅)))
38 oveq1 7450 . . . . . 6 ((♯‘(𝐴 ↑m 𝑦)) = ((♯‘𝐴)↑(♯‘𝑦)) → ((♯‘(𝐴 ↑m 𝑦)) · (♯‘𝐴)) = (((♯‘𝐴)↑(♯‘𝑦)) · (♯‘𝐴)))
39 vex 3458 . . . . . . . . . . 11 𝑦 ∈ V
4039a1i 11 . . . . . . . . . 10 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → 𝑦 ∈ V)
41 vsnex 5397 . . . . . . . . . . 11 {𝑧} ∈ V
4241a1i 11 . . . . . . . . . 10 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → {𝑧} ∈ V)
43 elex 3475 . . . . . . . . . . 11 (𝐴 ∈ Fin → 𝐴 ∈ V)
4443adantr 486 . . . . . . . . . 10 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → 𝐴 ∈ V)
45 simprr 785 . . . . . . . . . . 11 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → ¬ 𝑧 ∈ 𝑦)
46 disjsn 4672 . . . . . . . . . . 11 ((𝑦 ∩ {𝑧}) = ∅ ↔ ¬ 𝑧 ∈ 𝑦)
4745, 46sylibr 237 . . . . . . . . . 10 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → (𝑦 ∩ {𝑧}) = ∅)
48 mapunen 9193 . . . . . . . . . 10 (((𝑦 ∈ V ∧ {𝑧} ∈ V ∧ 𝐴 ∈ V) ∧ (𝑦 ∩ {𝑧}) = ∅) → (𝐴 ↑m (𝑦 ∪ {𝑧})) ≈ ((𝐴 ↑m 𝑦) × (𝐴 ↑m {𝑧})))
4940, 42, 44, 47, 48syl31anc 1401 . . . . . . . . 9 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → (𝐴 ↑m (𝑦 ∪ {𝑧})) ≈ ((𝐴 ↑m 𝑦) × (𝐴 ↑m {𝑧})))
50 simpl 488 . . . . . . . . . . 11 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → 𝐴 ∈ Fin)
51 simprl 783 . . . . . . . . . . . 12 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → 𝑦 ∈ Fin)
52 snfi 9099 . . . . . . . . . . . 12 {𝑧} ∈ Fin
53 unfi 9214 . . . . . . . . . . . 12 ((𝑦 ∈ Fin ∧ {𝑧} ∈ Fin) → (𝑦 ∪ {𝑧}) ∈ Fin)
5451, 52, 53sylancl 598 . . . . . . . . . . 11 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → (𝑦 ∪ {𝑧}) ∈ Fin)
55 mapfi 9365 . . . . . . . . . . 11 ((𝐴 ∈ Fin ∧ (𝑦 ∪ {𝑧}) ∈ Fin) → (𝐴 ↑m (𝑦 ∪ {𝑧})) ∈ Fin)
5650, 54, 55syl2anc 596 . . . . . . . . . 10 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → (𝐴 ↑m (𝑦 ∪ {𝑧})) ∈ Fin)
57 mapfi 9365 . . . . . . . . . . . 12 ((𝐴 ∈ Fin ∧ 𝑦 ∈ Fin) → (𝐴 ↑m 𝑦) ∈ Fin)
5857adantrr 730 . . . . . . . . . . 11 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → (𝐴 ↑m 𝑦) ∈ Fin)
59 mapfi 9365 . . . . . . . . . . . 12 ((𝐴 ∈ Fin ∧ {𝑧} ∈ Fin) → (𝐴 ↑m {𝑧}) ∈ Fin)
6050, 52, 59sylancl 598 . . . . . . . . . . 11 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → (𝐴 ↑m {𝑧}) ∈ Fin)
61 xpfi 9339 . . . . . . . . . . 11 (((𝐴 ↑m 𝑦) ∈ Fin ∧ (𝐴 ↑m {𝑧}) ∈ Fin) → ((𝐴 ↑m 𝑦) × (𝐴 ↑m {𝑧})) ∈ Fin)
6258, 60, 61syl2anc 596 . . . . . . . . . 10 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → ((𝐴 ↑m 𝑦) × (𝐴 ↑m {𝑧})) ∈ Fin)
63 hashen 14518 . . . . . . . . . 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 14606 . . . . . . . . 9 (((𝐴 ↑m 𝑦) ∈ Fin ∧ (𝐴 ↑m {𝑧}) ∈ Fin) → (♯‘((𝐴 ↑m 𝑦) × (𝐴 ↑m {𝑧}))) = ((♯‘(𝐴 ↑m 𝑦)) · (♯‘(𝐴 ↑m {𝑧}))))
6758, 60, 66syl2anc 596 . . . . . . . 8 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → (♯‘((𝐴 ↑m 𝑦) × (𝐴 ↑m {𝑧}))) = ((♯‘(𝐴 ↑m 𝑦)) · (♯‘(𝐴 ↑m {𝑧}))))
68 vex 3458 . . . . . . . . . . . 12 𝑧 ∈ V
6968a1i 11 . . . . . . . . . . 11 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → 𝑧 ∈ V)
7050, 69mapsnend 9092 . . . . . . . . . 10 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → (𝐴 ↑m {𝑧}) ≈ 𝐴)
71 hashen 14518 . . . . . . . . . . 11 (((𝐴 ↑m {𝑧}) ∈ Fin ∧ 𝐴 ∈ Fin) → ((♯‘(𝐴 ↑m {𝑧})) = (♯‘𝐴) ↔ (𝐴 ↑m {𝑧}) ≈ 𝐴))
7260, 50, 71syl2anc 596 . . . . . . . . . 10 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → ((♯‘(𝐴 ↑m {𝑧})) = (♯‘𝐴) ↔ (𝐴 ↑m {𝑧}) ≈ 𝐴))
7370, 72mpbird 260 . . . . . . . . 9 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → (♯‘(𝐴 ↑m {𝑧})) = (♯‘𝐴))
7473oveq2d 7459 . . . . . . . 8 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → ((♯‘(𝐴 ↑m 𝑦)) · (♯‘(𝐴 ↑m {𝑧}))) = ((♯‘(𝐴 ↑m 𝑦)) · (♯‘𝐴)))
7565, 67, 743eqtrd 2802 . . . . . . 7 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → (♯‘(𝐴 ↑m (𝑦 ∪ {𝑧}))) = ((♯‘(𝐴 ↑m 𝑦)) · (♯‘𝐴)))
76 hashunsng 14563 . . . . . . . . . . 11 (𝑧 ∈ V → ((𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦) → (♯‘(𝑦 ∪ {𝑧})) = ((♯‘𝑦) + 1)))
7776elv 3459 . . . . . . . . . 10 ((𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦) → (♯‘(𝑦 ∪ {𝑧})) = ((♯‘𝑦) + 1))
7877adantl 487 . . . . . . . . 9 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → (♯‘(𝑦 ∪ {𝑧})) = ((♯‘𝑦) + 1))
7978oveq2d 7459 . . . . . . . 8 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → ((♯‘𝐴)↑(♯‘(𝑦 ∪ {𝑧}))) = ((♯‘𝐴)↑((♯‘𝑦) + 1)))
8026adantr 486 . . . . . . . . 9 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → (♯‘𝐴) ∈ ℂ)
81 hashcl 14527 . . . . . . . . . 10 (𝑦 ∈ Fin → (♯‘𝑦) ∈ ℕ0)
8281ad2antrl 741 . . . . . . . . 9 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → (♯‘𝑦) ∈ ℕ0)
8380, 82expp1d 14317 . . . . . . . 8 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → ((♯‘𝐴)↑((♯‘𝑦) + 1)) = (((♯‘𝐴)↑(♯‘𝑦)) · (♯‘𝐴)))
8479, 83eqtrd 2798 . . . . . . 7 ((𝐴 ∈ Fin ∧ (𝑦 ∈ Fin ∧ ¬ 𝑧 ∈ 𝑦)) → ((♯‘𝐴)↑(♯‘(𝑦 ∪ {𝑧}))) = (((♯‘𝐴)↑(♯‘𝑦)) · (♯‘𝐴)))
8575, 84eqeq12d 2779 . . . . . 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 9209 . 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 1570   ∈ wcel 2147  Vcvv 3454   ∩ cin 4092   ∪ cun 4152  ∅c0 4281  {csn 4588   class class class wbr 5106   × cxp 5653  ‘cfv 6558  (class class class)co 7443   ↑m cmap 8875   ≈ cen 8998  Fincfn 9001  ℂcc 11225  0cc0 11227  1c1 11228   + caddc 11230   · cmul 11232  ℕ0cn0 12633  ↑cexp 14231  ♯chash 14501
This proof depends on axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1828  ax-4 1842  ax-5 1945  ax-6 2002  ax-7 2043  ax-8 2149  ax-9 2157  ax-10 2180  ax-11 2197  ax-12 2216  ax-ext 2735  ax-sep 5252  ax-nul 5263  ax-pow 5331  ax-pr 5395  ax-un 7775  ax-cnex 11283  ax-resscn 11284  ax-1cn 11285  ax-icn 11286  ax-addcl 11287  ax-addrcl 11288  ax-mulcl 11289  ax-mulrcl 11290  ax-mulcom 11291  ax-addass 11292  ax-mulass 11293  ax-distr 11294  ax-i2m1 11295  ax-1ne0 11296  ax-1rid 11297  ax-rnegex 11298  ax-rrecex 11299  ax-cnre 11300  ax-pre-lttri 11301  ax-pre-lttrn 11302  ax-pre-ltadd 11303  ax-pre-mulgt0 11304
This proof depends on definitions:  df-bi 210  df-an 402  df-or 862  df-3or 1104  df-3an 1105  df-tru 1573  df-fal 1583  df-ex 1813  df-nf 1817  df-sb 2102  df-mo 2567  df-eu 2597  df-clab 2742  df-cleq 2755  df-clel 2839  df-nfc 2913  df-ne 2960  df-nel 3066  df-ral 3081  df-rex 3091  df-reu 3370  df-rab 3417  df-v 3456  df-sbc 3743  df-csb 3852  df-ss 3901  df-pss 4017  df-dif 4050  df-in 4094  df-un 4154  df-nul 4282  df-if 4486  df-pw 4562  df-sn 4589  df-pr 4591  df-op 4839  df-uni 4871  df-int 4911  df-iun 4956  df-br 5107  df-opab 5171  df-mpt 5190  df-tr 5216  df-id 5550  df-eprel 5555  df-po 5563  df-so 5564  df-fr 5608  df-we 5610  df-xp 5661  df-rel 5662  df-cnv 5663  df-co 5664  df-dm 5665  df-rn 5666  df-res 5667  df-ima 5668  df-pred 6322  df-ord 6383  df-on 6384  df-lim 6385  df-suc 6386  df-iota 6512  df-fun 6560  df-fn 6561  df-f 6562  df-f1 6563  df-fo 6564  df-f1o 6565  df-fv 6566  df-riota 7400  df-ov 7446  df-oprab 7447  df-mpo 7448  df-om 7902  df-1st 8025  df-2nd 8026  df-frecs 8327  df-wrecs 8358  df-recs 8407  df-rdg 8446  df-1o 8504  df-oadd 8508  df-er 8745  df-map 8877  df-pm 8878  df-en 9002  df-dom 9003  df-sdom 9004  df-fin 9005  df-dju 10009  df-card 10047  df-pnf 11372  df-mnf 11373  df-xr 11374  df-ltxr 11375  df-le 11376  df-sub 11570  df-neg 11571  df-nn 12363  df-n0 12634  df-z 12721  df-uz 12993  df-fz 13667  df-seq 14172  df-exp 14232  df-hash 14502
This theorem is used by:  hashpw  14608  hashwrdn  14719  prmreclem2  17124  efmndhash  19101  birthdaylem2  27310
  Copyright terms: Public domain W3C validator