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

Refactor Data.List.Relation.Binary.Permutation.* #2317

Draft
wants to merge 65 commits into
base: master
Choose a base branch
from
Draft
Changes from 1 commit
Commits
Show all changes
65 commits
Select commit Hold shift + click to select a range
fff325f
complete refactoring to isolate dependency on `Homogeneous`
jamesmckinna Mar 10, 2024
f971440
further refactoring: `Setoid` instantiates `Homogeneous`; decouples `…
jamesmckinna Mar 10, 2024
75747e3
use smart transitivity
jamesmckinna Mar 10, 2024
736e1de
refactor the `CommutativeMonoid` property
jamesmckinna Mar 10, 2024
18cb5c2
refactor the `PermutationReasoning` module
jamesmckinna Mar 10, 2024
7749cbf
refactored `Propositional` through improved API for `Homogeneous`
jamesmckinna Mar 10, 2024
de26a1e
tweak imports
jamesmckinna Mar 11, 2024
a236180
refactor `setoid` and `Reasoning`
jamesmckinna Mar 11, 2024
05fde1e
remove last explicit dependency on `Homogeneous`
jamesmckinna Mar 11, 2024
d4e86d9
added length preservation
jamesmckinna Mar 11, 2024
629d3f3
added length preservation
jamesmckinna Mar 11, 2024
c01559f
reverted changes
jamesmckinna Mar 11, 2024
747666f
backport from `Propositional`
jamesmckinna Mar 12, 2024
985686b
almost all the way there
jamesmckinna Mar 12, 2024
865a962
one(inductive) bug to fix; one cosmetic fix
jamesmckinna Mar 12, 2024
159f6d6
two cosmetic knock-on fixes
jamesmckinna Mar 12, 2024
75a8414
tidy up refactoring
jamesmckinna Mar 12, 2024
89c9020
more level polymorphism in `map⁺`
jamesmckinna Mar 12, 2024
3e5230d
fixed `map⁺`
jamesmckinna Mar 12, 2024
64c26b4
updated `README`; need to refactor `PermutationReasoning` syntax
jamesmckinna Mar 12, 2024
7642add
BUG: `README`; need to refactor `PermutationReasoning` syntax?
jamesmckinna Mar 12, 2024
cbbda53
uncommitted changes
jamesmckinna Mar 12, 2024
55b4ff5
improved use of `variable`s
jamesmckinna Mar 12, 2024
7b2c46d
fixed `import`s to reflect `public` export of the relation in `Propos…
jamesmckinna Mar 12, 2024
4e2fb04
tightened the paramterisation of `↭-shift`
jamesmckinna Mar 12, 2024
e652a80
knock-on viscosity
jamesmckinna Mar 12, 2024
542caf4
knock-on viscosity
jamesmckinna Mar 12, 2024
8bda5d6
commented out bug in reasoning
jamesmckinna Mar 12, 2024
331220d
more properties needing specialised
jamesmckinna Mar 12, 2024
79e0c8f
allow unsolved metas; nearly there!
jamesmckinna Mar 12, 2024
439ef19
involutive properties of symmetry, at all levels
jamesmckinna Mar 12, 2024
7859dd2
restores `--safe` while I ponder
jamesmckinna Mar 12, 2024
6a7088f
use the import of equality primitives
jamesmckinna Mar 13, 2024
53e7eb4
refactored construction
jamesmckinna Mar 13, 2024
c7e606c
interim commit: one goal remaining!
jamesmckinna Mar 13, 2024
ec9d0f8
`Homogeneous` safe!
jamesmckinna Mar 13, 2024
0c0828e
`Setoid` safe!
jamesmckinna Mar 13, 2024
ca76072
`Propositional` safe! `equality` proofs reverted in favour of local d…
jamesmckinna Mar 13, 2024
5ab893d
tidy up `BagAndSetEquality`
jamesmckinna Mar 13, 2024
afe32c7
typo
jamesmckinna Mar 13, 2024
f98f043
bracketing fixes the bug; but surely that's not the point?
jamesmckinna Mar 13, 2024
eb904ff
cosmetics
jamesmckinna Mar 14, 2024
3856163
removed any need for `steps` or `Acc`-induction
jamesmckinna Mar 14, 2024
91cc337
knock-on changes from improvements to `Homogeneous`
jamesmckinna Mar 14, 2024
bf14b4d
tidy up `BagAndSetEquality`
jamesmckinna Mar 14, 2024
980909f
NB weird `Reasoning` problem/bug
jamesmckinna Mar 15, 2024
1d69be6
remove dependency on well-founded induction
jamesmckinna Mar 15, 2024
be52c13
further refactoring warm-ups for #1354
jamesmckinna Mar 22, 2024
dd33a4e
knock-on
jamesmckinna Mar 22, 2024
8234cfd
tidying up ahead of module reorganisation
jamesmckinna Mar 22, 2024
487cbce
more tidying up ahead of module reorganisation
jamesmckinna Mar 22, 2024
c3fc49a
more tidying up ahead of module reorganisation
jamesmckinna Mar 22, 2024
054a770
more tidying up ahead of module reorganisation
jamesmckinna Mar 22, 2024
197e483
further reorganisation
jamesmckinna Mar 26, 2024
9893dc7
module restructuring
jamesmckinna Mar 26, 2024
c9f6b8f
typechecking proofs of involutive symmetry fails to terminate after m…
jamesmckinna Mar 26, 2024
b48e06f
factored out the higher-dimensional properties
jamesmckinna Mar 26, 2024
b4fbbf9
localised proofs of the higher-dimensional properties
jamesmckinna Mar 26, 2024
eb0d50e
drastic pruning of `import`s after refactoring
jamesmckinna Mar 26, 2024
014867d
rearrangement of binding prefixes after refactoring
jamesmckinna Mar 26, 2024
9aafdf1
tightened `import`s after refactoring
jamesmckinna Mar 26, 2024
dd451bc
follow through
jamesmckinna Mar 26, 2024
55276e8
fix up parametrisation (first go)
jamesmckinna Mar 26, 2024
ba6b378
reverted use of `↭-shift`
jamesmckinna Mar 27, 2024
a07557c
reverted use of `↭--refl` and `↭--prep`
jamesmckinna Mar 27, 2024
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
Prev Previous commit
Next Next commit
refactor the CommutativeMonoid property
  • Loading branch information
