YES TPA v.1.0 Result: TRS is terminating Default interpretations for symbols are not printed. For polynomial interpretations and semantic labelling over N\{0,1} defaults are 2 for constants, identity for unary symbols and x+y-2 for binary symbols. For semantic labelling over {0,1} (booleans) defaults are 0 for constants, identity for unary symbols and disjunction for binary symbols. [1] TRS loaded from input file: (1) app(app(minus,x),0) -> x (2) app(app(minus,app(s,x)),app(s,y)) -> app(app(minus,x),y) (3) app(app(quot,0),app(s,y)) -> 0 (4) app(app(quot,app(s,x)),app(s,y)) -> app(s,app(app(quot,app(app(minus,x),y)),app(s,y))) (5) app(log,app(s,0)) -> 0 (6) app(log,app(s,app(s,x))) -> app(s,app(log,app(s,app(app(quot,x),app(s,app(s,0)))))) [2] Apply uncurrying transformation with as function application symbol to obtain the following TRS: (1) minus(x,0) -> x (2) minus(s(x),s(y)) -> minus(x,y) (3) quot(0,s(y)) -> 0 (4) quot(s(x),s(y)) -> s(quot(minus(x,y),s(y))) (5) log(s(0)) -> 0 (6) log(s(s(x))) -> s(log(s(quot(x,s(s(0)))))) [3] Apply the Dependency Pair transformation resulting in the following dependency pairs: and 3 SCCs in the dependency graph. Proofs for those SCCs follow. [3a-1] Consider the following SCC obtained from analysis of dependency graph: (1) minus(x,0) ->= x (2) minus(s(x),s(y)) ->= minus(x,y) (3) quot(0,s(y)) ->= 0 (4) quot(s(x),s(y)) ->= s(quot(minus(x,y),s(y))) (5) log(s(0)) ->= 0 (6) log(s(s(x))) ->= s(log(s(quot(x,s(s(0)))))) (DP4) Log(s(s(x))) -> Log(s(quot(x,s(s(0))))) [3a-2] Use following polynomial interpretation: [minus(x,y)] = x [s(x)] = x + 1 [quot(x,y)] = x rest default Remove rules with left hand side strictly bigger than right hand side: (2), (5), (DP4) [3a-3] Since there are no remaining strict rules, relative termination is proved! [3b-1] Consider the following SCC obtained from analysis of dependency graph: (1) minus(x,0) ->= x (2) minus(s(x),s(y)) ->= minus(x,y) (3) quot(0,s(y)) ->= 0 (4) quot(s(x),s(y)) ->= s(quot(minus(x,y),s(y))) (5) log(s(0)) ->= 0 (6) log(s(s(x))) ->= s(log(s(quot(x,s(s(0)))))) (DP2) Quot(s(x),s(y)) -> Quot(minus(x,y),s(y)) [3b-2] Use following polynomial interpretation: [minus(x,y)] = x [s(x)] = x + 1 [quot(x,y)] = x rest default Remove rules with left hand side strictly bigger than right hand side: (2), (5), (DP2) [3b-3] Since there are no remaining strict rules, relative termination is proved! [3c-1] Consider the following SCC obtained from analysis of dependency graph: (1) minus(x,0) ->= x (2) minus(s(x),s(y)) ->= minus(x,y) (3) quot(0,s(y)) ->= 0 (4) quot(s(x),s(y)) ->= s(quot(minus(x,y),s(y))) (5) log(s(0)) ->= 0 (6) log(s(s(x))) ->= s(log(s(quot(x,s(s(0)))))) (DP1) Minus(s(x),s(y)) -> Minus(x,y) [3c-2] Use following polynomial interpretation: [minus(x,y)] = x [s(x)] = x + 1 [quot(x,y)] = x rest default Remove rules with left hand side strictly bigger than right hand side: (2), (5), (DP1) [3c-3] Since there are no remaining strict rules, relative termination is proved! ../tpdb/TRS/currying/AG01/#3.8.trs, 0.01, Y Couldn't open file <60>: 60: No such file or directory