YES(O(1),O(n^2))
172.96/60.03	YES(O(1),O(n^2))
172.96/60.03	
172.96/60.03	We are left with following problem, upon which TcT provides the
172.96/60.03	certificate YES(O(1),O(n^2)).
172.96/60.03	
172.96/60.03	Strict Trs:
172.96/60.03	  { a__f(X) -> f(X)
172.96/60.03	  , a__f(f(a())) -> c(f(g(f(a()))))
172.96/60.03	  , mark(f(X)) -> a__f(mark(X))
172.96/60.03	  , mark(a()) -> a()
172.96/60.03	  , mark(c(X)) -> c(X)
172.96/60.03	  , mark(g(X)) -> g(mark(X)) }
172.96/60.03	Obligation:
172.96/60.03	  derivational complexity
172.96/60.03	Answer:
172.96/60.03	  YES(O(1),O(n^2))
172.96/60.03	
172.96/60.03	The weightgap principle applies (using the following nonconstant
172.96/60.03	growth matrix-interpretation)
172.96/60.03	
172.96/60.03	TcT has computed the following triangular matrix interpretation.
172.96/60.03	Note that the diagonal of the component-wise maxima of
172.96/60.03	interpretation-entries contains no more than 1 non-zero entries.
172.96/60.03	
172.96/60.03	  [a__f](x1) = [1] x1 + [1]
172.96/60.03	                           
172.96/60.03	     [f](x1) = [1] x1 + [0]
172.96/60.03	                           
172.96/60.03	         [a] = [0]         
172.96/60.03	                           
172.96/60.03	     [c](x1) = [1] x1 + [0]
172.96/60.03	                           
172.96/60.03	     [g](x1) = [1] x1 + [0]
172.96/60.03	                           
172.96/60.03	  [mark](x1) = [1] x1 + [0]
172.96/60.03	
172.96/60.03	The order satisfies the following ordering constraints:
172.96/60.03	
172.96/60.03	       [a__f(X)] =  [1] X + [1]      
172.96/60.03	                 >  [1] X + [0]      
172.96/60.03	                 =  [f(X)]           
172.96/60.03	                                     
172.96/60.03	  [a__f(f(a()))] =  [1]              
172.96/60.03	                 >  [0]              
172.96/60.03	                 =  [c(f(g(f(a()))))]
172.96/60.03	                                     
172.96/60.03	    [mark(f(X))] =  [1] X + [0]      
172.96/60.03	                 ?  [1] X + [1]      
172.96/60.03	                 =  [a__f(mark(X))]  
172.96/60.03	                                     
172.96/60.03	     [mark(a())] =  [0]              
172.96/60.03	                 >= [0]              
172.96/60.03	                 =  [a()]            
172.96/60.03	                                     
172.96/60.03	    [mark(c(X))] =  [1] X + [0]      
172.96/60.03	                 >= [1] X + [0]      
172.96/60.03	                 =  [c(X)]           
172.96/60.03	                                     
172.96/60.03	    [mark(g(X))] =  [1] X + [0]      
172.96/60.03	                 >= [1] X + [0]      
172.96/60.03	                 =  [g(mark(X))]     
172.96/60.03	                                     
172.96/60.03	
172.96/60.03	Further, it can be verified that all rules not oriented are covered by the weightgap condition.
172.96/60.03	
172.96/60.03	We are left with following problem, upon which TcT provides the
172.96/60.03	certificate YES(O(1),O(n^2)).
172.96/60.03	
172.96/60.03	Strict Trs:
172.96/60.03	  { mark(f(X)) -> a__f(mark(X))
172.96/60.03	  , mark(a()) -> a()
172.96/60.03	  , mark(c(X)) -> c(X)
172.96/60.03	  , mark(g(X)) -> g(mark(X)) }
172.96/60.03	Weak Trs:
172.96/60.03	  { a__f(X) -> f(X)
172.96/60.03	  , a__f(f(a())) -> c(f(g(f(a())))) }
172.96/60.03	Obligation:
172.96/60.03	  derivational complexity
172.96/60.03	Answer:
172.96/60.03	  YES(O(1),O(n^2))
172.96/60.03	
172.96/60.03	We use the processor 'matrix interpretation of dimension 1' to
172.96/60.03	orient following rules strictly.
172.96/60.03	
172.96/60.03	Trs:
172.96/60.03	  { mark(a()) -> a()
172.96/60.03	  , mark(c(X)) -> c(X) }
172.96/60.03	
172.96/60.03	The induced complexity on above rules (modulo remaining rules) is
172.96/60.03	YES(?,O(n^1)) . These rules are moved into the corresponding weak
172.96/60.03	component(s).
172.96/60.03	
172.96/60.03	Sub-proof:
172.96/60.03	----------
172.96/60.03	  TcT has computed the following triangular matrix interpretation.
172.96/60.03	  
172.96/60.03	    [a__f](x1) = [1] x1 + [0]
172.96/60.03	                             
172.96/60.03	       [f](x1) = [1] x1 + [0]
172.96/60.03	                             
172.96/60.03	           [a] = [0]         
172.96/60.03	                             
172.96/60.03	       [c](x1) = [1] x1 + [0]
172.96/60.03	                             
172.96/60.03	       [g](x1) = [1] x1 + [0]
172.96/60.03	                             
172.96/60.03	    [mark](x1) = [1] x1 + [1]
172.96/60.03	  
172.96/60.03	  The order satisfies the following ordering constraints:
172.96/60.03	  
172.96/60.03	         [a__f(X)] =  [1] X + [0]      
172.96/60.03	                   >= [1] X + [0]      
172.96/60.03	                   =  [f(X)]           
172.96/60.03	                                       
172.96/60.03	    [a__f(f(a()))] =  [0]              
172.96/60.03	                   >= [0]              
172.96/60.03	                   =  [c(f(g(f(a()))))]
172.96/60.03	                                       
172.96/60.03	      [mark(f(X))] =  [1] X + [1]      
172.96/60.03	                   >= [1] X + [1]      
172.96/60.03	                   =  [a__f(mark(X))]  
172.96/60.03	                                       
172.96/60.03	       [mark(a())] =  [1]              
172.96/60.03	                   >  [0]              
172.96/60.03	                   =  [a()]            
172.96/60.03	                                       
172.96/60.03	      [mark(c(X))] =  [1] X + [1]      
172.96/60.03	                   >  [1] X + [0]      
172.96/60.03	                   =  [c(X)]           
172.96/60.03	                                       
172.96/60.03	      [mark(g(X))] =  [1] X + [1]      
172.96/60.03	                   >= [1] X + [1]      
172.96/60.03	                   =  [g(mark(X))]     
172.96/60.03	                                       
172.96/60.03	
172.96/60.03	We return to the main proof.
172.96/60.03	
172.96/60.03	We are left with following problem, upon which TcT provides the
172.96/60.03	certificate YES(O(1),O(n^2)).
172.96/60.03	
172.96/60.03	Strict Trs:
172.96/60.03	  { mark(f(X)) -> a__f(mark(X))
172.96/60.03	  , mark(g(X)) -> g(mark(X)) }
172.96/60.03	Weak Trs:
172.96/60.03	  { a__f(X) -> f(X)
172.96/60.03	  , a__f(f(a())) -> c(f(g(f(a()))))
172.96/60.03	  , mark(a()) -> a()
172.96/60.03	  , mark(c(X)) -> c(X) }
172.96/60.03	Obligation:
172.96/60.03	  derivational complexity
172.96/60.03	Answer:
172.96/60.03	  YES(O(1),O(n^2))
172.96/60.03	
172.96/60.03	We use the processor 'matrix interpretation of dimension 2' to
172.96/60.03	orient following rules strictly.
172.96/60.03	
172.96/60.03	Trs: { mark(g(X)) -> g(mark(X)) }
172.96/60.03	
172.96/60.03	The induced complexity on above rules (modulo remaining rules) is
172.96/60.03	YES(?,O(n^2)) . These rules are moved into the corresponding weak
172.96/60.03	component(s).
172.96/60.03	
172.96/60.03	Sub-proof:
172.96/60.03	----------
172.96/60.03	  TcT has computed the following triangular matrix interpretation.
172.96/60.03	  
172.96/60.03	    [a__f](x1) = [1 0] x1 + [0]
172.96/60.03	                 [0 1]      [0]
172.96/60.03	                               
172.96/60.03	       [f](x1) = [1 0] x1 + [0]
172.96/60.03	                 [0 1]      [0]
172.96/60.03	                               
172.96/60.03	           [a] = [0]           
172.96/60.03	                 [0]           
172.96/60.03	                               
172.96/60.03	       [c](x1) = [1 0] x1 + [0]
172.96/60.03	                 [0 0]      [0]
172.96/60.03	                               
172.96/60.03	       [g](x1) = [1 0] x1 + [0]
172.96/60.03	                 [0 1]      [2]
172.96/60.03	                               
172.96/60.03	    [mark](x1) = [1 1] x1 + [0]
172.96/60.03	                 [0 1]      [0]
172.96/60.03	  
172.96/60.03	  The order satisfies the following ordering constraints:
172.96/60.03	  
172.96/60.03	         [a__f(X)] =  [1 0] X + [0]    
172.96/60.03	                      [0 1]     [0]    
172.96/60.03	                   >= [1 0] X + [0]    
172.96/60.03	                      [0 1]     [0]    
172.96/60.03	                   =  [f(X)]           
172.96/60.03	                                       
172.96/60.03	    [a__f(f(a()))] =  [0]              
172.96/60.03	                      [0]              
172.96/60.03	                   >= [0]              
172.96/60.03	                      [0]              
172.96/60.03	                   =  [c(f(g(f(a()))))]
172.96/60.03	                                       
172.96/60.03	      [mark(f(X))] =  [1 1] X + [0]    
172.96/60.03	                      [0 1]     [0]    
172.96/60.03	                   >= [1 1] X + [0]    
172.96/60.03	                      [0 1]     [0]    
172.96/60.03	                   =  [a__f(mark(X))]  
172.96/60.03	                                       
172.96/60.03	       [mark(a())] =  [0]              
172.96/60.03	                      [0]              
172.96/60.03	                   >= [0]              
172.96/60.03	                      [0]              
172.96/60.03	                   =  [a()]            
172.96/60.03	                                       
172.96/60.03	      [mark(c(X))] =  [1 0] X + [0]    
172.96/60.03	                      [0 0]     [0]    
172.96/60.03	                   >= [1 0] X + [0]    
172.96/60.03	                      [0 0]     [0]    
172.96/60.03	                   =  [c(X)]           
172.96/60.03	                                       
172.96/60.03	      [mark(g(X))] =  [1 1] X + [2]    
172.96/60.03	                      [0 1]     [2]    
172.96/60.03	                   >  [1 1] X + [0]    
172.96/60.03	                      [0 1]     [2]    
172.96/60.03	                   =  [g(mark(X))]     
172.96/60.03	                                       
172.96/60.03	
172.96/60.03	We return to the main proof.
172.96/60.03	
172.96/60.03	We are left with following problem, upon which TcT provides the
172.96/60.03	certificate YES(O(1),O(n^2)).
172.96/60.03	
172.96/60.03	Strict Trs: { mark(f(X)) -> a__f(mark(X)) }
172.96/60.03	Weak Trs:
172.96/60.03	  { a__f(X) -> f(X)
172.96/60.03	  , a__f(f(a())) -> c(f(g(f(a()))))
172.96/60.03	  , mark(a()) -> a()
172.96/60.03	  , mark(c(X)) -> c(X)
172.96/60.03	  , mark(g(X)) -> g(mark(X)) }
172.96/60.03	Obligation:
172.96/60.03	  derivational complexity
172.96/60.03	Answer:
172.96/60.03	  YES(O(1),O(n^2))
172.96/60.03	
172.96/60.03	We use the processor 'matrix interpretation of dimension 2' to
172.96/60.03	orient following rules strictly.
172.96/60.03	
172.96/60.03	Trs: { mark(f(X)) -> a__f(mark(X)) }
172.96/60.03	
172.96/60.03	The induced complexity on above rules (modulo remaining rules) is
172.96/60.03	YES(?,O(n^2)) . These rules are moved into the corresponding weak
172.96/60.03	component(s).
172.96/60.03	
172.96/60.03	Sub-proof:
172.96/60.03	----------
172.96/60.03	  TcT has computed the following triangular matrix interpretation.
172.96/60.03	  
172.96/60.03	    [a__f](x1) = [1 0] x1 + [2]
172.96/60.03	                 [0 1]      [2]
172.96/60.03	                               
172.96/60.03	       [f](x1) = [1 0] x1 + [2]
172.96/60.03	                 [0 1]      [2]
172.96/60.03	                               
172.96/60.03	           [a] = [0]           
172.96/60.03	                 [0]           
172.96/60.03	                               
172.96/60.03	       [c](x1) = [1 0] x1 + [0]
172.96/60.03	                 [0 0]      [0]
172.96/60.03	                               
172.96/60.03	       [g](x1) = [1 0] x1 + [0]
172.96/60.03	                 [0 1]      [0]
172.96/60.03	                               
172.96/60.03	    [mark](x1) = [1 1] x1 + [0]
172.96/60.03	                 [0 1]      [0]
172.96/60.03	  
172.96/60.03	  The order satisfies the following ordering constraints:
172.96/60.03	  
172.96/60.03	         [a__f(X)] =  [1 0] X + [2]    
172.96/60.03	                      [0 1]     [2]    
172.96/60.03	                   >= [1 0] X + [2]    
172.96/60.03	                      [0 1]     [2]    
172.96/60.03	                   =  [f(X)]           
172.96/60.03	                                       
172.96/60.03	    [a__f(f(a()))] =  [4]              
172.96/60.03	                      [4]              
172.96/60.03	                   >= [4]              
172.96/60.03	                      [0]              
172.96/60.03	                   =  [c(f(g(f(a()))))]
172.96/60.03	                                       
172.96/60.03	      [mark(f(X))] =  [1 1] X + [4]    
172.96/60.03	                      [0 1]     [2]    
172.96/60.03	                   >  [1 1] X + [2]    
172.96/60.03	                      [0 1]     [2]    
172.96/60.03	                   =  [a__f(mark(X))]  
172.96/60.03	                                       
172.96/60.03	       [mark(a())] =  [0]              
172.96/60.03	                      [0]              
172.96/60.03	                   >= [0]              
172.96/60.03	                      [0]              
172.96/60.03	                   =  [a()]            
172.96/60.03	                                       
172.96/60.03	      [mark(c(X))] =  [1 0] X + [0]    
172.96/60.03	                      [0 0]     [0]    
172.96/60.03	                   >= [1 0] X + [0]    
172.96/60.03	                      [0 0]     [0]    
172.96/60.03	                   =  [c(X)]           
172.96/60.03	                                       
172.96/60.03	      [mark(g(X))] =  [1 1] X + [0]    
172.96/60.03	                      [0 1]     [0]    
172.96/60.03	                   >= [1 1] X + [0]    
172.96/60.03	                      [0 1]     [0]    
172.96/60.03	                   =  [g(mark(X))]     
172.96/60.03	                                       
172.96/60.03	
172.96/60.03	We return to the main proof.
172.96/60.03	
172.96/60.03	We are left with following problem, upon which TcT provides the
172.96/60.03	certificate YES(O(1),O(1)).
172.96/60.03	
172.96/60.03	Weak Trs:
172.96/60.03	  { a__f(X) -> f(X)
172.96/60.03	  , a__f(f(a())) -> c(f(g(f(a()))))
172.96/60.03	  , mark(f(X)) -> a__f(mark(X))
172.96/60.03	  , mark(a()) -> a()
172.96/60.03	  , mark(c(X)) -> c(X)
172.96/60.03	  , mark(g(X)) -> g(mark(X)) }
172.96/60.03	Obligation:
172.96/60.03	  derivational complexity
172.96/60.03	Answer:
172.96/60.03	  YES(O(1),O(1))
172.96/60.03	
172.96/60.03	Empty rules are trivially bounded
172.96/60.03	
172.96/60.03	Hurray, we answered YES(O(1),O(n^2))
172.96/60.05	EOF