125.20/125.50 YES 125.20/125.50 125.20/125.50 Problem 1: 125.20/125.50 125.20/125.50 (VAR v_NonEmpty:S X:S X1:S X2:S) 125.20/125.50 (RULES 125.20/125.50 a__a -> a 125.20/125.50 a__a -> b 125.20/125.50 a__f(X:S,X:S) -> a__h(a__a) 125.20/125.50 a__f(X1:S,X2:S) -> f(X1:S,X2:S) 125.20/125.50 a__g(a,X:S) -> a__f(b,X:S) 125.20/125.50 a__g(X1:S,X2:S) -> g(X1:S,X2:S) 125.20/125.50 a__h(X:S) -> a__g(mark(X:S),X:S) 125.20/125.50 a__h(X:S) -> h(X:S) 125.20/125.50 mark(a) -> a__a 125.20/125.50 mark(b) -> b 125.20/125.50 mark(f(X1:S,X2:S)) -> a__f(mark(X1:S),X2:S) 125.20/125.50 mark(g(X1:S,X2:S)) -> a__g(mark(X1:S),X2:S) 125.20/125.50 mark(h(X:S)) -> a__h(mark(X:S)) 125.20/125.50 ) 125.20/125.50 (STRATEGY INNERMOST) 125.20/125.50 125.20/125.50 Problem 1: 125.20/125.50 125.20/125.50 Dependency Pairs Processor: 125.20/125.50 -> Pairs: 125.20/125.50 A__F(X:S,X:S) -> A__A 125.20/125.50 A__F(X:S,X:S) -> A__H(a__a) 125.20/125.50 A__G(a,X:S) -> A__F(b,X:S) 125.20/125.50 A__H(X:S) -> A__G(mark(X:S),X:S) 125.20/125.50 A__H(X:S) -> MARK(X:S) 125.20/125.50 MARK(a) -> A__A 125.20/125.50 MARK(f(X1:S,X2:S)) -> A__F(mark(X1:S),X2:S) 125.20/125.50 MARK(f(X1:S,X2:S)) -> MARK(X1:S) 125.20/125.50 MARK(g(X1:S,X2:S)) -> A__G(mark(X1:S),X2:S) 125.20/125.50 MARK(g(X1:S,X2:S)) -> MARK(X1:S) 125.20/125.50 MARK(h(X:S)) -> A__H(mark(X:S)) 125.20/125.50 MARK(h(X:S)) -> MARK(X:S) 125.20/125.50 -> Rules: 125.20/125.50 a__a -> a 125.20/125.50 a__a -> b 125.20/125.50 a__f(X:S,X:S) -> a__h(a__a) 125.20/125.50 a__f(X1:S,X2:S) -> f(X1:S,X2:S) 125.20/125.50 a__g(a,X:S) -> a__f(b,X:S) 125.20/125.50 a__g(X1:S,X2:S) -> g(X1:S,X2:S) 125.20/125.50 a__h(X:S) -> a__g(mark(X:S),X:S) 125.20/125.50 a__h(X:S) -> h(X:S) 125.20/125.50 mark(a) -> a__a 125.20/125.50 mark(b) -> b 125.20/125.50 mark(f(X1:S,X2:S)) -> a__f(mark(X1:S),X2:S) 125.20/125.50 mark(g(X1:S,X2:S)) -> a__g(mark(X1:S),X2:S) 125.20/125.50 mark(h(X:S)) -> a__h(mark(X:S)) 125.20/125.50 125.20/125.50 Problem 1: 125.20/125.50 125.20/125.50 SCC Processor: 125.20/125.50 -> Pairs: 125.20/125.50 A__F(X:S,X:S) -> A__A 125.20/125.50 A__F(X:S,X:S) -> A__H(a__a) 125.20/125.50 A__G(a,X:S) -> A__F(b,X:S) 125.20/125.50 A__H(X:S) -> A__G(mark(X:S),X:S) 125.20/125.50 A__H(X:S) -> MARK(X:S) 125.20/125.50 MARK(a) -> A__A 125.20/125.50 MARK(f(X1:S,X2:S)) -> A__F(mark(X1:S),X2:S) 125.20/125.50 MARK(f(X1:S,X2:S)) -> MARK(X1:S) 125.20/125.50 MARK(g(X1:S,X2:S)) -> A__G(mark(X1:S),X2:S) 125.20/125.50 MARK(g(X1:S,X2:S)) -> MARK(X1:S) 125.20/125.50 MARK(h(X:S)) -> A__H(mark(X:S)) 125.20/125.50 MARK(h(X:S)) -> MARK(X:S) 125.20/125.50 -> Rules: 125.20/125.50 a__a -> a 125.20/125.50 a__a -> b 125.20/125.50 a__f(X:S,X:S) -> a__h(a__a) 125.20/125.50 a__f(X1:S,X2:S) -> f(X1:S,X2:S) 125.20/125.50 a__g(a,X:S) -> a__f(b,X:S) 125.20/125.50 a__g(X1:S,X2:S) -> g(X1:S,X2:S) 125.20/125.50 a__h(X:S) -> a__g(mark(X:S),X:S) 125.20/125.50 a__h(X:S) -> h(X:S) 125.20/125.50 mark(a) -> a__a 125.20/125.50 mark(b) -> b 125.20/125.50 mark(f(X1:S,X2:S)) -> a__f(mark(X1:S),X2:S) 125.20/125.50 mark(g(X1:S,X2:S)) -> a__g(mark(X1:S),X2:S) 125.20/125.50 mark(h(X:S)) -> a__h(mark(X:S)) 125.20/125.50 ->Strongly Connected Components: 125.20/125.50 ->->Cycle: 125.20/125.50 ->->-> Pairs: 125.20/125.50 A__F(X:S,X:S) -> A__H(a__a) 125.20/125.50 A__G(a,X:S) -> A__F(b,X:S) 125.20/125.50 A__H(X:S) -> A__G(mark(X:S),X:S) 125.20/125.50 A__H(X:S) -> MARK(X:S) 125.20/125.50 MARK(f(X1:S,X2:S)) -> A__F(mark(X1:S),X2:S) 125.20/125.50 MARK(f(X1:S,X2:S)) -> MARK(X1:S) 125.20/125.50 MARK(g(X1:S,X2:S)) -> A__G(mark(X1:S),X2:S) 125.20/125.50 MARK(g(X1:S,X2:S)) -> MARK(X1:S) 125.20/125.50 MARK(h(X:S)) -> A__H(mark(X:S)) 125.20/125.50 MARK(h(X:S)) -> MARK(X:S) 125.20/125.50 ->->-> Rules: 125.20/125.50 a__a -> a 125.20/125.50 a__a -> b 125.20/125.50 a__f(X:S,X:S) -> a__h(a__a) 125.20/125.50 a__f(X1:S,X2:S) -> f(X1:S,X2:S) 125.20/125.50 a__g(a,X:S) -> a__f(b,X:S) 125.20/125.50 a__g(X1:S,X2:S) -> g(X1:S,X2:S) 125.20/125.50 a__h(X:S) -> a__g(mark(X:S),X:S) 125.20/125.50 a__h(X:S) -> h(X:S) 125.20/125.50 mark(a) -> a__a 125.20/125.50 mark(b) -> b 125.20/125.50 mark(f(X1:S,X2:S)) -> a__f(mark(X1:S),X2:S) 125.20/125.50 mark(g(X1:S,X2:S)) -> a__g(mark(X1:S),X2:S) 125.20/125.50 mark(h(X:S)) -> a__h(mark(X:S)) 125.20/125.50 125.20/125.50 Problem 1: 125.20/125.50 125.20/125.50 Reduction Pairs Processor: 125.20/125.50 -> Pairs: 125.20/125.50 A__F(X:S,X:S) -> A__H(a__a) 125.20/125.50 A__G(a,X:S) -> A__F(b,X:S) 125.20/125.50 A__H(X:S) -> A__G(mark(X:S),X:S) 125.20/125.50 A__H(X:S) -> MARK(X:S) 125.20/125.50 MARK(f(X1:S,X2:S)) -> A__F(mark(X1:S),X2:S) 125.20/125.50 MARK(f(X1:S,X2:S)) -> MARK(X1:S) 125.20/125.50 MARK(g(X1:S,X2:S)) -> A__G(mark(X1:S),X2:S) 125.20/125.50 MARK(g(X1:S,X2:S)) -> MARK(X1:S) 125.20/125.50 MARK(h(X:S)) -> A__H(mark(X:S)) 125.20/125.50 MARK(h(X:S)) -> MARK(X:S) 125.20/125.50 -> Rules: 125.20/125.50 a__a -> a 125.20/125.50 a__a -> b 125.20/125.50 a__f(X:S,X:S) -> a__h(a__a) 125.20/125.50 a__f(X1:S,X2:S) -> f(X1:S,X2:S) 125.20/125.50 a__g(a,X:S) -> a__f(b,X:S) 125.20/125.50 a__g(X1:S,X2:S) -> g(X1:S,X2:S) 125.20/125.50 a__h(X:S) -> a__g(mark(X:S),X:S) 125.20/125.50 a__h(X:S) -> h(X:S) 125.20/125.50 mark(a) -> a__a 125.20/125.50 mark(b) -> b 125.20/125.50 mark(f(X1:S,X2:S)) -> a__f(mark(X1:S),X2:S) 125.20/125.50 mark(g(X1:S,X2:S)) -> a__g(mark(X1:S),X2:S) 125.20/125.50 mark(h(X:S)) -> a__h(mark(X:S)) 125.20/125.50 -> Usable rules: 125.20/125.50 a__a -> a 125.20/125.50 a__a -> b 125.20/125.50 a__f(X:S,X:S) -> a__h(a__a) 125.20/125.50 a__f(X1:S,X2:S) -> f(X1:S,X2:S) 125.20/125.50 a__g(a,X:S) -> a__f(b,X:S) 125.20/125.50 a__g(X1:S,X2:S) -> g(X1:S,X2:S) 125.20/125.50 a__h(X:S) -> a__g(mark(X:S),X:S) 125.20/125.50 a__h(X:S) -> h(X:S) 125.20/125.50 mark(a) -> a__a 125.20/125.50 mark(b) -> b 125.20/125.50 mark(f(X1:S,X2:S)) -> a__f(mark(X1:S),X2:S) 125.20/125.50 mark(g(X1:S,X2:S)) -> a__g(mark(X1:S),X2:S) 125.20/125.50 mark(h(X:S)) -> a__h(mark(X:S)) 125.20/125.50 ->Interpretation type: 125.20/125.50 Linear 125.20/125.50 ->Coefficients: 125.20/125.50 Natural Numbers 125.20/125.50 ->Dimension: 125.20/125.50 1 125.20/125.50 ->Bound: 125.20/125.50 2 125.20/125.50 ->Interpretation: 125.20/125.50 125.20/125.50 [a__a] = 0 125.20/125.50 [a__f](X1,X2) = 2.X1 + 2 125.20/125.50 [a__g](X1,X2) = X1 + 2 125.20/125.50 [a__h](X) = 2.X + 2 125.20/125.50 [mark](X) = 2.X 125.20/125.50 [a] = 0 125.20/125.50 [b] = 0 125.20/125.50 [f](X1,X2) = 2.X1 + 2 125.20/125.50 [fSNonEmpty] = 0 125.20/125.50 [g](X1,X2) = X1 + 1 125.20/125.50 [h](X) = 2.X + 2 125.20/125.50 [A__A] = 0 125.20/125.50 [A__F](X1,X2) = 1 125.20/125.50 [A__G](X1,X2) = 1 125.20/125.50 [A__H](X) = 2.X + 1 125.20/125.50 [MARK](X) = 2.X 125.20/125.50 125.20/125.50 Problem 1: 125.20/125.50 125.20/125.50 SCC Processor: 125.20/125.50 -> Pairs: 125.20/125.50 A__F(X:S,X:S) -> A__H(a__a) 125.20/125.50 A__G(a,X:S) -> A__F(b,X:S) 125.20/125.50 A__H(X:S) -> A__G(mark(X:S),X:S) 125.20/125.50 MARK(f(X1:S,X2:S)) -> A__F(mark(X1:S),X2:S) 125.20/125.50 MARK(f(X1:S,X2:S)) -> MARK(X1:S) 125.20/125.50 MARK(g(X1:S,X2:S)) -> A__G(mark(X1:S),X2:S) 125.20/125.50 MARK(g(X1:S,X2:S)) -> MARK(X1:S) 125.20/125.50 MARK(h(X:S)) -> A__H(mark(X:S)) 125.20/125.50 MARK(h(X:S)) -> MARK(X:S) 125.20/125.50 -> Rules: 125.20/125.50 a__a -> a 125.20/125.50 a__a -> b 125.20/125.50 a__f(X:S,X:S) -> a__h(a__a) 125.20/125.50 a__f(X1:S,X2:S) -> f(X1:S,X2:S) 125.20/125.50 a__g(a,X:S) -> a__f(b,X:S) 125.20/125.50 a__g(X1:S,X2:S) -> g(X1:S,X2:S) 125.20/125.50 a__h(X:S) -> a__g(mark(X:S),X:S) 125.20/125.50 a__h(X:S) -> h(X:S) 125.20/125.50 mark(a) -> a__a 125.20/125.50 mark(b) -> b 125.20/125.50 mark(f(X1:S,X2:S)) -> a__f(mark(X1:S),X2:S) 125.20/125.50 mark(g(X1:S,X2:S)) -> a__g(mark(X1:S),X2:S) 125.20/125.50 mark(h(X:S)) -> a__h(mark(X:S)) 125.20/125.50 ->Strongly Connected Components: 125.20/125.50 ->->Cycle: 125.20/125.50 ->->-> Pairs: 125.20/125.50 A__F(X:S,X:S) -> A__H(a__a) 125.20/125.50 A__G(a,X:S) -> A__F(b,X:S) 125.20/125.50 A__H(X:S) -> A__G(mark(X:S),X:S) 125.20/125.50 ->->-> Rules: 125.20/125.50 a__a -> a 125.20/125.50 a__a -> b 125.20/125.50 a__f(X:S,X:S) -> a__h(a__a) 125.20/125.50 a__f(X1:S,X2:S) -> f(X1:S,X2:S) 125.20/125.50 a__g(a,X:S) -> a__f(b,X:S) 125.20/125.50 a__g(X1:S,X2:S) -> g(X1:S,X2:S) 125.20/125.50 a__h(X:S) -> a__g(mark(X:S),X:S) 125.20/125.50 a__h(X:S) -> h(X:S) 125.20/125.50 mark(a) -> a__a 125.20/125.50 mark(b) -> b 125.20/125.50 mark(f(X1:S,X2:S)) -> a__f(mark(X1:S),X2:S) 125.20/125.50 mark(g(X1:S,X2:S)) -> a__g(mark(X1:S),X2:S) 125.20/125.50 mark(h(X:S)) -> a__h(mark(X:S)) 125.20/125.50 ->->Cycle: 125.20/125.50 ->->-> Pairs: 125.20/125.50 MARK(f(X1:S,X2:S)) -> MARK(X1:S) 125.20/125.50 MARK(g(X1:S,X2:S)) -> MARK(X1:S) 125.20/125.50 MARK(h(X:S)) -> MARK(X:S) 125.20/125.50 ->->-> Rules: 125.20/125.50 a__a -> a 125.20/125.50 a__a -> b 125.20/125.50 a__f(X:S,X:S) -> a__h(a__a) 125.20/125.50 a__f(X1:S,X2:S) -> f(X1:S,X2:S) 125.20/125.50 a__g(a,X:S) -> a__f(b,X:S) 125.20/125.50 a__g(X1:S,X2:S) -> g(X1:S,X2:S) 125.20/125.50 a__h(X:S) -> a__g(mark(X:S),X:S) 125.20/125.50 a__h(X:S) -> h(X:S) 125.20/125.50 mark(a) -> a__a 125.20/125.50 mark(b) -> b 125.20/125.50 mark(f(X1:S,X2:S)) -> a__f(mark(X1:S),X2:S) 125.20/125.50 mark(g(X1:S,X2:S)) -> a__g(mark(X1:S),X2:S) 125.20/125.50 mark(h(X:S)) -> a__h(mark(X:S)) 125.20/125.50 125.20/125.50 125.20/125.50 The problem is decomposed in 2 subproblems. 125.20/125.50 125.20/125.50 Problem 1.1: 125.20/125.50 125.20/125.50 Narrowing Processor: 125.20/125.50 -> Pairs: 125.20/125.50 A__F(X:S,X:S) -> A__H(a__a) 125.20/125.50 A__G(a,X:S) -> A__F(b,X:S) 125.20/125.50 A__H(X:S) -> A__G(mark(X:S),X:S) 125.20/125.50 -> Rules: 125.20/125.50 a__a -> a 125.20/125.50 a__a -> b 125.20/125.50 a__f(X:S,X:S) -> a__h(a__a) 125.20/125.50 a__f(X1:S,X2:S) -> f(X1:S,X2:S) 125.20/125.50 a__g(a,X:S) -> a__f(b,X:S) 125.20/125.50 a__g(X1:S,X2:S) -> g(X1:S,X2:S) 125.20/125.50 a__h(X:S) -> a__g(mark(X:S),X:S) 125.20/125.50 a__h(X:S) -> h(X:S) 125.20/125.50 mark(a) -> a__a 125.20/125.50 mark(b) -> b 125.20/125.50 mark(f(X1:S,X2:S)) -> a__f(mark(X1:S),X2:S) 125.20/125.50 mark(g(X1:S,X2:S)) -> a__g(mark(X1:S),X2:S) 125.20/125.50 mark(h(X:S)) -> a__h(mark(X:S)) 125.20/125.50 ->Narrowed Pairs: 125.20/125.50 ->->Original Pair: 125.20/125.50 A__H(X:S) -> A__G(mark(X:S),X:S) 125.20/125.50 ->-> Narrowed pairs: 125.20/125.50 A__H(a) -> A__G(a__a,a) 125.20/125.50 A__H(b) -> A__G(b,b) 125.20/125.50 A__H(f(X1:S,X2:S)) -> A__G(a__f(mark(X1:S),X2:S),f(X1:S,X2:S)) 125.20/125.50 A__H(g(X1:S,X2:S)) -> A__G(a__g(mark(X1:S),X2:S),g(X1:S,X2:S)) 125.20/125.50 A__H(h(X:S)) -> A__G(a__h(mark(X:S)),h(X:S)) 125.20/125.50 125.20/125.50 Problem 1.1: 125.20/125.50 125.20/125.50 SCC Processor: 125.20/125.50 -> Pairs: 125.20/125.50 A__F(X:S,X:S) -> A__H(a__a) 125.20/125.50 A__G(a,X:S) -> A__F(b,X:S) 125.20/125.50 A__H(a) -> A__G(a__a,a) 125.20/125.50 A__H(b) -> A__G(b,b) 125.20/125.50 A__H(f(X1:S,X2:S)) -> A__G(a__f(mark(X1:S),X2:S),f(X1:S,X2:S)) 125.20/125.50 A__H(g(X1:S,X2:S)) -> A__G(a__g(mark(X1:S),X2:S),g(X1:S,X2:S)) 125.20/125.50 A__H(h(X:S)) -> A__G(a__h(mark(X:S)),h(X:S)) 125.20/125.50 -> Rules: 125.20/125.50 a__a -> a 125.20/125.50 a__a -> b 125.20/125.50 a__f(X:S,X:S) -> a__h(a__a) 125.20/125.50 a__f(X1:S,X2:S) -> f(X1:S,X2:S) 125.20/125.50 a__g(a,X:S) -> a__f(b,X:S) 125.20/125.50 a__g(X1:S,X2:S) -> g(X1:S,X2:S) 125.20/125.50 a__h(X:S) -> a__g(mark(X:S),X:S) 125.20/125.50 a__h(X:S) -> h(X:S) 125.20/125.50 mark(a) -> a__a 125.20/125.50 mark(b) -> b 125.20/125.50 mark(f(X1:S,X2:S)) -> a__f(mark(X1:S),X2:S) 125.20/125.50 mark(g(X1:S,X2:S)) -> a__g(mark(X1:S),X2:S) 125.20/125.50 mark(h(X:S)) -> a__h(mark(X:S)) 125.20/125.50 ->Strongly Connected Components: 125.20/125.50 ->->Cycle: 125.20/125.50 ->->-> Pairs: 125.20/125.50 A__F(X:S,X:S) -> A__H(a__a) 125.20/125.50 A__G(a,X:S) -> A__F(b,X:S) 125.20/125.50 A__H(a) -> A__G(a__a,a) 125.20/125.50 A__H(f(X1:S,X2:S)) -> A__G(a__f(mark(X1:S),X2:S),f(X1:S,X2:S)) 125.20/125.50 A__H(g(X1:S,X2:S)) -> A__G(a__g(mark(X1:S),X2:S),g(X1:S,X2:S)) 125.20/125.50 A__H(h(X:S)) -> A__G(a__h(mark(X:S)),h(X:S)) 125.20/125.50 ->->-> Rules: 125.20/125.50 a__a -> a 125.20/125.50 a__a -> b 125.20/125.50 a__f(X:S,X:S) -> a__h(a__a) 125.20/125.50 a__f(X1:S,X2:S) -> f(X1:S,X2:S) 125.20/125.50 a__g(a,X:S) -> a__f(b,X:S) 125.20/125.50 a__g(X1:S,X2:S) -> g(X1:S,X2:S) 125.20/125.50 a__h(X:S) -> a__g(mark(X:S),X:S) 125.20/125.50 a__h(X:S) -> h(X:S) 125.20/125.50 mark(a) -> a__a 125.20/125.50 mark(b) -> b 125.20/125.50 mark(f(X1:S,X2:S)) -> a__f(mark(X1:S),X2:S) 125.20/125.50 mark(g(X1:S,X2:S)) -> a__g(mark(X1:S),X2:S) 125.20/125.50 mark(h(X:S)) -> a__h(mark(X:S)) 125.20/125.50 125.20/125.50 Problem 1.1: 125.20/125.50 125.20/125.50 Reduction Pairs Processor: 125.20/125.50 -> Pairs: 125.20/125.50 A__F(X:S,X:S) -> A__H(a__a) 125.20/125.50 A__G(a,X:S) -> A__F(b,X:S) 125.20/125.50 A__H(a) -> A__G(a__a,a) 125.20/125.50 A__H(f(X1:S,X2:S)) -> A__G(a__f(mark(X1:S),X2:S),f(X1:S,X2:S)) 125.20/125.50 A__H(g(X1:S,X2:S)) -> A__G(a__g(mark(X1:S),X2:S),g(X1:S,X2:S)) 125.20/125.50 A__H(h(X:S)) -> A__G(a__h(mark(X:S)),h(X:S)) 125.20/125.50 -> Rules: 125.20/125.50 a__a -> a 125.20/125.50 a__a -> b 125.20/125.50 a__f(X:S,X:S) -> a__h(a__a) 125.20/125.50 a__f(X1:S,X2:S) -> f(X1:S,X2:S) 125.20/125.50 a__g(a,X:S) -> a__f(b,X:S) 125.20/125.50 a__g(X1:S,X2:S) -> g(X1:S,X2:S) 125.20/125.50 a__h(X:S) -> a__g(mark(X:S),X:S) 125.20/125.50 a__h(X:S) -> h(X:S) 125.20/125.50 mark(a) -> a__a 125.20/125.50 mark(b) -> b 125.20/125.50 mark(f(X1:S,X2:S)) -> a__f(mark(X1:S),X2:S) 125.20/125.50 mark(g(X1:S,X2:S)) -> a__g(mark(X1:S),X2:S) 125.20/125.50 mark(h(X:S)) -> a__h(mark(X:S)) 125.20/125.50 -> Usable rules: 125.20/125.50 a__a -> a 125.20/125.50 a__a -> b 125.20/125.50 a__f(X:S,X:S) -> a__h(a__a) 125.20/125.50 a__f(X1:S,X2:S) -> f(X1:S,X2:S) 125.20/125.50 a__g(a,X:S) -> a__f(b,X:S) 125.20/125.50 a__g(X1:S,X2:S) -> g(X1:S,X2:S) 125.20/125.50 a__h(X:S) -> a__g(mark(X:S),X:S) 125.20/125.50 a__h(X:S) -> h(X:S) 125.20/125.50 mark(a) -> a__a 125.20/125.50 mark(b) -> b 125.20/125.50 mark(f(X1:S,X2:S)) -> a__f(mark(X1:S),X2:S) 125.20/125.50 mark(g(X1:S,X2:S)) -> a__g(mark(X1:S),X2:S) 125.20/125.50 mark(h(X:S)) -> a__h(mark(X:S)) 125.20/125.50 ->Interpretation type: 125.20/125.50 Linear 125.20/125.50 ->Coefficients: 125.20/125.50 Natural Numbers 125.20/125.50 ->Dimension: 125.20/125.50 1 125.20/125.50 ->Bound: 125.20/125.50 2 125.20/125.50 ->Interpretation: 125.20/125.50 125.20/125.50 [a__a] = 1 125.20/125.50 [a__f](X1,X2) = 2.X1 + 2 125.20/125.50 [a__g](X1,X2) = 2 125.20/125.50 [a__h](X) = 2 125.20/125.50 [mark](X) = 2.X + 2 125.20/125.50 [a] = 1 125.20/125.50 [b] = 0 125.20/125.50 [f](X1,X2) = 2.X1 + 2 125.20/125.50 [fSNonEmpty] = 0 125.20/125.50 [g](X1,X2) = 2 125.20/125.50 [h](X) = 2 125.20/125.50 [A__A] = 0 125.20/125.50 [A__F](X1,X2) = 2.X1 + 2 125.20/125.50 [A__G](X1,X2) = 2 125.20/125.50 [A__H](X) = 2.X 125.20/125.50 [MARK](X) = 0 125.20/125.50 125.20/125.50 Problem 1.1: 125.20/125.50 125.20/125.50 SCC Processor: 125.20/125.50 -> Pairs: 125.20/125.50 A__F(X:S,X:S) -> A__H(a__a) 125.20/125.50 A__G(a,X:S) -> A__F(b,X:S) 125.20/125.50 A__H(a) -> A__G(a__a,a) 125.20/125.50 A__H(g(X1:S,X2:S)) -> A__G(a__g(mark(X1:S),X2:S),g(X1:S,X2:S)) 125.20/125.50 A__H(h(X:S)) -> A__G(a__h(mark(X:S)),h(X:S)) 125.20/125.50 -> Rules: 125.20/125.50 a__a -> a 125.20/125.50 a__a -> b 125.20/125.50 a__f(X:S,X:S) -> a__h(a__a) 125.20/125.50 a__f(X1:S,X2:S) -> f(X1:S,X2:S) 125.20/125.50 a__g(a,X:S) -> a__f(b,X:S) 125.20/125.50 a__g(X1:S,X2:S) -> g(X1:S,X2:S) 125.20/125.50 a__h(X:S) -> a__g(mark(X:S),X:S) 125.20/125.50 a__h(X:S) -> h(X:S) 125.20/125.50 mark(a) -> a__a 125.20/125.50 mark(b) -> b 125.20/125.50 mark(f(X1:S,X2:S)) -> a__f(mark(X1:S),X2:S) 125.20/125.50 mark(g(X1:S,X2:S)) -> a__g(mark(X1:S),X2:S) 125.20/125.50 mark(h(X:S)) -> a__h(mark(X:S)) 125.20/125.50 ->Strongly Connected Components: 125.20/125.50 ->->Cycle: 125.20/125.50 ->->-> Pairs: 125.20/125.50 A__F(X:S,X:S) -> A__H(a__a) 125.20/125.50 A__G(a,X:S) -> A__F(b,X:S) 125.20/125.50 A__H(a) -> A__G(a__a,a) 125.20/125.50 A__H(g(X1:S,X2:S)) -> A__G(a__g(mark(X1:S),X2:S),g(X1:S,X2:S)) 125.20/125.50 A__H(h(X:S)) -> A__G(a__h(mark(X:S)),h(X:S)) 125.20/125.50 ->->-> Rules: 125.20/125.50 a__a -> a 125.20/125.50 a__a -> b 125.20/125.50 a__f(X:S,X:S) -> a__h(a__a) 125.20/125.50 a__f(X1:S,X2:S) -> f(X1:S,X2:S) 125.20/125.50 a__g(a,X:S) -> a__f(b,X:S) 125.20/125.50 a__g(X1:S,X2:S) -> g(X1:S,X2:S) 125.20/125.50 a__h(X:S) -> a__g(mark(X:S),X:S) 125.20/125.50 a__h(X:S) -> h(X:S) 125.20/125.50 mark(a) -> a__a 125.20/125.50 mark(b) -> b 125.20/125.50 mark(f(X1:S,X2:S)) -> a__f(mark(X1:S),X2:S) 125.20/125.50 mark(g(X1:S,X2:S)) -> a__g(mark(X1:S),X2:S) 125.20/125.50 mark(h(X:S)) -> a__h(mark(X:S)) 125.20/125.50 125.20/125.50 Problem 1.1: 125.20/125.50 125.20/125.50 Reduction Pairs Processor: 125.20/125.50 -> Pairs: 125.20/125.50 A__F(X:S,X:S) -> A__H(a__a) 125.20/125.50 A__G(a,X:S) -> A__F(b,X:S) 125.20/125.50 A__H(a) -> A__G(a__a,a) 125.20/125.50 A__H(g(X1:S,X2:S)) -> A__G(a__g(mark(X1:S),X2:S),g(X1:S,X2:S)) 125.20/125.50 A__H(h(X:S)) -> A__G(a__h(mark(X:S)),h(X:S)) 125.20/125.50 -> Rules: 125.20/125.50 a__a -> a 125.20/125.50 a__a -> b 125.20/125.50 a__f(X:S,X:S) -> a__h(a__a) 125.20/125.50 a__f(X1:S,X2:S) -> f(X1:S,X2:S) 125.20/125.50 a__g(a,X:S) -> a__f(b,X:S) 125.20/125.50 a__g(X1:S,X2:S) -> g(X1:S,X2:S) 125.20/125.50 a__h(X:S) -> a__g(mark(X:S),X:S) 125.20/125.50 a__h(X:S) -> h(X:S) 125.20/125.50 mark(a) -> a__a 125.20/125.50 mark(b) -> b 125.20/125.50 mark(f(X1:S,X2:S)) -> a__f(mark(X1:S),X2:S) 125.20/125.50 mark(g(X1:S,X2:S)) -> a__g(mark(X1:S),X2:S) 125.20/125.50 mark(h(X:S)) -> a__h(mark(X:S)) 125.20/125.50 -> Usable rules: 125.20/125.50 a__a -> a 125.20/125.50 a__a -> b 125.20/125.50 a__f(X:S,X:S) -> a__h(a__a) 125.20/125.50 a__f(X1:S,X2:S) -> f(X1:S,X2:S) 125.20/125.50 a__g(a,X:S) -> a__f(b,X:S) 125.20/125.50 a__g(X1:S,X2:S) -> g(X1:S,X2:S) 125.20/125.50 a__h(X:S) -> a__g(mark(X:S),X:S) 125.20/125.50 a__h(X:S) -> h(X:S) 125.20/125.50 mark(a) -> a__a 125.20/125.50 mark(b) -> b 125.20/125.50 mark(f(X1:S,X2:S)) -> a__f(mark(X1:S),X2:S) 125.20/125.50 mark(g(X1:S,X2:S)) -> a__g(mark(X1:S),X2:S) 125.20/125.50 mark(h(X:S)) -> a__h(mark(X:S)) 125.20/125.50 ->Interpretation type: 125.20/125.50 Linear 125.20/125.50 ->Coefficients: 125.20/125.50 Natural Numbers 125.20/125.50 ->Dimension: 125.20/125.50 1 125.20/125.50 ->Bound: 125.20/125.50 2 125.20/125.50 ->Interpretation: 125.20/125.50 125.20/125.50 [a__a] = 2 125.20/125.50 [a__f](X1,X2) = X1 + 1 125.20/125.50 [a__g](X1,X2) = 1 125.20/125.50 [a__h](X) = 1 125.20/125.50 [mark](X) = 2.X + 2 125.20/125.50 [a] = 2 125.20/125.50 [b] = 0 125.20/125.50 [f](X1,X2) = X1 + 1 125.20/125.50 [fSNonEmpty] = 0 125.20/125.50 [g](X1,X2) = 0 125.20/125.50 [h](X) = 1 125.20/125.50 [A__A] = 0 125.20/125.50 [A__F](X1,X2) = 2 125.20/125.50 [A__G](X1,X2) = X1 125.20/125.50 [A__H](X) = 2 125.20/125.50 [MARK](X) = 0 125.20/125.50 125.20/125.50 Problem 1.1: 125.20/125.50 125.20/125.50 SCC Processor: 125.20/125.50 -> Pairs: 125.20/125.50 A__F(X:S,X:S) -> A__H(a__a) 125.20/125.50 A__G(a,X:S) -> A__F(b,X:S) 125.20/125.50 A__H(a) -> A__G(a__a,a) 125.20/125.50 A__H(h(X:S)) -> A__G(a__h(mark(X:S)),h(X:S)) 125.20/125.50 -> Rules: 125.20/125.50 a__a -> a 125.20/125.50 a__a -> b 125.20/125.50 a__f(X:S,X:S) -> a__h(a__a) 125.20/125.50 a__f(X1:S,X2:S) -> f(X1:S,X2:S) 125.20/125.50 a__g(a,X:S) -> a__f(b,X:S) 125.20/125.50 a__g(X1:S,X2:S) -> g(X1:S,X2:S) 125.20/125.50 a__h(X:S) -> a__g(mark(X:S),X:S) 125.20/125.50 a__h(X:S) -> h(X:S) 125.20/125.50 mark(a) -> a__a 125.20/125.50 mark(b) -> b 125.20/125.50 mark(f(X1:S,X2:S)) -> a__f(mark(X1:S),X2:S) 125.20/125.50 mark(g(X1:S,X2:S)) -> a__g(mark(X1:S),X2:S) 125.20/125.50 mark(h(X:S)) -> a__h(mark(X:S)) 125.20/125.50 ->Strongly Connected Components: 125.20/125.50 ->->Cycle: 125.20/125.50 ->->-> Pairs: 125.20/125.50 A__F(X:S,X:S) -> A__H(a__a) 125.20/125.50 A__G(a,X:S) -> A__F(b,X:S) 125.20/125.50 A__H(a) -> A__G(a__a,a) 125.20/125.50 A__H(h(X:S)) -> A__G(a__h(mark(X:S)),h(X:S)) 125.20/125.50 ->->-> Rules: 125.20/125.50 a__a -> a 125.20/125.50 a__a -> b 125.20/125.50 a__f(X:S,X:S) -> a__h(a__a) 125.20/125.50 a__f(X1:S,X2:S) -> f(X1:S,X2:S) 125.20/125.50 a__g(a,X:S) -> a__f(b,X:S) 125.20/125.50 a__g(X1:S,X2:S) -> g(X1:S,X2:S) 125.20/125.50 a__h(X:S) -> a__g(mark(X:S),X:S) 125.20/125.50 a__h(X:S) -> h(X:S) 125.20/125.50 mark(a) -> a__a 125.20/125.50 mark(b) -> b 125.20/125.50 mark(f(X1:S,X2:S)) -> a__f(mark(X1:S),X2:S) 125.20/125.50 mark(g(X1:S,X2:S)) -> a__g(mark(X1:S),X2:S) 125.20/125.50 mark(h(X:S)) -> a__h(mark(X:S)) 125.20/125.50 125.20/125.50 Problem 1.1: 125.20/125.50 125.20/125.50 Reduction Pairs Processor: 125.20/125.50 -> Pairs: 125.20/125.50 A__F(X:S,X:S) -> A__H(a__a) 125.20/125.50 A__G(a,X:S) -> A__F(b,X:S) 125.20/125.50 A__H(a) -> A__G(a__a,a) 125.20/125.50 A__H(h(X:S)) -> A__G(a__h(mark(X:S)),h(X:S)) 125.20/125.50 -> Rules: 125.20/125.50 a__a -> a 125.20/125.50 a__a -> b 125.20/125.50 a__f(X:S,X:S) -> a__h(a__a) 125.20/125.50 a__f(X1:S,X2:S) -> f(X1:S,X2:S) 125.20/125.50 a__g(a,X:S) -> a__f(b,X:S) 125.20/125.50 a__g(X1:S,X2:S) -> g(X1:S,X2:S) 125.20/125.50 a__h(X:S) -> a__g(mark(X:S),X:S) 125.20/125.50 a__h(X:S) -> h(X:S) 125.20/125.50 mark(a) -> a__a 125.20/125.50 mark(b) -> b 125.20/125.50 mark(f(X1:S,X2:S)) -> a__f(mark(X1:S),X2:S) 125.20/125.50 mark(g(X1:S,X2:S)) -> a__g(mark(X1:S),X2:S) 125.20/125.50 mark(h(X:S)) -> a__h(mark(X:S)) 125.20/125.50 -> Usable rules: 125.20/125.50 a__a -> a 125.20/125.50 a__a -> b 125.20/125.50 a__f(X:S,X:S) -> a__h(a__a) 125.20/125.50 a__f(X1:S,X2:S) -> f(X1:S,X2:S) 125.20/125.50 a__g(a,X:S) -> a__f(b,X:S) 125.20/125.50 a__g(X1:S,X2:S) -> g(X1:S,X2:S) 125.20/125.50 a__h(X:S) -> a__g(mark(X:S),X:S) 125.20/125.50 a__h(X:S) -> h(X:S) 125.20/125.50 mark(a) -> a__a 125.20/125.50 mark(b) -> b 125.20/125.50 mark(f(X1:S,X2:S)) -> a__f(mark(X1:S),X2:S) 125.20/125.50 mark(g(X1:S,X2:S)) -> a__g(mark(X1:S),X2:S) 125.20/125.50 mark(h(X:S)) -> a__h(mark(X:S)) 125.20/125.50 ->Interpretation type: 125.20/125.50 Linear 125.20/125.50 ->Coefficients: 125.20/125.50 Natural Numbers 125.20/125.50 ->Dimension: 125.20/125.50 1 125.20/125.50 ->Bound: 125.20/125.50 2 125.20/125.50 ->Interpretation: 125.20/125.50 125.20/125.50 [a__a] = 0 125.20/125.50 [a__f](X1,X2) = 2 125.20/125.50 [a__g](X1,X2) = 2 125.20/125.50 [a__h](X) = 2.X + 2 125.20/125.50 [mark](X) = 2.X + 2 125.20/125.50 [a] = 0 125.20/125.50 [b] = 0 125.20/125.50 [f](X1,X2) = 1 125.20/125.50 [fSNonEmpty] = 0 125.20/125.50 [g](X1,X2) = 1 125.20/125.50 [h](X) = 2.X + 2 125.20/125.50 [A__A] = 0 125.20/125.50 [A__F](X1,X2) = X2 + 2 125.20/125.50 [A__G](X1,X2) = X2 + 2 125.20/125.50 [A__H](X) = 2.X + 2 125.20/125.50 [MARK](X) = 0 125.20/125.50 125.20/125.50 Problem 1.1: 125.20/125.50 125.20/125.50 SCC Processor: 125.20/125.50 -> Pairs: 125.20/125.50 A__F(X:S,X:S) -> A__H(a__a) 125.20/125.50 A__G(a,X:S) -> A__F(b,X:S) 125.20/125.50 A__H(a) -> A__G(a__a,a) 125.20/125.50 -> Rules: 125.20/125.50 a__a -> a 125.20/125.50 a__a -> b 125.20/125.50 a__f(X:S,X:S) -> a__h(a__a) 125.20/125.50 a__f(X1:S,X2:S) -> f(X1:S,X2:S) 125.20/125.50 a__g(a,X:S) -> a__f(b,X:S) 125.20/125.50 a__g(X1:S,X2:S) -> g(X1:S,X2:S) 125.20/125.50 a__h(X:S) -> a__g(mark(X:S),X:S) 125.20/125.50 a__h(X:S) -> h(X:S) 125.20/125.50 mark(a) -> a__a 125.20/125.50 mark(b) -> b 125.20/125.50 mark(f(X1:S,X2:S)) -> a__f(mark(X1:S),X2:S) 125.20/125.50 mark(g(X1:S,X2:S)) -> a__g(mark(X1:S),X2:S) 125.20/125.50 mark(h(X:S)) -> a__h(mark(X:S)) 125.20/125.50 ->Strongly Connected Components: 125.20/125.50 ->->Cycle: 125.20/125.50 ->->-> Pairs: 125.20/125.50 A__F(X:S,X:S) -> A__H(a__a) 125.20/125.50 A__G(a,X:S) -> A__F(b,X:S) 125.20/125.50 A__H(a) -> A__G(a__a,a) 125.20/125.50 ->->-> Rules: 125.20/125.50 a__a -> a 125.20/125.50 a__a -> b 125.20/125.50 a__f(X:S,X:S) -> a__h(a__a) 125.20/125.50 a__f(X1:S,X2:S) -> f(X1:S,X2:S) 125.20/125.50 a__g(a,X:S) -> a__f(b,X:S) 125.20/125.50 a__g(X1:S,X2:S) -> g(X1:S,X2:S) 125.20/125.50 a__h(X:S) -> a__g(mark(X:S),X:S) 125.20/125.50 a__h(X:S) -> h(X:S) 125.20/125.50 mark(a) -> a__a 125.20/125.50 mark(b) -> b 125.20/125.50 mark(f(X1:S,X2:S)) -> a__f(mark(X1:S),X2:S) 125.20/125.50 mark(g(X1:S,X2:S)) -> a__g(mark(X1:S),X2:S) 125.20/125.50 mark(h(X:S)) -> a__h(mark(X:S)) 125.20/125.50 125.20/125.50 Problem 1.1: 125.20/125.50 125.20/125.50 Reduction Pair Processor: 125.20/125.50 -> Pairs: 125.20/125.50 A__F(X:S,X:S) -> A__H(a__a) 125.20/125.50 A__G(a,X:S) -> A__F(b,X:S) 125.20/125.50 A__H(a) -> A__G(a__a,a) 125.20/125.50 -> Rules: 125.20/125.50 a__a -> a 125.20/125.50 a__a -> b 125.20/125.50 a__f(X:S,X:S) -> a__h(a__a) 125.20/125.50 a__f(X1:S,X2:S) -> f(X1:S,X2:S) 125.20/125.50 a__g(a,X:S) -> a__f(b,X:S) 125.20/125.50 a__g(X1:S,X2:S) -> g(X1:S,X2:S) 125.20/125.50 a__h(X:S) -> a__g(mark(X:S),X:S) 125.20/125.50 a__h(X:S) -> h(X:S) 125.20/125.50 mark(a) -> a__a 125.20/125.50 mark(b) -> b 125.20/125.50 mark(f(X1:S,X2:S)) -> a__f(mark(X1:S),X2:S) 125.20/125.50 mark(g(X1:S,X2:S)) -> a__g(mark(X1:S),X2:S) 125.20/125.50 mark(h(X:S)) -> a__h(mark(X:S)) 125.20/125.50 -> Usable rules: 125.20/125.50 a__a -> a 125.20/125.50 a__a -> b 125.20/125.50 ->Mace4 Output: 125.20/125.50 ============================== Mace4 ================================= 125.20/125.50 Mace4 (64) version 2009-11A, November 2009. 125.20/125.50 Process 45812 was started by sandbox2 on n125.star.cs.uiowa.edu, 125.20/125.50 Thu Mar 28 22:41:49 2019 125.20/125.50 The command was "./mace4 -c -f /tmp/mace41562402336298625210.in". 125.20/125.50 ============================== end of head =========================== 125.20/125.50 125.20/125.50 ============================== INPUT ================================= 125.20/125.50 125.20/125.50 % Reading from file /tmp/mace41562402336298625210.in 125.20/125.50 125.20/125.50 assign(max_seconds,20). 125.20/125.50 125.20/125.50 formulas(assumptions). 125.20/125.50 gtrsim_s0(x,y) & sqsupset_s0(y,z) -> sqsupset_s0(x,z) # label(compatibility). 125.20/125.50 succeq_s0(x,y) & sqsupset_s0(y,z) -> sqsupset_s0(x,z) # label(compatibility). 125.20/125.50 gtrsim_s0(x,y) & succeq_s0(y,z) -> gtrsim_s0(x,z) # label(compatibility). 125.20/125.50 arrow_s0(x1,y) -> arrow_s0(f3(x1,x2),f3(y,x2)) # label(congruence). 125.20/125.50 arrow_s0(x2,y) -> arrow_s0(f3(x1,x2),f3(x1,y)) # label(congruence). 125.20/125.50 arrow_s0(x1,y) -> arrow_s0(f4(x1,x2),f4(y,x2)) # label(congruence). 125.20/125.50 arrow_s0(x2,y) -> arrow_s0(f4(x1,x2),f4(x1,y)) # label(congruence). 125.20/125.50 arrow_s0(x1,y) -> arrow_s0(f5(x1),f5(y)) # label(congruence). 125.20/125.50 arrow_s0(x1,y) -> arrow_s0(f6(x1),f6(y)) # label(congruence). 125.20/125.50 arrow_s0(x1,y) -> arrow_s0(f9(x1,x2),f9(y,x2)) # label(congruence). 125.20/125.50 arrow_s0(x2,y) -> arrow_s0(f9(x1,x2),f9(x1,y)) # label(congruence). 125.20/125.50 arrow_s0(x1,y) -> arrow_s0(f11(x1,x2),f11(y,x2)) # label(congruence). 125.20/125.50 arrow_s0(x2,y) -> arrow_s0(f11(x1,x2),f11(x1,y)) # label(congruence). 125.20/125.50 arrow_s0(x1,y) -> arrow_s0(f12(x1),f12(y)) # label(congruence). 125.20/125.50 arrow_s0(x1,y) -> arrow_s0(f15(x1,x2),f15(y,x2)) # label(congruence). 125.20/125.50 arrow_s0(x2,y) -> arrow_s0(f15(x1,x2),f15(x1,y)) # label(congruence). 125.20/125.50 arrow_s0(x1,y) -> arrow_s0(f16(x1,x2),f16(y,x2)) # label(congruence). 125.20/125.50 arrow_s0(x2,y) -> arrow_s0(f16(x1,x2),f16(x1,y)) # label(congruence). 125.20/125.50 arrow_s0(x1,y) -> arrow_s0(f17(x1),f17(y)) # label(congruence). 125.20/125.50 arrow_s0(x1,y) -> arrow_s0(f18(x1),f18(y)) # label(congruence). 125.20/125.50 arrow_s0(f2,f7) # label(replacement). 125.20/125.50 arrow_s0(f2,f8) # label(replacement). 125.20/125.50 arrow_s0(x,y) -> gtrsim_s0(x,y) # label(inclusion). 125.20/125.50 sqsupset_s0(f15(x1,x1),f17(f2)) # label(replacement). 125.20/125.50 succeq_s0(f16(f7,x1),f15(f8,x1)) # label(replacement). 125.20/125.50 succeq_s0(f17(f7),f16(f2,f7)) # label(replacement). 125.20/125.50 sqsupset_s0(x,y) -> sqsupsetStar_s0(x,y) # label(inclusion). 125.20/125.50 sqsupset_s0(x,y) & sqsupsetStar_s0(y,z) -> sqsupsetStar_s0(x,z) # label(compatibility). 125.20/125.50 end_of_list. 125.20/125.50 125.20/125.50 formulas(goals). 125.20/125.50 (exists x sqsupsetStar_s0(x,x)) # label(wellfoundedness). 125.20/125.50 end_of_list. 125.20/125.50 125.20/125.50 ============================== end of input ========================== 125.20/125.50 125.20/125.50 ============================== PROCESS NON-CLAUSAL FORMULAS ========== 125.20/125.50 125.20/125.50 % Formulas that are not ordinary clauses: 125.20/125.50 1 gtrsim_s0(x,y) & sqsupset_s0(y,z) -> sqsupset_s0(x,z) # label(compatibility) # label(non_clause). [assumption]. 125.20/125.50 2 succeq_s0(x,y) & sqsupset_s0(y,z) -> sqsupset_s0(x,z) # label(compatibility) # label(non_clause). [assumption]. 125.20/125.50 3 gtrsim_s0(x,y) & succeq_s0(y,z) -> gtrsim_s0(x,z) # label(compatibility) # label(non_clause). [assumption]. 125.20/125.50 4 arrow_s0(x1,y) -> arrow_s0(f3(x1,x2),f3(y,x2)) # label(congruence) # label(non_clause). [assumption]. 125.20/125.50 5 arrow_s0(x2,y) -> arrow_s0(f3(x1,x2),f3(x1,y)) # label(congruence) # label(non_clause). [assumption]. 125.20/125.50 6 arrow_s0(x1,y) -> arrow_s0(f4(x1,x2),f4(y,x2)) # label(congruence) # label(non_clause). [assumption]. 125.20/125.50 7 arrow_s0(x2,y) -> arrow_s0(f4(x1,x2),f4(x1,y)) # label(congruence) # label(non_clause). [assumption]. 125.20/125.50 8 arrow_s0(x1,y) -> arrow_s0(f5(x1),f5(y)) # label(congruence) # label(non_clause). [assumption]. 125.20/125.50 9 arrow_s0(x1,y) -> arrow_s0(f6(x1),f6(y)) # label(congruence) # label(non_clause). [assumption]. 125.20/125.50 10 arrow_s0(x1,y) -> arrow_s0(f9(x1,x2),f9(y,x2)) # label(congruence) # label(non_clause). [assumption]. 125.20/125.50 11 arrow_s0(x2,y) -> arrow_s0(f9(x1,x2),f9(x1,y)) # label(congruence) # label(non_clause). [assumption]. 125.20/125.50 12 arrow_s0(x1,y) -> arrow_s0(f11(x1,x2),f11(y,x2)) # label(congruence) # label(non_clause). [assumption]. 125.20/125.50 13 arrow_s0(x2,y) -> arrow_s0(f11(x1,x2),f11(x1,y)) # label(congruence) # label(non_clause). [assumption]. 125.20/125.50 14 arrow_s0(x1,y) -> arrow_s0(f12(x1),f12(y)) # label(congruence) # label(non_clause). [assumption]. 125.20/125.50 15 arrow_s0(x1,y) -> arrow_s0(f15(x1,x2),f15(y,x2)) # label(congruence) # label(non_clause). [assumption]. 125.20/125.50 16 arrow_s0(x2,y) -> arrow_s0(f15(x1,x2),f15(x1,y)) # label(congruence) # label(non_clause). [assumption]. 125.20/125.50 17 arrow_s0(x1,y) -> arrow_s0(f16(x1,x2),f16(y,x2)) # label(congruence) # label(non_clause). [assumption]. 125.20/125.50 18 arrow_s0(x2,y) -> arrow_s0(f16(x1,x2),f16(x1,y)) # label(congruence) # label(non_clause). [assumption]. 125.20/125.50 19 arrow_s0(x1,y) -> arrow_s0(f17(x1),f17(y)) # label(congruence) # label(non_clause). [assumption]. 125.20/125.50 20 arrow_s0(x1,y) -> arrow_s0(f18(x1),f18(y)) # label(congruence) # label(non_clause). [assumption]. 125.20/125.50 21 arrow_s0(x,y) -> gtrsim_s0(x,y) # label(inclusion) # label(non_clause). [assumption]. 125.20/125.50 22 sqsupset_s0(x,y) -> sqsupsetStar_s0(x,y) # label(inclusion) # label(non_clause). [assumption]. 125.20/125.50 23 sqsupset_s0(x,y) & sqsupsetStar_s0(y,z) -> sqsupsetStar_s0(x,z) # label(compatibility) # label(non_clause). [assumption]. 125.20/125.50 24 (exists x sqsupsetStar_s0(x,x)) # label(wellfoundedness) # label(non_clause) # label(goal). [goal]. 125.20/125.50 125.20/125.50 ============================== end of process non-clausal formulas === 125.20/125.50 125.20/125.50 ============================== CLAUSES FOR SEARCH ==================== 125.20/125.50 125.20/125.50 formulas(mace4_clauses). 125.20/125.50 -gtrsim_s0(x,y) | -sqsupset_s0(y,z) | sqsupset_s0(x,z) # label(compatibility). 125.20/125.50 -succeq_s0(x,y) | -sqsupset_s0(y,z) | sqsupset_s0(x,z) # label(compatibility). 125.20/125.50 -gtrsim_s0(x,y) | -succeq_s0(y,z) | gtrsim_s0(x,z) # label(compatibility). 125.20/125.50 -arrow_s0(x,y) | arrow_s0(f3(x,z),f3(y,z)) # label(congruence). 125.20/125.50 -arrow_s0(x,y) | arrow_s0(f3(z,x),f3(z,y)) # label(congruence). 125.20/125.50 -arrow_s0(x,y) | arrow_s0(f4(x,z),f4(y,z)) # label(congruence). 125.20/125.50 -arrow_s0(x,y) | arrow_s0(f4(z,x),f4(z,y)) # label(congruence). 125.20/125.50 -arrow_s0(x,y) | arrow_s0(f5(x),f5(y)) # label(congruence). 125.20/125.50 -arrow_s0(x,y) | arrow_s0(f6(x),f6(y)) # label(congruence). 125.20/125.50 -arrow_s0(x,y) | arrow_s0(f9(x,z),f9(y,z)) # label(congruence). 125.20/125.50 -arrow_s0(x,y) | arrow_s0(f9(z,x),f9(z,y)) # label(congruence). 125.20/125.50 -arrow_s0(x,y) | arrow_s0(f11(x,z),f11(y,z)) # label(congruence). 125.20/125.50 -arrow_s0(x,y) | arrow_s0(f11(z,x),f11(z,y)) # label(congruence). 125.20/125.50 -arrow_s0(x,y) | arrow_s0(f12(x),f12(y)) # label(congruence). 125.20/125.50 -arrow_s0(x,y) | arrow_s0(f15(x,z),f15(y,z)) # label(congruence). 125.20/125.50 -arrow_s0(x,y) | arrow_s0(f15(z,x),f15(z,y)) # label(congruence). 125.20/125.50 -arrow_s0(x,y) | arrow_s0(f16(x,z),f16(y,z)) # label(congruence). 125.20/125.50 -arrow_s0(x,y) | arrow_s0(f16(z,x),f16(z,y)) # label(congruence). 125.20/125.50 -arrow_s0(x,y) | arrow_s0(f17(x),f17(y)) # label(congruence). 125.20/125.50 -arrow_s0(x,y) | arrow_s0(f18(x),f18(y)) # label(congruence). 125.20/125.50 arrow_s0(f2,f7) # label(replacement). 125.20/125.50 arrow_s0(f2,f8) # label(replacement). 125.20/125.50 -arrow_s0(x,y) | gtrsim_s0(x,y) # label(inclusion). 125.20/125.50 sqsupset_s0(f15(x,x),f17(f2)) # label(replacement). 125.20/125.50 succeq_s0(f16(f7,x),f15(f8,x)) # label(replacement). 125.20/125.50 succeq_s0(f17(f7),f16(f2,f7)) # label(replacement). 125.20/125.50 -sqsupset_s0(x,y) | sqsupsetStar_s0(x,y) # label(inclusion). 125.20/125.50 -sqsupset_s0(x,y) | -sqsupsetStar_s0(y,z) | sqsupsetStar_s0(x,z) # label(compatibility). 125.20/125.50 -sqsupsetStar_s0(x,x) # label(wellfoundedness). 125.20/125.50 end_of_list. 125.20/125.50 125.20/125.50 ============================== end of clauses for search ============= 125.20/125.50 125.20/125.50 % There are no natural numbers in the input. 125.20/125.50 125.20/125.50 ============================== DOMAIN SIZE 2 ========================= 125.20/125.50 125.20/125.50 ============================== STATISTICS ============================ 125.20/125.50 125.20/125.50 For domain size 2. 125.20/125.50 125.20/125.50 Current CPU time: 0.00 seconds (total CPU time: 0.00 seconds). 125.20/125.50 Ground clauses: seen=165, kept=165. 125.20/125.50 Selections=16, assignments=31, propagations=161, current_models=0. 125.20/125.50 Rewrite_terms=441, rewrite_bools=1073, indexes=66. 125.20/125.50 Rules_from_neg_clauses=57, cross_offs=57. 125.20/125.50 125.20/125.50 ============================== end of statistics ===================== 125.20/125.50 125.20/125.50 ============================== DOMAIN SIZE 3 ========================= 125.20/125.50 125.20/125.50 ============================== MODEL ================================= 125.20/125.50 125.20/125.50 interpretation( 3, [number=1, seconds=0], [ 125.20/125.50 125.20/125.50 function(f2, [ 0 ]), 125.20/125.50 125.20/125.50 function(f7, [ 1 ]), 125.20/125.50 125.20/125.50 function(f8, [ 2 ]), 125.20/125.50 125.20/125.50 function(f12(_), [ 0, 0, 0 ]), 125.20/125.50 125.20/125.50 function(f17(_), [ 1, 1, 1 ]), 125.20/125.50 125.20/125.50 function(f18(_), [ 0, 0, 0 ]), 125.20/125.50 125.20/125.50 function(f5(_), [ 0, 0, 0 ]), 125.20/125.50 125.20/125.50 function(f6(_), [ 0, 0, 0 ]), 125.20/125.50 125.20/125.50 function(f11(_,_), [ 125.20/125.50 0, 0, 0, 125.20/125.50 0, 0, 0, 125.20/125.50 0, 0, 0 ]), 125.20/125.50 125.20/125.50 function(f15(_,_), [ 125.20/125.50 0, 0, 0, 125.20/125.50 0, 0, 0, 125.20/125.50 0, 1, 0 ]), 125.20/125.50 125.20/125.50 function(f16(_,_), [ 125.20/125.50 0, 1, 0, 125.20/125.50 0, 1, 0, 125.20/125.50 0, 1, 0 ]), 125.20/125.50 125.20/125.50 function(f3(_,_), [ 125.20/125.50 0, 0, 0, 125.20/125.50 0, 0, 0, 125.20/125.50 0, 0, 0 ]), 125.20/125.50 125.20/125.50 function(f4(_,_), [ 125.20/125.50 0, 0, 0, 125.20/125.50 0, 0, 0, 125.20/125.50 0, 0, 0 ]), 125.20/125.50 125.20/125.50 function(f9(_,_), [ 125.20/125.50 0, 0, 0, 125.20/125.50 0, 0, 0, 125.20/125.50 0, 0, 0 ]), 125.20/125.50 125.20/125.50 relation(arrow_s0(_,_), [ 125.20/125.50 1, 1, 1, 125.20/125.50 0, 1, 0, 125.20/125.50 0, 0, 0 ]), 125.20/125.50 125.20/125.50 relation(gtrsim_s0(_,_), [ 125.20/125.50 1, 1, 1, 125.20/125.50 0, 1, 0, 125.20/125.50 0, 0, 0 ]), 125.20/125.50 125.20/125.50 relation(sqsupsetStar_s0(_,_), [ 125.20/125.50 0, 1, 0, 125.20/125.50 0, 0, 0, 125.20/125.50 0, 0, 0 ]), 125.20/125.50 125.20/125.50 relation(sqsupset_s0(_,_), [ 125.20/125.50 0, 1, 0, 125.20/125.50 0, 0, 0, 125.20/125.50 0, 0, 0 ]), 125.20/125.50 125.20/125.50 relation(succeq_s0(_,_), [ 125.20/125.50 1, 0, 0, 125.20/125.50 0, 1, 0, 125.20/125.50 0, 0, 0 ]) 125.20/125.50 ]). 125.20/125.50 125.20/125.50 ============================== end of model ========================== 125.20/125.50 125.20/125.50 ============================== STATISTICS ============================ 125.20/125.50 125.20/125.50 For domain size 3. 125.20/125.50 125.20/125.50 Current CPU time: 0.00 seconds (total CPU time: 0.01 seconds). 125.20/125.50 Ground clauses: seen=507, kept=507. 125.20/125.50 Selections=246, assignments=581, propagations=2751, current_models=1. 125.20/125.50 Rewrite_terms=11510, rewrite_bools=28632, indexes=1025. 125.20/125.50 Rules_from_neg_clauses=669, cross_offs=1628. 125.20/125.50 125.20/125.50 ============================== end of statistics ===================== 125.20/125.50 125.20/125.50 User_CPU=0.01, System_CPU=0.00, Wall_clock=0. 125.20/125.50 125.20/125.50 Exiting with 1 model. 125.20/125.50 125.20/125.50 Process 45812 exit (max_models) Thu Mar 28 22:41:49 2019 125.20/125.50 The process finished Thu Mar 28 22:41:49 2019 125.20/125.50 125.20/125.50 125.20/125.50 Mace4 cooked interpretation: 125.20/125.50 125.20/125.50 % number = 1 125.20/125.50 % seconds = 0 125.20/125.50 125.20/125.50 % Interpretation of size 3 125.20/125.50 125.20/125.50 f2 = 0. 125.20/125.50 125.20/125.50 f7 = 1. 125.20/125.50 125.20/125.50 f8 = 2. 125.20/125.50 125.20/125.50 f12(0) = 0. 125.20/125.50 f12(1) = 0. 125.20/125.50 f12(2) = 0. 125.20/125.50 125.20/125.50 f17(0) = 1. 125.20/125.50 f17(1) = 1. 125.20/125.50 f17(2) = 1. 125.20/125.50 125.20/125.50 f18(0) = 0. 125.20/125.50 f18(1) = 0. 125.20/125.50 f18(2) = 0. 125.20/125.50 125.20/125.50 f5(0) = 0. 125.20/125.50 f5(1) = 0. 125.20/125.50 f5(2) = 0. 125.20/125.50 125.20/125.50 f6(0) = 0. 125.20/125.50 f6(1) = 0. 125.20/125.50 f6(2) = 0. 125.20/125.50 125.20/125.50 f11(0,0) = 0. 125.20/125.50 f11(0,1) = 0. 125.20/125.50 f11(0,2) = 0. 125.20/125.50 f11(1,0) = 0. 125.20/125.50 f11(1,1) = 0. 125.20/125.50 f11(1,2) = 0. 125.20/125.50 f11(2,0) = 0. 125.20/125.50 f11(2,1) = 0. 125.20/125.50 f11(2,2) = 0. 125.20/125.50 125.20/125.50 f15(0,0) = 0. 125.20/125.50 f15(0,1) = 0. 125.20/125.50 f15(0,2) = 0. 125.20/125.50 f15(1,0) = 0. 125.20/125.50 f15(1,1) = 0. 125.20/125.50 f15(1,2) = 0. 125.20/125.50 f15(2,0) = 0. 125.20/125.50 f15(2,1) = 1. 125.20/125.50 f15(2,2) = 0. 125.20/125.50 125.20/125.50 f16(0,0) = 0. 125.20/125.50 f16(0,1) = 1. 125.20/125.50 f16(0,2) = 0. 125.20/125.50 f16(1,0) = 0. 125.20/125.50 f16(1,1) = 1. 125.20/125.50 f16(1,2) = 0. 125.20/125.50 f16(2,0) = 0. 125.20/125.50 f16(2,1) = 1. 125.20/125.50 f16(2,2) = 0. 125.20/125.50 125.20/125.50 f3(0,0) = 0. 125.20/125.50 f3(0,1) = 0. 125.20/125.50 f3(0,2) = 0. 125.20/125.50 f3(1,0) = 0. 125.20/125.50 f3(1,1) = 0. 125.20/125.50 f3(1,2) = 0. 125.20/125.50 f3(2,0) = 0. 125.20/125.50 f3(2,1) = 0. 125.20/125.50 f3(2,2) = 0. 125.20/125.50 125.20/125.50 f4(0,0) = 0. 125.20/125.50 f4(0,1) = 0. 125.20/125.50 f4(0,2) = 0. 125.20/125.50 f4(1,0) = 0. 125.20/125.50 f4(1,1) = 0. 125.20/125.50 f4(1,2) = 0. 125.20/125.50 f4(2,0) = 0. 125.20/125.50 f4(2,1) = 0. 125.20/125.50 f4(2,2) = 0. 125.20/125.50 125.20/125.50 f9(0,0) = 0. 125.20/125.50 f9(0,1) = 0. 125.20/125.50 f9(0,2) = 0. 125.20/125.50 f9(1,0) = 0. 125.20/125.50 f9(1,1) = 0. 125.20/125.50 f9(1,2) = 0. 125.20/125.50 f9(2,0) = 0. 125.20/125.50 f9(2,1) = 0. 125.20/125.50 f9(2,2) = 0. 125.20/125.50 125.20/125.50 arrow_s0(0,0). 125.20/125.50 arrow_s0(0,1). 125.20/125.50 arrow_s0(0,2). 125.20/125.50 - arrow_s0(1,0). 125.20/125.50 arrow_s0(1,1). 125.20/125.50 - arrow_s0(1,2). 125.20/125.50 - arrow_s0(2,0). 125.20/125.50 - arrow_s0(2,1). 125.20/125.50 - arrow_s0(2,2). 125.20/125.50 125.20/125.50 gtrsim_s0(0,0). 125.20/125.50 gtrsim_s0(0,1). 125.20/125.50 gtrsim_s0(0,2). 125.20/125.50 - gtrsim_s0(1,0). 125.20/125.50 gtrsim_s0(1,1). 125.20/125.50 - gtrsim_s0(1,2). 125.20/125.50 - gtrsim_s0(2,0). 125.20/125.50 - gtrsim_s0(2,1). 125.20/125.50 - gtrsim_s0(2,2). 125.20/125.50 125.20/125.50 - sqsupsetStar_s0(0,0). 125.20/125.50 sqsupsetStar_s0(0,1). 125.20/125.50 - sqsupsetStar_s0(0,2). 125.20/125.50 - sqsupsetStar_s0(1,0). 125.20/125.50 - sqsupsetStar_s0(1,1). 125.20/125.50 - sqsupsetStar_s0(1,2). 125.20/125.50 - sqsupsetStar_s0(2,0). 125.20/125.50 - sqsupsetStar_s0(2,1). 125.20/125.50 - sqsupsetStar_s0(2,2). 125.20/125.50 125.20/125.50 - sqsupset_s0(0,0). 125.20/125.50 sqsupset_s0(0,1). 125.20/125.50 - sqsupset_s0(0,2). 125.20/125.50 - sqsupset_s0(1,0). 125.20/125.50 - sqsupset_s0(1,1). 125.20/125.50 - sqsupset_s0(1,2). 125.20/125.50 - sqsupset_s0(2,0). 125.20/125.50 - sqsupset_s0(2,1). 125.20/125.50 - sqsupset_s0(2,2). 125.20/125.50 125.20/125.50 succeq_s0(0,0). 125.20/125.50 - succeq_s0(0,1). 125.20/125.50 - succeq_s0(0,2). 125.20/125.50 - succeq_s0(1,0). 125.20/125.50 succeq_s0(1,1). 125.20/125.50 - succeq_s0(1,2). 125.20/125.50 - succeq_s0(2,0). 125.20/125.50 - succeq_s0(2,1). 125.20/125.50 - succeq_s0(2,2). 125.20/125.50 125.20/125.50 125.20/125.50 Problem 1.1: 125.20/125.50 125.20/125.50 SCC Processor: 125.20/125.50 -> Pairs: 125.20/125.50 A__G(a,X:S) -> A__F(b,X:S) 125.20/125.50 A__H(a) -> A__G(a__a,a) 125.20/125.50 -> Rules: 125.20/125.50 a__a -> a 125.20/125.50 a__a -> b 125.20/125.50 a__f(X:S,X:S) -> a__h(a__a) 125.20/125.50 a__f(X1:S,X2:S) -> f(X1:S,X2:S) 125.20/125.50 a__g(a,X:S) -> a__f(b,X:S) 125.20/125.50 a__g(X1:S,X2:S) -> g(X1:S,X2:S) 125.20/125.50 a__h(X:S) -> a__g(mark(X:S),X:S) 125.20/125.50 a__h(X:S) -> h(X:S) 125.20/125.50 mark(a) -> a__a 125.20/125.50 mark(b) -> b 125.20/125.50 mark(f(X1:S,X2:S)) -> a__f(mark(X1:S),X2:S) 125.20/125.50 mark(g(X1:S,X2:S)) -> a__g(mark(X1:S),X2:S) 125.20/125.50 mark(h(X:S)) -> a__h(mark(X:S)) 125.20/125.50 ->Strongly Connected Components: 125.20/125.50 There is no strongly connected component 125.20/125.50 125.20/125.50 The problem is finite. 125.20/125.50 125.20/125.50 Problem 1.2: 125.20/125.50 125.20/125.50 Subterm Processor: 125.20/125.50 -> Pairs: 125.20/125.50 MARK(f(X1:S,X2:S)) -> MARK(X1:S) 125.20/125.50 MARK(g(X1:S,X2:S)) -> MARK(X1:S) 125.20/125.50 MARK(h(X:S)) -> MARK(X:S) 125.20/125.50 -> Rules: 125.20/125.50 a__a -> a 125.20/125.50 a__a -> b 125.20/125.50 a__f(X:S,X:S) -> a__h(a__a) 125.20/125.50 a__f(X1:S,X2:S) -> f(X1:S,X2:S) 125.20/125.50 a__g(a,X:S) -> a__f(b,X:S) 125.20/125.50 a__g(X1:S,X2:S) -> g(X1:S,X2:S) 125.20/125.50 a__h(X:S) -> a__g(mark(X:S),X:S) 125.20/125.50 a__h(X:S) -> h(X:S) 125.20/125.50 mark(a) -> a__a 125.20/125.50 mark(b) -> b 125.20/125.50 mark(f(X1:S,X2:S)) -> a__f(mark(X1:S),X2:S) 125.20/125.50 mark(g(X1:S,X2:S)) -> a__g(mark(X1:S),X2:S) 125.20/125.50 mark(h(X:S)) -> a__h(mark(X:S)) 125.20/125.50 ->Projection: 125.20/125.50 pi(MARK) = 1 125.20/125.50 125.20/125.50 Problem 1.2: 125.20/125.50 125.20/125.50 SCC Processor: 125.20/125.50 -> Pairs: 125.20/125.50 Empty 125.20/125.50 -> Rules: 125.20/125.50 a__a -> a 125.20/125.50 a__a -> b 125.20/125.50 a__f(X:S,X:S) -> a__h(a__a) 125.20/125.50 a__f(X1:S,X2:S) -> f(X1:S,X2:S) 125.20/125.50 a__g(a,X:S) -> a__f(b,X:S) 125.20/125.50 a__g(X1:S,X2:S) -> g(X1:S,X2:S) 125.20/125.50 a__h(X:S) -> a__g(mark(X:S),X:S) 125.20/125.50 a__h(X:S) -> h(X:S) 125.20/125.50 mark(a) -> a__a 125.20/125.50 mark(b) -> b 125.20/125.50 mark(f(X1:S,X2:S)) -> a__f(mark(X1:S),X2:S) 125.20/125.50 mark(g(X1:S,X2:S)) -> a__g(mark(X1:S),X2:S) 125.20/125.50 mark(h(X:S)) -> a__h(mark(X:S)) 125.20/125.50 ->Strongly Connected Components: 125.20/125.50 There is no strongly connected component 125.20/125.50 125.20/125.50 The problem is finite. 125.20/125.50 EOF