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 reduction pair: generalized weighted path order (>=MG, >G) base order 1: trivial reduction triple (T x T, T x T, Φ) base order 2: lexicographic combination of reduction triples: 1. marked-algebra reduction triple (>=A, >=A!, >A!): max/plus interpretation on natural numbers: |log'|#_A(x1) = 0 |0|_A(x1) = 36 |1|_A(x1) = x1 + 12 |log'|#!_A(x1) = 1 |0|!_A(x1) = 5 |1|!_A(x1) = max{7, x1 - 73} 2. marked-algebra reduction triple (>=A, >=A!, >A!): matrix interpretation with standard point-wise order: carrier: N^1 order: standard order interpretations: |log'|#_A(x1) = x1 |0|_A(x1) = x1 + 4 |1|_A(x1) = x1 + 2 |log'|#!_A(x1) = x1 + 4 |0|!_A(x1) = 8 |1|!_A(x1) = x1 + 5 partial status: pi(|log'|#) = [] pi(|0|) = [] pi(|1|) = [] The following rules are removed: p1, p2 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: generalized weighted path order (>=MG, >G) base order 1: trivial reduction triple (T x T, T x T, Φ) base order 2: lexicographic combination of reduction triples: 1. marked-algebra reduction triple (>=A, >=A!, >A!): max/plus interpretation on natural numbers: +#_A(x1,x2) = max{8, x1 - 10, x2 - 10} |0|_A(x1) = max{17, x1} +_A(x1,x2) = max{18, x1, x2} |1|_A(x1) = max{9, x1} |#|_A = 11 +#!_A(x1,x2) = 0 |0|!_A(x1) = 4 +!_A(x1,x2) = x1 + 9 |1|!_A(x1) = 6 |#|!_A = 4 2. marked-algebra reduction triple (>=A, >=A!, >A!): matrix interpretation with standard point-wise order: carrier: N^1 order: standard order interpretations: +#_A(x1,x2) = 0 |0|_A(x1) = x1 + 1 +_A(x1,x2) = x1 + x2 + 1 |1|_A(x1) = x1 + 4 |#|_A() = 2 +#!_A(x1,x2) = x1 + x2 |0|!_A(x1) = 12 +!_A(x1,x2) = x1 + 18 |1|!_A(x1) = 13 |#|!_A() = 9 partial status: pi(+#) = [] pi(|0|) = [] pi(+) = [1, 2] pi(|1|) = [] pi(|#|) = [] The following rules are removed: p1, p2, p4, p5, p6, p7 -- 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, r13, r27 Take the reduction pair: generalized weighted path order (>=MG, >G) base order 1: trivial reduction triple (T x T, T x T, Φ) base order 2: lexicographic combination of reduction triples: 1. marked-algebra reduction triple (>=A, >=A!, >A!): max/plus interpretation on natural numbers: +#_A(x1,x2) = max{0, x1 - 21, x2 - 28} +_A(x1,x2) = max{20, x1 + 7, x2} |0|_A(x1) = 8 |#|_A = 8 |1|_A(x1) = 0 -_A(x1,x2) = 0 |log'|_A(x1) = 13 +#!_A(x1,x2) = max{19, x1 - 1, x2 - 28} +!_A(x1,x2) = 9 |0|!_A(x1) = 8 |#|!_A = 4 |1|!_A(x1) = 7 -!_A(x1,x2) = max{21, x1 - 13, x2 + 13} |log'|!_A(x1) = 6 2. marked-algebra reduction triple (>=A, >=A!, >A!): matrix interpretation with standard point-wise order: carrier: N^1 order: standard order interpretations: +#_A(x1,x2) = x1 + x2 +_A(x1,x2) = x1 + x2 + 1 |0|_A(x1) = 2 |#|_A() = 1 |1|_A(x1) = 6 -_A(x1,x2) = x1 + 3 |log'|_A(x1) = x1 + 1 +#!_A(x1,x2) = x1 + x2 + 9 +!_A(x1,x2) = x1 + 9 |0|!_A(x1) = 8 |#|!_A() = 2 |1|!_A(x1) = 6 -!_A(x1,x2) = x1 + 7 |log'|!_A(x1) = 4 partial status: pi(+#) = [1, 2] pi(+) = [1, 2] pi(|0|) = [] pi(|#|) = [] pi(|1|) = [] pi(-) = [1, 2] pi(|log'|) = [1] The following rules are removed: p1 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: generalized weighted path order (>=MG, >G) base order 1: trivial reduction triple (T x T, T x T, Φ) base order 2: lexicographic combination of reduction triples: 1. marked-algebra reduction triple (>=A, >=A!, >A!): max/plus interpretation on natural numbers: -#_A(x1,x2) = 0 |0|_A(x1) = 31 |1|_A(x1) = 14 -_A(x1,x2) = max{32, x1 + 16} |#|_A = 19 -#!_A(x1,x2) = 1 |0|!_A(x1) = 42 |1|!_A(x1) = 1 -!_A(x1,x2) = 42 |#|!_A = 0 2. marked-algebra reduction triple (>=A, >=A!, >A!): matrix interpretation with standard point-wise order: carrier: N^1 order: standard order interpretations: -#_A(x1,x2) = 0 |0|_A(x1) = x1 + 3 |1|_A(x1) = x1 + 3 -_A(x1,x2) = x1 |#|_A() = 5 -#!_A(x1,x2) = 1 |0|!_A(x1) = x1 + 7 |1|!_A(x1) = 1 -!_A(x1,x2) = x1 + 7 |#|!_A() = 4 partial status: pi(-#) = [1] pi(|0|) = [1] pi(|1|) = [1] pi(-) = [1] pi(|#|) = [] The following rules are removed: p1, p2, p3, p4 -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: -#(|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 estimated dependency graph contains the following SCCs: {p1} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: -#(|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: generalized weighted path order (>=MG, >G) base order 1: trivial reduction triple (T x T, T x T, Φ) base order 2: lexicographic combination of reduction triples: 1. marked-algebra reduction triple (>=A, >=A!, >A!): max/plus interpretation on natural numbers: -#_A(x1,x2) = 0 |0|_A(x1) = x1 + 47 |1|_A(x1) = x1 + 47 -_A(x1,x2) = x1 |#|_A = 2 -#!_A(x1,x2) = max{31, x1 + 24, x2 - 22} |0|!_A(x1) = 23 |1|!_A(x1) = x1 + 28 -!_A(x1,x2) = x1 + 1 |#|!_A = 22 2. marked-algebra reduction triple (>=A, >=A!, >A!): matrix interpretation with standard point-wise order: carrier: N^1 order: standard order interpretations: -#_A(x1,x2) = x1 |0|_A(x1) = x1 + 2 |1|_A(x1) = x1 + 2 -_A(x1,x2) = x1 |#|_A() = 2 -#!_A(x1,x2) = x1 + 5 |0|!_A(x1) = 4 |1|!_A(x1) = 6 -!_A(x1,x2) = x2 + 8 |#|!_A() = 1 partial status: pi(-#) = [] pi(|0|) = [] pi(|1|) = [] pi(-) = [1, 2] pi(|#|) = [] The following rules are removed: p1 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: generalized weighted path order (>=MG, >G) base order 1: trivial reduction triple (T x T, T x T, Φ) base order 2: lexicographic combination of reduction triples: 1. marked-algebra reduction triple (>=A, >=A!, >A!): max/plus interpretation on natural numbers: ge#_A(x1,x2) = 0 |0|_A(x1) = max{3, x1 - 35} |1|_A(x1) = x1 + 14 ge#!_A(x1,x2) = 0 |0|!_A(x1) = max{57, x1 + 42} |1|!_A(x1) = max{0, x1 - 15} 2. marked-algebra reduction triple (>=A, >=A!, >A!): matrix interpretation with standard point-wise order: carrier: N^1 order: standard order interpretations: ge#_A(x1,x2) = x1 + x2 |0|_A(x1) = x1 + 2 |1|_A(x1) = x1 + 3 ge#!_A(x1,x2) = x1 + x2 + 6 |0|!_A(x1) = 5 |1|!_A(x1) = 5 partial status: pi(ge#) = [] pi(|0|) = [1] pi(|1|) = [] The following rules are removed: p1, p2, p3, p4 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 r9 Take the reduction pair: generalized weighted path order (>=MG, >G) base order 1: trivial reduction triple (T x T, T x T, Φ) base order 2: lexicographic combination of reduction triples: 1. marked-algebra reduction triple (>=A, >=A!, >A!): max/plus interpretation on natural numbers: ge#_A(x1,x2) = 0 |#|_A = 103 |0|_A(x1) = max{25, x1 - 36} -_A(x1,x2) = max{x1 + 19, x2 - 160} ge#!_A(x1,x2) = max{19, x1 - 84} |#|!_A = 4 |0|!_A(x1) = x1 + 18 -!_A(x1,x2) = max{1, x1 - 20, x2 - 67} 2. marked-algebra reduction triple (>=A, >=A!, >A!): matrix interpretation with standard point-wise order: carrier: N^1 order: standard order interpretations: ge#_A(x1,x2) = x2 |#|_A() = 19 |0|_A(x1) = x1 + 13 -_A(x1,x2) = x1 + x2 + 1 ge#!_A(x1,x2) = 19 |#|!_A() = 18 |0|!_A(x1) = 21 -!_A(x1,x2) = x1 + x2 partial status: pi(ge#) = [1, 2] pi(|#|) = [] pi(|0|) = [1] pi(-) = [1, 2] The following rules are removed: p1 Then no dependency pair remains.