Metamath Proof Explorer


Theorem fprodm1

Description: Separate out the last term in a finite product. (Contributed by Scott Fenton, 16-Dec-2017)

Ref Expression
Hypotheses fprodm1.1 ⊢ ( 𝜑 → 𝑁 ∈ ( ℤ≥ ‘ 𝑀 ) )
fprodm1.2 ⊢ ( ( 𝜑 ∧ 𝑘 ∈ ( 𝑀 ... 𝑁 ) ) → 𝐴 ∈ ℂ )
fprodm1.3 ⊢ ( 𝑘 = 𝑁 → 𝐴 = 𝐵 )
Assertion fprodm1 ( 𝜑 → ∏ 𝑘 ∈ ( 𝑀 ... 𝑁 ) 𝐴 = ( ∏ 𝑘 ∈ ( 𝑀 ... ( 𝑁 − 1 ) ) 𝐴 · 𝐵 ) )

Proof

Step Hyp Ref Expression
1 fprodm1.1 ⊢ ( 𝜑 → 𝑁 ∈ ( ℤ≥ ‘ 𝑀 ) )
2 fprodm1.2 ⊢ ( ( 𝜑 ∧ 𝑘 ∈ ( 𝑀 ... 𝑁 ) ) → 𝐴 ∈ ℂ )
3 fprodm1.3 ⊢ ( 𝑘 = 𝑁 → 𝐴 = 𝐵 )
4 fzp1nel ⊢ ¬ ( ( 𝑁 − 1 ) + 1 ) ∈ ( 𝑀 ... ( 𝑁 − 1 ) )
5 eluzelz ⊢ ( 𝑁 ∈ ( ℤ≥ ‘ 𝑀 ) → 𝑁 ∈ ℤ )
6 1 5 syl ⊢ ( 𝜑 → 𝑁 ∈ ℤ )
7 6 zcnd ⊢ ( 𝜑 → 𝑁 ∈ ℂ )
8 1cnd ⊢ ( 𝜑 → 1 ∈ ℂ )
9 7 8 npcand ⊢ ( 𝜑 → ( ( 𝑁 − 1 ) + 1 ) = 𝑁 )
10 9 eleq1d ⊢ ( 𝜑 → ( ( ( 𝑁 − 1 ) + 1 ) ∈ ( 𝑀 ... ( 𝑁 − 1 ) ) ↔ 𝑁 ∈ ( 𝑀 ... ( 𝑁 − 1 ) ) ) )
11 4 10 mtbii ⊢ ( 𝜑 → ¬ 𝑁 ∈ ( 𝑀 ... ( 𝑁 − 1 ) ) )
12 disjsn ⊢ ( ( ( 𝑀 ... ( 𝑁 − 1 ) ) ∩ { 𝑁 } ) = ∅ ↔ ¬ 𝑁 ∈ ( 𝑀 ... ( 𝑁 − 1 ) ) )
13 11 12 sylibr ⊢ ( 𝜑 → ( ( 𝑀 ... ( 𝑁 − 1 ) ) ∩ { 𝑁 } ) = ∅ )
14 eluzel2 ⊢ ( 𝑁 ∈ ( ℤ≥ ‘ 𝑀 ) → 𝑀 ∈ ℤ )
15 1 14 syl ⊢ ( 𝜑 → 𝑀 ∈ ℤ )
16 peano2zm ⊢ ( 𝑀 ∈ ℤ → ( 𝑀 − 1 ) ∈ ℤ )
17 15 16 syl ⊢ ( 𝜑 → ( 𝑀 − 1 ) ∈ ℤ )
18 15 zcnd ⊢ ( 𝜑 → 𝑀 ∈ ℂ )
19 18 8 npcand ⊢ ( 𝜑 → ( ( 𝑀 − 1 ) + 1 ) = 𝑀 )
20 19 fveq2d ⊢ ( 𝜑 → ( ℤ≥ ‘ ( ( 𝑀 − 1 ) + 1 ) ) = ( ℤ≥ ‘ 𝑀 ) )
21 1 20 eleqtrrd ⊢ ( 𝜑 → 𝑁 ∈ ( ℤ≥ ‘ ( ( 𝑀 − 1 ) + 1 ) ) )
22 eluzp1m1 ⊢ ( ( ( 𝑀 − 1 ) ∈ ℤ ∧ 𝑁 ∈ ( ℤ≥ ‘ ( ( 𝑀 − 1 ) + 1 ) ) ) → ( 𝑁 − 1 ) ∈ ( ℤ≥ ‘ ( 𝑀 − 1 ) ) )
23 17 21 22 syl2anc ⊢ ( 𝜑 → ( 𝑁 − 1 ) ∈ ( ℤ≥ ‘ ( 𝑀 − 1 ) ) )
24 fzsuc2 ⊢ ( ( 𝑀 ∈ ℤ ∧ ( 𝑁 − 1 ) ∈ ( ℤ≥ ‘ ( 𝑀 − 1 ) ) ) → ( 𝑀 ... ( ( 𝑁 − 1 ) + 1 ) ) = ( ( 𝑀 ... ( 𝑁 − 1 ) ) ∪ { ( ( 𝑁 − 1 ) + 1 ) } ) )
25 15 23 24 syl2anc ⊢ ( 𝜑 → ( 𝑀 ... ( ( 𝑁 − 1 ) + 1 ) ) = ( ( 𝑀 ... ( 𝑁 − 1 ) ) ∪ { ( ( 𝑁 − 1 ) + 1 ) } ) )
26 9 oveq2d ⊢ ( 𝜑 → ( 𝑀 ... ( ( 𝑁 − 1 ) + 1 ) ) = ( 𝑀 ... 𝑁 ) )
27 9 sneqd ⊢ ( 𝜑 → { ( ( 𝑁 − 1 ) + 1 ) } = { 𝑁 } )
28 27 uneq2d ⊢ ( 𝜑 → ( ( 𝑀 ... ( 𝑁 − 1 ) ) ∪ { ( ( 𝑁 − 1 ) + 1 ) } ) = ( ( 𝑀 ... ( 𝑁 − 1 ) ) ∪ { 𝑁 } ) )
29 25 26 28 3eqtr3d ⊢ ( 𝜑 → ( 𝑀 ... 𝑁 ) = ( ( 𝑀 ... ( 𝑁 − 1 ) ) ∪ { 𝑁 } ) )
30 fzfid ⊢ ( 𝜑 → ( 𝑀 ... 𝑁 ) ∈ Fin )
31 13 29 30 2 fprodsplit ⊢ ( 𝜑 → ∏ 𝑘 ∈ ( 𝑀 ... 𝑁 ) 𝐴 = ( ∏ 𝑘 ∈ ( 𝑀 ... ( 𝑁 − 1 ) ) 𝐴 · ∏ 𝑘 ∈ { 𝑁 } 𝐴 ) )
32 3 eleq1d ⊢ ( 𝑘 = 𝑁 → ( 𝐴 ∈ ℂ ↔ 𝐵 ∈ ℂ ) )
33 2 ralrimiva ⊢ ( 𝜑 → ∀ 𝑘 ∈ ( 𝑀 ... 𝑁 ) 𝐴 ∈ ℂ )
34 eluzfz2 ⊢ ( 𝑁 ∈ ( ℤ≥ ‘ 𝑀 ) → 𝑁 ∈ ( 𝑀 ... 𝑁 ) )
35 1 34 syl ⊢ ( 𝜑 → 𝑁 ∈ ( 𝑀 ... 𝑁 ) )
36 32 33 35 rspcdva ⊢ ( 𝜑 → 𝐵 ∈ ℂ )
37 3 prodsn ⊢ ( ( 𝑁 ∈ ( ℤ≥ ‘ 𝑀 ) ∧ 𝐵 ∈ ℂ ) → ∏ 𝑘 ∈ { 𝑁 } 𝐴 = 𝐵 )
38 1 36 37 syl2anc ⊢ ( 𝜑 → ∏ 𝑘 ∈ { 𝑁 } 𝐴 = 𝐵 )
39 38 oveq2d ⊢ ( 𝜑 → ( ∏ 𝑘 ∈ ( 𝑀 ... ( 𝑁 − 1 ) ) 𝐴 · ∏ 𝑘 ∈ { 𝑁 } 𝐴 ) = ( ∏ 𝑘 ∈ ( 𝑀 ... ( 𝑁 − 1 ) ) 𝐴 · 𝐵 ) )
40 31 39 eqtrd ⊢ ( 𝜑 → ∏ 𝑘 ∈ ( 𝑀 ... 𝑁 ) 𝐴 = ( ∏ 𝑘 ∈ ( 𝑀 ... ( 𝑁 − 1 ) ) 𝐴 · 𝐵 ) )