Skip to content

Some lemmas about eta-reduction and beta-eta equivalence#1919

Open
binghe wants to merge 3 commits intoHOL-Theorem-Prover:developfrom
binghe:lameta_lemmas
Open

Some lemmas about eta-reduction and beta-eta equivalence#1919
binghe wants to merge 3 commits intoHOL-Theorem-Prover:developfrom
binghe:lameta_lemmas

Conversation

@binghe
Copy link
Copy Markdown
Member

@binghe binghe commented Apr 22, 2026

Hi,

This PR contains some new lemmas about lameta and reduction eta (-e->*) for solvable terms and hnfs. Most
important ones are the following two:

  • Two βη-equivalent terms are either both solvable or both not:
[lameta_solvable_cong]
⊢ ∀M N. M === N ⇒ (solvable M ⇔ solvable N)
  • The "cases" theorem for η-reductions from hnfs:
[hnf_etastar_cases]
⊢ ∀vs y Ms N.
    LAMl vs (VAR y ·· Ms) -η->* N ⇒
    ∃n Ns.
      N = LAMl (BUTLASTN n vs) (VAR y ·· BUTLASTN n Ns) ∧ n ≤ LENGTH vs ∧
      n ≤ LENGTH Ns ∧ LENGTH Ns = LENGTH Ms ∧
      LASTN n Ns = MAP VAR (LASTN n vs) ∧
      ∀i. i < LENGTH Ms ⇒ Ms❲i❳ -η->* Ns❲i❳

--Chun

Comment thread examples/lambda/barendregt/chap3Script.sml Outdated
@binghe
Copy link
Copy Markdown
Member Author

binghe commented Apr 23, 2026

Added also one more theorem (βη-reductions from hnf):

[hnf_bestar_cases]
⊢ ∀vs y Ms N.
    LAMl vs (VAR y ·· Ms) -βη->* N ⇒
    ∃n Ns.
      N = LAMl (BUTLASTN n vs) (VAR y ·· BUTLASTN n Ns) ∧ n ≤ LENGTH vs ∧
      n ≤ LENGTH Ns ∧ LENGTH Ns = LENGTH Ms ∧
      LASTN n Ns = MAP VAR (LASTN n vs) ∧
      ∀i. i < LENGTH Ms ⇒ Ms❲i❳ -βη->* Ns❲i❳

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

Successfully merging this pull request may close these issues.

2 participants