You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Rename inject+ and raise to left and right infix addition #1589 (#1592)
* committed changes as per Issue \#1589
* changes in line with Matthew and Jacques's comments; new lemma added
* fixed whitespace
* deprecated code, commented out, now removed entirely; types retained for documentation/argument order shenanigans
* added new proof to Data.vec.properties
* Update CHANGELOG.md
Added new proof to `Data.Vec.Properties`
* added fixities
Copy file name to clipboardExpand all lines: CHANGELOG.md
+23Lines changed: 23 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -335,6 +335,28 @@ Deprecated names
335
335
sym-↔ ↦ ↔-sym
336
336
```
337
337
338
+
* In `Data.Fin.Base`:
339
+
two new, hopefully more memorable, names `↑ˡ``↑ʳ` for the 'left', resp. 'right' injection of a Fin m into a 'larger' type, `Fin (m + n)`, resp. `Fin (n + m)`, with argument order to reflect the position of the Fin m argument.
340
+
```
341
+
inject+ ↦ flip _↑ˡ_
342
+
raise ↦ _↑ʳ_
343
+
```
344
+
345
+
* In `Data.Fin.Properties`:
346
+
```
347
+
toℕ-raise ↦ toℕ-↑ʳ
348
+
toℕ-inject+ n i ↦ sym (toℕ-↑ˡ i n)
349
+
splitAt-inject+ m n i ↦ splitAt-↑ˡ m i n
350
+
splitAt-raise ↦ splitAt-↑ʳ
351
+
```
352
+
353
+
* In `Data.Vec.Properties`:
354
+
```
355
+
[]≔-++-inject+ ↦ []≔-++-↑ˡ
356
+
```
357
+
Additionally, `[]≔-++-↑ʳ`, by analogy.
358
+
359
+
338
360
New modules
339
361
-----------
340
362
@@ -518,6 +540,7 @@ Other minor changes
518
540
map-⊛ : ∀ {n} (f : A → B → C) (g : A → B) (xs : Vec A n) → (map f xs ⊛ map g xs) ≡ map (f ˢ g) xs
519
541
⊛-is->>= : ∀ {n} (fs : Vec (A → B) n) (xs : Vec A n) → (fs ⊛ xs) ≡ (fs DiagonalBind.>>= flip map xs)
0 commit comments