HomeHome Metamath Proof Explorer < Previous   Next >
Related theorems
Unicode version

Theorem fsumsplit 7143
Description: Split a finite sum into two parts. Warning: The HTML proof page is 0.6 megabyte in size.
Assertion
Ref Expression
fsumsplit |- ((N e. ZZ /\ K e. (M...(N - 1)) /\ A.k e. (M...N)A e. CC) -> sum_k e. (M...N)A = (sum_k e. (M...K)A + sum_k e. ((K + 1)...N)A))
Distinct variable groups:   k,M   k,N

Proof of Theorem fsumsplit
StepHypRef Expression
1 breq1 2672 . . . . . . . . 9 |- (j = M -> (j < N <-> M < N))
21anbi2d 618 . . . . . . . 8 |- (j = M -> ((N e. ZZ /\ j < N) <-> (N e. ZZ /\ M < N)))
32anbi1d 619 . . . . . . 7 |- (j = M -> (((N e. ZZ /\ j < N) /\ A.k e. (M...N)A e. CC) <-> ((N e. ZZ /\ M < N) /\ A.k e. (M...N)A e. CC)))
4 opreq2 4045 . . . . . . . . . 10 |- (j = M -> (M...j) = (M...M))
54sumeq1d 7113 . . . . . . . . 9 |- (j = M -> sum_k e. (M...j)A = sum_k e. (M...M)A)
6 opreq1 4044 . . . . . . . . . . 11 |- (j = M -> (j + 1) = (M + 1))
76opreq1d 4051 . . . . . . . . . 10 |- (j = M -> ((j + 1)...N) = ((M + 1)...N))
87sumeq1d 7113 . . . . . . . . 9 |- (j = M -> sum_k e. ((j + 1)...N)A = sum_k e. ((M + 1)...N)A)
95, 8opreq12d 4054 . . . . . . . 8 |- (j = M -> (sum_k e. (M...j)A + sum_k e. ((j + 1)...N)A) = (sum_k e. (M...M)A + sum_k e. ((M + 1)...N)A))
109eqeq2d 1523 . . . . . . 7 |- (j = M -> (sum_k e. (M...N)A = (sum_k e. (M...j)A + sum_k e. ((j + 1)...N)A) <-> sum_k e. (M...N)A = (sum_k e. (M...M)A + sum_k e. ((M + 1)...N)A)))
113, 10imbi12d 628 . . . . . 6 |- (j = M -> ((((N e. ZZ /\ j < N) /\ A.k e. (M...N)A e. CC) -> sum_k e. (M...N)A = (sum_k e. (M...j)A + sum_k e. ((j + 1)...N)A)) <-> (((N e. ZZ /\ M < N) /\ A.k e. (M...N)A e. CC) -> sum_k e. (M...N)A = (sum_k e. (M...M)A + sum_k e. ((M + 1)...N)A))))
12 breq1 2672 . . . . . . . . 9 |- (j = m -> (j < N <-> m < N))
1312anbi2d 618 . . . . . . . 8 |- (j = m -> ((N e. ZZ /\ j < N) <-> (N e. ZZ /\ m < N)))
1413anbi1d 619 . . . . . . 7 |- (j = m -> (((N e. ZZ /\ j < N) /\ A.k e. (M...N)A e. CC) <-> ((N e. ZZ /\ m < N) /\ A.k e. (M...N)A e. CC)))
15 opreq2 4045 . . . . . . . . . 10 |- (j = m -> (M...j) = (M...m))
1615sumeq1d 7113 . . . . . . . . 9 |- (j = m -> sum_k e. (M...j)A = sum_k e. (M...m)A)
17 opreq1 4044 . . . . . . . . . . 11 |- (j = m -> (j + 1) = (m + 1))
1817opreq1d 4051 . . . . . . . . . 10 |- (j = m -> ((j + 1)...N) = ((m + 1)...N))
1918sumeq1d 7113 . . . . . . . . 9 |- (j = m -> sum_k e. ((j + 1)...N)A = sum_k e. ((m + 1)...N)A)
2016, 19opreq12d 4054 . . . . . . . 8 |- (j = m -> (sum_k e. (M...j)A + sum_k e. ((j + 1)...N)A) = (sum_k e. (M...m)A + sum_k e. ((m + 1)...N)A))
2120eqeq2d 1523 . . . . . . 7 |- (j = m -> (sum_k e. (M...N)A = (sum_k e. (M...j)A + sum_k e. ((j + 1)...N)A) <-> sum_k e. (M...N)A = (sum_k e. (M...m)A + sum_k e. ((m + 1)...N)A)))
2214, 21imbi12d 628 . . . . . 6 |- (j = m -> ((((N e. ZZ /\ j < N) /\ A.k e. (M...N)A e. CC) -> sum_k e. (M...N)A = (sum_k e. (M...j)A + sum_k e. ((j + 1)...N)A)) <-> (((N e. ZZ /\ m < N) /\ A.k e. (M...N)A e. CC) -> sum_k e. (M...N)A = (sum_k e. (M...m)A + sum_k e. ((m + 1)...N)A))))
23 breq1 2672 . . . . . . . . 9 |- (j = (m + 1) -> (j < N <-> (m + 1) < N))
2423anbi2d 618 . . . . . . . 8 |- (j = (m + 1) -> ((N e. ZZ /\ j < N) <-> (N e. ZZ /\ (m + 1) < N)))
2524anbi1d 619 . . . . . . 7 |- (j = (m + 1) -> (((N e. ZZ /\ j < N) /\ A.k e. (M...N)A e. CC) <-> ((N e. ZZ /\ (m + 1) < N) /\ A.k e. (M...N)A e. CC)))
26 opreq2 4045 . . . . . . . . . 10 |- (j = (m + 1) -> (M...j) = (M...(m + 1)))
2726sumeq1d 7113 . . . . . . . . 9 |- (j = (m + 1) -> sum_k e. (M...j)A = sum_k e. (M...(m + 1))A)
28 opreq1 4044 . . . . . . . . . . 11 |- (j = (m + 1) -> (j + 1) = ((m + 1) + 1))
2928opreq1d 4051 . . . . . . . . . 10 |- (j = (m + 1) -> ((j + 1)...N) = (((m + 1) + 1)...N))
3029sumeq1d 7113 . . . . . . . . 9 |- (j = (m + 1) -> sum_k e. ((j + 1)...N)A = sum_k e. (((m + 1) + 1)...N)A)
3127, 30opreq12d 4054 . . . . . . . 8 |- (j = (m + 1) -> (sum_k e. (M...j)A + sum_k e. ((j + 1)...N)A) = (sum_k e. (M...(m + 1))A + sum_k e. (((m + 1) + 1)...N)A))
3231eqeq2d 1523 . . . . . . 7 |- (j = (m + 1) -> (sum_k e. (M...N)A = (sum_k e. (M...j)A + sum_k e. ((j + 1)...N)A) <-> sum_k e. (M...N)A = (sum_k e. (M...(m + 1))A + sum_k e. (((m + 1) + 1)...N)A)))
3325, 32imbi12d 628 . . . . . 6 |- (j = (m + 1) -> ((((N e. ZZ /\ j < N) /\ A.k e. (M...N)A e. CC) -> sum_k e. (M...N)A = (sum_k e. (M...j)A + sum_k e. ((j + 1)...N)A)) <-> (((N e. ZZ /\ (m + 1) < N) /\ A.k e. (M...N)A e. CC) -> sum_k e. (M...N)A = (sum_k e. (M...(m + 1))A + sum_k e. (((m + 1) + 1)...N)A))))
34 breq1 2672 . . . . . . . . 9 |- (j = K -> (j < N <-> K < N))
3534anbi2d 618 . . . . . . . 8 |- (j = K -> ((N e. ZZ /\ j < N) <-> (N e. ZZ /\ K < N)))
3635anbi1d 619 . . . . . . 7 |- (j = K -> (((N e. ZZ /\ j < N) /\ A.k e. (M...N)A e. CC) <-> ((N e. ZZ /\ K < N) /\ A.k e. (M...N)A e. CC)))
37 opreq2 4045 . . . . . . . . . 10 |- (j = K -> (M...j) = (M...K))
3837sumeq1d 7113 . . . . . . . . 9 |- (j = K -> sum_k e. (M...j)A = sum_k e. (M...K)A)
39 opreq1 4044 . . . . . . . . . . 11 |- (j = K -> (j + 1) = (K + 1))
4039opreq1d 4051 . . . . . . . . . 10 |- (j = K -> ((j + 1)...N) = ((K + 1)...N))
4140sumeq1d 7113 . . . . . . . . 9 |- (j = K -> sum_k e. ((j + 1)...N)A = sum_k e. ((K + 1)...N)A)
4238, 41opreq12d 4054 . . . . . . . 8 |- (j = K -> (sum_k e. (M...j)A + sum_k e. ((j + 1)...N)A) = (sum_k e. (M...K)A + sum_k e. ((K + 1)...N)A))
4342eqeq2d 1523 . . . . . . 7 |- (j = K -> (sum_k e. (M...N)A = (sum_k e. (M...j)A + sum_k e. ((j + 1)...N)A) <-> sum_k e. (M...N)A = (sum_k e. (M...K)A + sum_k e. ((K + 1)...N)A)))
4436, 43imbi12d 628 . . . . . 6 |- (j = K -> ((((N e. ZZ /\ j < N) /\ A.k e. (M...N)A e. CC) -> sum_k e. (M...N)A = (sum_k e. (M...j)A + sum_k e. ((j + 1)...N)A)) <-> (((N e. ZZ