-
Notifications
You must be signed in to change notification settings - Fork 260
[ add ] properties of Relation.Unary adjoints
#2866
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
base: master
Are you sure you want to change the base?
Conversation
|
|
||
| ∃-≡ : ∀ (P : A → Set b) {x} → P x ↔ (∃[ y ] y ≡ x × P y) | ||
| ∃-≡ P {x} = mk↔ₛ′ (λ Px → x , refl , Px) (λ where (_ , refl , Py) → Py) | ||
| ∃-≡ P {x} = mk↔ₛ′ (⟨ id ⟩⊢⁻ id) (⟨ id ⟩⊢⁺ id) |
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.
Nice. I wish the proofs could get a similar treatment!
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.
Well, ok... but downstream?
I think when I last looked at this, the proofs for the left adjoint behave nicely, while the corresponding ones for the right need (lots of) extensionality, to the point of being unilluminating/incomprehensible.
Also, they should be generalised to
'property of f implies related property of adjoint diagram'
(iso; injective; surjective... adjoint), but I got a headache working out the details...
The special case f = id is almost too special to be worth singling out, but... baby steps. It's one reason I went back on my original thought to rewrite the lemma statement to use the adjoint notation... it felt like overkill for too-small stakes.
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.
Oh, and the use of id to proxy for its definitionally-equal ⊆-refl (Yoneda lemma!) is a bit cheeky, but arguably it looks worse by using the (conceptually) type-correct version, cf. the functoriality proofs, which I wrote Yoneda-style, rather than flattening out the compositions to re duplicate the pattern-matching versions which precede them...
Follows on from #2840 .
Tweaks some of the text introduced there.