Skip to content

Commit 23f1480

Browse files
authored
Refactor linear algebra to use "tuples" for what was "vectors" (#1397)
Addresses #1389.
1 parent afb5d78 commit 23f1480

File tree

76 files changed

+4884
-3971
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

76 files changed

+4884
-3971
lines changed

src/commutative-algebra/binomial-theorem-commutative-rings.lagda.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ open import foundation.homotopies
2121
open import foundation.identity-types
2222
open import foundation.universe-levels
2323
24-
open import linear-algebra.vectors-on-commutative-rings
24+
open import linear-algebra.finite-sequences-in-commutative-rings
2525
2626
open import ring-theory.binomial-theorem-rings
2727
@@ -50,7 +50,7 @@ The binomial theorem is the [44th](literature.100-theorems.md#44) theorem on
5050
```agda
5151
binomial-sum-Commutative-Ring :
5252
{l : Level} (A : Commutative-Ring l)
53-
(n : ℕ) (f : functional-vec-Commutative-Ring A (succ-ℕ n)) →
53+
(n : ℕ) (f : fin-sequence-type-Commutative-Ring A (succ-ℕ n)) →
5454
type-Commutative-Ring A
5555
binomial-sum-Commutative-Ring A = binomial-sum-Ring (ring-Commutative-Ring A)
5656
```
@@ -65,14 +65,14 @@ module _
6565
where
6666
6767
binomial-sum-one-element-Commutative-Ring :
68-
(f : functional-vec-Commutative-Ring A 1) →
68+
(f : fin-sequence-type-Commutative-Ring A 1) →
6969
binomial-sum-Commutative-Ring A 0 f =
70-
head-functional-vec-Commutative-Ring A 0 f
70+
head-fin-sequence-type-Commutative-Ring A 0 f
7171
binomial-sum-one-element-Commutative-Ring =
7272
binomial-sum-one-element-Ring (ring-Commutative-Ring A)
7373
7474
binomial-sum-two-elements-Commutative-Ring :
75-
(f : functional-vec-Commutative-Ring A 2) →
75+
(f : fin-sequence-type-Commutative-Ring A 2) →
7676
binomial-sum-Commutative-Ring A 1 f =
7777
add-Commutative-Ring A (f (zero-Fin 1)) (f (one-Fin 1))
7878
binomial-sum-two-elements-Commutative-Ring =
@@ -87,7 +87,7 @@ module _
8787
where
8888
8989
htpy-binomial-sum-Commutative-Ring :
90-
(n : ℕ) {f g : functional-vec-Commutative-Ring A (succ-ℕ n)} →
90+
(n : ℕ) {f g : fin-sequence-type-Commutative-Ring A (succ-ℕ n)} →
9191
(f ~ g) →
9292
binomial-sum-Commutative-Ring A n f = binomial-sum-Commutative-Ring A n g
9393
htpy-binomial-sum-Commutative-Ring =
@@ -103,14 +103,14 @@ module _
103103
104104
left-distributive-mul-binomial-sum-Commutative-Ring :
105105
(n : ℕ) (x : type-Commutative-Ring A)
106-
(f : functional-vec-Commutative-Ring A (succ-ℕ n)) →
106+
(f : fin-sequence-type-Commutative-Ring A (succ-ℕ n)) →
107107
mul-Commutative-Ring A x (binomial-sum-Commutative-Ring A n f) =
108108
binomial-sum-Commutative-Ring A n (λ i → mul-Commutative-Ring A x (f i))
109109
left-distributive-mul-binomial-sum-Commutative-Ring =
110110
left-distributive-mul-binomial-sum-Ring (ring-Commutative-Ring A)
111111
112112
right-distributive-mul-binomial-sum-Commutative-Ring :
113-
(n : ℕ) (f : functional-vec-Commutative-Ring A (succ-ℕ n)) →
113+
(n : ℕ) (f : fin-sequence-type-Commutative-Ring A (succ-ℕ n)) →
114114
(x : type-Commutative-Ring A) →
115115
mul-Commutative-Ring A (binomial-sum-Commutative-Ring A n f) x =
116116
binomial-sum-Commutative-Ring A n (λ i → mul-Commutative-Ring A (f i) x)

src/commutative-algebra/binomial-theorem-commutative-semirings.lagda.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ open import foundation.homotopies
2020
open import foundation.identity-types
2121
open import foundation.universe-levels
2222
23-
open import linear-algebra.vectors-on-commutative-semirings
23+
open import linear-algebra.finite-sequences-in-commutative-semirings
2424
2525
open import ring-theory.binomial-theorem-semirings
2626
@@ -50,7 +50,7 @@ The binomial theorem is the [44th](literature.100-theorems.md#44) theorem on
5050
```agda
5151
binomial-sum-Commutative-Semiring :
5252
{l : Level} (A : Commutative-Semiring l)
53-
(n : ℕ) (f : functional-vec-Commutative-Semiring A (succ-ℕ n)) →
53+
(n : ℕ) (f : fin-sequence-type-Commutative-Semiring A (succ-ℕ n)) →
5454
type-Commutative-Semiring A
5555
binomial-sum-Commutative-Semiring A =
5656
binomial-sum-Semiring (semiring-Commutative-Semiring A)
@@ -66,14 +66,14 @@ module _
6666
where
6767
6868
binomial-sum-one-element-Commutative-Semiring :
69-
(f : functional-vec-Commutative-Semiring A 1) →
69+
(f : fin-sequence-type-Commutative-Semiring A 1) →
7070
binomial-sum-Commutative-Semiring A 0 f =
71-
head-functional-vec-Commutative-Semiring A 0 f
71+
head-fin-sequence-type-Commutative-Semiring A 0 f
7272
binomial-sum-one-element-Commutative-Semiring =
7373
binomial-sum-one-element-Semiring (semiring-Commutative-Semiring A)
7474
7575
binomial-sum-two-elements-Commutative-Semiring :
76-
(f : functional-vec-Commutative-Semiring A 2) →
76+
(f : fin-sequence-type-Commutative-Semiring A 2) →
7777
binomial-sum-Commutative-Semiring A 1 f =
7878
add-Commutative-Semiring A (f (zero-Fin 1)) (f (one-Fin 1))
7979
binomial-sum-two-elements-Commutative-Semiring =
@@ -88,7 +88,7 @@ module _
8888
where
8989
9090
htpy-binomial-sum-Commutative-Semiring :
91-
(n : ℕ) {f g : functional-vec-Commutative-Semiring A (succ-ℕ n)} →
91+
(n : ℕ) {f g : fin-sequence-type-Commutative-Semiring A (succ-ℕ n)} →
9292
(f ~ g) →
9393
binomial-sum-Commutative-Semiring A n f =
9494
binomial-sum-Commutative-Semiring A n g
@@ -105,7 +105,7 @@ module _
105105
106106
left-distributive-mul-binomial-sum-Commutative-Semiring :
107107
(n : ℕ) (x : type-Commutative-Semiring A)
108-
(f : functional-vec-Commutative-Semiring A (succ-ℕ n)) →
108+
(f : fin-sequence-type-Commutative-Semiring A (succ-ℕ n)) →
109109
mul-Commutative-Semiring A x (binomial-sum-Commutative-Semiring A n f) =
110110
binomial-sum-Commutative-Semiring A n
111111
( λ i → mul-Commutative-Semiring A x (f i))
@@ -114,7 +114,7 @@ module _
114114
( semiring-Commutative-Semiring A)
115115
116116
right-distributive-mul-binomial-sum-Commutative-Semiring :
117-
(n : ℕ) (f : functional-vec-Commutative-Semiring A (succ-ℕ n)) →
117+
(n : ℕ) (f : fin-sequence-type-Commutative-Semiring A (succ-ℕ n)) →
118118
(x : type-Commutative-Semiring A) →
119119
mul-Commutative-Semiring A (binomial-sum-Commutative-Semiring A n f) x =
120120
binomial-sum-Commutative-Semiring A n

src/commutative-algebra/sums-commutative-rings.lagda.md

Lines changed: 27 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,9 @@ open import foundation.identity-types
2020
open import foundation.unit-type
2121
open import foundation.universe-levels
2222
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
2526
2627
open import ring-theory.sums-rings
2728
@@ -34,14 +35,14 @@ open import univalent-combinatorics.standard-finite-types
3435
## Idea
3536

3637
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`.
3839

3940
## Definition
4041

4142
```agda
4243
sum-Commutative-Ring :
4344
{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
4546
sum-Commutative-Ring A = sum-Ring (ring-Commutative-Ring A)
4647
```
4748

@@ -55,13 +56,13 @@ module _
5556
where
5657
5758
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
6061
sum-one-element-Commutative-Ring =
6162
sum-one-element-Ring (ring-Commutative-Ring A)
6263
6364
sum-two-elements-Commutative-Ring :
64-
(f : functional-vec-Commutative-Ring A 2) →
65+
(f : fin-sequence-type-Commutative-Ring A 2) →
6566
sum-Commutative-Ring A 2 f =
6667
add-Commutative-Ring A (f (zero-Fin 1)) (f (one-Fin 1))
6768
sum-two-elements-Commutative-Ring =
@@ -76,7 +77,7 @@ module _
7677
where
7778
7879
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} →
8081
(f ~ g) → sum-Commutative-Ring A n f = sum-Commutative-Ring A n g
8182
htpy-sum-Commutative-Ring = htpy-sum-Ring (ring-Commutative-Ring A)
8283
```
@@ -89,15 +90,15 @@ module _
8990
where
9091
9192
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 →
9495
sum-Commutative-Ring A (succ-ℕ n) f =
9596
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
9798
cons-sum-Commutative-Ring = cons-sum-Ring (ring-Commutative-Ring A)
9899
99100
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)) →
101102
{x : type-Commutative-Ring A} → f (zero-Fin n) = x →
102103
sum-Commutative-Ring A (succ-ℕ n) f =
103104
add-Commutative-Ring A
@@ -115,14 +116,14 @@ module _
115116
116117
left-distributive-mul-sum-Commutative-Ring :
117118
(n : ℕ) (x : type-Commutative-Ring A)
118-
(f : functional-vec-Commutative-Ring A n) →
119+
(f : fin-sequence-type-Commutative-Ring A n) →
119120
mul-Commutative-Ring A x (sum-Commutative-Ring A n f) =
120121
sum-Commutative-Ring A n (λ i → mul-Commutative-Ring A x (f i))
121122
left-distributive-mul-sum-Commutative-Ring =
122123
left-distributive-mul-sum-Ring (ring-Commutative-Ring A)
123124
124125
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)
126127
(x : type-Commutative-Ring A) →
127128
mul-Commutative-Ring A (sum-Commutative-Ring A n f) x =
128129
sum-Commutative-Ring A n (λ i → mul-Commutative-Ring A (f i) x)
@@ -138,12 +139,12 @@ module _
138139
where
139140
140141
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) →
142143
add-Commutative-Ring A
143144
( sum-Commutative-Ring A n f)
144145
( sum-Commutative-Ring A n g) =
145146
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)
147148
interchange-add-sum-Commutative-Ring =
148149
interchange-add-sum-Ring (ring-Commutative-Ring A)
149150
```
@@ -156,10 +157,14 @@ module _
156157
where
157158
158159
extend-sum-Commutative-Ring :
159-
(n : ℕ) (f : functional-vec-Commutative-Ring A n) →
160+
(n : ℕ) (f : fin-sequence-type-Commutative-Ring A n) →
160161
sum-Commutative-Ring A
161162
( 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)) =
163168
sum-Commutative-Ring A n f
164169
extend-sum-Commutative-Ring = extend-sum-Ring (ring-Commutative-Ring A)
165170
```
@@ -172,10 +177,10 @@ module _
172177
where
173178
174179
shift-sum-Commutative-Ring :
175-
(n : ℕ) (f : functional-vec-Commutative-Ring A n) →
180+
(n : ℕ) (f : fin-sequence-type-Commutative-Ring A n) →
176181
sum-Commutative-Ring A
177182
( succ-ℕ n)
178-
( snoc-functional-vec-Commutative-Ring A n f
183+
( snoc-fin-sequence-type-Commutative-Ring A n f
179184
( zero-Commutative-Ring A)) =
180185
sum-Commutative-Ring A n f
181186
shift-sum-Commutative-Ring = shift-sum-Ring (ring-Commutative-Ring A)
@@ -186,7 +191,7 @@ module _
186191
```agda
187192
split-sum-Commutative-Ring :
188193
{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)) →
190195
sum-Commutative-Ring A (n +ℕ m) f =
191196
add-Commutative-Ring A
192197
( sum-Commutative-Ring A n (f ∘ inl-coproduct-Fin n m))
@@ -210,7 +215,7 @@ module _
210215
sum-zero-Commutative-Ring :
211216
(n : ℕ) →
212217
sum-Commutative-Ring A n
213-
( zero-functional-vec-Commutative-Ring A n) =
218+
( zero-fin-sequence-type-Commutative-Ring A n) =
214219
zero-Commutative-Ring A
215220
sum-zero-Commutative-Ring = sum-zero-Ring (ring-Commutative-Ring A)
216221
```

0 commit comments

Comments
 (0)