| 
            minus#(
                s(
                    x
                  )
              , 
                s(
                    y
                  )
              )
           | 
 →  | 
            minus#(
                x
              , 
                y
              )
           | 
| 
            quot#(
                s(
                    x
                  )
              , 
                s(
                    y
                  )
              )
           | 
 →  | 
            quot#(
                minus(
                    x
                  , 
                    y
                  )
              , 
                s(
                    y
                  )
              )
           | 
| 
            quot#(
                s(
                    x
                  )
              , 
                s(
                    y
                  )
              )
           | 
 →  | 
            minus#(
                x
              , 
                y
              )
           | 
| 
            app#(
                add(
                    n
                  , 
                    x
                  )
              , 
                y
              )
           | 
 →  | 
            app#(
                x
              , 
                y
              )
           | 
| 
            reverse#(
                add(
                    n
                  , 
                    x
                  )
              )
           | 
 →  | 
            app#(
                reverse(
                    x
                  )
              , 
                add(
                    n
                  , 
                    nil
                  )
              )
           | 
| 
            reverse#(
                add(
                    n
                  , 
                    x
                  )
              )
           | 
 →  | 
            reverse#(
                x
              )
           | 
| 
            shuffle#(
                add(
                    n
                  , 
                    x
                  )
              )
           | 
 →  | 
            shuffle#(
                reverse(
                    x
                  )
              )
           | 
| 
            shuffle#(
                add(
                    n
                  , 
                    x
                  )
              )
           | 
 →  | 
            reverse#(
                x
              )
           | 
| 
            concat#(
                cons(
                    u
                  , 
                    v
                  )
              , 
                y
              )
           | 
 →  | 
            concat#(
                v
              , 
                y
              )
           | 
| 
            less_leaves#(
                cons(
                    u
                  , 
                    v
                  )
              , 
                cons(
                    w
                  , 
                    z
                  )
              )
           | 
 →  | 
            less_leaves#(
                concat(
                    u
                  , 
                    v
                  )
              , 
                concat(
                    w
                  , 
                    z
                  )
              )
           | 
| 
            less_leaves#(
                cons(
                    u
                  , 
                    v
                  )
              , 
                cons(
                    w
                  , 
                    z
                  )
              )
           | 
 →  | 
            concat#(
                u
              , 
                v
              )
           | 
| 
            less_leaves#(
                cons(
                    u
                  , 
                    v
                  )
              , 
                cons(
                    w
                  , 
                    z
                  )
              )
           | 
 →  | 
            concat#(
                w
              , 
                z
              )
           | 
The dependency pairs are split into 7 component(s).
- 
                The
                1st
                component contains the
                pair(s) 
                
| 
                quot#(
                    s(
                        x
                      )
                  , 
                    s(
                        y
                      )
                  )
               | 
 →  | 
                quot#(
                    minus(
                        x
                      , 
                        y
                      )
                  , 
                    s(
                        y
                      )
                  )
               | 
1.1.1: reduction pair processor
        Using the following reduction pair
        
            
                Linear polynomial
             
            interpretation over 
            
                the naturals
            
| 
                            [minus
                (x1, x2)
            ]
                         | 
 =  | 
                  x1
                 | 
| 
                            [concat
                (x1, x2)
            ]
                         | 
 =  | 
                  
                      2
                    x1
                +                
            
                      3
                    
                 | 
| 
                            [leaf]
                         | 
 =  | 
                  
                      0
                    
                 | 
| 
                            [quot#
                (x1, x2)
            ]
                         | 
 =  | 
                  
                      2
                    x1
                 | 
| 
                            [quot
                (x1, x2)
            ]
                         | 
 =  | 
                  
                      2
                    x1
                 | 
| 
                            [0]
                         | 
 =  | 
                  
                      2
                    
                 | 
| 
                            [less_leaves
                (x1, x2)
            ]
                         | 
 =  | 
                  
                      3
                    
                 | 
| 
                            [nil]
                         | 
 =  | 
                  
                      3
                    
                 | 
| 
                            [shuffle
                (x1)
            ]
                         | 
 =  | 
                  
                      3
                    
                 | 
