; @origtpdbfilename ./TRS/secret06/aprove/logarithm.trs
; @xtcfilename "./TRS_Standard/Secret_06_TRS/logarithm.xml"
(format TRS)
(fun half 1)
(fun |0| 0)
(fun s 1)
(fun le 2)
(fun true 0)
(fun false 0)
(fun inc 1)
(fun logarithm 1)
(fun logIter 2)
(fun if 4)
(fun logZeroError 0)
(fun f 0)
(fun g 0)
(fun h 0)
(rule (half |0|) |0|)
(rule (half (s |0|)) |0|)
(rule (half (s (s x))) (s (half x)))
(rule (le |0| y) true)
(rule (le (s x) |0|) false)
(rule (le (s x) (s y)) (le x y))
(rule (inc (s x)) (s (inc x)))
(rule (inc |0|) (s |0|))
(rule (logarithm x) (logIter x |0|))
(rule (logIter x y) (if (le (s |0|) x) (le (s (s |0|)) x) (half x) (inc y)))
(rule (if false b x y) logZeroError)
(rule (if true false x (s y)) y)
(rule (if true true x y) (logIter x y))
(rule f g)
(rule f h)