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) top(ok(new(x))) -> top(check(x)) (2) top(ok(old(x))) -> top(check(x)) (3) bot ->= new(bot) (4) check(new(x)) ->= new(check(x)) (5) check(old(x)) ->= old(check(x)) (6) check(old(x)) ->= ok(old(x)) (7) new(ok(x)) ->= ok(new(x)) (8) old(ok(x)) ->= ok(old(x)) [2] Use following polynomial interpretation: [old(x)] = x + 1 rest default Remove rules with left hand side strictly bigger than right hand side: (2) [3] Label this TRS using following interpretation that is a model: [top(x)] = 0 [old(x)] = 1 rest default thus obtaining new TRS: (1a) top$1(ok$1(new$1(x))) -> top$1(check$1(x)) (1b) top$0(ok$0(new$0(x))) -> top$0(check$0(x)) (3a) bot ->= new$0(bot) (4a) check$1(new$1(x)) ->= new$1(check$1(x)) (4b) check$0(new$0(x)) ->= new$0(check$0(x)) (5a) check$1(old$1(x)) ->= old$1(check$1(x)) (5b) check$1(old$0(x)) ->= old$0(check$0(x)) (6a) check$1(old$1(x)) ->= ok$1(old$1(x)) (6b) check$1(old$0(x)) ->= ok$1(old$0(x)) (7a) new$1(ok$1(x)) ->= ok$1(new$1(x)) (7b) new$0(ok$0(x)) ->= ok$0(new$0(x)) (8a) old$1(ok$1(x)) ->= ok$1(old$1(x)) (8b) old$0(ok$0(x)) ->= ok$1(old$0(x)) [4] Use following polynomial interpretation: [ok$0(x)] = x + 1 rest default Remove rules with left hand side strictly bigger than right hand side: (1b), (8b) [5] Use following polynomial interpretation: [new$1(x)] = x + 1 rest default Remove rules with left hand side strictly bigger than right hand side: (1a) [6] Since there are no remaining strict rules, relative termination is proved! ../tpdb/TRS/relative/rtL-wl1nz.trs, 0.01, Y Couldn't open file <60>: 60: No such file or directory