- : unit = () h : heuristic = - : unit = () APPLY CRITERIA (Marked dependency pairs) TRS termination of: [1] not(x) -> xor(x,true) [2] or(x,y) -> xor(and(x,y),xor(x,y)) [3] implies(x,y) -> xor(and(x,y),xor(x,true)) [4] and(x,true) -> x [5] and(x,false) -> false [6] and(x,x) -> x [7] xor(x,false) -> x [8] xor(x,x) -> false [9] and(xor(x,y),z) -> xor(and(x,z),and(y,z)) Sub problem: guided: DP termination of: END GUIDED APPLY CRITERIA (Graph splitting) Found 1 components: { --> --> --> --> } APPLY CRITERIA (Choosing graph) Trying to solve the following constraints: { xor(x,false) >= x ; xor(x,x) >= false ; not(x) >= xor(x,true) ; and(xor(x,y),z) >= xor(and(x,z),and(y,z)) ; and(x,true) >= x ; and(x,false) >= false ; and(x,x) >= x ; or(x,y) >= xor(and(x,y),xor(x,y)) ; implies(x,y) >= xor(and(x,y),xor(x,true)) ; Marked_and(xor(x,y),z) >= Marked_and(x,z) ; Marked_and(xor(x,y),z) >= Marked_and(y,z) ; } + Disjunctions:{ { Marked_and(xor(x,y),z) > Marked_and(x,z) ; } { Marked_and(xor(x,y),z) > Marked_and(y,z) ; } } === 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: xor(x,false) >= x constraint: xor(x,x) >= false constraint: not(x) >= xor(x,true) constraint: and(xor(x,y),z) >= xor(and(x,z),and(y,z)) constraint: and(x,true) >= x constraint: and(x,false) >= false constraint: and(x,x) >= x constraint: or(x,y) >= xor(and(x,y),xor(x,y)) constraint: implies(x,y) >= xor(and(x,y),xor(x,true)) constraint: Marked_and(xor(x,y),z) >= Marked_and(x,z) constraint: Marked_and(xor(x,y),z) >= Marked_and(y,z) APPLY CRITERIA (Graph splitting) Found 0 components: SOLVED { TRS termination of: [1] not(x) -> xor(x,true) [2] or(x,y) -> xor(and(x,y),xor(x,y)) [3] implies(x,y) -> xor(and(x,y),xor(x,true)) [4] and(x,true) -> x [5] and(x,false) -> false [6] and(x,x) -> x [7] xor(x,false) -> x [8] xor(x,x) -> false [9] and(xor(x,y),z) -> xor(and(x,z),and(y,z)) , CRITERION: MDP [ { DP termination of: , CRITERION: SG [ { DP termination of: , CRITERION: ORD [ Solution found: polynomial interpretation = [ xor ] (X0,X1) = 1 + 1*X0 + 1*X1 + 0; [ or ] (X0,X1) = 3 + 3*X0 + 3*X1 + 0; [ not ] (X0) = 1 + 1*X0 + 0; [ false ] () = 1 + 0; [ true ] () = 0; [ implies ] (X0,X1) = 3 + 3*X0 + 1*X1 + 0; [ and ] (X0,X1) = 1 + 2*X0 + 0; [ Marked_and ] (X0,X1) = 3*X0 + 0; ]} ]} ]} Cime worked for 0.030549 seconds (real time) Cime Exit Status: 0