@@ -20,8 +20,9 @@ open import foundation.identity-types
20
20
open import foundation.unit-type
21
21
open import foundation.universe-levels
22
22
23
- open import linear-algebra.vectors
24
- open import linear-algebra.vectors-on-commutative-rings
23
+ open import linear-algebra.finite-sequences-in-commutative-rings
24
+
25
+ open import lists.finite-sequences
25
26
26
27
open import ring-theory.sums-rings
27
28
@@ -34,14 +35,14 @@ open import univalent-combinatorics.standard-finite-types
34
35
## Idea
35
36
36
37
The ** sum operation** extends the binary addition operation on a commutative
37
- ring ` A ` to any family of elements of ` A ` indexed by a standard finite type .
38
+ ring ` A ` to any [ finite sequence ] ( lists.finite-sequences.md ) of elements of ` A ` .
38
39
39
40
## Definition
40
41
41
42
``` agda
42
43
sum-Commutative-Ring :
43
44
{l : Level} (A : Commutative-Ring l) (n : ℕ) →
44
- (functional-vec -Commutative-Ring A n) → type-Commutative-Ring A
45
+ (fin-sequence-type -Commutative-Ring A n) → type-Commutative-Ring A
45
46
sum-Commutative-Ring A = sum-Ring (ring-Commutative-Ring A)
46
47
```
47
48
@@ -55,13 +56,13 @@ module _
55
56
where
56
57
57
58
sum-one-element-Commutative-Ring :
58
- (f : functional-vec -Commutative-Ring A 1) →
59
- sum-Commutative-Ring A 1 f = head-functional-vec 0 f
59
+ (f : fin-sequence-type -Commutative-Ring A 1) →
60
+ sum-Commutative-Ring A 1 f = head-fin-sequence 0 f
60
61
sum-one-element-Commutative-Ring =
61
62
sum-one-element-Ring (ring-Commutative-Ring A)
62
63
63
64
sum-two-elements-Commutative-Ring :
64
- (f : functional-vec -Commutative-Ring A 2) →
65
+ (f : fin-sequence-type -Commutative-Ring A 2) →
65
66
sum-Commutative-Ring A 2 f =
66
67
add-Commutative-Ring A (f (zero-Fin 1)) (f (one-Fin 1))
67
68
sum-two-elements-Commutative-Ring =
@@ -76,7 +77,7 @@ module _
76
77
where
77
78
78
79
htpy-sum-Commutative-Ring :
79
- (n : ℕ) {f g : functional-vec -Commutative-Ring A n} →
80
+ (n : ℕ) {f g : fin-sequence-type -Commutative-Ring A n} →
80
81
(f ~ g) → sum-Commutative-Ring A n f = sum-Commutative-Ring A n g
81
82
htpy-sum-Commutative-Ring = htpy-sum-Ring (ring-Commutative-Ring A)
82
83
```
@@ -89,15 +90,15 @@ module _
89
90
where
90
91
91
92
cons-sum-Commutative-Ring :
92
- (n : ℕ) (f : functional-vec -Commutative-Ring A (succ-ℕ n)) →
93
- {x : type-Commutative-Ring A} → head-functional-vec n f = x →
93
+ (n : ℕ) (f : fin-sequence-type -Commutative-Ring A (succ-ℕ n)) →
94
+ {x : type-Commutative-Ring A} → head-fin-sequence n f = x →
94
95
sum-Commutative-Ring A (succ-ℕ n) f =
95
96
add-Commutative-Ring A
96
- ( sum-Commutative-Ring A n (tail-functional-vec n f)) x
97
+ ( sum-Commutative-Ring A n (tail-fin-sequence n f)) x
97
98
cons-sum-Commutative-Ring = cons-sum-Ring (ring-Commutative-Ring A)
98
99
99
100
snoc-sum-Commutative-Ring :
100
- (n : ℕ) (f : functional-vec -Commutative-Ring A (succ-ℕ n)) →
101
+ (n : ℕ) (f : fin-sequence-type -Commutative-Ring A (succ-ℕ n)) →
101
102
{x : type-Commutative-Ring A} → f (zero-Fin n) = x →
102
103
sum-Commutative-Ring A (succ-ℕ n) f =
103
104
add-Commutative-Ring A
@@ -115,14 +116,14 @@ module _
115
116
116
117
left-distributive-mul-sum-Commutative-Ring :
117
118
(n : ℕ) (x : type-Commutative-Ring A)
118
- (f : functional-vec -Commutative-Ring A n) →
119
+ (f : fin-sequence-type -Commutative-Ring A n) →
119
120
mul-Commutative-Ring A x (sum-Commutative-Ring A n f) =
120
121
sum-Commutative-Ring A n (λ i → mul-Commutative-Ring A x (f i))
121
122
left-distributive-mul-sum-Commutative-Ring =
122
123
left-distributive-mul-sum-Ring (ring-Commutative-Ring A)
123
124
124
125
right-distributive-mul-sum-Commutative-Ring :
125
- (n : ℕ) (f : functional-vec -Commutative-Ring A n)
126
+ (n : ℕ) (f : fin-sequence-type -Commutative-Ring A n)
126
127
(x : type-Commutative-Ring A) →
127
128
mul-Commutative-Ring A (sum-Commutative-Ring A n f) x =
128
129
sum-Commutative-Ring A n (λ i → mul-Commutative-Ring A (f i) x)
@@ -138,12 +139,12 @@ module _
138
139
where
139
140
140
141
interchange-add-sum-Commutative-Ring :
141
- (n : ℕ) (f g : functional-vec -Commutative-Ring A n) →
142
+ (n : ℕ) (f g : fin-sequence-type -Commutative-Ring A n) →
142
143
add-Commutative-Ring A
143
144
( sum-Commutative-Ring A n f)
144
145
( sum-Commutative-Ring A n g) =
145
146
sum-Commutative-Ring A n
146
- ( add-functional-vec -Commutative-Ring A n f g)
147
+ ( add-fin-sequence-type -Commutative-Ring A n f g)
147
148
interchange-add-sum-Commutative-Ring =
148
149
interchange-add-sum-Ring (ring-Commutative-Ring A)
149
150
```
@@ -156,10 +157,14 @@ module _
156
157
where
157
158
158
159
extend-sum-Commutative-Ring :
159
- (n : ℕ) (f : functional-vec -Commutative-Ring A n) →
160
+ (n : ℕ) (f : fin-sequence-type -Commutative-Ring A n) →
160
161
sum-Commutative-Ring A
161
162
( succ-ℕ n)
162
- ( cons-functional-vec-Commutative-Ring A n (zero-Commutative-Ring A) f) =
163
+ ( cons-fin-sequence-type-Commutative-Ring
164
+ ( A)
165
+ ( n)
166
+ ( zero-Commutative-Ring A)
167
+ ( f)) =
163
168
sum-Commutative-Ring A n f
164
169
extend-sum-Commutative-Ring = extend-sum-Ring (ring-Commutative-Ring A)
165
170
```
@@ -172,10 +177,10 @@ module _
172
177
where
173
178
174
179
shift-sum-Commutative-Ring :
175
- (n : ℕ) (f : functional-vec -Commutative-Ring A n) →
180
+ (n : ℕ) (f : fin-sequence-type -Commutative-Ring A n) →
176
181
sum-Commutative-Ring A
177
182
( succ-ℕ n)
178
- ( snoc-functional-vec -Commutative-Ring A n f
183
+ ( snoc-fin-sequence-type -Commutative-Ring A n f
179
184
( zero-Commutative-Ring A)) =
180
185
sum-Commutative-Ring A n f
181
186
shift-sum-Commutative-Ring = shift-sum-Ring (ring-Commutative-Ring A)
@@ -186,7 +191,7 @@ module _
186
191
``` agda
187
192
split-sum-Commutative-Ring :
188
193
{l : Level} (A : Commutative-Ring l)
189
- (n m : ℕ) (f : functional-vec -Commutative-Ring A (n +ℕ m)) →
194
+ (n m : ℕ) (f : fin-sequence-type -Commutative-Ring A (n +ℕ m)) →
190
195
sum-Commutative-Ring A (n +ℕ m) f =
191
196
add-Commutative-Ring A
192
197
( sum-Commutative-Ring A n (f ∘ inl-coproduct-Fin n m))
@@ -210,7 +215,7 @@ module _
210
215
sum-zero-Commutative-Ring :
211
216
(n : ℕ) →
212
217
sum-Commutative-Ring A n
213
- ( zero-functional-vec -Commutative-Ring A n) =
218
+ ( zero-fin-sequence-type -Commutative-Ring A n) =
214
219
zero-Commutative-Ring A
215
220
sum-zero-Commutative-Ring = sum-zero-Ring (ring-Commutative-Ring A)
216
221
```
0 commit comments