YES

We show the termination of the relative TRS R/S:

  R:
  pred(s(x)) -> x
  minus(x,|0|()) -> x
  minus(x,s(y)) -> pred(minus(x,y))
  quot(|0|(),s(y)) -> |0|()
  quot(s(x),s(y)) -> s(quot(minus(x,y),s(y)))
  log(s(|0|())) -> |0|()
  log(s(s(x))) -> s(log(s(quot(x,s(s(|0|()))))))

  S:
  rand(x) -> x
  rand(x) -> rand(s(x))

-- SCC decomposition.

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

p1: minus#(x,s(y)) -> pred#(minus(x,y))
p2: minus#(x,s(y)) -> minus#(x,y)
p3: quot#(s(x),s(y)) -> quot#(minus(x,y),s(y))
p4: quot#(s(x),s(y)) -> minus#(x,y)
p5: log#(s(s(x))) -> log#(s(quot(x,s(s(|0|())))))
p6: log#(s(s(x))) -> quot#(x,s(s(|0|())))

and R consists of:

r1: pred(s(x)) -> x
r2: minus(x,|0|()) -> x
r3: minus(x,s(y)) -> pred(minus(x,y))
r4: quot(|0|(),s(y)) -> |0|()
r5: quot(s(x),s(y)) -> s(quot(minus(x,y),s(y)))
r6: log(s(|0|())) -> |0|()
r7: log(s(s(x))) -> s(log(s(quot(x,s(s(|0|()))))))
r8: rand(x) -> x
r9: rand(x) -> rand(s(x))

The estimated dependency graph contains the following SCCs:

  {p5}
  {p3}
  {p2}


-- Reduction pair.

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

p1: log#(s(s(x))) -> log#(s(quot(x,s(s(|0|())))))

and R consists of:

r1: pred(s(x)) -> x
r2: minus(x,|0|()) -> x
r3: minus(x,s(y)) -> pred(minus(x,y))
r4: quot(|0|(),s(y)) -> |0|()
r5: quot(s(x),s(y)) -> s(quot(minus(x,y),s(y)))
r6: log(s(|0|())) -> |0|()
r7: log(s(s(x))) -> s(log(s(quot(x,s(s(|0|()))))))
r8: rand(x) -> x
r9: rand(x) -> rand(s(x))

The set of usable rules consists of

  r1, r2, r3, r4, r5, r6, r7, r8, r9

Take the reduction pair:

  lexicographic combination of reduction pairs:
  
    1. matrix interpretations:
    
      carrier: N^1
      order: standard order
      interpretations:
        log#_A(x1) = x1
        s_A(x1) = x1
        quot_A(x1,x2) = x1
        |0|_A() = 1
        pred_A(x1) = x1
        minus_A(x1,x2) = x1
        log_A(x1) = x1 + 1
        rand_A(x1) = x1 + 1
    
    2. lexicographic path order with precedence:
    
      precedence:
      
        s > rand > log# > log > quot > minus > |0| > pred
      
      argument filter:
    
        pi(log#) = 1
        pi(s) = [1]
        pi(quot) = 1
        pi(|0|) = []
        pi(pred) = 1
        pi(minus) = 1
        pi(log) = 1
        pi(rand) = []
    

The next rules are strictly ordered:

  p1

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

-- Reduction pair.

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

p1: quot#(s(x),s(y)) -> quot#(minus(x,y),s(y))

and R consists of:

r1: pred(s(x)) -> x
r2: minus(x,|0|()) -> x
r3: minus(x,s(y)) -> pred(minus(x,y))
r4: quot(|0|(),s(y)) -> |0|()
r5: quot(s(x),s(y)) -> s(quot(minus(x,y),s(y)))
r6: log(s(|0|())) -> |0|()
r7: log(s(s(x))) -> s(log(s(quot(x,s(s(|0|()))))))
r8: rand(x) -> x
r9: rand(x) -> rand(s(x))

The set of usable rules consists of

  r1, r2, r3, r4, r5, r6, r7, r8, r9

Take the reduction pair:

  lexicographic combination of reduction pairs:
  
    1. matrix interpretations:
    
      carrier: N^1
      order: standard order
      interpretations:
        quot#_A(x1,x2) = x1
        s_A(x1) = x1
        minus_A(x1,x2) = x1
        pred_A(x1) = x1
        |0|_A() = 1
        quot_A(x1,x2) = x1
        log_A(x1) = x1 + 1
        rand_A(x1) = x1 + 1
    
    2. lexicographic path order with precedence:
    
      precedence:
      
        log > s > quot > minus > |0| > quot# > rand > pred
      
      argument filter:
    
        pi(quot#) = [1]
        pi(s) = [1]
        pi(minus) = 1
        pi(pred) = 1
        pi(|0|) = []
        pi(quot) = 1
        pi(log) = [1]
        pi(rand) = []
    

The next rules are strictly ordered:

  p1

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

-- Reduction pair.

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

p1: minus#(x,s(y)) -> minus#(x,y)

and R consists of:

r1: pred(s(x)) -> x
r2: minus(x,|0|()) -> x
r3: minus(x,s(y)) -> pred(minus(x,y))
r4: quot(|0|(),s(y)) -> |0|()
r5: quot(s(x),s(y)) -> s(quot(minus(x,y),s(y)))
r6: log(s(|0|())) -> |0|()
r7: log(s(s(x))) -> s(log(s(quot(x,s(s(|0|()))))))
r8: rand(x) -> x
r9: rand(x) -> rand(s(x))

The set of usable rules consists of

  r1, r2, r3, r4, r5, r6, r7, r8, r9

Take the reduction pair:

  lexicographic combination of reduction pairs:
  
    1. matrix interpretations:
    
      carrier: N^1
      order: standard order
      interpretations:
        minus#_A(x1,x2) = x2
        s_A(x1) = x1
        pred_A(x1) = x1
        minus_A(x1,x2) = x1
        |0|_A() = 1
        quot_A(x1,x2) = x1
        log_A(x1) = x1 + 1
        rand_A(x1) = x1 + 1
    
    2. lexicographic path order with precedence:
    
      precedence:
      
        log > s > rand > |0| > quot > pred > minus > minus#
      
      argument filter:
    
        pi(minus#) = [2]
        pi(s) = [1]
        pi(pred) = 1
        pi(minus) = 1
        pi(|0|) = []
        pi(quot) = 1
        pi(log) = [1]
        pi(rand) = []
    

The next rules are strictly ordered:

  p1

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