| 
                            [cons
                (x1, x2)
            ]
                         | 
 =  | 
                  
                      0
                    
                 | 
| 
                            [reverse
                (x1)
            ]
                         | 
 =  | 
                  
                      3
                    x1
                +                
            
                      3
                    
                 | 
| 
                            [true]
                         | 
 =  | 
                  
                      2
                    
                 | 
| 
                            [false]
                         | 
 =  | 
                  
                      2
                    
                 | 
| 
                            [app
                (x1, x2)
            ]
                         | 
 =  | 
                  x1
                 | 
| 
                            [add
                (x1, x2)
            ]
                         | 
 =  | 
                  x1
                 | 
| 
                            [s
                (x1)
            ]
                         | 
 =  | 
                  x1
                +                
            
                      1
                    
                 | 
| 
                        [f(x1, ..., xn)]
                     | 
 =  | 
x1 +  ... +  xn + 1 
                     | 
                         for all other symbols f of arity n
                     | 
                  
        one remains with the following pair(s).
        
1.1.1.1: P is empty 
All dependency pairs have been removed.
 
- 
                The
                2nd
                component contains the
                pair(s) 
                
| 
                minus#(
                    s(
                        x
                      )
                  , 
                    s(
                        y
                      )
                  )
               | 
 →  | 
                minus#(
                    x
                  , 
                    y
                  )
               | 
1.1.2: reduction pair processor
        Using the following reduction pair
        
            
                Linear polynomial
             
            interpretation over 
            
                the naturals
            
| 
                            [minus
                (x1, x2)
            ]
                         | 
 =  | 
                  x1
                 | 
| 
                            [concat
                (x1, x2)
            ]
                         | 
 =  | 
                  
                      2
                    x1 + x2
                 | 
| 
                            [leaf]
                         | 
 =  | 
                  
                      0
                    
                 | 
| 
                            [quot
                (x1, x2)
            ]
                         | 
 =  | 
                  x1
                 | 
| 
                            [0]
                         | 
 =  | 
                  
                      0
                    
                 | 
| 
                            [less_leaves
                (x1, x2)
            ]
                         | 
 =  | 
                  
                      1
                    
                 | 
| 
                            [nil]
                         | 
 =  | 
                  
                      0
                    
                 | 
| 
                            [shuffle
                (x1)
            ]
                         | 
 =  | 
                  
                      0
                    
                 | 
| 
                            [cons
                (x1, x2)
            ]
                         | 
 =  | 
                  
                      3
                    x1
                +                
            
                      2
                    
                 | 
| 
                            [reverse
                (x1)
            ]
                         | 
 =  | 
                  
                      2
                    
                 | 
| 
                            [true]
                         | 
 =  | 
                  
                      0
                    
                 | 
| 
                            [false]
                         | 
 =  | 
                  
                      1
                    
                 | 
| 
                            [app
                (x1, x2)
            ]
                         | 
 =  | 
                  
                      2
                    x1
                +                
            
                      1
                    
                 | 
| 
                            [add
                (x1, x2)
            ]
                         | 
 =  | 
                  
                      0
                    
                 | 
| 
                            [s
                (x1)
            ]
                         | 
 =  | 
                  
                      2
                    x1
                +                
            
                      1
                    
                 | 
| 
                            [minus#
                (x1, x2)
            ]
                         | 
 =  | 
                  
                      2
                    x1 + 
                      2
                    x2
                 | 
| 
                        [f(x1, ..., xn)]
                     | 
 =  | 
x1 +  ... +  xn + 1 
                     | 
                         for all other symbols f of arity n
                     | 
                  
        one remains with the following pair(s).
        
1.1.2.1: P is empty 
All dependency pairs have been removed.
 
- 
                The
                3rd
                component contains the
                pair(s) 
                
| 
                shuffle#(
                    add(
                        n
                      , 
                        x
                      )
                  )
               | 
 →  | 
                shuffle#(
                    reverse(
                        x
                      )
                  )
               | 
1.1.3: reduction pair processor
        Using the following reduction pair
        
            
                Linear polynomial
             
            interpretation over 
            
                the naturals
            
