YES Problem 1: (VAR v_NonEmpty:S X:S X1:S X2:S X3:S Y:S) (RULES active(f(X:S,g(X:S),Y:S)) -> mark(f(Y:S,Y:S,Y:S)) active(g(b)) -> mark(c) active(b) -> mark(c) f(active(X1:S),X2:S,X3:S) -> f(X1:S,X2:S,X3:S) f(mark(X1:S),X2:S,X3:S) -> f(X1:S,X2:S,X3:S) f(X1:S,active(X2:S),X3:S) -> f(X1:S,X2:S,X3:S) f(X1:S,mark(X2:S),X3:S) -> f(X1:S,X2:S,X3:S) f(X1:S,X2:S,active(X3:S)) -> f(X1:S,X2:S,X3:S) f(X1:S,X2:S,mark(X3:S)) -> f(X1:S,X2:S,X3:S) g(active(X:S)) -> g(X:S) g(mark(X:S)) -> g(X:S) mark(f(X1:S,X2:S,X3:S)) -> active(f(X1:S,X2:S,X3:S)) mark(g(X:S)) -> active(g(mark(X:S))) mark(b) -> active(b) mark(c) -> active(c) ) (STRATEGY INNERMOST) Problem 1: Dependency Pairs Processor: -> Pairs: ACTIVE(f(X:S,g(X:S),Y:S)) -> F(Y:S,Y:S,Y:S) ACTIVE(f(X:S,g(X:S),Y:S)) -> MARK(f(Y:S,Y:S,Y:S)) ACTIVE(g(b)) -> MARK(c) ACTIVE(b) -> MARK(c) F(active(X1:S),X2:S,X3:S) -> F(X1:S,X2:S,X3:S) F(mark(X1:S),X2:S,X3:S) -> F(X1:S,X2:S,X3:S) F(X1:S,active(X2:S),X3:S) -> F(X1:S,X2:S,X3:S) F(X1:S,mark(X2:S),X3:S) -> F(X1:S,X2:S,X3:S) F(X1:S,X2:S,active(X3:S)) -> F(X1:S,X2:S,X3:S) F(X1:S,X2:S,mark(X3:S)) -> F(X1:S,X2:S,X3:S) G(active(X:S)) -> G(X:S) G(mark(X:S)) -> G(X:S) MARK(f(X1:S,X2:S,X3:S)) -> ACTIVE(f(X1:S,X2:S,X3:S)) MARK(g(X:S)) -> ACTIVE(g(mark(X:S))) MARK(g(X:S)) -> G(mark(X:S)) MARK(g(X:S)) -> MARK(X:S) MARK(b) -> ACTIVE(b) -> Rules: active(f(X:S,g(X:S),Y:S)) -> mark(f(Y:S,Y:S,Y:S)) active(g(b)) -> mark(c) active(b) -> mark(c) f(active(X1:S),X2:S,X3:S) -> f(X1:S,X2:S,X3:S) f(mark(X1:S),X2:S,X3:S) -> f(X1:S,X2:S,X3:S) f(X1:S,active(X2:S),X3:S) -> f(X1:S,X2:S,X3:S) f(X1:S,mark(X2:S),X3:S) -> f(X1:S,X2:S,X3:S) f(X1:S,X2:S,active(X3:S)) -> f(X1:S,X2:S,X3:S) f(X1:S,X2:S,mark(X3:S)) -> f(X1:S,X2:S,X3:S) g(active(X:S)) -> g(X:S) g(mark(X:S)) -> g(X:S) mark(f(X1:S,X2:S,X3:S)) -> active(f(X1:S,X2:S,X3:S)) mark(g(X:S)) -> active(g(mark(X:S))) mark(b) -> active(b) mark(c) -> active(c) Problem 1: SCC Processor: -> Pairs: ACTIVE(f(X:S,g(X:S),Y:S)) -> F(Y:S,Y:S,Y:S) ACTIVE(f(X:S,g(X:S),Y:S)) -> MARK(f(Y:S,Y:S,Y:S)) ACTIVE(g(b)) -> MARK(c) ACTIVE(b) -> MARK(c) F(active(X1:S),X2:S,X3:S) -> F(X1:S,X2:S,X3:S) F(mark(X1:S),X2:S,X3:S) -> F(X1:S,X2:S,X3:S) F(X1:S,active(X2:S),X3:S) -> F(X1:S,X2:S,X3:S) F(X1:S,mark(X2:S),X3:S) -> F(X1:S,X2:S,X3:S) F(X1:S,X2:S,active(X3:S)) -> F(X1:S,X2:S,X3:S) F(X1:S,X2:S,mark(X3:S)) -> F(X1:S,X2:S,X3:S) G(active(X:S)) -> G(X:S) G(mark(X:S)) -> G(X:S) MARK(f(X1:S,X2:S,X3:S)) -> ACTIVE(f(X1:S,X2:S,X3:S)) MARK(g(X:S)) -> ACTIVE(g(mark(X:S))) MARK(g(X:S)) -> G(mark(X:S)) MARK(g(X:S)) -> MARK(X:S) MARK(b) -> ACTIVE(b) -> Rules: active(f(X:S,g(X:S),Y:S)) -> mark(f(Y:S,Y:S,Y:S)) active(g(b)) -> mark(c) active(b) -> mark(c) f(active(X1:S),X2:S,X3:S) -> f(X1:S,X2:S,X3:S) f(mark(X1:S),X2:S,X3:S) -> f(X1:S,X2:S,X3:S) f(X1:S,active(X2:S),X3:S) -> f(X1:S,X2:S,X3:S) f(X1:S,mark(X2:S),X3:S) -> f(X1:S,X2:S,X3:S) f(X1:S,X2:S,active(X3:S)) -> f(X1:S,X2:S,X3:S) f(X1:S,X2:S,mark(X3:S)) -> f(X1:S,X2:S,X3:S) g(active(X:S)) -> g(X:S) g(mark(X:S)) -> g(X:S) mark(f(X1:S,X2:S,X3:S)) -> active(f(X1:S,X2:S,X3:S)) mark(g(X:S)) -> active(g(mark(X:S))) mark(b) -> active(b) mark(c) -> active(c) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: G(active(X:S)) -> G(X:S) G(mark(X:S)) -> G(X:S) ->->-> Rules: active(f(X:S,g(X:S),Y:S)) -> mark(f(Y:S,Y:S,Y:S)) active(g(b)) -> mark(c) active(b) -> mark(c) f(active(X1:S),X2:S,X3:S) -> f(X1:S,X2:S,X3:S) f(mark(X1:S),X2:S,X3:S) -> f(X1:S,X2:S,X3:S) f(X1:S,active(X2:S),X3:S) -> f(X1:S,X2:S,X3:S) f(X1:S,mark(X2:S),X3:S) -> f(X1:S,X2:S,X3:S) f(X1:S,X2:S,active(X3:S)) -> f(X1:S,X2:S,X3:S) f(X1:S,X2:S,mark(X3:S)) -> f(X1:S,X2:S,X3:S) g(active(X:S)) -> g(X:S) g(mark(X:S)) -> g(X:S) mark(f(X1:S,X2:S,X3:S)) -> active(f(X1:S,X2:S,X3:S)) mark(g(X:S)) -> active(g(mark(X:S))) mark(b) -> active(b) mark(c) -> active(c) ->->Cycle: ->->-> Pairs: F(active(X1:S),X2:S,X3:S) -> F(X1:S,X2:S,X3:S) F(mark(X1:S),X2:S,X3:S) -> F(X1:S,X2:S,X3:S) F(X1:S,active(X2:S),X3:S) -> F(X1:S,X2:S,X3:S) F(X1:S,mark(X2:S),X3:S) -> F(X1:S,X2:S,X3:S) F(X1:S,X2:S,active(X3:S)) -> F(X1:S,X2:S,X3:S) F(X1:S,X2:S,mark(X3:S)) -> F(X1:S,X2:S,X3:S) ->->-> Rules: active(f(X:S,g(X:S),Y:S)) -> mark(f(Y:S,Y:S,Y:S)) active(g(b)) -> mark(c) active(b) -> mark(c) f(active(X1:S),X2:S,X3:S) -> f(X1:S,X2:S,X3:S) f(mark(X1:S),X2:S,X3:S) -> f(X1:S,X2:S,X3:S) f(X1:S,active(X2:S),X3:S) -> f(X1:S,X2:S,X3:S) f(X1:S,mark(X2:S),X3:S) -> f(X1:S,X2:S,X3:S) f(X1:S,X2:S,active(X3:S)) -> f(X1:S,X2:S,X3:S) f(X1:S,X2:S,mark(X3:S)) -> f(X1:S,X2:S,X3:S) g(active(X:S)) -> g(X:S) g(mark(X:S)) -> g(X:S) mark(f(X1:S,X2:S,X3:S)) -> active(f(X1:S,X2:S,X3:S)) mark(g(X:S)) -> active(g(mark(X:S))) mark(b) -> active(b) mark(c) -> active(c) ->->Cycle: ->->-> Pairs: ACTIVE(f(X:S,g(X:S),Y:S)) -> MARK(f(Y:S,Y:S,Y:S)) MARK(f(X1:S,X2:S,X3:S)) -> ACTIVE(f(X1:S,X2:S,X3:S)) MARK(g(X:S)) -> ACTIVE(g(mark(X:S))) MARK(g(X:S)) -> MARK(X:S) ->->-> Rules: active(f(X:S,g(X:S),Y:S)) -> mark(f(Y:S,Y:S,Y:S)) active(g(b)) -> mark(c) active(b) -> mark(c) f(active(X1:S),X2:S,X3:S) -> f(X1:S,X2:S,X3:S) f(mark(X1:S),X2:S,X3:S) -> f(X1:S,X2:S,X3:S) f(X1:S,active(X2:S),X3:S) -> f(X1:S,X2:S,X3:S) f(X1:S,mark(X2:S),X3:S) -> f(X1:S,X2:S,X3:S) f(X1:S,X2:S,active(X3:S)) -> f(X1:S,X2:S,X3:S) f(X1:S,X2:S,mark(X3:S)) -> f(X1:S,X2:S,X3:S) g(active(X:S)) -> g(X:S) g(mark(X:S)) -> g(X:S) mark(f(X1:S,X2:S,X3:S)) -> active(f(X1:S,X2:S,X3:S)) mark(g(X:S)) -> active(g(mark(X:S))) mark(b) -> active(b) mark(c) -> active(c) The problem is decomposed in 3 subproblems. Problem 1.1: Subterm Processor: -> Pairs: G(active(X:S)) -> G(X:S) G(mark(X:S)) -> G(X:S) -> Rules: active(f(X:S,g(X:S),Y:S)) -> mark(f(Y:S,Y:S,Y:S)) active(g(b)) -> mark(c) active(b) -> mark(c) f(active(X1:S),X2:S,X3:S) -> f(X1:S,X2:S,X3:S) f(mark(X1:S),X2:S,X3:S) -> f(X1:S,X2:S,X3:S) f(X1:S,active(X2:S),X3:S) -> f(X1:S,X2:S,X3:S) f(X1:S,mark(X2:S),X3:S) -> f(X1:S,X2:S,X3:S) f(X1:S,X2:S,active(X3:S)) -> f(X1:S,X2:S,X3:S) f(X1:S,X2:S,mark(X3:S)) -> f(X1:S,X2:S,X3:S) g(active(X:S)) -> g(X:S) g(mark(X:S)) -> g(X:S) mark(f(X1:S,X2:S,X3:S)) -> active(f(X1:S,X2:S,X3:S)) mark(g(X:S)) -> active(g(mark(X:S))) mark(b) -> active(b) mark(c) -> active(c) ->Projection: pi(G) = 1 Problem 1.1: SCC Processor: -> Pairs: Empty -> Rules: active(f(X:S,g(X:S),Y:S)) -> mark(f(Y:S,Y:S,Y:S)) active(g(b)) -> mark(c) active(b) -> mark(c) f(active(X1:S),X2:S,X3:S) -> f(X1:S,X2:S,X3:S) f(mark(X1:S),X2:S,X3:S) -> f(X1:S,X2:S,X3:S) f(X1:S,active(X2:S),X3:S) -> f(X1:S,X2:S,X3:S) f(X1:S,mark(X2:S),X3:S) -> f(X1:S,X2:S,X3:S) f(X1:S,X2:S,active(X3:S)) -> f(X1:S,X2:S,X3:S) f(X1:S,X2:S,mark(X3:S)) -> f(X1:S,X2:S,X3:S) g(active(X:S)) -> g(X:S) g(mark(X:S)) -> g(X:S) mark(f(X1:S,X2:S,X3:S)) -> active(f(X1:S,X2:S,X3:S)) mark(g(X:S)) -> active(g(mark(X:S))) mark(b) -> active(b) mark(c) -> active(c) ->Strongly Connected Components: There is no strongly connected component The problem is finite. Problem 1.2: Subterm Processor: -> Pairs: F(active(X1:S),X2:S,X3:S) -> F(X1:S,X2:S,X3:S) F(mark(X1:S),X2:S,X3:S) -> F(X1:S,X2:S,X3:S) F(X1:S,active(X2:S),X3:S) -> F(X1:S,X2:S,X3:S) F(X1:S,mark(X2:S),X3:S) -> F(X1:S,X2:S,X3:S) F(X1:S,X2:S,active(X3:S)) -> F(X1:S,X2:S,X3:S) F(X1:S,X2:S,mark(X3:S)) -> F(X1:S,X2:S,X3:S) -> Rules: active(f(X:S,g(X:S),Y:S)) -> mark(f(Y:S,Y:S,Y:S)) active(g(b)) -> mark(c) active(b) -> mark(c) f(active(X1:S),X2:S,X3:S) -> f(X1:S,X2:S,X3:S) f(mark(X1:S),X2:S,X3:S) -> f(X1:S,X2:S,X3:S) f(X1:S,active(X2:S),X3:S) -> f(X1:S,X2:S,X3:S) f(X1:S,mark(X2:S),X3:S) -> f(X1:S,X2:S,X3:S) f(X1:S,X2:S,active(X3:S)) -> f(X1:S,X2:S,X3:S) f(X1:S,X2:S,mark(X3:S)) -> f(X1:S,X2:S,X3:S) g(active(X:S)) -> g(X:S) g(mark(X:S)) -> g(X:S) mark(f(X1:S,X2:S,X3:S)) -> active(f(X1:S,X2:S,X3:S)) mark(g(X:S)) -> active(g(mark(X:S))) mark(b) -> active(b) mark(c) -> active(c) ->Projection: pi(F) = 1 Problem 1.2: SCC Processor: -> Pairs: F(X1:S,active(X2:S),X3:S) -> F(X1:S,X2:S,X3:S) F(X1:S,mark(X2:S),X3:S) -> F(X1:S,X2:S,X3:S) F(X1:S,X2:S,active(X3:S)) -> F(X1:S,X2:S,X3:S) F(X1:S,X2:S,mark(X3:S)) -> F(X1:S,X2:S,X3:S) -> Rules: active(f(X:S,g(X:S),Y:S)) -> mark(f(Y:S,Y:S,Y:S)) active(g(b)) -> mark(c) active(b) -> mark(c) f(active(X1:S),X2:S,X3:S) -> f(X1:S,X2:S,X3:S) f(mark(X1:S),X2:S,X3:S) -> f(X1:S,X2:S,X3:S) f(X1:S,active(X2:S),X3:S) -> f(X1:S,X2:S,X3:S) f(X1:S,mark(X2:S),X3:S) -> f(X1:S,X2:S,X3:S) f(X1:S,X2:S,active(X3:S)) -> f(X1:S,X2:S,X3:S) f(X1:S,X2:S,mark(X3:S)) -> f(X1:S,X2:S,X3:S) g(active(X:S)) -> g(X:S) g(mark(X:S)) -> g(X:S) mark(f(X1:S,X2:S,X3:S)) -> active(f(X1:S,X2:S,X3:S)) mark(g(X:S)) -> active(g(mark(X:S))) mark(b) -> active(b) mark(c) -> active(c) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: F(X1:S,active(X2:S),X3:S) -> F(X1:S,X2:S,X3:S) F(X1:S,mark(X2:S),X3:S) -> F(X1:S,X2:S,X3:S) F(X1:S,X2:S,active(X3:S)) -> F(X1:S,X2:S,X3:S) F(X1:S,X2:S,mark(X3:S)) -> F(X1:S,X2:S,X3:S) ->->-> Rules: active(f(X:S,g(X:S),Y:S)) -> mark(f(Y:S,Y:S,Y:S)) active(g(b)) -> mark(c) active(b) -> mark(c) f(active(X1:S),X2:S,X3:S) -> f(X1:S,X2:S,X3:S) f(mark(X1:S),X2:S,X3:S) -> f(X1:S,X2:S,X3:S) f(X1:S,active(X2:S),X3:S) -> f(X1:S,X2:S,X3:S) f(X1:S,mark(X2:S),X3:S) -> f(X1:S,X2:S,X3:S) f(X1:S,X2:S,active(X3:S)) -> f(X1:S,X2:S,X3:S) f(X1:S,X2:S,mark(X3:S)) -> f(X1:S,X2:S,X3:S) g(active(X:S)) -> g(X:S) g(mark(X:S)) -> g(X:S) mark(f(X1:S,X2:S,X3:S)) -> active(f(X1:S,X2:S,X3:S)) mark(g(X:S)) -> active(g(mark(X:S))) mark(b) -> active(b) mark(c) -> active(c) Problem 1.2: Subterm Processor: -> Pairs: F(X1:S,active(X2:S),X3:S) -> F(X1:S,X2:S,X3:S) F(X1:S,mark(X2:S),X3:S) -> F(X1:S,X2:S,X3:S) F(X1:S,X2:S,active(X3:S)) -> F(X1:S,X2:S,X3:S) F(X1:S,X2:S,mark(X3:S)) -> F(X1:S,X2:S,X3:S) -> Rules: active(f(X:S,g(X:S),Y:S)) -> mark(f(Y:S,Y:S,Y:S)) active(g(b)) -> mark(c) active(b) -> mark(c) f(active(X1:S),X2:S,X3:S) -> f(X1:S,X2:S,X3:S) f(mark(X1:S),X2:S,X3:S) -> f(X1:S,X2:S,X3:S) f(X1:S,active(X2:S),X3:S) -> f(X1:S,X2:S,X3:S) f(X1:S,mark(X2:S),X3:S) -> f(X1:S,X2:S,X3:S) f(X1:S,X2:S,active(X3:S)) -> f(X1:S,X2:S,X3:S) f(X1:S,X2:S,mark(X3:S)) -> f(X1:S,X2:S,X3:S) g(active(X:S)) -> g(X:S) g(mark(X:S)) -> g(X:S) mark(f(X1:S,X2:S,X3:S)) -> active(f(X1:S,X2:S,X3:S)) mark(g(X:S)) -> active(g(mark(X:S))) mark(b) -> active(b) mark(c) -> active(c) ->Projection: pi(F) = 2 Problem 1.2: SCC Processor: -> Pairs: F(X1:S,X2:S,active(X3:S)) -> F(X1:S,X2:S,X3:S) F(X1:S,X2:S,mark(X3:S)) -> F(X1:S,X2:S,X3:S) -> Rules: active(f(X:S,g(X:S),Y:S)) -> mark(f(Y:S,Y:S,Y:S)) active(g(b)) -> mark(c) active(b) -> mark(c) f(active(X1:S),X2:S,X3:S) -> f(X1:S,X2:S,X3:S) f(mark(X1:S),X2:S,X3:S) -> f(X1:S,X2:S,X3:S) f(X1:S,active(X2:S),X3:S) -> f(X1:S,X2:S,X3:S) f(X1:S,mark(X2:S),X3:S) -> f(X1:S,X2:S,X3:S) f(X1:S,X2:S,active(X3:S)) -> f(X1:S,X2:S,X3:S) f(X1:S,X2:S,mark(X3:S)) -> f(X1:S,X2:S,X3:S) g(active(X:S)) -> g(X:S) g(mark(X:S)) -> g(X:S) mark(f(X1:S,X2:S,X3:S)) -> active(f(X1:S,X2:S,X3:S)) mark(g(X:S)) -> active(g(mark(X:S))) mark(b) -> active(b) mark(c) -> active(c) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: F(X1:S,X2:S,active(X3:S)) -> F(X1:S,X2:S,X3:S) F(X1:S,X2:S,mark(X3:S)) -> F(X1:S,X2:S,X3:S) ->->-> Rules: active(f(X:S,g(X:S),Y:S)) -> mark(f(Y:S,Y:S,Y:S)) active(g(b)) -> mark(c) active(b) -> mark(c) f(active(X1:S),X2:S,X3:S) -> f(X1:S,X2:S,X3:S) f(mark(X1:S),X2:S,X3:S) -> f(X1:S,X2:S,X3:S) f(X1:S,active(X2:S),X3:S) -> f(X1:S,X2:S,X3:S) f(X1:S,mark(X2:S),X3:S) -> f(X1:S,X2:S,X3:S) f(X1:S,X2:S,active(X3:S)) -> f(X1:S,X2:S,X3:S) f(X1:S,X2:S,mark(X3:S)) -> f(X1:S,X2:S,X3:S) g(active(X:S)) -> g(X:S) g(mark(X:S)) -> g(X:S) mark(f(X1:S,X2:S,X3:S)) -> active(f(X1:S,X2:S,X3:S)) mark(g(X:S)) -> active(g(mark(X:S))) mark(b) -> active(b) mark(c) -> active(c) Problem 1.2: Subterm Processor: -> Pairs: F(X1:S,X2:S,active(X3:S)) -> F(X1:S,X2:S,X3:S) F(X1:S,X2:S,mark(X3:S)) -> F(X1:S,X2:S,X3:S) -> Rules: active(f(X:S,g(X:S),Y:S)) -> mark(f(Y:S,Y:S,Y:S)) active(g(b)) -> mark(c) active(b) -> mark(c) f(active(X1:S),X2:S,X3:S) -> f(X1:S,X2:S,X3:S) f(mark(X1:S),X2:S,X3:S) -> f(X1:S,X2:S,X3:S) f(X1:S,active(X2:S),X3:S) -> f(X1:S,X2:S,X3:S) f(X1:S,mark(X2:S),X3:S) -> f(X1:S,X2:S,X3:S) f(X1:S,X2:S,active(X3:S)) -> f(X1:S,X2:S,X3:S) f(X1:S,X2:S,mark(X3:S)) -> f(X1:S,X2:S,X3:S) g(active(X:S)) -> g(X:S) g(mark(X:S)) -> g(X:S) mark(f(X1:S,X2:S,X3:S)) -> active(f(X1:S,X2:S,X3:S)) mark(g(X:S)) -> active(g(mark(X:S))) mark(b) -> active(b) mark(c) -> active(c) ->Projection: pi(F) = 3 Problem 1.2: SCC Processor: -> Pairs: Empty -> Rules: active(f(X:S,g(X:S),Y:S)) -> mark(f(Y:S,Y:S,Y:S)) active(g(b)) -> mark(c) active(b) -> mark(c) f(active(X1:S),X2:S,X3:S) -> f(X1:S,X2:S,X3:S) f(mark(X1:S),X2:S,X3:S) -> f(X1:S,X2:S,X3:S) f(X1:S,active(X2:S),X3:S) -> f(X1:S,X2:S,X3:S) f(X1:S,mark(X2:S),X3:S) -> f(X1:S,X2:S,X3:S) f(X1:S,X2:S,active(X3:S)) -> f(X1:S,X2:S,X3:S) f(X1:S,X2:S,mark(X3:S)) -> f(X1:S,X2:S,X3:S) g(active(X:S)) -> g(X:S) g(mark(X:S)) -> g(X:S) mark(f(X1:S,X2:S,X3:S)) -> active(f(X1:S,X2:S,X3:S)) mark(g(X:S)) -> active(g(mark(X:S))) mark(b) -> active(b) mark(c) -> active(c) ->Strongly Connected Components: There is no strongly connected component The problem is finite. Problem 1.3: Reduction Pairs Processor: -> Pairs: ACTIVE(f(X:S,g(X:S),Y:S)) -> MARK(f(Y:S,Y:S,Y:S)) MARK(f(X1:S,X2:S,X3:S)) -> ACTIVE(f(X1:S,X2:S,X3:S)) MARK(g(X:S)) -> ACTIVE(g(mark(X:S))) MARK(g(X:S)) -> MARK(X:S) -> Rules: active(f(X:S,g(X:S),Y:S)) -> mark(f(Y:S,Y:S,Y:S)) active(g(b)) -> mark(c) active(b) -> mark(c) f(active(X1:S),X2:S,X3:S) -> f(X1:S,X2:S,X3:S) f(mark(X1:S),X2:S,X3:S) -> f(X1:S,X2:S,X3:S) f(X1:S,active(X2:S),X3:S) -> f(X1:S,X2:S,X3:S) f(X1:S,mark(X2:S),X3:S) -> f(X1:S,X2:S,X3:S) f(X1:S,X2:S,active(X3:S)) -> f(X1:S,X2:S,X3:S) f(X1:S,X2:S,mark(X3:S)) -> f(X1:S,X2:S,X3:S) g(active(X:S)) -> g(X:S) g(mark(X:S)) -> g(X:S) mark(f(X1:S,X2:S,X3:S)) -> active(f(X1:S,X2:S,X3:S)) mark(g(X:S)) -> active(g(mark(X:S))) mark(b) -> active(b) mark(c) -> active(c) -> Usable rules: active(f(X:S,g(X:S),Y:S)) -> mark(f(Y:S,Y:S,Y:S)) active(g(b)) -> mark(c) active(b) -> mark(c) f(active(X1:S),X2:S,X3:S) -> f(X1:S,X2:S,X3:S) f(mark(X1:S),X2:S,X3:S) -> f(X1:S,X2:S,X3:S) f(X1:S,active(X2:S),X3:S) -> f(X1:S,X2:S,X3:S) f(X1:S,mark(X2:S),X3:S) -> f(X1:S,X2:S,X3:S) f(X1:S,X2:S,active(X3:S)) -> f(X1:S,X2:S,X3:S) f(X1:S,X2:S,mark(X3:S)) -> f(X1:S,X2:S,X3:S) g(active(X:S)) -> g(X:S) g(mark(X:S)) -> g(X:S) mark(f(X1:S,X2:S,X3:S)) -> active(f(X1:S,X2:S,X3:S)) mark(g(X:S)) -> active(g(mark(X:S))) mark(b) -> active(b) mark(c) -> active(c) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [active](X) = X + 1 [f](X1,X2,X3) = 0 [g](X) = 2.X + 2 [mark](X) = 2.X + 1 [b] = 0 [c] = 0 [fSNonEmpty] = 0 [ACTIVE](X) = 2 [F](X1,X2,X3) = 0 [G](X) = 0 [MARK](X) = X + 2 Problem 1.3: SCC Processor: -> Pairs: ACTIVE(f(X:S,g(X:S),Y:S)) -> MARK(f(Y:S,Y:S,Y:S)) MARK(f(X1:S,X2:S,X3:S)) -> ACTIVE(f(X1:S,X2:S,X3:S)) MARK(g(X:S)) -> MARK(X:S) -> Rules: active(f(X:S,g(X:S),Y:S)) -> mark(f(Y:S,Y:S,Y:S)) active(g(b)) -> mark(c) active(b) -> mark(c) f(active(X1:S),X2:S,X3:S) -> f(X1:S,X2:S,X3:S) f(mark(X1:S),X2:S,X3:S) -> f(X1:S,X2:S,X3:S) f(X1:S,active(X2:S),X3:S) -> f(X1:S,X2:S,X3:S) f(X1:S,mark(X2:S),X3:S) -> f(X1:S,X2:S,X3:S) f(X1:S,X2:S,active(X3:S)) -> f(X1:S,X2:S,X3:S) f(X1:S,X2:S,mark(X3:S)) -> f(X1:S,X2:S,X3:S) g(active(X:S)) -> g(X:S) g(mark(X:S)) -> g(X:S) mark(f(X1:S,X2:S,X3:S)) -> active(f(X1:S,X2:S,X3:S)) mark(g(X:S)) -> active(g(mark(X:S))) mark(b) -> active(b) mark(c) -> active(c) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: ACTIVE(f(X:S,g(X:S),Y:S)) -> MARK(f(Y:S,Y:S,Y:S)) MARK(f(X1:S,X2:S,X3:S)) -> ACTIVE(f(X1:S,X2:S,X3:S)) MARK(g(X:S)) -> MARK(X:S) ->->-> Rules: active(f(X:S,g(X:S),Y:S)) -> mark(f(Y:S,Y:S,Y:S)) active(g(b)) -> mark(c) active(b) -> mark(c) f(active(X1:S),X2:S,X3:S) -> f(X1:S,X2:S,X3:S) f(mark(X1:S),X2:S,X3:S) -> f(X1:S,X2:S,X3:S) f(X1:S,active(X2:S),X3:S) -> f(X1:S,X2:S,X3:S) f(X1:S,mark(X2:S),X3:S) -> f(X1:S,X2:S,X3:S) f(X1:S,X2:S,active(X3:S)) -> f(X1:S,X2:S,X3:S) f(X1:S,X2:S,mark(X3:S)) -> f(X1:S,X2:S,X3:S) g(active(X:S)) -> g(X:S) g(mark(X:S)) -> g(X:S) mark(f(X1:S,X2:S,X3:S)) -> active(f(X1:S,X2:S,X3:S)) mark(g(X:S)) -> active(g(mark(X:S))) mark(b) -> active(b) mark(c) -> active(c) Problem 1.3: Reduction Pairs Processor: -> Pairs: ACTIVE(f(X:S,g(X:S),Y:S)) -> MARK(f(Y:S,Y:S,Y:S)) MARK(f(X1:S,X2:S,X3:S)) -> ACTIVE(f(X1:S,X2:S,X3:S)) MARK(g(X:S)) -> MARK(X:S) -> Rules: active(f(X:S,g(X:S),Y:S)) -> mark(f(Y:S,Y:S,Y:S)) active(g(b)) -> mark(c) active(b) -> mark(c) f(active(X1:S),X2:S,X3:S) -> f(X1:S,X2:S,X3:S) f(mark(X1:S),X2:S,X3:S) -> f(X1:S,X2:S,X3:S) f(X1:S,active(X2:S),X3:S) -> f(X1:S,X2:S,X3:S) f(X1:S,mark(X2:S),X3:S) -> f(X1:S,X2:S,X3:S) f(X1:S,X2:S,active(X3:S)) -> f(X1:S,X2:S,X3:S) f(X1:S,X2:S,mark(X3:S)) -> f(X1:S,X2:S,X3:S) g(active(X:S)) -> g(X:S) g(mark(X:S)) -> g(X:S) mark(f(X1:S,X2:S,X3:S)) -> active(f(X1:S,X2:S,X3:S)) mark(g(X:S)) -> active(g(mark(X:S))) mark(b) -> active(b) mark(c) -> active(c) -> Usable rules: f(active(X1:S),X2:S,X3:S) -> f(X1:S,X2:S,X3:S) f(mark(X1:S),X2:S,X3:S) -> f(X1:S,X2:S,X3:S) f(X1:S,active(X2:S),X3:S) -> f(X1:S,X2:S,X3:S) f(X1:S,mark(X2:S),X3:S) -> f(X1:S,X2:S,X3:S) f(X1:S,X2:S,active(X3:S)) -> f(X1:S,X2:S,X3:S) f(X1:S,X2:S,mark(X3:S)) -> f(X1:S,X2:S,X3:S) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [active](X) = 0 [f](X1,X2,X3) = 0 [g](X) = 2.X + 2 [mark](X) = 0 [b] = 0 [c] = 0 [fSNonEmpty] = 0 [ACTIVE](X) = 2 [F](X1,X2,X3) = 0 [G](X) = 0 [MARK](X) = 2.X + 2 Problem 1.3: SCC Processor: -> Pairs: ACTIVE(f(X:S,g(X:S),Y:S)) -> MARK(f(Y:S,Y:S,Y:S)) MARK(f(X1:S,X2:S,X3:S)) -> ACTIVE(f(X1:S,X2:S,X3:S)) -> Rules: active(f(X:S,g(X:S),Y:S)) -> mark(f(Y:S,Y:S,Y:S)) active(g(b)) -> mark(c) active(b) -> mark(c) f(active(X1:S),X2:S,X3:S) -> f(X1:S,X2:S,X3:S) f(mark(X1:S),X2:S,X3:S) -> f(X1:S,X2:S,X3:S) f(X1:S,active(X2:S),X3:S) -> f(X1:S,X2:S,X3:S) f(X1:S,mark(X2:S),X3:S) -> f(X1:S,X2:S,X3:S) f(X1:S,X2:S,active(X3:S)) -> f(X1:S,X2:S,X3:S) f(X1:S,X2:S,mark(X3:S)) -> f(X1:S,X2:S,X3:S) g(active(X:S)) -> g(X:S) g(mark(X:S)) -> g(X:S) mark(f(X1:S,X2:S,X3:S)) -> active(f(X1:S,X2:S,X3:S)) mark(g(X:S)) -> active(g(mark(X:S))) mark(b) -> active(b) mark(c) -> active(c) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: ACTIVE(f(X:S,g(X:S),Y:S)) -> MARK(f(Y:S,Y:S,Y:S)) MARK(f(X1:S,X2:S,X3:S)) -> ACTIVE(f(X1:S,X2:S,X3:S)) ->->-> Rules: active(f(X:S,g(X:S),Y:S)) -> mark(f(Y:S,Y:S,Y:S)) active(g(b)) -> mark(c) active(b) -> mark(c) f(active(X1:S),X2:S,X3:S) -> f(X1:S,X2:S,X3:S) f(mark(X1:S),X2:S,X3:S) -> f(X1:S,X2:S,X3:S) f(X1:S,active(X2:S),X3:S) -> f(X1:S,X2:S,X3:S) f(X1:S,mark(X2:S),X3:S) -> f(X1:S,X2:S,X3:S) f(X1:S,X2:S,active(X3:S)) -> f(X1:S,X2:S,X3:S) f(X1:S,X2:S,mark(X3:S)) -> f(X1:S,X2:S,X3:S) g(active(X:S)) -> g(X:S) g(mark(X:S)) -> g(X:S) mark(f(X1:S,X2:S,X3:S)) -> active(f(X1:S,X2:S,X3:S)) mark(g(X:S)) -> active(g(mark(X:S))) mark(b) -> active(b) mark(c) -> active(c) Problem 1.3: Reduction Pair Processor: -> Pairs: ACTIVE(f(X:S,g(X:S),Y:S)) -> MARK(f(Y:S,Y:S,Y:S)) MARK(f(X1:S,X2:S,X3:S)) -> ACTIVE(f(X1:S,X2:S,X3:S)) -> Rules: active(f(X:S,g(X:S),Y:S)) -> mark(f(Y:S,Y:S,Y:S)) active(g(b)) -> mark(c) active(b) -> mark(c) f(active(X1:S),X2:S,X3:S) -> f(X1:S,X2:S,X3:S) f(mark(X1:S),X2:S,X3:S) -> f(X1:S,X2:S,X3:S) f(X1:S,active(X2:S),X3:S) -> f(X1:S,X2:S,X3:S) f(X1:S,mark(X2:S),X3:S) -> f(X1:S,X2:S,X3:S) f(X1:S,X2:S,active(X3:S)) -> f(X1:S,X2:S,X3:S) f(X1:S,X2:S,mark(X3:S)) -> f(X1:S,X2:S,X3:S) g(active(X:S)) -> g(X:S) g(mark(X:S)) -> g(X:S) mark(f(X1:S,X2:S,X3:S)) -> active(f(X1:S,X2:S,X3:S)) mark(g(X:S)) -> active(g(mark(X:S))) mark(b) -> active(b) mark(c) -> active(c) -> Usable rules: f(active(X1:S),X2:S,X3:S) -> f(X1:S,X2:S,X3:S) f(mark(X1:S),X2:S,X3:S) -> f(X1:S,X2:S,X3:S) f(X1:S,active(X2:S),X3:S) -> f(X1:S,X2:S,X3:S) f(X1:S,mark(X2:S),X3:S) -> f(X1:S,X2:S,X3:S) f(X1:S,X2:S,active(X3:S)) -> f(X1:S,X2:S,X3:S) f(X1:S,X2:S,mark(X3:S)) -> f(X1:S,X2:S,X3:S) ->Mace4 Output: ============================== Mace4 ================================= Mace4 (64) version 2009-11A, November 2009. Process 3673 was started by sandbox on n147.star.cs.uiowa.edu, Mon Jun 22 08:03:09 2020 The command was "./mace4 -c -f /tmp/mace49398195822001100545.in". ============================== end of head =========================== ============================== INPUT ================================= % Reading from file /tmp/mace49398195822001100545.in assign(max_seconds,20). formulas(assumptions). gtrsim_s0(x,y) & sqsupset_s0(y,z) -> sqsupset_s0(x,z) # label(compatibility). succeq_s0(x,y) & sqsupset_s0(y,z) -> sqsupset_s0(x,z) # label(compatibility). gtrsim_s0(x,y) & succeq_s0(y,z) -> gtrsim_s0(x,z) # label(compatibility). arrow_s0(x1,y) -> arrow_s0(f2(x1),f2(y)) # label(congruence). arrow_s0(x1,y) -> arrow_s0(f3(x1,x2,x3),f3(y,x2,x3)) # label(congruence). arrow_s0(x2,y) -> arrow_s0(f3(x1,x2,x3),f3(x1,y,x3)) # label(congruence). arrow_s0(x3,y) -> arrow_s0(f3(x1,x2,x3),f3(x1,x2,y)) # label(congruence). arrow_s0(x1,y) -> arrow_s0(f4(x1),f4(y)) # label(congruence). arrow_s0(x1,y) -> arrow_s0(f5(x1),f5(y)) # label(congruence). arrow_s0(x1,y) -> arrow_s0(f10(x1),f10(y)) # label(congruence). arrow_s0(x1,y) -> arrow_s0(f11(x1,x2,x3),f11(y,x2,x3)) # label(congruence). arrow_s0(x2,y) -> arrow_s0(f11(x1,x2,x3),f11(x1,y,x3)) # label(congruence). arrow_s0(x3,y) -> arrow_s0(f11(x1,x2,x3),f11(x1,x2,y)) # label(congruence). arrow_s0(x1,y) -> arrow_s0(f12(x1),f12(y)) # label(congruence). arrow_s0(x1,y) -> arrow_s0(f13(x1),f13(y)) # label(congruence). arrow_s0(f3(f2(x2),x3,x4),f3(x2,x3,x4)) # label(replacement). arrow_s0(f3(f5(x2),x3,x4),f3(x2,x3,x4)) # label(replacement). arrow_s0(f3(x2,f2(x3),x4),f3(x2,x3,x4)) # label(replacement). arrow_s0(f3(x2,f5(x3),x4),f3(x2,x3,x4)) # label(replacement). arrow_s0(f3(x2,x3,f2(x4)),f3(x2,x3,x4)) # label(replacement). arrow_s0(f3(x2,x3,f5(x4)),f3(x2,x3,x4)) # label(replacement). arrow_s0(x,y) -> gtrsim_s0(x,y) # label(inclusion). sqsupset_s0(f10(f3(x1,f4(x1),x5)),f13(f3(x5,x5,x5))) # label(replacement). succeq_s0(f13(f3(x2,x3,x4)),f10(f3(x2,x3,x4))) # label(replacement). sqsupset_s0(x,y) -> sqsupsetStar_s0(x,y) # label(inclusion). sqsupset_s0(x,y) & sqsupsetStar_s0(y,z) -> sqsupsetStar_s0(x,z) # label(compatibility). end_of_list. formulas(goals). (exists x sqsupsetStar_s0(x,x)) # label(wellfoundedness). end_of_list. ============================== end of input ========================== ============================== PROCESS NON-CLAUSAL FORMULAS ========== % Formulas that are not ordinary clauses: 1 gtrsim_s0(x,y) & sqsupset_s0(y,z) -> sqsupset_s0(x,z) # label(compatibility) # label(non_clause). [assumption]. 2 succeq_s0(x,y) & sqsupset_s0(y,z) -> sqsupset_s0(x,z) # label(compatibility) # label(non_clause). [assumption]. 3 gtrsim_s0(x,y) & succeq_s0(y,z) -> gtrsim_s0(x,z) # label(compatibility) # label(non_clause). [assumption]. 4 arrow_s0(x1,y) -> arrow_s0(f2(x1),f2(y)) # label(congruence) # label(non_clause). [assumption]. 5 arrow_s0(x1,y) -> arrow_s0(f3(x1,x2,x3),f3(y,x2,x3)) # label(congruence) # label(non_clause). [assumption]. 6 arrow_s0(x2,y) -> arrow_s0(f3(x1,x2,x3),f3(x1,y,x3)) # label(congruence) # label(non_clause). [assumption]. 7 arrow_s0(x3,y) -> arrow_s0(f3(x1,x2,x3),f3(x1,x2,y)) # label(congruence) # label(non_clause). [assumption]. 8 arrow_s0(x1,y) -> arrow_s0(f4(x1),f4(y)) # label(congruence) # label(non_clause). [assumption]. 9 arrow_s0(x1,y) -> arrow_s0(f5(x1),f5(y)) # label(congruence) # label(non_clause). [assumption]. 10 arrow_s0(x1,y) -> arrow_s0(f10(x1),f10(y)) # label(congruence) # label(non_clause). [assumption]. 11 arrow_s0(x1,y) -> arrow_s0(f11(x1,x2,x3),f11(y,x2,x3)) # label(congruence) # label(non_clause). [assumption]. 12 arrow_s0(x2,y) -> arrow_s0(f11(x1,x2,x3),f11(x1,y,x3)) # label(congruence) # label(non_clause). [assumption]. 13 arrow_s0(x3,y) -> arrow_s0(f11(x1,x2,x3),f11(x1,x2,y)) # label(congruence) # label(non_clause). [assumption]. 14 arrow_s0(x1,y) -> arrow_s0(f12(x1),f12(y)) # label(congruence) # label(non_clause). [assumption]. 15 arrow_s0(x1,y) -> arrow_s0(f13(x1),f13(y)) # label(congruence) # label(non_clause). [assumption]. 16 arrow_s0(x,y) -> gtrsim_s0(x,y) # label(inclusion) # label(non_clause). [assumption]. 17 sqsupset_s0(x,y) -> sqsupsetStar_s0(x,y) # label(inclusion) # label(non_clause). [assumption]. 18 sqsupset_s0(x,y) & sqsupsetStar_s0(y,z) -> sqsupsetStar_s0(x,z) # label(compatibility) # label(non_clause). [assumption]. 19 (exists x sqsupsetStar_s0(x,x)) # label(wellfoundedness) # label(non_clause) # label(goal). [goal]. ============================== end of process non-clausal formulas === ============================== CLAUSES FOR SEARCH ==================== formulas(mace4_clauses). -gtrsim_s0(x,y) | -sqsupset_s0(y,z) | sqsupset_s0(x,z) # label(compatibility). -succeq_s0(x,y) | -sqsupset_s0(y,z) | sqsupset_s0(x,z) # label(compatibility). -gtrsim_s0(x,y) | -succeq_s0(y,z) | gtrsim_s0(x,z) # label(compatibility). -arrow_s0(x,y) | arrow_s0(f2(x),f2(y)) # label(congruence). -arrow_s0(x,y) | arrow_s0(f3(x,z,u),f3(y,z,u)) # label(congruence). -arrow_s0(x,y) | arrow_s0(f3(z,x,u),f3(z,y,u)) # label(congruence). -arrow_s0(x,y) | arrow_s0(f3(z,u,x),f3(z,u,y)) # label(congruence). -arrow_s0(x,y) | arrow_s0(f4(x),f4(y)) # label(congruence). -arrow_s0(x,y) | arrow_s0(f5(x),f5(y)) # label(congruence). -arrow_s0(x,y) | arrow_s0(f10(x),f10(y)) # label(congruence). -arrow_s0(x,y) | arrow_s0(f11(x,z,u),f11(y,z,u)) # label(congruence). -arrow_s0(x,y) | arrow_s0(f11(z,x,u),f11(z,y,u)) # label(congruence). -arrow_s0(x,y) | arrow_s0(f11(z,u,x),f11(z,u,y)) # label(congruence). -arrow_s0(x,y) | arrow_s0(f12(x),f12(y)) # label(congruence). -arrow_s0(x,y) | arrow_s0(f13(x),f13(y)) # label(congruence). arrow_s0(f3(f2(x),y,z),f3(x,y,z)) # label(replacement). arrow_s0(f3(f5(x),y,z),f3(x,y,z)) # label(replacement). arrow_s0(f3(x,f2(y),z),f3(x,y,z)) # label(replacement). arrow_s0(f3(x,f5(y),z),f3(x,y,z)) # label(replacement). arrow_s0(f3(x,y,f2(z)),f3(x,y,z)) # label(replacement). arrow_s0(f3(x,y,f5(z)),f3(x,y,z)) # label(replacement). -arrow_s0(x,y) | gtrsim_s0(x,y) # label(inclusion). sqsupset_s0(f10(f3(x,f4(x),y)),f13(f3(y,y,y))) # label(replacement). succeq_s0(f13(f3(x,y,z)),f10(f3(x,y,z))) # label(replacement). -sqsupset_s0(x,y) | sqsupsetStar_s0(x,y) # label(inclusion). -sqsupset_s0(x,y) | -sqsupsetStar_s0(y,z) | sqsupsetStar_s0(x,z) # label(compatibility). -sqsupsetStar_s0(x,x) # label(wellfoundedness). end_of_list. ============================== end of clauses for search ============= % There are no natural numbers in the input. ============================== DOMAIN SIZE 2 ========================= ============================== MODEL ================================= interpretation( 2, [number=1, seconds=0], [ function(f10(_), [ 0, 1 ]), function(f12(_), [ 0, 0 ]), function(f13(_), [ 0, 1 ]), function(f2(_), [ 0, 1 ]), function(f4(_), [ 1, 0 ]), function(f5(_), [ 0, 1 ]), function(f11(_,_,_), [ 0, 0, 0, 0, 0, 0, 0, 0 ]), function(f3(_,_,_), [ 0, 0, 1, 1, 1, 1, 0, 0 ]), relation(arrow_s0(_,_), [ 1, 0, 0, 1 ]), relation(gtrsim_s0(_,_), [ 1, 0, 0, 1 ]), relation(sqsupsetStar_s0(_,_), [ 0, 0, 1, 0 ]), relation(sqsupset_s0(_,_), [ 0, 0, 1, 0 ]), relation(succeq_s0(_,_), [ 1, 0, 0, 1 ]) ]). ============================== end of model ========================== ============================== STATISTICS ============================ For domain size 2. Current CPU time: 0.00 seconds (total CPU time: 0.16 seconds). Ground clauses: seen=222, kept=222. Selections=23126, assignments=46232, propagations=41873, current_models=1. Rewrite_terms=676722, rewrite_bools=621519, indexes=50863. Rules_from_neg_clauses=32, cross_offs=32. ============================== end of statistics ===================== User_CPU=0.16, System_CPU=0.02, Wall_clock=0. Exiting with 1 model. Process 3673 exit (max_models) Mon Jun 22 08:03:09 2020 The process finished Mon Jun 22 08:03:09 2020 Mace4 cooked interpretation: % number = 1 % seconds = 0 % Interpretation of size 2 f10(0) = 0. f10(1) = 1. f12(0) = 0. f12(1) = 0. f13(0) = 0. f13(1) = 1. f2(0) = 0. f2(1) = 1. f4(0) = 1. f4(1) = 0. f5(0) = 0. f5(1) = 1. f11(0,0,0) = 0. f11(0,0,1) = 0. f11(0,1,0) = 0. f11(0,1,1) = 0. f11(1,0,0) = 0. f11(1,0,1) = 0. f11(1,1,0) = 0. f11(1,1,1) = 0. f3(0,0,0) = 0. f3(0,0,1) = 0. f3(0,1,0) = 1. f3(0,1,1) = 1. f3(1,0,0) = 1. f3(1,0,1) = 1. f3(1,1,0) = 0. f3(1,1,1) = 0. arrow_s0(0,0). - arrow_s0(0,1). - arrow_s0(1,0). arrow_s0(1,1). gtrsim_s0(0,0). - gtrsim_s0(0,1). - gtrsim_s0(1,0). gtrsim_s0(1,1). - sqsupsetStar_s0(0,0). - sqsupsetStar_s0(0,1). sqsupsetStar_s0(1,0). - sqsupsetStar_s0(1,1). - sqsupset_s0(0,0). - sqsupset_s0(0,1). sqsupset_s0(1,0). - sqsupset_s0(1,1). succeq_s0(0,0). - succeq_s0(0,1). - succeq_s0(1,0). succeq_s0(1,1). Problem 1.3: SCC Processor: -> Pairs: MARK(f(X1:S,X2:S,X3:S)) -> ACTIVE(f(X1:S,X2:S,X3:S)) -> Rules: active(f(X:S,g(X:S),Y:S)) -> mark(f(Y:S,Y:S,Y:S)) active(g(b)) -> mark(c) active(b) -> mark(c) f(active(X1:S),X2:S,X3:S) -> f(X1:S,X2:S,X3:S) f(mark(X1:S),X2:S,X3:S) -> f(X1:S,X2:S,X3:S) f(X1:S,active(X2:S),X3:S) -> f(X1:S,X2:S,X3:S) f(X1:S,mark(X2:S),X3:S) -> f(X1:S,X2:S,X3:S) f(X1:S,X2:S,active(X3:S)) -> f(X1:S,X2:S,X3:S) f(X1:S,X2:S,mark(X3:S)) -> f(X1:S,X2:S,X3:S) g(active(X:S)) -> g(X:S) g(mark(X:S)) -> g(X:S) mark(f(X1:S,X2:S,X3:S)) -> active(f(X1:S,X2:S,X3:S)) mark(g(X:S)) -> active(g(mark(X:S))) mark(b) -> active(b) mark(c) -> active(c) ->Strongly Connected Components: There is no strongly connected component The problem is finite.