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 : a) : (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