$\def\infer#1#2{\frac{\matrix{#1}}{#2}}$

Xavier Pinho

Extensional conversions ζ and η between λ-terms

$\def\FV{\textsf{FV}}$ $\def\betaext{{\beta\text{ext}}}$ $\def\betazeta{{\beta\zeta}}$ $\def\betaeta{{\beta\eta}}$

Introduction

In the pure $\lambda$-calculus, conversion $=_\beta$ is not extensional, in the sense that it does not satisfy the property

$$ \tag{ext} \label{eq:ext} \infer{MP = NP\quad\text{for every $P\in\Lambda$}}{M = N} $$

Example. Take $M=y$ and $N=(\lambda x.yx)$, for some $y\in\mathcal{V}$ variable. Then $MP = yP =_\beta (\lambda x.yx)P = NP$ but $M\not=_\beta N$.

Instead of directly adding $\eqref{eq:ext}$ to $=_\beta$ to make it extensional, there are two other well-known rules that, when added to $=_\beta$, also make it extensional, namely the $\zeta$ and $\eta$ rules:

$$ \tag{$\zeta$} \label{eq:zeta} \infer{Mx = Nx\quad\text{$x\not\in\FV(MN)$}}{M = N} $$

$$ \tag{$\eta$} \label{eq:eta} \infer{x\not\in\FV(MN)}{M = (\lambda x. Mx)} $$

The $\beta\eta$ and $\beta\zeta$ conversions

Let $=_\betaext$, $=_\betazeta$ and $=_\betaeta$ be the conversions induced by the rule $\beta$ together with, respectively, $\eqref{eq:ext}$, $\eqref{eq:zeta}$, and $\eqref{eq:eta}$. To be clear, given a relation $R\subseteq\Lambda\times\Lambda$, its induced conversion $=_{R}\subseteq\Lambda\times\Lambda$ is the smallest relation satisfying, for all $M,N,P\in\Lambda$ and $x\in\mathcal{V}$:

$$ \tag{$R$} \infer{M~R~N}{M=_RN} $$

$$ \tag{$\mu$}\label{eq:mu} \infer{M=_RN}{PM=_RPN} $$

$$ \tag{$\nu$}\label{eq:nu} \infer{M=_RN}{MP=_RNP}
$$

$$ \tag{$\xi$}\label{eq:xi} \infer{M=_RN}{\lambda x. M =_R \lambda x.N} $$

$$ \tag{$\rho$}\label{eq:rho} {M=_RM} $$

$$ \tag{$\sigma$}\label{eq:sigma} \infer{M=_RN}{N=_RM} $$

$$ \tag{$\tau$}\label{eq:tau} \infer{M=_RN\quad N=_RP}{M=_RP} $$

In other words, $=_R$ is the least compatible (cf. $\ref{eq:mu}$, $\ref{eq:nu}$, $\ref{eq:xi}$) equivalence relation (cf. $\ref{eq:rho}$, $\ref{eq:sigma}$, $\ref{eq:tau}$) containing $R$.

Proposition. $M=_\betaext N \iff M=_\betazeta N$.

Proof. By double implication.

Proposition. $M=_{\beta\zeta}N \iff M=_{\beta\eta}N$.

Proof. By double implication.

Theorem. Conversions $=_{\beta\zeta}$ and $=_{\beta\eta}$ are (equivalent) extensional variants of $=_{\beta}$.


A curiosity: $\zeta$ implies $\xi$

The $\beta\zeta-\xi$ conversion

In the presence of $\eqref{eq:zeta}$, rule $\eqref{eq:xi}$ is no longer needed. More precisely, let $=_{\beta\zeta-\xi}$ be the conversion induced by $\beta$ whilst replacing $\eqref{eq:xi}$ for $\eqref{eq:zeta}$.

Proposition. $M =_{\beta\zeta-\xi} N \iff M =_{\beta\zeta}N$.

Proof. By double implication.

References