| 
                            [minus
                (x1, x2)
            ]
                         | 
 =  | 
                  
                      2
                    x1 + 
                      2
                    x2
                 | 
| 
                            [concat
                (x1, x2)
            ]
                         | 
 =  | 
                  
                      2
                    x1 + 
                      2
                    x2
                 | 
| 
                            [leaf]
                         | 
 =  | 
                  
                      0
                    
                 | 
| 
                            [quot
                (x1, x2)
            ]
                         | 
 =  | 
                  
                      0
                    
                 | 
| 
                            [0]
                         | 
 =  | 
                  
                      0
                    
                 | 
| 
                            [less_leaves
                (x1, x2)
            ]
                         | 
 =  | 
                  
                      2
                    
                 | 
| 
                            [nil]
                         | 
 =  | 
                  
                      0
                    
                 | 
| 
                            [shuffle
                (x1)
            ]
                         | 
 =  | 
                  
                      2
                    x1
                +                
            
                      2
                    
                 | 
| 
                            [cons
                (x1, x2)
            ]
                         | 
 =  | 
                  x1
                 | 
| 
                            [reverse
                (x1)
            ]
                         | 
 =  | 
                  x1
                 | 
| 
                            [true]
                         | 
 =  | 
                  
                      2
                    
                 | 
| 
                            [shuffle#
                (x1)
            ]
                         | 
 =  | 
                  x1
                 | 
| 
                            [false]
                         | 
 =  | 
                  
                      0
                    
                 | 
| 
                            [app
                (x1, x2)
            ]
                         | 
 =  | 
                  x1 + x2
                 | 
| 
                            [add
                (x1, x2)
            ]
                         | 
 =  | 
                  
                      3
                    x1 + x2
                +                
            
                      1
                    
                 | 
| 
                            [s
                (x1)
            ]
                         | 
 =  | 
                  
                      2
                    x1
                 | 
| 
                        [f(x1, ..., xn)]
                     | 
 =  | 
x1 +  ... +  xn + 1 
                     | 
                         for all other symbols f of arity n
                     | 
                  
        one remains with the following pair(s).
        
1.1.3.1: P is empty 
All dependency pairs have been removed.
 
- 
                The
                4th
                component contains the
                pair(s) 
                
| 
                reverse#(
                    add(
                        n
                      , 
                        x
                      )
                  )
               | 
 →  | 
                reverse#(
                    x
                  )
               | 
1.1.4: reduction pair processor
        Using the following reduction pair
        
            
                Linear polynomial
             
            interpretation over 
            
                the naturals
            
| 
                            [minus
                (x1, x2)
            ]
                         | 
 =  | 
                  x1 + 
                      3
                    x2
                 | 
| 
                            [concat
                (x1, x2)
            ]
                         | 
 =  | 
                  
                      2
                    x1 + x2
                 | 
| 
                            [reverse#
                (x1)
            ]
                         | 
 =  | 
                  x1
                 | 
| 
                            [leaf]
                         | 
 =  | 
                  
                      0
                    
                 | 
| 
                            [quot
                (x1, x2)
            ]
                         | 
 =  | 
                  
                      0
                    
                 | 
| 
                            [0]
                         | 
 =  | 
                  
                      0
                    
                 | 
| 
                            [less_leaves
                (x1, x2)
            ]
                         | 
 =  | 
                  
                      0
                    
                 | 
| 
                            [nil]
                         | 
 =  | 
                  
                      0
                    
                 | 
| 
                            [shuffle
                (x1)
            ]
                         | 
 =  | 
                  
                      2
                    x1
                 | 
| 
                            [cons
                (x1, x2)
            ]
                         | 
 =  | 
                  x1
                 | 
| 
                            [reverse
                (x1)
            ]
                         | 
 =  | 
                  x1
                 | 
| 
                            [true]
                         | 
 =  | 
                  
                      0
                    
                 | 
| 
                            [false]
                         | 
 =  | 
                  
                      0
                    
                 | 
| 
                            [app
                (x1, x2)
            ]
                         | 
 =  | 
                  x1 + x2
                 | 
| 
                            [add
                (x1, x2)
            ]
                         | 
 =  | 
                  
                      3
                    x1 + x2
                +                
            
                      2
                    
                 | 
| 
                            [s
                (x1)
            ]
                         | 
 =  | 
                  x1
                 | 
| 
                        [f(x1, ..., xn)]
                     | 
 =  | 
x1 +  ... +  xn + 1 
                     | 
                         for all other symbols f of arity n
                     | 
                  
        one remains with the following pair(s).
        
1.1.4.1: P is empty 
All dependency pairs have been removed.
 
- 
                The
                5th
                component contains the
                pair(s) 
                
| 
                app#(
                    add(
                        n
                      , 
                        x
                      )
                  , 
                    y
                  )
               | 
 →  | 
                app#(
                    x
                  , 
                    y
                  )
               | 
1.1.5: reduction pair processor
        Using the following reduction pair
        
            
                Linear polynomial
             
            interpretation over 
            
                the naturals
            
| 
                            [minus
                (x1, x2)
            ]
                         | 
 =  | 
                  
                      2
                    x1 + 
                      2
                    x2
                 | 
| 
                            [concat
                (x1, x2)
            ]
                         | 
 =  | 
                  
                      2
                    x1 + x2
                 | 
| 
                            [leaf]
                         | 
 =  | 
                  
                      0
                    
                 | 
| 
                            [quot
                (x1, x2)
            ]
                         | 
 =  | 
                  
                      0
                    
                 | 
| 
                            [0]
                         | 
 =  | 
                  
                      0
                    
                 | 
| 
                            [app#
                (x1, x2)
            ]
                         | 
 =  | 
                  x1
                 | 
| 
                            [less_leaves
                (x1, x2)
            ]
                         | 
 =  | 
                  
                      2
                    
                 | 
| 
                            [nil]
                         | 
 =  | 
                  
                      0
                    
                 | 
| 
                            [shuffle
                (x1)
            ]
                         | 
 =  | 
                  
                      2
                    x1
                 | 
| 
                            [cons
                (x1, x2)
            ]
                         | 
 =  | 
                  x1 + x2
                 | 
| 
                            [reverse
                (x1)
            ]
                         | 
 =  | 
                  x1
                 | 
| 
                            [true]
                         | 
 =  | 
                  
                      1
                    
                 | 
| 
                            [false]
                         | 
 =  | 
                  
                      0
                    
                 | 
| 
                            [app
                (x1, x2)
            ]
                         | 
 =  | 
                  x1 + x2
                 | 
| 
                            [add
                (x1, x2)
            ]
                         | 
 =  | 
                  
                      3
                    x1 + x2
                +                
            
                      2
                    
                 | 
| 
                            [s
                (x1)
            ]
                         | 
 =  | 
                  
                      2
                    x1
                 | 
| 
                        [f(x1, ..., xn)]
                     | 
 =  | 
x1 +  ... +  xn + 1 
                     | 
                         for all other symbols f of arity n
                     | 
                  
        one remains with the following pair(s).
        
1.1.5.1: P is empty 
All dependency pairs have been removed.
 
- 
                The
                6th
                component contains the
                pair(s) 
                
| 
                less_leaves#(
                    cons(
                        u
                      , 
                        v
                      )
                  , 
                    cons(
                        w
                      , 
                        z
                      )
                  )
               | 
 →  | 
                less_leaves#(
                    concat(
                        u
                      , 
                        v
                      )
                  , 
                    concat(
                        w
                      , 
                        z
                      )
                  )
               | 
1.1.6: reduction pair processor
        Using the following reduction pair
        
            
                Linear polynomial
             
            interpretation over 
            
                the naturals
            
| 
                            [concat
                (x1, x2)
            ]
                         | 
 =  | 
                  
                      2
                    x1 + x2
                 | 
| 
                            [minus
                (x1, x2)
            ]
                         | 
 =  | 
                  
                      2
                    x1 + x2
                 | 
| 
                            [leaf]
                         | 
 =  | 
                  
                      0
                    
                 | 
| 
                            [quot
                (x1, x2)
            ]
                         | 
 =  | 
                  
                      0
                    
                 | 
| 
                            [0]
                         | 
 =  | 
                  
                      0
                    
                 | 
