prod
`xs`
prodIter
`xs`
s
0
prodIter
`xs`
`x`
ifProd
isempty
`xs`
`xs`
`x`
ifProd
true
`xs`
`x`
`x`
ifProd
false
`xs`
`x`
prodIter
tail
`xs`
times
`x`
head
`xs`
plus
0
`y`
`y`
plus
s
`x`
`y`
s
plus
`x`
`y`
times
`x`
`y`
timesIter
`x`
`y`
0
0
timesIter
`x`
`y`
`z`
`u`
ifTimes
ge
`u`
`x`
`x`
`y`
`z`
`u`
ifTimes
true
`x`
`y`
`z`
`u`
`z`
ifTimes
false
`x`
`y`
`z`
`u`
timesIter
`x`
`y`
plus
`y`
`z`
s
`u`
isempty
nil
true
isempty
cons
`x`
`xs`
false
head
nil
error
head
cons
`x`
`xs`
`x`
tail
nil
nil
tail
cons
`x`
`xs`
`xs`
ge
`x`
0
true
ge
0
s
`y`
false
ge
s
`x`
s
`y`
ge
`x`
`y`
a
b
a
c
prod
1
prodIter
2
s
1
0
0
ifProd
3
isempty
1
true
0
false
0
tail
1
times
2
head
1
plus
2
timesIter
4
ifTimes
5
ge
2
nil
0
cons
2
error
0
a
0
b
0
c
0
FULL
./TRS/secret07/aprove/aprove05.trs