Input TRS: 1: min(x,0()) -> 0() 2: min(0(),y) -> 0() 3: min(s(x),s(y)) -> s(min(x,y)) 4: max(x,0()) -> x 5: max(0(),y) -> y 6: max(s(x),s(y)) -> s(max(x,y)) 7: -(x,0()) -> x 8: -(s(x),s(y)) -> -(x,y) 9: gcd(nil()) -> 0() 10: gcd(cons(x,nil())) -> x 11: gcd(cons(0(),y)) -> gcd(y) 12: gcd(cons(x,cons(y,z))) -> gcd(cons(-(x,y),cons(y,z))) 13: gcd(cons(x,cons(y,z))) ->= gcd(cons(max(x,y),cons(min(x,y),z))) Number of strict rules: 12 Direct Order(PosReal,>,Poly) ... failed. Freezing gcd 1: min(x,0()) -> 0() 2: min(0(),y) -> 0() 3: min(s(x),s(y)) -> s(min(x,y)) 4: max(x,0()) -> x 5: max(0(),y) -> y 6: max(s(x),s(y)) -> s(max(x,y)) 7: -(x,0()) -> x 8: -(s(x),s(y)) -> -(x,y) 9: gcd❆1_nil() -> 0() 10: gcd❆1_cons(x,nil()) -> x 11: gcd❆1_cons(0(),y) -> gcd(y) 12: gcd❆1_cons(x,cons(y,z)) -> gcd❆1_cons(-(x,y),cons(y,z)) 13: gcd❆1_cons(x,cons(y,z)) ->= gcd❆1_cons(max(x,y),cons(min(x,y),z)) 14: gcd(cons(_1,_2)) ->= gcd❆1_cons(_1,_2) 15: gcd(nil()) ->= gcd❆1_nil() Number of strict rules: 12 Direct Order(PosReal,>,Poly) ... failed. Dependency Pairs: #1: #max(s(x),s(y)) -> #max(x,y) #2: #gcd❆1_cons(x,cons(y,z)) ->? #gcd❆1_cons(max(x,y),cons(min(x,y),z)) #3: #gcd❆1_cons(x,cons(y,z)) ->? #max(x,y) #4: #gcd❆1_cons(x,cons(y,z)) ->? #min(x,y) #5: #gcd❆1_cons(0(),y) -> #gcd(y) #6: #gcd❆1_cons(x,cons(y,z)) -> #gcd❆1_cons(-(x,y),cons(y,z)) #7: #gcd❆1_cons(x,cons(y,z)) -> #-(x,y) #8: #gcd(cons(_1,_2)) ->? #gcd❆1_cons(_1,_2) #9: #min(s(x),s(y)) -> #min(x,y) #10: #-(s(x),s(y)) -> #-(x,y) #11: #gcd(nil()) ->? #gcd❆1_nil() Number of SCCs: 4, DPs: 7, edges: 13 SCC { #10 } Removing DPs: Order(PosReal,>,Sum)... succeeded. s(x1) weight: (/ 1 2) + x1 gcd(x1) weight: 0 #min(x1,x2) weight: 0 #gcd❆1_cons(x1,x2) weight: 0 0() weight: 0 max(x1,x2) weight: 0 nil() weight: 0 #max(x1,x2) weight: 0 -(x1,x2) weight: 0 #gcd❆1_nil() weight: 0 min(x1,x2) weight: 0 #-(x1,x2) weight: x2 cons(x1,x2) weight: 0 gcd❆1_cons(x1,x2) weight: 0 gcd❆1_nil() weight: 0 #gcd(x1) weight: 0 Usable rules: { } Removed DPs: #10 Number of SCCs: 3, DPs: 6, edges: 12 SCC { #9 } Removing DPs: Order(PosReal,>,Sum)... succeeded. s(x1) weight: (/ 1 2) + x1 gcd(x1) weight: 0 #min(x1,x2) weight: x2 #gcd❆1_cons(x1,x2) weight: 0 0() weight: 0 max(x1,x2) weight: 0 nil() weight: 0 #max(x1,x2) weight: 0 -(x1,x2) weight: 0 #gcd❆1_nil() weight: 0 min(x1,x2) weight: 0 #-(x1,x2) weight: 0 cons(x1,x2) weight: 0 gcd❆1_cons(x1,x2) weight: 0 gcd❆1_nil() weight: 0 #gcd(x1) weight: 0 Usable rules: { } Removed DPs: #9 Number of SCCs: 2, DPs: 5, edges: 11 SCC { #1 } Removing DPs: Order(PosReal,>,Sum)... succeeded. s(x1) weight: (/ 1 2) + x1 gcd(x1) weight: 0 #min(x1,x2) weight: 0 #gcd❆1_cons(x1,x2) weight: 0 0() weight: 0 max(x1,x2) weight: 0 nil() weight: 0 #max(x1,x2) weight: x1 -(x1,x2) weight: 0 #gcd❆1_nil() weight: 0 min(x1,x2) weight: 0 #-(x1,x2) weight: 0 cons(x1,x2) weight: 0 gcd❆1_cons(x1,x2) weight: 0 gcd❆1_nil() weight: 0 #gcd(x1) weight: 0 Usable rules: { } Removed DPs: #1 Number of SCCs: 1, DPs: 4, edges: 10 SCC { #2 #5 #6 #8 } Removing DPs: Order(PosReal,>,Sum)... succeeded. s(x1) weight: (/ 1 2) gcd(x1) weight: 0 #min(x1,x2) weight: 0 #gcd❆1_cons(x1,x2) weight: (/ 1 4) + x2 0() weight: 0 max(x1,x2) weight: (/ 1 4) nil() weight: 0 #max(x1,x2) weight: 0 -(x1,x2) weight: (/ 1 4) #gcd❆1_nil() weight: 0 min(x1,x2) weight: (/ 1 4) + x2 #-(x1,x2) weight: 0 cons(x1,x2) weight: (/ 1 2) + x2 gcd❆1_cons(x1,x2) weight: 0 gcd❆1_nil() weight: 0 #gcd(x1) weight: x1 Usable rules: { 1..3 } Removed DPs: #5 #8 Number of SCCs: 1, DPs: 2, edges: 4 SCC { #2 #6 } Removing DPs: Order(PosReal,>,Sum)... Order(PosReal,>,Max)... QLPOpS... Order(PosReal,>,MaxSum)... QWPOpS(PosReal,>,MaxSum)... Order(PosReal,>,Sum-Sum; PosReal,≥,Sum-Sum)... Order(PosReal,>,Sum-Sum; NegReal,≥,Sum)... Order(PosReal,>,MaxSum-Sum; NegReal,≥,Sum)... failed. Removing edges: failed. Finding a loop... found. #gcd❆1_cons(x,cons(y_{1},z_{1})) -#6-> #gcd❆1_cons(-(x,y_{1}),cons(y_{1},z_{1})) --->* #gcd❆1_cons(-(x,y_{1}),cons(y_{1},z_{1})) Looping with: [ x := -(x,y_{1}); y_{1} := y_{1}; z_{1} := z_{1}; ] NO