Set
Types
Functions
def new : {s : Set a | size s == 0}
def add : (s : Set a) -> (x : a) -> {s2 : Set a | size s2 >= size s}
def has : (s : Set a) -> (x : a) -> Bool
def remove : (s : Set a) -> (x : {el : a | contains s el}) -> Set a
def union : (s1 : Set a) -> (s2 : Set a) -> Set a
def intersection : (s1 : Set a) -> (s2 : Set a) -> Set a
def difference : (s1 : Set a) -> (s2 : Set a) -> Set a
def toList : (s : Set a) -> Array a
Uninterpreted
Functions declared as def f ... = uninterpreted: only their signature is known to the verifier; they have no body.
def size : (s : Set a) -> Int
def contains : (s : Set a) -> (x : a) -> Bool