Proof of Theorem fprodrev
| Step | Hyp | Ref | Expression | 
|---|
| 1 |  | fprodrev.5 | . 2
⊢ (𝑗 = (𝐾 − 𝑘) → 𝐴 = 𝐵) | 
| 2 |  | fzfid 14014 | . 2
⊢ (𝜑 → ((𝐾 − 𝑁)...(𝐾 − 𝑀)) ∈ Fin) | 
| 3 |  | eqid 2737 | . . 3
⊢ (𝑗 ∈ ((𝐾 − 𝑁)...(𝐾 − 𝑀)) ↦ (𝐾 − 𝑗)) = (𝑗 ∈ ((𝐾 − 𝑁)...(𝐾 − 𝑀)) ↦ (𝐾 − 𝑗)) | 
| 4 |  | fprodshft.1 | . . . . 5
⊢ (𝜑 → 𝐾 ∈ ℤ) | 
| 5 | 4 | adantr 480 | . . . 4
⊢ ((𝜑 ∧ 𝑗 ∈ ((𝐾 − 𝑁)...(𝐾 − 𝑀))) → 𝐾 ∈ ℤ) | 
| 6 |  | elfzelz 13564 | . . . . 5
⊢ (𝑗 ∈ ((𝐾 − 𝑁)...(𝐾 − 𝑀)) → 𝑗 ∈ ℤ) | 
| 7 | 6 | adantl 481 | . . . 4
⊢ ((𝜑 ∧ 𝑗 ∈ ((𝐾 − 𝑁)...(𝐾 − 𝑀))) → 𝑗 ∈ ℤ) | 
| 8 | 5, 7 | zsubcld 12727 | . . 3
⊢ ((𝜑 ∧ 𝑗 ∈ ((𝐾 − 𝑁)...(𝐾 − 𝑀))) → (𝐾 − 𝑗) ∈ ℤ) | 
| 9 | 4 | adantr 480 | . . . 4
⊢ ((𝜑 ∧ 𝑘 ∈ (𝑀...𝑁)) → 𝐾 ∈ ℤ) | 
| 10 |  | elfzelz 13564 | . . . . 5
⊢ (𝑘 ∈ (𝑀...𝑁) → 𝑘 ∈ ℤ) | 
| 11 | 10 | adantl 481 | . . . 4
⊢ ((𝜑 ∧ 𝑘 ∈ (𝑀...𝑁)) → 𝑘 ∈ ℤ) | 
| 12 | 9, 11 | zsubcld 12727 | . . 3
⊢ ((𝜑 ∧ 𝑘 ∈ (𝑀...𝑁)) → (𝐾 − 𝑘) ∈ ℤ) | 
| 13 |  | simprr 773 | . . . . . 6
⊢ ((𝜑 ∧ (𝑗 ∈ ((𝐾 − 𝑁)...(𝐾 − 𝑀)) ∧ 𝑘 = (𝐾 − 𝑗))) → 𝑘 = (𝐾 − 𝑗)) | 
| 14 |  | simprl 771 | . . . . . . 7
⊢ ((𝜑 ∧ (𝑗 ∈ ((𝐾 − 𝑁)...(𝐾 − 𝑀)) ∧ 𝑘 = (𝐾 − 𝑗))) → 𝑗 ∈ ((𝐾 − 𝑁)...(𝐾 − 𝑀))) | 
| 15 |  | fprodshft.2 | . . . . . . . . 9
⊢ (𝜑 → 𝑀 ∈ ℤ) | 
| 16 | 15 | adantr 480 | . . . . . . . 8
⊢ ((𝜑 ∧ (𝑗 ∈ ((𝐾 − 𝑁)...(𝐾 − 𝑀)) ∧ 𝑘 = (𝐾 − 𝑗))) → 𝑀 ∈ ℤ) | 
| 17 |  | fprodshft.3 | . . . . . . . . 9
⊢ (𝜑 → 𝑁 ∈ ℤ) | 
| 18 | 17 | adantr 480 | . . . . . . . 8
⊢ ((𝜑 ∧ (𝑗 ∈ ((𝐾 − 𝑁)...(𝐾 − 𝑀)) ∧ 𝑘 = (𝐾 − 𝑗))) → 𝑁 ∈ ℤ) | 
| 19 | 4 | adantr 480 | . . . . . . . 8
⊢ ((𝜑 ∧ (𝑗 ∈ ((𝐾 − 𝑁)...(𝐾 − 𝑀)) ∧ 𝑘 = (𝐾 − 𝑗))) → 𝐾 ∈ ℤ) | 
| 20 | 6 | ad2antrl 728 | . . . . . . . 8
⊢ ((𝜑 ∧ (𝑗 ∈ ((𝐾 − 𝑁)...(𝐾 − 𝑀)) ∧ 𝑘 = (𝐾 − 𝑗))) → 𝑗 ∈ ℤ) | 
| 21 |  | fzrev 13627 | . . . . . . . 8
⊢ (((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ (𝐾 ∈ ℤ ∧ 𝑗 ∈ ℤ)) → (𝑗 ∈ ((𝐾 − 𝑁)...(𝐾 − 𝑀)) ↔ (𝐾 − 𝑗) ∈ (𝑀...𝑁))) | 
| 22 | 16, 18, 19, 20, 21 | syl22anc 839 | . . . . . . 7
⊢ ((𝜑 ∧ (𝑗 ∈ ((𝐾 − 𝑁)...(𝐾 − 𝑀)) ∧ 𝑘 = (𝐾 − 𝑗))) → (𝑗 ∈ ((𝐾 − 𝑁)...(𝐾 − 𝑀)) ↔ (𝐾 − 𝑗) ∈ (𝑀...𝑁))) | 
| 23 | 14, 22 | mpbid 232 | . . . . . 6
⊢ ((𝜑 ∧ (𝑗 ∈ ((𝐾 − 𝑁)...(𝐾 − 𝑀)) ∧ 𝑘 = (𝐾 − 𝑗))) → (𝐾 − 𝑗) ∈ (𝑀...𝑁)) | 
| 24 | 13, 23 | eqeltrd 2841 | . . . . 5
⊢ ((𝜑 ∧ (𝑗 ∈ ((𝐾 − 𝑁)...(𝐾 − 𝑀)) ∧ 𝑘 = (𝐾 − 𝑗))) → 𝑘 ∈ (𝑀...𝑁)) | 
| 25 |  | oveq2 7439 | . . . . . . 7
⊢ (𝑘 = (𝐾 − 𝑗) → (𝐾 − 𝑘) = (𝐾 − (𝐾 − 𝑗))) | 
| 26 | 25 | ad2antll 729 | . . . . . 6
⊢ ((𝜑 ∧ (𝑗 ∈ ((𝐾 − 𝑁)...(𝐾 − 𝑀)) ∧ 𝑘 = (𝐾 − 𝑗))) → (𝐾 − 𝑘) = (𝐾 − (𝐾 − 𝑗))) | 
| 27 | 4 | zcnd 12723 | . . . . . . . 8
⊢ (𝜑 → 𝐾 ∈ ℂ) | 
| 28 | 27 | adantr 480 | . . . . . . 7
⊢ ((𝜑 ∧ (𝑗 ∈ ((𝐾 − 𝑁)...(𝐾 − 𝑀)) ∧ 𝑘 = (𝐾 − 𝑗))) → 𝐾 ∈ ℂ) | 
| 29 | 6 | zcnd 12723 | . . . . . . . 8
⊢ (𝑗 ∈ ((𝐾 − 𝑁)...(𝐾 − 𝑀)) → 𝑗 ∈ ℂ) | 
| 30 | 29 | ad2antrl 728 | . . . . . . 7
⊢ ((𝜑 ∧ (𝑗 ∈ ((𝐾 − 𝑁)...(𝐾 − 𝑀)) ∧ 𝑘 = (𝐾 − 𝑗))) → 𝑗 ∈ ℂ) | 
| 31 | 28, 30 | nncand 11625 | . . . . . 6
⊢ ((𝜑 ∧ (𝑗 ∈ ((𝐾 − 𝑁)...(𝐾 − 𝑀)) ∧ 𝑘 = (𝐾 − 𝑗))) → (𝐾 − (𝐾 − 𝑗)) = 𝑗) | 
| 32 | 26, 31 | eqtr2d 2778 | . . . . 5
⊢ ((𝜑 ∧ (𝑗 ∈ ((𝐾 − 𝑁)...(𝐾 − 𝑀)) ∧ 𝑘 = (𝐾 − 𝑗))) → 𝑗 = (𝐾 − 𝑘)) | 
| 33 | 24, 32 | jca 511 | . . . 4
⊢ ((𝜑 ∧ (𝑗 ∈ ((𝐾 − 𝑁)...(𝐾 − 𝑀)) ∧ 𝑘 = (𝐾 − 𝑗))) → (𝑘 ∈ (𝑀...𝑁) ∧ 𝑗 = (𝐾 − 𝑘))) | 
| 34 |  | simprr 773 | . . . . . 6
⊢ ((𝜑 ∧ (𝑘 ∈ (𝑀...𝑁) ∧ 𝑗 = (𝐾 − 𝑘))) → 𝑗 = (𝐾 − 𝑘)) | 
| 35 |  | simprl 771 | . . . . . . 7
⊢ ((𝜑 ∧ (𝑘 ∈ (𝑀...𝑁) ∧ 𝑗 = (𝐾 − 𝑘))) → 𝑘 ∈ (𝑀...𝑁)) | 
| 36 | 15 | adantr 480 | . . . . . . . 8
⊢ ((𝜑 ∧ (𝑘 ∈ (𝑀...𝑁) ∧ 𝑗 = (𝐾 − 𝑘))) → 𝑀 ∈ ℤ) | 
| 37 | 17 | adantr 480 | . . . . . . . 8
⊢ ((𝜑 ∧ (𝑘 ∈ (𝑀...𝑁) ∧ 𝑗 = (𝐾 − 𝑘))) → 𝑁 ∈ ℤ) | 
| 38 | 4 | adantr 480 | . . . . . . . 8
⊢ ((𝜑 ∧ (𝑘 ∈ (𝑀...𝑁) ∧ 𝑗 = (𝐾 − 𝑘))) → 𝐾 ∈ ℤ) | 
| 39 | 10 | ad2antrl 728 | . . . . . . . 8
⊢ ((𝜑 ∧ (𝑘 ∈ (𝑀...𝑁) ∧ 𝑗 = (𝐾 − 𝑘))) → 𝑘 ∈ ℤ) | 
| 40 |  | fzrev2 13628 | . . . . . . . 8
⊢ (((𝑀 ∈ ℤ ∧ 𝑁 ∈ ℤ) ∧ (𝐾 ∈ ℤ ∧ 𝑘 ∈ ℤ)) → (𝑘 ∈ (𝑀...𝑁) ↔ (𝐾 − 𝑘) ∈ ((𝐾 − 𝑁)...(𝐾 − 𝑀)))) | 
| 41 | 36, 37, 38, 39, 40 | syl22anc 839 | . . . . . . 7
⊢ ((𝜑 ∧ (𝑘 ∈ (𝑀...𝑁) ∧ 𝑗 = (𝐾 − 𝑘))) → (𝑘 ∈ (𝑀...𝑁) ↔ (𝐾 − 𝑘) ∈ ((𝐾 − 𝑁)...(𝐾 − 𝑀)))) | 
| 42 | 35, 41 | mpbid 232 | . . . . . 6
⊢ ((𝜑 ∧ (𝑘 ∈ (𝑀...𝑁) ∧ 𝑗 = (𝐾 − 𝑘))) → (𝐾 − 𝑘) ∈ ((𝐾 − 𝑁)...(𝐾 − 𝑀))) | 
| 43 | 34, 42 | eqeltrd 2841 | . . . . 5
⊢ ((𝜑 ∧ (𝑘 ∈ (𝑀...𝑁) ∧ 𝑗 = (𝐾 − 𝑘))) → 𝑗 ∈ ((𝐾 − 𝑁)...(𝐾 − 𝑀))) | 
| 44 |  | oveq2 7439 | . . . . . . 7
⊢ (𝑗 = (𝐾 − 𝑘) → (𝐾 − 𝑗) = (𝐾 − (𝐾 − 𝑘))) | 
| 45 | 44 | ad2antll 729 | . . . . . 6
⊢ ((𝜑 ∧ (𝑘 ∈ (𝑀...𝑁) ∧ 𝑗 = (𝐾 − 𝑘))) → (𝐾 − 𝑗) = (𝐾 − (𝐾 − 𝑘))) | 
| 46 | 27 | adantr 480 | . . . . . . 7
⊢ ((𝜑 ∧ (𝑘 ∈ (𝑀...𝑁) ∧ 𝑗 = (𝐾 − 𝑘))) → 𝐾 ∈ ℂ) | 
| 47 | 10 | zcnd 12723 | . . . . . . . 8
⊢ (𝑘 ∈ (𝑀...𝑁) → 𝑘 ∈ ℂ) | 
| 48 | 47 | ad2antrl 728 | . . . . . . 7
⊢ ((𝜑 ∧ (𝑘 ∈ (𝑀...𝑁) ∧ 𝑗 = (𝐾 − 𝑘))) → 𝑘 ∈ ℂ) | 
| 49 | 46, 48 | nncand 11625 | . . . . . 6
⊢ ((𝜑 ∧ (𝑘 ∈ (𝑀...𝑁) ∧ 𝑗 = (𝐾 − 𝑘))) → (𝐾 − (𝐾 − 𝑘)) = 𝑘) | 
| 50 | 45, 49 | eqtr2d 2778 | . . . . 5
⊢ ((𝜑 ∧ (𝑘 ∈ (𝑀...𝑁) ∧ 𝑗 = (𝐾 − 𝑘))) → 𝑘 = (𝐾 − 𝑗)) | 
| 51 | 43, 50 | jca 511 | . . . 4
⊢ ((𝜑 ∧ (𝑘 ∈ (𝑀...𝑁) ∧ 𝑗 = (𝐾 − 𝑘))) → (𝑗 ∈ ((𝐾 − 𝑁)...(𝐾 − 𝑀)) ∧ 𝑘 = (𝐾 − 𝑗))) | 
| 52 | 33, 51 | impbida 801 | . . 3
⊢ (𝜑 → ((𝑗 ∈ ((𝐾 − 𝑁)...(𝐾 − 𝑀)) ∧ 𝑘 = (𝐾 − 𝑗)) ↔ (𝑘 ∈ (𝑀...𝑁) ∧ 𝑗 = (𝐾 − 𝑘)))) | 
| 53 | 3, 8, 12, 52 | f1od 7685 | . 2
⊢ (𝜑 → (𝑗 ∈ ((𝐾 − 𝑁)...(𝐾 − 𝑀)) ↦ (𝐾 − 𝑗)):((𝐾 − 𝑁)...(𝐾 − 𝑀))–1-1-onto→(𝑀...𝑁)) | 
| 54 |  | oveq2 7439 | . . . 4
⊢ (𝑗 = 𝑘 → (𝐾 − 𝑗) = (𝐾 − 𝑘)) | 
| 55 |  | ovex 7464 | . . . 4
⊢ (𝐾 − 𝑘) ∈ V | 
| 56 | 54, 3, 55 | fvmpt 7016 | . . 3
⊢ (𝑘 ∈ ((𝐾 − 𝑁)...(𝐾 − 𝑀)) → ((𝑗 ∈ ((𝐾 − 𝑁)...(𝐾 − 𝑀)) ↦ (𝐾 − 𝑗))‘𝑘) = (𝐾 − 𝑘)) | 
| 57 | 56 | adantl 481 | . 2
⊢ ((𝜑 ∧ 𝑘 ∈ ((𝐾 − 𝑁)...(𝐾 − 𝑀))) → ((𝑗 ∈ ((𝐾 − 𝑁)...(𝐾 − 𝑀)) ↦ (𝐾 − 𝑗))‘𝑘) = (𝐾 − 𝑘)) | 
| 58 |  | fprodshft.4 | . 2
⊢ ((𝜑 ∧ 𝑗 ∈ (𝑀...𝑁)) → 𝐴 ∈ ℂ) | 
| 59 | 1, 2, 53, 57, 58 | fprodf1o 15982 | 1
⊢ (𝜑 → ∏𝑗 ∈ (𝑀...𝑁)𝐴 = ∏𝑘 ∈ ((𝐾 − 𝑁)...(𝐾 − 𝑀))𝐵) |