Skip to content
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

[ add ] Relation.Binary._Reflects_⟶_ as a companion to _Preserves_⟶_ #2566

Open
wants to merge 4 commits into
base: master
Choose a base branch
from

Conversation

jamesmckinna
Copy link
Contributor

@jamesmckinna jamesmckinna commented Jan 28, 2025

A preparatory PR ahead of tackling #1436 in earnest.
NB:

@gallais
Copy link
Member

gallais commented Jan 28, 2025

What's the intuition for the Reflects name? Does it have any relationship to the ssreflect
style Reflects that we already have? http://agda.github.io/agda-stdlib/v2.1.1/Relation.Nullary.Reflects.html#1010

@jamesmckinna
Copy link
Contributor Author

jamesmckinna commented Jan 28, 2025

What's the intuition for the Reflects name? Does it have any relationship to the ssreflect style Reflects that we already have? http://agda.github.io/agda-stdlib/v2.1.1/Relation.Nullary.Reflects.html#1010

Nothing to do with Reflects as in ssreflect, nor Relation.Nullary.Reflects!

But absolutely conventional usage in first-order logic/relational algebra (eg. discussion in McKinna&Pollack 1999 on preserving and reflecting α-conversion in λ-calculus representations...): the aim is to [DRY] reconcile Function.Definitions.Injective and Algebra.Definitions.Cancellative as specialisations of the concept...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants