# Test for Set equality

Inspired by this question, I stumbled in an unexpected difficulty when trying to compare two `Set`

s :

```
sage: L[:2]
[[
[ 2 -2] [0 1] [ 0 1]
[-2 1], [0 1], [ 0 -1/2]
],
[
[ 2 -2] [ 0 1] [0 1]
[-2 1], [ 0 -1/2], [0 1]
]]
sage: Set(L[0][1:])==Set(L[1][1:])
False
```

Quite unexpected... However :

```
sage: all([u in Set(L[1][1:]) for u in Set(L[0][1:])])
True
sage: all([u in Set(L[0][1:]) for u in Set(L[1][1:])])
True
```

as expected.

The `Sets`

reference doesn't mention testing forv `Set`

s equality.

Is that a bug, an oversight or an expected behaviour ?

Not sure, but making the matrices immutable as in

`L = [[matrix([[2,-2],[-2,1]], immutable=True), matrix([[0,1],[0,1]], immutable=True), matrix([[0,1],[0,-1/2]], immutable=True)], [matrix([[2,-2],[-2,1]], immutable=True), matrix([[0,1],[0,-1/2]], immutable=True), matrix([[0,1],[0,1]], immutable=True)]]`

makes the equality`True`

.It is known that

`Set`

is buggy for unhashable elements.Thanks, @Max Alekseyev !

Is there a ticket for that ?

@Emmanuel Charpentier: Yes - see https://github.com/sagemath/sage/issu...