Database
Types
Functions
def read_all (path: {p : String | p ≠ ""}) (sql: {s : String | s ≠ ""}) : {r : Rows | row_count r ≥ 0}
def num_rows (r: Rows) : {n : Int | n = row_count r && n ≥ 0}
def is_empty (r: Rows) : {b : Bool | b = (row_count r = 0)}
def connect (path: {p : String | p ≠ ""}) : Conn
def begin (c: Conn) : Txn
def execute (sql: {s : String | s ≠ ""}) (t: Txn) : Txn
def commit (t: Txn) : Conn
def rollback (t: Txn) : Conn
def close (c: Conn) : Unit
Uninterpreted
Functions declared as def f ... = uninterpreted: only their signature is known to the verifier; they have no body.
def row_count : (r : Rows) → Int