This is an inofficial mirror of http://metamath.tirix.org for personal testing of a visualizer extension only.
Description: Closure of a group sum in a non-commutative monoid. (Contributed by Thierry Arnoux, 8-Oct-2018)
| Ref | Expression | ||
|---|---|---|---|
| Hypotheses | gsumncl.k | ⊢ 𝐾 = ( Base ‘ 𝑀 ) | |
| gsumncl.w | ⊢ ( 𝜑 → 𝑀 ∈ Mnd ) | ||
| gsumncl.p | ⊢ ( 𝜑 → 𝑃 ∈ ( ℤ≥ ‘ 𝑁 ) ) | ||
| gsumncl.b | ⊢ ( ( 𝜑 ∧ 𝑘 ∈ ( 𝑁 ... 𝑃 ) ) → 𝐵 ∈ 𝐾 ) | ||
| gsumnunsn.a | ⊢ + = ( +g ‘ 𝑀 ) | ||
| gsumnunsn.l | ⊢ ( 𝜑 → 𝐶 ∈ 𝐾 ) | ||
| gsumnunsn.c | ⊢ ( ( 𝜑 ∧ 𝑘 = ( 𝑃 + 1 ) ) → 𝐵 = 𝐶 ) | ||
| Assertion | gsumnunsn | ⊢ ( 𝜑 → ( 𝑀 Σg ( 𝑘 ∈ ( 𝑁 ... ( 𝑃 + 1 ) ) ↦ 𝐵 ) ) = ( ( 𝑀 Σg ( 𝑘 ∈ ( 𝑁 ... 𝑃 ) ↦ 𝐵 ) ) + 𝐶 ) ) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | gsumncl.k | ⊢ 𝐾 = ( Base ‘ 𝑀 ) | |
| 2 | gsumncl.w | ⊢ ( 𝜑 → 𝑀 ∈ Mnd ) | |
| 3 | gsumncl.p | ⊢ ( 𝜑 → 𝑃 ∈ ( ℤ≥ ‘ 𝑁 ) ) | |
| 4 | gsumncl.b | ⊢ ( ( 𝜑 ∧ 𝑘 ∈ ( 𝑁 ... 𝑃 ) ) → 𝐵 ∈ 𝐾 ) | |
| 5 | gsumnunsn.a | ⊢ + = ( +g ‘ 𝑀 ) | |
| 6 | gsumnunsn.l | ⊢ ( 𝜑 → 𝐶 ∈ 𝐾 ) | |
| 7 | gsumnunsn.c | ⊢ ( ( 𝜑 ∧ 𝑘 = ( 𝑃 + 1 ) ) → 𝐵 = 𝐶 ) | |
| 8 | seqp1 | ⊢ ( 𝑃 ∈ ( ℤ≥ ‘ 𝑁 ) → ( seq 𝑁 ( + , ( 𝑘 ∈ ( 𝑁 ... ( 𝑃 + 1 ) ) ↦ 𝐵 ) ) ‘ ( 𝑃 + 1 ) ) = ( ( seq 𝑁 ( + , ( 𝑘 ∈ ( 𝑁 ... ( 𝑃 + 1 ) ) ↦ 𝐵 ) ) ‘ 𝑃 ) + ( ( 𝑘 ∈ ( 𝑁 ... ( 𝑃 + 1 ) ) ↦ 𝐵 ) ‘ ( 𝑃 + 1 ) ) ) ) | |
| 9 | 3 8 | syl | ⊢ ( 𝜑 → ( seq 𝑁 ( + , ( 𝑘 ∈ ( 𝑁 ... ( 𝑃 + 1 ) ) ↦ 𝐵 ) ) ‘ ( 𝑃 + 1 ) ) = ( ( seq 𝑁 ( + , ( 𝑘 ∈ ( 𝑁 ... ( 𝑃 + 1 ) ) ↦ 𝐵 ) ) ‘ 𝑃 ) + ( ( 𝑘 ∈ ( 𝑁 ... ( 𝑃 + 1 ) ) ↦ 𝐵 ) ‘ ( 𝑃 + 1 ) ) ) ) |
| 10 | peano2uz | ⊢ ( 𝑃 ∈ ( ℤ≥ ‘ 𝑁 ) → ( 𝑃 + 1 ) ∈ ( ℤ≥ ‘ 𝑁 ) ) | |
| 11 | 3 10 | syl | ⊢ ( 𝜑 → ( 𝑃 + 1 ) ∈ ( ℤ≥ ‘ 𝑁 ) ) |
| 12 | 4 | adantlr | ⊢ ( ( ( 𝜑 ∧ 𝑘 ∈ ( 𝑁 ... ( 𝑃 + 1 ) ) ) ∧ 𝑘 ∈ ( 𝑁 ... 𝑃 ) ) → 𝐵 ∈ 𝐾 ) |
| 13 | 7 | adantlr | ⊢ ( ( ( 𝜑 ∧ 𝑘 ∈ ( 𝑁 ... ( 𝑃 + 1 ) ) ) ∧ 𝑘 = ( 𝑃 + 1 ) ) → 𝐵 = 𝐶 ) |
| 14 | 6 | ad2antrr | ⊢ ( ( ( 𝜑 ∧ 𝑘 ∈ ( 𝑁 ... ( 𝑃 + 1 ) ) ) ∧ 𝑘 = ( 𝑃 + 1 ) ) → 𝐶 ∈ 𝐾 ) |
| 15 | 13 14 | eqeltrd | ⊢ ( ( ( 𝜑 ∧ 𝑘 ∈ ( 𝑁 ... ( 𝑃 + 1 ) ) ) ∧ 𝑘 = ( 𝑃 + 1 ) ) → 𝐵 ∈ 𝐾 ) |
| 16 | elfzp1 | ⊢ ( 𝑃 ∈ ( ℤ≥ ‘ 𝑁 ) → ( 𝑘 ∈ ( 𝑁 ... ( 𝑃 + 1 ) ) ↔ ( 𝑘 ∈ ( 𝑁 ... 𝑃 ) ∨ 𝑘 = ( 𝑃 + 1 ) ) ) ) | |
| 17 | 3 16 | syl | ⊢ ( 𝜑 → ( 𝑘 ∈ ( 𝑁 ... ( 𝑃 + 1 ) ) ↔ ( 𝑘 ∈ ( 𝑁 ... 𝑃 ) ∨ 𝑘 = ( 𝑃 + 1 ) ) ) ) |
| 18 | 17 | biimpa | ⊢ ( ( 𝜑 ∧ 𝑘 ∈ ( 𝑁 ... ( 𝑃 + 1 ) ) ) → ( 𝑘 ∈ ( 𝑁 ... 𝑃 ) ∨ 𝑘 = ( 𝑃 + 1 ) ) ) |
| 19 | 12 15 18 | mpjaodan | ⊢ ( ( 𝜑 ∧ 𝑘 ∈ ( 𝑁 ... ( 𝑃 + 1 ) ) ) → 𝐵 ∈ 𝐾 ) |
| 20 | 19 | fmpttd | ⊢ ( 𝜑 → ( 𝑘 ∈ ( 𝑁 ... ( 𝑃 + 1 ) ) ↦ 𝐵 ) : ( 𝑁 ... ( 𝑃 + 1 ) ) ⟶ 𝐾 ) |
| 21 | 1 5 2 11 20 | gsumval2 | ⊢ ( 𝜑 → ( 𝑀 Σg ( 𝑘 ∈ ( 𝑁 ... ( 𝑃 + 1 ) ) ↦ 𝐵 ) ) = ( seq 𝑁 ( + , ( 𝑘 ∈ ( 𝑁 ... ( 𝑃 + 1 ) ) ↦ 𝐵 ) ) ‘ ( 𝑃 + 1 ) ) ) |
| 22 | 4 | fmpttd | ⊢ ( 𝜑 → ( 𝑘 ∈ ( 𝑁 ... 𝑃 ) ↦ 𝐵 ) : ( 𝑁 ... 𝑃 ) ⟶ 𝐾 ) |
| 23 | 1 5 2 3 22 | gsumval2 | ⊢ ( 𝜑 → ( 𝑀 Σg ( 𝑘 ∈ ( 𝑁 ... 𝑃 ) ↦ 𝐵 ) ) = ( seq 𝑁 ( + , ( 𝑘 ∈ ( 𝑁 ... 𝑃 ) ↦ 𝐵 ) ) ‘ 𝑃 ) ) |
| 24 | fvres | ⊢ ( 𝑖 ∈ ( 𝑁 ... 𝑃 ) → ( ( ( 𝑘 ∈ ( 𝑁 ... ( 𝑃 + 1 ) ) ↦ 𝐵 ) ↾ ( 𝑁 ... 𝑃 ) ) ‘ 𝑖 ) = ( ( 𝑘 ∈ ( 𝑁 ... ( 𝑃 + 1 ) ) ↦ 𝐵 ) ‘ 𝑖 ) ) | |
| 25 | 24 | adantl | ⊢ ( ( 𝜑 ∧ 𝑖 ∈ ( 𝑁 ... 𝑃 ) ) → ( ( ( 𝑘 ∈ ( 𝑁 ... ( 𝑃 + 1 ) ) ↦ 𝐵 ) ↾ ( 𝑁 ... 𝑃 ) ) ‘ 𝑖 ) = ( ( 𝑘 ∈ ( 𝑁 ... ( 𝑃 + 1 ) ) ↦ 𝐵 ) ‘ 𝑖 ) ) |
| 26 | fzssp1 | ⊢ ( 𝑁 ... 𝑃 ) ⊆ ( 𝑁 ... ( 𝑃 + 1 ) ) | |
| 27 | resmpt | ⊢ ( ( 𝑁 ... 𝑃 ) ⊆ ( 𝑁 ... ( 𝑃 + 1 ) ) → ( ( 𝑘 ∈ ( 𝑁 ... ( 𝑃 + 1 ) ) ↦ 𝐵 ) ↾ ( 𝑁 ... 𝑃 ) ) = ( 𝑘 ∈ ( 𝑁 ... 𝑃 ) ↦ 𝐵 ) ) | |
| 28 | 26 27 | ax-mp | ⊢ ( ( 𝑘 ∈ ( 𝑁 ... ( 𝑃 + 1 ) ) ↦ 𝐵 ) ↾ ( 𝑁 ... 𝑃 ) ) = ( 𝑘 ∈ ( 𝑁 ... 𝑃 ) ↦ 𝐵 ) |
| 29 | 28 | fveq1i | ⊢ ( ( ( 𝑘 ∈ ( 𝑁 ... ( 𝑃 + 1 ) ) ↦ 𝐵 ) ↾ ( 𝑁 ... 𝑃 ) ) ‘ 𝑖 ) = ( ( 𝑘 ∈ ( 𝑁 ... 𝑃 ) ↦ 𝐵 ) ‘ 𝑖 ) |
| 30 | 25 29 | eqtr3di | ⊢ ( ( 𝜑 ∧ 𝑖 ∈ ( 𝑁 ... 𝑃 ) ) → ( ( 𝑘 ∈ ( 𝑁 ... ( 𝑃 + 1 ) ) ↦ 𝐵 ) ‘ 𝑖 ) = ( ( 𝑘 ∈ ( 𝑁 ... 𝑃 ) ↦ 𝐵 ) ‘ 𝑖 ) ) |
| 31 | 3 30 | seqfveq | ⊢ ( 𝜑 → ( seq 𝑁 ( + , ( 𝑘 ∈ ( 𝑁 ... ( 𝑃 + 1 ) ) ↦ 𝐵 ) ) ‘ 𝑃 ) = ( seq 𝑁 ( + , ( 𝑘 ∈ ( 𝑁 ... 𝑃 ) ↦ 𝐵 ) ) ‘ 𝑃 ) ) |
| 32 | 23 31 | eqtr4d | ⊢ ( 𝜑 → ( 𝑀 Σg ( 𝑘 ∈ ( 𝑁 ... 𝑃 ) ↦ 𝐵 ) ) = ( seq 𝑁 ( + , ( 𝑘 ∈ ( 𝑁 ... ( 𝑃 + 1 ) ) ↦ 𝐵 ) ) ‘ 𝑃 ) ) |
| 33 | eqidd | ⊢ ( 𝜑 → ( 𝑘 ∈ ( 𝑁 ... ( 𝑃 + 1 ) ) ↦ 𝐵 ) = ( 𝑘 ∈ ( 𝑁 ... ( 𝑃 + 1 ) ) ↦ 𝐵 ) ) | |
| 34 | eluzfz2 | ⊢ ( ( 𝑃 + 1 ) ∈ ( ℤ≥ ‘ 𝑁 ) → ( 𝑃 + 1 ) ∈ ( 𝑁 ... ( 𝑃 + 1 ) ) ) | |
| 35 | 11 34 | syl | ⊢ ( 𝜑 → ( 𝑃 + 1 ) ∈ ( 𝑁 ... ( 𝑃 + 1 ) ) ) |
| 36 | 33 7 35 6 | fvmptd | ⊢ ( 𝜑 → ( ( 𝑘 ∈ ( 𝑁 ... ( 𝑃 + 1 ) ) ↦ 𝐵 ) ‘ ( 𝑃 + 1 ) ) = 𝐶 ) |
| 37 | 36 | eqcomd | ⊢ ( 𝜑 → 𝐶 = ( ( 𝑘 ∈ ( 𝑁 ... ( 𝑃 + 1 ) ) ↦ 𝐵 ) ‘ ( 𝑃 + 1 ) ) ) |
| 38 | 32 37 | oveq12d | ⊢ ( 𝜑 → ( ( 𝑀 Σg ( 𝑘 ∈ ( 𝑁 ... 𝑃 ) ↦ 𝐵 ) ) + 𝐶 ) = ( ( seq 𝑁 ( + , ( 𝑘 ∈ ( 𝑁 ... ( 𝑃 + 1 ) ) ↦ 𝐵 ) ) ‘ 𝑃 ) + ( ( 𝑘 ∈ ( 𝑁 ... ( 𝑃 + 1 ) ) ↦ 𝐵 ) ‘ ( 𝑃 + 1 ) ) ) ) |
| 39 | 9 21 38 | 3eqtr4d | ⊢ ( 𝜑 → ( 𝑀 Σg ( 𝑘 ∈ ( 𝑁 ... ( 𝑃 + 1 ) ) ↦ 𝐵 ) ) = ( ( 𝑀 Σg ( 𝑘 ∈ ( 𝑁 ... 𝑃 ) ↦ 𝐵 ) ) + 𝐶 ) ) |