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