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

eta equality should be motivated/explained #1099

Open
fangyi-zhou opened this issue Feb 12, 2025 · 4 comments
Open

eta equality should be motivated/explained #1099

fangyi-zhou opened this issue Feb 12, 2025 · 4 comments

Comments

@fangyi-zhou
Copy link
Contributor

fangyi-zhou commented Feb 12, 2025

In #1051 and #1052 (Presenting conjunction, truth and existentials using records first before using data types), the text mentions eta equality without much motivation or explanation. I suggest that the notion of eta equality to be introduced/mentioned either in the Connectives chapter or (maybe more appropriately) the Equality chapter.

@wenkokke
Copy link
Collaborator

wenkokke commented Feb 12, 2025

That makes a lot of sense.

@wadler Thoughts?

@wadler
Copy link
Member

wadler commented Feb 12, 2025

The suggestion is that eta-equality be introduced in Connectives, but that is already where it is introduced.

I think Connectives is a better choice than Equality, because it is hard to talk about the eta-rule for products until one talks about products.

I'd be happy to consider a pull request with suggested text to improve the motivation.

@wenkokke
Copy link
Collaborator

The suggestion is that eta-equality be introduced in Connectives, but that is already where it is introduced.

Image

I think the issue is that it isn't really explained. There's the matter of introduction and elimination rules, then there's a bit of Agda code that uses the letter η, and then the next line talks about η-equality.

Even a roughshod explanation of β- and η-equality rules would help, such as saying that there's two kinds of equality rules on objects formed by introduction and elimination rules: β-equality rules that say "elim (intro x) = x" and η-equality rules that say "intro (elim x) = x" (except phrased with a bit more care and less pseudo-formality).

fangyi-zhou added a commit to fangyi-zhou/plfa.github.io that referenced this issue Feb 19, 2025
@fangyi-zhou
Copy link
Contributor Author

I've put a simple sentence for eta-equality in #1102, please let me know how it sounds!

P.S. Is there a canonical reference for the phrase "eta-equality" in the general sense? I learnt this concept in lambda calculus as (\x -> f x) == f, but I didn't know it generalises to introduction and elimination rules in general.

fangyi-zhou added a commit to fangyi-zhou/plfa.github.io that referenced this issue Feb 20, 2025
fangyi-zhou added a commit to fangyi-zhou/plfa.github.io that referenced this issue Feb 20, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants