Input TRS: 1: eq(0(),0()) -> true() 2: eq(0(),s(x)) -> false() 3: eq(s(x),0()) -> false() 4: eq(s(x),s(y)) -> eq(x,y) 5: le(0(),y) -> true() 6: le(s(x),0()) -> false() 7: le(s(x),s(y)) -> le(x,y) 8: app(nil(),y) -> y 9: app(add(n,x),y) -> add(n,app(x,y)) 10: min(add(n,nil())) -> n 11: min(add(n,add(m,x))) -> if_min(le(n,m),add(n,add(m,x))) 12: if_min(true(),add(n,add(m,x))) -> min(add(n,x)) 13: if_min(false(),add(n,add(m,x))) -> min(add(m,x)) 14: head(add(n,x)) -> n 15: tail(add(n,x)) -> x 16: tail(nil()) -> nil() 17: null(nil()) -> true() 18: null(add(n,x)) -> false() 19: rm(n,nil()) -> nil() 20: rm(n,add(m,x)) -> if_rm(eq(n,m),n,add(m,x)) 21: if_rm(true(),n,add(m,x)) -> rm(n,x) 22: if_rm(false(),n,add(m,x)) -> add(m,rm(n,x)) 23: minsort(x) -> mins(x,nil(),nil()) 24: mins(x,y,z) -> if(null(x),x,y,z) 25: if(true(),x,y,z) -> z 26: if(false(),x,y,z) -> if2(eq(head(x),min(x)),x,y,z) 27: if2(true(),x,y,z) -> mins(app(rm(head(x),tail(x)),y),nil(),app(z,add(head(x),nil()))) 28: if2(false(),x,y,z) -> mins(tail(x),add(head(x),y),z) Number of strict rules: 28 Direct Order(PosReal,>,Poly) ... failed. Freezing min 1: eq(0(),0()) -> true() 2: eq(0(),s(x)) -> false() 3: eq(s(x),0()) -> false() 4: eq(s(x),s(y)) -> eq(x,y) 5: le(0(),y) -> true() 6: le(s(x),0()) -> false() 7: le(s(x),s(y)) -> le(x,y) 8: app(nil(),y) -> y 9: app(add(n,x),y) -> add(n,app(x,y)) 10: min❆1_add(n,nil()) -> n 11: min❆1_add(n,add(m,x)) -> if_min(le(n,m),add(n,add(m,x))) 12: if_min(true(),add(n,add(m,x))) -> min❆1_add(n,x) 13: if_min(false(),add(n,add(m,x))) -> min❆1_add(m,x) 14: head(add(n,x)) -> n 15: tail(add(n,x)) -> x 16: tail(nil()) -> nil() 17: null(nil()) -> true() 18: null(add(n,x)) -> false() 19: rm(n,nil()) -> nil() 20: rm(n,add(m,x)) -> if_rm(eq(n,m),n,add(m,x)) 21: if_rm(true(),n,add(m,x)) -> rm(n,x) 22: if_rm(false(),n,add(m,x)) -> add(m,rm(n,x)) 23: minsort(x) -> mins(x,nil(),nil()) 24: mins(x,y,z) -> if(null(x),x,y,z) 25: if(true(),x,y,z) -> z 26: if(false(),x,y,z) -> if2(eq(head(x),min(x)),x,y,z) 27: if2(true(),x,y,z) -> mins(app(rm(head(x),tail(x)),y),nil(),app(z,add(head(x),nil()))) 28: if2(false(),x,y,z) -> mins(tail(x),add(head(x),y),z) 29: min(add(_1,_2)) ->= min❆1_add(_1,_2) Number of strict rules: 28 Direct Order(PosReal,>,Poly) ... failed. Dependency Pairs: #1: #min(add(_1,_2)) ->? #min❆1_add(_1,_2) #2: #if_min(false(),add(n,add(m,x))) -> #min❆1_add(m,x) #3: #app(add(n,x),y) -> #app(x,y) #4: #min❆1_add(n,add(m,x)) -> #if_min(le(n,m),add(n,add(m,x))) #5: #min❆1_add(n,add(m,x)) -> #le(n,m) #6: #mins(x,y,z) -> #if(null(x),x,y,z) #7: #mins(x,y,z) -> #null(x) #8: #minsort(x) -> #mins(x,nil(),nil()) #9: #if_min(true(),add(n,add(m,x))) -> #min❆1_add(n,x) #10: #rm(n,add(m,x)) -> #if_rm(eq(n,m),n,add(m,x)) #11: #rm(n,add(m,x)) -> #eq(n,m) #12: #le(s(x),s(y)) -> #le(x,y) #13: #if2(false(),x,y,z) -> #mins(tail(x),add(head(x),y),z) #14: #if2(false(),x,y,z) -> #tail(x) #15: #if2(false(),x,y,z) -> #head(x) #16: #if_rm(false(),n,add(m,x)) -> #rm(n,x) #17: #if2(true(),x,y,z) -> #mins(app(rm(head(x),tail(x)),y),nil(),app(z,add(head(x),nil()))) #18: #if2(true(),x,y,z) -> #app(rm(head(x),tail(x)),y) #19: #if2(true(),x,y,z) -> #rm(head(x),tail(x)) #20: #if2(true(),x,y,z) -> #head(x) #21: #if2(true(),x,y,z) -> #tail(x) #22: #if2(true(),x,y,z) -> #app(z,add(head(x),nil())) #23: #if2(true(),x,y,z) -> #head(x) #24: #if(false(),x,y,z) -> #if2(eq(head(x),min(x)),x,y,z) #25: #if(false(),x,y,z) -> #eq(head(x),min(x)) #26: #if(false(),x,y,z) -> #head(x) #27: #if(false(),x,y,z) -> #min(x) #28: #if_rm(true(),n,add(m,x)) -> #rm(n,x) #29: #eq(s(x),s(y)) -> #eq(x,y) Number of SCCs: 6, DPs: 13, edges: 16 SCC { #12 } Removing DPs: Order(PosReal,>,Sum)... succeeded. le(x1,x2) weight: 0 if_rm(x1,x2,x3) weight: 0 s(x1) weight: (/ 1 2) + x1 #le(x1,x2) weight: x2 #if_rm(x1,x2,x3) weight: 0 mins(x1,x2,x3) weight: 0 #if_min(x1,x2) weight: 0 eq(x1,x2) weight: 0 false() weight: 0 #min(x1) weight: 0 #head(x1) weight: 0 true() weight: 0 #eq(x1,x2) weight: 0 if2(x1,x2,x3,x4) weight: 0 min❆1_add(x1,x2) weight: 0 tail(x1) weight: 0 0() weight: 0 if(x1,x2,x3,x4) weight: 0 null(x1) weight: 0 #mins(x1,x2,x3) weight: 0 nil() weight: 0 #tail(x1) weight: 0 #app(x1,x2) weight: 0 min(x1) weight: 0 #null(x1) weight: 0 head(x1) weight: 0 #if(x1,x2,x3,x4) weight: 0 #minsort(x1) weight: 0 add(x1,x2) weight: 0 if_min(x1,x2) weight: 0 minsort(x1) weight: 0 #min❆1_add(x1,x2) weight: 0 #if2(x1,x2,x3,x4) weight: 0 rm(x1,x2) weight: 0 #rm(x1,x2) weight: 0 app(x1,x2) weight: 0 Usable rules: { } Removed DPs: #12 Number of SCCs: 5, DPs: 12, edges: 15 SCC { #29 } Removing DPs: Order(PosReal,>,Sum)... succeeded. le(x1,x2) weight: 0 if_rm(x1,x2,x3) weight: 0 s(x1) weight: (/ 1 2) + x1 #le(x1,x2) weight: 0 #if_rm(x1,x2,x3) weight: 0 mins(x1,x2,x3) weight: 0 #if_min(x1,x2) weight: 0 eq(x1,x2) weight: 0 false() weight: 0 #min(x1) weight: 0 #head(x1) weight: 0 true() weight: 0 #eq(x1,x2) weight: x2 if2(x1,x2,x3,x4) weight: 0 min❆1_add(x1,x2) weight: 0 tail(x1) weight: 0 0() weight: 0 if(x1,x2,x3,x4) weight: 0 null(x1) weight: 0 #mins(x1,x2,x3) weight: 0 nil() weight: 0 #tail(x1) weight: 0 #app(x1,x2) weight: 0 min(x1) weight: 0 #null(x1) weight: 0 head(x1) weight: 0 #if(x1,x2,x3,x4) weight: 0 #minsort(x1) weight: 0 add(x1,x2) weight: 0 if_min(x1,x2) weight: 0 minsort(x1) weight: 0 #min❆1_add(x1,x2) weight: 0 #if2(x1,x2,x3,x4) weight: 0 rm(x1,x2) weight: 0 #rm(x1,x2) weight: 0 app(x1,x2) weight: 0 Usable rules: { } Removed DPs: #29 Number of SCCs: 4, DPs: 11, edges: 14 SCC { #3 } Removing DPs: Order(PosReal,>,Sum)... succeeded. le(x1,x2) weight: 0 if_rm(x1,x2,x3) weight: 0 s(x1) weight: (/ 1 2) #le(x1,x2) weight: 0 #if_rm(x1,x2,x3) weight: 0 mins(x1,x2,x3) weight: 0 #if_min(x1,x2) weight: 0 eq(x1,x2) weight: 0 false() weight: 0 #min(x1) weight: 0 #head(x1) weight: 0 true() weight: 0 #eq(x1,x2) weight: 0 if2(x1,x2,x3,x4) weight: 0 min❆1_add(x1,x2) weight: 0 tail(x1) weight: 0 0() weight: 0 if(x1,x2,x3,x4) weight: 0 null(x1) weight: 0 #mins(x1,x2,x3) weight: 0 nil() weight: 0 #tail(x1) weight: 0 #app(x1,x2) weight: x1 min(x1) weight: 0 #null(x1) weight: 0 head(x1) weight: 0 #if(x1,x2,x3,x4) weight: 0 #minsort(x1) weight: 0 add(x1,x2) weight: (/ 1 2) + x2 if_min(x1,x2) weight: 0 minsort(x1) weight: 0 #min❆1_add(x1,x2) weight: 0 #if2(x1,x2,x3,x4) weight: 0 rm(x1,x2) weight: 0 #rm(x1,x2) weight: 0 app(x1,x2) weight: 0 Usable rules: { } Removed DPs: #3 Number of SCCs: 3, DPs: 10, edges: 13 SCC { #10 #16 #28 } Removing DPs: Order(PosReal,>,Sum)... succeeded. le(x1,x2) weight: 0 if_rm(x1,x2,x3) weight: 0 s(x1) weight: (/ 1 4) #le(x1,x2) weight: 0 #if_rm(x1,x2,x3) weight: x3 mins(x1,x2,x3) weight: 0 #if_min(x1,x2) weight: 0 eq(x1,x2) weight: (/ 1 4) false() weight: 0 #min(x1) weight: 0 #head(x1) weight: 0 true() weight: 0 #eq(x1,x2) weight: 0 if2(x1,x2,x3,x4) weight: 0 min❆1_add(x1,x2) weight: 0 tail(x1) weight: 0 0() weight: 0 if(x1,x2,x3,x4) weight: 0 null(x1) weight: 0 #mins(x1,x2,x3) weight: 0 nil() weight: 0 #tail(x1) weight: 0 #app(x1,x2) weight: 0 min(x1) weight: 0 #null(x1) weight: 0 head(x1) weight: 0 #if(x1,x2,x3,x4) weight: 0 #minsort(x1) weight: 0 add(x1,x2) weight: (/ 1 2) + x1 + x2 if_min(x1,x2) weight: 0 minsort(x1) weight: 0 #min❆1_add(x1,x2) weight: 0 #if2(x1,x2,x3,x4) weight: 0 rm(x1,x2) weight: 0 #rm(x1,x2) weight: (/ 1 4) + x2 app(x1,x2) weight: 0 Usable rules: { } Removed DPs: #10 #16 #28 Number of SCCs: 2, DPs: 7, edges: 9 SCC { #2 #4 #9 } Removing DPs: Order(PosReal,>,Sum)... succeeded. le(x1,x2) weight: (/ 1 8) if_rm(x1,x2,x3) weight: 0 s(x1) weight: (/ 1 8) #le(x1,x2) weight: 0 #if_rm(x1,x2,x3) weight: 0 mins(x1,x2,x3) weight: 0 #if_min(x1,x2) weight: x2 eq(x1,x2) weight: (/ 1 8) false() weight: 0 #min(x1) weight: 0 #head(x1) weight: 0 true() weight: 0 #eq(x1,x2) weight: 0 if2(x1,x2,x3,x4) weight: 0 min❆1_add(x1,x2) weight: 0 tail(x1) weight: 0 0() weight: 0 if(x1,x2,x3,x4) weight: 0 null(x1) weight: 0 #mins(x1,x2,x3) weight: 0 nil() weight: 0 #tail(x1) weight: 0 #app(x1,x2) weight: 0 min(x1) weight: 0 #null(x1) weight: 0 head(x1) weight: 0 #if(x1,x2,x3,x4) weight: 0 #minsort(x1) weight: 0 add(x1,x2) weight: (/ 1 4) + x2 if_min(x1,x2) weight: 0 minsort(x1) weight: 0 #min❆1_add(x1,x2) weight: (/ 3 8) + x2 #if2(x1,x2,x3,x4) weight: 0 rm(x1,x2) weight: 0 #rm(x1,x2) weight: (/ 1 8) app(x1,x2) weight: 0 Usable rules: { } Removed DPs: #2 #4 #9 Number of SCCs: 1, DPs: 4, edges: 5 SCC { #6 #13 #17 #24 } 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... failed. MAYBE