Inference rules for lambda calculus
exp := var | app | abs
var := x | y | z "x", "ID", ...
app := exp exp e1 e2
abs := 'Ξ»' x '.' exp (Ξ»x.e) tβ -> tβ'
--------------- E-App1
tβ tβ -> tβ' tβ
tβ -> tβ'
--------------- E-App2
vβ tβ -> vβ tβ'
(Ξ»x.tββ) vβ -> [x βΌ vβ] tββ E-AppAbsββ leftmost term: lambda abstraction βββββββββββββββββββββββββββ
β β
β ββ scope of x βββββββββββββββββββββββββββββββββββββββββ β
β β β β a
β β ββ scope of g βββββββββββββββββββββββββββββββ β β a r
β β β β β β a r g
β β β ββ inner term βββββββββββββββ β β β r g 3
β β β β β β β β g 2 β
β β β β ββ scope g' βββββββββ€ β β β 1 β β
β β β β β β β β β β β β
(Ξ» . ( Ξ» . ( 1 2 2 2 ( Ξ» . ( 1 3 3 3 3 3 ) 1 3 ) 2 3 ) ) ) y f h
(Ξ» x . ( Ξ» g . ( g x x x ( Ξ» g . ( g x x x x x ) g x ) g x ) ) ) y f h
β β β β β β β
β β β β β β β
β β β β β β β
β β β β β application occurrence of g'
β β β β β
β β β β binding occurrence of g (must be renamed to g')
β β β β
β β β application occurrence of g βββββββββ
β β
β β binding occurrence of g
β
β binding occurrence of xLast updated