YES We show the termination of the TRS R: |0|(|#|()) -> |#|() +(|#|(),x) -> x +(x,|#|()) -> x +(|0|(x),|0|(y)) -> |0|(+(x,y)) +(|0|(x),|1|(y)) -> |1|(+(x,y)) +(|1|(x),|0|(y)) -> |1|(+(x,y)) +(|1|(x),|1|(y)) -> |0|(+(+(x,y),|1|(|#|()))) +(+(x,y),z) -> +(x,+(y,z)) -(|#|(),x) -> |#|() -(x,|#|()) -> x -(|0|(x),|0|(y)) -> |0|(-(x,y)) -(|0|(x),|1|(y)) -> |1|(-(-(x,y),|1|(|#|()))) -(|1|(x),|0|(y)) -> |1|(-(x,y)) -(|1|(x),|1|(y)) -> |0|(-(x,y)) not(true()) -> false() not(false()) -> true() if(true(),x,y) -> x if(false(),x,y) -> y ge(|0|(x),|0|(y)) -> ge(x,y) ge(|0|(x),|1|(y)) -> not(ge(y,x)) ge(|1|(x),|0|(y)) -> ge(x,y) ge(|1|(x),|1|(y)) -> ge(x,y) ge(x,|#|()) -> true() ge(|#|(),|0|(x)) -> ge(|#|(),x) ge(|#|(),|1|(x)) -> false() log(x) -> -(|log'|(x),|1|(|#|())) |log'|(|#|()) -> |#|() |log'|(|1|(x)) -> +(|log'|(x),|1|(|#|())) |log'|(|0|(x)) -> if(ge(x,|1|(|#|())),+(|log'|(x),|1|(|#|())),|#|()) -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: +#(|0|(x),|0|(y)) -> |0|#(+(x,y)) p2: +#(|0|(x),|0|(y)) -> +#(x,y) p3: +#(|0|(x),|1|(y)) -> +#(x,y) p4: +#(|1|(x),|0|(y)) -> +#(x,y) p5: +#(|1|(x),|1|(y)) -> |0|#(+(+(x,y),|1|(|#|()))) p6: +#(|1|(x),|1|(y)) -> +#(+(x,y),|1|(|#|())) p7: +#(|1|(x),|1|(y)) -> +#(x,y) p8: +#(+(x,y),z) -> +#(x,+(y,z)) p9: +#(+(x,y),z) -> +#(y,z) p10: -#(|0|(x),|0|(y)) -> |0|#(-(x,y)) p11: -#(|0|(x),|0|(y)) -> -#(x,y) p12: -#(|0|(x),|1|(y)) -> -#(-(x,y),|1|(|#|())) p13: -#(|0|(x),|1|(y)) -> -#(x,y) p14: -#(|1|(x),|0|(y)) -> -#(x,y) p15: -#(|1|(x),|1|(y)) -> |0|#(-(x,y)) p16: -#(|1|(x),|1|(y)) -> -#(x,y) p17: ge#(|0|(x),|0|(y)) -> ge#(x,y) p18: ge#(|0|(x),|1|(y)) -> not#(ge(y,x)) p19: ge#(|0|(x),|1|(y)) -> ge#(y,x) p20: ge#(|1|(x),|0|(y)) -> ge#(x,y) p21: ge#(|1|(x),|1|(y)) -> ge#(x,y) p22: ge#(|#|(),|0|(x)) -> ge#(|#|(),x) p23: log#(x) -> -#(|log'|(x),|1|(|#|())) p24: log#(x) -> |log'|#(x) p25: |log'|#(|1|(x)) -> +#(|log'|(x),|1|(|#|())) p26: |log'|#(|1|(x)) -> |log'|#(x) p27: |log'|#(|0|(x)) -> if#(ge(x,|1|(|#|())),+(|log'|(x),|1|(|#|())),|#|()) p28: |log'|#(|0|(x)) -> ge#(x,|1|(|#|())) p29: |log'|#(|0|(x)) -> +#(|log'|(x),|1|(|#|())) p30: |log'|#(|0|(x)) -> |log'|#(x) and R consists of: r1: |0|(|#|()) -> |#|() r2: +(|#|(),x) -> x r3: +(x,|#|()) -> x r4: +(|0|(x),|0|(y)) -> |0|(+(x,y)) r5: +(|0|(x),|1|(y)) -> |1|(+(x,y)) r6: +(|1|(x),|0|(y)) -> |1|(+(x,y)) r7: +(|1|(x),|1|(y)) -> |0|(+(+(x,y),|1|(|#|()))) r8: +(+(x,y),z) -> +(x,+(y,z)) r9: -(|#|(),x) -> |#|() r10: -(x,|#|()) -> x r11: -(|0|(x),|0|(y)) -> |0|(-(x,y)) r12: -(|0|(x),|1|(y)) -> |1|(-(-(x,y),|1|(|#|()))) r13: -(|1|(x),|0|(y)) -> |1|(-(x,y)) r14: -(|1|(x),|1|(y)) -> |0|(-(x,y)) r15: not(true()) -> false() r16: not(false()) -> true() r17: if(true(),x,y) -> x r18: if(false(),x,y) -> y r19: ge(|0|(x),|0|(y)) -> ge(x,y) r20: ge(|0|(x),|1|(y)) -> not(ge(y,x)) r21: ge(|1|(x),|0|(y)) -> ge(x,y) r22: ge(|1|(x),|1|(y)) -> ge(x,y) r23: ge(x,|#|()) -> true() r24: ge(|#|(),|0|(x)) -> ge(|#|(),x) r25: ge(|#|(),|1|(x)) -> false() r26: log(x) -> -(|log'|(x),|1|(|#|())) r27: |log'|(|#|()) -> |#|() r28: |log'|(|1|(x)) -> +(|log'|(x),|1|(|#|())) r29: |log'|(|0|(x)) -> if(ge(x,|1|(|#|())),+(|log'|(x),|1|(|#|())),|#|()) The estimated dependency graph contains the following SCCs: {p26, p30} {p2, p3, p4, p6, p7, p8, p9} {p11, p12, p13, p14, p16} {p17, p19, p20, p21} {p22} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: |log'|#(|0|(x)) -> |log'|#(x) p2: |log'|#(|1|(x)) -> |log'|#(x) and R consists of: r1: |0|(|#|()) -> |#|() r2: +(|#|(),x) -> x r3: +(x,|#|()) -> x r4: +(|0|(x),|0|(y)) -> |0|(+(x,y)) r5: +(|0|(x),|1|(y)) -> |1|(+(x,y)) r6: +(|1|(x),|0|(y)) -> |1|(+(x,y)) r7: +(|1|(x),|1|(y)) -> |0|(+(+(x,y),|1|(|#|()))) r8: +(+(x,y),z) -> +(x,+(y,z)) r9: -(|#|(),x) -> |#|() r10: -(x,|#|()) -> x r11: -(|0|(x),|0|(y)) -> |0|(-(x,y)) r12: -(|0|(x),|1|(y)) -> |1|(-(-(x,y),|1|(|#|()))) r13: -(|1|(x),|0|(y)) -> |1|(-(x,y)) r14: -(|1|(x),|1|(y)) -> |0|(-(x,y)) r15: not(true()) -> false() r16: not(false()) -> true() r17: if(true(),x,y) -> x r18: if(false(),x,y) -> y r19: ge(|0|(x),|0|(y)) -> ge(x,y) r20: ge(|0|(x),|1|(y)) -> not(ge(y,x)) r21: ge(|1|(x),|0|(y)) -> ge(x,y) r22: ge(|1|(x),|1|(y)) -> ge(x,y) r23: ge(x,|#|()) -> true() r24: ge(|#|(),|0|(x)) -> ge(|#|(),x) r25: ge(|#|(),|1|(x)) -> false() r26: log(x) -> -(|log'|(x),|1|(|#|())) r27: |log'|(|#|()) -> |#|() r28: |log'|(|1|(x)) -> +(|log'|(x),|1|(|#|())) r29: |log'|(|0|(x)) -> if(ge(x,|1|(|#|())),+(|log'|(x),|1|(|#|())),|#|()) The set of usable rules consists of (no rules) Take the monotone reduction pair: lexicographic combination of reduction pairs: 1. weighted path order base order: max/plus interpretations on natural numbers: |log'|#_A(x1) = max{6, x1 + 4} |0|_A(x1) = max{4, x1 + 3} |1|_A(x1) = max{2, x1 + 1} precedence: |log'|# = |0| = |1| partial status: pi(|log'|#) = [1] pi(|0|) = [1] pi(|1|) = [1] 2. weighted path order base order: max/plus interpretations on natural numbers: |log'|#_A(x1) = x1 + 1 |0|_A(x1) = x1 |1|_A(x1) = x1 precedence: |log'|# = |0| = |1| partial status: pi(|log'|#) = [1] pi(|0|) = [1] pi(|1|) = [1] The next rules are strictly ordered: p1, p2 We remove them from the problem. Then no dependency pair remains. -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: +#(|0|(x),|0|(y)) -> +#(x,y) p2: +#(+(x,y),z) -> +#(y,z) p3: +#(+(x,y),z) -> +#(x,+(y,z)) p4: +#(|1|(x),|1|(y)) -> +#(x,y) p5: +#(|1|(x),|1|(y)) -> +#(+(x,y),|1|(|#|())) p6: +#(|0|(x),|1|(y)) -> +#(x,y) p7: +#(|1|(x),|0|(y)) -> +#(x,y) and R consists of: r1: |0|(|#|()) -> |#|() r2: +(|#|(),x) -> x r3: +(x,|#|()) -> x r4: +(|0|(x),|0|(y)) -> |0|(+(x,y)) r5: +(|0|(x),|1|(y)) -> |1|(+(x,y)) r6: +(|1|(x),|0|(y)) -> |1|(+(x,y)) r7: +(|1|(x),|1|(y)) -> |0|(+(+(x,y),|1|(|#|()))) r8: +(+(x,y),z) -> +(x,+(y,z)) r9: -(|#|(),x) -> |#|() r10: -(x,|#|()) -> x r11: -(|0|(x),|0|(y)) -> |0|(-(x,y)) r12: -(|0|(x),|1|(y)) -> |1|(-(-(x,y),|1|(|#|()))) r13: -(|1|(x),|0|(y)) -> |1|(-(x,y)) r14: -(|1|(x),|1|(y)) -> |0|(-(x,y)) r15: not(true()) -> false() r16: not(false()) -> true() r17: if(true(),x,y) -> x r18: if(false(),x,y) -> y r19: ge(|0|(x),|0|(y)) -> ge(x,y) r20: ge(|0|(x),|1|(y)) -> not(ge(y,x)) r21: ge(|1|(x),|0|(y)) -> ge(x,y) r22: ge(|1|(x),|1|(y)) -> ge(x,y) r23: ge(x,|#|()) -> true() r24: ge(|#|(),|0|(x)) -> ge(|#|(),x) r25: ge(|#|(),|1|(x)) -> false() r26: log(x) -> -(|log'|(x),|1|(|#|())) r27: |log'|(|#|()) -> |#|() r28: |log'|(|1|(x)) -> +(|log'|(x),|1|(|#|())) r29: |log'|(|0|(x)) -> if(ge(x,|1|(|#|())),+(|log'|(x),|1|(|#|())),|#|()) The set of usable rules consists of r1, r2, r3, r4, r5, r6, r7, r8 Take the reduction pair: lexicographic combination of reduction pairs: 1. weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: +#_A(x1,x2) = ((1,0),(1,0)) x1 + ((1,0),(0,0)) x2 + (6,3) |0|_A(x1) = ((1,0),(1,1)) x1 + (1,10) +_A(x1,x2) = x1 + ((1,0),(0,0)) x2 + (2,9) |1|_A(x1) = ((1,0),(0,0)) x1 + (5,2) |#|_A() = (1,1) precedence: +# = |0| = + = |1| = |#| partial status: pi(+#) = [] pi(|0|) = [] pi(+) = [] pi(|1|) = [] pi(|#|) = [] 2. weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: +#_A(x1,x2) = (1,2) |0|_A(x1) = ((1,0),(1,0)) x1 +_A(x1,x2) = ((1,0),(1,1)) x1 |1|_A(x1) = (2,1) |#|_A() = (0,0) precedence: +# = |1| = |#| > |0| = + partial status: pi(+#) = [] pi(|0|) = [] pi(+) = [1] pi(|1|) = [] pi(|#|) = [] The next rules are strictly ordered: p2, p6 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: +#(|0|(x),|0|(y)) -> +#(x,y) p2: +#(+(x,y),z) -> +#(x,+(y,z)) p3: +#(|1|(x),|1|(y)) -> +#(x,y) p4: +#(|1|(x),|1|(y)) -> +#(+(x,y),|1|(|#|())) p5: +#(|1|(x),|0|(y)) -> +#(x,y) and R consists of: r1: |0|(|#|()) -> |#|() r2: +(|#|(),x) -> x r3: +(x,|#|()) -> x r4: +(|0|(x),|0|(y)) -> |0|(+(x,y)) r5: +(|0|(x),|1|(y)) -> |1|(+(x,y)) r6: +(|1|(x),|0|(y)) -> |1|(+(x,y)) r7: +(|1|(x),|1|(y)) -> |0|(+(+(x,y),|1|(|#|()))) r8: +(+(x,y),z) -> +(x,+(y,z)) r9: -(|#|(),x) -> |#|() r10: -(x,|#|()) -> x r11: -(|0|(x),|0|(y)) -> |0|(-(x,y)) r12: -(|0|(x),|1|(y)) -> |1|(-(-(x,y),|1|(|#|()))) r13: -(|1|(x),|0|(y)) -> |1|(-(x,y)) r14: -(|1|(x),|1|(y)) -> |0|(-(x,y)) r15: not(true()) -> false() r16: not(false()) -> true() r17: if(true(),x,y) -> x r18: if(false(),x,y) -> y r19: ge(|0|(x),|0|(y)) -> ge(x,y) r20: ge(|0|(x),|1|(y)) -> not(ge(y,x)) r21: ge(|1|(x),|0|(y)) -> ge(x,y) r22: ge(|1|(x),|1|(y)) -> ge(x,y) r23: ge(x,|#|()) -> true() r24: ge(|#|(),|0|(x)) -> ge(|#|(),x) r25: ge(|#|(),|1|(x)) -> false() r26: log(x) -> -(|log'|(x),|1|(|#|())) r27: |log'|(|#|()) -> |#|() r28: |log'|(|1|(x)) -> +(|log'|(x),|1|(|#|())) r29: |log'|(|0|(x)) -> if(ge(x,|1|(|#|())),+(|log'|(x),|1|(|#|())),|#|()) The estimated dependency graph contains the following SCCs: {p1, p2, p3, p4, p5} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: +#(|0|(x),|0|(y)) -> +#(x,y) p2: +#(|1|(x),|0|(y)) -> +#(x,y) p3: +#(|1|(x),|1|(y)) -> +#(+(x,y),|1|(|#|())) p4: +#(|1|(x),|1|(y)) -> +#(x,y) p5: +#(+(x,y),z) -> +#(x,+(y,z)) and R consists of: r1: |0|(|#|()) -> |#|() r2: +(|#|(),x) -> x r3: +(x,|#|()) -> x r4: +(|0|(x),|0|(y)) -> |0|(+(x,y)) r5: +(|0|(x),|1|(y)) -> |1|(+(x,y)) r6: +(|1|(x),|0|(y)) -> |1|(+(x,y)) r7: +(|1|(x),|1|(y)) -> |0|(+(+(x,y),|1|(|#|()))) r8: +(+(x,y),z) -> +(x,+(y,z)) r9: -(|#|(),x) -> |#|() r10: -(x,|#|()) -> x r11: -(|0|(x),|0|(y)) -> |0|(-(x,y)) r12: -(|0|(x),|1|(y)) -> |1|(-(-(x,y),|1|(|#|()))) r13: -(|1|(x),|0|(y)) -> |1|(-(x,y)) r14: -(|1|(x),|1|(y)) -> |0|(-(x,y)) r15: not(true()) -> false() r16: not(false()) -> true() r17: if(true(),x,y) -> x r18: if(false(),x,y) -> y r19: ge(|0|(x),|0|(y)) -> ge(x,y) r20: ge(|0|(x),|1|(y)) -> not(ge(y,x)) r21: ge(|1|(x),|0|(y)) -> ge(x,y) r22: ge(|1|(x),|1|(y)) -> ge(x,y) r23: ge(x,|#|()) -> true() r24: ge(|#|(),|0|(x)) -> ge(|#|(),x) r25: ge(|#|(),|1|(x)) -> false() r26: log(x) -> -(|log'|(x),|1|(|#|())) r27: |log'|(|#|()) -> |#|() r28: |log'|(|1|(x)) -> +(|log'|(x),|1|(|#|())) r29: |log'|(|0|(x)) -> if(ge(x,|1|(|#|())),+(|log'|(x),|1|(|#|())),|#|()) The set of usable rules consists of r1, r2, r3, r4, r5, r6, r7, r8 Take the reduction pair: lexicographic combination of reduction pairs: 1. weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: +#_A(x1,x2) = x1 + ((1,0),(0,0)) x2 + (6,9) |0|_A(x1) = ((1,0),(1,1)) x1 + (2,2) |1|_A(x1) = x1 + (5,8) +_A(x1,x2) = ((1,0),(1,1)) x1 + x2 + (1,1) |#|_A() = (1,0) precedence: +# = |0| = |1| = + = |#| partial status: pi(+#) = [] pi(|0|) = [] pi(|1|) = [] pi(+) = [] pi(|#|) = [] 2. weighted path order base order: matrix interpretations: carrier: N^2 order: lexicographic order interpretations: +#_A(x1,x2) = x1 + (2,2) |0|_A(x1) = ((1,0),(0,0)) x1 + (12,6) |1|_A(x1) = x1 + (7,4) +_A(x1,x2) = ((1,0),(0,0)) x1 + (4,1) |#|_A() = (1,0) precedence: |0| = + > |1| = |#| > +# partial status: pi(+#) = [1] pi(|0|) = [] pi(|1|) = [] pi(+) = [] pi(|#|) = [] The next rules are strictly ordered: p1, p2, p3, p4 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: +#(+(x,y),z) -> +#(x,+(y,z)) and R consists of: r1: |0|(|#|()) -> |#|() r2: +(|#|(),x) -> x r3: +(x,|#|()) -> x r4: +(|0|(x),|0|(y)) -> |0|(+(x,y)) r5: +(|0|(x),|1|(y)) -> |1|(+(x,y)) r6: +(|1|(x),|0|(y)) -> |1|(+(x,y)) r7: +(|1|(x),|1|(y)) -> |0|(+(+(x,y),|1|(|#|()))) r8: +(+(x,y),z) -> +(x,+(y,z)) r9: -(|#|(),x) -> |#|() r10: -(x,|#|()) -> x r11: -(|0|(x),|0|(y)) -> |0|(-(x,y)) r12: -(|0|(x),|1|(y)) -> |1|(-(-(x,y),|1|(|#|()))) r13: -(|1|(x),|0|(y)) -> |1|(-(x,y)) r14: -(|1|(x),|1|(y)) -> |0|(-(x,y)) r15: not(true()) -> false() r16: not(false()) -> true() r17: if(true(),x,y) -> x r18: if(false(),x,y) -> y r19: ge(|0|(x),|0|(y)) -> ge(x,y) r20: ge(|0|(x),|1|(y)) -> not(ge(y,x)) r21: ge(|1|(x),|0|(y)) -> ge(x,y) r22: ge(|1|(x),|1|(y)) -> ge(x,y) r23: ge(x,|#|()) -> true() r24: ge(|#|(),|0|(x)) -> ge(|#|(),x) r25: ge(|#|(),|1|(x)) -> false() r26: log(x) -> -(|log'|(x),|1|(|#|())) r27: |log'|(|#|()) -> |#|() r28: |log'|(|1|(x)) -> +(|log'|(x),|1|(|#|())) r29: |log'|(|0|(x)) -> if(ge(x,|1|(|#|())),+(|log'|(x),|1|(|#|())),|#|()) The estimated dependency graph contains the following SCCs: {p1} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: +#(+(x,y),z) -> +#(x,+(y,z)) and R consists of: r1: |0|(|#|()) -> |#|() r2: +(|#|(),x) -> x r3: +(x,|#|()) -> x r4: +(|0|(x),|0|(y)) -> |0|(+(x,y)) r5: +(|0|(x),|1|(y)) -> |1|(+(x,y)) r6: +(|1|(x),|0|(y)) -> |1|(+(x,y)) r7: +(|1|(x),|1|(y)) -> |0|(+(+(x,y),|1|(|#|()))) r8: +(+(x,y),z) -> +(x,+(y,z)) r9: -(|#|(),x) -> |#|() r10: -(x,|#|()) -> x r11: -(|0|(x),|0|(y)) -> |0|(-(x,y)) r12: -(|0|(x),|1|(y)) -> |1|(-(-(x,y),|1|(|#|()))) r13: -(|1|(x),|0|(y)) -> |1|(-(x,y)) r14: -(|1|(x),|1|(y)) -> |0|(-(x,y)) r15: not(true()) -> false() r16: not(false()) -> true() r17: if(true(),x,y) -> x r18: if(false(),x,y) -> y r19: ge(|0|(x),|0|(y)) -> ge(x,y) r20: ge(|0|(x),|1|(y)) -> not(ge(y,x)) r21: ge(|1|(x),|0|(y)) -> ge(x,y) r22: ge(|1|(x),|1|(y)) -> ge(x,y) r23: ge(x,|#|()) -> true() r24: ge(|#|(),|0|(x)) -> ge(|#|(),x) r25: ge(|#|(),|1|(x)) -> false() r26: log(x) -> -(|log'|(x),|1|(|#|())) r27: |log'|(|#|()) -> |#|() r28: |log'|(|1|(x)) -> +(|log'|(x),|1|(|#|())) r29: |log'|(|0|(x)) -> if(ge(x,|1|(|#|())),+(|log'|(x),|1|(|#|())),|#|()) The set of usable rules consists of r1, r2, r3, r4, r5, r6, r7, r8 Take the reduction pair: lexicographic combination of reduction pairs: 1. weighted path order base order: max/plus interpretations on natural numbers: +#_A(x1,x2) = max{44, x1 + 30, x2 + 15} +_A(x1,x2) = max{14, x1 + 5, x2} |0|_A(x1) = 9 |#|_A = 0 |1|_A(x1) = 3 precedence: +# = + > |0| = |#| = |1| partial status: pi(+#) = [1, 2] pi(+) = [1, 2] pi(|0|) = [] pi(|#|) = [] pi(|1|) = [] 2. weighted path order base order: max/plus interpretations on natural numbers: +#_A(x1,x2) = max{x1 + 10, x2 + 14} +_A(x1,x2) = max{13, x1 + 4, x2 + 5} |0|_A(x1) = 21 |#|_A = 14 |1|_A(x1) = 11 precedence: +# = + = |0| = |#| = |1| partial status: pi(+#) = [1] pi(+) = [1, 2] pi(|0|) = [] pi(|#|) = [] pi(|1|) = [] The next rules are strictly ordered: p1 We remove them from the problem. Then no dependency pair remains. -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: -#(|0|(x),|0|(y)) -> -#(x,y) p2: -#(|1|(x),|1|(y)) -> -#(x,y) p3: -#(|1|(x),|0|(y)) -> -#(x,y) p4: -#(|0|(x),|1|(y)) -> -#(x,y) p5: -#(|0|(x),|1|(y)) -> -#(-(x,y),|1|(|#|())) and R consists of: r1: |0|(|#|()) -> |#|() r2: +(|#|(),x) -> x r3: +(x,|#|()) -> x r4: +(|0|(x),|0|(y)) -> |0|(+(x,y)) r5: +(|0|(x),|1|(y)) -> |1|(+(x,y)) r6: +(|1|(x),|0|(y)) -> |1|(+(x,y)) r7: +(|1|(x),|1|(y)) -> |0|(+(+(x,y),|1|(|#|()))) r8: +(+(x,y),z) -> +(x,+(y,z)) r9: -(|#|(),x) -> |#|() r10: -(x,|#|()) -> x r11: -(|0|(x),|0|(y)) -> |0|(-(x,y)) r12: -(|0|(x),|1|(y)) -> |1|(-(-(x,y),|1|(|#|()))) r13: -(|1|(x),|0|(y)) -> |1|(-(x,y)) r14: -(|1|(x),|1|(y)) -> |0|(-(x,y)) r15: not(true()) -> false() r16: not(false()) -> true() r17: if(true(),x,y) -> x r18: if(false(),x,y) -> y r19: ge(|0|(x),|0|(y)) -> ge(x,y) r20: ge(|0|(x),|1|(y)) -> not(ge(y,x)) r21: ge(|1|(x),|0|(y)) -> ge(x,y) r22: ge(|1|(x),|1|(y)) -> ge(x,y) r23: ge(x,|#|()) -> true() r24: ge(|#|(),|0|(x)) -> ge(|#|(),x) r25: ge(|#|(),|1|(x)) -> false() r26: log(x) -> -(|log'|(x),|1|(|#|())) r27: |log'|(|#|()) -> |#|() r28: |log'|(|1|(x)) -> +(|log'|(x),|1|(|#|())) r29: |log'|(|0|(x)) -> if(ge(x,|1|(|#|())),+(|log'|(x),|1|(|#|())),|#|()) The set of usable rules consists of r1, r9, r10, r11, r12, r13, r14 Take the reduction pair: lexicographic combination of reduction pairs: 1. weighted path order base order: max/plus interpretations on natural numbers: -#_A(x1,x2) = max{x1 + 4, x2 + 2} |0|_A(x1) = max{4, x1 + 3} |1|_A(x1) = max{4, x1 + 3} -_A(x1,x2) = x1 |#|_A = 0 precedence: -# = - > |0| = |1| = |#| partial status: pi(-#) = [1, 2] pi(|0|) = [1] pi(|1|) = [1] pi(-) = [1] pi(|#|) = [] 2. weighted path order base order: max/plus interpretations on natural numbers: -#_A(x1,x2) = max{0, x1 - 25, x2 - 31} |0|_A(x1) = max{48, x1 + 37} |1|_A(x1) = max{42, x1 + 35} -_A(x1,x2) = 26 |#|_A = 1 precedence: |0| > -# = |1| = - = |#| partial status: pi(-#) = [] pi(|0|) = [1] pi(|1|) = [] pi(-) = [] pi(|#|) = [] The next rules are strictly ordered: p1, p2, p3, p4, p5 We remove them from the problem. Then no dependency pair remains. -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: ge#(|0|(x),|0|(y)) -> ge#(x,y) p2: ge#(|1|(x),|1|(y)) -> ge#(x,y) p3: ge#(|1|(x),|0|(y)) -> ge#(x,y) p4: ge#(|0|(x),|1|(y)) -> ge#(y,x) and R consists of: r1: |0|(|#|()) -> |#|() r2: +(|#|(),x) -> x r3: +(x,|#|()) -> x r4: +(|0|(x),|0|(y)) -> |0|(+(x,y)) r5: +(|0|(x),|1|(y)) -> |1|(+(x,y)) r6: +(|1|(x),|0|(y)) -> |1|(+(x,y)) r7: +(|1|(x),|1|(y)) -> |0|(+(+(x,y),|1|(|#|()))) r8: +(+(x,y),z) -> +(x,+(y,z)) r9: -(|#|(),x) -> |#|() r10: -(x,|#|()) -> x r11: -(|0|(x),|0|(y)) -> |0|(-(x,y)) r12: -(|0|(x),|1|(y)) -> |1|(-(-(x,y),|1|(|#|()))) r13: -(|1|(x),|0|(y)) -> |1|(-(x,y)) r14: -(|1|(x),|1|(y)) -> |0|(-(x,y)) r15: not(true()) -> false() r16: not(false()) -> true() r17: if(true(),x,y) -> x r18: if(false(),x,y) -> y r19: ge(|0|(x),|0|(y)) -> ge(x,y) r20: ge(|0|(x),|1|(y)) -> not(ge(y,x)) r21: ge(|1|(x),|0|(y)) -> ge(x,y) r22: ge(|1|(x),|1|(y)) -> ge(x,y) r23: ge(x,|#|()) -> true() r24: ge(|#|(),|0|(x)) -> ge(|#|(),x) r25: ge(|#|(),|1|(x)) -> false() r26: log(x) -> -(|log'|(x),|1|(|#|())) r27: |log'|(|#|()) -> |#|() r28: |log'|(|1|(x)) -> +(|log'|(x),|1|(|#|())) r29: |log'|(|0|(x)) -> if(ge(x,|1|(|#|())),+(|log'|(x),|1|(|#|())),|#|()) The set of usable rules consists of (no rules) Take the reduction pair: lexicographic combination of reduction pairs: 1. weighted path order base order: max/plus interpretations on natural numbers: ge#_A(x1,x2) = max{x1 + 1, x2 - 2} |0|_A(x1) = max{3, x1 + 1} |1|_A(x1) = max{5, x1 + 4} precedence: ge# = |0| = |1| partial status: pi(ge#) = [1] pi(|0|) = [1] pi(|1|) = [1] 2. weighted path order base order: max/plus interpretations on natural numbers: ge#_A(x1,x2) = 0 |0|_A(x1) = max{3, x1} |1|_A(x1) = max{3, x1} precedence: ge# = |0| = |1| partial status: pi(ge#) = [] pi(|0|) = [1] pi(|1|) = [1] The next rules are strictly ordered: p1, p2, p3, p4 We remove them from the problem. Then no dependency pair remains. -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: ge#(|#|(),|0|(x)) -> ge#(|#|(),x) and R consists of: r1: |0|(|#|()) -> |#|() r2: +(|#|(),x) -> x r3: +(x,|#|()) -> x r4: +(|0|(x),|0|(y)) -> |0|(+(x,y)) r5: +(|0|(x),|1|(y)) -> |1|(+(x,y)) r6: +(|1|(x),|0|(y)) -> |1|(+(x,y)) r7: +(|1|(x),|1|(y)) -> |0|(+(+(x,y),|1|(|#|()))) r8: +(+(x,y),z) -> +(x,+(y,z)) r9: -(|#|(),x) -> |#|() r10: -(x,|#|()) -> x r11: -(|0|(x),|0|(y)) -> |0|(-(x,y)) r12: -(|0|(x),|1|(y)) -> |1|(-(-(x,y),|1|(|#|()))) r13: -(|1|(x),|0|(y)) -> |1|(-(x,y)) r14: -(|1|(x),|1|(y)) -> |0|(-(x,y)) r15: not(true()) -> false() r16: not(false()) -> true() r17: if(true(),x,y) -> x r18: if(false(),x,y) -> y r19: ge(|0|(x),|0|(y)) -> ge(x,y) r20: ge(|0|(x),|1|(y)) -> not(ge(y,x)) r21: ge(|1|(x),|0|(y)) -> ge(x,y) r22: ge(|1|(x),|1|(y)) -> ge(x,y) r23: ge(x,|#|()) -> true() r24: ge(|#|(),|0|(x)) -> ge(|#|(),x) r25: ge(|#|(),|1|(x)) -> false() r26: log(x) -> -(|log'|(x),|1|(|#|())) r27: |log'|(|#|()) -> |#|() r28: |log'|(|1|(x)) -> +(|log'|(x),|1|(|#|())) r29: |log'|(|0|(x)) -> if(ge(x,|1|(|#|())),+(|log'|(x),|1|(|#|())),|#|()) The set of usable rules consists of (no rules) Take the reduction pair: lexicographic combination of reduction pairs: 1. weighted path order base order: max/plus interpretations on natural numbers: ge#_A(x1,x2) = max{x1 + 5, x2 + 4} |#|_A = 1 |0|_A(x1) = x1 + 2 precedence: ge# = |#| = |0| partial status: pi(ge#) = [1, 2] pi(|#|) = [] pi(|0|) = [1] 2. weighted path order base order: max/plus interpretations on natural numbers: ge#_A(x1,x2) = max{5, x1 + 4, x2 + 3} |#|_A = 1 |0|_A(x1) = x1 + 2 precedence: ge# = |#| = |0| partial status: pi(ge#) = [] pi(|#|) = [] pi(|0|) = [1] The next rules are strictly ordered: p1 We remove them from the problem. Then no dependency pair remains.