; @origtpdbfilename ./AProVE_09_Inductive/gcd.trs
; @xtcfilename "./TRS_Standard/AProVE_09_Inductive/gcd.xml"
(format TRS)
(fun minus 2)
(fun s 1)
(fun if 3)
(fun gt 2)
(fun true 0)
(fun false 0)
(fun |0| 0)
(fun gcd 2)
(fun if1 3)
(fun ge 2)
(fun if2 3)
(rule (minus (s x) y) (if (gt (s x) y) x y))
(rule (if true x y) (s (minus x y)))
(rule (if false x y) |0|)
(rule (gcd x y) (if1 (ge x y) x y))
(rule (if1 true x y) (if2 (gt y |0|) x y))
(rule (if1 false x y) (gcd y x))
(rule (if2 true x y) (gcd (minus x y) y))
(rule (if2 false x y) x)
(rule (gt |0| y) false)
(rule (gt (s x) |0|) true)
(rule (gt (s x) (s y)) (gt x y))
(rule (ge x |0|) true)
(rule (ge |0| (s x)) false)
(rule (ge (s x) (s y)) (ge x y))