Alphabet

abs:(a → b) → ab
app:ab → a → b
appBG:BGaBGb → BGa → BGb
banga:a → BGa
let:BGa → (a → BGb) → BGb

Variables

F:a → b
Y:a
U:ab
V:a
I:a → BGb
P:BGa
X1:BGaBGb

Rules

app · (abs · (λ%X:a.F · %X)) · YF · Y
abs · (λ%Y:a.app · U · %Y)U
let · (banga · V) · (λ%Z:a.I · %Z)I · V
let · P · (λ%U:a.appBG · X1 · (banga · %U))appBG · X1 · P