3.35/3.66 YES 3.35/3.66 3.35/3.66 Problem 1: 3.35/3.66 3.35/3.66 (VAR x y z) 3.35/3.66 (THEORY 3.35/3.66 (AC inter union) 3.35/3.66 (C eq)) 3.35/3.66 (RULES 3.35/3.66 eq(0,0) -> true 3.35/3.66 eq(0,s(x)) -> false 3.35/3.66 eq(s(x),s(y)) -> eq(x,y) 3.35/3.66 if(false,x,y) -> y 3.35/3.66 if(true,x,y) -> x 3.35/3.66 inter(union(y,z),x) -> union(inter(x,y),inter(x,z)) 3.35/3.66 inter(empty,x) -> empty 3.35/3.66 inter(singl(x),singl(y)) -> if(eq(x,y),singl(x),empty) 3.35/3.66 union(empty,x) -> x 3.35/3.66 ) 3.35/3.66 3.35/3.66 Problem 1: 3.35/3.66 3.35/3.66 Dependency Pairs Processor: 3.35/3.66 -> FAxioms: 3.35/3.66 EQ(x3,x4) = EQ(x4,x3) 3.35/3.66 INTER(inter(x3,x4),x5) = INTER(x3,inter(x4,x5)) 3.35/3.66 INTER(x3,x4) = INTER(x4,x3) 3.35/3.66 UNION(union(x3,x4),x5) = UNION(x3,union(x4,x5)) 3.35/3.66 UNION(x3,x4) = UNION(x4,x3) 3.35/3.66 -> Pairs: 3.35/3.66 EQ(s(x),s(y)) -> EQ(x,y) 3.35/3.66 INTER(inter(union(y,z),x),x3) -> INTER(union(inter(x,y),inter(x,z)),x3) 3.35/3.66 INTER(inter(union(y,z),x),x3) -> INTER(x,y) 3.35/3.66 INTER(inter(union(y,z),x),x3) -> INTER(x,z) 3.35/3.66 INTER(inter(union(y,z),x),x3) -> UNION(inter(x,y),inter(x,z)) 3.35/3.66 INTER(inter(empty,x),x3) -> INTER(empty,x3) 3.35/3.66 INTER(inter(singl(x),singl(y)),x3) -> EQ(x,y) 3.35/3.66 INTER(inter(singl(x),singl(y)),x3) -> IF(eq(x,y),singl(x),empty) 3.35/3.66 INTER(inter(singl(x),singl(y)),x3) -> INTER(if(eq(x,y),singl(x),empty),x3) 3.35/3.66 INTER(union(y,z),x) -> INTER(x,y) 3.35/3.66 INTER(union(y,z),x) -> INTER(x,z) 3.35/3.66 INTER(union(y,z),x) -> UNION(inter(x,y),inter(x,z)) 3.35/3.66 INTER(singl(x),singl(y)) -> EQ(x,y) 3.35/3.66 INTER(singl(x),singl(y)) -> IF(eq(x,y),singl(x),empty) 3.35/3.66 UNION(union(empty,x),x3) -> UNION(x,x3) 3.35/3.66 -> EAxioms: 3.35/3.66 eq(x3,x4) = eq(x4,x3) 3.35/3.66 inter(inter(x3,x4),x5) = inter(x3,inter(x4,x5)) 3.35/3.66 inter(x3,x4) = inter(x4,x3) 3.35/3.66 union(union(x3,x4),x5) = union(x3,union(x4,x5)) 3.35/3.66 union(x3,x4) = union(x4,x3) 3.35/3.66 -> Rules: 3.35/3.66 eq(0,0) -> true 3.35/3.66 eq(0,s(x)) -> false 3.35/3.66 eq(s(x),s(y)) -> eq(x,y) 3.35/3.66 if(false,x,y) -> y 3.35/3.66 if(true,x,y) -> x 3.35/3.66 inter(union(y,z),x) -> union(inter(x,y),inter(x,z)) 3.35/3.66 inter(empty,x) -> empty 3.35/3.66 inter(singl(x),singl(y)) -> if(eq(x,y),singl(x),empty) 3.35/3.66 union(empty,x) -> x 3.35/3.66 -> SRules: 3.35/3.66 INTER(inter(x3,x4),x5) -> INTER(x3,x4) 3.35/3.66 INTER(x3,inter(x4,x5)) -> INTER(x4,x5) 3.35/3.66 UNION(union(x3,x4),x5) -> UNION(x3,x4) 3.35/3.66 UNION(x3,union(x4,x5)) -> UNION(x4,x5) 3.35/3.66 3.35/3.66 Problem 1: 3.35/3.66 3.35/3.66 SCC Processor: 3.35/3.66 -> FAxioms: 3.35/3.66 EQ(x3,x4) = EQ(x4,x3) 3.35/3.66 INTER(inter(x3,x4),x5) = INTER(x3,inter(x4,x5)) 3.35/3.66 INTER(x3,x4) = INTER(x4,x3) 3.35/3.66 UNION(union(x3,x4),x5) = UNION(x3,union(x4,x5)) 3.35/3.66 UNION(x3,x4) = UNION(x4,x3) 3.35/3.66 -> Pairs: 3.35/3.66 EQ(s(x),s(y)) -> EQ(x,y) 3.35/3.66 INTER(inter(union(y,z),x),x3) -> INTER(union(inter(x,y),inter(x,z)),x3) 3.35/3.66 INTER(inter(union(y,z),x),x3) -> INTER(x,y) 3.35/3.66 INTER(inter(union(y,z),x),x3) -> INTER(x,z) 3.35/3.66 INTER(inter(union(y,z),x),x3) -> UNION(inter(x,y),inter(x,z)) 3.35/3.66 INTER(inter(empty,x),x3) -> INTER(empty,x3) 3.35/3.66 INTER(inter(singl(x),singl(y)),x3) -> EQ(x,y) 3.35/3.66 INTER(inter(singl(x),singl(y)),x3) -> IF(eq(x,y),singl(x),empty) 3.35/3.66 INTER(inter(singl(x),singl(y)),x3) -> INTER(if(eq(x,y),singl(x),empty),x3) 3.35/3.66 INTER(union(y,z),x) -> INTER(x,y) 3.35/3.66 INTER(union(y,z),x) -> INTER(x,z) 3.35/3.66 INTER(union(y,z),x) -> UNION(inter(x,y),inter(x,z)) 3.35/3.66 INTER(singl(x),singl(y)) -> EQ(x,y) 3.35/3.66 INTER(singl(x),singl(y)) -> IF(eq(x,y),singl(x),empty) 3.35/3.66 UNION(union(empty,x),x3) -> UNION(x,x3) 3.35/3.66 -> EAxioms: 3.35/3.66 eq(x3,x4) = eq(x4,x3) 3.35/3.66 inter(inter(x3,x4),x5) = inter(x3,inter(x4,x5)) 3.35/3.66 inter(x3,x4) = inter(x4,x3) 3.35/3.66 union(union(x3,x4),x5) = union(x3,union(x4,x5)) 3.35/3.66 union(x3,x4) = union(x4,x3) 3.35/3.66 -> Rules: 3.35/3.66 eq(0,0) -> true 3.35/3.66 eq(0,s(x)) -> false 3.35/3.66 eq(s(x),s(y)) -> eq(x,y) 3.35/3.66 if(false,x,y) -> y 3.35/3.66 if(true,x,y) -> x 3.35/3.66 inter(union(y,z),x) -> union(inter(x,y),inter(x,z)) 3.35/3.66 inter(empty,x) -> empty 3.35/3.66 inter(singl(x),singl(y)) -> if(eq(x,y),singl(x),empty) 3.35/3.66 union(empty,x) -> x 3.35/3.66 -> SRules: 3.35/3.66 INTER(inter(x3,x4),x5) -> INTER(x3,x4) 3.35/3.66 INTER(x3,inter(x4,x5)) -> INTER(x4,x5) 3.35/3.66 UNION(union(x3,x4),x5) -> UNION(x3,x4) 3.35/3.66 UNION(x3,union(x4,x5)) -> UNION(x4,x5) 3.35/3.66 ->Strongly Connected Components: 3.35/3.66 ->->Cycle: 3.35/3.66 ->->-> Pairs: 3.35/3.66 UNION(union(empty,x),x3) -> UNION(x,x3) 3.35/3.66 -> FAxioms: 3.35/3.66 eq(x3,x4) -> eq(x4,x3) 3.35/3.66 inter(inter(x3,x4),x5) -> inter(x3,inter(x4,x5)) 3.35/3.66 inter(x3,x4) -> inter(x4,x3) 3.35/3.66 union(union(x3,x4),x5) -> union(x3,union(x4,x5)) 3.35/3.66 union(x3,x4) -> union(x4,x3) 3.35/3.66 UNION(union(x3,x4),x5) -> UNION(x3,union(x4,x5)) 3.35/3.66 UNION(x3,x4) -> UNION(x4,x3) 3.35/3.66 -> EAxioms: 3.35/3.66 eq(x3,x4) = eq(x4,x3) 3.35/3.66 inter(inter(x3,x4),x5) = inter(x3,inter(x4,x5)) 3.35/3.66 inter(x3,x4) = inter(x4,x3) 3.35/3.66 union(union(x3,x4),x5) = union(x3,union(x4,x5)) 3.35/3.66 union(x3,x4) = union(x4,x3) 3.35/3.66 ->->-> Rules: 3.35/3.66 eq(0,0) -> true 3.35/3.66 eq(0,s(x)) -> false 3.35/3.66 eq(s(x),s(y)) -> eq(x,y) 3.35/3.66 if(false,x,y) -> y 3.35/3.66 if(true,x,y) -> x 3.35/3.66 inter(union(y,z),x) -> union(inter(x,y),inter(x,z)) 3.35/3.66 inter(empty,x) -> empty 3.35/3.66 inter(singl(x),singl(y)) -> if(eq(x,y),singl(x),empty) 3.35/3.66 union(empty,x) -> x 3.35/3.66 -> SRules: 3.35/3.66 UNION(union(x3,x4),x5) -> UNION(x3,x4) 3.35/3.66 UNION(x3,union(x4,x5)) -> UNION(x4,x5) 3.35/3.66 ->->Cycle: 3.35/3.66 ->->-> Pairs: 3.35/3.66 EQ(s(x),s(y)) -> EQ(x,y) 3.35/3.66 -> FAxioms: 3.35/3.66 eq(x3,x4) -> eq(x4,x3) 3.35/3.66 inter(inter(x3,x4),x5) -> inter(x3,inter(x4,x5)) 3.35/3.66 inter(x3,x4) -> inter(x4,x3) 3.35/3.66 union(union(x3,x4),x5) -> union(x3,union(x4,x5)) 3.35/3.66 union(x3,x4) -> union(x4,x3) 3.35/3.66 EQ(x3,x4) -> EQ(x4,x3) 3.35/3.66 -> EAxioms: 3.35/3.66 eq(x3,x4) = eq(x4,x3) 3.35/3.66 inter(inter(x3,x4),x5) = inter(x3,inter(x4,x5)) 3.35/3.66 inter(x3,x4) = inter(x4,x3) 3.35/3.66 union(union(x3,x4),x5) = union(x3,union(x4,x5)) 3.35/3.66 union(x3,x4) = union(x4,x3) 3.35/3.66 ->->-> Rules: 3.35/3.66 eq(0,0) -> true 3.35/3.66 eq(0,s(x)) -> false 3.35/3.66 eq(s(x),s(y)) -> eq(x,y) 3.35/3.66 if(false,x,y) -> y 3.35/3.66 if(true,x,y) -> x 3.35/3.66 inter(union(y,z),x) -> union(inter(x,y),inter(x,z)) 3.35/3.66 inter(empty,x) -> empty 3.35/3.66 inter(singl(x),singl(y)) -> if(eq(x,y),singl(x),empty) 3.35/3.66 union(empty,x) -> x 3.35/3.66 -> SRules: 3.35/3.66 Empty 3.35/3.66 ->->Cycle: 3.35/3.66 ->->-> Pairs: 3.35/3.66 INTER(inter(union(y,z),x),x3) -> INTER(union(inter(x,y),inter(x,z)),x3) 3.35/3.66 INTER(inter(union(y,z),x),x3) -> INTER(x,y) 3.35/3.66 INTER(inter(union(y,z),x),x3) -> INTER(x,z) 3.35/3.66 INTER(inter(empty,x),x3) -> INTER(empty,x3) 3.35/3.66 INTER(inter(singl(x),singl(y)),x3) -> INTER(if(eq(x,y),singl(x),empty),x3) 3.35/3.66 INTER(union(y,z),x) -> INTER(x,y) 3.35/3.66 INTER(union(y,z),x) -> INTER(x,z) 3.35/3.66 -> FAxioms: 3.35/3.66 eq(x3,x4) -> eq(x4,x3) 3.35/3.66 inter(inter(x3,x4),x5) -> inter(x3,inter(x4,x5)) 3.35/3.66 inter(x3,x4) -> inter(x4,x3) 3.35/3.66 union(union(x3,x4),x5) -> union(x3,union(x4,x5)) 3.35/3.66 union(x3,x4) -> union(x4,x3) 3.35/3.66 INTER(inter(x3,x4),x5) -> INTER(x3,inter(x4,x5)) 3.35/3.66 INTER(x3,x4) -> INTER(x4,x3) 3.35/3.66 -> EAxioms: 3.35/3.66 eq(x3,x4) = eq(x4,x3) 3.35/3.66 inter(inter(x3,x4),x5) = inter(x3,inter(x4,x5)) 3.35/3.66 inter(x3,x4) = inter(x4,x3) 3.35/3.66 union(union(x3,x4),x5) = union(x3,union(x4,x5)) 3.35/3.66 union(x3,x4) = union(x4,x3) 3.35/3.66 ->->-> Rules: 3.35/3.66 eq(0,0) -> true 3.35/3.66 eq(0,s(x)) -> false 3.35/3.66 eq(s(x),s(y)) -> eq(x,y) 3.35/3.66 if(false,x,y) -> y 3.35/3.66 if(true,x,y) -> x 3.35/3.66 inter(union(y,z),x) -> union(inter(x,y),inter(x,z)) 3.35/3.66 inter(empty,x) -> empty 3.35/3.66 inter(singl(x),singl(y)) -> if(eq(x,y),singl(x),empty) 3.35/3.66 union(empty,x) -> x 3.35/3.66 -> SRules: 3.35/3.66 INTER(inter(x3,x4),x5) -> INTER(x3,x4) 3.35/3.66 INTER(x3,inter(x4,x5)) -> INTER(x4,x5) 3.35/3.66 3.35/3.66 3.35/3.66 The problem is decomposed in 3 subproblems. 3.35/3.66 3.35/3.66 Problem 1.1: 3.35/3.66 3.35/3.66 Reduction Pairs Processor: 3.35/3.66 -> FAxioms: 3.35/3.66 UNION(union(x3,x4),x5) = UNION(x3,union(x4,x5)) 3.35/3.66 UNION(x3,x4) = UNION(x4,x3) 3.35/3.66 -> Pairs: 3.35/3.66 UNION(union(empty,x),x3) -> UNION(x,x3) 3.35/3.66 -> EAxioms: 3.35/3.66 eq(x3,x4) = eq(x4,x3) 3.35/3.66 inter(inter(x3,x4),x5) = inter(x3,inter(x4,x5)) 3.35/3.66 inter(x3,x4) = inter(x4,x3) 3.35/3.66 union(union(x3,x4),x5) = union(x3,union(x4,x5)) 3.35/3.66 union(x3,x4) = union(x4,x3) 3.35/3.66 -> Usable Equations: 3.35/3.66 union(union(x3,x4),x5) = union(x3,union(x4,x5)) 3.35/3.66 union(x3,x4) = union(x4,x3) 3.35/3.66 -> Rules: 3.35/3.66 eq(0,0) -> true 3.35/3.66 eq(0,s(x)) -> false 3.35/3.66 eq(s(x),s(y)) -> eq(x,y) 3.35/3.66 if(false,x,y) -> y 3.35/3.66 if(true,x,y) -> x 3.35/3.66 inter(union(y,z),x) -> union(inter(x,y),inter(x,z)) 3.35/3.66 inter(empty,x) -> empty 3.35/3.66 inter(singl(x),singl(y)) -> if(eq(x,y),singl(x),empty) 3.35/3.66 union(empty,x) -> x 3.35/3.66 -> Usable Rules: 3.35/3.66 union(empty,x) -> x 3.35/3.66 -> SRules: 3.35/3.66 UNION(union(x3,x4),x5) -> UNION(x3,x4) 3.35/3.66 UNION(x3,union(x4,x5)) -> UNION(x4,x5) 3.35/3.66 ->Interpretation type: 3.35/3.66 Linear 3.35/3.66 ->Coefficients: 3.35/3.66 Natural Numbers 3.35/3.66 ->Dimension: 3.35/3.66 1 3.35/3.66 ->Bound: 3.35/3.66 2 3.35/3.66 ->Interpretation: 3.35/3.66 3.35/3.66 [eq](X1,X2) = 0 3.35/3.66 [if](X1,X2,X3) = 0 3.35/3.66 [inter](X1,X2) = 0 3.35/3.66 [union](X1,X2) = X1 + X2 3.35/3.66 [0] = 0 3.35/3.66 [empty] = 2 3.35/3.66 [false] = 0 3.35/3.66 [s](X) = 0 3.35/3.66 [singl](X) = 0 3.35/3.66 [true] = 0 3.35/3.66 [EQ](X1,X2) = 0 3.35/3.66 [IF](X1,X2,X3) = 0 3.35/3.66 [INTER](X1,X2) = 0 3.35/3.66 [UNION](X1,X2) = 2.X1 + 2.X2 3.35/3.66 3.35/3.66 Problem 1.1: 3.35/3.66 3.35/3.66 SCC Processor: 3.35/3.66 -> FAxioms: 3.35/3.66 UNION(union(x3,x4),x5) = UNION(x3,union(x4,x5)) 3.35/3.66 UNION(x3,x4) = UNION(x4,x3) 3.35/3.66 -> Pairs: 3.35/3.66 Empty 3.35/3.66 -> EAxioms: 3.35/3.66 eq(x3,x4) = eq(x4,x3) 3.35/3.66 inter(inter(x3,x4),x5) = inter(x3,inter(x4,x5)) 3.35/3.66 inter(x3,x4) = inter(x4,x3) 3.35/3.66 union(union(x3,x4),x5) = union(x3,union(x4,x5)) 3.35/3.66 union(x3,x4) = union(x4,x3) 3.35/3.66 -> Rules: 3.35/3.66 eq(0,0) -> true 3.35/3.66 eq(0,s(x)) -> false 3.35/3.66 eq(s(x),s(y)) -> eq(x,y) 3.35/3.66 if(false,x,y) -> y 3.35/3.66 if(true,x,y) -> x 3.35/3.66 inter(union(y,z),x) -> union(inter(x,y),inter(x,z)) 3.35/3.66 inter(empty,x) -> empty 3.35/3.66 inter(singl(x),singl(y)) -> if(eq(x,y),singl(x),empty) 3.35/3.66 union(empty,x) -> x 3.35/3.66 -> SRules: 3.35/3.66 UNION(union(x3,x4),x5) -> UNION(x3,x4) 3.35/3.66 UNION(x3,union(x4,x5)) -> UNION(x4,x5) 3.35/3.66 ->Strongly Connected Components: 3.35/3.66 There is no strongly connected component 3.35/3.66 3.35/3.66 The problem is finite. 3.35/3.66 3.35/3.66 Problem 1.2: 3.35/3.66 3.35/3.66 Subterm Processor: 3.35/3.66 -> FAxioms: 3.35/3.66 EQ(x3,x4) = EQ(x4,x3) 3.35/3.66 -> Pairs: 3.35/3.66 EQ(s(x),s(y)) -> EQ(x,y) 3.35/3.66 -> EAxioms: 3.35/3.66 eq(x3,x4) = eq(x4,x3) 3.35/3.66 inter(inter(x3,x4),x5) = inter(x3,inter(x4,x5)) 3.35/3.66 inter(x3,x4) = inter(x4,x3) 3.35/3.66 union(union(x3,x4),x5) = union(x3,union(x4,x5)) 3.35/3.66 union(x3,x4) = union(x4,x3) 3.35/3.66 -> Rules: 3.35/3.66 eq(0,0) -> true 3.35/3.66 eq(0,s(x)) -> false 3.35/3.66 eq(s(x),s(y)) -> eq(x,y) 3.35/3.66 if(false,x,y) -> y 3.35/3.66 if(true,x,y) -> x 3.35/3.66 inter(union(y,z),x) -> union(inter(x,y),inter(x,z)) 3.35/3.66 inter(empty,x) -> empty 3.35/3.66 inter(singl(x),singl(y)) -> if(eq(x,y),singl(x),empty) 3.35/3.66 union(empty,x) -> x 3.35/3.66 -> SRules: 3.35/3.66 Empty 3.35/3.66 ->Projection: 3.35/3.66 pi(EQ) = [1,2] 3.35/3.66 3.35/3.66 Problem 1.2: 3.35/3.66 3.35/3.66 SCC Processor: 3.35/3.66 -> FAxioms: 3.35/3.66 EQ(x3,x4) = EQ(x4,x3) 3.35/3.66 -> Pairs: 3.35/3.66 Empty 3.35/3.66 -> EAxioms: 3.35/3.66 eq(x3,x4) = eq(x4,x3) 3.35/3.66 inter(inter(x3,x4),x5) = inter(x3,inter(x4,x5)) 3.35/3.66 inter(x3,x4) = inter(x4,x3) 3.35/3.66 union(union(x3,x4),x5) = union(x3,union(x4,x5)) 3.35/3.66 union(x3,x4) = union(x4,x3) 3.35/3.66 -> Rules: 3.35/3.66 eq(0,0) -> true 3.35/3.66 eq(0,s(x)) -> false 3.35/3.66 eq(s(x),s(y)) -> eq(x,y) 3.35/3.66 if(false,x,y) -> y 3.35/3.66 if(true,x,y) -> x 3.35/3.66 inter(union(y,z),x) -> union(inter(x,y),inter(x,z)) 3.35/3.66 inter(empty,x) -> empty 3.35/3.66 inter(singl(x),singl(y)) -> if(eq(x,y),singl(x),empty) 3.35/3.66 union(empty,x) -> x 3.35/3.66 -> SRules: 3.35/3.66 Empty 3.35/3.66 ->Strongly Connected Components: 3.35/3.66 There is no strongly connected component 3.35/3.66 3.35/3.66 The problem is finite. 3.35/3.66 3.35/3.66 Problem 1.3: 3.35/3.66 3.35/3.66 Reduction Pairs Processor: 3.35/3.66 -> FAxioms: 3.35/3.66 INTER(inter(x3,x4),x5) = INTER(x3,inter(x4,x5)) 3.35/3.66 INTER(x3,x4) = INTER(x4,x3) 3.35/3.66 -> Pairs: 3.35/3.66 INTER(inter(union(y,z),x),x3) -> INTER(union(inter(x,y),inter(x,z)),x3) 3.35/3.66 INTER(inter(union(y,z),x),x3) -> INTER(x,y) 3.35/3.66 INTER(inter(union(y,z),x),x3) -> INTER(x,z) 3.35/3.66 INTER(inter(empty,x),x3) -> INTER(empty,x3) 3.35/3.66 INTER(inter(singl(x),singl(y)),x3) -> INTER(if(eq(x,y),singl(x),empty),x3) 3.35/3.66 INTER(union(y,z),x) -> INTER(x,y) 3.35/3.66 INTER(union(y,z),x) -> INTER(x,z) 3.35/3.66 -> EAxioms: 3.35/3.66 eq(x3,x4) = eq(x4,x3) 3.35/3.66 inter(inter(x3,x4),x5) = inter(x3,inter(x4,x5)) 3.35/3.66 inter(x3,x4) = inter(x4,x3) 3.35/3.66 union(union(x3,x4),x5) = union(x3,union(x4,x5)) 3.35/3.66 union(x3,x4) = union(x4,x3) 3.35/3.66 -> Usable Equations: 3.35/3.66 eq(x3,x4) = eq(x4,x3) 3.35/3.66 inter(inter(x3,x4),x5) = inter(x3,inter(x4,x5)) 3.35/3.66 inter(x3,x4) = inter(x4,x3) 3.35/3.66 union(union(x3,x4),x5) = union(x3,union(x4,x5)) 3.35/3.66 union(x3,x4) = union(x4,x3) 3.35/3.66 -> Rules: 3.35/3.66 eq(0,0) -> true 3.35/3.66 eq(0,s(x)) -> false 3.35/3.66 eq(s(x),s(y)) -> eq(x,y) 3.35/3.66 if(false,x,y) -> y 3.35/3.66 if(true,x,y) -> x 3.35/3.66 inter(union(y,z),x) -> union(inter(x,y),inter(x,z)) 3.35/3.66 inter(empty,x) -> empty 3.35/3.66 inter(singl(x),singl(y)) -> if(eq(x,y),singl(x),empty) 3.35/3.66 union(empty,x) -> x 3.35/3.66 -> Usable Rules: 3.35/3.66 eq(0,0) -> true 3.35/3.66 eq(0,s(x)) -> false 3.35/3.66 eq(s(x),s(y)) -> eq(x,y) 3.35/3.66 if(false,x,y) -> y 3.35/3.66 if(true,x,y) -> x 3.35/3.66 inter(union(y,z),x) -> union(inter(x,y),inter(x,z)) 3.35/3.66 inter(empty,x) -> empty 3.35/3.66 inter(singl(x),singl(y)) -> if(eq(x,y),singl(x),empty) 3.35/3.66 union(empty,x) -> x 3.35/3.66 -> SRules: 3.35/3.66 INTER(inter(x3,x4),x5) -> INTER(x3,x4) 3.35/3.66 INTER(x3,inter(x4,x5)) -> INTER(x4,x5) 3.35/3.66 ->Interpretation type: 3.35/3.66 Simple mixed 3.35/3.66 ->Coefficients: 3.35/3.66 Natural Numbers 3.35/3.66 ->Dimension: 3.35/3.66 1 3.35/3.66 ->Bound: 3.35/3.66 1 3.35/3.66 ->Interpretation: 3.35/3.66 3.35/3.66 [eq](X1,X2) = 1 3.35/3.66 [if](X1,X2,X3) = X1 + X2 + X3 + 1 3.35/3.66 [inter](X1,X2) = X1.X2 + X1 + X2 3.35/3.66 [union](X1,X2) = X1 + X2 + 1 3.35/3.66 [0] = 1 3.35/3.66 [empty] = 0 3.35/3.66 [false] = 1 3.35/3.66 [s](X) = X + 1 3.35/3.66 [singl](X) = X.X + X + 1 3.35/3.66 [true] = 1 3.35/3.66 [EQ](X1,X2) = 0 3.35/3.66 [IF](X1,X2,X3) = 0 3.35/3.66 [INTER](X1,X2) = X1.X2 + X1 + X2 3.35/3.66 [UNION](X1,X2) = 0 3.35/3.66 3.35/3.66 Problem 1.3: 3.35/3.66 3.35/3.66 SCC Processor: 3.35/3.66 -> FAxioms: 3.35/3.66 INTER(inter(x3,x4),x5) = INTER(x3,inter(x4,x5)) 3.35/3.66 INTER(x3,x4) = INTER(x4,x3) 3.35/3.66 -> Pairs: 3.35/3.66 INTER(inter(union(y,z),x),x3) -> INTER(union(inter(x,y),inter(x,z)),x3) 3.35/3.66 INTER(inter(union(y,z),x),x3) -> INTER(x,z) 3.35/3.66 INTER(inter(empty,x),x3) -> INTER(empty,x3) 3.35/3.66 INTER(inter(singl(x),singl(y)),x3) -> INTER(if(eq(x,y),singl(x),empty),x3) 3.35/3.66 INTER(union(y,z),x) -> INTER(x,y) 3.35/3.66 INTER(union(y,z),x) -> INTER(x,z) 3.35/3.66 -> EAxioms: 3.35/3.66 eq(x3,x4) = eq(x4,x3) 3.35/3.66 inter(inter(x3,x4),x5) = inter(x3,inter(x4,x5)) 3.35/3.66 inter(x3,x4) = inter(x4,x3) 3.35/3.66 union(union(x3,x4),x5) = union(x3,union(x4,x5)) 3.35/3.66 union(x3,x4) = union(x4,x3) 3.35/3.66 -> Rules: 3.35/3.66 eq(0,0) -> true 3.35/3.66 eq(0,s(x)) -> false 3.35/3.66 eq(s(x),s(y)) -> eq(x,y) 3.35/3.66 if(false,x,y) -> y 3.35/3.66 if(true,x,y) -> x 3.35/3.66 inter(union(y,z),x) -> union(inter(x,y),inter(x,z)) 3.35/3.66 inter(empty,x) -> empty 3.35/3.66 inter(singl(x),singl(y)) -> if(eq(x,y),singl(x),empty) 3.35/3.66 union(empty,x) -> x 3.35/3.66 -> SRules: 3.35/3.66 INTER(inter(x3,x4),x5) -> INTER(x3,x4) 3.35/3.66 INTER(x3,inter(x4,x5)) -> INTER(x4,x5) 3.35/3.66 ->Strongly Connected Components: 3.35/3.66 ->->Cycle: 3.35/3.66 ->->-> Pairs: 3.35/3.66 INTER(inter(union(y,z),x),x3) -> INTER(union(inter(x,y),inter(x,z)),x3) 3.35/3.66 INTER(inter(union(y,z),x),x3) -> INTER(x,z) 3.35/3.66 INTER(inter(empty,x),x3) -> INTER(empty,x3) 3.35/3.66 INTER(inter(singl(x),singl(y)),x3) -> INTER(if(eq(x,y),singl(x),empty),x3) 3.35/3.66 INTER(union(y,z),x) -> INTER(x,y) 3.35/3.66 INTER(union(y,z),x) -> INTER(x,z) 3.35/3.66 -> FAxioms: 3.35/3.66 eq(x3,x4) -> eq(x4,x3) 3.35/3.66 inter(inter(x3,x4),x5) -> inter(x3,inter(x4,x5)) 3.35/3.66 inter(x3,x4) -> inter(x4,x3) 3.35/3.66 union(union(x3,x4),x5) -> union(x3,union(x4,x5)) 3.35/3.66 union(x3,x4) -> union(x4,x3) 3.35/3.66 INTER(inter(x3,x4),x5) -> INTER(x3,inter(x4,x5)) 3.35/3.66 INTER(x3,x4) -> INTER(x4,x3) 3.35/3.66 -> EAxioms: 3.35/3.66 eq(x3,x4) = eq(x4,x3) 3.35/3.66 inter(inter(x3,x4),x5) = inter(x3,inter(x4,x5)) 3.35/3.66 inter(x3,x4) = inter(x4,x3) 3.35/3.66 union(union(x3,x4),x5) = union(x3,union(x4,x5)) 3.35/3.66 union(x3,x4) = union(x4,x3) 3.35/3.66 ->->-> Rules: 3.35/3.66 eq(0,0) -> true 3.35/3.66 eq(0,s(x)) -> false 3.35/3.66 eq(s(x),s(y)) -> eq(x,y) 3.35/3.66 if(false,x,y) -> y 3.35/3.66 if(true,x,y) -> x 3.35/3.66 inter(union(y,z),x) -> union(inter(x,y),inter(x,z)) 3.35/3.66 inter(empty,x) -> empty 3.35/3.66 inter(singl(x),singl(y)) -> if(eq(x,y),singl(x),empty) 3.35/3.66 union(empty,x) -> x 3.35/3.66 -> SRules: 3.35/3.66 INTER(inter(x3,x4),x5) -> INTER(x3,x4) 3.35/3.66 INTER(x3,inter(x4,x5)) -> INTER(x4,x5) 3.35/3.66 3.35/3.66 Problem 1.3: 3.35/3.66 3.35/3.66 Reduction Pairs Processor: 3.35/3.66 -> FAxioms: 3.35/3.66 INTER(inter(x3,x4),x5) = INTER(x3,inter(x4,x5)) 3.35/3.66 INTER(x3,x4) = INTER(x4,x3) 3.35/3.66 -> Pairs: 3.35/3.66 INTER(inter(union(y,z),x),x3) -> INTER(union(inter(x,y),inter(x,z)),x3) 3.35/3.66 INTER(inter(union(y,z),x),x3) -> INTER(x,z) 3.35/3.66 INTER(inter(empty,x),x3) -> INTER(empty,x3) 3.35/3.66 INTER(inter(singl(x),singl(y)),x3) -> INTER(if(eq(x,y),singl(x),empty),x3) 3.35/3.66 INTER(union(y,z),x) -> INTER(x,y) 3.35/3.66 INTER(union(y,z),x) -> INTER(x,z) 3.35/3.66 -> EAxioms: 3.35/3.66 eq(x3,x4) = eq(x4,x3) 3.35/3.66 inter(inter(x3,x4),x5) = inter(x3,inter(x4,x5)) 3.35/3.66 inter(x3,x4) = inter(x4,x3) 3.35/3.66 union(union(x3,x4),x5) = union(x3,union(x4,x5)) 3.35/3.66 union(x3,x4) = union(x4,x3) 3.35/3.66 -> Usable Equations: 3.35/3.66 eq(x3,x4) = eq(x4,x3) 3.35/3.66 inter(inter(x3,x4),x5) = inter(x3,inter(x4,x5)) 3.35/3.66 inter(x3,x4) = inter(x4,x3) 3.35/3.66 union(union(x3,x4),x5) = union(x3,union(x4,x5)) 3.35/3.66 union(x3,x4) = union(x4,x3) 3.35/3.66 -> Rules: 3.35/3.66 eq(0,0) -> true 3.35/3.66 eq(0,s(x)) -> false 3.35/3.66 eq(s(x),s(y)) -> eq(x,y) 3.35/3.66 if(false,x,y) -> y 3.35/3.66 if(true,x,y) -> x 3.35/3.66 inter(union(y,z),x) -> union(inter(x,y),inter(x,z)) 3.35/3.66 inter(empty,x) -> empty 3.35/3.66 inter(singl(x),singl(y)) -> if(eq(x,y),singl(x),empty) 3.35/3.66 union(empty,x) -> x 3.35/3.66 -> Usable Rules: 3.35/3.66 eq(0,0) -> true 3.35/3.66 eq(0,s(x)) -> false 3.35/3.66 eq(s(x),s(y)) -> eq(x,y) 3.35/3.66 if(false,x,y) -> y 3.35/3.66 if(true,x,y) -> x 3.35/3.66 inter(union(y,z),x) -> union(inter(x,y),inter(x,z)) 3.35/3.66 inter(empty,x) -> empty 3.35/3.66 inter(singl(x),singl(y)) -> if(eq(x,y),singl(x),empty) 3.35/3.66 union(empty,x) -> x 3.35/3.66 -> SRules: 3.35/3.66 INTER(inter(x3,x4),x5) -> INTER(x3,x4) 3.35/3.66 INTER(x3,inter(x4,x5)) -> INTER(x4,x5) 3.35/3.66 ->Interpretation type: 3.35/3.66 Simple mixed 3.35/3.66 ->Coefficients: 3.35/3.66 Natural Numbers 3.35/3.66 ->Dimension: 3.35/3.66 1 3.35/3.66 ->Bound: 3.35/3.66 1 3.35/3.66 ->Interpretation: 3.35/3.66 3.35/3.66 [eq](X1,X2) = 1 3.35/3.66 [if](X1,X2,X3) = X1.X2 + X1.X3 3.35/3.66 [inter](X1,X2) = X1.X2 + X1 + X2 3.35/3.66 [union](X1,X2) = X1 + X2 + 1 3.35/3.66 [0] = 0 3.35/3.66 [empty] = 0 3.35/3.66 [false] = 1 3.35/3.66 [s](X) = X + 1 3.35/3.66 [singl](X) = X.X + X 3.35/3.66 [true] = 1 3.35/3.66 [EQ](X1,X2) = 0 3.35/3.66 [IF](X1,X2,X3) = 0 3.35/3.66 [INTER](X1,X2) = X1.X2 + X1 + X2 3.35/3.66 [UNION](X1,X2) = 0 3.35/3.66 3.35/3.66 Problem 1.3: 3.35/3.66 3.35/3.66 SCC Processor: 3.35/3.66 -> FAxioms: 3.35/3.66 INTER(inter(x3,x4),x5) = INTER(x3,inter(x4,x5)) 3.35/3.66 INTER(x3,x4) = INTER(x4,x3) 3.35/3.66 -> Pairs: 3.35/3.66 INTER(inter(union(y,z),x),x3) -> INTER(union(inter(x,y),inter(x,z)),x3) 3.35/3.66 INTER(inter(empty,x),x3) -> INTER(empty,x3) 3.35/3.66 INTER(inter(singl(x),singl(y)),x3) -> INTER(if(eq(x,y),singl(x),empty),x3) 3.35/3.66 INTER(union(y,z),x) -> INTER(x,y) 3.35/3.66 INTER(union(y,z),x) -> INTER(x,z) 3.35/3.66 -> EAxioms: 3.35/3.66 eq(x3,x4) = eq(x4,x3) 3.35/3.66 inter(inter(x3,x4),x5) = inter(x3,inter(x4,x5)) 3.35/3.66 inter(x3,x4) = inter(x4,x3) 3.35/3.66 union(union(x3,x4),x5) = union(x3,union(x4,x5)) 3.35/3.66 union(x3,x4) = union(x4,x3) 3.35/3.66 -> Rules: 3.35/3.66 eq(0,0) -> true 3.35/3.66 eq(0,s(x)) -> false 3.35/3.66 eq(s(x),s(y)) -> eq(x,y) 3.35/3.66 if(false,x,y) -> y 3.35/3.66 if(true,x,y) -> x 3.35/3.66 inter(union(y,z),x) -> union(inter(x,y),inter(x,z)) 3.35/3.66 inter(empty,x) -> empty 3.35/3.66 inter(singl(x),singl(y)) -> if(eq(x,y),singl(x),empty) 3.35/3.66 union(empty,x) -> x 3.35/3.66 -> SRules: 3.35/3.66 INTER(inter(x3,x4),x5) -> INTER(x3,x4) 3.35/3.66 INTER(x3,inter(x4,x5)) -> INTER(x4,x5) 3.35/3.66 ->Strongly Connected Components: 3.35/3.66 ->->Cycle: 3.35/3.66 ->->-> Pairs: 3.35/3.66 INTER(inter(union(y,z),x),x3) -> INTER(union(inter(x,y),inter(x,z)),x3) 3.35/3.66 INTER(inter(empty,x),x3) -> INTER(empty,x3) 3.35/3.66 INTER(inter(singl(x),singl(y)),x3) -> INTER(if(eq(x,y),singl(x),empty),x3) 3.35/3.66 INTER(union(y,z),x) -> INTER(x,y) 3.35/3.66 INTER(union(y,z),x) -> INTER(x,z) 3.35/3.66 -> FAxioms: 3.35/3.66 eq(x3,x4) -> eq(x4,x3) 3.35/3.66 inter(inter(x3,x4),x5) -> inter(x3,inter(x4,x5)) 3.35/3.66 inter(x3,x4) -> inter(x4,x3) 3.35/3.66 union(union(x3,x4),x5) -> union(x3,union(x4,x5)) 3.35/3.66 union(x3,x4) -> union(x4,x3) 3.35/3.66 INTER(inter(x3,x4),x5) -> INTER(x3,inter(x4,x5)) 3.35/3.66 INTER(x3,x4) -> INTER(x4,x3) 3.35/3.66 -> EAxioms: 3.35/3.66 eq(x3,x4) = eq(x4,x3) 3.35/3.66 inter(inter(x3,x4),x5) = inter(x3,inter(x4,x5)) 3.35/3.66 inter(x3,x4) = inter(x4,x3) 3.35/3.66 union(union(x3,x4),x5) = union(x3,union(x4,x5)) 3.35/3.66 union(x3,x4) = union(x4,x3) 3.35/3.66 ->->-> Rules: 3.35/3.66 eq(0,0) -> true 3.35/3.66 eq(0,s(x)) -> false 3.35/3.66 eq(s(x),s(y)) -> eq(x,y) 3.35/3.66 if(false,x,y) -> y 3.35/3.66 if(true,x,y) -> x 3.35/3.66 inter(union(y,z),x) -> union(inter(x,y),inter(x,z)) 3.35/3.66 inter(empty,x) -> empty 3.35/3.66 inter(singl(x),singl(y)) -> if(eq(x,y),singl(x),empty) 3.35/3.66 union(empty,x) -> x 3.35/3.66 -> SRules: 3.35/3.66 INTER(inter(x3,x4),x5) -> INTER(x3,x4) 3.35/3.66 INTER(x3,inter(x4,x5)) -> INTER(x4,x5) 3.35/3.66 3.35/3.66 Problem 1.3: 3.35/3.66 3.35/3.66 Reduction Pairs Processor: 3.35/3.66 -> FAxioms: 3.35/3.66 INTER(inter(x3,x4),x5) = INTER(x3,inter(x4,x5)) 3.35/3.66 INTER(x3,x4) = INTER(x4,x3) 3.35/3.66 -> Pairs: 3.35/3.66 INTER(inter(union(y,z),x),x3) -> INTER(union(inter(x,y),inter(x,z)),x3) 3.35/3.66 INTER(inter(empty,x),x3) -> INTER(empty,x3) 3.35/3.66 INTER(inter(singl(x),singl(y)),x3) -> INTER(if(eq(x,y),singl(x),empty),x3) 3.35/3.66 INTER(union(y,z),x) -> INTER(x,y) 3.35/3.66 INTER(union(y,z),x) -> INTER(x,z) 3.35/3.66 -> EAxioms: 3.35/3.66 eq(x3,x4) = eq(x4,x3) 3.35/3.66 inter(inter(x3,x4),x5) = inter(x3,inter(x4,x5)) 3.35/3.66 inter(x3,x4) = inter(x4,x3) 3.35/3.66 union(union(x3,x4),x5) = union(x3,union(x4,x5)) 3.35/3.66 union(x3,x4) = union(x4,x3) 3.35/3.66 -> Usable Equations: 3.35/3.66 eq(x3,x4) = eq(x4,x3) 3.35/3.66 inter(inter(x3,x4),x5) = inter(x3,inter(x4,x5)) 3.35/3.66 inter(x3,x4) = inter(x4,x3) 3.35/3.66 union(union(x3,x4),x5) = union(x3,union(x4,x5)) 3.35/3.66 union(x3,x4) = union(x4,x3) 3.35/3.66 -> Rules: 3.35/3.66 eq(0,0) -> true 3.35/3.66 eq(0,s(x)) -> false 3.35/3.66 eq(s(x),s(y)) -> eq(x,y) 3.35/3.66 if(false,x,y) -> y 3.35/3.66 if(true,x,y) -> x 3.35/3.66 inter(union(y,z),x) -> union(inter(x,y),inter(x,z)) 3.35/3.66 inter(empty,x) -> empty 3.35/3.66 inter(singl(x),singl(y)) -> if(eq(x,y),singl(x),empty) 3.35/3.66 union(empty,x) -> x 3.35/3.66 -> Usable Rules: 3.35/3.66 eq(0,0) -> true 3.35/3.66 eq(0,s(x)) -> false 3.35/3.66 eq(s(x),s(y)) -> eq(x,y) 3.35/3.66 if(false,x,y) -> y 3.35/3.66 if(true,x,y) -> x 3.35/3.66 inter(union(y,z),x) -> union(inter(x,y),inter(x,z)) 3.35/3.66 inter(empty,x) -> empty 3.35/3.66 inter(singl(x),singl(y)) -> if(eq(x,y),singl(x),empty) 3.35/3.66 union(empty,x) -> x 3.35/3.66 -> SRules: 3.35/3.66 INTER(inter(x3,x4),x5) -> INTER(x3,x4) 3.35/3.66 INTER(x3,inter(x4,x5)) -> INTER(x4,x5) 3.35/3.66 ->Interpretation type: 3.35/3.66 Simple mixed 3.35/3.66 ->Coefficients: 3.35/3.66 Natural Numbers 3.35/3.66 ->Dimension: 3.35/3.66 1 3.35/3.66 ->Bound: 3.35/3.66 1 3.35/3.66 ->Interpretation: 3.35/3.66 3.35/3.66 [eq](X1,X2) = 1 3.35/3.66 [if](X1,X2,X3) = X1.X2.X3 + X1.X3 + X2.X3 + X1 + X2 + X3 3.35/3.66 [inter](X1,X2) = X1.X2 + X1 + X2 3.35/3.66 [union](X1,X2) = X1 + X2 + 1 3.35/3.66 [0] = 0 3.35/3.66 [empty] = 0 3.35/3.66 [false] = 0 3.35/3.66 [s](X) = X 3.35/3.66 [singl](X) = 1 3.35/3.66 [true] = 1 3.35/3.66 [EQ](X1,X2) = 0 3.35/3.66 [IF](X1,X2,X3) = 0 3.35/3.66 [INTER](X1,X2) = X1.X2 + X1 + X2 3.35/3.66 [UNION](X1,X2) = 0 3.35/3.66 3.35/3.66 Problem 1.3: 3.35/3.66 3.35/3.66 SCC Processor: 3.35/3.66 -> FAxioms: 3.35/3.66 INTER(inter(x3,x4),x5) = INTER(x3,inter(x4,x5)) 3.35/3.66 INTER(x3,x4) = INTER(x4,x3) 3.35/3.66 -> Pairs: 3.35/3.66 INTER(inter(union(y,z),x),x3) -> INTER(union(inter(x,y),inter(x,z)),x3) 3.35/3.66 INTER(inter(empty,x),x3) -> INTER(empty,x3) 3.35/3.66 INTER(union(y,z),x) -> INTER(x,y) 3.35/3.66 INTER(union(y,z),x) -> INTER(x,z) 3.35/3.66 -> EAxioms: 3.35/3.66 eq(x3,x4) = eq(x4,x3) 3.35/3.66 inter(inter(x3,x4),x5) = inter(x3,inter(x4,x5)) 3.35/3.66 inter(x3,x4) = inter(x4,x3) 3.35/3.66 union(union(x3,x4),x5) = union(x3,union(x4,x5)) 3.35/3.66 union(x3,x4) = union(x4,x3) 3.35/3.66 -> Rules: 3.35/3.66 eq(0,0) -> true 3.35/3.66 eq(0,s(x)) -> false 3.35/3.66 eq(s(x),s(y)) -> eq(x,y) 3.35/3.66 if(false,x,y) -> y 3.35/3.66 if(true,x,y) -> x 3.35/3.66 inter(union(y,z),x) -> union(inter(x,y),inter(x,z)) 3.35/3.66 inter(empty,x) -> empty 3.35/3.66 inter(singl(x),singl(y)) -> if(eq(x,y),singl(x),empty) 3.35/3.66 union(empty,x) -> x 3.35/3.66 -> SRules: 3.35/3.66 INTER(inter(x3,x4),x5) -> INTER(x3,x4) 3.35/3.66 INTER(x3,inter(x4,x5)) -> INTER(x4,x5) 3.35/3.66 ->Strongly Connected Components: 3.35/3.66 ->->Cycle: 3.35/3.66 ->->-> Pairs: 3.35/3.66 INTER(inter(union(y,z),x),x3) -> INTER(union(inter(x,y),inter(x,z)),x3) 3.35/3.66 INTER(inter(empty,x),x3) -> INTER(empty,x3) 3.35/3.66 INTER(union(y,z),x) -> INTER(x,y) 3.35/3.66 INTER(union(y,z),x) -> INTER(x,z) 3.35/3.66 -> FAxioms: 3.35/3.66 eq(x3,x4) -> eq(x4,x3) 3.35/3.66 inter(inter(x3,x4),x5) -> inter(x3,inter(x4,x5)) 3.35/3.66 inter(x3,x4) -> inter(x4,x3) 3.35/3.66 union(union(x3,x4),x5) -> union(x3,union(x4,x5)) 3.35/3.66 union(x3,x4) -> union(x4,x3) 3.35/3.66 INTER(inter(x3,x4),x5) -> INTER(x3,inter(x4,x5)) 3.35/3.66 INTER(x3,x4) -> INTER(x4,x3) 3.35/3.66 -> EAxioms: 3.35/3.66 eq(x3,x4) = eq(x4,x3) 3.35/3.66 inter(inter(x3,x4),x5) = inter(x3,inter(x4,x5)) 3.35/3.66 inter(x3,x4) = inter(x4,x3) 3.35/3.66 union(union(x3,x4),x5) = union(x3,union(x4,x5)) 3.35/3.66 union(x3,x4) = union(x4,x3) 3.35/3.66 ->->-> Rules: 3.35/3.66 eq(0,0) -> true 3.35/3.66 eq(0,s(x)) -> false 3.35/3.66 eq(s(x),s(y)) -> eq(x,y) 3.35/3.66 if(false,x,y) -> y 3.35/3.66 if(true,x,y) -> x 3.35/3.66 inter(union(y,z),x) -> union(inter(x,y),inter(x,z)) 3.35/3.66 inter(empty,x) -> empty 3.35/3.66 inter(singl(x),singl(y)) -> if(eq(x,y),singl(x),empty) 3.35/3.66 union(empty,x) -> x 3.35/3.66 -> SRules: 3.35/3.66 INTER(inter(x3,x4),x5) -> INTER(x3,x4) 3.35/3.66 INTER(x3,inter(x4,x5)) -> INTER(x4,x5) 3.35/3.66 3.35/3.66 Problem 1.3: 3.35/3.66 3.35/3.66 Reduction Pairs Processor: 3.35/3.66 -> FAxioms: 3.35/3.66 INTER(inter(x3,x4),x5) = INTER(x3,inter(x4,x5)) 3.35/3.66 INTER(x3,x4) = INTER(x4,x3) 3.35/3.66 -> Pairs: 3.35/3.66 INTER(inter(union(y,z),x),x3) -> INTER(union(inter(x,y),inter(x,z)),x3) 3.35/3.66 INTER(inter(empty,x),x3) -> INTER(empty,x3) 3.35/3.66 INTER(union(y,z),x) -> INTER(x,y) 3.35/3.66 INTER(union(y,z),x) -> INTER(x,z) 3.35/3.66 -> EAxioms: 3.35/3.66 eq(x3,x4) = eq(x4,x3) 3.35/3.66 inter(inter(x3,x4),x5) = inter(x3,inter(x4,x5)) 3.35/3.66 inter(x3,x4) = inter(x4,x3) 3.35/3.66 union(union(x3,x4),x5) = union(x3,union(x4,x5)) 3.35/3.66 union(x3,x4) = union(x4,x3) 3.35/3.66 -> Usable Equations: 3.35/3.66 eq(x3,x4) = eq(x4,x3) 3.35/3.66 inter(inter(x3,x4),x5) = inter(x3,inter(x4,x5)) 3.35/3.66 inter(x3,x4) = inter(x4,x3) 3.35/3.66 union(union(x3,x4),x5) = union(x3,union(x4,x5)) 3.35/3.66 union(x3,x4) = union(x4,x3) 3.35/3.66 -> Rules: 3.35/3.66 eq(0,0) -> true 3.35/3.66 eq(0,s(x)) -> false 3.35/3.66 eq(s(x),s(y)) -> eq(x,y) 3.35/3.66 if(false,x,y) -> y 3.35/3.66 if(true,x,y) -> x 3.35/3.66 inter(union(y,z),x) -> union(inter(x,y),inter(x,z)) 3.35/3.66 inter(empty,x) -> empty 3.35/3.66 inter(singl(x),singl(y)) -> if(eq(x,y),singl(x),empty) 3.35/3.66 union(empty,x) -> x 3.35/3.66 -> Usable Rules: 3.35/3.66 eq(0,0) -> true 3.35/3.66 eq(0,s(x)) -> false 3.35/3.66 eq(s(x),s(y)) -> eq(x,y) 3.35/3.66 if(false,x,y) -> y 3.35/3.66 if(true,x,y) -> x 3.35/3.66 inter(union(y,z),x) -> union(inter(x,y),inter(x,z)) 3.35/3.66 inter(empty,x) -> empty 3.35/3.66 inter(singl(x),singl(y)) -> if(eq(x,y),singl(x),empty) 3.35/3.66 union(empty,x) -> x 3.35/3.66 -> SRules: 3.35/3.66 INTER(inter(x3,x4),x5) -> INTER(x3,x4) 3.35/3.66 INTER(x3,inter(x4,x5)) -> INTER(x4,x5) 3.35/3.66 ->Interpretation type: 3.35/3.66 Simple mixed 3.35/3.66 ->Coefficients: 3.35/3.66 Natural Numbers 3.35/3.66 ->Dimension: 3.35/3.66 1 3.35/3.66 ->Bound: 3.35/3.66 1 3.35/3.66 ->Interpretation: 3.35/3.66 3.35/3.66 [eq](X1,X2) = X1.X2 + X1 + X2 + 1 3.35/3.66 [if](X1,X2,X3) = X1.X3 + X2.X3 + X1 + X2 + X3 + 1 3.35/3.66 [inter](X1,X2) = X1.X2 + X1 + X2 3.35/3.66 [union](X1,X2) = X1 + X2 + 1 3.35/3.66 [0] = 1 3.35/3.66 [empty] = 0 3.35/3.66 [false] = 1 3.35/3.66 [s](X) = X + 1 3.35/3.66 [singl](X) = X.X + X + 1 3.35/3.66 [true] = 1 3.35/3.66 [EQ](X1,X2) = 0 3.35/3.66 [IF](X1,X2,X3) = 0 3.35/3.66 [INTER](X1,X2) = X1.X2 + X1 + X2 3.35/3.66 [UNION](X1,X2) = 0 3.35/3.66 3.35/3.66 Problem 1.3: 3.35/3.66 3.35/3.66 SCC Processor: 3.35/3.66 -> FAxioms: 3.35/3.66 INTER(inter(x3,x4),x5) = INTER(x3,inter(x4,x5)) 3.35/3.66 INTER(x3,x4) = INTER(x4,x3) 3.35/3.66 -> Pairs: 3.35/3.66 INTER(inter(union(y,z),x),x3) -> INTER(union(inter(x,y),inter(x,z)),x3) 3.35/3.66 INTER(inter(empty,x),x3) -> INTER(empty,x3) 3.35/3.66 INTER(union(y,z),x) -> INTER(x,z) 3.35/3.66 -> EAxioms: 3.35/3.66 eq(x3,x4) = eq(x4,x3) 3.35/3.66 inter(inter(x3,x4),x5) = inter(x3,inter(x4,x5)) 3.35/3.66 inter(x3,x4) = inter(x4,x3) 3.35/3.66 union(union(x3,x4),x5) = union(x3,union(x4,x5)) 3.35/3.66 union(x3,x4) = union(x4,x3) 3.35/3.66 -> Rules: 3.35/3.66 eq(0,0) -> true 3.35/3.66 eq(0,s(x)) -> false 3.35/3.66 eq(s(x),s(y)) -> eq(x,y) 3.35/3.66 if(false,x,y) -> y 3.35/3.66 if(true,x,y) -> x 3.35/3.66 inter(union(y,z),x) -> union(inter(x,y),inter(x,z)) 3.35/3.66 inter(empty,x) -> empty 3.35/3.66 inter(singl(x),singl(y)) -> if(eq(x,y),singl(x),empty) 3.35/3.66 union(empty,x) -> x 3.35/3.66 -> SRules: 3.35/3.66 INTER(inter(x3,x4),x5) -> INTER(x3,x4) 3.35/3.66 INTER(x3,inter(x4,x5)) -> INTER(x4,x5) 3.35/3.66 ->Strongly Connected Components: 3.35/3.66 ->->Cycle: 3.35/3.66 ->->-> Pairs: 3.35/3.66 INTER(inter(union(y,z),x),x3) -> INTER(union(inter(x,y),inter(x,z)),x3) 3.35/3.66 INTER(inter(empty,x),x3) -> INTER(empty,x3) 3.35/3.66 INTER(union(y,z),x) -> INTER(x,z) 3.35/3.66 -> FAxioms: 3.35/3.66 eq(x3,x4) -> eq(x4,x3) 3.35/3.66 inter(inter(x3,x4),x5) -> inter(x3,inter(x4,x5)) 3.35/3.66 inter(x3,x4) -> inter(x4,x3) 3.35/3.66 union(union(x3,x4),x5) -> union(x3,union(x4,x5)) 3.35/3.66 union(x3,x4) -> union(x4,x3) 3.35/3.66 INTER(inter(x3,x4),x5) -> INTER(x3,inter(x4,x5)) 3.35/3.66 INTER(x3,x4) -> INTER(x4,x3) 3.35/3.66 -> EAxioms: 3.35/3.66 eq(x3,x4) = eq(x4,x3) 3.35/3.66 inter(inter(x3,x4),x5) = inter(x3,inter(x4,x5)) 3.35/3.66 inter(x3,x4) = inter(x4,x3) 3.35/3.66 union(union(x3,x4),x5) = union(x3,union(x4,x5)) 3.35/3.66 union(x3,x4) = union(x4,x3) 3.35/3.66 ->->-> Rules: 3.35/3.66 eq(0,0) -> true 3.35/3.66 eq(0,s(x)) -> false 3.35/3.66 eq(s(x),s(y)) -> eq(x,y) 3.35/3.66 if(false,x,y) -> y 3.35/3.66 if(true,x,y) -> x 3.35/3.66 inter(union(y,z),x) -> union(inter(x,y),inter(x,z)) 3.35/3.66 inter(empty,x) -> empty 3.35/3.66 inter(singl(x),singl(y)) -> if(eq(x,y),singl(x),empty) 3.35/3.66 union(empty,x) -> x 3.35/3.66 -> SRules: 3.35/3.66 INTER(inter(x3,x4),x5) -> INTER(x3,x4) 3.35/3.66 INTER(x3,inter(x4,x5)) -> INTER(x4,x5) 3.35/3.66 3.35/3.66 Problem 1.3: 3.35/3.66 3.35/3.66 Reduction Pairs Processor: 3.35/3.66 -> FAxioms: 3.35/3.66 INTER(inter(x3,x4),x5) = INTER(x3,inter(x4,x5)) 3.35/3.66 INTER(x3,x4) = INTER(x4,x3) 3.35/3.66 -> Pairs: 3.35/3.66 INTER(inter(union(y,z),x),x3) -> INTER(union(inter(x,y),inter(x,z)),x3) 3.35/3.66 INTER(inter(empty,x),x3) -> INTER(empty,x3) 3.35/3.66 INTER(union(y,z),x) -> INTER(x,z) 3.35/3.66 -> EAxioms: 3.35/3.66 eq(x3,x4) = eq(x4,x3) 3.35/3.66 inter(inter(x3,x4),x5) = inter(x3,inter(x4,x5)) 3.35/3.66 inter(x3,x4) = inter(x4,x3) 3.35/3.66 union(union(x3,x4),x5) = union(x3,union(x4,x5)) 3.35/3.66 union(x3,x4) = union(x4,x3) 3.35/3.66 -> Usable Equations: 3.35/3.66 eq(x3,x4) = eq(x4,x3) 3.35/3.66 inter(inter(x3,x4),x5) = inter(x3,inter(x4,x5)) 3.35/3.66 inter(x3,x4) = inter(x4,x3) 3.35/3.66 union(union(x3,x4),x5) = union(x3,union(x4,x5)) 3.35/3.66 union(x3,x4) = union(x4,x3) 3.35/3.66 -> Rules: 3.35/3.66 eq(0,0) -> true 3.35/3.66 eq(0,s(x)) -> false 3.35/3.66 eq(s(x),s(y)) -> eq(x,y) 3.35/3.66 if(false,x,y) -> y 3.35/3.66 if(true,x,y) -> x 3.35/3.66 inter(union(y,z),x) -> union(inter(x,y),inter(x,z)) 3.35/3.66 inter(empty,x) -> empty 3.35/3.66 inter(singl(x),singl(y)) -> if(eq(x,y),singl(x),empty) 3.35/3.66 union(empty,x) -> x 3.35/3.66 -> Usable Rules: 3.35/3.66 eq(0,0) -> true 3.35/3.66 eq(0,s(x)) -> false 3.35/3.66 eq(s(x),s(y)) -> eq(x,y) 3.35/3.66 if(false,x,y) -> y 3.35/3.66 if(true,x,y) -> x 3.35/3.66 inter(union(y,z),x) -> union(inter(x,y),inter(x,z)) 3.35/3.66 inter(empty,x) -> empty 3.35/3.66 inter(singl(x),singl(y)) -> if(eq(x,y),singl(x),empty) 3.35/3.66 union(empty,x) -> x 3.35/3.66 -> SRules: 3.35/3.66 INTER(inter(x3,x4),x5) -> INTER(x3,x4) 3.35/3.66 INTER(x3,inter(x4,x5)) -> INTER(x4,x5) 3.35/3.66 ->Interpretation type: 3.35/3.66 Simple mixed 3.35/3.66 ->Coefficients: 3.35/3.66 Natural Numbers 3.35/3.66 ->Dimension: 3.35/3.66 1 3.35/3.66 ->Bound: 3.35/3.66 1 3.35/3.66 ->Interpretation: 3.35/3.66 3.35/3.66 [eq](X1,X2) = X1.X2 + X1 + X2 + 1 3.35/3.66 [if](X1,X2,X3) = X1.X3 + X2.X3 + X1 + X2 + X3 3.35/3.66 [inter](X1,X2) = X1.X2 + X1 + X2 3.35/3.66 [union](X1,X2) = X1 + X2 + 1 3.35/3.66 [0] = 1 3.35/3.66 [empty] = 0 3.35/3.66 [false] = 1 3.35/3.66 [s](X) = X + 1 3.35/3.66 [singl](X) = X.X + X + 1 3.35/3.66 [true] = 1 3.35/3.66 [EQ](X1,X2) = 0 3.35/3.66 [IF](X1,X2,X3) = 0 3.35/3.66 [INTER](X1,X2) = X1.X2 + X1 + X2 3.35/3.66 [UNION](X1,X2) = 0 3.35/3.66 3.35/3.66 Problem 1.3: 3.35/3.66 3.35/3.66 SCC Processor: 3.35/3.66 -> FAxioms: 3.35/3.66 INTER(inter(x3,x4),x5) = INTER(x3,inter(x4,x5)) 3.35/3.66 INTER(x3,x4) = INTER(x4,x3) 3.35/3.66 -> Pairs: 3.35/3.66 INTER(inter(union(y,z),x),x3) -> INTER(union(inter(x,y),inter(x,z)),x3) 3.35/3.66 INTER(inter(empty,x),x3) -> INTER(empty,x3) 3.35/3.66 -> EAxioms: 3.35/3.66 eq(x3,x4) = eq(x4,x3) 3.35/3.66 inter(inter(x3,x4),x5) = inter(x3,inter(x4,x5)) 3.35/3.66 inter(x3,x4) = inter(x4,x3) 3.35/3.66 union(union(x3,x4),x5) = union(x3,union(x4,x5)) 3.35/3.66 union(x3,x4) = union(x4,x3) 3.35/3.66 -> Rules: 3.35/3.66 eq(0,0) -> true 3.35/3.66 eq(0,s(x)) -> false 3.35/3.66 eq(s(x),s(y)) -> eq(x,y) 3.35/3.66 if(false,x,y) -> y 3.35/3.66 if(true,x,y) -> x 3.35/3.66 inter(union(y,z),x) -> union(inter(x,y),inter(x,z)) 3.35/3.66 inter(empty,x) -> empty 3.35/3.66 inter(singl(x),singl(y)) -> if(eq(x,y),singl(x),empty) 3.35/3.66 union(empty,x) -> x 3.35/3.66 -> SRules: 3.35/3.66 INTER(inter(x3,x4),x5) -> INTER(x3,x4) 3.35/3.66 INTER(x3,inter(x4,x5)) -> INTER(x4,x5) 3.35/3.66 ->Strongly Connected Components: 3.35/3.66 ->->Cycle: 3.35/3.66 ->->-> Pairs: 3.35/3.66 INTER(inter(union(y,z),x),x3) -> INTER(union(inter(x,y),inter(x,z)),x3) 3.35/3.66 INTER(inter(empty,x),x3) -> INTER(empty,x3) 3.35/3.66 -> FAxioms: 3.35/3.66 eq(x3,x4) -> eq(x4,x3) 3.35/3.66 inter(inter(x3,x4),x5) -> inter(x3,inter(x4,x5)) 3.35/3.66 inter(x3,x4) -> inter(x4,x3) 3.35/3.66 union(union(x3,x4),x5) -> union(x3,union(x4,x5)) 3.35/3.66 union(x3,x4) -> union(x4,x3) 3.35/3.66 INTER(inter(x3,x4),x5) -> INTER(x3,inter(x4,x5)) 3.35/3.66 INTER(x3,x4) -> INTER(x4,x3) 3.35/3.66 -> EAxioms: 3.35/3.66 eq(x3,x4) = eq(x4,x3) 3.35/3.66 inter(inter(x3,x4),x5) = inter(x3,inter(x4,x5)) 3.35/3.66 inter(x3,x4) = inter(x4,x3) 3.35/3.66 union(union(x3,x4),x5) = union(x3,union(x4,x5)) 3.35/3.66 union(x3,x4) = union(x4,x3) 3.35/3.66 ->->-> Rules: 3.35/3.66 eq(0,0) -> true 3.35/3.66 eq(0,s(x)) -> false 3.35/3.66 eq(s(x),s(y)) -> eq(x,y) 3.35/3.66 if(false,x,y) -> y 3.35/3.66 if(true,x,y) -> x 3.35/3.66 inter(union(y,z),x) -> union(inter(x,y),inter(x,z)) 3.35/3.66 inter(empty,x) -> empty 3.35/3.66 inter(singl(x),singl(y)) -> if(eq(x,y),singl(x),empty) 3.35/3.66 union(empty,x) -> x 3.35/3.66 -> SRules: 3.35/3.66 INTER(inter(x3,x4),x5) -> INTER(x3,x4) 3.35/3.66 INTER(x3,inter(x4,x5)) -> INTER(x4,x5) 3.35/3.66 3.35/3.66 Problem 1.3: 3.35/3.66 3.35/3.66 Reduction Pairs Processor: 3.35/3.66 -> FAxioms: 3.35/3.66 INTER(inter(x3,x4),x5) = INTER(x3,inter(x4,x5)) 3.35/3.66 INTER(x3,x4) = INTER(x4,x3) 3.35/3.66 -> Pairs: 3.35/3.66 INTER(inter(union(y,z),x),x3) -> INTER(union(inter(x,y),inter(x,z)),x3) 3.35/3.66 INTER(inter(empty,x),x3) -> INTER(empty,x3) 3.35/3.66 -> EAxioms: 3.35/3.66 eq(x3,x4) = eq(x4,x3) 3.35/3.66 inter(inter(x3,x4),x5) = inter(x3,inter(x4,x5)) 3.35/3.66 inter(x3,x4) = inter(x4,x3) 3.35/3.66 union(union(x3,x4),x5) = union(x3,union(x4,x5)) 3.35/3.66 union(x3,x4) = union(x4,x3) 3.35/3.66 -> Usable Equations: 3.35/3.66 eq(x3,x4) = eq(x4,x3) 3.35/3.66 inter(inter(x3,x4),x5) = inter(x3,inter(x4,x5)) 3.35/3.66 inter(x3,x4) = inter(x4,x3) 3.35/3.66 union(union(x3,x4),x5) = union(x3,union(x4,x5)) 3.35/3.66 union(x3,x4) = union(x4,x3) 3.35/3.66 -> Rules: 3.35/3.66 eq(0,0) -> true 3.35/3.66 eq(0,s(x)) -> false 3.35/3.66 eq(s(x),s(y)) -> eq(x,y) 3.35/3.66 if(false,x,y) -> y 3.35/3.66 if(true,x,y) -> x 3.35/3.66 inter(union(y,z),x) -> union(inter(x,y),inter(x,z)) 3.35/3.66 inter(empty,x) -> empty 3.35/3.66 inter(singl(x),singl(y)) -> if(eq(x,y),singl(x),empty) 3.35/3.66 union(empty,x) -> x 3.35/3.66 -> Usable Rules: 3.35/3.66 eq(0,0) -> true 3.35/3.66 eq(0,s(x)) -> false 3.35/3.66 eq(s(x),s(y)) -> eq(x,y) 3.35/3.66 if(false,x,y) -> y 3.35/3.66 if(true,x,y) -> x 3.35/3.66 inter(union(y,z),x) -> union(inter(x,y),inter(x,z)) 3.35/3.66 inter(empty,x) -> empty 3.35/3.66 inter(singl(x),singl(y)) -> if(eq(x,y),singl(x),empty) 3.35/3.66 union(empty,x) -> x 3.35/3.66 -> SRules: 3.35/3.66 INTER(inter(x3,x4),x5) -> INTER(x3,x4) 3.35/3.66 INTER(x3,inter(x4,x5)) -> INTER(x4,x5) 3.35/3.66 ->Interpretation type: 3.35/3.66 Simple mixed 3.35/3.66 ->Coefficients: 3.35/3.66 All rationals 3.35/3.66 ->Dimension: 3.35/3.66 1 3.35/3.66 ->Bound: 3.35/3.66 3 3.35/3.66 ->Interpretation: 3.35/3.66 3.35/3.66 [eq](X1,X2) = 2 3.35/3.66 [if](X1,X2,X3) = 2.X1.X2 + 1/2.X1 + 2/3.X2 + 2.X3 3.35/3.66 [inter](X1,X2) = 3.X1.X2 + 3.X1 + 3.X2 + 2 3.35/3.66 [union](X1,X2) = X1 + X2 + 3/2 3.35/3.66 [0] = 1 3.35/3.66 [empty] = 0 3.35/3.66 [false] = 2/3 3.35/3.66 [s](X) = 1/3.X + 1/3 3.35/3.66 [singl](X) = 1 3.35/3.66 [true] = 2 3.35/3.66 [EQ](X1,X2) = 0 3.35/3.66 [IF](X1,X2,X3) = 0 3.35/3.66 [INTER](X1,X2) = 1/3.X1.X2 + 1/3.X1 + 1/3.X2 3.35/3.66 [UNION](X1,X2) = 0 3.35/3.66 3.35/3.66 Problem 1.3: 3.35/3.66 3.35/3.66 SCC Processor: 3.35/3.66 -> FAxioms: 3.35/3.66 INTER(inter(x3,x4),x5) = INTER(x3,inter(x4,x5)) 3.35/3.66 INTER(x3,x4) = INTER(x4,x3) 3.35/3.66 -> Pairs: 3.35/3.66 INTER(inter(empty,x),x3) -> INTER(empty,x3) 3.35/3.66 -> EAxioms: 3.35/3.66 eq(x3,x4) = eq(x4,x3) 3.35/3.66 inter(inter(x3,x4),x5) = inter(x3,inter(x4,x5)) 3.35/3.66 inter(x3,x4) = inter(x4,x3) 3.35/3.66 union(union(x3,x4),x5) = union(x3,union(x4,x5)) 3.35/3.66 union(x3,x4) = union(x4,x3) 3.35/3.66 -> Rules: 3.35/3.66 eq(0,0) -> true 3.35/3.66 eq(0,s(x)) -> false 3.35/3.66 eq(s(x),s(y)) -> eq(x,y) 3.35/3.66 if(false,x,y) -> y 3.35/3.66 if(true,x,y) -> x 3.35/3.66 inter(union(y,z),x) -> union(inter(x,y),inter(x,z)) 3.35/3.66 inter(empty,x) -> empty 3.35/3.66 inter(singl(x),singl(y)) -> if(eq(x,y),singl(x),empty) 3.35/3.66 union(empty,x) -> x 3.35/3.66 -> SRules: 3.35/3.66 INTER(inter(x3,x4),x5) -> INTER(x3,x4) 3.35/3.66 INTER(x3,inter(x4,x5)) -> INTER(x4,x5) 3.35/3.66 ->Strongly Connected Components: 3.35/3.66 ->->Cycle: 3.35/3.66 ->->-> Pairs: 3.35/3.66 INTER(inter(empty,x),x3) -> INTER(empty,x3) 3.35/3.66 -> FAxioms: 3.35/3.66 eq(x3,x4) -> eq(x4,x3) 3.35/3.66 inter(inter(x3,x4),x5) -> inter(x3,inter(x4,x5)) 3.35/3.66 inter(x3,x4) -> inter(x4,x3) 3.35/3.66 union(union(x3,x4),x5) -> union(x3,union(x4,x5)) 3.35/3.66 union(x3,x4) -> union(x4,x3) 3.35/3.66 INTER(inter(x3,x4),x5) -> INTER(x3,inter(x4,x5)) 3.35/3.66 INTER(x3,x4) -> INTER(x4,x3) 3.35/3.66 -> EAxioms: 3.35/3.66 eq(x3,x4) = eq(x4,x3) 3.35/3.66 inter(inter(x3,x4),x5) = inter(x3,inter(x4,x5)) 3.35/3.66 inter(x3,x4) = inter(x4,x3) 3.35/3.66 union(union(x3,x4),x5) = union(x3,union(x4,x5)) 3.35/3.66 union(x3,x4) = union(x4,x3) 3.35/3.66 ->->-> Rules: 3.35/3.66 eq(0,0) -> true 3.35/3.66 eq(0,s(x)) -> false 3.35/3.66 eq(s(x),s(y)) -> eq(x,y) 3.35/3.66 if(false,x,y) -> y 3.35/3.66 if(true,x,y) -> x 3.35/3.66 inter(union(y,z),x) -> union(inter(x,y),inter(x,z)) 3.35/3.66 inter(empty,x) -> empty 3.35/3.66 inter(singl(x),singl(y)) -> if(eq(x,y),singl(x),empty) 3.35/3.66 union(empty,x) -> x 3.35/3.66 -> SRules: 3.35/3.66 INTER(inter(x3,x4),x5) -> INTER(x3,x4) 3.35/3.66 INTER(x3,inter(x4,x5)) -> INTER(x4,x5) 3.35/3.66 3.35/3.66 Problem 1.3: 3.35/3.66 3.35/3.66 Reduction Pairs Processor: 3.35/3.66 -> FAxioms: 3.35/3.66 INTER(inter(x3,x4),x5) = INTER(x3,inter(x4,x5)) 3.35/3.66 INTER(x3,x4) = INTER(x4,x3) 3.35/3.66 -> Pairs: 3.35/3.66 INTER(inter(empty,x),x3) -> INTER(empty,x3) 3.35/3.66 -> EAxioms: 3.35/3.66 eq(x3,x4) = eq(x4,x3) 3.35/3.66 inter(inter(x3,x4),x5) = inter(x3,inter(x4,x5)) 3.35/3.66 inter(x3,x4) = inter(x4,x3) 3.35/3.66 union(union(x3,x4),x5) = union(x3,union(x4,x5)) 3.35/3.66 union(x3,x4) = union(x4,x3) 3.35/3.66 -> Usable Equations: 3.35/3.66 eq(x3,x4) = eq(x4,x3) 3.35/3.66 inter(inter(x3,x4),x5) = inter(x3,inter(x4,x5)) 3.35/3.66 inter(x3,x4) = inter(x4,x3) 3.35/3.66 union(union(x3,x4),x5) = union(x3,union(x4,x5)) 3.35/3.66 union(x3,x4) = union(x4,x3) 3.35/3.66 -> Rules: 3.35/3.66 eq(0,0) -> true 3.35/3.66 eq(0,s(x)) -> false 3.35/3.66 eq(s(x),s(y)) -> eq(x,y) 3.35/3.66 if(false,x,y) -> y 3.35/3.66 if(true,x,y) -> x 3.35/3.66 inter(union(y,z),x) -> union(inter(x,y),inter(x,z)) 3.35/3.66 inter(empty,x) -> empty 3.35/3.66 inter(singl(x),singl(y)) -> if(eq(x,y),singl(x),empty) 3.35/3.66 union(empty,x) -> x 3.35/3.66 -> Usable Rules: 3.35/3.66 eq(0,0) -> true 3.35/3.66 eq(0,s(x)) -> false 3.35/3.66 eq(s(x),s(y)) -> eq(x,y) 3.35/3.66 if(false,x,y) -> y 3.35/3.66 if(true,x,y) -> x 3.35/3.66 inter(union(y,z),x) -> union(inter(x,y),inter(x,z)) 3.35/3.66 inter(empty,x) -> empty 3.35/3.66 inter(singl(x),singl(y)) -> if(eq(x,y),singl(x),empty) 3.35/3.66 union(empty,x) -> x 3.35/3.66 -> SRules: 3.35/3.66 INTER(inter(x3,x4),x5) -> INTER(x3,x4) 3.35/3.66 INTER(x3,inter(x4,x5)) -> INTER(x4,x5) 3.35/3.66 ->Interpretation type: 3.35/3.66 Simple mixed 3.35/3.66 ->Coefficients: 3.35/3.66 All rationals 3.35/3.66 ->Dimension: 3.35/3.66 1 3.35/3.66 ->Bound: 3.35/3.66 3 3.35/3.66 ->Interpretation: 3.35/3.66 3.35/3.66 [eq](X1,X2) = 1 3.35/3.66 [if](X1,X2,X3) = 3.X1.X2 + 2.X1.X3 + 3.X2.X3 + 3/2.X3 3.35/3.66 [inter](X1,X2) = 2.X1.X2 + 3.X1 + 3.X2 + 3 3.35/3.66 [union](X1,X2) = X1 + X2 + 3 3.35/3.66 [0] = 2/3 3.35/3.66 [empty] = 0 3.35/3.66 [false] = 2/3 3.35/3.66 [s](X) = 3 3.35/3.66 [singl](X) = 3 3.35/3.66 [true] = 1/3 3.35/3.66 [EQ](X1,X2) = 0 3.35/3.66 [IF](X1,X2,X3) = 0 3.35/3.66 [INTER](X1,X2) = 1/3.X1.X2 + 1/2.X1 + 1/2.X2 3.35/3.66 [UNION](X1,X2) = 0 3.35/3.66 3.35/3.66 Problem 1.3: 3.35/3.66 3.35/3.66 SCC Processor: 3.35/3.66 -> FAxioms: 3.35/3.66 INTER(inter(x3,x4),x5) = INTER(x3,inter(x4,x5)) 3.35/3.66 INTER(x3,x4) = INTER(x4,x3) 3.35/3.66 -> Pairs: 3.35/3.66 Empty 3.35/3.66 -> EAxioms: 3.35/3.66 eq(x3,x4) = eq(x4,x3) 3.35/3.66 inter(inter(x3,x4),x5) = inter(x3,inter(x4,x5)) 3.35/3.66 inter(x3,x4) = inter(x4,x3) 3.35/3.66 union(union(x3,x4),x5) = union(x3,union(x4,x5)) 3.35/3.66 union(x3,x4) = union(x4,x3) 3.35/3.66 -> Rules: 3.35/3.66 eq(0,0) -> true 3.35/3.66 eq(0,s(x)) -> false 3.35/3.66 eq(s(x),s(y)) -> eq(x,y) 3.35/3.66 if(false,x,y) -> y 3.35/3.66 if(true,x,y) -> x 3.35/3.66 inter(union(y,z),x) -> union(inter(x,y),inter(x,z)) 3.35/3.66 inter(empty,x) -> empty 3.35/3.66 inter(singl(x),singl(y)) -> if(eq(x,y),singl(x),empty) 3.35/3.66 union(empty,x) -> x 3.35/3.66 -> SRules: 3.35/3.66 INTER(inter(x3,x4),x5) -> INTER(x3,x4) 3.35/3.66 INTER(x3,inter(x4,x5)) -> INTER(x4,x5) 3.35/3.66 ->Strongly Connected Components: 3.35/3.66 There is no strongly connected component 3.35/3.66 3.35/3.66 The problem is finite. 3.35/3.66 EOF