YES

We show the termination of the TRS R:

  a__f(g(X),Y) -> a__f(mark(X),f(g(X),Y))
  mark(f(X1,X2)) -> a__f(mark(X1),X2)
  mark(g(X)) -> g(mark(X))
  a__f(X1,X2) -> f(X1,X2)

-- SCC decomposition.

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

p1: a__f#(g(X),Y) -> a__f#(mark(X),f(g(X),Y))
p2: a__f#(g(X),Y) -> mark#(X)
p3: mark#(f(X1,X2)) -> a__f#(mark(X1),X2)
p4: mark#(f(X1,X2)) -> mark#(X1)
p5: mark#(g(X)) -> mark#(X)

and R consists of:

r1: a__f(g(X),Y) -> a__f(mark(X),f(g(X),Y))
r2: mark(f(X1,X2)) -> a__f(mark(X1),X2)
r3: mark(g(X)) -> g(mark(X))
r4: a__f(X1,X2) -> f(X1,X2)

The estimated dependency graph contains the following SCCs:

  {p1, p2, p3, p4, p5}


-- Reduction pair.

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

p1: a__f#(g(X),Y) -> a__f#(mark(X),f(g(X),Y))
p2: a__f#(g(X),Y) -> mark#(X)
p3: mark#(g(X)) -> mark#(X)
p4: mark#(f(X1,X2)) -> mark#(X1)
p5: mark#(f(X1,X2)) -> a__f#(mark(X1),X2)

and R consists of:

r1: a__f(g(X),Y) -> a__f(mark(X),f(g(X),Y))
r2: mark(f(X1,X2)) -> a__f(mark(X1),X2)
r3: mark(g(X)) -> g(mark(X))
r4: a__f(X1,X2) -> f(X1,X2)

The set of usable rules consists of

  r1, r2, r3, r4

Take the reduction pair:

  matrix interpretations:
  
    carrier: N^1
    order: standard order
    interpretations:
      a__f#_A(x1,x2) = x1 + 1
      g_A(x1) = x1
      mark_A(x1) = x1
      f_A(x1,x2) = x1 + 2
      mark#_A(x1) = x1
      a__f_A(x1,x2) = x1 + 2

The next rules are strictly ordered:

  p2, p4, p5

We remove them from the problem.

-- SCC decomposition.

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

p1: a__f#(g(X),Y) -> a__f#(mark(X),f(g(X),Y))
p2: mark#(g(X)) -> mark#(X)

and R consists of:

r1: a__f(g(X),Y) -> a__f(mark(X),f(g(X),Y))
r2: mark(f(X1,X2)) -> a__f(mark(X1),X2)
r3: mark(g(X)) -> g(mark(X))
r4: a__f(X1,X2) -> f(X1,X2)

The estimated dependency graph contains the following SCCs:

  {p1}
  {p2}


-- Reduction pair.

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

p1: a__f#(g(X),Y) -> a__f#(mark(X),f(g(X),Y))

and R consists of:

r1: a__f(g(X),Y) -> a__f(mark(X),f(g(X),Y))
r2: mark(f(X1,X2)) -> a__f(mark(X1),X2)
r3: mark(g(X)) -> g(mark(X))
r4: a__f(X1,X2) -> f(X1,X2)

The set of usable rules consists of

  r1, r2, r3, r4

Take the reduction pair:

  matrix interpretations:
  
    carrier: N^1
    order: standard order
    interpretations:
      a__f#_A(x1,x2) = x1
      g_A(x1) = x1 + 1
      mark_A(x1) = x1
      f_A(x1,x2) = 0
      a__f_A(x1,x2) = 0

The next rules are strictly ordered:

  p1

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

-- Reduction pair.

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

p1: mark#(g(X)) -> mark#(X)

and R consists of:

r1: a__f(g(X),Y) -> a__f(mark(X),f(g(X),Y))
r2: mark(f(X1,X2)) -> a__f(mark(X1),X2)
r3: mark(g(X)) -> g(mark(X))
r4: a__f(X1,X2) -> f(X1,X2)

The set of usable rules consists of

  (no rules)

Take the monotone reduction pair:

  matrix interpretations:
  
    carrier: N^1
    order: standard order
    interpretations:
      mark#_A(x1) = x1
      g_A(x1) = x1 + 1

The next rules are strictly ordered:

  p1
  r1, r2, r3, r4

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