Proof of Theorem hashfzp1
| Step | Hyp | Ref
 | Expression | 
| 1 |   | eluzel2 9606 | 
. . . 4
⊢ (𝐵 ∈
(ℤ≥‘𝐴) → 𝐴 ∈ ℤ) | 
| 2 |   | eluzelz 9610 | 
. . . 4
⊢ (𝐵 ∈
(ℤ≥‘𝐴) → 𝐵 ∈ ℤ) | 
| 3 |   | zdceq 9401 | 
. . . 4
⊢ ((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) →
DECID 𝐴 =
𝐵) | 
| 4 | 1, 2, 3 | syl2anc 411 | 
. . 3
⊢ (𝐵 ∈
(ℤ≥‘𝐴) → DECID 𝐴 = 𝐵) | 
| 5 |   | exmiddc 837 | 
. . 3
⊢
(DECID 𝐴 = 𝐵 → (𝐴 = 𝐵 ∨ ¬ 𝐴 = 𝐵)) | 
| 6 | 4, 5 | syl 14 | 
. 2
⊢ (𝐵 ∈
(ℤ≥‘𝐴) → (𝐴 = 𝐵 ∨ ¬ 𝐴 = 𝐵)) | 
| 7 |   | hash0 10888 | 
. . . . 5
⊢
(♯‘∅) = 0 | 
| 8 |   | eluzelre 9611 | 
. . . . . . . 8
⊢ (𝐵 ∈
(ℤ≥‘𝐴) → 𝐵 ∈ ℝ) | 
| 9 | 8 | ltp1d 8957 | 
. . . . . . 7
⊢ (𝐵 ∈
(ℤ≥‘𝐴) → 𝐵 < (𝐵 + 1)) | 
| 10 |   | peano2z 9362 | 
. . . . . . . . 9
⊢ (𝐵 ∈ ℤ → (𝐵 + 1) ∈
ℤ) | 
| 11 | 10 | ancri 324 | 
. . . . . . . 8
⊢ (𝐵 ∈ ℤ → ((𝐵 + 1) ∈ ℤ ∧ 𝐵 ∈
ℤ)) | 
| 12 |   | fzn 10117 | 
. . . . . . . 8
⊢ (((𝐵 + 1) ∈ ℤ ∧ 𝐵 ∈ ℤ) → (𝐵 < (𝐵 + 1) ↔ ((𝐵 + 1)...𝐵) = ∅)) | 
| 13 | 2, 11, 12 | 3syl 17 | 
. . . . . . 7
⊢ (𝐵 ∈
(ℤ≥‘𝐴) → (𝐵 < (𝐵 + 1) ↔ ((𝐵 + 1)...𝐵) = ∅)) | 
| 14 | 9, 13 | mpbid 147 | 
. . . . . 6
⊢ (𝐵 ∈
(ℤ≥‘𝐴) → ((𝐵 + 1)...𝐵) = ∅) | 
| 15 | 14 | fveq2d 5562 | 
. . . . 5
⊢ (𝐵 ∈
(ℤ≥‘𝐴) → (♯‘((𝐵 + 1)...𝐵)) =
(♯‘∅)) | 
| 16 | 2 | zcnd 9449 | 
. . . . . 6
⊢ (𝐵 ∈
(ℤ≥‘𝐴) → 𝐵 ∈ ℂ) | 
| 17 | 16 | subidd 8325 | 
. . . . 5
⊢ (𝐵 ∈
(ℤ≥‘𝐴) → (𝐵 − 𝐵) = 0) | 
| 18 | 7, 15, 17 | 3eqtr4a 2255 | 
. . . 4
⊢ (𝐵 ∈
(ℤ≥‘𝐴) → (♯‘((𝐵 + 1)...𝐵)) = (𝐵 − 𝐵)) | 
| 19 |   | oveq1 5929 | 
. . . . . . 7
⊢ (𝐴 = 𝐵 → (𝐴 + 1) = (𝐵 + 1)) | 
| 20 | 19 | oveq1d 5937 | 
. . . . . 6
⊢ (𝐴 = 𝐵 → ((𝐴 + 1)...𝐵) = ((𝐵 + 1)...𝐵)) | 
| 21 | 20 | fveq2d 5562 | 
. . . . 5
⊢ (𝐴 = 𝐵 → (♯‘((𝐴 + 1)...𝐵)) = (♯‘((𝐵 + 1)...𝐵))) | 
| 22 |   | oveq2 5930 | 
. . . . 5
⊢ (𝐴 = 𝐵 → (𝐵 − 𝐴) = (𝐵 − 𝐵)) | 
| 23 | 21, 22 | eqeq12d 2211 | 
. . . 4
⊢ (𝐴 = 𝐵 → ((♯‘((𝐴 + 1)...𝐵)) = (𝐵 − 𝐴) ↔ (♯‘((𝐵 + 1)...𝐵)) = (𝐵 − 𝐵))) | 
| 24 | 18, 23 | imbitrrid 156 | 
. . 3
⊢ (𝐴 = 𝐵 → (𝐵 ∈ (ℤ≥‘𝐴) → (♯‘((𝐴 + 1)...𝐵)) = (𝐵 − 𝐴))) | 
| 25 |   | uzp1 9635 | 
. . . . . . . 8
⊢ (𝐵 ∈
(ℤ≥‘𝐴) → (𝐵 = 𝐴 ∨ 𝐵 ∈ (ℤ≥‘(𝐴 + 1)))) | 
| 26 |   | pm2.24 622 | 
. . . . . . . . . 10
⊢ (𝐴 = 𝐵 → (¬ 𝐴 = 𝐵 → 𝐵 ∈ (ℤ≥‘(𝐴 + 1)))) | 
| 27 | 26 | eqcoms 2199 | 
. . . . . . . . 9
⊢ (𝐵 = 𝐴 → (¬ 𝐴 = 𝐵 → 𝐵 ∈ (ℤ≥‘(𝐴 + 1)))) | 
| 28 |   | ax-1 6 | 
. . . . . . . . 9
⊢ (𝐵 ∈
(ℤ≥‘(𝐴 + 1)) → (¬ 𝐴 = 𝐵 → 𝐵 ∈ (ℤ≥‘(𝐴 + 1)))) | 
| 29 | 27, 28 | jaoi 717 | 
. . . . . . . 8
⊢ ((𝐵 = 𝐴 ∨ 𝐵 ∈ (ℤ≥‘(𝐴 + 1))) → (¬ 𝐴 = 𝐵 → 𝐵 ∈ (ℤ≥‘(𝐴 + 1)))) | 
| 30 | 25, 29 | syl 14 | 
. . . . . . 7
⊢ (𝐵 ∈
(ℤ≥‘𝐴) → (¬ 𝐴 = 𝐵 → 𝐵 ∈ (ℤ≥‘(𝐴 + 1)))) | 
| 31 | 30 | impcom 125 | 
. . . . . 6
⊢ ((¬
𝐴 = 𝐵 ∧ 𝐵 ∈ (ℤ≥‘𝐴)) → 𝐵 ∈ (ℤ≥‘(𝐴 + 1))) | 
| 32 |   | hashfz 10913 | 
. . . . . 6
⊢ (𝐵 ∈
(ℤ≥‘(𝐴 + 1)) → (♯‘((𝐴 + 1)...𝐵)) = ((𝐵 − (𝐴 + 1)) + 1)) | 
| 33 | 31, 32 | syl 14 | 
. . . . 5
⊢ ((¬
𝐴 = 𝐵 ∧ 𝐵 ∈ (ℤ≥‘𝐴)) → (♯‘((𝐴 + 1)...𝐵)) = ((𝐵 − (𝐴 + 1)) + 1)) | 
| 34 | 1 | zcnd 9449 | 
. . . . . . 7
⊢ (𝐵 ∈
(ℤ≥‘𝐴) → 𝐴 ∈ ℂ) | 
| 35 |   | 1cnd 8042 | 
. . . . . . 7
⊢ (𝐵 ∈
(ℤ≥‘𝐴) → 1 ∈ ℂ) | 
| 36 | 16, 34, 35 | nppcan2d 8363 | 
. . . . . 6
⊢ (𝐵 ∈
(ℤ≥‘𝐴) → ((𝐵 − (𝐴 + 1)) + 1) = (𝐵 − 𝐴)) | 
| 37 | 36 | adantl 277 | 
. . . . 5
⊢ ((¬
𝐴 = 𝐵 ∧ 𝐵 ∈ (ℤ≥‘𝐴)) → ((𝐵 − (𝐴 + 1)) + 1) = (𝐵 − 𝐴)) | 
| 38 | 33, 37 | eqtrd 2229 | 
. . . 4
⊢ ((¬
𝐴 = 𝐵 ∧ 𝐵 ∈ (ℤ≥‘𝐴)) → (♯‘((𝐴 + 1)...𝐵)) = (𝐵 − 𝐴)) | 
| 39 | 38 | ex 115 | 
. . 3
⊢ (¬
𝐴 = 𝐵 → (𝐵 ∈ (ℤ≥‘𝐴) → (♯‘((𝐴 + 1)...𝐵)) = (𝐵 − 𝐴))) | 
| 40 | 24, 39 | jaoi 717 | 
. 2
⊢ ((𝐴 = 𝐵 ∨ ¬ 𝐴 = 𝐵) → (𝐵 ∈ (ℤ≥‘𝐴) → (♯‘((𝐴 + 1)...𝐵)) = (𝐵 − 𝐴))) | 
| 41 | 6, 40 | mpcom 36 | 
1
⊢ (𝐵 ∈
(ℤ≥‘𝐴) → (♯‘((𝐴 + 1)...𝐵)) = (𝐵 − 𝐴)) |