jamesmckinna committed Mar 10, 2024
commit 736e1de5997396e4cef3456f4557d543f7528c26
7 changes: 3 additions & 4 deletions src/Data/List/Relation/Binary/Permutation/Homogeneous.agda
Original file line number Diff line number Diff line change
@@ -8,7 +8,7 @@

module Data.List.Relation.Binary.Permutation.Homogeneous where

open import Algebra using (IsCommutativeMonoid; Op₂)
open import Algebra.Bundles using (CommutativeMonoid)
open import Data.List.Base as List using (List; []; _∷_)
open import Data.List.Relation.Binary.Pointwise as Pointwise
using (Pointwise; _∷_)
@@ -366,9 +366,8 @@ module _ {R : Rel A r} (R-sym : Symmetric R)

-- foldr of Commutative Monoid

module _ {_≈_ : Rel A r} {_∙_ : Op₂ A} {ε : A}
(isCommutativeMonoid : IsCommutativeMonoid _≈_ _∙_ ε) where
open module CM = IsCommutativeMonoid isCommutativeMonoid
module _ (commutativeMonoid : CommutativeMonoid a r) where
open module CM = CommutativeMonoid commutativeMonoid

private foldr = List.foldr

Original file line number Diff line number Diff line change
@@ -311,5 +311,9 @@ module _ {ℓ} {R : Rel A ℓ} (R? : B.Decidable R) where
module _ {_∙_ : Op₂ A} {ε : A}
(isCommutativeMonoid : IsCommutativeMonoid _≈_ _∙_ ε) where

private
commutativeMonoid : CommutativeMonoid _ _
commutativeMonoid = record { isCommutativeMonoid = isCommutativeMonoid }

foldr-commMonoid : ∀ {xs ys} → xs ↭ ys → foldr _∙_ ε xs ≈ foldr _∙_ ε ys
foldr-commMonoid = Properties.foldr-commMonoid isCommutativeMonoid
foldr-commMonoid = Properties.foldr-commMonoid commutativeMonoid