- : unit = () - : unit = () h : heuristic = - : unit = () APPLY CRITERIA (Marked dependency pairs) TRS termination of: [1] active(U11(tt,N,X,XS)) -> mark(U12(splitAt(N,XS),X)) [2] active(U12(pair(YS,ZS),X)) -> mark(pair(cons(X,YS),ZS)) [3] active(afterNth(N,XS)) -> mark(snd(splitAt(N,XS))) [4] active(and(tt,X)) -> mark(X) [5] active(fst(pair(X,Y))) -> mark(X) [6] active(head(cons(N,XS))) -> mark(N) [7] active(natsFrom(N)) -> mark(cons(N,natsFrom(s(N)))) [8] active(sel(N,XS)) -> mark(head(afterNth(N,XS))) [9] active(snd(pair(X,Y))) -> mark(Y) [10] active(splitAt(0,XS)) -> mark(pair(nil,XS)) [11] active(splitAt(s(N),cons(X,XS))) -> mark(U11(tt,N,X,XS)) [12] active(tail(cons(N,XS))) -> mark(XS) [13] active(take(N,XS)) -> mark(fst(splitAt(N,XS))) [14] mark(U11(X1,X2,X3,X4)) -> active(U11(mark(X1),X2,X3,X4)) [15] mark(tt) -> active(tt) [16] mark(U12(X1,X2)) -> active(U12(mark(X1),X2)) [17] mark(splitAt(X1,X2)) -> active(splitAt(mark(X1),mark(X2))) [18] mark(pair(X1,X2)) -> active(pair(mark(X1),mark(X2))) [19] mark(cons(X1,X2)) -> active(cons(mark(X1),X2)) [20] mark(afterNth(X1,X2)) -> active(afterNth(mark(X1),mark(X2))) [21] mark(snd(X)) -> active(snd(mark(X))) [22] mark(and(X1,X2)) -> active(and(mark(X1),X2)) [23] mark(fst(X)) -> active(fst(mark(X))) [24] mark(head(X)) -> active(head(mark(X))) [25] mark(natsFrom(X)) -> active(natsFrom(mark(X))) [26] mark(s(X)) -> active(s(mark(X))) [27] mark(sel(X1,X2)) -> active(sel(mark(X1),mark(X2))) [28] mark(0) -> active(0) [29] mark(nil) -> active(nil) [30] mark(tail(X)) -> active(tail(mark(X))) [31] mark(take(X1,X2)) -> active(take(mark(X1),mark(X2))) [32] U11(mark(X1),X2,X3,X4) -> U11(X1,X2,X3,X4) [33] U11(X1,mark(X2),X3,X4) -> U11(X1,X2,X3,X4) [34] U11(X1,X2,mark(X3),X4) -> U11(X1,X2,X3,X4) [35] U11(X1,X2,X3,mark(X4)) -> U11(X1,X2,X3,X4) [36] U11(active(X1),X2,X3,X4) -> U11(X1,X2,X3,X4) [37] U11(X1,active(X2),X3,X4) -> U11(X1,X2,X3,X4) [38] U11(X1,X2,active(X3),X4) -> U11(X1,X2,X3,X4) [39] U11(X1,X2,X3,active(X4)) -> U11(X1,X2,X3,X4) [40] U12(mark(X1),X2) -> U12(X1,X2) [41] U12(X1,mark(X2)) -> U12(X1,X2) [42] U12(active(X1),X2) -> U12(X1,X2) [43] U12(X1,active(X2)) -> U12(X1,X2) [44] splitAt(mark(X1),X2) -> splitAt(X1,X2) [45] splitAt(X1,mark(X2)) -> splitAt(X1,X2) [46] splitAt(active(X1),X2) -> splitAt(X1,X2) [47] splitAt(X1,active(X2)) -> splitAt(X1,X2) [48] pair(mark(X1),X2) -> pair(X1,X2) [49] pair(X1,mark(X2)) -> pair(X1,X2) [50] pair(active(X1),X2) -> pair(X1,X2) [51] pair(X1,active(X2)) -> pair(X1,X2) [52] cons(mark(X1),X2) -> cons(X1,X2) [53] cons(X1,mark(X2)) -> cons(X1,X2) [54] cons(active(X1),X2) -> cons(X1,X2) [55] cons(X1,active(X2)) -> cons(X1,X2) [56] afterNth(mark(X1),X2) -> afterNth(X1,X2) [57] afterNth(X1,mark(X2)) -> afterNth(X1,X2) [58] afterNth(active(X1),X2) -> afterNth(X1,X2) [59] afterNth(X1,active(X2)) -> afterNth(X1,X2) [60] snd(mark(X)) -> snd(X) [61] snd(active(X)) -> snd(X) [62] and(mark(X1),X2) -> and(X1,X2) [63] and(X1,mark(X2)) -> and(X1,X2) [64] and(active(X1),X2) -> and(X1,X2) [65] and(X1,active(X2)) -> and(X1,X2) [66] fst(mark(X)) -> fst(X) [67] fst(active(X)) -> fst(X) [68] head(mark(X)) -> head(X) [69] head(active(X)) -> head(X) [70] natsFrom(mark(X)) -> natsFrom(X) [71] natsFrom(active(X)) -> natsFrom(X) [72] s(mark(X)) -> s(X) [73] s(active(X)) -> s(X) [74] sel(mark(X1),X2) -> sel(X1,X2) [75] sel(X1,mark(X2)) -> sel(X1,X2) [76] sel(active(X1),X2) -> sel(X1,X2) [77] sel(X1,active(X2)) -> sel(X1,X2) [78] tail(mark(X)) -> tail(X) [79] tail(active(X)) -> tail(X) [80] take(mark(X1),X2) -> take(X1,X2) [81] take(X1,mark(X2)) -> take(X1,X2) [82] take(active(X1),X2) -> take(X1,X2) [83] take(X1,active(X2)) -> take(X1,X2) Sub problem: guided: DP termination of: END GUIDED APPLY CRITERIA (Graph splitting) Found 16 components: { --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> } { --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> } { --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> } { --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> } { --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> } { --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> } { --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> } { --> --> --> --> } { --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> } { --> --> --> --> } { --> --> --> --> } { --> --> --> --> } { --> --> --> --> } { --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> } { --> --> --> --> } { --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> } APPLY CRITERIA (Subterm criterion) APPLY CRITERIA (Choosing graph) Trying to solve the following constraints: { mark(U12(X1,X2)) >= active(U12(mark(X1),X2)) ; mark(splitAt(X1,X2)) >= active(splitAt(mark(X1),mark(X2))) ; mark(U11(X1,X2,X3,X4)) >= active(U11(mark(X1),X2,X3,X4)) ; mark(tt) >= active(tt) ; mark(pair(X1,X2)) >= active(pair(mark(X1),mark(X2))) ; mark(cons(X1,X2)) >= active(cons(mark(X1),X2)) ; mark(snd(X)) >= active(snd(mark(X))) ; mark(afterNth(X1,X2)) >= active(afterNth(mark(X1),mark(X2))) ; mark(and(X1,X2)) >= active(and(mark(X1),X2)) ; mark(fst(X)) >= active(fst(mark(X))) ; mark(head(X)) >= active(head(mark(X))) ; mark(natsFrom(X)) >= active(natsFrom(mark(X))) ; mark(s(X)) >= active(s(mark(X))) ; mark(sel(X1,X2)) >= active(sel(mark(X1),mark(X2))) ; mark(nil) >= active(nil) ; mark(0) >= active(0) ; mark(tail(X)) >= active(tail(mark(X))) ; mark(take(X1,X2)) >= active(take(mark(X1),mark(X2))) ; U12(mark(X1),X2) >= U12(X1,X2) ; U12(active(X1),X2) >= U12(X1,X2) ; U12(X1,mark(X2)) >= U12(X1,X2) ; U12(X1,active(X2)) >= U12(X1,X2) ; splitAt(mark(X1),X2) >= splitAt(X1,X2) ; splitAt(active(X1),X2) >= splitAt(X1,X2) ; splitAt(X1,mark(X2)) >= splitAt(X1,X2) ; splitAt(X1,active(X2)) >= splitAt(X1,X2) ; active(U12(pair(YS,ZS),X)) >= mark(pair(cons(X,YS),ZS)) ; active(splitAt(s(N),cons(X,XS))) >= mark(U11(tt,N,X,XS)) ; active(splitAt(0,XS)) >= mark(pair(nil,XS)) ; active(U11(tt,N,X,XS)) >= mark(U12(splitAt(N,XS),X)) ; active(snd(pair(X,Y))) >= mark(Y) ; active(afterNth(N,XS)) >= mark(snd(splitAt(N,XS))) ; active(and(tt,X)) >= mark(X) ; active(fst(pair(X,Y))) >= mark(X) ; active(head(cons(N,XS))) >= mark(N) ; active(natsFrom(N)) >= mark(cons(N,natsFrom(s(N)))) ; active(sel(N,XS)) >= mark(head(afterNth(N,XS))) ; active(tail(cons(N,XS))) >= mark(XS) ; active(take(N,XS)) >= mark(fst(splitAt(N,XS))) ; U11(mark(X1),X2,X3,X4) >= U11(X1,X2,X3,X4) ; U11(active(X1),X2,X3,X4) >= U11(X1,X2,X3,X4) ; U11(X1,mark(X2),X3,X4) >= U11(X1,X2,X3,X4) ; U11(X1,active(X2),X3,X4) >= U11(X1,X2,X3,X4) ; U11(X1,X2,mark(X3),X4) >= U11(X1,X2,X3,X4) ; U11(X1,X2,active(X3),X4) >= U11(X1,X2,X3,X4) ; U11(X1,X2,X3,mark(X4)) >= U11(X1,X2,X3,X4) ; U11(X1,X2,X3,active(X4)) >= U11(X1,X2,X3,X4) ; pair(mark(X1),X2) >= pair(X1,X2) ; pair(active(X1),X2) >= pair(X1,X2) ; pair(X1,mark(X2)) >= pair(X1,X2) ; pair(X1,active(X2)) >= pair(X1,X2) ; cons(mark(X1),X2) >= cons(X1,X2) ; cons(active(X1),X2) >= cons(X1,X2) ; cons(X1,mark(X2)) >= cons(X1,X2) ; cons(X1,active(X2)) >= cons(X1,X2) ; snd(mark(X)) >= snd(X) ; snd(active(X)) >= snd(X) ; afterNth(mark(X1),X2) >= afterNth(X1,X2) ; afterNth(active(X1),X2) >= afterNth(X1,X2) ; afterNth(X1,mark(X2)) >= afterNth(X1,X2) ; afterNth(X1,active(X2)) >= afterNth(X1,X2) ; and(mark(X1),X2) >= and(X1,X2) ; and(active(X1),X2) >= and(X1,X2) ; and(X1,mark(X2)) >= and(X1,X2) ; and(X1,active(X2)) >= and(X1,X2) ; fst(mark(X)) >= fst(X) ; fst(active(X)) >= fst(X) ; head(mark(X)) >= head(X) ; head(active(X)) >= head(X) ; natsFrom(mark(X)) >= natsFrom(X) ; natsFrom(active(X)) >= natsFrom(X) ; s(mark(X)) >= s(X) ; s(active(X)) >= s(X) ; sel(mark(X1),X2) >= sel(X1,X2) ; sel(active(X1),X2) >= sel(X1,X2) ; sel(X1,mark(X2)) >= sel(X1,X2) ; sel(X1,active(X2)) >= sel(X1,X2) ; tail(mark(X)) >= tail(X) ; tail(active(X)) >= tail(X) ; take(mark(X1),X2) >= take(X1,X2) ; take(active(X1),X2) >= take(X1,X2) ; take(X1,mark(X2)) >= take(X1,X2) ; take(X1,active(X2)) >= take(X1,X2) ; Marked_mark(U12(X1,X2)) >= Marked_mark(X1) ; Marked_mark(U12(X1,X2)) >= Marked_active(U12(mark(X1),X2)) ; Marked_mark(splitAt(X1,X2)) >= Marked_mark(X1) ; Marked_mark(splitAt(X1,X2)) >= Marked_mark(X2) ; Marked_mark(splitAt(X1,X2)) >= Marked_active(splitAt(mark(X1),mark(X2))) ; Marked_mark(U11(X1,X2,X3,X4)) >= Marked_mark(X1) ; Marked_mark(U11(X1,X2,X3,X4)) >= Marked_active(U11(mark(X1),X2,X3,X4)) ; Marked_mark(pair(X1,X2)) >= Marked_mark(X1) ; Marked_mark(pair(X1,X2)) >= Marked_mark(X2) ; Marked_mark(pair(X1,X2)) >= Marked_active(pair(mark(X1),mark(X2))) ; Marked_mark(cons(X1,X2)) >= Marked_mark(X1) ; Marked_mark(cons(X1,X2)) >= Marked_active(cons(mark(X1),X2)) ; Marked_mark(snd(X)) >= Marked_mark(X) ; Marked_mark(snd(X)) >= Marked_active(snd(mark(X))) ; Marked_mark(afterNth(X1,X2)) >= Marked_mark(X1) ; Marked_mark(afterNth(X1,X2)) >= Marked_mark(X2) ; Marked_mark(afterNth(X1,X2)) >= Marked_active(afterNth(mark(X1),mark(X2))) ; Marked_mark(and(X1,X2)) >= Marked_mark(X1) ; Marked_mark(and(X1,X2)) >= Marked_active(and(mark(X1),X2)) ; Marked_mark(fst(X)) >= Marked_mark(X) ; Marked_mark(fst(X)) >= Marked_active(fst(mark(X))) ; Marked_mark(head(X)) >= Marked_mark(X) ; Marked_mark(head(X)) >= Marked_active(head(mark(X))) ; Marked_mark(natsFrom(X)) >= Marked_mark(X) ; Marked_mark(natsFrom(X)) >= Marked_active(natsFrom(mark(X))) ; Marked_mark(s(X)) >= Marked_mark(X) ; Marked_mark(s(X)) >= Marked_active(s(mark(X))) ; Marked_mark(sel(X1,X2)) >= Marked_mark(X1) ; Marked_mark(sel(X1,X2)) >= Marked_mark(X2) ; Marked_mark(sel(X1,X2)) >= Marked_active(sel(mark(X1),mark(X2))) ; Marked_mark(tail(X)) >= Marked_mark(X) ; Marked_mark(tail(X)) >= Marked_active(tail(mark(X))) ; Marked_mark(take(X1,X2)) >= Marked_mark(X1) ; Marked_mark(take(X1,X2)) >= Marked_mark(X2) ; Marked_mark(take(X1,X2)) >= Marked_active(take(mark(X1),mark(X2))) ; Marked_active(U12(pair(YS,ZS),X)) >= Marked_mark(pair(cons(X,YS),ZS)) ; Marked_active(splitAt(s(N),cons(X,XS))) >= Marked_mark(U11(tt,N,X,XS)) ; Marked_active(splitAt(0,XS)) >= Marked_mark(pair(nil,XS)) ; Marked_active(U11(tt,N,X,XS)) >= Marked_mark(U12(splitAt(N,XS),X)) ; Marked_active(snd(pair(X,Y))) >= Marked_mark(Y) ; Marked_active(afterNth(N,XS)) >= Marked_mark(snd(splitAt(N,XS))) ; Marked_active(and(tt,X)) >= Marked_mark(X) ; Marked_active(fst(pair(X,Y))) >= Marked_mark(X) ; Marked_active(head(cons(N,XS))) >= Marked_mark(N) ; Marked_active(natsFrom(N)) >= Marked_mark(cons(N,natsFrom(s(N)))) ; Marked_active(sel(N,XS)) >= Marked_mark(head(afterNth(N,XS))) ; Marked_active(tail(cons(N,XS))) >= Marked_mark(XS) ; Marked_active(take(N,XS)) >= Marked_mark(fst(splitAt(N,XS))) ; } + Disjunctions:{ { Marked_mark(U12(X1,X2)) > Marked_mark(X1) ; } { Marked_mark(U12(X1,X2)) > Marked_active(U12(mark(X1),X2)) ; } { Marked_mark(splitAt(X1,X2)) > Marked_mark(X1) ; } { Marked_mark(splitAt(X1,X2)) > Marked_mark(X2) ; } { Marked_mark(splitAt(X1,X2)) > Marked_active(splitAt(mark(X1),mark(X2))) ; } { Marked_mark(U11(X1,X2,X3,X4)) > Marked_mark(X1) ; } { Marked_mark(U11(X1,X2,X3,X4)) > Marked_active(U11(mark(X1),X2,X3,X4)) ; } { Marked_mark(pair(X1,X2)) > Marked_mark(X1) ; } { Marked_mark(pair(X1,X2)) > Marked_mark(X2) ; } { Marked_mark(pair(X1,X2)) > Marked_active(pair(mark(X1),mark(X2))) ; } { Marked_mark(cons(X1,X2)) > Marked_mark(X1) ; } { Marked_mark(cons(X1,X2)) > Marked_active(cons(mark(X1),X2)) ; } { Marked_mark(snd(X)) > Marked_mark(X) ; } { Marked_mark(snd(X)) > Marked_active(snd(mark(X))) ; } { Marked_mark(afterNth(X1,X2)) > Marked_mark(X1) ; } { Marked_mark(afterNth(X1,X2)) > Marked_mark(X2) ; } { Marked_mark(afterNth(X1,X2)) > Marked_active(afterNth(mark(X1),mark(X2))) ; } { Marked_mark(and(X1,X2)) > Marked_mark(X1) ; } { Marked_mark(and(X1,X2)) > Marked_active(and(mark(X1),X2)) ; } { Marked_mark(fst(X)) > Marked_mark(X) ; } { Marked_mark(fst(X)) > Marked_active(fst(mark(X))) ; } { Marked_mark(head(X)) > Marked_mark(X) ; } { Marked_mark(head(X)) > Marked_active(head(mark(X))) ; } { Marked_mark(natsFrom(X)) > Marked_mark(X) ; } { Marked_mark(natsFrom(X)) > Marked_active(natsFrom(mark(X))) ; } { Marked_mark(s(X)) > Marked_mark(X) ; } { Marked_mark(s(X)) > Marked_active(s(mark(X))) ; } { Marked_mark(sel(X1,X2)) > Marked_mark(X1) ; } { Marked_mark(sel(X1,X2)) > Marked_mark(X2) ; } { Marked_mark(sel(X1,X2)) > Marked_active(sel(mark(X1),mark(X2))) ; } { Marked_mark(tail(X)) > Marked_mark(X) ; } { Marked_mark(tail(X)) > Marked_active(tail(mark(X))) ; } { Marked_mark(take(X1,X2)) > Marked_mark(X1) ; } { Marked_mark(take(X1,X2)) > Marked_mark(X2) ; } { Marked_mark(take(X1,X2)) > Marked_active(take(mark(X1),mark(X2))) ; } { Marked_active(U12(pair(YS,ZS),X)) > Marked_mark(pair(cons(X,YS),ZS)) ; } { Marked_active(splitAt(s(N),cons(X,XS))) > Marked_mark(U11(tt,N,X,XS)) ; } { Marked_active(splitAt(0,XS)) > Marked_mark(pair(nil,XS)) ; } { Marked_active(U11(tt,N,X,XS)) > Marked_mark(U12(splitAt(N,XS),X)) ; } { Marked_active(snd(pair(X,Y))) > Marked_mark(Y) ; } { Marked_active(afterNth(N,XS)) > Marked_mark(snd(splitAt(N,XS))) ; } { Marked_active(and(tt,X)) > Marked_mark(X) ; } { Marked_active(fst(pair(X,Y))) > Marked_mark(X) ; } { Marked_active(head(cons(N,XS))) > Marked_mark(N) ; } { Marked_active(natsFrom(N)) > Marked_mark(cons(N,natsFrom(s(N)))) ; } { Marked_active(sel(N,XS)) > Marked_mark(head(afterNth(N,XS))) ; } { Marked_active(tail(cons(N,XS))) > Marked_mark(XS) ; } { Marked_active(take(N,XS)) > Marked_mark(fst(splitAt(N,XS))) ; } } === TIMER virtual : 10.000000 === Entering poly_solver Starting Sat solver initialization Calling Sat solver... === STOPING TIMER virtual === === TIMER real : 10.000000 === === STOPING TIMER real === Sat solver returned Sat solver result read === STOPING TIMER real === === STOPING TIMER virtual === constraint: mark(U12(X1,X2)) >= active(U12(mark(X1),X2)) constraint: mark(splitAt(X1,X2)) >= active(splitAt(mark(X1),mark(X2))) constraint: mark(U11(X1,X2,X3,X4)) >= active(U11(mark(X1),X2,X3,X4)) constraint: mark(tt) >= active(tt) constraint: mark(pair(X1,X2)) >= active(pair(mark(X1),mark(X2))) constraint: mark(cons(X1,X2)) >= active(cons(mark(X1),X2)) constraint: mark(snd(X)) >= active(snd(mark(X))) constraint: mark(afterNth(X1,X2)) >= active(afterNth(mark(X1),mark(X2))) constraint: mark(and(X1,X2)) >= active(and(mark(X1),X2)) constraint: mark(fst(X)) >= active(fst(mark(X))) constraint: mark(head(X)) >= active(head(mark(X))) constraint: mark(natsFrom(X)) >= active(natsFrom(mark(X))) constraint: mark(s(X)) >= active(s(mark(X))) constraint: mark(sel(X1,X2)) >= active(sel(mark(X1),mark(X2))) constraint: mark(nil) >= active(nil) constraint: mark(0) >= active(0) constraint: mark(tail(X)) >= active(tail(mark(X))) constraint: mark(take(X1,X2)) >= active(take(mark(X1),mark(X2))) constraint: U12(mark(X1),X2) >= U12(X1,X2) constraint: U12(active(X1),X2) >= U12(X1,X2) constraint: U12(X1,mark(X2)) >= U12(X1,X2) constraint: U12(X1,active(X2)) >= U12(X1,X2) constraint: splitAt(mark(X1),X2) >= splitAt(X1,X2) constraint: splitAt(active(X1),X2) >= splitAt(X1,X2) constraint: splitAt(X1,mark(X2)) >= splitAt(X1,X2) constraint: splitAt(X1,active(X2)) >= splitAt(X1,X2) constraint: active(U12(pair(YS,ZS),X)) >= mark(pair(cons(X,YS),ZS)) constraint: active(splitAt(s(N),cons(X,XS))) >= mark(U11(tt,N,X,XS)) constraint: active(splitAt(0,XS)) >= mark(pair(nil,XS)) constraint: active(U11(tt,N,X,XS)) >= mark(U12(splitAt(N,XS),X)) constraint: active(snd(pair(X,Y))) >= mark(Y) constraint: active(afterNth(N,XS)) >= mark(snd(splitAt(N,XS))) constraint: active(and(tt,X)) >= mark(X) constraint: active(fst(pair(X,Y))) >= mark(X) constraint: active(head(cons(N,XS))) >= mark(N) constraint: active(natsFrom(N)) >= mark(cons(N,natsFrom(s(N)))) constraint: active(sel(N,XS)) >= mark(head(afterNth(N,XS))) constraint: active(tail(cons(N,XS))) >= mark(XS) constraint: active(take(N,XS)) >= mark(fst(splitAt(N,XS))) constraint: U11(mark(X1),X2,X3,X4) >= U11(X1,X2,X3,X4) constraint: U11(active(X1),X2,X3,X4) >= U11(X1,X2,X3,X4) constraint: U11(X1,mark(X2),X3,X4) >= U11(X1,X2,X3,X4) constraint: U11(X1,active(X2),X3,X4) >= U11(X1,X2,X3,X4) constraint: U11(X1,X2,mark(X3),X4) >= U11(X1,X2,X3,X4) constraint: U11(X1,X2,active(X3),X4) >= U11(X1,X2,X3,X4) constraint: U11(X1,X2,X3,mark(X4)) >= U11(X1,X2,X3,X4) constraint: U11(X1,X2,X3,active(X4)) >= U11(X1,X2,X3,X4) constraint: pair(mark(X1),X2) >= pair(X1,X2) constraint: pair(active(X1),X2) >= pair(X1,X2) constraint: pair(X1,mark(X2)) >= pair(X1,X2) constraint: pair(X1,active(X2)) >= pair(X1,X2) constraint: cons(mark(X1),X2) >= cons(X1,X2) constraint: cons(active(X1),X2) >= cons(X1,X2) constraint: cons(X1,mark(X2)) >= cons(X1,X2) constraint: cons(X1,active(X2)) >= cons(X1,X2) constraint: snd(mark(X)) >= snd(X) constraint: snd(active(X)) >= snd(X) constraint: afterNth(mark(X1),X2) >= afterNth(X1,X2) constraint: afterNth(active(X1),X2) >= afterNth(X1,X2) constraint: afterNth(X1,mark(X2)) >= afterNth(X1,X2) constraint: afterNth(X1,active(X2)) >= afterNth(X1,X2) constraint: and(mark(X1),X2) >= and(X1,X2) constraint: and(active(X1),X2) >= and(X1,X2) constraint: and(X1,mark(X2)) >= and(X1,X2) constraint: and(X1,active(X2)) >= and(X1,X2) constraint: fst(mark(X)) >= fst(X) constraint: fst(active(X)) >= fst(X) constraint: head(mark(X)) >= head(X) constraint: head(active(X)) >= head(X) constraint: natsFrom(mark(X)) >= natsFrom(X) constraint: natsFrom(active(X)) >= natsFrom(X) constraint: s(mark(X)) >= s(X) constraint: s(active(X)) >= s(X) constraint: sel(mark(X1),X2) >= sel(X1,X2) constraint: sel(active(X1),X2) >= sel(X1,X2) constraint: sel(X1,mark(X2)) >= sel(X1,X2) constraint: sel(X1,active(X2)) >= sel(X1,X2) constraint: tail(mark(X)) >= tail(X) constraint: tail(active(X)) >= tail(X) constraint: take(mark(X1),X2) >= take(X1,X2) constraint: take(active(X1),X2) >= take(X1,X2) constraint: take(X1,mark(X2)) >= take(X1,X2) constraint: take(X1,active(X2)) >= take(X1,X2) constraint: Marked_mark(U12(X1,X2)) >= Marked_mark(X1) constraint: Marked_mark(U12(X1,X2)) >= Marked_active(U12(mark(X1),X2)) constraint: Marked_mark(splitAt(X1,X2)) >= Marked_mark(X1) constraint: Marked_mark(splitAt(X1,X2)) >= Marked_mark(X2) constraint: Marked_mark(splitAt(X1,X2)) >= Marked_active(splitAt(mark(X1), mark(X2))) constraint: Marked_mark(U11(X1,X2,X3,X4)) >= Marked_mark(X1) constraint: Marked_mark(U11(X1,X2,X3,X4)) >= Marked_active(U11(mark(X1), X2,X3,X4)) constraint: Marked_mark(pair(X1,X2)) >= Marked_mark(X1) constraint: Marked_mark(pair(X1,X2)) >= Marked_mark(X2) constraint: Marked_mark(pair(X1,X2)) >= Marked_active(pair(mark(X1),mark(X2))) constraint: Marked_mark(cons(X1,X2)) >= Marked_mark(X1) constraint: Marked_mark(cons(X1,X2)) >= Marked_active(cons(mark(X1),X2)) constraint: Marked_mark(snd(X)) >= Marked_mark(X) constraint: Marked_mark(snd(X)) >= Marked_active(snd(mark(X))) constraint: Marked_mark(afterNth(X1,X2)) >= Marked_mark(X1) constraint: Marked_mark(afterNth(X1,X2)) >= Marked_mark(X2) constraint: Marked_mark(afterNth(X1,X2)) >= Marked_active(afterNth(mark(X1), mark(X2))) constraint: Marked_mark(and(X1,X2)) >= Marked_mark(X1) constraint: Marked_mark(and(X1,X2)) >= Marked_active(and(mark(X1),X2)) constraint: Marked_mark(fst(X)) >= Marked_mark(X) constraint: Marked_mark(fst(X)) >= Marked_active(fst(mark(X))) constraint: Marked_mark(head(X)) >= Marked_mark(X) constraint: Marked_mark(head(X)) >= Marked_active(head(mark(X))) constraint: Marked_mark(natsFrom(X)) >= Marked_mark(X) constraint: Marked_mark(natsFrom(X)) >= Marked_active(natsFrom(mark(X))) constraint: Marked_mark(s(X)) >= Marked_mark(X) constraint: Marked_mark(s(X)) >= Marked_active(s(mark(X))) constraint: Marked_mark(sel(X1,X2)) >= Marked_mark(X1) constraint: Marked_mark(sel(X1,X2)) >= Marked_mark(X2) constraint: Marked_mark(sel(X1,X2)) >= Marked_active(sel(mark(X1),mark(X2))) constraint: Marked_mark(tail(X)) >= Marked_mark(X) constraint: Marked_mark(tail(X)) >= Marked_active(tail(mark(X))) constraint: Marked_mark(take(X1,X2)) >= Marked_mark(X1) constraint: Marked_mark(take(X1,X2)) >= Marked_mark(X2) constraint: Marked_mark(take(X1,X2)) >= Marked_active(take(mark(X1),mark(X2))) constraint: Marked_active(U12(pair(YS,ZS),X)) >= Marked_mark(pair(cons(X,YS), ZS)) constraint: Marked_active(splitAt(s(N),cons(X,XS))) >= Marked_mark(U11( tt, N, X, XS)) constraint: Marked_active(splitAt(0,XS)) >= Marked_mark(pair(nil,XS)) constraint: Marked_active(U11(tt,N,X,XS)) >= Marked_mark(U12(splitAt(N,XS),X)) constraint: Marked_active(snd(pair(X,Y))) >= Marked_mark(Y) constraint: Marked_active(afterNth(N,XS)) >= Marked_mark(snd(splitAt(N,XS))) constraint: Marked_active(and(tt,X)) >= Marked_mark(X) constraint: Marked_active(fst(pair(X,Y))) >= Marked_mark(X) constraint: Marked_active(head(cons(N,XS))) >= Marked_mark(N) constraint: Marked_active(natsFrom(N)) >= Marked_mark(cons(N,natsFrom(s(N)))) constraint: Marked_active(sel(N,XS)) >= Marked_mark(head(afterNth(N,XS))) constraint: Marked_active(tail(cons(N,XS))) >= Marked_mark(XS) constraint: Marked_active(take(N,XS)) >= Marked_mark(fst(splitAt(N,XS))) APPLY CRITERIA (Subterm criterion) ST: Marked_U11 -> 4 APPLY CRITERIA (Subterm criterion) ST: Marked_U12 -> 2 APPLY CRITERIA (Subterm criterion) ST: Marked_splitAt -> 2 APPLY CRITERIA (Subterm criterion) ST: Marked_pair -> 2 APPLY CRITERIA (Subterm criterion) ST: Marked_cons -> 2 APPLY CRITERIA (Subterm criterion) ST: Marked_afterNth -> 2 APPLY CRITERIA (Subterm criterion) ST: Marked_snd -> 1 APPLY CRITERIA (Subterm criterion) ST: Marked_and -> 2 APPLY CRITERIA (Subterm criterion) ST: Marked_fst -> 1 APPLY CRITERIA (Subterm criterion) ST: Marked_head -> 1 APPLY CRITERIA (Subterm criterion) ST: Marked_natsFrom -> 1 APPLY CRITERIA (Subterm criterion) ST: Marked_s -> 1 APPLY CRITERIA (Subterm criterion) ST: Marked_sel -> 2 APPLY CRITERIA (Subterm criterion) ST: Marked_tail -> 1 APPLY CRITERIA (Subterm criterion) ST: Marked_take -> 2 APPLY CRITERIA (Graph splitting) Found 1 components: { --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> } APPLY CRITERIA (Subterm criterion) APPLY CRITERIA (Choosing graph) Trying to solve the following constraints: { mark(U12(X1,X2)) >= active(U12(mark(X1),X2)) ; mark(splitAt(X1,X2)) >= active(splitAt(mark(X1),mark(X2))) ; mark(U11(X1,X2,X3,X4)) >= active(U11(mark(X1),X2,X3,X4)) ; mark(tt) >= active(tt) ; mark(pair(X1,X2)) >= active(pair(mark(X1),mark(X2))) ; mark(cons(X1,X2)) >= active(cons(mark(X1),X2)) ; mark(snd(X)) >= active(snd(mark(X))) ; mark(afterNth(X1,X2)) >= active(afterNth(mark(X1),mark(X2))) ; mark(and(X1,X2)) >= active(and(mark(X1),X2)) ; mark(fst(X)) >= active(fst(mark(X))) ; mark(head(X)) >= active(head(mark(X))) ; mark(natsFrom(X)) >= active(natsFrom(mark(X))) ; mark(s(X)) >= active(s(mark(X))) ; mark(sel(X1,X2)) >= active(sel(mark(X1),mark(X2))) ; mark(nil) >= active(nil) ; mark(0) >= active(0) ; mark(tail(X)) >= active(tail(mark(X))) ; mark(take(X1,X2)) >= active(take(mark(X1),mark(X2))) ; U12(mark(X1),X2) >= U12(X1,X2) ; U12(active(X1),X2) >= U12(X1,X2) ; U12(X1,mark(X2)) >= U12(X1,X2) ; U12(X1,active(X2)) >= U12(X1,X2) ; splitAt(mark(X1),X2) >= splitAt(X1,X2) ; splitAt(active(X1),X2) >= splitAt(X1,X2) ; splitAt(X1,mark(X2)) >= splitAt(X1,X2) ; splitAt(X1,active(X2)) >= splitAt(X1,X2) ; active(U12(pair(YS,ZS),X)) >= mark(pair(cons(X,YS),ZS)) ; active(splitAt(s(N),cons(X,XS))) >= mark(U11(tt,N,X,XS)) ; active(splitAt(0,XS)) >= mark(pair(nil,XS)) ; active(U11(tt,N,X,XS)) >= mark(U12(splitAt(N,XS),X)) ; active(snd(pair(X,Y))) >= mark(Y) ; active(afterNth(N,XS)) >= mark(snd(splitAt(N,XS))) ; active(and(tt,X)) >= mark(X) ; active(fst(pair(X,Y))) >= mark(X) ; active(head(cons(N,XS))) >= mark(N) ; active(natsFrom(N)) >= mark(cons(N,natsFrom(s(N)))) ; active(sel(N,XS)) >= mark(head(afterNth(N,XS))) ; active(tail(cons(N,XS))) >= mark(XS) ; active(take(N,XS)) >= mark(fst(splitAt(N,XS))) ; U11(mark(X1),X2,X3,X4) >= U11(X1,X2,X3,X4) ; U11(active(X1),X2,X3,X4) >= U11(X1,X2,X3,X4) ; U11(X1,mark(X2),X3,X4) >= U11(X1,X2,X3,X4) ; U11(X1,active(X2),X3,X4) >= U11(X1,X2,X3,X4) ; U11(X1,X2,mark(X3),X4) >= U11(X1,X2,X3,X4) ; U11(X1,X2,active(X3),X4) >= U11(X1,X2,X3,X4) ; U11(X1,X2,X3,mark(X4)) >= U11(X1,X2,X3,X4) ; U11(X1,X2,X3,active(X4)) >= U11(X1,X2,X3,X4) ; pair(mark(X1),X2) >= pair(X1,X2) ; pair(active(X1),X2) >= pair(X1,X2) ; pair(X1,mark(X2)) >= pair(X1,X2) ; pair(X1,active(X2)) >= pair(X1,X2) ; cons(mark(X1),X2) >= cons(X1,X2) ; cons(active(X1),X2) >= cons(X1,X2) ; cons(X1,mark(X2)) >= cons(X1,X2) ; cons(X1,active(X2)) >= cons(X1,X2) ; snd(mark(X)) >= snd(X) ; snd(active(X)) >= snd(X) ; afterNth(mark(X1),X2) >= afterNth(X1,X2) ; afterNth(active(X1),X2) >= afterNth(X1,X2) ; afterNth(X1,mark(X2)) >= afterNth(X1,X2) ; afterNth(X1,active(X2)) >= afterNth(X1,X2) ; and(mark(X1),X2) >= and(X1,X2) ; and(active(X1),X2) >= and(X1,X2) ; and(X1,mark(X2)) >= and(X1,X2) ; and(X1,active(X2)) >= and(X1,X2) ; fst(mark(X)) >= fst(X) ; fst(active(X)) >= fst(X) ; head(mark(X)) >= head(X) ; head(active(X)) >= head(X) ; natsFrom(mark(X)) >= natsFrom(X) ; natsFrom(active(X)) >= natsFrom(X) ; s(mark(X)) >= s(X) ; s(active(X)) >= s(X) ; sel(mark(X1),X2) >= sel(X1,X2) ; sel(active(X1),X2) >= sel(X1,X2) ; sel(X1,mark(X2)) >= sel(X1,X2) ; sel(X1,active(X2)) >= sel(X1,X2) ; tail(mark(X)) >= tail(X) ; tail(active(X)) >= tail(X) ; take(mark(X1),X2) >= take(X1,X2) ; take(active(X1),X2) >= take(X1,X2) ; take(X1,mark(X2)) >= take(X1,X2) ; take(X1,active(X2)) >= take(X1,X2) ; Marked_mark(U12(X1,X2)) >= Marked_mark(X1) ; Marked_mark(U12(X1,X2)) >= Marked_active(U12(mark(X1),X2)) ; Marked_mark(splitAt(X1,X2)) >= Marked_mark(X1) ; Marked_mark(splitAt(X1,X2)) >= Marked_mark(X2) ; Marked_mark(splitAt(X1,X2)) >= Marked_active(splitAt(mark(X1),mark(X2))) ; Marked_mark(U11(X1,X2,X3,X4)) >= Marked_mark(X1) ; Marked_mark(U11(X1,X2,X3,X4)) >= Marked_active(U11(mark(X1),X2,X3,X4)) ; Marked_mark(pair(X1,X2)) >= Marked_mark(X1) ; Marked_mark(pair(X1,X2)) >= Marked_mark(X2) ; Marked_mark(pair(X1,X2)) >= Marked_active(pair(mark(X1),mark(X2))) ; Marked_mark(cons(X1,X2)) >= Marked_mark(X1) ; Marked_mark(cons(X1,X2)) >= Marked_active(cons(mark(X1),X2)) ; Marked_mark(snd(X)) >= Marked_mark(X) ; Marked_mark(snd(X)) >= Marked_active(snd(mark(X))) ; Marked_mark(afterNth(X1,X2)) >= Marked_mark(X1) ; Marked_mark(afterNth(X1,X2)) >= Marked_mark(X2) ; Marked_mark(afterNth(X1,X2)) >= Marked_active(afterNth(mark(X1),mark(X2))) ; Marked_mark(and(X1,X2)) >= Marked_mark(X1) ; Marked_mark(and(X1,X2)) >= Marked_active(and(mark(X1),X2)) ; Marked_mark(fst(X)) >= Marked_mark(X) ; Marked_mark(fst(X)) >= Marked_active(fst(mark(X))) ; Marked_mark(head(X)) >= Marked_mark(X) ; Marked_mark(head(X)) >= Marked_active(head(mark(X))) ; Marked_mark(natsFrom(X)) >= Marked_mark(X) ; Marked_mark(natsFrom(X)) >= Marked_active(natsFrom(mark(X))) ; Marked_mark(s(X)) >= Marked_mark(X) ; Marked_mark(sel(X1,X2)) >= Marked_mark(X1) ; Marked_mark(sel(X1,X2)) >= Marked_mark(X2) ; Marked_mark(sel(X1,X2)) >= Marked_active(sel(mark(X1),mark(X2))) ; Marked_mark(tail(X)) >= Marked_mark(X) ; Marked_mark(tail(X)) >= Marked_active(tail(mark(X))) ; Marked_mark(take(X1,X2)) >= Marked_mark(X1) ; Marked_mark(take(X1,X2)) >= Marked_mark(X2) ; Marked_mark(take(X1,X2)) >= Marked_active(take(mark(X1),mark(X2))) ; Marked_active(U12(pair(YS,ZS),X)) >= Marked_mark(pair(cons(X,YS),ZS)) ; Marked_active(splitAt(s(N),cons(X,XS))) >= Marked_mark(U11(tt,N,X,XS)) ; Marked_active(splitAt(0,XS)) >= Marked_mark(pair(nil,XS)) ; Marked_active(U11(tt,N,X,XS)) >= Marked_mark(U12(splitAt(N,XS),X)) ; Marked_active(snd(pair(X,Y))) >= Marked_mark(Y) ; Marked_active(afterNth(N,XS)) >= Marked_mark(snd(splitAt(N,XS))) ; Marked_active(and(tt,X)) >= Marked_mark(X) ; Marked_active(fst(pair(X,Y))) >= Marked_mark(X) ; Marked_active(head(cons(N,XS))) >= Marked_mark(N) ; Marked_active(natsFrom(N)) >= Marked_mark(cons(N,natsFrom(s(N)))) ; Marked_active(sel(N,XS)) >= Marked_mark(head(afterNth(N,XS))) ; Marked_active(tail(cons(N,XS))) >= Marked_mark(XS) ; Marked_active(take(N,XS)) >= Marked_mark(fst(splitAt(N,XS))) ; } + Disjunctions:{ { Marked_mark(U12(X1,X2)) > Marked_mark(X1) ; } { Marked_mark(U12(X1,X2)) > Marked_active(U12(mark(X1),X2)) ; } { Marked_mark(splitAt(X1,X2)) > Marked_mark(X1) ; } { Marked_mark(splitAt(X1,X2)) > Marked_mark(X2) ; } { Marked_mark(splitAt(X1,X2)) > Marked_active(splitAt(mark(X1),mark(X2))) ; } { Marked_mark(U11(X1,X2,X3,X4)) > Marked_mark(X1) ; } { Marked_mark(U11(X1,X2,X3,X4)) > Marked_active(U11(mark(X1),X2,X3,X4)) ; } { Marked_mark(pair(X1,X2)) > Marked_mark(X1) ; } { Marked_mark(pair(X1,X2)) > Marked_mark(X2) ; } { Marked_mark(pair(X1,X2)) > Marked_active(pair(mark(X1),mark(X2))) ; } { Marked_mark(cons(X1,X2)) > Marked_mark(X1) ; } { Marked_mark(cons(X1,X2)) > Marked_active(cons(mark(X1),X2)) ; } { Marked_mark(snd(X)) > Marked_mark(X) ; } { Marked_mark(snd(X)) > Marked_active(snd(mark(X))) ; } { Marked_mark(afterNth(X1,X2)) > Marked_mark(X1) ; } { Marked_mark(afterNth(X1,X2)) > Marked_mark(X2) ; } { Marked_mark(afterNth(X1,X2)) > Marked_active(afterNth(mark(X1),mark(X2))) ; } { Marked_mark(and(X1,X2)) > Marked_mark(X1) ; } { Marked_mark(and(X1,X2)) > Marked_active(and(mark(X1),X2)) ; } { Marked_mark(fst(X)) > Marked_mark(X) ; } { Marked_mark(fst(X)) > Marked_active(fst(mark(X))) ; } { Marked_mark(head(X)) > Marked_mark(X) ; } { Marked_mark(head(X)) > Marked_active(head(mark(X))) ; } { Marked_mark(natsFrom(X)) > Marked_mark(X) ; } { Marked_mark(natsFrom(X)) > Marked_active(natsFrom(mark(X))) ; } { Marked_mark(s(X)) > Marked_mark(X) ; } { Marked_mark(sel(X1,X2)) > Marked_mark(X1) ; } { Marked_mark(sel(X1,X2)) > Marked_mark(X2) ; } { Marked_mark(sel(X1,X2)) > Marked_active(sel(mark(X1),mark(X2))) ; } { Marked_mark(tail(X)) > Marked_mark(X) ; } { Marked_mark(tail(X)) > Marked_active(tail(mark(X))) ; } { Marked_mark(take(X1,X2)) > Marked_mark(X1) ; } { Marked_mark(take(X1,X2)) > Marked_mark(X2) ; } { Marked_mark(take(X1,X2)) > Marked_active(take(mark(X1),mark(X2))) ; } { Marked_active(U12(pair(YS,ZS),X)) > Marked_mark(pair(cons(X,YS),ZS)) ; } { Marked_active(splitAt(s(N),cons(X,XS))) > Marked_mark(U11(tt,N,X,XS)) ; } { Marked_active(splitAt(0,XS)) > Marked_mark(pair(nil,XS)) ; } { Marked_active(U11(tt,N,X,XS)) > Marked_mark(U12(splitAt(N,XS),X)) ; } { Marked_active(snd(pair(X,Y))) > Marked_mark(Y) ; } { Marked_active(afterNth(N,XS)) > Marked_mark(snd(splitAt(N,XS))) ; } { Marked_active(and(tt,X)) > Marked_mark(X) ; } { Marked_active(fst(pair(X,Y))) > Marked_mark(X) ; } { Marked_active(head(cons(N,XS))) > Marked_mark(N) ; } { Marked_active(natsFrom(N)) > Marked_mark(cons(N,natsFrom(s(N)))) ; } { Marked_active(sel(N,XS)) > Marked_mark(head(afterNth(N,XS))) ; } { Marked_active(tail(cons(N,XS))) > Marked_mark(XS) ; } { Marked_active(take(N,XS)) > Marked_mark(fst(splitAt(N,XS))) ; } } === TIMER virtual : 10.000000 === Entering poly_solver Starting Sat solver initialization Calling Sat solver... === STOPING TIMER virtual === === TIMER real : 10.000000 === === STOPING TIMER real === Sat solver returned Sat solver result read === STOPING TIMER real === === STOPING TIMER virtual === constraint: mark(U12(X1,X2)) >= active(U12(mark(X1),X2)) constraint: mark(splitAt(X1,X2)) >= active(splitAt(mark(X1),mark(X2))) constraint: mark(U11(X1,X2,X3,X4)) >= active(U11(mark(X1),X2,X3,X4)) constraint: mark(tt) >= active(tt) constraint: mark(pair(X1,X2)) >= active(pair(mark(X1),mark(X2))) constraint: mark(cons(X1,X2)) >= active(cons(mark(X1),X2)) constraint: mark(snd(X)) >= active(snd(mark(X))) constraint: mark(afterNth(X1,X2)) >= active(afterNth(mark(X1),mark(X2))) constraint: mark(and(X1,X2)) >= active(and(mark(X1),X2)) constraint: mark(fst(X)) >= active(fst(mark(X))) constraint: mark(head(X)) >= active(head(mark(X))) constraint: mark(natsFrom(X)) >= active(natsFrom(mark(X))) constraint: mark(s(X)) >= active(s(mark(X))) constraint: mark(sel(X1,X2)) >= active(sel(mark(X1),mark(X2))) constraint: mark(nil) >= active(nil) constraint: mark(0) >= active(0) constraint: mark(tail(X)) >= active(tail(mark(X))) constraint: mark(take(X1,X2)) >= active(take(mark(X1),mark(X2))) constraint: U12(mark(X1),X2) >= U12(X1,X2) constraint: U12(active(X1),X2) >= U12(X1,X2) constraint: U12(X1,mark(X2)) >= U12(X1,X2) constraint: U12(X1,active(X2)) >= U12(X1,X2) constraint: splitAt(mark(X1),X2) >= splitAt(X1,X2) constraint: splitAt(active(X1),X2) >= splitAt(X1,X2) constraint: splitAt(X1,mark(X2)) >= splitAt(X1,X2) constraint: splitAt(X1,active(X2)) >= splitAt(X1,X2) constraint: active(U12(pair(YS,ZS),X)) >= mark(pair(cons(X,YS),ZS)) constraint: active(splitAt(s(N),cons(X,XS))) >= mark(U11(tt,N,X,XS)) constraint: active(splitAt(0,XS)) >= mark(pair(nil,XS)) constraint: active(U11(tt,N,X,XS)) >= mark(U12(splitAt(N,XS),X)) constraint: active(snd(pair(X,Y))) >= mark(Y) constraint: active(afterNth(N,XS)) >= mark(snd(splitAt(N,XS))) constraint: active(and(tt,X)) >= mark(X) constraint: active(fst(pair(X,Y))) >= mark(X) constraint: active(head(cons(N,XS))) >= mark(N) constraint: active(natsFrom(N)) >= mark(cons(N,natsFrom(s(N)))) constraint: active(sel(N,XS)) >= mark(head(afterNth(N,XS))) constraint: active(tail(cons(N,XS))) >= mark(XS) constraint: active(take(N,XS)) >= mark(fst(splitAt(N,XS))) constraint: U11(mark(X1),X2,X3,X4) >= U11(X1,X2,X3,X4) constraint: U11(active(X1),X2,X3,X4) >= U11(X1,X2,X3,X4) constraint: U11(X1,mark(X2),X3,X4) >= U11(X1,X2,X3,X4) constraint: U11(X1,active(X2),X3,X4) >= U11(X1,X2,X3,X4) constraint: U11(X1,X2,mark(X3),X4) >= U11(X1,X2,X3,X4) constraint: U11(X1,X2,active(X3),X4) >= U11(X1,X2,X3,X4) constraint: U11(X1,X2,X3,mark(X4)) >= U11(X1,X2,X3,X4) constraint: U11(X1,X2,X3,active(X4)) >= U11(X1,X2,X3,X4) constraint: pair(mark(X1),X2) >= pair(X1,X2) constraint: pair(active(X1),X2) >= pair(X1,X2) constraint: pair(X1,mark(X2)) >= pair(X1,X2) constraint: pair(X1,active(X2)) >= pair(X1,X2) constraint: cons(mark(X1),X2) >= cons(X1,X2) constraint: cons(active(X1),X2) >= cons(X1,X2) constraint: cons(X1,mark(X2)) >= cons(X1,X2) constraint: cons(X1,active(X2)) >= cons(X1,X2) constraint: snd(mark(X)) >= snd(X) constraint: snd(active(X)) >= snd(X) constraint: afterNth(mark(X1),X2) >= afterNth(X1,X2) constraint: afterNth(active(X1),X2) >= afterNth(X1,X2) constraint: afterNth(X1,mark(X2)) >= afterNth(X1,X2) constraint: afterNth(X1,active(X2)) >= afterNth(X1,X2) constraint: and(mark(X1),X2) >= and(X1,X2) constraint: and(active(X1),X2) >= and(X1,X2) constraint: and(X1,mark(X2)) >= and(X1,X2) constraint: and(X1,active(X2)) >= and(X1,X2) constraint: fst(mark(X)) >= fst(X) constraint: fst(active(X)) >= fst(X) constraint: head(mark(X)) >= head(X) constraint: head(active(X)) >= head(X) constraint: natsFrom(mark(X)) >= natsFrom(X) constraint: natsFrom(active(X)) >= natsFrom(X) constraint: s(mark(X)) >= s(X) constraint: s(active(X)) >= s(X) constraint: sel(mark(X1),X2) >= sel(X1,X2) constraint: sel(active(X1),X2) >= sel(X1,X2) constraint: sel(X1,mark(X2)) >= sel(X1,X2) constraint: sel(X1,active(X2)) >= sel(X1,X2) constraint: tail(mark(X)) >= tail(X) constraint: tail(active(X)) >= tail(X) constraint: take(mark(X1),X2) >= take(X1,X2) constraint: take(active(X1),X2) >= take(X1,X2) constraint: take(X1,mark(X2)) >= take(X1,X2) constraint: take(X1,active(X2)) >= take(X1,X2) constraint: Marked_mark(U12(X1,X2)) >= Marked_mark(X1) constraint: Marked_mark(U12(X1,X2)) >= Marked_active(U12(mark(X1),X2)) constraint: Marked_mark(splitAt(X1,X2)) >= Marked_mark(X1) constraint: Marked_mark(splitAt(X1,X2)) >= Marked_mark(X2) constraint: Marked_mark(splitAt(X1,X2)) >= Marked_active(splitAt(mark(X1), mark(X2))) constraint: Marked_mark(U11(X1,X2,X3,X4)) >= Marked_mark(X1) constraint: Marked_mark(U11(X1,X2,X3,X4)) >= Marked_active(U11(mark(X1), X2,X3,X4)) constraint: Marked_mark(pair(X1,X2)) >= Marked_mark(X1) constraint: Marked_mark(pair(X1,X2)) >= Marked_mark(X2) constraint: Marked_mark(pair(X1,X2)) >= Marked_active(pair(mark(X1),mark(X2))) constraint: Marked_mark(cons(X1,X2)) >= Marked_mark(X1) constraint: Marked_mark(cons(X1,X2)) >= Marked_active(cons(mark(X1),X2)) constraint: Marked_mark(snd(X)) >= Marked_mark(X) constraint: Marked_mark(snd(X)) >= Marked_active(snd(mark(X))) constraint: Marked_mark(afterNth(X1,X2)) >= Marked_mark(X1) constraint: Marked_mark(afterNth(X1,X2)) >= Marked_mark(X2) constraint: Marked_mark(afterNth(X1,X2)) >= Marked_active(afterNth(mark(X1), mark(X2))) constraint: Marked_mark(and(X1,X2)) >= Marked_mark(X1) constraint: Marked_mark(and(X1,X2)) >= Marked_active(and(mark(X1),X2)) constraint: Marked_mark(fst(X)) >= Marked_mark(X) constraint: Marked_mark(fst(X)) >= Marked_active(fst(mark(X))) constraint: Marked_mark(head(X)) >= Marked_mark(X) constraint: Marked_mark(head(X)) >= Marked_active(head(mark(X))) constraint: Marked_mark(natsFrom(X)) >= Marked_mark(X) constraint: Marked_mark(natsFrom(X)) >= Marked_active(natsFrom(mark(X))) constraint: Marked_mark(s(X)) >= Marked_mark(X) constraint: Marked_mark(sel(X1,X2)) >= Marked_mark(X1) constraint: Marked_mark(sel(X1,X2)) >= Marked_mark(X2) constraint: Marked_mark(sel(X1,X2)) >= Marked_active(sel(mark(X1),mark(X2))) constraint: Marked_mark(tail(X)) >= Marked_mark(X) constraint: Marked_mark(tail(X)) >= Marked_active(tail(mark(X))) constraint: Marked_mark(take(X1,X2)) >= Marked_mark(X1) constraint: Marked_mark(take(X1,X2)) >= Marked_mark(X2) constraint: Marked_mark(take(X1,X2)) >= Marked_active(take(mark(X1),mark(X2))) constraint: Marked_active(U12(pair(YS,ZS),X)) >= Marked_mark(pair(cons(X,YS), ZS)) constraint: Marked_active(splitAt(s(N),cons(X,XS))) >= Marked_mark(U11( tt, N, X, XS)) constraint: Marked_active(splitAt(0,XS)) >= Marked_mark(pair(nil,XS)) constraint: Marked_active(U11(tt,N,X,XS)) >= Marked_mark(U12(splitAt(N,XS),X)) constraint: Marked_active(snd(pair(X,Y))) >= Marked_mark(Y) constraint: Marked_active(afterNth(N,XS)) >= Marked_mark(snd(splitAt(N,XS))) constraint: Marked_active(and(tt,X)) >= Marked_mark(X) constraint: Marked_active(fst(pair(X,Y))) >= Marked_mark(X) constraint: Marked_active(head(cons(N,XS))) >= Marked_mark(N) constraint: Marked_active(natsFrom(N)) >= Marked_mark(cons(N,natsFrom(s(N)))) constraint: Marked_active(sel(N,XS)) >= Marked_mark(head(afterNth(N,XS))) constraint: Marked_active(tail(cons(N,XS))) >= Marked_mark(XS) constraint: Marked_active(take(N,XS)) >= Marked_mark(fst(splitAt(N,XS))) APPLY CRITERIA (Graph splitting) Found 1 components: { --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> } APPLY CRITERIA (Subterm criterion) APPLY CRITERIA (Choosing graph) Trying to solve the following constraints: { mark(U12(X1,X2)) >= active(U12(mark(X1),X2)) ; mark(splitAt(X1,X2)) >= active(splitAt(mark(X1),mark(X2))) ; mark(U11(X1,X2,X3,X4)) >= active(U11(mark(X1),X2,X3,X4)) ; mark(tt) >= active(tt) ; mark(pair(X1,X2)) >= active(pair(mark(X1),mark(X2))) ; mark(cons(X1,X2)) >= active(cons(mark(X1),X2)) ; mark(snd(X)) >= active(snd(mark(X))) ; mark(afterNth(X1,X2)) >= active(afterNth(mark(X1),mark(X2))) ; mark(and(X1,X2)) >= active(and(mark(X1),X2)) ; mark(fst(X)) >= active(fst(mark(X))) ; mark(head(X)) >= active(head(mark(X))) ; mark(natsFrom(X)) >= active(natsFrom(mark(X))) ; mark(s(X)) >= active(s(mark(X))) ; mark(sel(X1,X2)) >= active(sel(mark(X1),mark(X2))) ; mark(nil) >= active(nil) ; mark(0) >= active(0) ; mark(tail(X)) >= active(tail(mark(X))) ; mark(take(X1,X2)) >= active(take(mark(X1),mark(X2))) ; U12(mark(X1),X2) >= U12(X1,X2) ; U12(active(X1),X2) >= U12(X1,X2) ; U12(X1,mark(X2)) >= U12(X1,X2) ; U12(X1,active(X2)) >= U12(X1,X2) ; splitAt(mark(X1),X2) >= splitAt(X1,X2) ; splitAt(active(X1),X2) >= splitAt(X1,X2) ; splitAt(X1,mark(X2)) >= splitAt(X1,X2) ; splitAt(X1,active(X2)) >= splitAt(X1,X2) ; active(U12(pair(YS,ZS),X)) >= mark(pair(cons(X,YS),ZS)) ; active(splitAt(s(N),cons(X,XS))) >= mark(U11(tt,N,X,XS)) ; active(splitAt(0,XS)) >= mark(pair(nil,XS)) ; active(U11(tt,N,X,XS)) >= mark(U12(splitAt(N,XS),X)) ; active(snd(pair(X,Y))) >= mark(Y) ; active(afterNth(N,XS)) >= mark(snd(splitAt(N,XS))) ; active(and(tt,X)) >= mark(X) ; active(fst(pair(X,Y))) >= mark(X) ; active(head(cons(N,XS))) >= mark(N) ; active(natsFrom(N)) >= mark(cons(N,natsFrom(s(N)))) ; active(sel(N,XS)) >= mark(head(afterNth(N,XS))) ; active(tail(cons(N,XS))) >= mark(XS) ; active(take(N,XS)) >= mark(fst(splitAt(N,XS))) ; U11(mark(X1),X2,X3,X4) >= U11(X1,X2,X3,X4) ; U11(active(X1),X2,X3,X4) >= U11(X1,X2,X3,X4) ; U11(X1,mark(X2),X3,X4) >= U11(X1,X2,X3,X4) ; U11(X1,active(X2),X3,X4) >= U11(X1,X2,X3,X4) ; U11(X1,X2,mark(X3),X4) >= U11(X1,X2,X3,X4) ; U11(X1,X2,active(X3),X4) >= U11(X1,X2,X3,X4) ; U11(X1,X2,X3,mark(X4)) >= U11(X1,X2,X3,X4) ; U11(X1,X2,X3,active(X4)) >= U11(X1,X2,X3,X4) ; pair(mark(X1),X2) >= pair(X1,X2) ; pair(active(X1),X2) >= pair(X1,X2) ; pair(X1,mark(X2)) >= pair(X1,X2) ; pair(X1,active(X2)) >= pair(X1,X2) ; cons(mark(X1),X2) >= cons(X1,X2) ; cons(active(X1),X2) >= cons(X1,X2) ; cons(X1,mark(X2)) >= cons(X1,X2) ; cons(X1,active(X2)) >= cons(X1,X2) ; snd(mark(X)) >= snd(X) ; snd(active(X)) >= snd(X) ; afterNth(mark(X1),X2) >= afterNth(X1,X2) ; afterNth(active(X1),X2) >= afterNth(X1,X2) ; afterNth(X1,mark(X2)) >= afterNth(X1,X2) ; afterNth(X1,active(X2)) >= afterNth(X1,X2) ; and(mark(X1),X2) >= and(X1,X2) ; and(active(X1),X2) >= and(X1,X2) ; and(X1,mark(X2)) >= and(X1,X2) ; and(X1,active(X2)) >= and(X1,X2) ; fst(mark(X)) >= fst(X) ; fst(active(X)) >= fst(X) ; head(mark(X)) >= head(X) ; head(active(X)) >= head(X) ; natsFrom(mark(X)) >= natsFrom(X) ; natsFrom(active(X)) >= natsFrom(X) ; s(mark(X)) >= s(X) ; s(active(X)) >= s(X) ; sel(mark(X1),X2) >= sel(X1,X2) ; sel(active(X1),X2) >= sel(X1,X2) ; sel(X1,mark(X2)) >= sel(X1,X2) ; sel(X1,active(X2)) >= sel(X1,X2) ; tail(mark(X)) >= tail(X) ; tail(active(X)) >= tail(X) ; take(mark(X1),X2) >= take(X1,X2) ; take(active(X1),X2) >= take(X1,X2) ; take(X1,mark(X2)) >= take(X1,X2) ; take(X1,active(X2)) >= take(X1,X2) ; Marked_mark(U12(X1,X2)) >= Marked_mark(X1) ; Marked_mark(U12(X1,X2)) >= Marked_active(U12(mark(X1),X2)) ; Marked_mark(splitAt(X1,X2)) >= Marked_mark(X1) ; Marked_mark(splitAt(X1,X2)) >= Marked_mark(X2) ; Marked_mark(splitAt(X1,X2)) >= Marked_active(splitAt(mark(X1),mark(X2))) ; Marked_mark(U11(X1,X2,X3,X4)) >= Marked_mark(X1) ; Marked_mark(U11(X1,X2,X3,X4)) >= Marked_active(U11(mark(X1),X2,X3,X4)) ; Marked_mark(pair(X1,X2)) >= Marked_mark(X1) ; Marked_mark(pair(X1,X2)) >= Marked_mark(X2) ; Marked_mark(cons(X1,X2)) >= Marked_mark(X1) ; Marked_mark(cons(X1,X2)) >= Marked_active(cons(mark(X1),X2)) ; Marked_mark(snd(X)) >= Marked_mark(X) ; Marked_mark(snd(X)) >= Marked_active(snd(mark(X))) ; Marked_mark(afterNth(X1,X2)) >= Marked_mark(X1) ; Marked_mark(afterNth(X1,X2)) >= Marked_mark(X2) ; Marked_mark(afterNth(X1,X2)) >= Marked_active(afterNth(mark(X1),mark(X2))) ; Marked_mark(and(X1,X2)) >= Marked_mark(X1) ; Marked_mark(and(X1,X2)) >= Marked_active(and(mark(X1),X2)) ; Marked_mark(fst(X)) >= Marked_mark(X) ; Marked_mark(fst(X)) >= Marked_active(fst(mark(X))) ; Marked_mark(head(X)) >= Marked_mark(X) ; Marked_mark(head(X)) >= Marked_active(head(mark(X))) ; Marked_mark(natsFrom(X)) >= Marked_mark(X) ; Marked_mark(natsFrom(X)) >= Marked_active(natsFrom(mark(X))) ; Marked_mark(s(X)) >= Marked_mark(X) ; Marked_mark(sel(X1,X2)) >= Marked_mark(X1) ; Marked_mark(sel(X1,X2)) >= Marked_mark(X2) ; Marked_mark(sel(X1,X2)) >= Marked_active(sel(mark(X1),mark(X2))) ; Marked_mark(tail(X)) >= Marked_mark(X) ; Marked_mark(tail(X)) >= Marked_active(tail(mark(X))) ; Marked_mark(take(X1,X2)) >= Marked_mark(X1) ; Marked_mark(take(X1,X2)) >= Marked_mark(X2) ; Marked_mark(take(X1,X2)) >= Marked_active(take(mark(X1),mark(X2))) ; Marked_active(U12(pair(YS,ZS),X)) >= Marked_mark(pair(cons(X,YS),ZS)) ; Marked_active(splitAt(s(N),cons(X,XS))) >= Marked_mark(U11(tt,N,X,XS)) ; Marked_active(splitAt(0,XS)) >= Marked_mark(pair(nil,XS)) ; Marked_active(U11(tt,N,X,XS)) >= Marked_mark(U12(splitAt(N,XS),X)) ; Marked_active(snd(pair(X,Y))) >= Marked_mark(Y) ; Marked_active(afterNth(N,XS)) >= Marked_mark(snd(splitAt(N,XS))) ; Marked_active(and(tt,X)) >= Marked_mark(X) ; Marked_active(fst(pair(X,Y))) >= Marked_mark(X) ; Marked_active(head(cons(N,XS))) >= Marked_mark(N) ; Marked_active(natsFrom(N)) >= Marked_mark(cons(N,natsFrom(s(N)))) ; Marked_active(sel(N,XS)) >= Marked_mark(head(afterNth(N,XS))) ; Marked_active(tail(cons(N,XS))) >= Marked_mark(XS) ; Marked_active(take(N,XS)) >= Marked_mark(fst(splitAt(N,XS))) ; } + Disjunctions:{ { Marked_mark(U12(X1,X2)) > Marked_mark(X1) ; } { Marked_mark(U12(X1,X2)) > Marked_active(U12(mark(X1),X2)) ; } { Marked_mark(splitAt(X1,X2)) > Marked_mark(X1) ; } { Marked_mark(splitAt(X1,X2)) > Marked_mark(X2) ; } { Marked_mark(splitAt(X1,X2)) > Marked_active(splitAt(mark(X1),mark(X2))) ; } { Marked_mark(U11(X1,X2,X3,X4)) > Marked_mark(X1) ; } { Marked_mark(U11(X1,X2,X3,X4)) > Marked_active(U11(mark(X1),X2,X3,X4)) ; } { Marked_mark(pair(X1,X2)) > Marked_mark(X1) ; } { Marked_mark(pair(X1,X2)) > Marked_mark(X2) ; } { Marked_mark(cons(X1,X2)) > Marked_mark(X1) ; } { Marked_mark(cons(X1,X2)) > Marked_active(cons(mark(X1),X2)) ; } { Marked_mark(snd(X)) > Marked_mark(X) ; } { Marked_mark(snd(X)) > Marked_active(snd(mark(X))) ; } { Marked_mark(afterNth(X1,X2)) > Marked_mark(X1) ; } { Marked_mark(afterNth(X1,X2)) > Marked_mark(X2) ; } { Marked_mark(afterNth(X1,X2)) > Marked_active(afterNth(mark(X1),mark(X2))) ; } { Marked_mark(and(X1,X2)) > Marked_mark(X1) ; } { Marked_mark(and(X1,X2)) > Marked_active(and(mark(X1),X2)) ; } { Marked_mark(fst(X)) > Marked_mark(X) ; } { Marked_mark(fst(X)) > Marked_active(fst(mark(X))) ; } { Marked_mark(head(X)) > Marked_mark(X) ; } { Marked_mark(head(X)) > Marked_active(head(mark(X))) ; } { Marked_mark(natsFrom(X)) > Marked_mark(X) ; } { Marked_mark(natsFrom(X)) > Marked_active(natsFrom(mark(X))) ; } { Marked_mark(s(X)) > Marked_mark(X) ; } { Marked_mark(sel(X1,X2)) > Marked_mark(X1) ; } { Marked_mark(sel(X1,X2)) > Marked_mark(X2) ; } { Marked_mark(sel(X1,X2)) > Marked_active(sel(mark(X1),mark(X2))) ; } { Marked_mark(tail(X)) > Marked_mark(X) ; } { Marked_mark(tail(X)) > Marked_active(tail(mark(X))) ; } { Marked_mark(take(X1,X2)) > Marked_mark(X1) ; } { Marked_mark(take(X1,X2)) > Marked_mark(X2) ; } { Marked_mark(take(X1,X2)) > Marked_active(take(mark(X1),mark(X2))) ; } { Marked_active(U12(pair(YS,ZS),X)) > Marked_mark(pair(cons(X,YS),ZS)) ; } { Marked_active(splitAt(s(N),cons(X,XS))) > Marked_mark(U11(tt,N,X,XS)) ; } { Marked_active(splitAt(0,XS)) > Marked_mark(pair(nil,XS)) ; } { Marked_active(U11(tt,N,X,XS)) > Marked_mark(U12(splitAt(N,XS),X)) ; } { Marked_active(snd(pair(X,Y))) > Marked_mark(Y) ; } { Marked_active(afterNth(N,XS)) > Marked_mark(snd(splitAt(N,XS))) ; } { Marked_active(and(tt,X)) > Marked_mark(X) ; } { Marked_active(fst(pair(X,Y))) > Marked_mark(X) ; } { Marked_active(head(cons(N,XS))) > Marked_mark(N) ; } { Marked_active(natsFrom(N)) > Marked_mark(cons(N,natsFrom(s(N)))) ; } { Marked_active(sel(N,XS)) > Marked_mark(head(afterNth(N,XS))) ; } { Marked_active(tail(cons(N,XS))) > Marked_mark(XS) ; } { Marked_active(take(N,XS)) > Marked_mark(fst(splitAt(N,XS))) ; } } === TIMER virtual : 10.000000 === Entering poly_solver Starting Sat solver initialization Calling Sat solver... === STOPING TIMER virtual === === TIMER real : 10.000000 === === STOPING TIMER real === Sat solver returned Sat solver result read === STOPING TIMER real === === STOPING TIMER virtual === constraint: mark(U12(X1,X2)) >= active(U12(mark(X1),X2)) constraint: mark(splitAt(X1,X2)) >= active(splitAt(mark(X1),mark(X2))) constraint: mark(U11(X1,X2,X3,X4)) >= active(U11(mark(X1),X2,X3,X4)) constraint: mark(tt) >= active(tt) constraint: mark(pair(X1,X2)) >= active(pair(mark(X1),mark(X2))) constraint: mark(cons(X1,X2)) >= active(cons(mark(X1),X2)) constraint: mark(snd(X)) >= active(snd(mark(X))) constraint: mark(afterNth(X1,X2)) >= active(afterNth(mark(X1),mark(X2))) constraint: mark(and(X1,X2)) >= active(and(mark(X1),X2)) constraint: mark(fst(X)) >= active(fst(mark(X))) constraint: mark(head(X)) >= active(head(mark(X))) constraint: mark(natsFrom(X)) >= active(natsFrom(mark(X))) constraint: mark(s(X)) >= active(s(mark(X))) constraint: mark(sel(X1,X2)) >= active(sel(mark(X1),mark(X2))) constraint: mark(nil) >= active(nil) constraint: mark(0) >= active(0) constraint: mark(tail(X)) >= active(tail(mark(X))) constraint: mark(take(X1,X2)) >= active(take(mark(X1),mark(X2))) constraint: U12(mark(X1),X2) >= U12(X1,X2) constraint: U12(active(X1),X2) >= U12(X1,X2) constraint: U12(X1,mark(X2)) >= U12(X1,X2) constraint: U12(X1,active(X2)) >= U12(X1,X2) constraint: splitAt(mark(X1),X2) >= splitAt(X1,X2) constraint: splitAt(active(X1),X2) >= splitAt(X1,X2) constraint: splitAt(X1,mark(X2)) >= splitAt(X1,X2) constraint: splitAt(X1,active(X2)) >= splitAt(X1,X2) constraint: active(U12(pair(YS,ZS),X)) >= mark(pair(cons(X,YS),ZS)) constraint: active(splitAt(s(N),cons(X,XS))) >= mark(U11(tt,N,X,XS)) constraint: active(splitAt(0,XS)) >= mark(pair(nil,XS)) constraint: active(U11(tt,N,X,XS)) >= mark(U12(splitAt(N,XS),X)) constraint: active(snd(pair(X,Y))) >= mark(Y) constraint: active(afterNth(N,XS)) >= mark(snd(splitAt(N,XS))) constraint: active(and(tt,X)) >= mark(X) constraint: active(fst(pair(X,Y))) >= mark(X) constraint: active(head(cons(N,XS))) >= mark(N) constraint: active(natsFrom(N)) >= mark(cons(N,natsFrom(s(N)))) constraint: active(sel(N,XS)) >= mark(head(afterNth(N,XS))) constraint: active(tail(cons(N,XS))) >= mark(XS) constraint: active(take(N,XS)) >= mark(fst(splitAt(N,XS))) constraint: U11(mark(X1),X2,X3,X4) >= U11(X1,X2,X3,X4) constraint: U11(active(X1),X2,X3,X4) >= U11(X1,X2,X3,X4) constraint: U11(X1,mark(X2),X3,X4) >= U11(X1,X2,X3,X4) constraint: U11(X1,active(X2),X3,X4) >= U11(X1,X2,X3,X4) constraint: U11(X1,X2,mark(X3),X4) >= U11(X1,X2,X3,X4) constraint: U11(X1,X2,active(X3),X4) >= U11(X1,X2,X3,X4) constraint: U11(X1,X2,X3,mark(X4)) >= U11(X1,X2,X3,X4) constraint: U11(X1,X2,X3,active(X4)) >= U11(X1,X2,X3,X4) constraint: pair(mark(X1),X2) >= pair(X1,X2) constraint: pair(active(X1),X2) >= pair(X1,X2) constraint: pair(X1,mark(X2)) >= pair(X1,X2) constraint: pair(X1,active(X2)) >= pair(X1,X2) constraint: cons(mark(X1),X2) >= cons(X1,X2) constraint: cons(active(X1),X2) >= cons(X1,X2) constraint: cons(X1,mark(X2)) >= cons(X1,X2) constraint: cons(X1,active(X2)) >= cons(X1,X2) constraint: snd(mark(X)) >= snd(X) constraint: snd(active(X)) >= snd(X) constraint: afterNth(mark(X1),X2) >= afterNth(X1,X2) constraint: afterNth(active(X1),X2) >= afterNth(X1,X2) constraint: afterNth(X1,mark(X2)) >= afterNth(X1,X2) constraint: afterNth(X1,active(X2)) >= afterNth(X1,X2) constraint: and(mark(X1),X2) >= and(X1,X2) constraint: and(active(X1),X2) >= and(X1,X2) constraint: and(X1,mark(X2)) >= and(X1,X2) constraint: and(X1,active(X2)) >= and(X1,X2) constraint: fst(mark(X)) >= fst(X) constraint: fst(active(X)) >= fst(X) constraint: head(mark(X)) >= head(X) constraint: head(active(X)) >= head(X) constraint: natsFrom(mark(X)) >= natsFrom(X) constraint: natsFrom(active(X)) >= natsFrom(X) constraint: s(mark(X)) >= s(X) constraint: s(active(X)) >= s(X) constraint: sel(mark(X1),X2) >= sel(X1,X2) constraint: sel(active(X1),X2) >= sel(X1,X2) constraint: sel(X1,mark(X2)) >= sel(X1,X2) constraint: sel(X1,active(X2)) >= sel(X1,X2) constraint: tail(mark(X)) >= tail(X) constraint: tail(active(X)) >= tail(X) constraint: take(mark(X1),X2) >= take(X1,X2) constraint: take(active(X1),X2) >= take(X1,X2) constraint: take(X1,mark(X2)) >= take(X1,X2) constraint: take(X1,active(X2)) >= take(X1,X2) constraint: Marked_mark(U12(X1,X2)) >= Marked_mark(X1) constraint: Marked_mark(U12(X1,X2)) >= Marked_active(U12(mark(X1),X2)) constraint: Marked_mark(splitAt(X1,X2)) >= Marked_mark(X1) constraint: Marked_mark(splitAt(X1,X2)) >= Marked_mark(X2) constraint: Marked_mark(splitAt(X1,X2)) >= Marked_active(splitAt(mark(X1), mark(X2))) constraint: Marked_mark(U11(X1,X2,X3,X4)) >= Marked_mark(X1) constraint: Marked_mark(U11(X1,X2,X3,X4)) >= Marked_active(U11(mark(X1), X2,X3,X4)) constraint: Marked_mark(pair(X1,X2)) >= Marked_mark(X1) constraint: Marked_mark(pair(X1,X2)) >= Marked_mark(X2) constraint: Marked_mark(cons(X1,X2)) >= Marked_mark(X1) constraint: Marked_mark(cons(X1,X2)) >= Marked_active(cons(mark(X1),X2)) constraint: Marked_mark(snd(X)) >= Marked_mark(X) constraint: Marked_mark(snd(X)) >= Marked_active(snd(mark(X))) constraint: Marked_mark(afterNth(X1,X2)) >= Marked_mark(X1) constraint: Marked_mark(afterNth(X1,X2)) >= Marked_mark(X2) constraint: Marked_mark(afterNth(X1,X2)) >= Marked_active(afterNth(mark(X1), mark(X2))) constraint: Marked_mark(and(X1,X2)) >= Marked_mark(X1) constraint: Marked_mark(and(X1,X2)) >= Marked_active(and(mark(X1),X2)) constraint: Marked_mark(fst(X)) >= Marked_mark(X) constraint: Marked_mark(fst(X)) >= Marked_active(fst(mark(X))) constraint: Marked_mark(head(X)) >= Marked_mark(X) constraint: Marked_mark(head(X)) >= Marked_active(head(mark(X))) constraint: Marked_mark(natsFrom(X)) >= Marked_mark(X) constraint: Marked_mark(natsFrom(X)) >= Marked_active(natsFrom(mark(X))) constraint: Marked_mark(s(X)) >= Marked_mark(X) constraint: Marked_mark(sel(X1,X2)) >= Marked_mark(X1) constraint: Marked_mark(sel(X1,X2)) >= Marked_mark(X2) constraint: Marked_mark(sel(X1,X2)) >= Marked_active(sel(mark(X1),mark(X2))) constraint: Marked_mark(tail(X)) >= Marked_mark(X) constraint: Marked_mark(tail(X)) >= Marked_active(tail(mark(X))) constraint: Marked_mark(take(X1,X2)) >= Marked_mark(X1) constraint: Marked_mark(take(X1,X2)) >= Marked_mark(X2) constraint: Marked_mark(take(X1,X2)) >= Marked_active(take(mark(X1),mark(X2))) constraint: Marked_active(U12(pair(YS,ZS),X)) >= Marked_mark(pair(cons(X,YS), ZS)) constraint: Marked_active(splitAt(s(N),cons(X,XS))) >= Marked_mark(U11( tt, N, X, XS)) constraint: Marked_active(splitAt(0,XS)) >= Marked_mark(pair(nil,XS)) constraint: Marked_active(U11(tt,N,X,XS)) >= Marked_mark(U12(splitAt(N,XS),X)) constraint: Marked_active(snd(pair(X,Y))) >= Marked_mark(Y) constraint: Marked_active(afterNth(N,XS)) >= Marked_mark(snd(splitAt(N,XS))) constraint: Marked_active(and(tt,X)) >= Marked_mark(X) constraint: Marked_active(fst(pair(X,Y))) >= Marked_mark(X) constraint: Marked_active(head(cons(N,XS))) >= Marked_mark(N) constraint: Marked_active(natsFrom(N)) >= Marked_mark(cons(N,natsFrom(s(N)))) constraint: Marked_active(sel(N,XS)) >= Marked_mark(head(afterNth(N,XS))) constraint: Marked_active(tail(cons(N,XS))) >= Marked_mark(XS) constraint: Marked_active(take(N,XS)) >= Marked_mark(fst(splitAt(N,XS))) APPLY CRITERIA (Graph splitting) Found 1 components: { --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> } APPLY CRITERIA (Subterm criterion) APPLY CRITERIA (Choosing graph) Trying to solve the following constraints: { mark(U12(X1,X2)) >= active(U12(mark(X1),X2)) ; mark(splitAt(X1,X2)) >= active(splitAt(mark(X1),mark(X2))) ; mark(U11(X1,X2,X3,X4)) >= active(U11(mark(X1),X2,X3,X4)) ; mark(tt) >= active(tt) ; mark(pair(X1,X2)) >= active(pair(mark(X1),mark(X2))) ; mark(cons(X1,X2)) >= active(cons(mark(X1),X2)) ; mark(snd(X)) >= active(snd(mark(X))) ; mark(afterNth(X1,X2)) >= active(afterNth(mark(X1),mark(X2))) ; mark(and(X1,X2)) >= active(and(mark(X1),X2)) ; mark(fst(X)) >= active(fst(mark(X))) ; mark(head(X)) >= active(head(mark(X))) ; mark(natsFrom(X)) >= active(natsFrom(mark(X))) ; mark(s(X)) >= active(s(mark(X))) ; mark(sel(X1,X2)) >= active(sel(mark(X1),mark(X2))) ; mark(nil) >= active(nil) ; mark(0) >= active(0) ; mark(tail(X)) >= active(tail(mark(X))) ; mark(take(X1,X2)) >= active(take(mark(X1),mark(X2))) ; U12(mark(X1),X2) >= U12(X1,X2) ; U12(active(X1),X2) >= U12(X1,X2) ; U12(X1,mark(X2)) >= U12(X1,X2) ; U12(X1,active(X2)) >= U12(X1,X2) ; splitAt(mark(X1),X2) >= splitAt(X1,X2) ; splitAt(active(X1),X2) >= splitAt(X1,X2) ; splitAt(X1,mark(X2)) >= splitAt(X1,X2) ; splitAt(X1,active(X2)) >= splitAt(X1,X2) ; active(U12(pair(YS,ZS),X)) >= mark(pair(cons(X,YS),ZS)) ; active(splitAt(s(N),cons(X,XS))) >= mark(U11(tt,N,X,XS)) ; active(splitAt(0,XS)) >= mark(pair(nil,XS)) ; active(U11(tt,N,X,XS)) >= mark(U12(splitAt(N,XS),X)) ; active(snd(pair(X,Y))) >= mark(Y) ; active(afterNth(N,XS)) >= mark(snd(splitAt(N,XS))) ; active(and(tt,X)) >= mark(X) ; active(fst(pair(X,Y))) >= mark(X) ; active(head(cons(N,XS))) >= mark(N) ; active(natsFrom(N)) >= mark(cons(N,natsFrom(s(N)))) ; active(sel(N,XS)) >= mark(head(afterNth(N,XS))) ; active(tail(cons(N,XS))) >= mark(XS) ; active(take(N,XS)) >= mark(fst(splitAt(N,XS))) ; U11(mark(X1),X2,X3,X4) >= U11(X1,X2,X3,X4) ; U11(active(X1),X2,X3,X4) >= U11(X1,X2,X3,X4) ; U11(X1,mark(X2),X3,X4) >= U11(X1,X2,X3,X4) ; U11(X1,active(X2),X3,X4) >= U11(X1,X2,X3,X4) ; U11(X1,X2,mark(X3),X4) >= U11(X1,X2,X3,X4) ; U11(X1,X2,active(X3),X4) >= U11(X1,X2,X3,X4) ; U11(X1,X2,X3,mark(X4)) >= U11(X1,X2,X3,X4) ; U11(X1,X2,X3,active(X4)) >= U11(X1,X2,X3,X4) ; pair(mark(X1),X2) >= pair(X1,X2) ; pair(active(X1),X2) >= pair(X1,X2) ; pair(X1,mark(X2)) >= pair(X1,X2) ; pair(X1,active(X2)) >= pair(X1,X2) ; cons(mark(X1),X2) >= cons(X1,X2) ; cons(active(X1),X2) >= cons(X1,X2) ; cons(X1,mark(X2)) >= cons(X1,X2) ; cons(X1,active(X2)) >= cons(X1,X2) ; snd(mark(X)) >= snd(X) ; snd(active(X)) >= snd(X) ; afterNth(mark(X1),X2) >= afterNth(X1,X2) ; afterNth(active(X1),X2) >= afterNth(X1,X2) ; afterNth(X1,mark(X2)) >= afterNth(X1,X2) ; afterNth(X1,active(X2)) >= afterNth(X1,X2) ; and(mark(X1),X2) >= and(X1,X2) ; and(active(X1),X2) >= and(X1,X2) ; and(X1,mark(X2)) >= and(X1,X2) ; and(X1,active(X2)) >= and(X1,X2) ; fst(mark(X)) >= fst(X) ; fst(active(X)) >= fst(X) ; head(mark(X)) >= head(X) ; head(active(X)) >= head(X) ; natsFrom(mark(X)) >= natsFrom(X) ; natsFrom(active(X)) >= natsFrom(X) ; s(mark(X)) >= s(X) ; s(active(X)) >= s(X) ; sel(mark(X1),X2) >= sel(X1,X2) ; sel(active(X1),X2) >= sel(X1,X2) ; sel(X1,mark(X2)) >= sel(X1,X2) ; sel(X1,active(X2)) >= sel(X1,X2) ; tail(mark(X)) >= tail(X) ; tail(active(X)) >= tail(X) ; take(mark(X1),X2) >= take(X1,X2) ; take(active(X1),X2) >= take(X1,X2) ; take(X1,mark(X2)) >= take(X1,X2) ; take(X1,active(X2)) >= take(X1,X2) ; Marked_mark(U12(X1,X2)) >= Marked_mark(X1) ; Marked_mark(U12(X1,X2)) >= Marked_active(U12(mark(X1),X2)) ; Marked_mark(splitAt(X1,X2)) >= Marked_mark(X1) ; Marked_mark(splitAt(X1,X2)) >= Marked_mark(X2) ; Marked_mark(splitAt(X1,X2)) >= Marked_active(splitAt(mark(X1),mark(X2))) ; Marked_mark(U11(X1,X2,X3,X4)) >= Marked_mark(X1) ; Marked_mark(U11(X1,X2,X3,X4)) >= Marked_active(U11(mark(X1),X2,X3,X4)) ; Marked_mark(pair(X1,X2)) >= Marked_mark(X1) ; Marked_mark(pair(X1,X2)) >= Marked_mark(X2) ; Marked_mark(cons(X1,X2)) >= Marked_mark(X1) ; Marked_mark(snd(X)) >= Marked_mark(X) ; Marked_mark(snd(X)) >= Marked_active(snd(mark(X))) ; Marked_mark(afterNth(X1,X2)) >= Marked_mark(X1) ; Marked_mark(afterNth(X1,X2)) >= Marked_mark(X2) ; Marked_mark(afterNth(X1,X2)) >= Marked_active(afterNth(mark(X1),mark(X2))) ; Marked_mark(and(X1,X2)) >= Marked_mark(X1) ; Marked_mark(and(X1,X2)) >= Marked_active(and(mark(X1),X2)) ; Marked_mark(fst(X)) >= Marked_mark(X) ; Marked_mark(fst(X)) >= Marked_active(fst(mark(X))) ; Marked_mark(head(X)) >= Marked_mark(X) ; Marked_mark(head(X)) >= Marked_active(head(mark(X))) ; Marked_mark(natsFrom(X)) >= Marked_mark(X) ; Marked_mark(natsFrom(X)) >= Marked_active(natsFrom(mark(X))) ; Marked_mark(s(X)) >= Marked_mark(X) ; Marked_mark(sel(X1,X2)) >= Marked_mark(X1) ; Marked_mark(sel(X1,X2)) >= Marked_mark(X2) ; Marked_mark(sel(X1,X2)) >= Marked_active(sel(mark(X1),mark(X2))) ; Marked_mark(tail(X)) >= Marked_mark(X) ; Marked_mark(tail(X)) >= Marked_active(tail(mark(X))) ; Marked_mark(take(X1,X2)) >= Marked_mark(X1) ; Marked_mark(take(X1,X2)) >= Marked_mark(X2) ; Marked_mark(take(X1,X2)) >= Marked_active(take(mark(X1),mark(X2))) ; Marked_active(U12(pair(YS,ZS),X)) >= Marked_mark(pair(cons(X,YS),ZS)) ; Marked_active(splitAt(s(N),cons(X,XS))) >= Marked_mark(U11(tt,N,X,XS)) ; Marked_active(splitAt(0,XS)) >= Marked_mark(pair(nil,XS)) ; Marked_active(U11(tt,N,X,XS)) >= Marked_mark(U12(splitAt(N,XS),X)) ; Marked_active(snd(pair(X,Y))) >= Marked_mark(Y) ; Marked_active(afterNth(N,XS)) >= Marked_mark(snd(splitAt(N,XS))) ; Marked_active(and(tt,X)) >= Marked_mark(X) ; Marked_active(fst(pair(X,Y))) >= Marked_mark(X) ; Marked_active(head(cons(N,XS))) >= Marked_mark(N) ; Marked_active(natsFrom(N)) >= Marked_mark(cons(N,natsFrom(s(N)))) ; Marked_active(sel(N,XS)) >= Marked_mark(head(afterNth(N,XS))) ; Marked_active(tail(cons(N,XS))) >= Marked_mark(XS) ; Marked_active(take(N,XS)) >= Marked_mark(fst(splitAt(N,XS))) ; } + Disjunctions:{ { Marked_mark(U12(X1,X2)) > Marked_mark(X1) ; } { Marked_mark(U12(X1,X2)) > Marked_active(U12(mark(X1),X2)) ; } { Marked_mark(splitAt(X1,X2)) > Marked_mark(X1) ; } { Marked_mark(splitAt(X1,X2)) > Marked_mark(X2) ; } { Marked_mark(splitAt(X1,X2)) > Marked_active(splitAt(mark(X1),mark(X2))) ; } { Marked_mark(U11(X1,X2,X3,X4)) > Marked_mark(X1) ; } { Marked_mark(U11(X1,X2,X3,X4)) > Marked_active(U11(mark(X1),X2,X3,X4)) ; } { Marked_mark(pair(X1,X2)) > Marked_mark(X1) ; } { Marked_mark(pair(X1,X2)) > Marked_mark(X2) ; } { Marked_mark(cons(X1,X2)) > Marked_mark(X1) ; } { Marked_mark(snd(X)) > Marked_mark(X) ; } { Marked_mark(snd(X)) > Marked_active(snd(mark(X))) ; } { Marked_mark(afterNth(X1,X2)) > Marked_mark(X1) ; } { Marked_mark(afterNth(X1,X2)) > Marked_mark(X2) ; } { Marked_mark(afterNth(X1,X2)) > Marked_active(afterNth(mark(X1),mark(X2))) ; } { Marked_mark(and(X1,X2)) > Marked_mark(X1) ; } { Marked_mark(and(X1,X2)) > Marked_active(and(mark(X1),X2)) ; } { Marked_mark(fst(X)) > Marked_mark(X) ; } { Marked_mark(fst(X)) > Marked_active(fst(mark(X))) ; } { Marked_mark(head(X)) > Marked_mark(X) ; } { Marked_mark(head(X)) > Marked_active(head(mark(X))) ; } { Marked_mark(natsFrom(X)) > Marked_mark(X) ; } { Marked_mark(natsFrom(X)) > Marked_active(natsFrom(mark(X))) ; } { Marked_mark(s(X)) > Marked_mark(X) ; } { Marked_mark(sel(X1,X2)) > Marked_mark(X1) ; } { Marked_mark(sel(X1,X2)) > Marked_mark(X2) ; } { Marked_mark(sel(X1,X2)) > Marked_active(sel(mark(X1),mark(X2))) ; } { Marked_mark(tail(X)) > Marked_mark(X) ; } { Marked_mark(tail(X)) > Marked_active(tail(mark(X))) ; } { Marked_mark(take(X1,X2)) > Marked_mark(X1) ; } { Marked_mark(take(X1,X2)) > Marked_mark(X2) ; } { Marked_mark(take(X1,X2)) > Marked_active(take(mark(X1),mark(X2))) ; } { Marked_active(U12(pair(YS,ZS),X)) > Marked_mark(pair(cons(X,YS),ZS)) ; } { Marked_active(splitAt(s(N),cons(X,XS))) > Marked_mark(U11(tt,N,X,XS)) ; } { Marked_active(splitAt(0,XS)) > Marked_mark(pair(nil,XS)) ; } { Marked_active(U11(tt,N,X,XS)) > Marked_mark(U12(splitAt(N,XS),X)) ; } { Marked_active(snd(pair(X,Y))) > Marked_mark(Y) ; } { Marked_active(afterNth(N,XS)) > Marked_mark(snd(splitAt(N,XS))) ; } { Marked_active(and(tt,X)) > Marked_mark(X) ; } { Marked_active(fst(pair(X,Y))) > Marked_mark(X) ; } { Marked_active(head(cons(N,XS))) > Marked_mark(N) ; } { Marked_active(natsFrom(N)) > Marked_mark(cons(N,natsFrom(s(N)))) ; } { Marked_active(sel(N,XS)) > Marked_mark(head(afterNth(N,XS))) ; } { Marked_active(tail(cons(N,XS))) > Marked_mark(XS) ; } { Marked_active(take(N,XS)) > Marked_mark(fst(splitAt(N,XS))) ; } } === TIMER virtual : 10.000000 === Entering poly_solver Starting Sat solver initialization Calling Sat solver... === STOPING TIMER virtual === === TIMER real : 10.000000 === === STOPING TIMER real === Sat solver returned === STOPING TIMER real === === STOPING TIMER virtual === No solution found for these parameters. Entering rpo_solver === TIMER virtual : 25.000000 === Search parameters: AFS type: 2 ; time limit: 25.. === STOPING TIMER virtual === === TIMER virtual : 25.000000 === Search parameters: AFS type: 2 ; time limit: 25.. === STOPING TIMER virtual === === TIMER virtual : 25.000000 === Search parameters: AFS type: 2 ; time limit: 25.. === STOPING TIMER virtual === === TIMER virtual : 25.000000 === Search parameters: AFS type: 2 ; time limit: 25.. === STOPING TIMER virtual === === TIMER virtual : 25.000000 === Search parameters: AFS type: 2 ; time limit: 25.. === STOPING TIMER virtual === === TIMER virtual : 25.000000 === Search parameters: AFS type: 2 ; time limit: 25.. === STOPING TIMER virtual === === TIMER virtual : 25.000000 === Search parameters: AFS type: 2 ; time limit: 25.. === STOPING TIMER virtual === === TIMER virtual : 25.000000 === Search parameters: AFS type: 2 ; time limit: 25.. === STOPING TIMER virtual === === TIMER virtual : 25.000000 === Search parameters: AFS type: 2 ; time limit: 25.. === STOPING TIMER virtual === === TIMER virtual : 25.000000 === Search parameters: AFS type: 2 ; time limit: 25.. === STOPING TIMER virtual === === TIMER virtual : 25.000000 === Search parameters: AFS type: 2 ; time limit: 25.. === STOPING TIMER virtual === === TIMER virtual : 25.000000 === Search parameters: AFS type: 2 ; time limit: 25.. === STOPING TIMER virtual === === TIMER virtual : 25.000000 === Search parameters: AFS type: 2 ; time limit: 25.. === STOPING TIMER virtual === === TIMER virtual : 25.000000 === Search parameters: AFS type: 2 ; time limit: 25.. === STOPING TIMER virtual === === TIMER virtual : 25.000000 === Search parameters: AFS type: 2 ; time limit: 25.. === STOPING TIMER virtual === === TIMER virtual : 25.000000 === Search parameters: AFS type: 2 ; time limit: 25.. === STOPING TIMER virtual === === TIMER virtual : 25.000000 === Search parameters: AFS type: 2 ; time limit: 25.. Global timeout: 300.000000