; @origtpdbfilename ./TRS/TRCSR/ExIntrod_Zan97_GM.trs
; @xtcfilename "./TRS_Standard/Transformed_CSR_04/ExIntrod_Zan97_GM.xml"
(format TRS)
(fun a__fact 1)
(fun a__if 3)
(fun a__zero 1)
(fun mark 1)
(fun s 1)
(fun |0| 0)
(fun prod 2)
(fun fact 1)
(fun p 1)
(fun a__add 2)
(fun a__prod 2)
(fun true 0)
(fun false 0)
(fun a__p 1)
(fun if 3)
(fun zero 1)
(fun add 2)
(rule (a__fact X) (a__if (a__zero (mark X)) (s |0|) (prod X (fact (p X)))))
(rule (a__add |0| X) (mark X))
(rule (a__add (s X) Y) (s (a__add (mark X) (mark Y))))
(rule (a__prod |0| X) |0|)
(rule (a__prod (s X) Y) (a__add (mark Y) (a__prod (mark X) (mark Y))))
(rule (a__if true X Y) (mark X))
(rule (a__if false X Y) (mark Y))
(rule (a__zero |0|) true)
(rule (a__zero (s X)) false)
(rule (a__p (s X)) (mark X))
(rule (mark (fact X)) (a__fact (mark X)))
(rule (mark (if X1 X2 X3)) (a__if (mark X1) X2 X3))
(rule (mark (zero X)) (a__zero (mark X)))
(rule (mark (prod X1 X2)) (a__prod (mark X1) (mark X2)))
(rule (mark (p X)) (a__p (mark X)))
(rule (mark (add X1 X2)) (a__add (mark X1) (mark X2)))
(rule (mark (s X)) (s (mark X)))
(rule (mark |0|) |0|)
(rule (mark true) true)
(rule (mark false) false)
(rule (a__fact X) (fact X))
(rule (a__if X1 X2 X3) (if X1 X2 X3))
(rule (a__zero X) (zero X))
(rule (a__prod X1 X2) (prod X1 X2))
(rule (a__p X) (p X))
(rule (a__add X1 X2) (add X1 X2))