Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

The free Magma on a Set, resp. Setoid #1954

Closed
wants to merge 40 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
0adbbe8
introduced alternative definitions; revised one usage of previous one
jamesmckinna Apr 22, 2023
b62ef81
deprecated field name (NB tricky)
jamesmckinna Apr 22, 2023
8993f59
installed new definition
jamesmckinna Apr 22, 2023
7f09808
removed old definition; tidied up
jamesmckinna Apr 22, 2023
221ac92
`CHANGELOG` plus portable definition of the `proof` projection
jamesmckinna Apr 22, 2023
5935db4
`CHANGELOG`
jamesmckinna Apr 22, 2023
829ddd5
more explicit deprecation warning
jamesmckinna Apr 22, 2023
e9c7170
typo in `CHANGELOG`
jamesmckinna Apr 23, 2023
824dce6
exchnaged repeated recursive for a nested irrefutbale `with` pattern
jamesmckinna Apr 23, 2023
dbfb5a7
Merge branch 'issue1919' of https://github.com/jamesmckinna/agda-stdl…
jamesmckinna Apr 23, 2023
61ef3f0
Revert "Merge branch 'issue1919' of https://github.com/jamesmckinna/a…
jamesmckinna Apr 23, 2023
693270e
Revert "exchnaged repeated recursive for a nested irrefutbale `with` …
jamesmckinna Apr 23, 2023
f120c1e
tweaks
jamesmckinna Apr 25, 2023
887e652
The free `Magma` on a `Set`, resp. `Setoid`
jamesmckinna Apr 27, 2023
60d912b
proof of uniquness of the `eval` homomorphism
jamesmckinna Apr 27, 2023
c994ceb
functoriality of `map`
jamesmckinna Apr 28, 2023
8da3c1c
tidying up
jamesmckinna Apr 28, 2023
9458ae2
notational tidying up
jamesmckinna Apr 28, 2023
7d63a62
fix-whitespace
jamesmckinna Apr 28, 2023
4c4e152
tweak notation
jamesmckinna Apr 28, 2023
4492833
tweak notation a bit more; add comments
jamesmckinna Apr 28, 2023
86ba471
moved `Set` construction up
jamesmckinna Apr 28, 2023
5d9bb28
added `algᴹ-isMagmaHomomorphism`
jamesmckinna Apr 28, 2023
8dd84a1
Merge branch 'free-algebras' of https://github.com/jamesmckinna/agda-…
jamesmckinna Apr 28, 2023
b91ef55
radical refactoring; added `map` for lifting `FreeMonad` from `Setoid…
jamesmckinna Apr 29, 2023
0e04513
cosmetic
jamesmckinna Apr 29, 2023
3de4bd8
typo
jamesmckinna Apr 29, 2023
bfc920b
more typos
jamesmckinna Apr 29, 2023
1a8074d
corollary to uniqueness: naturality of `alg`
jamesmckinna Apr 30, 2023
eef3d3f
cosmetic renamings; more serious refactoring required
jamesmckinna Apr 30, 2023
d5f2a80
added `MagmaHomomorphism` bundle; another major refactoring
jamesmckinna May 1, 2023
0186232
added functoriality of `FreeMagmaFunctor`
jamesmckinna May 1, 2023
7a18f08
refactored functoriality of `FreeMagmaFunctor`
jamesmckinna May 1, 2023
6bbc2af
tidied up leftovers of functoriality of `FreeMagmaFunctor`
jamesmckinna May 1, 2023
8302fc6
Merge branch 'free-algebras' of https://github.com/jamesmckinna/agda-…
jamesmckinna May 1, 2023
90434b7
refactored dependencies; `Uniqueness` and its `Corollary` no longer d…
jamesmckinna May 1, 2023
0388629
reverted bogus `merge`; retained refactored dependencies
jamesmckinna May 1, 2023
bb3c155
Revert "tidied up leftovers of functoriality of `FreeMagmaFunctor`"
jamesmckinna May 1, 2023
6835c67
final reversion of commits
jamesmckinna May 1, 2023
e0a44dd
Revert "tweaks"
jamesmckinna May 1, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 37 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -427,6 +427,32 @@ Non-backwards compatible changes
Prime n = ∀ {d} → 2 ≤ d → d < n → d ∤ n
```

### Change in the definition of `_≤″_` (issue #1919)

* The definition of `_≤″_` in `Data.Nat.Base` was previously:
```agda
record _≤″_ (m n : ℕ) : Set where
constructor less-than-or-equal
field
{k} : ℕ
proof : m + k ≡ n
```
which introduced a spurious additional definition, when this is in fact, modulo
field names and implicit/explicit qualifiers, equivalent to the definition of left-
divisibility, `_∣ˡ_` for the `RawMagma` structure of `_+_`. Since the addition of
raw bundles to `Data.X.Base`, this definition can now be made directly. Knock-on
consequences include the need to retain the old constructor name, now introduced
as a pattern synonym, and deprecation of (a function equiavlent to) the former
field name/projection function `proof`.

* Accordingly, the definition has been changed to:
```agda
_≤″_ : (m n : ℕ) → Set
_≤″_ = _∣ˡ_ +-rawMagma

pattern less-than-or-equal {k} proof = k , proof
```

### Renaming of `Reflection` modules

* Under the `Reflection` module, there were various impending name clashes
Expand Down Expand Up @@ -1109,6 +1135,11 @@ Deprecated names
map-with-∈↔ ↦ mapWith∈↔
```

* In `Data.Nat.Base`:
```
_≤″_.proof ↦ proj₂
```

* In `Data.Nat.Properties`:
```
suc[pred[n]]≡n ↦ suc-pred
Expand Down Expand Up @@ -1325,6 +1356,12 @@ New modules
Algebra.Construct.Flip.Op
```

* Algebraic structures obtained as the free thing (for their signature):
```
Algebra.Bundles.Free
Algebra.Bundles.Free.Magma
```

* Morphisms between module-like algebraic structures:
```
Algebra.Module.Morphism.Construct.Composition
Expand Down
2 changes: 1 addition & 1 deletion README/Design/Decidability.agda
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ module README.Design.Decidability where
open import Data.Bool
open import Data.List
open import Data.List.Properties using (∷-injective)
open import Data.Nat
open import Data.Nat hiding (proof)
open import Data.Nat.Properties using (suc-injective)
open import Data.Product
open import Data.Unit
Expand Down
11 changes: 11 additions & 0 deletions src/Algebra/Bundles/Free.agda
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
------------------------------------------------------------------------
-- The Agda standard library
--
-- Definitions of 'pre-free' and 'free' bundles
------------------------------------------------------------------------

{-# OPTIONS --cubical-compatible --safe #-}

module Algebra.Bundles.Free where

open import Algebra.Bundles.Free.Magma public
Loading