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