- : unit = () - : unit = () h : heuristic = - : unit = () APPLY CRITERIA (Marked dependency pairs) TRS termination of: [1] a__f(X) -> a__if(mark(X),c,f(true)) [2] a__if(true,X,Y) -> mark(X) [3] a__if(false,X,Y) -> mark(Y) [4] mark(f(X)) -> a__f(mark(X)) [5] mark(if(X1,X2,X3)) -> a__if(mark(X1),mark(X2),X3) [6] mark(c) -> c [7] mark(true) -> true [8] mark(false) -> false [9] a__f(X) -> f(X) [10] a__if(X1,X2,X3) -> if(X1,X2,X3) Sub problem: guided: DP termination of: END GUIDED APPLY CRITERIA (Graph splitting) Found 1 components: { --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> } APPLY CRITERIA (Subterm criterion) APPLY CRITERIA (Choosing graph) Trying to solve the following constraints: { a__if(true,X,Y) >= mark(X) ; a__if(false,X,Y) >= mark(Y) ; a__if(X1,X2,X3) >= if(X1,X2,X3) ; mark(c) >= c ; mark(f(X)) >= a__f(mark(X)) ; mark(true) >= true ; mark(false) >= false ; mark(if(X1,X2,X3)) >= a__if(mark(X1),mark(X2),X3) ; a__f(X) >= a__if(mark(X),c,f(true)) ; a__f(X) >= f(X) ; Marked_a__if(true,X,Y) >= Marked_mark(X) ; Marked_a__if(false,X,Y) >= Marked_mark(Y) ; Marked_a__f(X) >= Marked_a__if(mark(X),c,f(true)) ; Marked_a__f(X) >= Marked_mark(X) ; Marked_mark(f(X)) >= Marked_a__f(mark(X)) ; Marked_mark(f(X)) >= Marked_mark(X) ; Marked_mark(if(X1,X2,X3)) >= Marked_a__if(mark(X1),mark(X2),X3) ; Marked_mark(if(X1,X2,X3)) >= Marked_mark(X1) ; Marked_mark(if(X1,X2,X3)) >= Marked_mark(X2) ; } + Disjunctions:{ { Marked_a__if(true,X,Y) > Marked_mark(X) ; } { Marked_a__if(false,X,Y) > Marked_mark(Y) ; } { Marked_a__f(X) > Marked_a__if(mark(X),c,f(true)) ; } { Marked_a__f(X) > Marked_mark(X) ; } { Marked_mark(f(X)) > Marked_a__f(mark(X)) ; } { Marked_mark(f(X)) > Marked_mark(X) ; } { Marked_mark(if(X1,X2,X3)) > Marked_a__if(mark(X1),mark(X2),X3) ; } { Marked_mark(if(X1,X2,X3)) > Marked_mark(X1) ; } { Marked_mark(if(X1,X2,X3)) > Marked_mark(X2) ; } } === 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: a__if(true,X,Y) >= mark(X) constraint: a__if(false,X,Y) >= mark(Y) constraint: a__if(X1,X2,X3) >= if(X1,X2,X3) constraint: mark(c) >= c constraint: mark(f(X)) >= a__f(mark(X)) constraint: mark(true) >= true constraint: mark(false) >= false constraint: mark(if(X1,X2,X3)) >= a__if(mark(X1),mark(X2),X3) constraint: a__f(X) >= a__if(mark(X),c,f(true)) constraint: a__f(X) >= f(X) constraint: Marked_a__if(true,X,Y) >= Marked_mark(X) constraint: Marked_a__if(false,X,Y) >= Marked_mark(Y) constraint: Marked_a__f(X) >= Marked_a__if(mark(X),c,f(true)) constraint: Marked_a__f(X) >= Marked_mark(X) constraint: Marked_mark(f(X)) >= Marked_a__f(mark(X)) constraint: Marked_mark(f(X)) >= Marked_mark(X) constraint: Marked_mark(if(X1,X2,X3)) >= Marked_a__if(mark(X1),mark(X2),X3) constraint: Marked_mark(if(X1,X2,X3)) >= Marked_mark(X1) constraint: Marked_mark(if(X1,X2,X3)) >= Marked_mark(X2) APPLY CRITERIA (Graph splitting) Found 1 components: { --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> } APPLY CRITERIA (Subterm criterion) APPLY CRITERIA (Choosing graph) Trying to solve the following constraints: { a__if(true,X,Y) >= mark(X) ; a__if(false,X,Y) >= mark(Y) ; a__if(X1,X2,X3) >= if(X1,X2,X3) ; mark(c) >= c ; mark(f(X)) >= a__f(mark(X)) ; mark(true) >= true ; mark(false) >= false ; mark(if(X1,X2,X3)) >= a__if(mark(X1),mark(X2),X3) ; a__f(X) >= a__if(mark(X),c,f(true)) ; a__f(X) >= f(X) ; Marked_a__if(true,X,Y) >= Marked_mark(X) ; Marked_a__f(X) >= Marked_a__if(mark(X),c,f(true)) ; Marked_a__f(X) >= Marked_mark(X) ; Marked_mark(f(X)) >= Marked_a__f(mark(X)) ; Marked_mark(f(X)) >= Marked_mark(X) ; Marked_mark(if(X1,X2,X3)) >= Marked_a__if(mark(X1),mark(X2),X3) ; Marked_mark(if(X1,X2,X3)) >= Marked_mark(X1) ; Marked_mark(if(X1,X2,X3)) >= Marked_mark(X2) ; } + Disjunctions:{ { Marked_a__if(true,X,Y) > Marked_mark(X) ; } { Marked_a__f(X) > Marked_a__if(mark(X),c,f(true)) ; } { Marked_a__f(X) > Marked_mark(X) ; } { Marked_mark(f(X)) > Marked_a__f(mark(X)) ; } { Marked_mark(f(X)) > Marked_mark(X) ; } { Marked_mark(if(X1,X2,X3)) > Marked_a__if(mark(X1),mark(X2),X3) ; } { Marked_mark(if(X1,X2,X3)) > Marked_mark(X1) ; } { Marked_mark(if(X1,X2,X3)) > Marked_mark(X2) ; } } === 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: a__if(true,X,Y) >= mark(X) constraint: a__if(false,X,Y) >= mark(Y) constraint: a__if(X1,X2,X3) >= if(X1,X2,X3) constraint: mark(c) >= c constraint: mark(f(X)) >= a__f(mark(X)) constraint: mark(true) >= true constraint: mark(false) >= false constraint: mark(if(X1,X2,X3)) >= a__if(mark(X1),mark(X2),X3) constraint: a__f(X) >= a__if(mark(X),c,f(true)) constraint: a__f(X) >= f(X) constraint: Marked_a__if(true,X,Y) >= Marked_mark(X) constraint: Marked_a__f(X) >= Marked_a__if(mark(X),c,f(true)) constraint: Marked_a__f(X) >= Marked_mark(X) constraint: Marked_mark(f(X)) >= Marked_a__f(mark(X)) constraint: Marked_mark(f(X)) >= Marked_mark(X) constraint: Marked_mark(if(X1,X2,X3)) >= Marked_a__if(mark(X1),mark(X2),X3) constraint: Marked_mark(if(X1,X2,X3)) >= Marked_mark(X1) constraint: Marked_mark(if(X1,X2,X3)) >= Marked_mark(X2) APPLY CRITERIA (Graph splitting) Found 1 components: { --> --> --> --> --> --> --> --> --> --> } APPLY CRITERIA (Subterm criterion) APPLY CRITERIA (Choosing graph) Trying to solve the following constraints: { a__if(true,X,Y) >= mark(X) ; a__if(false,X,Y) >= mark(Y) ; a__if(X1,X2,X3) >= if(X1,X2,X3) ; mark(c) >= c ; mark(f(X)) >= a__f(mark(X)) ; mark(true) >= true ; mark(false) >= false ; mark(if(X1,X2,X3)) >= a__if(mark(X1),mark(X2),X3) ; a__f(X) >= a__if(mark(X),c,f(true)) ; a__f(X) >= f(X) ; Marked_a__if(true,X,Y) >= Marked_mark(X) ; Marked_mark(if(X1,X2,X3)) >= Marked_a__if(mark(X1),mark(X2),X3) ; Marked_mark(if(X1,X2,X3)) >= Marked_mark(X1) ; Marked_mark(if(X1,X2,X3)) >= Marked_mark(X2) ; } + Disjunctions:{ { Marked_a__if(true,X,Y) > Marked_mark(X) ; } { Marked_mark(if(X1,X2,X3)) > Marked_a__if(mark(X1),mark(X2),X3) ; } { Marked_mark(if(X1,X2,X3)) > Marked_mark(X1) ; } { Marked_mark(if(X1,X2,X3)) > Marked_mark(X2) ; } } === 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 : 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 Sat solver result read === STOPING TIMER real === === STOPING TIMER virtual === constraint: a__if(true,X,Y) >= mark(X) constraint: a__if(false,X,Y) >= mark(Y) constraint: a__if(X1,X2,X3) >= if(X1,X2,X3) constraint: mark(c) >= c constraint: mark(f(X)) >= a__f(mark(X)) constraint: mark(true) >= true constraint: mark(false) >= false constraint: mark(if(X1,X2,X3)) >= a__if(mark(X1),mark(X2),X3) constraint: a__f(X) >= a__if(mark(X),c,f(true)) constraint: a__f(X) >= f(X) constraint: Marked_a__if(true,X,Y) >= Marked_mark(X) constraint: Marked_mark(if(X1,X2,X3)) >= Marked_a__if(mark(X1),mark(X2),X3) constraint: Marked_mark(if(X1,X2,X3)) >= Marked_mark(X1) constraint: Marked_mark(if(X1,X2,X3)) >= Marked_mark(X2) APPLY CRITERIA (Graph splitting) Found 0 components: SOLVED { TRS termination of: [1] a__f(X) -> a__if(mark(X),c,f(true)) [2] a__if(true,X,Y) -> mark(X) [3] a__if(false,X,Y) -> mark(Y) [4] mark(f(X)) -> a__f(mark(X)) [5] mark(if(X1,X2,X3)) -> a__if(mark(X1),mark(X2),X3) [6] mark(c) -> c [7] mark(true) -> true [8] mark(false) -> false [9] a__f(X) -> f(X) [10] a__if(X1,X2,X3) -> if(X1,X2,X3) , CRITERION: MDP [ { DP termination of: , CRITERION: SG [ { DP termination of: , CRITERION: CG using polynomial interpretation = [ a__if ] (X0,X1,X2) = 2*X2 + 2*X1 + 1*X0; [ Marked_a__if ] (X0,X1,X2) = 2*X2 + 2*X1 + 2*X0; [ true ] () = 0; [ c ] () = 0; [ Marked_mark ] (X0) = 2*X0; [ false ] () = 1; [ mark ] (X0) = 1*X0; [ Marked_a__f ] (X0) = 2*X0; [ a__f ] (X0) = 1*X0; [ f ] (X0) = 1*X0; [ if ] (X0,X1,X2) = 2*X2 + 2*X1 + 1*X0; removing [ { DP termination of: , CRITERION: SG [ { DP termination of: , CRITERION: CG using polynomial interpretation = [ a__if ] (X0,X1,X2) = 1*X2 + 2*X1 + 2*X0; [ Marked_a__if ] (X0,X1,X2) = 2*X1; [ true ] () = 0; [ c ] () = 0; [ Marked_mark ] (X0) = 2*X0; [ false ] () = 0; [ mark ] (X0) = 1*X0; [ Marked_a__f ] (X0) = 2*X0; [ a__f ] (X0) = 2*X0 + 2; [ f ] (X0) = 2*X0 + 2; [ if ] (X0,X1,X2) = 1*X2 + 2*X1 + 2*X0; removing [ { DP termination of: , CRITERION: SG [ { DP termination of: , CRITERION: CG using polynomial interpretation = [ a__if ] (X0,X1,X2) = 1*X2*X0 + 1*X1 + 1*X0 + 1; [ Marked_a__if ] (X0,X1,X2) = 1*X2*X0 + 1*X1; [ true ] () = 0; [ c ] () = 0; [ Marked_mark ] (X0) = 1*X0; [ false ] () = 1; [ mark ] (X0) = 1*X0; [ a__f ] (X0) = 2*X0 + 1; [ f ] (X0) = 2*X0 + 1; [ if ] (X0,X1,X2) = 1*X2*X0 + 1*X1 + 1*X0 + 1; removing < Marked_mark(if(X1,X2,X3)),Marked_mark(X1)> [ { DP termination of: , CRITERION: SG [ ]} ]} ]} ]} ]} ]} ]} ]} Cime worked for 0.348758 seconds (real time) Cime Exit Status: 0