Tm.lam as name abstraction #
The binder Tm.lam a factors through name abstraction: Tm.lam a t = tmLam (abs a t).
The fv-based α-rename Tm.lam_rename_fresh and the some=any principle
Tm.lam_some_any follow from abs_rename.
Main results #
avoid— an α-equivalent representative that avoids a chosen non-free atom.Tm.lam_rename_fresh— rename the bound name to any atom fresh for the term.tmLamandTm.lam_eq_tmLam— the binder factors throughNameAbs Tm.Tm.lam_some_any— the Gabbay–Pitts some=any principle for the binder.
Tm.lam factors through name abstraction.
Equations
Instances For
theorem
CatCrypt.Nominal.Lambda.Tm.lam_some_any
(a b c : Atom)
(t : Tm)
(hb : b ∉ t.freeVars)
(hc : c ∉ t.freeVars)
(hba : b ≠ a)
(hca : c ≠ a)
:
Some = any (freshness) for the binder. Two atoms fresh for the term give
the same abstraction after the corresponding renaming — the Gabbay–Pitts
principle, inherited from abs.