Proof of Theorem fsum0diaglem
| Step | Hyp | Ref
 | Expression | 
| 1 |   | elfzle1 10102 | 
. . . . . . 7
⊢ (𝑗 ∈ (0...𝑁) → 0 ≤ 𝑗) | 
| 2 | 1 | adantr 276 | 
. . . . . 6
⊢ ((𝑗 ∈ (0...𝑁) ∧ 𝑘 ∈ (0...(𝑁 − 𝑗))) → 0 ≤ 𝑗) | 
| 3 |   | elfz3nn0 10190 | 
. . . . . . . . . 10
⊢ (𝑗 ∈ (0...𝑁) → 𝑁 ∈
ℕ0) | 
| 4 | 3 | adantr 276 | 
. . . . . . . . 9
⊢ ((𝑗 ∈ (0...𝑁) ∧ 𝑘 ∈ (0...(𝑁 − 𝑗))) → 𝑁 ∈
ℕ0) | 
| 5 | 4 | nn0zd 9446 | 
. . . . . . . 8
⊢ ((𝑗 ∈ (0...𝑁) ∧ 𝑘 ∈ (0...(𝑁 − 𝑗))) → 𝑁 ∈ ℤ) | 
| 6 | 5 | zred 9448 | 
. . . . . . 7
⊢ ((𝑗 ∈ (0...𝑁) ∧ 𝑘 ∈ (0...(𝑁 − 𝑗))) → 𝑁 ∈ ℝ) | 
| 7 |   | elfzelz 10100 | 
. . . . . . . . 9
⊢ (𝑗 ∈ (0...𝑁) → 𝑗 ∈ ℤ) | 
| 8 | 7 | adantr 276 | 
. . . . . . . 8
⊢ ((𝑗 ∈ (0...𝑁) ∧ 𝑘 ∈ (0...(𝑁 − 𝑗))) → 𝑗 ∈ ℤ) | 
| 9 | 8 | zred 9448 | 
. . . . . . 7
⊢ ((𝑗 ∈ (0...𝑁) ∧ 𝑘 ∈ (0...(𝑁 − 𝑗))) → 𝑗 ∈ ℝ) | 
| 10 | 6, 9 | subge02d 8564 | 
. . . . . 6
⊢ ((𝑗 ∈ (0...𝑁) ∧ 𝑘 ∈ (0...(𝑁 − 𝑗))) → (0 ≤ 𝑗 ↔ (𝑁 − 𝑗) ≤ 𝑁)) | 
| 11 | 2, 10 | mpbid 147 | 
. . . . 5
⊢ ((𝑗 ∈ (0...𝑁) ∧ 𝑘 ∈ (0...(𝑁 − 𝑗))) → (𝑁 − 𝑗) ≤ 𝑁) | 
| 12 | 5, 8 | zsubcld 9453 | 
. . . . . 6
⊢ ((𝑗 ∈ (0...𝑁) ∧ 𝑘 ∈ (0...(𝑁 − 𝑗))) → (𝑁 − 𝑗) ∈ ℤ) | 
| 13 |   | eluz 9614 | 
. . . . . 6
⊢ (((𝑁 − 𝑗) ∈ ℤ ∧ 𝑁 ∈ ℤ) → (𝑁 ∈ (ℤ≥‘(𝑁 − 𝑗)) ↔ (𝑁 − 𝑗) ≤ 𝑁)) | 
| 14 | 12, 5, 13 | syl2anc 411 | 
. . . . 5
⊢ ((𝑗 ∈ (0...𝑁) ∧ 𝑘 ∈ (0...(𝑁 − 𝑗))) → (𝑁 ∈ (ℤ≥‘(𝑁 − 𝑗)) ↔ (𝑁 − 𝑗) ≤ 𝑁)) | 
| 15 | 11, 14 | mpbird 167 | 
. . . 4
⊢ ((𝑗 ∈ (0...𝑁) ∧ 𝑘 ∈ (0...(𝑁 − 𝑗))) → 𝑁 ∈ (ℤ≥‘(𝑁 − 𝑗))) | 
| 16 |   | fzss2 10139 | 
. . . 4
⊢ (𝑁 ∈
(ℤ≥‘(𝑁 − 𝑗)) → (0...(𝑁 − 𝑗)) ⊆ (0...𝑁)) | 
| 17 | 15, 16 | syl 14 | 
. . 3
⊢ ((𝑗 ∈ (0...𝑁) ∧ 𝑘 ∈ (0...(𝑁 − 𝑗))) → (0...(𝑁 − 𝑗)) ⊆ (0...𝑁)) | 
| 18 |   | simpr 110 | 
. . 3
⊢ ((𝑗 ∈ (0...𝑁) ∧ 𝑘 ∈ (0...(𝑁 − 𝑗))) → 𝑘 ∈ (0...(𝑁 − 𝑗))) | 
| 19 | 17, 18 | sseldd 3184 | 
. 2
⊢ ((𝑗 ∈ (0...𝑁) ∧ 𝑘 ∈ (0...(𝑁 − 𝑗))) → 𝑘 ∈ (0...𝑁)) | 
| 20 |   | elfzelz 10100 | 
. . . . . 6
⊢ (𝑘 ∈ (0...(𝑁 − 𝑗)) → 𝑘 ∈ ℤ) | 
| 21 | 20 | adantl 277 | 
. . . . 5
⊢ ((𝑗 ∈ (0...𝑁) ∧ 𝑘 ∈ (0...(𝑁 − 𝑗))) → 𝑘 ∈ ℤ) | 
| 22 | 21 | zred 9448 | 
. . . 4
⊢ ((𝑗 ∈ (0...𝑁) ∧ 𝑘 ∈ (0...(𝑁 − 𝑗))) → 𝑘 ∈ ℝ) | 
| 23 |   | elfzle2 10103 | 
. . . . 5
⊢ (𝑘 ∈ (0...(𝑁 − 𝑗)) → 𝑘 ≤ (𝑁 − 𝑗)) | 
| 24 | 23 | adantl 277 | 
. . . 4
⊢ ((𝑗 ∈ (0...𝑁) ∧ 𝑘 ∈ (0...(𝑁 − 𝑗))) → 𝑘 ≤ (𝑁 − 𝑗)) | 
| 25 | 22, 6, 9, 24 | lesubd 8576 | 
. . 3
⊢ ((𝑗 ∈ (0...𝑁) ∧ 𝑘 ∈ (0...(𝑁 − 𝑗))) → 𝑗 ≤ (𝑁 − 𝑘)) | 
| 26 |   | elfzuz 10096 | 
. . . . 5
⊢ (𝑗 ∈ (0...𝑁) → 𝑗 ∈
(ℤ≥‘0)) | 
| 27 | 26 | adantr 276 | 
. . . 4
⊢ ((𝑗 ∈ (0...𝑁) ∧ 𝑘 ∈ (0...(𝑁 − 𝑗))) → 𝑗 ∈
(ℤ≥‘0)) | 
| 28 | 5, 21 | zsubcld 9453 | 
. . . 4
⊢ ((𝑗 ∈ (0...𝑁) ∧ 𝑘 ∈ (0...(𝑁 − 𝑗))) → (𝑁 − 𝑘) ∈ ℤ) | 
| 29 |   | elfz5 10092 | 
. . . 4
⊢ ((𝑗 ∈
(ℤ≥‘0) ∧ (𝑁 − 𝑘) ∈ ℤ) → (𝑗 ∈ (0...(𝑁 − 𝑘)) ↔ 𝑗 ≤ (𝑁 − 𝑘))) | 
| 30 | 27, 28, 29 | syl2anc 411 | 
. . 3
⊢ ((𝑗 ∈ (0...𝑁) ∧ 𝑘 ∈ (0...(𝑁 − 𝑗))) → (𝑗 ∈ (0...(𝑁 − 𝑘)) ↔ 𝑗 ≤ (𝑁 − 𝑘))) | 
| 31 | 25, 30 | mpbird 167 | 
. 2
⊢ ((𝑗 ∈ (0...𝑁) ∧ 𝑘 ∈ (0...(𝑁 − 𝑗))) → 𝑗 ∈ (0...(𝑁 − 𝑘))) | 
| 32 | 19, 31 | jca 306 | 
1
⊢ ((𝑗 ∈ (0...𝑁) ∧ 𝑘 ∈ (0...(𝑁 − 𝑗))) → (𝑘 ∈ (0...𝑁) ∧ 𝑗 ∈ (0...(𝑁 − 𝑘)))) |