; @origtpdbfilename ./TRS/Thiemann/factorial1.trs
; @xtcfilename "./TRS_Standard/AProVE_06/factorial1.xml"
(format TRS)
(fun plus 2)
(fun |0| 0)
(fun s 1)
(fun p 1)
(fun times 2)
(fun fac 2)
(fun factorial 1)
(rule (plus |0| x) x)
(rule (plus (s x) y) (s (plus (p (s x)) y)))
(rule (times |0| y) |0|)
(rule (times (s x) y) (plus y (times (p (s x)) y)))
(rule (p (s |0|)) |0|)
(rule (p (s (s x))) (s (p (s x))))
(rule (fac |0| x) x)
(rule (fac (s x) y) (fac (p (s x)) (times (s x) y)))
(rule (factorial x) (fac x (s |0|)))