Input TRS: 1: a__from(X) -> cons(mark(X),from(s(X))) 2: a__2ndspos(0(),Z) -> rnil() 3: a__2ndspos(s(N),cons(X,cons(Y,Z))) -> rcons(posrecip(mark(Y)),a__2ndsneg(mark(N),mark(Z))) 4: a__2ndsneg(0(),Z) -> rnil() 5: a__2ndsneg(s(N),cons(X,cons(Y,Z))) -> rcons(negrecip(mark(Y)),a__2ndspos(mark(N),mark(Z))) 6: a__pi(X) -> a__2ndspos(mark(X),a__from(0())) 7: a__plus(0(),Y) -> mark(Y) 8: a__plus(s(X),Y) -> s(a__plus(mark(X),mark(Y))) 9: a__times(0(),Y) -> 0() 10: a__times(s(X),Y) -> a__plus(mark(Y),a__times(mark(X),mark(Y))) 11: a__square(X) -> a__times(mark(X),mark(X)) 12: mark(from(X)) -> a__from(mark(X)) 13: mark(2ndspos(X1,X2)) -> a__2ndspos(mark(X1),mark(X2)) 14: mark(2ndsneg(X1,X2)) -> a__2ndsneg(mark(X1),mark(X2)) 15: mark(pi(X)) -> a__pi(mark(X)) 16: mark(plus(X1,X2)) -> a__plus(mark(X1),mark(X2)) 17: mark(times(X1,X2)) -> a__times(mark(X1),mark(X2)) 18: mark(square(X)) -> a__square(mark(X)) 19: mark(0()) -> 0() 20: mark(s(X)) -> s(mark(X)) 21: mark(posrecip(X)) -> posrecip(mark(X)) 22: mark(negrecip(X)) -> negrecip(mark(X)) 23: mark(nil()) -> nil() 24: mark(cons(X1,X2)) -> cons(mark(X1),X2) 25: mark(rnil()) -> rnil() 26: mark(rcons(X1,X2)) -> rcons(mark(X1),mark(X2)) 27: a__from(X) -> from(X) 28: a__2ndspos(X1,X2) -> 2ndspos(X1,X2) 29: a__2ndsneg(X1,X2) -> 2ndsneg(X1,X2) 30: a__pi(X) -> pi(X) 31: a__plus(X1,X2) -> plus(X1,X2) 32: a__times(X1,X2) -> times(X1,X2) 33: a__square(X) -> square(X) Number of strict rules: 33 Direct Order(PosReal,>,Poly) ... failed. Freezing ... failed. Dependency Pairs: #1: #a__pi(X) -> #a__2ndspos(mark(X),a__from(0())) #2: #a__pi(X) -> #mark(X) #3: #a__pi(X) -> #a__from(0()) #4: #mark(2ndspos(X1,X2)) -> #a__2ndspos(mark(X1),mark(X2)) #5: #mark(2ndspos(X1,X2)) -> #mark(X1) #6: #mark(2ndspos(X1,X2)) -> #mark(X2) #7: #a__square(X) -> #a__times(mark(X),mark(X)) #8: #a__square(X) -> #mark(X) #9: #a__square(X) -> #mark(X) #10: #mark(cons(X1,X2)) -> #mark(X1) #11: #mark(from(X)) -> #a__from(mark(X)) #12: #mark(from(X)) -> #mark(X) #13: #mark(2ndsneg(X1,X2)) -> #a__2ndsneg(mark(X1),mark(X2)) #14: #mark(2ndsneg(X1,X2)) -> #mark(X1) #15: #mark(2ndsneg(X1,X2)) -> #mark(X2) #16: #mark(s(X)) -> #mark(X) #17: #a__plus(0(),Y) -> #mark(Y) #18: #a__times(s(X),Y) -> #a__plus(mark(Y),a__times(mark(X),mark(Y))) #19: #a__times(s(X),Y) -> #mark(Y) #20: #a__times(s(X),Y) -> #a__times(mark(X),mark(Y)) #21: #a__times(s(X),Y) -> #mark(X) #22: #a__times(s(X),Y) -> #mark(Y) #23: #a__2ndsneg(s(N),cons(X,cons(Y,Z))) -> #mark(Y) #24: #a__2ndsneg(s(N),cons(X,cons(Y,Z))) -> #a__2ndspos(mark(N),mark(Z)) #25: #a__2ndsneg(s(N),cons(X,cons(Y,Z))) -> #mark(N) #26: #a__2ndsneg(s(N),cons(X,cons(Y,Z))) -> #mark(Z) #27: #mark(negrecip(X)) -> #mark(X) #28: #mark(times(X1,X2)) -> #a__times(mark(X1),mark(X2)) #29: #mark(times(X1,X2)) -> #mark(X1) #30: #mark(times(X1,X2)) -> #mark(X2) #31: #mark(rcons(X1,X2)) -> #mark(X1) #32: #mark(rcons(X1,X2)) -> #mark(X2) #33: #mark(posrecip(X)) -> #mark(X) #34: #mark(plus(X1,X2)) -> #a__plus(mark(X1),mark(X2)) #35: #mark(plus(X1,X2)) -> #mark(X1) #36: #mark(plus(X1,X2)) -> #mark(X2) #37: #a__2ndspos(s(N),cons(X,cons(Y,Z))) -> #mark(Y) #38: #a__2ndspos(s(N),cons(X,cons(Y,Z))) -> #a__2ndsneg(mark(N),mark(Z)) #39: #a__2ndspos(s(N),cons(X,cons(Y,Z))) -> #mark(N) #40: #a__2ndspos(s(N),cons(X,cons(Y,Z))) -> #mark(Z) #41: #a__from(X) -> #mark(X) #42: #a__plus(s(X),Y) -> #a__plus(mark(X),mark(Y)) #43: #a__plus(s(X),Y) -> #mark(X) #44: #a__plus(s(X),Y) -> #mark(Y) #45: #mark(pi(X)) -> #a__pi(mark(X)) #46: #mark(pi(X)) -> #mark(X) #47: #mark(square(X)) -> #a__square(mark(X)) #48: #mark(square(X)) -> #mark(X) Number of SCCs: 1, DPs: 47, edges: 842 SCC { #2..48 } Removing DPs: Order(PosReal,>,Sum)... Order(PosReal,>,Max)... succeeded. a__plus(x1,x2) weight: max{x2, (/ 1 16) + x1} a__2ndsneg(x1,x2) weight: max{(/ 5 16) + x2, (/ 3 8) + x1} negrecip(x1) weight: (/ 3 8) + x1 s(x1) weight: x1 #a__pi(x1) weight: (/ 5 16) + x1 #a__from(x1) weight: (/ 1 8) + x1 2ndspos(x1,x2) weight: max{(/ 5 16) + x2, (/ 3 8) + x1} a__from(x1) weight: (/ 1 8) + x1 rnil() weight: (/ 3 8) square(x1) weight: (/ 112893 4) + x1 #a__times(x1,x2) weight: max{(/ 1 8) + x2, (/ 451571 16) + x1} pi(x1) weight: (/ 9 16) + x1 rcons(x1,x2) weight: max{x2, (/ 1 16) + x1} a__2ndspos(x1,x2) weight: max{(/ 5 16) + x2, (/ 3 8) + x1} #a__2ndsneg(x1,x2) weight: max{(/ 1 8) + x2, (/ 5 16) + x1} #a__plus(x1,x2) weight: max{(/ 1 16) + x2, (/ 1 8) + x1} #mark(x1) weight: (/ 1 16) + x1 0() weight: (/ 1 8) from(x1) weight: (/ 1 8) + x1 times(x1,x2) weight: max{(/ 1 16) + x2, (/ 225785 8) + x1} a__pi(x1) weight: (/ 9 16) + x1 nil() weight: (/ 1 16) mark(x1) weight: x1 2ndsneg(x1,x2) weight: max{(/ 5 16) + x2, (/ 3 8) + x1} plus(x1,x2) weight: max{x2, (/ 1 16) + x1} a__square(x1) weight: (/ 112893 4) + x1 cons(x1,x2) weight: max{x2, (/ 1 8) + x1} a__times(x1,x2) weight: max{(/ 1 16) + x2, (/ 225785 8) + x1} #a__square(x1) weight: (/ 112893 4) + x1 #a__2ndspos(x1,x2) weight: max{(/ 1 8) + x2, (/ 5 16) + x1} posrecip(x1) weight: (/ 3 8) + x1 Usable rules: { 1..33 } Removed DPs: #2..15 #19 #21..23 #25..27 #29..31 #33 #35 #37 #39..41 #43 #45..48 Number of SCCs: 2, DPs: 12, edges: 40 SCC { #24 #38 } Removing DPs: Order(PosReal,>,Sum)... Order(PosReal,>,Max)... QLPOpS... succeeded. a__plus(x1,x2) status: [x1,x2] precedence above: negrecip s #a__2ndsneg 0 mark plus a__2ndsneg(x1,x2) status: [x1] precedence above: rnil 2ndsneg negrecip(x1) status: [] precedence above: s #a__2ndsneg 0 mark s(x1) status: [x1] precedence above: negrecip #a__2ndsneg 0 mark #a__pi(x1) status: [] precedence above: #a__from(x1) status: [] precedence above: 2ndspos(x1,x2) status: [] precedence above: a__plus negrecip s rnil square a__2ndspos #a__2ndsneg 0 times mark plus a__square a__times posrecip a__from(x1) status: [x1] precedence above: from cons rnil() status: [] precedence above: square(x1) status: [x1] precedence above: a__plus negrecip s #a__2ndsneg 0 times mark plus a__square a__times #a__times(x1,x2) status: [] precedence above: pi(x1) status: [] precedence above: a__plus negrecip s 2ndspos a__from rnil square a__2ndspos #a__2ndsneg 0 from times a__pi mark plus a__square cons a__times posrecip rcons(x1,x2) status: x1 a__2ndspos(x1,x2) status: [] precedence above: a__plus negrecip s 2ndspos rnil square #a__2ndsneg 0 times mark plus a__square a__times posrecip #a__2ndsneg(x1,x2) status: [x1] precedence above: negrecip s 0 mark #a__plus(x1,x2) status: [x1] precedence above: #mark(x1) status: [] precedence above: 0() status: [] precedence above: from(x1) status: [x1] precedence above: a__from cons times(x1,x2) status: [x1,x2] precedence above: a__plus negrecip s #a__2ndsneg 0 mark plus a__times a__pi(x1) status: [] precedence above: a__plus negrecip s 2ndspos a__from rnil square pi a__2ndspos #a__2ndsneg 0 from times mark plus a__square cons a__times posrecip nil() status: [] precedence above: mark(x1) status: x1 2ndsneg(x1,x2) status: [x1] precedence above: a__2ndsneg rnil plus(x1,x2) status: [x1,x2] precedence above: a__plus negrecip s #a__2ndsneg 0 mark a__square(x1) status: [x1] precedence above: a__plus negrecip s square #a__2ndsneg 0 times mark plus a__times cons(x1,x2) status: [x1] precedence above: a__times(x1,x2) status: [x1,x2] precedence above: a__plus negrecip s #a__2ndsneg 0 times mark plus #a__square(x1) status: [] precedence above: #a__2ndspos(x1,x2) status: x1 posrecip(x1) status: [] precedence above: a__plus negrecip s 2ndspos rnil square a__2ndspos #a__2ndsneg 0 times mark plus a__square a__times Usable rules: { 1..33 } Removed DPs: #24 Number of SCCs: 1, DPs: 10, edges: 38 SCC { #16..18 #20 #28 #32 #34 #36 #42 #44 } Removing DPs: Order(PosReal,>,Sum)... Order(PosReal,>,Max)... QLPOpS... succeeded. a__plus(x1,x2) status: [x1,x2] precedence above: a__2ndsneg negrecip s 2ndspos rnil rcons a__2ndspos #a__2ndsneg mark 2ndsneg plus posrecip a__2ndsneg(x1,x2) status: [x1] precedence above: rnil rcons mark 2ndsneg negrecip(x1) status: [] precedence above: mark s(x1) status: [x1] precedence above: a__2ndsneg negrecip 2ndspos rnil rcons a__2ndspos #a__2ndsneg mark 2ndsneg posrecip #a__pi(x1) status: [] precedence above: #a__from(x1) status: [] precedence above: 2ndspos(x1,x2) status: [x1] precedence above: a__2ndsneg negrecip s rnil rcons a__2ndspos #a__2ndsneg mark 2ndsneg posrecip a__from(x1) status: [x1] precedence above: from cons rnil() status: [] precedence above: square(x1) status: [x1] precedence above: a__plus a__2ndsneg negrecip s 2ndspos rnil #a__times rcons a__2ndspos #a__2ndsneg times mark 2ndsneg plus a__square a__times posrecip #a__times(x1,x2) status: [x1,x2] precedence above: a__plus a__2ndsneg negrecip s 2ndspos rnil rcons a__2ndspos #a__2ndsneg times mark 2ndsneg plus a__times posrecip pi(x1) status: [x1] precedence above: a__plus a__2ndsneg negrecip s 2ndspos a__from rnil square #a__times rcons a__2ndspos #a__2ndsneg from times a__pi mark 2ndsneg plus a__square cons a__times posrecip rcons(x1,x2) status: [x1,x2] precedence above: mark a__2ndspos(x1,x2) status: [x1] precedence above: a__2ndsneg negrecip s 2ndspos rnil rcons #a__2ndsneg mark 2ndsneg posrecip #a__2ndsneg(x1,x2) status: [x1] precedence above: a__2ndsneg negrecip s 2ndspos rnil rcons a__2ndspos mark 2ndsneg posrecip #a__plus(x1,x2) status: x2 #mark(x1) status: x1 0() status: [] precedence above: from(x1) status: [x1] precedence above: a__from cons times(x1,x2) status: [x1,x2] precedence above: a__plus a__2ndsneg negrecip s 2ndspos rnil #a__times rcons a__2ndspos #a__2ndsneg mark 2ndsneg plus a__times posrecip a__pi(x1) status: [x1] precedence above: a__plus a__2ndsneg negrecip s 2ndspos a__from rnil square #a__times pi rcons a__2ndspos #a__2ndsneg from times mark 2ndsneg plus a__square cons a__times posrecip nil() status: [] precedence above: mark(x1) status: x1 2ndsneg(x1,x2) status: [x1] precedence above: a__2ndsneg rnil rcons mark plus(x1,x2) status: [x1,x2] precedence above: a__plus a__2ndsneg negrecip s 2ndspos rnil rcons a__2ndspos #a__2ndsneg mark 2ndsneg posrecip a__square(x1) status: [x1] precedence above: a__plus a__2ndsneg negrecip s 2ndspos rnil square #a__times rcons a__2ndspos #a__2ndsneg times mark 2ndsneg plus a__times posrecip cons(x1,x2) status: [x1] precedence above: a__times(x1,x2) status: [x1,x2] precedence above: a__plus a__2ndsneg negrecip s 2ndspos rnil #a__times rcons a__2ndspos #a__2ndsneg times mark 2ndsneg plus posrecip #a__square(x1) status: [] precedence above: #a__2ndspos(x1,x2) status: x1 posrecip(x1) status: [] precedence above: a__2ndsneg negrecip s 2ndspos rnil rcons a__2ndspos #a__2ndsneg mark 2ndsneg Usable rules: { 1..33 } Removed DPs: #16 #18 #32 #34 #36 Number of SCCs: 2, DPs: 2, edges: 2 SCC { #20 } Removing DPs: Order(PosReal,>,Sum)... Order(PosReal,>,Max)... QLPOpS... succeeded. a__plus(x1,x2) status: [x1,x2] precedence above: a__2ndsneg negrecip s 2ndspos rnil rcons a__2ndspos #a__2ndsneg mark 2ndsneg plus posrecip a__2ndsneg(x1,x2) status: [x1] precedence above: rnil rcons mark 2ndsneg negrecip(x1) status: [] precedence above: mark s(x1) status: [x1] precedence above: a__2ndsneg negrecip 2ndspos rnil rcons a__2ndspos #a__2ndsneg mark 2ndsneg posrecip #a__pi(x1) status: [] precedence above: #a__from(x1) status: [] precedence above: 2ndspos(x1,x2) status: [x1] precedence above: a__2ndsneg negrecip s rnil rcons a__2ndspos #a__2ndsneg mark 2ndsneg posrecip a__from(x1) status: [x1] precedence above: from cons rnil() status: [] precedence above: square(x1) status: [x1] precedence above: a__plus a__2ndsneg negrecip s 2ndspos rnil #a__times rcons a__2ndspos #a__2ndsneg times mark 2ndsneg plus a__square a__times posrecip #a__times(x1,x2) status: [x1,x2] precedence above: a__plus a__2ndsneg negrecip s 2ndspos rnil rcons a__2ndspos #a__2ndsneg times mark 2ndsneg plus a__times posrecip pi(x1) status: [x1] precedence above: a__plus a__2ndsneg negrecip s 2ndspos a__from rnil square #a__times rcons a__2ndspos #a__2ndsneg from times a__pi mark 2ndsneg plus a__square cons a__times posrecip rcons(x1,x2) status: [x1,x2] precedence above: mark a__2ndspos(x1,x2) status: [x1] precedence above: a__2ndsneg negrecip s 2ndspos rnil rcons #a__2ndsneg mark 2ndsneg posrecip #a__2ndsneg(x1,x2) status: [x1] precedence above: a__2ndsneg negrecip s 2ndspos rnil rcons a__2ndspos mark 2ndsneg posrecip #a__plus(x1,x2) status: x2 #mark(x1) status: x1 0() status: [] precedence above: from(x1) status: [x1] precedence above: a__from cons times(x1,x2) status: [x1,x2] precedence above: a__plus a__2ndsneg negrecip s 2ndspos rnil #a__times rcons a__2ndspos #a__2ndsneg mark 2ndsneg plus a__times posrecip a__pi(x1) status: [x1] precedence above: a__plus a__2ndsneg negrecip s 2ndspos a__from rnil square #a__times pi rcons a__2ndspos #a__2ndsneg from times mark 2ndsneg plus a__square cons a__times posrecip nil() status: [] precedence above: mark(x1) status: x1 2ndsneg(x1,x2) status: [x1] precedence above: a__2ndsneg rnil rcons mark plus(x1,x2) status: [x1,x2] precedence above: a__plus a__2ndsneg negrecip s 2ndspos rnil rcons a__2ndspos #a__2ndsneg mark 2ndsneg posrecip a__square(x1) status: [x1] precedence above: a__plus a__2ndsneg negrecip s 2ndspos rnil square #a__times rcons a__2ndspos #a__2ndsneg times mark 2ndsneg plus a__times posrecip cons(x1,x2) status: [x1] precedence above: a__times(x1,x2) status: [x1,x2] precedence above: a__plus a__2ndsneg negrecip s 2ndspos rnil #a__times rcons a__2ndspos #a__2ndsneg times mark 2ndsneg plus posrecip #a__square(x1) status: [] precedence above: #a__2ndspos(x1,x2) status: x1 posrecip(x1) status: [] precedence above: a__2ndsneg negrecip s 2ndspos rnil rcons a__2ndspos #a__2ndsneg mark 2ndsneg Usable rules: { 1..33 } Removed DPs: #20 Number of SCCs: 1, DPs: 1, edges: 1 SCC { #42 } Removing DPs: Order(PosReal,>,Sum)... Order(PosReal,>,Max)... QLPOpS... succeeded. a__plus(x1,x2) status: [x1,x2] precedence above: a__2ndsneg negrecip s 2ndspos rnil rcons a__2ndspos #a__2ndsneg mark 2ndsneg plus posrecip a__2ndsneg(x1,x2) status: [x1] precedence above: rnil rcons mark 2ndsneg negrecip(x1) status: [] precedence above: mark s(x1) status: [x1] precedence above: a__2ndsneg negrecip 2ndspos rnil rcons a__2ndspos #a__2ndsneg mark 2ndsneg posrecip #a__pi(x1) status: [] precedence above: #a__from(x1) status: [] precedence above: 2ndspos(x1,x2) status: [x1] precedence above: a__2ndsneg negrecip s rnil rcons a__2ndspos #a__2ndsneg mark 2ndsneg posrecip a__from(x1) status: [x1] precedence above: from cons rnil() status: [] precedence above: square(x1) status: [x1] precedence above: a__plus a__2ndsneg negrecip s 2ndspos rnil #a__times rcons a__2ndspos #a__2ndsneg times mark 2ndsneg plus a__square a__times posrecip #a__times(x1,x2) status: [x1,x2] precedence above: a__plus a__2ndsneg negrecip s 2ndspos rnil rcons a__2ndspos #a__2ndsneg times mark 2ndsneg plus a__times posrecip pi(x1) status: [x1] precedence above: a__plus a__2ndsneg negrecip s 2ndspos a__from rnil square #a__times rcons a__2ndspos #a__2ndsneg from times a__pi mark 2ndsneg plus a__square cons a__times posrecip rcons(x1,x2) status: [x1,x2] precedence above: mark a__2ndspos(x1,x2) status: [x1] precedence above: a__2ndsneg negrecip s 2ndspos rnil rcons #a__2ndsneg mark 2ndsneg posrecip #a__2ndsneg(x1,x2) status: [x1] precedence above: a__2ndsneg negrecip s 2ndspos rnil rcons a__2ndspos mark 2ndsneg posrecip #a__plus(x1,x2) status: [x1] precedence above: #mark(x1) status: x1 0() status: [] precedence above: from(x1) status: [x1] precedence above: a__from cons times(x1,x2) status: [x1,x2] precedence above: a__plus a__2ndsneg negrecip s 2ndspos rnil #a__times rcons a__2ndspos #a__2ndsneg mark 2ndsneg plus a__times posrecip a__pi(x1) status: [x1] precedence above: a__plus a__2ndsneg negrecip s 2ndspos a__from rnil square #a__times pi rcons a__2ndspos #a__2ndsneg from times mark 2ndsneg plus a__square cons a__times posrecip nil() status: [] precedence above: mark(x1) status: x1 2ndsneg(x1,x2) status: [x1] precedence above: a__2ndsneg rnil rcons mark plus(x1,x2) status: [x1,x2] precedence above: a__plus a__2ndsneg negrecip s 2ndspos rnil rcons a__2ndspos #a__2ndsneg mark 2ndsneg posrecip a__square(x1) status: [x1] precedence above: a__plus a__2ndsneg negrecip s 2ndspos rnil square #a__times rcons a__2ndspos #a__2ndsneg times mark 2ndsneg plus a__times posrecip cons(x1,x2) status: [x1] precedence above: a__times(x1,x2) status: [x1,x2] precedence above: a__plus a__2ndsneg negrecip s 2ndspos rnil #a__times rcons a__2ndspos #a__2ndsneg times mark 2ndsneg plus posrecip #a__square(x1) status: [] precedence above: #a__2ndspos(x1,x2) status: x1 posrecip(x1) status: [] precedence above: a__2ndsneg negrecip s 2ndspos rnil rcons a__2ndspos #a__2ndsneg mark 2ndsneg Usable rules: { 1..33 } Removed DPs: #42 Number of SCCs: 0, DPs: 0, edges: 0 YES