% are all equivalence relations of the form E(x,y) <-> f(x) = f(y) ?
let X = 4

find [E: Relation(X)] {
    printstr "trying one"
    AND
    all x (E(x,x))
    AND
    all x,y (E(x,y) -> E(y,x))
    AND
    all x,y,z (E(x,y) & E(y,z) -> E(x,z))
    AND
    printstr "Found an equivalence, now looking for function"
    AND
    not exists [f: X -> X] {
        all x,y (E(x,y) <-> f(x) = f(y))
    }
}