| 
                            [less_leaves
                (x1, x2)
            ]
                         | 
 =  | 
                  
                      2
                    
                 | 
| 
                            [nil]
                         | 
 =  | 
                  
                      0
                    
                 | 
| 
                            [cons
                (x1, x2)
            ]
                         | 
 =  | 
                  
                      2
                    x1 + x2
                +                
            
                      1
                    
                 | 
| 
                            [shuffle
                (x1)
            ]
                         | 
 =  | 
                  
                      1
                    
                 | 
| 
                            [reverse
                (x1)
            ]
                         | 
 =  | 
                  
                      0
                    
                 | 
| 
                            [true]
                         | 
 =  | 
                  
                      1
                    
                 | 
| 
                            [less_leaves#
                (x1, x2)
            ]
                         | 
 =  | 
                  x1
                 | 
| 
                            [false]
                         | 
 =  | 
                  
                      1
                    
                 | 
| 
                            [app
                (x1, x2)
            ]
                         | 
 =  | 
                  
                      2
                    x1
                 | 
| 
                            [add
                (x1, x2)
            ]
                         | 
 =  | 
                  
                      0
                    
                 | 
| 
                            [s
                (x1)
            ]
                         | 
 =  | 
                  
                      2
                    x1
                 | 
| 
                        [f(x1, ..., xn)]
                     | 
 =  | 
x1 +  ... +  xn + 1 
                     | 
                         for all other symbols f of arity n
                     | 
                  
        one remains with the following pair(s).
        
1.1.6.1: P is empty 
All dependency pairs have been removed.
 
- 
                The
                7th
                component contains the
                pair(s) 
                
| 
                concat#(
                    cons(
                        u
                      , 
                        v
                      )
                  , 
                    y
                  )
               | 
 →  | 
                concat#(
                    v
                  , 
                    y
                  )
               | 
1.1.7: reduction pair processor
        Using the following reduction pair
        
            
                Linear polynomial
             
            interpretation over 
            
                the naturals
            
| 
                            [minus
                (x1, x2)
            ]
                         | 
 =  | 
                  x1
                 | 
| 
                            [concat
                (x1, x2)
            ]
                         | 
 =  | 
                  
                      2
                    x1 + x2
                +                
            
                      2
                    
                 | 
| 
                            [leaf]
                         | 
 =  | 
                  
                      0
                    
                 | 
| 
                            [quot
                (x1, x2)
            ]
                         | 
 =  | 
                  
                      2
                    x1
                 | 
| 
                            [0]
                         | 
 =  | 
                  
                      0
                    
                 | 
| 
                            [less_leaves
                (x1, x2)
            ]
                         | 
 =  | 
                  
                      1
                    
                 | 
| 
                            [nil]
                         | 
 =  | 
                  
                      0
                    
                 | 
| 
                            [cons
                (x1, x2)
            ]
                         | 
 =  | 
                  
                      2
                    x1 + x2
                +                
            
                      3
                    
                 | 
| 
                            [shuffle
                (x1)
            ]
                         | 
 =  | 
                  
                      1
                    
                 | 
| 
                            [reverse
                (x1)
            ]
                         | 
 =  | 
                  
                      0
                    
                 | 
| 
                            [true]
                         | 
 =  | 
                  
                      0
                    
                 | 
| 
                            [false]
                         | 
 =  | 
                  
                      0
                    
                 | 
| 
                            [app
                (x1, x2)
            ]
                         | 
 =  | 
                  
                      2
                    x1
                 | 
| 
                            [add
                (x1, x2)
            ]
                         | 
 =  | 
                  
                      0
                    
                 | 
| 
                            [concat#
                (x1, x2)
            ]
                         | 
 =  | 
                  x1
                 | 
| 
                            [s
                (x1)
            ]
                         | 
 =  | 
                  
                      2
                    x1
                 | 
| 
                        [f(x1, ..., xn)]
                     | 
 =  | 
x1 +  ... +  xn + 1 
                     | 
                         for all other symbols f of arity n
                     | 
                  
        one remains with the following pair(s).
        
1.1.7.1: P is empty 
All dependency pairs have been removed.