0.00/0.01 YES 0.00/0.01 0.00/0.01 Problem 1: 0.00/0.01 0.00/0.01 (VAR v_NonEmpty:S @l1:S @l2:S @t:S @t1:S @t2:S @x:S @xs:S) 0.00/0.01 (RULES 0.00/0.01 append(@l1:S,@l2:S) -> append#1(@l1:S,@l2:S) 0.00/0.01 append#1(::(@x:S,@xs:S),@l2:S) -> ::(@x:S,append(@xs:S,@l2:S)) 0.00/0.01 append#1(nil,@l2:S) -> @l2:S 0.00/0.01 subtrees(@t:S) -> subtrees#1(@t:S) 0.00/0.01 subtrees#1(leaf) -> nil 0.00/0.01 subtrees#1(node(@x:S,@t1:S,@t2:S)) -> subtrees#2(subtrees(@t1:S),@t1:S,@t2:S,@x:S) 0.00/0.01 subtrees#2(@l1:S,@t1:S,@t2:S,@x:S) -> subtrees#3(subtrees(@t2:S),@l1:S,@t1:S,@t2:S,@x:S) 0.00/0.01 subtrees#3(@l2:S,@l1:S,@t1:S,@t2:S,@x:S) -> ::(node(@x:S,@t1:S,@t2:S),append(@l1:S,@l2:S)) 0.00/0.01 ) 0.00/0.01 (STRATEGY INNERMOST) 0.00/0.01 0.00/0.01 Problem 1: 0.00/0.01 0.00/0.01 Dependency Pairs Processor: 0.00/0.01 -> Pairs: 0.00/0.01 APPEND(@l1:S,@l2:S) -> APPEND#1(@l1:S,@l2:S) 0.00/0.01 APPEND#1(::(@x:S,@xs:S),@l2:S) -> APPEND(@xs:S,@l2:S) 0.00/0.01 SUBTREES(@t:S) -> SUBTREES#1(@t:S) 0.00/0.01 SUBTREES#1(node(@x:S,@t1:S,@t2:S)) -> SUBTREES(@t1:S) 0.00/0.01 SUBTREES#1(node(@x:S,@t1:S,@t2:S)) -> SUBTREES#2(subtrees(@t1:S),@t1:S,@t2:S,@x:S) 0.00/0.01 SUBTREES#2(@l1:S,@t1:S,@t2:S,@x:S) -> SUBTREES(@t2:S) 0.00/0.01 SUBTREES#2(@l1:S,@t1:S,@t2:S,@x:S) -> SUBTREES#3(subtrees(@t2:S),@l1:S,@t1:S,@t2:S,@x:S) 0.00/0.01 SUBTREES#3(@l2:S,@l1:S,@t1:S,@t2:S,@x:S) -> APPEND(@l1:S,@l2:S) 0.00/0.01 -> Rules: 0.00/0.01 append(@l1:S,@l2:S) -> append#1(@l1:S,@l2:S) 0.00/0.01 append#1(::(@x:S,@xs:S),@l2:S) -> ::(@x:S,append(@xs:S,@l2:S)) 0.00/0.01 append#1(nil,@l2:S) -> @l2:S 0.00/0.01 subtrees(@t:S) -> subtrees#1(@t:S) 0.00/0.01 subtrees#1(leaf) -> nil 0.00/0.01 subtrees#1(node(@x:S,@t1:S,@t2:S)) -> subtrees#2(subtrees(@t1:S),@t1:S,@t2:S,@x:S) 0.00/0.01 subtrees#2(@l1:S,@t1:S,@t2:S,@x:S) -> subtrees#3(subtrees(@t2:S),@l1:S,@t1:S,@t2:S,@x:S) 0.00/0.01 subtrees#3(@l2:S,@l1:S,@t1:S,@t2:S,@x:S) -> ::(node(@x:S,@t1:S,@t2:S),append(@l1:S,@l2:S)) 0.00/0.01 0.00/0.01 Problem 1: 0.00/0.01 0.00/0.01 SCC Processor: 0.00/0.01 -> Pairs: 0.00/0.01 APPEND(@l1:S,@l2:S) -> APPEND#1(@l1:S,@l2:S) 0.00/0.01 APPEND#1(::(@x:S,@xs:S),@l2:S) -> APPEND(@xs:S,@l2:S) 0.00/0.01 SUBTREES(@t:S) -> SUBTREES#1(@t:S) 0.00/0.01 SUBTREES#1(node(@x:S,@t1:S,@t2:S)) -> SUBTREES(@t1:S) 0.00/0.01 SUBTREES#1(node(@x:S,@t1:S,@t2:S)) -> SUBTREES#2(subtrees(@t1:S),@t1:S,@t2:S,@x:S) 0.00/0.01 SUBTREES#2(@l1:S,@t1:S,@t2:S,@x:S) -> SUBTREES(@t2:S) 0.00/0.01 SUBTREES#2(@l1:S,@t1:S,@t2:S,@x:S) -> SUBTREES#3(subtrees(@t2:S),@l1:S,@t1:S,@t2:S,@x:S) 0.00/0.01 SUBTREES#3(@l2:S,@l1:S,@t1:S,@t2:S,@x:S) -> APPEND(@l1:S,@l2:S) 0.00/0.01 -> Rules: 0.00/0.01 append(@l1:S,@l2:S) -> append#1(@l1:S,@l2:S) 0.00/0.01 append#1(::(@x:S,@xs:S),@l2:S) -> ::(@x:S,append(@xs:S,@l2:S)) 0.00/0.01 append#1(nil,@l2:S) -> @l2:S 0.00/0.01 subtrees(@t:S) -> subtrees#1(@t:S) 0.00/0.01 subtrees#1(leaf) -> nil 0.00/0.01 subtrees#1(node(@x:S,@t1:S,@t2:S)) -> subtrees#2(subtrees(@t1:S),@t1:S,@t2:S,@x:S) 0.00/0.01 subtrees#2(@l1:S,@t1:S,@t2:S,@x:S) -> subtrees#3(subtrees(@t2:S),@l1:S,@t1:S,@t2:S,@x:S) 0.00/0.01 subtrees#3(@l2:S,@l1:S,@t1:S,@t2:S,@x:S) -> ::(node(@x:S,@t1:S,@t2:S),append(@l1:S,@l2:S)) 0.00/0.01 ->Strongly Connected Components: 0.00/0.01 ->->Cycle: 0.00/0.01 ->->-> Pairs: 0.00/0.01 APPEND(@l1:S,@l2:S) -> APPEND#1(@l1:S,@l2:S) 0.00/0.01 APPEND#1(::(@x:S,@xs:S),@l2:S) -> APPEND(@xs:S,@l2:S) 0.00/0.01 ->->-> Rules: 0.00/0.01 append(@l1:S,@l2:S) -> append#1(@l1:S,@l2:S) 0.00/0.01 append#1(::(@x:S,@xs:S),@l2:S) -> ::(@x:S,append(@xs:S,@l2:S)) 0.00/0.01 append#1(nil,@l2:S) -> @l2:S 0.00/0.01 subtrees(@t:S) -> subtrees#1(@t:S) 0.00/0.01 subtrees#1(leaf) -> nil 0.00/0.01 subtrees#1(node(@x:S,@t1:S,@t2:S)) -> subtrees#2(subtrees(@t1:S),@t1:S,@t2:S,@x:S) 0.00/0.01 subtrees#2(@l1:S,@t1:S,@t2:S,@x:S) -> subtrees#3(subtrees(@t2:S),@l1:S,@t1:S,@t2:S,@x:S) 0.00/0.01 subtrees#3(@l2:S,@l1:S,@t1:S,@t2:S,@x:S) -> ::(node(@x:S,@t1:S,@t2:S),append(@l1:S,@l2:S)) 0.00/0.01 ->->Cycle: 0.00/0.01 ->->-> Pairs: 0.00/0.01 SUBTREES(@t:S) -> SUBTREES#1(@t:S) 0.00/0.01 SUBTREES#1(node(@x:S,@t1:S,@t2:S)) -> SUBTREES(@t1:S) 0.00/0.01 SUBTREES#1(node(@x:S,@t1:S,@t2:S)) -> SUBTREES#2(subtrees(@t1:S),@t1:S,@t2:S,@x:S) 0.00/0.01 SUBTREES#2(@l1:S,@t1:S,@t2:S,@x:S) -> SUBTREES(@t2:S) 0.00/0.01 ->->-> Rules: 0.00/0.01 append(@l1:S,@l2:S) -> append#1(@l1:S,@l2:S) 0.00/0.01 append#1(::(@x:S,@xs:S),@l2:S) -> ::(@x:S,append(@xs:S,@l2:S)) 0.00/0.01 append#1(nil,@l2:S) -> @l2:S 0.00/0.01 subtrees(@t:S) -> subtrees#1(@t:S) 0.00/0.01 subtrees#1(leaf) -> nil 0.00/0.01 subtrees#1(node(@x:S,@t1:S,@t2:S)) -> subtrees#2(subtrees(@t1:S),@t1:S,@t2:S,@x:S) 0.00/0.01 subtrees#2(@l1:S,@t1:S,@t2:S,@x:S) -> subtrees#3(subtrees(@t2:S),@l1:S,@t1:S,@t2:S,@x:S) 0.00/0.01 subtrees#3(@l2:S,@l1:S,@t1:S,@t2:S,@x:S) -> ::(node(@x:S,@t1:S,@t2:S),append(@l1:S,@l2:S)) 0.00/0.01 0.00/0.01 0.00/0.01 The problem is decomposed in 2 subproblems. 0.00/0.01 0.00/0.01 Problem 1.1: 0.00/0.01 0.00/0.01 Subterm Processor: 0.00/0.01 -> Pairs: 0.00/0.01 APPEND(@l1:S,@l2:S) -> APPEND#1(@l1:S,@l2:S) 0.00/0.01 APPEND#1(::(@x:S,@xs:S),@l2:S) -> APPEND(@xs:S,@l2:S) 0.00/0.01 -> Rules: 0.00/0.01 append(@l1:S,@l2:S) -> append#1(@l1:S,@l2:S) 0.00/0.01 append#1(::(@x:S,@xs:S),@l2:S) -> ::(@x:S,append(@xs:S,@l2:S)) 0.00/0.01 append#1(nil,@l2:S) -> @l2:S 0.00/0.01 subtrees(@t:S) -> subtrees#1(@t:S) 0.00/0.01 subtrees#1(leaf) -> nil 0.00/0.01 subtrees#1(node(@x:S,@t1:S,@t2:S)) -> subtrees#2(subtrees(@t1:S),@t1:S,@t2:S,@x:S) 0.00/0.01 subtrees#2(@l1:S,@t1:S,@t2:S,@x:S) -> subtrees#3(subtrees(@t2:S),@l1:S,@t1:S,@t2:S,@x:S) 0.00/0.01 subtrees#3(@l2:S,@l1:S,@t1:S,@t2:S,@x:S) -> ::(node(@x:S,@t1:S,@t2:S),append(@l1:S,@l2:S)) 0.00/0.01 ->Projection: 0.00/0.01 pi(APPEND) = 1 0.00/0.01 pi(APPEND#1) = 1 0.00/0.01 0.00/0.01 Problem 1.1: 0.00/0.01 0.00/0.01 SCC Processor: 0.00/0.01 -> Pairs: 0.00/0.01 APPEND(@l1:S,@l2:S) -> APPEND#1(@l1:S,@l2:S) 0.00/0.01 -> Rules: 0.00/0.01 append(@l1:S,@l2:S) -> append#1(@l1:S,@l2:S) 0.00/0.01 append#1(::(@x:S,@xs:S),@l2:S) -> ::(@x:S,append(@xs:S,@l2:S)) 0.00/0.01 append#1(nil,@l2:S) -> @l2:S 0.00/0.01 subtrees(@t:S) -> subtrees#1(@t:S) 0.00/0.01 subtrees#1(leaf) -> nil 0.00/0.01 subtrees#1(node(@x:S,@t1:S,@t2:S)) -> subtrees#2(subtrees(@t1:S),@t1:S,@t2:S,@x:S) 0.00/0.01 subtrees#2(@l1:S,@t1:S,@t2:S,@x:S) -> subtrees#3(subtrees(@t2:S),@l1:S,@t1:S,@t2:S,@x:S) 0.00/0.01 subtrees#3(@l2:S,@l1:S,@t1:S,@t2:S,@x:S) -> ::(node(@x:S,@t1:S,@t2:S),append(@l1:S,@l2:S)) 0.00/0.01 ->Strongly Connected Components: 0.00/0.01 There is no strongly connected component 0.00/0.01 0.00/0.01 The problem is finite. 0.00/0.01 0.00/0.01 Problem 1.2: 0.00/0.01 0.00/0.01 Subterm Processor: 0.00/0.01 -> Pairs: 0.00/0.01 SUBTREES(@t:S) -> SUBTREES#1(@t:S) 0.00/0.01 SUBTREES#1(node(@x:S,@t1:S,@t2:S)) -> SUBTREES(@t1:S) 0.00/0.01 SUBTREES#1(node(@x:S,@t1:S,@t2:S)) -> SUBTREES#2(subtrees(@t1:S),@t1:S,@t2:S,@x:S) 0.00/0.01 SUBTREES#2(@l1:S,@t1:S,@t2:S,@x:S) -> SUBTREES(@t2:S) 0.00/0.01 -> Rules: 0.00/0.01 append(@l1:S,@l2:S) -> append#1(@l1:S,@l2:S) 0.00/0.01 append#1(::(@x:S,@xs:S),@l2:S) -> ::(@x:S,append(@xs:S,@l2:S)) 0.00/0.01 append#1(nil,@l2:S) -> @l2:S 0.00/0.01 subtrees(@t:S) -> subtrees#1(@t:S) 0.00/0.01 subtrees#1(leaf) -> nil 0.00/0.01 subtrees#1(node(@x:S,@t1:S,@t2:S)) -> subtrees#2(subtrees(@t1:S),@t1:S,@t2:S,@x:S) 0.00/0.01 subtrees#2(@l1:S,@t1:S,@t2:S,@x:S) -> subtrees#3(subtrees(@t2:S),@l1:S,@t1:S,@t2:S,@x:S) 0.00/0.01 subtrees#3(@l2:S,@l1:S,@t1:S,@t2:S,@x:S) -> ::(node(@x:S,@t1:S,@t2:S),append(@l1:S,@l2:S)) 0.00/0.01 ->Projection: 0.00/0.01 pi(SUBTREES) = 1 0.00/0.01 pi(SUBTREES#1) = 1 0.00/0.01 pi(SUBTREES#2) = 3 0.00/0.01 0.00/0.01 Problem 1.2: 0.00/0.01 0.00/0.01 SCC Processor: 0.00/0.01 -> Pairs: 0.00/0.01 SUBTREES(@t:S) -> SUBTREES#1(@t:S) 0.00/0.01 SUBTREES#2(@l1:S,@t1:S,@t2:S,@x:S) -> SUBTREES(@t2:S) 0.00/0.01 -> Rules: 0.00/0.01 append(@l1:S,@l2:S) -> append#1(@l1:S,@l2:S) 0.00/0.01 append#1(::(@x:S,@xs:S),@l2:S) -> ::(@x:S,append(@xs:S,@l2:S)) 0.00/0.01 append#1(nil,@l2:S) -> @l2:S 0.00/0.01 subtrees(@t:S) -> subtrees#1(@t:S) 0.00/0.01 subtrees#1(leaf) -> nil 0.00/0.01 subtrees#1(node(@x:S,@t1:S,@t2:S)) -> subtrees#2(subtrees(@t1:S),@t1:S,@t2:S,@x:S) 0.00/0.01 subtrees#2(@l1:S,@t1:S,@t2:S,@x:S) -> subtrees#3(subtrees(@t2:S),@l1:S,@t1:S,@t2:S,@x:S) 0.00/0.01 subtrees#3(@l2:S,@l1:S,@t1:S,@t2:S,@x:S) -> ::(node(@x:S,@t1:S,@t2:S),append(@l1:S,@l2:S)) 0.00/0.01 ->Strongly Connected Components: 0.00/0.01 There is no strongly connected component 0.00/0.01 0.00/0.01 The problem is finite. 0.00/0.01 EOF