; @origtpdbfilename ./TRS/TRCSR/ExAppendixB_AEL03_Z.trs
; @xtcfilename "./TRS_Standard/Transformed_CSR_04/ExAppendixB_AEL03_Z.xml"
(format TRS)
(fun from 1)
(fun cons 2)
(fun n__from 1)
(fun s 1)
(fun |2ndspos| 2)
(fun |0| 0)
(fun rnil 0)
(fun cons2 2)
(fun activate 1)
(fun rcons 2)
(fun posrecip 1)
(fun |2ndsneg| 2)
(fun negrecip 1)
(fun pi 1)
(fun plus 2)
(fun times 2)
(fun square 1)
(rule (from X) (cons X (n__from (s X))))
(rule (|2ndspos| |0| Z) rnil)
(rule (|2ndspos| (s N) (cons X Z)) (|2ndspos| (s N) (cons2 X (activate Z))))
(rule (|2ndspos| (s N) (cons2 X (cons Y Z))) (rcons (posrecip Y) (|2ndsneg| N (activate Z))))
(rule (|2ndsneg| |0| Z) rnil)
(rule (|2ndsneg| (s N) (cons X Z)) (|2ndsneg| (s N) (cons2 X (activate Z))))
(rule (|2ndsneg| (s N) (cons2 X (cons Y Z))) (rcons (negrecip Y) (|2ndspos| N (activate Z))))
(rule (pi X) (|2ndspos| X (from |0|)))
(rule (plus |0| Y) Y)
(rule (plus (s X) Y) (s (plus X Y)))
(rule (times |0| Y) |0|)
(rule (times (s X) Y) (plus Y (times X Y)))
(rule (square X) (times X X))
(rule (from X) (n__from X))
(rule (activate (n__from X)) (from X))
(rule (activate X) X)