- : unit = () h : heuristic = - : unit = () APPLY CRITERIA (Marked dependency pairs) TRS termination of: [1] active(f(f(a))) -> mark(f(g(f(a)))) [2] active(f(X)) -> f(active(X)) [3] f(mark(X)) -> mark(f(X)) [4] proper(f(X)) -> f(proper(X)) [5] proper(a) -> ok(a) [6] proper(g(X)) -> g(proper(X)) [7] f(ok(X)) -> ok(f(X)) [8] g(ok(X)) -> ok(g(X)) [9] top(mark(X)) -> top(proper(X)) [10] top(ok(X)) -> top(active(X)) Sub problem: guided: DP termination of: END GUIDED APPLY CRITERIA (Graph splitting) Found 5 components: { --> --> --> --> } { --> --> --> --> } { --> } { --> } { --> --> --> --> } APPLY CRITERIA (Choosing graph) Trying to solve the following constraints: { f(mark(X)) >= mark(f(X)) ; f(ok(X)) >= ok(f(X)) ; g(ok(X)) >= ok(g(X)) ; active(f(f(a))) >= mark(f(g(f(a)))) ; active(f(X)) >= f(active(X)) ; proper(f(X)) >= f(proper(X)) ; proper(g(X)) >= g(proper(X)) ; proper(a) >= ok(a) ; top(mark(X)) >= top(proper(X)) ; top(ok(X)) >= top(active(X)) ; Marked_top(mark(X)) >= Marked_top(proper(X)) ; Marked_top(ok(X)) >= Marked_top(active(X)) ; } + Disjunctions:{ { Marked_top(mark(X)) > Marked_top(proper(X)) ; } { Marked_top(ok(X)) > Marked_top(active(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: f(mark(X)) >= mark(f(X)) constraint: f(ok(X)) >= ok(f(X)) constraint: g(ok(X)) >= ok(g(X)) constraint: active(f(f(a))) >= mark(f(g(f(a)))) constraint: active(f(X)) >= f(active(X)) constraint: proper(f(X)) >= f(proper(X)) constraint: proper(g(X)) >= g(proper(X)) constraint: proper(a) >= ok(a) constraint: top(mark(X)) >= top(proper(X)) constraint: top(ok(X)) >= top(active(X)) constraint: Marked_top(mark(X)) >= Marked_top(proper(X)) constraint: Marked_top(ok(X)) >= Marked_top(active(X)) APPLY CRITERIA (Choosing graph) Trying to solve the following constraints: { f(mark(X)) >= mark(f(X)) ; f(ok(X)) >= ok(f(X)) ; g(ok(X)) >= ok(g(X)) ; active(f(f(a))) >= mark(f(g(f(a)))) ; active(f(X)) >= f(active(X)) ; proper(f(X)) >= f(proper(X)) ; proper(g(X)) >= g(proper(X)) ; proper(a) >= ok(a) ; top(mark(X)) >= top(proper(X)) ; top(ok(X)) >= top(active(X)) ; Marked_proper(f(X)) >= Marked_proper(X) ; Marked_proper(g(X)) >= Marked_proper(X) ; } + Disjunctions:{ { Marked_proper(f(X)) > Marked_proper(X) ; } { Marked_proper(g(X)) > Marked_proper(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: f(mark(X)) >= mark(f(X)) constraint: f(ok(X)) >= ok(f(X)) constraint: g(ok(X)) >= ok(g(X)) constraint: active(f(f(a))) >= mark(f(g(f(a)))) constraint: active(f(X)) >= f(active(X)) constraint: proper(f(X)) >= f(proper(X)) constraint: proper(g(X)) >= g(proper(X)) constraint: proper(a) >= ok(a) constraint: top(mark(X)) >= top(proper(X)) constraint: top(ok(X)) >= top(active(X)) constraint: Marked_proper(f(X)) >= Marked_proper(X) constraint: Marked_proper(g(X)) >= Marked_proper(X) APPLY CRITERIA (Choosing graph) Trying to solve the following constraints: { f(mark(X)) >= mark(f(X)) ; f(ok(X)) >= ok(f(X)) ; g(ok(X)) >= ok(g(X)) ; active(f(f(a))) >= mark(f(g(f(a)))) ; active(f(X)) >= f(active(X)) ; proper(f(X)) >= f(proper(X)) ; proper(g(X)) >= g(proper(X)) ; proper(a) >= ok(a) ; top(mark(X)) >= top(proper(X)) ; top(ok(X)) >= top(active(X)) ; Marked_active(f(X)) >= Marked_active(X) ; } + Disjunctions:{ { Marked_active(f(X)) > Marked_active(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: f(mark(X)) >= mark(f(X)) constraint: f(ok(X)) >= ok(f(X)) constraint: g(ok(X)) >= ok(g(X)) constraint: active(f(f(a))) >= mark(f(g(f(a)))) constraint: active(f(X)) >= f(active(X)) constraint: proper(f(X)) >= f(proper(X)) constraint: proper(g(X)) >= g(proper(X)) constraint: proper(a) >= ok(a) constraint: top(mark(X)) >= top(proper(X)) constraint: top(ok(X)) >= top(active(X)) constraint: Marked_active(f(X)) >= Marked_active(X) APPLY CRITERIA (Choosing graph) Trying to solve the following constraints: { f(mark(X)) >= mark(f(X)) ; f(ok(X)) >= ok(f(X)) ; g(ok(X)) >= ok(g(X)) ; active(f(f(a))) >= mark(f(g(f(a)))) ; active(f(X)) >= f(active(X)) ; proper(f(X)) >= f(proper(X)) ; proper(g(X)) >= g(proper(X)) ; proper(a) >= ok(a) ; top(mark(X)) >= top(proper(X)) ; top(ok(X)) >= top(active(X)) ; Marked_g(ok(X)) >= Marked_g(X) ; } + Disjunctions:{ { Marked_g(ok(X)) > Marked_g(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: f(mark(X)) >= mark(f(X)) constraint: f(ok(X)) >= ok(f(X)) constraint: g(ok(X)) >= ok(g(X)) constraint: active(f(f(a))) >= mark(f(g(f(a)))) constraint: active(f(X)) >= f(active(X)) constraint: proper(f(X)) >= f(proper(X)) constraint: proper(g(X)) >= g(proper(X)) constraint: proper(a) >= ok(a) constraint: top(mark(X)) >= top(proper(X)) constraint: top(ok(X)) >= top(active(X)) constraint: Marked_g(ok(X)) >= Marked_g(X) APPLY CRITERIA (Choosing graph) Trying to solve the following constraints: { f(mark(X)) >= mark(f(X)) ; f(ok(X)) >= ok(f(X)) ; g(ok(X)) >= ok(g(X)) ; active(f(f(a))) >= mark(f(g(f(a)))) ; active(f(X)) >= f(active(X)) ; proper(f(X)) >= f(proper(X)) ; proper(g(X)) >= g(proper(X)) ; proper(a) >= ok(a) ; top(mark(X)) >= top(proper(X)) ; top(ok(X)) >= top(active(X)) ; Marked_f(mark(X)) >= Marked_f(X) ; Marked_f(ok(X)) >= Marked_f(X) ; } + Disjunctions:{ { Marked_f(mark(X)) > Marked_f(X) ; } { Marked_f(ok(X)) > Marked_f(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: f(mark(X)) >= mark(f(X)) constraint: f(ok(X)) >= ok(f(X)) constraint: g(ok(X)) >= ok(g(X)) constraint: active(f(f(a))) >= mark(f(g(f(a)))) constraint: active(f(X)) >= f(active(X)) constraint: proper(f(X)) >= f(proper(X)) constraint: proper(g(X)) >= g(proper(X)) constraint: proper(a) >= ok(a) constraint: top(mark(X)) >= top(proper(X)) constraint: top(ok(X)) >= top(active(X)) constraint: Marked_f(mark(X)) >= Marked_f(X) constraint: Marked_f(ok(X)) >= Marked_f(X) APPLY CRITERIA (Graph splitting) Found 1 components: { --> } APPLY CRITERIA (Choosing graph) Trying to solve the following constraints: { f(mark(X)) >= mark(f(X)) ; f(ok(X)) >= ok(f(X)) ; g(ok(X)) >= ok(g(X)) ; active(f(f(a))) >= mark(f(g(f(a)))) ; active(f(X)) >= f(active(X)) ; proper(f(X)) >= f(proper(X)) ; proper(g(X)) >= g(proper(X)) ; proper(a) >= ok(a) ; top(mark(X)) >= top(proper(X)) ; top(ok(X)) >= top(active(X)) ; Marked_top(ok(X)) >= Marked_top(active(X)) ; } + Disjunctions:{ { Marked_top(ok(X)) > Marked_top(active(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: f(mark(X)) >= mark(f(X)) constraint: f(ok(X)) >= ok(f(X)) constraint: g(ok(X)) >= ok(g(X)) constraint: active(f(f(a))) >= mark(f(g(f(a)))) constraint: active(f(X)) >= f(active(X)) constraint: proper(f(X)) >= f(proper(X)) constraint: proper(g(X)) >= g(proper(X)) constraint: proper(a) >= ok(a) constraint: top(mark(X)) >= top(proper(X)) constraint: top(ok(X)) >= top(active(X)) constraint: Marked_top(ok(X)) >= Marked_top(active(X)) APPLY CRITERIA (Graph splitting) Found 0 components: APPLY CRITERIA (Graph splitting) Found 1 components: { --> } APPLY CRITERIA (Choosing graph) Trying to solve the following constraints: { f(mark(X)) >= mark(f(X)) ; f(ok(X)) >= ok(f(X)) ; g(ok(X)) >= ok(g(X)) ; active(f(f(a))) >= mark(f(g(f(a)))) ; active(f(X)) >= f(active(X)) ; proper(f(X)) >= f(proper(X)) ; proper(g(X)) >= g(proper(X)) ; proper(a) >= ok(a) ; top(mark(X)) >= top(proper(X)) ; top(ok(X)) >= top(active(X)) ; Marked_proper(f(X)) >= Marked_proper(X) ; } + Disjunctions:{ { Marked_proper(f(X)) > Marked_proper(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: f(mark(X)) >= mark(f(X)) constraint: f(ok(X)) >= ok(f(X)) constraint: g(ok(X)) >= ok(g(X)) constraint: active(f(f(a))) >= mark(f(g(f(a)))) constraint: active(f(X)) >= f(active(X)) constraint: proper(f(X)) >= f(proper(X)) constraint: proper(g(X)) >= g(proper(X)) constraint: proper(a) >= ok(a) constraint: top(mark(X)) >= top(proper(X)) constraint: top(ok(X)) >= top(active(X)) constraint: Marked_proper(f(X)) >= Marked_proper(X) APPLY CRITERIA (Graph splitting) Found 0 components: APPLY CRITERIA (Graph splitting) Found 0 components: APPLY CRITERIA (Graph splitting) Found 0 components: APPLY CRITERIA (Graph splitting) Found 1 components: { --> } APPLY CRITERIA (Choosing graph) Trying to solve the following constraints: { f(mark(X)) >= mark(f(X)) ; f(ok(X)) >= ok(f(X)) ; g(ok(X)) >= ok(g(X)) ; active(f(f(a))) >= mark(f(g(f(a)))) ; active(f(X)) >= f(active(X)) ; proper(f(X)) >= f(proper(X)) ; proper(g(X)) >= g(proper(X)) ; proper(a) >= ok(a) ; top(mark(X)) >= top(proper(X)) ; top(ok(X)) >= top(active(X)) ; Marked_f(ok(X)) >= Marked_f(X) ; } + Disjunctions:{ { Marked_f(ok(X)) > Marked_f(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: f(mark(X)) >= mark(f(X)) constraint: f(ok(X)) >= ok(f(X)) constraint: g(ok(X)) >= ok(g(X)) constraint: active(f(f(a))) >= mark(f(g(f(a)))) constraint: active(f(X)) >= f(active(X)) constraint: proper(f(X)) >= f(proper(X)) constraint: proper(g(X)) >= g(proper(X)) constraint: proper(a) >= ok(a) constraint: top(mark(X)) >= top(proper(X)) constraint: top(ok(X)) >= top(active(X)) constraint: Marked_f(ok(X)) >= Marked_f(X) APPLY CRITERIA (Graph splitting) Found 0 components: SOLVED { TRS termination of: [1] active(f(f(a))) -> mark(f(g(f(a)))) [2] active(f(X)) -> f(active(X)) [3] f(mark(X)) -> mark(f(X)) [4] proper(f(X)) -> f(proper(X)) [5] proper(a) -> ok(a) [6] proper(g(X)) -> g(proper(X)) [7] f(ok(X)) -> ok(f(X)) [8] g(ok(X)) -> ok(g(X)) [9] top(mark(X)) -> top(proper(X)) [10] top(ok(X)) -> top(active(X)) , CRITERION: MDP [ { DP termination of: , CRITERION: SG [ { DP termination of: , CRITERION: CG using polynomial interpretation = [ mark ] (X0) = 2*X0 + 1; [ Marked_top ] (X0) = 2*X0; [ active ] (X0) = 1*X0; [ g ] (X0) = 0; [ ok ] (X0) = 1*X0; [ f ] (X0) = 2*X0; [ proper ] (X0) = 1*X0; [ a ] () = 2; [ top ] (X0) = 1*X0; removing [ { DP termination of: , CRITERION: SG [ { DP termination of: , CRITERION: ORD [ Solution found: polynomial interpretation = [ mark ] (X0) = 0; [ Marked_top ] (X0) = 2*X0 + 0; [ active ] (X0) = 0; [ g ] (X0) = 2 + 1*X0 + 0; [ ok ] (X0) = 3 + 0; [ f ] (X0) = 3*X0 + 0; [ proper ] (X0) = 2*X0 + 0; [ a ] () = 2 + 0; [ top ] (X0) = 0; ]} ]} ]} { DP termination of: , CRITERION: CG using polynomial interpretation = [ mark ] (X0) = 0; [ active ] (X0) = 0; [ g ] (X0) = 2*X0 + 2; [ Marked_proper ] (X0) = 3*X0; [ ok ] (X0) = 0; [ f ] (X0) = 2*X0; [ proper ] (X0) = 1*X0; [ a ] () = 0; [ top ] (X0) = 0; removing [ { DP termination of: , CRITERION: SG [ { DP termination of: , CRITERION: ORD [ Solution found: polynomial interpretation = [ mark ] (X0) = 0; [ active ] (X0) = 2 + 3*X0 + 0; [ g ] (X0) = 1 + 2*X0 + 0; [ Marked_proper ] (X0) = 3*X0 + 0; [ ok ] (X0) = 2 + 0; [ f ] (X0) = 2 + 2*X0 + 0; [ proper ] (X0) = 2 + 3*X0 + 0; [ a ] () = 0; [ top ] (X0) = 0; ]} ]} ]} { DP termination of: , CRITERION: ORD [ Solution found: polynomial interpretation = [ mark ] (X0) = 2 + 0; [ active ] (X0) = 1*X0 + 0; [ g ] (X0) = 0; [ ok ] (X0) = 0; [ f ] (X0) = 2 + 2*X0 + 0; [ Marked_active ] (X0) = 3*X0 + 0; [ proper ] (X0) = 1*X0 + 0; [ a ] () = 1 + 0; [ top ] (X0) = 0; ]} { DP termination of: , CRITERION: ORD [ Solution found: polynomial interpretation = [ mark ] (X0) = 2 + 2*X0 + 0; [ active ] (X0) = 3*X0 + 0; [ g ] (X0) = 1*X0 + 0; [ ok ] (X0) = 2 + 1*X0 + 0; [ f ] (X0) = 2*X0 + 0; [ proper ] (X0) = 2*X0 + 0; [ a ] () = 3 + 0; [ Marked_g ] (X0) = 3*X0 + 0; [ top ] (X0) = 0; ]} { DP termination of: , CRITERION: CG using polynomial interpretation = [ mark ] (X0) = 2*X0 + 2; [ active ] (X0) = 2*X0; [ Marked_f ] (X0) = 3*X0; [ g ] (X0) = 0; [ ok ] (X0) = 1*X0; [ f ] (X0) = 2*X0 + 2; [ proper ] (X0) = 2*X0; [ a ] () = 0; [ top ] (X0) = 0; removing [ { DP termination of: , CRITERION: SG [ { DP termination of: , CRITERION: ORD [ Solution found: polynomial interpretation = [ mark ] (X0) = 0; [ active ] (X0) = 1*X0 + 0; [ Marked_f ] (X0) = 3*X0 + 0; [ g ] (X0) = 1*X0 + 0; [ ok ] (X0) = 1 + 1*X0 + 0; [ f ] (X0) = 2 + 2*X0 + 0; [ proper ] (X0) = 2*X0 + 0; [ a ] () = 1 + 0; [ top ] (X0) = 0; ]} ]} ]} ]} ]} Cime worked for 0.397412 seconds (real time) Cime Exit Status: 0