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