; @origtpdbfilename ./TRS/Zantema06/gcdMinMax.trs
; @xtcfilename "./TRS_Standard/Mixed_TRS/gcdMinMax.xml"
(format TRS)
(fun min 2)
(fun |0| 0)
(fun s 1)
(fun max 2)
(fun - 2)
(fun gcd 2)
(rule (min x |0|) |0|)
(rule (min |0| y) |0|)
(rule (min (s x) (s y)) (s (min x y)))
(rule (max x |0|) x)
(rule (max |0| y) y)
(rule (max (s x) (s y)) (s (max x y)))
(rule (- x |0|) x)
(rule (- (s x) (s y)) (- x y))
(rule (gcd (s x) (s y)) (gcd (- (s (max x y)) (s (min x y))) (s (min x y))))
(rule (gcd (s x) |0|) (s x))
(rule (gcd |0| (s y)) (s y))