-
Notifications
You must be signed in to change notification settings - Fork 242
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 ] fixes #2568; proves full symmetry for Bijection
#2569
base: master
Are you sure you want to change the base?
Conversation
Bijection
Bijection
Bijection
Ooops! Need to fix the version number in deprecation warnings. Will fix tomorrow. |
section : B → A | ||
section = proj₁ ∘ surj |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So I now think that the only conceivable change I might make would be to call this from
rather than section
:
- pro
from
: consistency with usage elsewhere as the counterpart toto
- con
from
: possible clash of names if scopes are opened carelessly? - pro
section
: name standardised apart from others; standard (category-theoretic) nomenclature - con
section
: too occult a name wrt the rest of the library?
CHANGELOG.md
Outdated
* In `Function.Consequences`: the theory of the left inverse of a surjective function | ||
```agda | ||
module Section (surj : Surjective ≈₁ ≈₂ f) | ||
``` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should this module be lifted out from Consequences
to the top-level of Function.*
? Or somewhere else?
A comprehensive overhaul building on the proposed refactoring in #2568 . Finally finished, I think!
UPDATED: now all 'done', and a lot tighter/smoother/cleaner
Function.Consequences
? (check implicit/explicit bindings of lemmas there, esp. in their use later)Bijection
now proved, old weaker formsym-≡
etc. now deprecated (this was abug
!)Congruent ≈₂ ≈₁ section
outright under similar equational assumptions!Function.Construct.Symmetry
Congruent ≈₁ ≈₂ f
from{injective|bijective}
IsBijective
, and ofBijection
, without detour viaInverse
TODO:
CHANGELOG
Function.Construct.Symmetry
Function.Properties.Bijection
to prove full symmetry ofIsBijective
etc.NB.
Function.*
to rationalise the existence of a section to a givenSurjective f
#2568 are optional, it's more a case of agreeing the 'right' names; existing commits make the change so as to highlight where the work has happened*WithoutCongruence
constructions, but a v3.0 cleanup PR would remove the old proofs entirely and rename to remove that suffix