- : unit = () h : heuristic = - : unit = () APPLY CRITERIA (Marked dependency pairs) TRS termination of: [1] eq(0,0) -> true [2] eq(0,s(x)) -> false [3] eq(s(x),0) -> false [4] eq(s(x),s(y)) -> eq(x,y) [5] le(0,y) -> true [6] le(s(x),0) -> false [7] le(s(x),s(y)) -> le(x,y) [8] app(nil,y) -> y [9] app(add(n,x),y) -> add(n,app(x,y)) [10] min(nil) -> 0 [11] min(add(n,x)) -> minIter(add(n,x),add(n,x),0) [12] minIter(nil,add(n,y),m) -> minIter(add(n,y),add(n,y),s(m)) [13] minIter(add(n,x),y,m) -> if_min(le(n,m),x,y,m) [14] if_min(true,x,y,m) -> m [15] if_min(false,x,y,m) -> minIter(x,y,m) [16] head(add(n,x)) -> n [17] tail(add(n,x)) -> x [18] tail(nil) -> nil [19] null(nil) -> true [20] null(add(n,x)) -> false [21] rm(n,nil) -> nil [22] rm(n,add(m,x)) -> if_rm(eq(n,m),n,add(m,x)) [23] if_rm(true,n,add(m,x)) -> rm(n,x) [24] if_rm(false,n,add(m,x)) -> add(m,rm(n,x)) [25] minsort(nil,nil) -> nil [26] minsort(add(n,x),y) -> if_minsort(eq(n,min(add(n,x))),add(n,x),y) [27] if_minsort(true,add(n,x),y) -> add(n,minsort(app(rm(n,x),y),nil)) [28] if_minsort(false,add(n,x),y) -> minsort(x,add(n,y)) Sub problem: guided: DP termination of: END GUIDED APPLY CRITERIA (Graph splitting) Found 6 components: { --> --> --> --> } { --> } { --> --> --> --> } { --> } { --> --> --> --> } { --> } APPLY CRITERIA (Choosing graph) Trying to solve the following constraints: { eq(0,0) >= true ; eq(0,s(x)) >= false ; eq(s(x),0) >= false ; eq(s(x),s(y)) >= eq(x,y) ; le(0,y) >= true ; le(s(x),0) >= false ; le(s(x),s(y)) >= le(x,y) ; app(nil,y) >= y ; app(add(n,x),y) >= add(n,app(x,y)) ; min(nil) >= 0 ; min(add(n,x)) >= minIter(add(n,x),add(n,x),0) ; minIter(nil,add(n,y),m) >= minIter(add(n,y),add(n,y),s(m)) ; minIter(add(n,x),y,m) >= if_min(le(n,m),x,y,m) ; if_min(true,x,y,m) >= m ; if_min(false,x,y,m) >= minIter(x,y,m) ; head(add(n,x)) >= n ; tail(nil) >= nil ; tail(add(n,x)) >= x ; null(nil) >= true ; null(add(n,x)) >= false ; rm(n,nil) >= nil ; rm(n,add(m,x)) >= if_rm(eq(n,m),n,add(m,x)) ; if_rm(true,n,add(m,x)) >= rm(n,x) ; if_rm(false,n,add(m,x)) >= add(m,rm(n,x)) ; minsort(nil,nil) >= nil ; minsort(add(n,x),y) >= if_minsort(eq(n,min(add(n,x))),add(n,x),y) ; if_minsort(true,add(n,x),y) >= add(n,minsort(app(rm(n,x),y),nil)) ; if_minsort(false,add(n,x),y) >= minsort(x,add(n,y)) ; Marked_if_minsort(true,add(n,x),y) >= Marked_minsort(app(rm(n,x),y),nil) ; Marked_if_minsort(false,add(n,x),y) >= Marked_minsort(x,add(n,y)) ; Marked_minsort(add(n,x),y) >= Marked_if_minsort(eq(n,min(add(n,x))), add(n,x),y) ; } + Disjunctions:{ { Marked_if_minsort(true,add(n,x),y) > Marked_minsort(app(rm(n,x),y),nil) ; } { Marked_if_minsort(false,add(n,x),y) > Marked_minsort(x,add(n,y)) ; } { Marked_minsort(add(n,x),y) > Marked_if_minsort(eq(n,min(add(n,x))), add(n,x),y) ; } } === 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: eq(0,0) >= true constraint: eq(0,s(x)) >= false constraint: eq(s(x),0) >= false constraint: eq(s(x),s(y)) >= eq(x,y) constraint: le(0,y) >= true constraint: le(s(x),0) >= false constraint: le(s(x),s(y)) >= le(x,y) constraint: app(nil,y) >= y constraint: app(add(n,x),y) >= add(n,app(x,y)) constraint: min(nil) >= 0 constraint: min(add(n,x)) >= minIter(add(n,x),add(n,x),0) constraint: minIter(nil,add(n,y),m) >= minIter(add(n,y),add(n,y),s(m)) constraint: minIter(add(n,x),y,m) >= if_min(le(n,m),x,y,m) constraint: if_min(true,x,y,m) >= m constraint: if_min(false,x,y,m) >= minIter(x,y,m) constraint: head(add(n,x)) >= n constraint: tail(nil) >= nil constraint: tail(add(n,x)) >= x constraint: null(nil) >= true constraint: null(add(n,x)) >= false constraint: rm(n,nil) >= nil constraint: rm(n,add(m,x)) >= if_rm(eq(n,m),n,add(m,x)) constraint: if_rm(true,n,add(m,x)) >= rm(n,x) constraint: if_rm(false,n,add(m,x)) >= add(m,rm(n,x)) constraint: minsort(nil,nil) >= nil constraint: minsort(add(n,x),y) >= if_minsort(eq(n,min(add(n,x))),add(n,x),y) constraint: if_minsort(true,add(n,x),y) >= add(n,minsort(app(rm(n,x),y),nil)) constraint: if_minsort(false,add(n,x),y) >= minsort(x,add(n,y)) constraint: Marked_if_minsort(true,add(n,x),y) >= Marked_minsort(app(rm(n,x),y), nil) constraint: Marked_if_minsort(false,add(n,x),y) >= Marked_minsort(x,add(n,y)) constraint: Marked_minsort(add(n,x),y) >= Marked_if_minsort(eq(n,min(add(n,x))), add(n,x),y) APPLY CRITERIA (Choosing graph) Trying to solve the following constraints: { eq(0,0) >= true ; eq(0,s(x)) >= false ; eq(s(x),0) >= false ; eq(s(x),s(y)) >= eq(x,y) ; le(0,y) >= true ; le(s(x),0) >= false ; le(s(x),s(y)) >= le(x,y) ; app(nil,y) >= y ; app(add(n,x),y) >= add(n,app(x,y)) ; min(nil) >= 0 ; min(add(n,x)) >= minIter(add(n,x),add(n,x),0) ; minIter(nil,add(n,y),m) >= minIter(add(n,y),add(n,y),s(m)) ; minIter(add(n,x),y,m) >= if_min(le(n,m),x,y,m) ; if_min(true,x,y,m) >= m ; if_min(false,x,y,m) >= minIter(x,y,m) ; head(add(n,x)) >= n ; tail(nil) >= nil ; tail(add(n,x)) >= x ; null(nil) >= true ; null(add(n,x)) >= false ; rm(n,nil) >= nil ; rm(n,add(m,x)) >= if_rm(eq(n,m),n,add(m,x)) ; if_rm(true,n,add(m,x)) >= rm(n,x) ; if_rm(false,n,add(m,x)) >= add(m,rm(n,x)) ; minsort(nil,nil) >= nil ; minsort(add(n,x),y) >= if_minsort(eq(n,min(add(n,x))),add(n,x),y) ; if_minsort(true,add(n,x),y) >= add(n,minsort(app(rm(n,x),y),nil)) ; if_minsort(false,add(n,x),y) >= minsort(x,add(n,y)) ; Marked_app(add(n,x),y) >= Marked_app(x,y) ; } + Disjunctions:{ { Marked_app(add(n,x),y) > Marked_app(x,y) ; } } === 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: eq(0,0) >= true constraint: eq(0,s(x)) >= false constraint: eq(s(x),0) >= false constraint: eq(s(x),s(y)) >= eq(x,y) constraint: le(0,y) >= true constraint: le(s(x),0) >= false constraint: le(s(x),s(y)) >= le(x,y) constraint: app(nil,y) >= y constraint: app(add(n,x),y) >= add(n,app(x,y)) constraint: min(nil) >= 0 constraint: min(add(n,x)) >= minIter(add(n,x),add(n,x),0) constraint: minIter(nil,add(n,y),m) >= minIter(add(n,y),add(n,y),s(m)) constraint: minIter(add(n,x),y,m) >= if_min(le(n,m),x,y,m) constraint: if_min(true,x,y,m) >= m constraint: if_min(false,x,y,m) >= minIter(x,y,m) constraint: head(add(n,x)) >= n constraint: tail(nil) >= nil constraint: tail(add(n,x)) >= x constraint: null(nil) >= true constraint: null(add(n,x)) >= false constraint: rm(n,nil) >= nil constraint: rm(n,add(m,x)) >= if_rm(eq(n,m),n,add(m,x)) constraint: if_rm(true,n,add(m,x)) >= rm(n,x) constraint: if_rm(false,n,add(m,x)) >= add(m,rm(n,x)) constraint: minsort(nil,nil) >= nil constraint: minsort(add(n,x),y) >= if_minsort(eq(n,min(add(n,x))),add(n,x),y) constraint: if_minsort(true,add(n,x),y) >= add(n,minsort(app(rm(n,x),y),nil)) constraint: if_minsort(false,add(n,x),y) >= minsort(x,add(n,y)) constraint: Marked_app(add(n,x),y) >= Marked_app(x,y) APPLY CRITERIA (Choosing graph) Trying to solve the following constraints: { eq(0,0) >= true ; eq(0,s(x)) >= false ; eq(s(x),0) >= false ; eq(s(x),s(y)) >= eq(x,y) ; le(0,y) >= true ; le(s(x),0) >= false ; le(s(x),s(y)) >= le(x,y) ; app(nil,y) >= y ; app(add(n,x),y) >= add(n,app(x,y)) ; min(nil) >= 0 ; min(add(n,x)) >= minIter(add(n,x),add(n,x),0) ; minIter(nil,add(n,y),m) >= minIter(add(n,y),add(n,y),s(m)) ; minIter(add(n,x),y,m) >= if_min(le(n,m),x,y,m) ; if_min(true,x,y,m) >= m ; if_min(false,x,y,m) >= minIter(x,y,m) ; head(add(n,x)) >= n ; tail(nil) >= nil ; tail(add(n,x)) >= x ; null(nil) >= true ; null(add(n,x)) >= false ; rm(n,nil) >= nil ; rm(n,add(m,x)) >= if_rm(eq(n,m),n,add(m,x)) ; if_rm(true,n,add(m,x)) >= rm(n,x) ; if_rm(false,n,add(m,x)) >= add(m,rm(n,x)) ; minsort(nil,nil) >= nil ; minsort(add(n,x),y) >= if_minsort(eq(n,min(add(n,x))),add(n,x),y) ; if_minsort(true,add(n,x),y) >= add(n,minsort(app(rm(n,x),y),nil)) ; if_minsort(false,add(n,x),y) >= minsort(x,add(n,y)) ; Marked_rm(n,add(m,x)) >= Marked_if_rm(eq(n,m),n,add(m,x)) ; Marked_if_rm(true,n,add(m,x)) >= Marked_rm(n,x) ; Marked_if_rm(false,n,add(m,x)) >= Marked_rm(n,x) ; } + Disjunctions:{ { Marked_rm(n,add(m,x)) > Marked_if_rm(eq(n,m),n,add(m,x)) ; } { Marked_if_rm(true,n,add(m,x)) > Marked_rm(n,x) ; } { Marked_if_rm(false,n,add(m,x)) > Marked_rm(n,x) ; } } === 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: eq(0,0) >= true constraint: eq(0,s(x)) >= false constraint: eq(s(x),0) >= false constraint: eq(s(x),s(y)) >= eq(x,y) constraint: le(0,y) >= true constraint: le(s(x),0) >= false constraint: le(s(x),s(y)) >= le(x,y) constraint: app(nil,y) >= y constraint: app(add(n,x),y) >= add(n,app(x,y)) constraint: min(nil) >= 0 constraint: min(add(n,x)) >= minIter(add(n,x),add(n,x),0) constraint: minIter(nil,add(n,y),m) >= minIter(add(n,y),add(n,y),s(m)) constraint: minIter(add(n,x),y,m) >= if_min(le(n,m),x,y,m) constraint: if_min(true,x,y,m) >= m constraint: if_min(false,x,y,m) >= minIter(x,y,m) constraint: head(add(n,x)) >= n constraint: tail(nil) >= nil constraint: tail(add(n,x)) >= x constraint: null(nil) >= true constraint: null(add(n,x)) >= false constraint: rm(n,nil) >= nil constraint: rm(n,add(m,x)) >= if_rm(eq(n,m),n,add(m,x)) constraint: if_rm(true,n,add(m,x)) >= rm(n,x) constraint: if_rm(false,n,add(m,x)) >= add(m,rm(n,x)) constraint: minsort(nil,nil) >= nil constraint: minsort(add(n,x),y) >= if_minsort(eq(n,min(add(n,x))),add(n,x),y) constraint: if_minsort(true,add(n,x),y) >= add(n,minsort(app(rm(n,x),y),nil)) constraint: if_minsort(false,add(n,x),y) >= minsort(x,add(n,y)) constraint: Marked_rm(n,add(m,x)) >= Marked_if_rm(eq(n,m),n,add(m,x)) constraint: Marked_if_rm(true,n,add(m,x)) >= Marked_rm(n,x) constraint: Marked_if_rm(false,n,add(m,x)) >= Marked_rm(n,x) APPLY CRITERIA (Choosing graph) Trying to solve the following constraints: { eq(0,0) >= true ; eq(0,s(x)) >= false ; eq(s(x),0) >= false ; eq(s(x),s(y)) >= eq(x,y) ; le(0,y) >= true ; le(s(x),0) >= false ; le(s(x),s(y)) >= le(x,y) ; app(nil,y) >= y ; app(add(n,x),y) >= add(n,app(x,y)) ; min(nil) >= 0 ; min(add(n,x)) >= minIter(add(n,x),add(n,x),0) ; minIter(nil,add(n,y),m) >= minIter(add(n,y),add(n,y),s(m)) ; minIter(add(n,x),y,m) >= if_min(le(n,m),x,y,m) ; if_min(true,x,y,m) >= m ; if_min(false,x,y,m) >= minIter(x,y,m) ; head(add(n,x)) >= n ; tail(nil) >= nil ; tail(add(n,x)) >= x ; null(nil) >= true ; null(add(n,x)) >= false ; rm(n,nil) >= nil ; rm(n,add(m,x)) >= if_rm(eq(n,m),n,add(m,x)) ; if_rm(true,n,add(m,x)) >= rm(n,x) ; if_rm(false,n,add(m,x)) >= add(m,rm(n,x)) ; minsort(nil,nil) >= nil ; minsort(add(n,x),y) >= if_minsort(eq(n,min(add(n,x))),add(n,x),y) ; if_minsort(true,add(n,x),y) >= add(n,minsort(app(rm(n,x),y),nil)) ; if_minsort(false,add(n,x),y) >= minsort(x,add(n,y)) ; Marked_eq(s(x),s(y)) >= Marked_eq(x,y) ; } + Disjunctions:{ { Marked_eq(s(x),s(y)) > Marked_eq(x,y) ; } } === 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 solver returned === STOPING TIMER real === === STOPING TIMER virtual === No solution found 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 solver returned === STOPING TIMER real === === 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 27.748747 seconds (real time) Cime Exit Status: 0