-
Notifications
You must be signed in to change notification settings - Fork 240
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
base: master
Are you sure you want to change the base?
Conversation
…Pointwise`; smarter constructors
Note to self: typechecking appears not to terminate for Refactored to lift out the lemmas as |
…odule restructuring
Stopping here as much of the refactoring of (the properties of |
Previously @MatthewDaggitt wrote
Please now consider a possible roadmap as follows:
|
Does this mean the draft status should be removed and this PR reviewed? |
Thanks @MatthewDaggitt for the prompt to return to this. I think the short answer, for the time being, is/ought to be "No":
Sound OK to you? |
Yes, sounds reasonable. |
WORK IN PROGRESS: do not review!
Of independent interest to the various competing proposals in #2311 for the 'right' representation, as it attempts to decouple the main properties of the relation from any particular notion. In particular, the isolation of the dependencies (and improved implementation UPDATED can't seem to get the syntax declarations to work for the specialised
Propositional
version ofPermutationReasoning
!?) of theReasoning
module, together with a 'better' smart constructor for transitivity in the current implementation(s), as well as a lot of nitpicky streamlining.NEW: have removed all dependency on well-founded induction on
steps
in favour of a (structurally inductive proof of) better↭-split
lemma which uses the fact thatPermutation R
absorbsPointwise R
steps providedR
isTransitive
.Currently in DRAFT, but aims to, and is most of the way towards:
Propositional
as thesetoid
instance ofSetoid
, ditto.Properties
Setoid
andSetoid.Properties
to localise all uses of induction on theHomogeneous
representation to properties proved in general inHomogeneous
(thereby allowing alternative representations)Propositional
toSetoid
or evenHomogeneous
, incl.Pointwise
andPermutation
lurking offstage...!?Outstanding issues:
syntax
declarations for↭-Reasoning
(esp. for<<⟨_⟩
? see Parsing problems with thePermutationReasoning
combinators inData.List.Relation.Binary.Permutation.Propositional
#2319 )Properties
module(s) automatically re-export the corresponding 'Base
' module, to avoid having to explicitly import that separately?TODO:
CHANGELOG
;-)Propositional
(some fiddliness here, plus some deprecation opportunities once things have been suitably generalised) UPDATED onlyremains
Homogeneous
intoCore
/Base
andProperties
(currently a total ⟪casino⟫, esp. wrt dependencies)Setoid.Properties
intoCore
(representation dependent; to be discussed as the best way to achieve such modularisation for (each of) the representation(s)) andProperties
depending on that componentEtc. To be continued...