-
Notifications
You must be signed in to change notification settings - Fork 237
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
An alternative to #1698 #1709
An alternative to #1698 #1709
Conversation
…onal properties of _<_; tweaked some pattern matches
(contra) I lacked the courage of my convictions to rewrite the proofs of |
OK... seems as though I need to remove the definitions from the deprecated module. Makes sense I suppose... |
Thanks for this! I've got a paper deadline tomorrow, a talk to write the day after and will need at least a day to recover, but will definitely have a look at this on Friday! |
hmmm... that deprecated module keeps causing a failing test? |
@MatthewDaggitt I, too, have a paper to finish, a talk to give (to you and other people ;-)) on Friday and ... classes to prepare. I made the PR just to take it off/rotate it on my worklist in favour of all the other neglected tasks... so there's no rush here! |
…698-extended possible problems with updated master?
Sorry for the service interruption; I spent last week dealing with a lot of family/personal stuff. |
Didn't understand why/how the conflict arose. Appears resolved now. [ Violation detected ] src/Codata/Guarded/Stream.agda Not me, guv'nor. How did this get merged into |
So... what's the |
So... now that there is a 'better' proof for |
I'd just give the whole definition. They're not exactly long. |
I think that's worth it in it's own right 👍
Err none that I can see 😅 but that's okay, grail's aren't traditionally easy to find and I hear that very long journeys are the norm! |
OK, I'll get back to this shortly, if you can clear up two questions:
|
Re: the last point, since when was
a merge conflict??? |
Oh... and: removing the old |
Oh, and failing tests for Haskell-CI for ghc-8.2.2 and ghc-8.4.4??? |
Hmmm. I think that this Quixotic episode may now be drawing to a close. |
The former depends on the latter right? So it's much of a muchness. I'd go with the latter.
Git does sometimes flag whitespace changes. I'm not sure why. If it's the only one cropping up then I wouldn't worry too much about it. Thanks for fixing it! |
Will merge it in tomorrow if no one has any last thoughts. |
Actually, there are two proofs of the 'curious' lemma; the second proof goes via the equivalence of |
Grrr. Just found some more loose ends from this one. Opened a PR |
OK... here it is after quite a bit of backtracking and reconsideration. Some possible debating points:
(pro) This PR defines an alternative path to @MatthewDaggitt 's desire for a (much) narrower import dependency for
Data.Nat.Induction
onData.Nat.Properties
(pro) That dependency may be localised to a single lemma (so it might be possible to have a 'reduced' version even of this PR)
(pro) The anomalous module
Data.Nat.Properties.Core
previously required byData.Fin.Base
is now deprecated (and perhaps should have its contents otherwise deleted?)(pro)
Data.Fin.Properties
and evenData.Vec.Properties
are now (somewhat) improved by using the existing imported pattern matches on the constructors of_≤_
(esps≤s
), making explicit what was previously handled by a destructor-form analysis(contra) I took some care over this, but the choices I ended up making involve expanding
Data.Nat.Base
andData.Nat.Properties
with additional (easily) admissible patterns for_<_
(and_<′_
) and systematically doing case analysis on proofs of_<_
in terms of those patterns...(pro) such case analyses are slightly improved over those previously phrased entirely in terms of
_≤_
,z≤n
, ands≤s
(and are a more robust basis for change if the definitions inData.Nat.Base
should ever be reconsidered ;-))(contra)
Data.Nat.Properties
has grown again, but not by a huge amount, more by way of additional properties of_<_
mirroring those of_≤_
, and phrased 'intrinsically' to try to minimise the crosstalk between the at-present coupled definitions of those two concepts(pro) (?) no deprecations as such (EDITED: besides
Data.Nat.Properties.Core
obvs.), rather new proofs of old results (plus some resulting knock-on simplifications downstream); so the interface is (broadly) what it was before(pro/contra?) I have taken the opportunity to experiment with explicitly narrowing the interface of module imports from
Dat.Nat.Properties
and evenData.Nat.Base
in one case which may be more bikeshedding than (strictly) necessary(contra) the tout ensemble might be regarded as a 'breaking' change, both because of the deprecation; and because it is (somewhat) insistent on drawing attention to the new pattern analyses, even though they were always already there
Oh... and there's probably a ton of work to do with the
CHANGELOG
... not yet done ;-)