- : unit = () h : heuristic = - : unit = () APPLY CRITERIA (Marked dependency pairs) TRS termination of: [1] fstsplit(0,x) -> nil [2] fstsplit(s(n),nil) -> nil [3] fstsplit(s(n),cons(h,t)) -> cons(h,fstsplit(n,t)) [4] sndsplit(0,x) -> x [5] sndsplit(s(n),nil) -> nil [6] sndsplit(s(n),cons(h,t)) -> sndsplit(n,t) [7] empty(nil) -> true [8] empty(cons(h,t)) -> false [9] leq(0,m) -> true [10] leq(s(n),0) -> false [11] leq(s(n),s(m)) -> leq(n,m) [12] length(nil) -> 0 [13] length(cons(h,t)) -> s(length(t)) [14] app(nil,x) -> x [15] app(cons(h,t),x) -> cons(h,app(t,x)) [16] map_f(pid,nil) -> nil [17] map_f(pid,cons(h,t)) -> app(f(pid,h),map_f(pid,t)) [18] process(store,m) -> if1(store,m,leq(m,length(store))) [19] if1(store,m,true) -> if2(store,m,empty(fstsplit(m,store))) [20] if1(store,m,false) -> if3(store,m,empty(fstsplit(m,app(map_f(self,nil),store)))) [21] if2(store,m,false) -> process(app(map_f(self,nil),sndsplit(m,store)),m) [22] if3(store,m,false) -> process(sndsplit(m,app(map_f(self,nil),store)),m) Sub problem: guided: DP termination of: END GUIDED APPLY CRITERIA (Graph splitting) Found 7 components: { --> } { --> --> --> --> --> --> } { --> } { --> } { --> } { --> } { --> } APPLY CRITERIA (Choosing graph) Trying to solve the following constraints: { fstsplit(0,x) >= nil ; fstsplit(s(n),nil) >= nil ; fstsplit(s(n),cons(h,t)) >= cons(h,fstsplit(n,t)) ; sndsplit(0,x) >= x ; sndsplit(s(n),nil) >= nil ; sndsplit(s(n),cons(h,t)) >= sndsplit(n,t) ; empty(nil) >= true ; empty(cons(h,t)) >= false ; leq(0,m) >= true ; leq(s(n),0) >= false ; leq(s(n),s(m)) >= leq(n,m) ; length(nil) >= 0 ; length(cons(h,t)) >= s(length(t)) ; app(nil,x) >= x ; app(cons(h,t),x) >= cons(h,app(t,x)) ; map_f(pid,nil) >= nil ; map_f(pid,cons(h,t)) >= app(f(pid,h),map_f(pid,t)) ; if1(store,m,true) >= if2(store,m,empty(fstsplit(m,store))) ; if1(store,m,false) >= if3(store,m, empty(fstsplit(m,app(map_f(self,nil),store)))) ; process(store,m) >= if1(store,m,leq(m,length(store))) ; if2(store,m,false) >= process(app(map_f(self,nil),sndsplit(m,store)),m) ; if3(store,m,false) >= process(sndsplit(m,app(map_f(self,nil),store)),m) ; Marked_map_f(pid,cons(h,t)) >= Marked_map_f(pid,t) ; } + Disjunctions:{ { Marked_map_f(pid,cons(h,t)) > Marked_map_f(pid,t) ; } } === 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: fstsplit(0,x) >= nil constraint: fstsplit(s(n),nil) >= nil constraint: fstsplit(s(n),cons(h,t)) >= cons(h,fstsplit(n,t)) constraint: sndsplit(0,x) >= x constraint: sndsplit(s(n),nil) >= nil constraint: sndsplit(s(n),cons(h,t)) >= sndsplit(n,t) constraint: empty(nil) >= true constraint: empty(cons(h,t)) >= false constraint: leq(0,m) >= true constraint: leq(s(n),0) >= false constraint: leq(s(n),s(m)) >= leq(n,m) constraint: length(nil) >= 0 constraint: length(cons(h,t)) >= s(length(t)) constraint: app(nil,x) >= x constraint: app(cons(h,t),x) >= cons(h,app(t,x)) constraint: map_f(pid,nil) >= nil constraint: map_f(pid,cons(h,t)) >= app(f(pid,h),map_f(pid,t)) constraint: if1(store,m,true) >= if2(store,m,empty(fstsplit(m,store))) constraint: if1(store,m,false) >= if3(store,m, empty(fstsplit(m,app(map_f(self,nil),store)))) constraint: process(store,m) >= if1(store,m,leq(m,length(store))) constraint: if2(store,m,false) >= process(app(map_f(self,nil), sndsplit(m,store)),m) constraint: if3(store,m,false) >= process(sndsplit(m, app(map_f(self,nil),store)), m) constraint: Marked_map_f(pid,cons(h,t)) >= Marked_map_f(pid,t) APPLY CRITERIA (Choosing graph) Trying to solve the following constraints: { fstsplit(0,x) >= nil ; fstsplit(s(n),nil) >= nil ; fstsplit(s(n),cons(h,t)) >= cons(h,fstsplit(n,t)) ; sndsplit(0,x) >= x ; sndsplit(s(n),nil) >= nil ; sndsplit(s(n),cons(h,t)) >= sndsplit(n,t) ; empty(nil) >= true ; empty(cons(h,t)) >= false ; leq(0,m) >= true ; leq(s(n),0) >= false ; leq(s(n),s(m)) >= leq(n,m) ; length(nil) >= 0 ; length(cons(h,t)) >= s(length(t)) ; app(nil,x) >= x ; app(cons(h,t),x) >= cons(h,app(t,x)) ; map_f(pid,nil) >= nil ; map_f(pid,cons(h,t)) >= app(f(pid,h),map_f(pid,t)) ; if1(store,m,true) >= if2(store,m,empty(fstsplit(m,store))) ; if1(store,m,false) >= if3(store,m, empty(fstsplit(m,app(map_f(self,nil),store)))) ; process(store,m) >= if1(store,m,leq(m,length(store))) ; if2(store,m,false) >= process(app(map_f(self,nil),sndsplit(m,store)),m) ; if3(store,m,false) >= process(sndsplit(m,app(map_f(self,nil),store)),m) ; Marked_if3(store,m,false) >= Marked_process(sndsplit(m, app(map_f(self,nil),store)), m) ; Marked_process(store,m) >= Marked_if1(store,m,leq(m,length(store))) ; Marked_if2(store,m,false) >= Marked_process(app(map_f(self,nil), sndsplit(m,store)),m) ; Marked_if1(store,m,true) >= Marked_if2(store,m,empty(fstsplit(m,store))) ; Marked_if1(store,m,false) >= Marked_if3(store,m, empty(fstsplit(m,app(map_f(self,nil),store)))) ; } + Disjunctions:{ { Marked_if3(store,m,false) > Marked_process(sndsplit(m, app(map_f(self,nil),store)), m) ; } { Marked_process(store,m) > Marked_if1(store,m,leq(m,length(store))) ; } { Marked_if2(store,m,false) > Marked_process(app(map_f(self,nil), sndsplit(m,store)),m) ; } { Marked_if1(store,m,true) > Marked_if2(store,m,empty(fstsplit(m,store))) ; } { Marked_if1(store,m,false) > Marked_if3(store,m, empty(fstsplit(m,app(map_f(self,nil),store)))) ; } } === 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 === Time out for these parameters. === TIMER virtual : 15.000000 === Entering poly_solver Starting Sat solver initialization Calling Sat solver... === STOPING TIMER virtual === === TIMER real : 15.000000 === === STOPING TIMER real === Sat timeout reached === STOPING TIMER virtual === Time out for these parameters. === TIMER virtual : 50.000000 === trying sub matrices of size: 1 Matrix interpretation constraints generated. Search parameters: LINEAR MATRIX 3x3 (strict=1x1) ; time limit: 50.. Termination constraints generated. Starting Sat solver initialization Calling Sat solver... === STOPING TIMER virtual === === TIMER real : 50.000000 === === STOPING TIMER real === Sat timeout reached === STOPING TIMER virtual === No solution found for these parameters. No solution found for these constraints. APPLY CRITERIA (ID_CRIT) NOT SOLVED No proof found Cime worked for 108.318330 seconds (real time) Cime Exit Status: 0