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
@Taneb 's recent work (#1744 , #1744) on permutations-as-transposition-lists has drawn attention to the (possible) need for a Parity type (rather than proxying via Data.Sign), together with various properties: so far I have a branch with
UPDATED:
EDITED: It raised a question in my mind as well regarding where homomorphism-like properties belong in the library: under the source type, in *.Properties, or somewhere else? I currently have Parity import Sign in order to define the operations, but it strikes me that there's an asymmetry to that decision, which might better be reflected in having subdirectories of the Algebra.* hierarchy which record concrete instances of (Semi)RingHomomorphisms etc. suggestions welcome! moved discussion to issue #1871
The text was updated successfully, but these errors were encountered:
@Taneb 's recent work (#1744 , #1744) on permutations-as-transposition-lists has drawn attention to the (possible) need for a Parity type (rather than proxying via
Data.Sign
), together with various properties: so far I have a branch withUPDATED:
Parity
admits a commutative semiring structure (with0
=0ℙ
;1
=1ℙ
etc.)parity
fromNat
toParity
inData.Nat.Base
toSign
fromParity
toSign
fromSign
fromSign
toParity
(toSign, fromSign)
form an abelian group iso from(Parity, 0, _+_)
to(Sign, +, _*_)
Data.Sign
etc. to reflect new names for algebraic structures/bundles, cf. issueData.Integer.Properties.+-isAbelianGroup
should be called+-0-isAbelianGroup
#1844 and in line with review comments on current PRCHANGELOG
TODO in a subsequent PR:
parity
is a commutative semiring homomorphism fromNat
toParity
Additionally, this might have the following as knock-on effects:
0, 1, 2+ n
pattern analysis of aNat
argument takes place (esp. wrtN{-}ary
operations, as well as the obviousBinary
andNat
examples) see this branch and PR rationalise use ofsuc (suc n)
andsuc n@(suc _)
patterns throughout; remove2+ _
pattern #1870EDITED:
It raised a question in my mind as well regarding where homomorphism-like properties belong in the library: under the source type, inmoved discussion to issue #1871*.Properties
, or somewhere else? I currently haveParity
importSign
in order to define the operations, but it strikes me that there's an asymmetry to that decision, which might better be reflected in having subdirectories of theAlgebra.*
hierarchy which record concrete instances of(Semi)RingHomomorphism
s etc. suggestions welcome!The text was updated successfully, but these errors were encountered: