YES

We show the termination of the TRS R:

  a__f(X,X) -> a__f(a(),b())
  a__b() -> a()
  mark(f(X1,X2)) -> a__f(mark(X1),X2)
  mark(b()) -> a__b()
  mark(a()) -> a()
  a__f(X1,X2) -> f(X1,X2)
  a__b() -> b()

-- SCC decomposition.

Consider the dependency pair problem (P, R), where P consists of

p1: a__f#(X,X) -> a__f#(a(),b())
p2: mark#(f(X1,X2)) -> a__f#(mark(X1),X2)
p3: mark#(f(X1,X2)) -> mark#(X1)
p4: mark#(b()) -> a__b#()

and R consists of:

r1: a__f(X,X) -> a__f(a(),b())
r2: a__b() -> a()
r3: mark(f(X1,X2)) -> a__f(mark(X1),X2)
r4: mark(b()) -> a__b()
r5: mark(a()) -> a()
r6: a__f(X1,X2) -> f(X1,X2)
r7: a__b() -> b()

The estimated dependency graph contains the following SCCs:

  {p3}


-- Reduction pair.

Consider the dependency pair problem (P, R), where P consists of

p1: mark#(f(X1,X2)) -> mark#(X1)

and R consists of:

r1: a__f(X,X) -> a__f(a(),b())
r2: a__b() -> a()
r3: mark(f(X1,X2)) -> a__f(mark(X1),X2)
r4: mark(b()) -> a__b()
r5: mark(a()) -> a()
r6: a__f(X1,X2) -> f(X1,X2)
r7: a__b() -> b()

The set of usable rules consists of

  (no rules)

Take the monotone reduction pair:

  lexicographic combination of reduction pairs:
  
    1. lexicographic path order with precedence:
    
      precedence:
      
        f > mark#
      
      argument filter:
    
        pi(mark#) = [1]
        pi(f) = [1, 2]
    
    2. lexicographic path order with precedence:
    
      precedence:
      
        f > mark#
      
      argument filter:
    
        pi(mark#) = [1]
        pi(f) = [1, 2]
    

The next rules are strictly ordered:

  p1
  r1, r2, r3, r4, r5, r6, r7

We remove them from the problem.  Then no dependency pair remains.