Alphabet

app:list → list → list
cons:nat → list → list
foldl:(list → nat → list) → list → list → list
iconsc:list → nat → list
nil:list
reverse:list → list
reverse1:list → list

Variables

X:list
Y:nat
U:list
V:list
I:list → nat → list
P:list
F1:list → nat → list
Y1:list
U1:nat
V1:list
W1:list
P1:nat
X2:list
Y2:list

Rules

app · nil · XX
app · (cons · Y · U) · Vcons · Y · (app · U · V)
foldl · (λ%Y:list.λ%X:nat.I · %Y · %X) · P · nilP
foldl · (λ%U:list.λ%Z:nat.F1 · %U · %Z) · Y1 · (cons · U1 · V1)foldl · (λ%W:list.λ%V:nat.F1 · %W · %V) · (F1 · Y1 · U1) · V1
iconsc · W1 · P1cons · P1 · W1
reverse · X2foldl · (λ%G:list.λ%F:nat.iconsc · %G · %F) · nil · X2
reverse1 · Y2foldl · (λ%H:list.λ%I:nat.app · (cons · %I · nil) · %H) · nil · Y2