- : unit = () - : unit = () h : heuristic = - : unit = () APPLY CRITERIA (Marked dependency pairs) TRS termination of: [1] app(app(lt,app(s,x)),app(s,y)) -> app(app(lt,x),y) [2] app(app(lt,0),app(s,y)) -> true [3] app(app(lt,y),0) -> false [4] app(app(eq,x),x) -> true [5] app(app(eq,app(s,x)),0) -> false [6] app(app(eq,0),app(s,x)) -> false [7] app(app(member,w),null) -> false [8] app(app(member,w),app(app(app(fork,x),y),z)) -> app(app(app(if,app(app(lt,w),y)),app(app(member,w),x)), app(app(app(if,app(app(eq,w),y)),true),app(app(member,w),z))) 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: { app(app(lt,app(s,x)),app(s,y)) >= app(app(lt,x),y) ; app(app(lt,0),app(s,y)) >= true ; app(app(lt,y),0) >= false ; app(app(eq,app(s,x)),0) >= false ; app(app(eq,0),app(s,x)) >= false ; app(app(eq,x),x) >= true ; app(app(member,w),app(app(app(fork,x),y),z)) >= app(app(app(if, app(app(lt,w),y)), app(app(member,w),x)), app(app(app(if, app(app(eq,w),y)), true), app(app(member,w),z))) ; app(app(member,w),null) >= false ; Marked_app(app(lt,app(s,x)),app(s,y)) >= Marked_app(app(lt,x),y) ; Marked_app(app(member,w),app(app(app(fork,x),y),z)) >= Marked_app(app( app( if, app( app( lt, w), y)), app( app( member, w), x)), app(app(app( if, app( app( eq, w), y)), true), app(app(member,w),z))) ; Marked_app(app(member,w),app(app(app(fork,x),y),z)) >= Marked_app(app( app( if, app( app( eq, w), y)), true), app(app(member,w),z)) ; Marked_app(app(member,w),app(app(app(fork,x),y),z)) >= Marked_app(app(lt,w), y) ; Marked_app(app(member,w),app(app(app(fork,x),y),z)) >= Marked_app(app(eq,w), y) ; Marked_app(app(member,w),app(app(app(fork,x),y),z)) >= Marked_app(app( member, w), x) ; Marked_app(app(member,w),app(app(app(fork,x),y),z)) >= Marked_app(app( member, w), z) ; Marked_app(app(member,w),app(app(app(fork,x),y),z)) >= Marked_app(app( if, app( app( lt, w), y)), app(app(member,w),x)) ; } + Disjunctions:{ { Marked_app(app(lt,app(s,x)),app(s,y)) > Marked_app(app(lt,x),y) ; } { Marked_app(app(member,w),app(app(app(fork,x),y),z)) > Marked_app(app( app( if, app( app( lt, w), y)), app( app( member, w), x)), app(app(app( if, app( app(eq,w), y)), true), app(app(member,w),z))) ; } { Marked_app(app(member,w),app(app(app(fork,x),y),z)) > Marked_app(app( app( if, app( app( eq, w), y)), true), app(app(member,w),z)) ; } { Marked_app(app(member,w),app(app(app(fork,x),y),z)) > Marked_app(app(lt,w),y) ; } { Marked_app(app(member,w),app(app(app(fork,x),y),z)) > Marked_app(app(eq,w),y) ; } { Marked_app(app(member,w),app(app(app(fork,x),y),z)) > Marked_app(app( member, w), x) ; } { Marked_app(app(member,w),app(app(app(fork,x),y),z)) > Marked_app(app( member, w), z) ; } { Marked_app(app(member,w),app(app(app(fork,x),y),z)) > Marked_app(app( if, app( app( lt, w), y)), app(app(member,w),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: app(app(lt,app(s,x)),app(s,y)) >= app(app(lt,x),y) constraint: app(app(lt,0),app(s,y)) >= true constraint: app(app(lt,y),0) >= false constraint: app(app(eq,app(s,x)),0) >= false constraint: app(app(eq,0),app(s,x)) >= false constraint: app(app(eq,x),x) >= true constraint: app(app(member,w),app(app(app(fork,x),y),z)) >= app(app(app( if, app( app( lt, w), y)), app( app( member, w), x)), app(app( app( if, app( app( eq, w), y)), true), app(app(member,w), z))) constraint: app(app(member,w),null) >= false constraint: Marked_app(app(lt,app(s,x)),app(s,y)) >= Marked_app(app(lt,x),y) constraint: Marked_app(app(member,w),app(app(app(fork,x),y),z)) >= Marked_app( app( app( if, app( app( lt, w), y)), app( app( member, w), x)), app( app( app( if, app( app( eq, w), y)), true), app( app( member, w), z))) constraint: Marked_app(app(member,w),app(app(app(fork,x),y),z)) >= Marked_app( app( app( if, app( app( eq, w), y)), true), app( app( member, w), z)) constraint: Marked_app(app(member,w),app(app(app(fork,x),y),z)) >= Marked_app( app( lt, w), y) constraint: Marked_app(app(member,w),app(app(app(fork,x),y),z)) >= Marked_app( app( eq, w), y) constraint: Marked_app(app(member,w),app(app(app(fork,x),y),z)) >= Marked_app( app( member, w), x) constraint: Marked_app(app(member,w),app(app(app(fork,x),y),z)) >= Marked_app( app( member, w), z) constraint: Marked_app(app(member,w),app(app(app(fork,x),y),z)) >= Marked_app( app( if, app( app( lt, w), y)), app( app( member, w), x)) APPLY CRITERIA (Graph splitting) Found 1 components: { --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> } APPLY CRITERIA (Subterm criterion) APPLY CRITERIA (Choosing graph) Trying to solve the following constraints: { app(app(lt,app(s,x)),app(s,y)) >= app(app(lt,x),y) ; app(app(lt,0),app(s,y)) >= true ; app(app(lt,y),0) >= false ; app(app(eq,app(s,x)),0) >= false ; app(app(eq,0),app(s,x)) >= false ; app(app(eq,x),x) >= true ; app(app(member,w),app(app(app(fork,x),y),z)) >= app(app(app(if, app(app(lt,w),y)), app(app(member,w),x)), app(app(app(if, app(app(eq,w),y)), true), app(app(member,w),z))) ; app(app(member,w),null) >= false ; Marked_app(app(lt,app(s,x)),app(s,y)) >= Marked_app(app(lt,x),y) ; Marked_app(app(member,w),app(app(app(fork,x),y),z)) >= Marked_app(app( app( if, app( app( lt, w), y)), app( app( member, w), x)), app(app(app( if, app( app( eq, w), y)), true), app(app(member,w),z))) ; Marked_app(app(member,w),app(app(app(fork,x),y),z)) >= Marked_app(app( app( if, app( app( eq, w), y)), true), app(app(member,w),z)) ; Marked_app(app(member,w),app(app(app(fork,x),y),z)) >= Marked_app(app(lt,w), y) ; Marked_app(app(member,w),app(app(app(fork,x),y),z)) >= Marked_app(app(eq,w), y) ; Marked_app(app(member,w),app(app(app(fork,x),y),z)) >= Marked_app(app( member, w), x) ; Marked_app(app(member,w),app(app(app(fork,x),y),z)) >= Marked_app(app( member, w), z) ; } + Disjunctions:{ { Marked_app(app(lt,app(s,x)),app(s,y)) > Marked_app(app(lt,x),y) ; } { Marked_app(app(member,w),app(app(app(fork,x),y),z)) > Marked_app(app( app( if, app( app( lt, w), y)), app( app( member, w), x)), app(app(app( if, app( app(eq,w), y)), true), app(app(member,w),z))) ; } { Marked_app(app(member,w),app(app(app(fork,x),y),z)) > Marked_app(app( app( if, app( app( eq, w), y)), true), app(app(member,w),z)) ; } { Marked_app(app(member,w),app(app(app(fork,x),y),z)) > Marked_app(app(lt,w),y) ; } { Marked_app(app(member,w),app(app(app(fork,x),y),z)) > Marked_app(app(eq,w),y) ; } { Marked_app(app(member,w),app(app(app(fork,x),y),z)) > Marked_app(app( member, w), x) ; } { Marked_app(app(member,w),app(app(app(fork,x),y),z)) > Marked_app(app( member, w), 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: app(app(lt,app(s,x)),app(s,y)) >= app(app(lt,x),y) constraint: app(app(lt,0),app(s,y)) >= true constraint: app(app(lt,y),0) >= false constraint: app(app(eq,app(s,x)),0) >= false constraint: app(app(eq,0),app(s,x)) >= false constraint: app(app(eq,x),x) >= true constraint: app(app(member,w),app(app(app(fork,x),y),z)) >= app(app(app( if, app( app( lt, w), y)), app( app( member, w), x)), app(app( app( if, app( app( eq, w), y)), true), app(app(member,w), z))) constraint: app(app(member,w),null) >= false constraint: Marked_app(app(lt,app(s,x)),app(s,y)) >= Marked_app(app(lt,x),y) constraint: Marked_app(app(member,w),app(app(app(fork,x),y),z)) >= Marked_app( app( app( if, app( app( lt, w), y)), app( app( member, w), x)), app( app( app( if, app( app( eq, w), y)), true), app( app( member, w), z))) constraint: Marked_app(app(member,w),app(app(app(fork,x),y),z)) >= Marked_app( app( app( if, app( app( eq, w), y)), true), app( app( member, w), z)) constraint: Marked_app(app(member,w),app(app(app(fork,x),y),z)) >= Marked_app( app( lt, w), y) constraint: Marked_app(app(member,w),app(app(app(fork,x),y),z)) >= Marked_app( app( eq, w), y) constraint: Marked_app(app(member,w),app(app(app(fork,x),y),z)) >= Marked_app( app( member, w), x) constraint: Marked_app(app(member,w),app(app(app(fork,x),y),z)) >= Marked_app( app( member, w), z) APPLY CRITERIA (Graph splitting) Found 1 components: { --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> } APPLY CRITERIA (Subterm criterion) APPLY CRITERIA (Choosing graph) Trying to solve the following constraints: { app(app(lt,app(s,x)),app(s,y)) >= app(app(lt,x),y) ; app(app(lt,0),app(s,y)) >= true ; app(app(lt,y),0) >= false ; app(app(eq,app(s,x)),0) >= false ; app(app(eq,0),app(s,x)) >= false ; app(app(eq,x),x) >= true ; app(app(member,w),app(app(app(fork,x),y),z)) >= app(app(app(if, app(app(lt,w),y)), app(app(member,w),x)), app(app(app(if, app(app(eq,w),y)), true), app(app(member,w),z))) ; app(app(member,w),null) >= false ; Marked_app(app(lt,app(s,x)),app(s,y)) >= Marked_app(app(lt,x),y) ; Marked_app(app(member,w),app(app(app(fork,x),y),z)) >= Marked_app(app( app( if, app( app( lt, w), y)), app( app( member, w), x)), app(app(app( if, app( app( eq, w), y)), true), app(app(member,w),z))) ; Marked_app(app(member,w),app(app(app(fork,x),y),z)) >= Marked_app(app( app( if, app( app( eq, w), y)), true), app(app(member,w),z)) ; Marked_app(app(member,w),app(app(app(fork,x),y),z)) >= Marked_app(app(lt,w), y) ; Marked_app(app(member,w),app(app(app(fork,x),y),z)) >= Marked_app(app( member, w), x) ; Marked_app(app(member,w),app(app(app(fork,x),y),z)) >= Marked_app(app( member, w), z) ; } + Disjunctions:{ { Marked_app(app(lt,app(s,x)),app(s,y)) > Marked_app(app(lt,x),y) ; } { Marked_app(app(member,w),app(app(app(fork,x),y),z)) > Marked_app(app( app( if, app( app( lt, w), y)), app( app( member, w), x)), app(app(app( if, app( app(eq,w), y)), true), app(app(member,w),z))) ; } { Marked_app(app(member,w),app(app(app(fork,x),y),z)) > Marked_app(app( app( if, app( app( eq, w), y)), true), app(app(member,w),z)) ; } { Marked_app(app(member,w),app(app(app(fork,x),y),z)) > Marked_app(app(lt,w),y) ; } { Marked_app(app(member,w),app(app(app(fork,x),y),z)) > Marked_app(app( member, w), x) ; } { Marked_app(app(member,w),app(app(app(fork,x),y),z)) > Marked_app(app( member, w), 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: app(app(lt,app(s,x)),app(s,y)) >= app(app(lt,x),y) constraint: app(app(lt,0),app(s,y)) >= true constraint: app(app(lt,y),0) >= false constraint: app(app(eq,app(s,x)),0) >= false constraint: app(app(eq,0),app(s,x)) >= false constraint: app(app(eq,x),x) >= true constraint: app(app(member,w),app(app(app(fork,x),y),z)) >= app(app(app( if, app( app( lt, w), y)), app( app( member, w), x)), app(app( app( if, app( app( eq, w), y)), true), app(app(member,w), z))) constraint: app(app(member,w),null) >= false constraint: Marked_app(app(lt,app(s,x)),app(s,y)) >= Marked_app(app(lt,x),y) constraint: Marked_app(app(member,w),app(app(app(fork,x),y),z)) >= Marked_app( app( app( if, app( app( lt, w), y)), app( app( member, w), x)), app( app( app( if, app( app( eq, w), y)), true), app( app( member, w), z))) constraint: Marked_app(app(member,w),app(app(app(fork,x),y),z)) >= Marked_app( app( app( if, app( app( eq, w), y)), true), app( app( member, w), z)) constraint: Marked_app(app(member,w),app(app(app(fork,x),y),z)) >= Marked_app( app( lt, w), y) constraint: Marked_app(app(member,w),app(app(app(fork,x),y),z)) >= Marked_app( app( member, w), x) constraint: Marked_app(app(member,w),app(app(app(fork,x),y),z)) >= Marked_app( app( member, w), z) APPLY CRITERIA (Graph splitting) Found 1 components: { --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> --> } APPLY CRITERIA (Subterm criterion) APPLY CRITERIA (Choosing graph) Trying to solve the following constraints: { app(app(lt,app(s,x)),app(s,y)) >= app(app(lt,x),y) ; app(app(lt,0),app(s,y)) >= true ; app(app(lt,y),0) >= false ; app(app(eq,app(s,x)),0) >= false ; app(app(eq,0),app(s,x)) >= false ; app(app(eq,x),x) >= true ; app(app(member,w),app(app(app(fork,x),y),z)) >= app(app(app(if, app(app(lt,w),y)), app(app(member,w),x)), app(app(app(if, app(app(eq,w),y)), true), app(app(member,w),z))) ; app(app(member,w),null) >= false ; Marked_app(app(lt,app(s,x)),app(s,y)) >= Marked_app(app(lt,x),y) ; Marked_app(app(member,w),app(app(app(fork,x),y),z)) >= Marked_app(app( app( if, app( app( lt, w), y)), app( app( member, w), x)), app(app(app( if, app( app( eq, w), y)), true), app(app(member,w),z))) ; Marked_app(app(member,w),app(app(app(fork,x),y),z)) >= Marked_app(app( app( if, app( app( eq, w), y)), true), app(app(member,w),z)) ; Marked_app(app(member,w),app(app(app(fork,x),y),z)) >= Marked_app(app( member, w), x) ; Marked_app(app(member,w),app(app(app(fork,x),y),z)) >= Marked_app(app( member, w), z) ; } + Disjunctions:{ { Marked_app(app(lt,app(s,x)),app(s,y)) > Marked_app(app(lt,x),y) ; } { Marked_app(app(member,w),app(app(app(fork,x),y),z)) > Marked_app(app( app( if, app( app( lt, w), y)), app( app( member, w), x)), app(app(app( if, app( app(eq,w), y)), true), app(app(member,w),z))) ; } { Marked_app(app(member,w),app(app(app(fork,x),y),z)) > Marked_app(app( app( if, app( app( eq, w), y)), true), app(app(member,w),z)) ; } { Marked_app(app(member,w),app(app(app(fork,x),y),z)) > Marked_app(app( member, w), x) ; } { Marked_app(app(member,w),app(app(app(fork,x),y),z)) > Marked_app(app( member, w), 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: app(app(lt,app(s,x)),app(s,y)) >= app(app(lt,x),y) constraint: app(app(lt,0),app(s,y)) >= true constraint: app(app(lt,y),0) >= false constraint: app(app(eq,app(s,x)),0) >= false constraint: app(app(eq,0),app(s,x)) >= false constraint: app(app(eq,x),x) >= true constraint: app(app(member,w),app(app(app(fork,x),y),z)) >= app(app(app( if, app( app( lt, w), y)), app( app( member, w), x)), app(app( app( if, app( app( eq, w), y)), true), app(app(member,w), z))) constraint: app(app(member,w),null) >= false constraint: Marked_app(app(lt,app(s,x)),app(s,y)) >= Marked_app(app(lt,x),y) constraint: Marked_app(app(member,w),app(app(app(fork,x),y),z)) >= Marked_app( app( app( if, app( app( lt, w), y)), app( app( member, w), x)), app( app( app( if, app( app( eq, w), y)), true), app( app( member, w), z))) constraint: Marked_app(app(member,w),app(app(app(fork,x),y),z)) >= Marked_app( app( app( if, app( app( eq, w), y)), true), app( app( member, w), z)) constraint: Marked_app(app(member,w),app(app(app(fork,x),y),z)) >= Marked_app( app( member, w), x) constraint: Marked_app(app(member,w),app(app(app(fork,x),y),z)) >= Marked_app( app( member, w), z) APPLY CRITERIA (Graph splitting) Found 1 components: { --> --> --> --> --> --> --> --> --> } APPLY CRITERIA (Subterm criterion) ST: Marked_app -> 2 APPLY CRITERIA (Graph splitting) Found 0 components: SOLVED { TRS termination of: [1] app(app(lt,app(s,x)),app(s,y)) -> app(app(lt,x),y) [2] app(app(lt,0),app(s,y)) -> true [3] app(app(lt,y),0) -> false [4] app(app(eq,x),x) -> true [5] app(app(eq,app(s,x)),0) -> false [6] app(app(eq,0),app(s,x)) -> false [7] app(app(member,w),null) -> false [8] app(app(member,w),app(app(app(fork,x),y),z)) -> app(app(app(if,app(app(lt,w),y)),app(app(member,w),x)), app(app(app(if,app(app(eq,w),y)),true),app(app(member,w),z))) , CRITERION: MDP [ { DP termination of: , CRITERION: SG [ { DP termination of: , CRITERION: CG using polynomial interpretation = [ app ] (X0,X1) = 2*X0 + 1; [ null ] () = 3; [ 0 ] () = 0; [ s ] () = 0; [ fork ] () = 0; [ eq ] () = 1; [ lt ] () = 1; [ if ] () = 0; [ false ] () = 3; [ true ] () = 0; [ Marked_app ] (X0,X1) = 1*X0; [ member ] () = 1; removing [ { DP termination of: , CRITERION: SG [ { DP termination of: , CRITERION: CG using polynomial interpretation = [ app ] (X0,X1) = 1*X0 + 1; [ null ] () = 3; [ 0 ] () = 0; [ s ] () = 0; [ fork ] () = 0; [ eq ] () = 0; [ lt ] () = 1; [ if ] () = 0; [ false ] () = 2; [ true ] () = 0; [ Marked_app ] (X0,X1) = 1*X0; [ member ] () = 1; removing [ { DP termination of: , CRITERION: SG [ { DP termination of: , CRITERION: CG using polynomial interpretation = [ app ] (X0,X1) = 1*X0; [ null ] () = 3; [ 0 ] () = 0; [ s ] () = 0; [ fork ] () = 0; [ eq ] () = 0; [ lt ] () = 0; [ if ] () = 1; [ false ] () = 0; [ true ] () = 0; [ Marked_app ] (X0,X1) = 1*X0; [ member ] () = 1; removing [ { DP termination of: , CRITERION: SG [ { DP termination of: , CRITERION: CG using polynomial interpretation = [ app ] (X0,X1) = 2*X0 + 2; [ null ] () = 3; [ 0 ] () = 3; [ s ] () = 0; [ fork ] () = 0; [ eq ] () = 0; [ lt ] () = 0; [ if ] () = 0; [ false ] () = 3; [ true ] () = 0; [ Marked_app ] (X0,X1) = 3*X0; [ member ] () = 3; removing < Marked_app(app(member,w),app(app(app(fork,x),y),z)),Marked_app(app(app( if, app( app( eq, w), y)), true), app(app(member,w),z))> [ { DP termination of: , CRITERION: SG [ { DP termination of: , CRITERION: ST [ { DP termination of: , CRITERION: SG [ ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} ]} Cime worked for 1.801600 seconds (real time) Cime Exit Status: 0