3.41/1.45 YES 3.41/1.45 3.41/1.45 Proof: 3.41/1.45 This system is confluent. 3.41/1.45 By \cite{ALS94}, Theorem 4.1. 3.41/1.45 This system is of type 3 or smaller. 3.41/1.45 This system is strongly deterministic. 3.41/1.45 This system is quasi-decreasing. 3.41/1.45 By \cite{A14}, Theorem 11.5.9. 3.41/1.45 This system is of type 3 or smaller. 3.41/1.45 This system is deterministic. 3.41/1.45 System R transformed to V(R) + Emb. 3.41/1.45 This system is terminating. 3.41/1.45 Call external tool: 3.41/1.45 ./ttt2.sh 3.41/1.45 Input: 3.41/1.45 pos(s(0)) -> true 3.41/1.45 pos(0) -> false 3.41/1.45 pos(s(x)) -> true 3.41/1.45 pos(s(x)) -> pos(x) 3.41/1.45 pos(p(x)) -> false 3.41/1.45 pos(p(x)) -> pos(x) 3.41/1.45 pos(x) -> x 3.41/1.45 p(x) -> x 3.41/1.45 s(x) -> x 3.41/1.45 3.41/1.45 Matrix Interpretation Processor: dim=3 3.41/1.45 3.41/1.45 interpretation: 3.41/1.45 3.41/1.45 [p](x0) = x0 3.41/1.45 , 3.41/1.45 3.41/1.45 [0] 3.41/1.45 [false] = [0] 3.41/1.45 [0], 3.41/1.46 3.41/1.46 [0] 3.41/1.46 [true] = [0] 3.41/1.46 [0], 3.41/1.46 3.41/1.46 [1] 3.41/1.46 [pos](x0) = x0 + [0] 3.41/1.46 [0], 3.41/1.46 3.41/1.46 3.41/1.46 [s](x0) = x0 3.41/1.46 , 3.41/1.46 3.41/1.46 [0] 3.41/1.46 [0] = [0] 3.41/1.46 [0] 3.41/1.46 orientation: 3.41/1.46 [1] [0] 3.41/1.46 pos(s(0())) = [0] >= [0] = true() 3.41/1.46 [0] [0] 3.41/1.46 3.41/1.46 [1] [0] 3.41/1.46 pos(0()) = [0] >= [0] = false() 3.41/1.46 [0] [0] 3.41/1.46 3.41/1.46 [1] [0] 3.41/1.46 pos(s(x)) = x + [0] >= [0] = true() 3.41/1.46 [0] [0] 3.41/1.46 3.41/1.46 [1] [1] 3.41/1.46 pos(s(x)) = x + [0] >= x + [0] = pos(x) 3.41/1.46 [0] [0] 3.41/1.46 3.41/1.46 [1] [0] 3.41/1.46 pos(p(x)) = x + [0] >= [0] = false() 3.41/1.46 [0] [0] 3.41/1.46 3.41/1.46 [1] [1] 3.41/1.46 pos(p(x)) = x + [0] >= x + [0] = pos(x) 3.41/1.46 [0] [0] 3.41/1.46 3.41/1.46 [1] 3.41/1.46 pos(x) = x + [0] >= x = x 3.41/1.46 [0] 3.41/1.46 3.41/1.46 3.41/1.46 p(x) = x >= x = x 3.41/1.46 3.41/1.46 3.41/1.46 3.41/1.46 s(x) = x >= x = x 3.41/1.46 3.41/1.46 problem: 3.41/1.46 pos(s(x)) -> pos(x) 3.41/1.46 pos(p(x)) -> pos(x) 3.41/1.46 p(x) -> x 3.41/1.46 s(x) -> x 3.41/1.46 Matrix Interpretation Processor: dim=3 3.41/1.46 3.41/1.46 interpretation: 3.41/1.46 [1] 3.41/1.46 [p](x0) = x0 + [0] 3.41/1.46 [0], 3.41/1.46 3.41/1.46 [1 0 0] [0] 3.41/1.46 [pos](x0) = [0 0 0]x0 + [0] 3.41/1.46 [0 0 0] [1], 3.41/1.46 3.41/1.46 [1] 3.41/1.46 [s](x0) = x0 + [0] 3.41/1.46 [0] 3.41/1.46 orientation: 3.41/1.46 [1 0 0] [1] [1 0 0] [0] 3.41/1.46 pos(s(x)) = [0 0 0]x + [0] >= [0 0 0]x + [0] = pos(x) 3.41/1.46 [0 0 0] [1] [0 0 0] [1] 3.41/1.46 3.41/1.46 [1 0 0] [1] [1 0 0] [0] 3.41/1.46 pos(p(x)) = [0 0 0]x + [0] >= [0 0 0]x + [0] = pos(x) 3.41/1.46 [0 0 0] [1] [0 0 0] [1] 3.41/1.46 3.41/1.46 [1] 3.41/1.46 p(x) = x + [0] >= x = x 3.41/1.46 [0] 3.41/1.46 3.41/1.46 [1] 3.41/1.46 s(x) = x + [0] >= x = x 3.41/1.46 [0] 3.41/1.46 problem: 3.41/1.46 3.41/1.46 Qed 3.41/1.46 All 2 critical pairs are joinable. 3.41/1.46 Overlap: (rule1: pos(s(y)) -> true <= pos(y) = true, rule2: pos(s(0)) -> true, pos: ε, mgu: {(y,0)}) 3.41/1.46 CP: true = true <= pos(0) = true 3.41/1.46 This critical pair is context-joinable. 3.41/1.46 Overlap: (rule1: pos(s(0)) -> true, rule2: pos(s(y)) -> true <= pos(y) = true, pos: ε, mgu: {(y,0)}) 3.41/1.46 CP: true = true <= pos(0) = true 3.41/1.46 This critical pair is context-joinable. 3.41/1.46 3.60/1.49 EOF