eq(B,C),contains(B,D) -> contains(C,D).
eq(B,C),contains(C,D) -> contains(B,D).
contains(B,s3(C,B)),contains(C,s3(C,B)),eq(C,B).
contains(B,s3(C,B)),contains(C,s3(C,B)) -> eq(C,B).
eq(B,B).


contains(union(A,B),C) -> contains(A,C), contains(B,C).
contains(union(A,B),C) <- contains(A,C).
contains(union(A,B),C) <- contains(B,C).

%goal eq(union(a,union(b,c)),union(union(a,b),c)) -> [].



