Statistics
Functions
def widenBelow (1 xs : Array Float | Array.size xs > 0) (t1 : Float) (t2 : Float | t2 ≥ t1) : {r : Array Float | Array.size r > 0 && fracBelow r t2 ≥ fracBelow xs t1}
def widenAbove (1 xs : Array Float | Array.size xs > 0) (t1 : Float) (t2 : Float | t2 ≤ t1) : {r : Array Float | Array.size r > 0 && fracAbove r t2 ≥ fracAbove xs t1}
def belowComplement (1 xs : Array Float | Array.size xs > 0) (t : Float) : {r : Array Float | Array.size r > 0 && fracBelow r t = 1.0 - fracAbove xs t}
def betweenFromBelow (1 xs : Array Float | Array.size xs > 0) (lo : Float) (hi : Float | hi ≥ lo) : {r : Array Float | Array.size r > 0 && fracBetween r lo hi ≥ fracBelow xs hi - fracBelow xs lo}
def mean (1 xs : Array Float | Array.size xs > 0) : {m : Float | m = sampleMean xs}
def std (1 xs : Array Float | Array.size xs > 0) : {s : Float | s = sampleStd xs}
def var (1 xs : Array Float | Array.size xs > 0) : {v : Float | v = sampleVar xs}
def min (1 xs : Array Float | Array.size xs > 0) : {m : Float | m = sampleMin xs}
def max (1 xs : Array Float | Array.size xs > 0) : {m : Float | m = sampleMax xs}
def sum (1 xs : Array Float | Array.size xs > 0) : Float
def quantile (1 xs : Array Float | Array.size xs > 0) (q : Float) : Float
def prod (1 xs : Array Float | Array.size xs > 0) : Float
def cumsum (1 xs : Array Float | Array.size xs > 0) : Array Float
def cumprod (1 xs : Array Float | Array.size xs > 0) : Array Float
def quartiles (1 xs : Array Float | Array.size xs > 0) : Array Float
def unique (1 xs : Array Float | Array.size xs > 0) : Array Float
def argmax (1 xs : Array Float | Array.size xs > 0) : Float
def argmin (1 xs : Array Float | Array.size xs > 0) : Float
def percentile (1 xs : Array Float | Array.size xs > 0) (p : Float) : Float
def corrcoef (1 xs : Array Float | Array.size xs > 0) (1 ys : Array Float | Array.size ys = Array.size xs) : Float
def cov (1 xs : Array Float | Array.size xs > 0) (1 ys : Array Float | Array.size ys = Array.size xs) : Float
def proportionBelow (1 xs : Array Float | Array.size xs > 0) (t : Float) : {f : Float | f = fracBelow xs t && (0.0 ≤ f && f ≤ 1.0)}
def proportionAbove (1 xs : Array Float | Array.size xs > 0) (t : Float) : {f : Float | f = fracAbove xs t && (0.0 ≤ f && f ≤ 1.0)}
def proportionBetween (1 xs : Array Float | Array.size xs > 0) (lo : Float) (hi : Float | hi ≥ lo) : {f : Float | f = fracBetween xs lo hi && (0.0 ≤ f && f ≤ 1.0)}
Uninterpreted
Functions declared as def f ... = uninterpreted: only their signature is known to the verifier; they have no body.
def fracBelow : (xs : Array Float) → (t : Float) → Float
def fracAbove : (xs : Array Float) → (t : Float) → Float
def fracBetween : (xs : Array Float) → (lo : Float) → (hi : Float) → Float
def sampleMean : (xs : Array Float) → Float
def sampleVar : (xs : Array Float) → Float
def sampleStd : (xs : Array Float) → Float
def sampleMin : (xs : Array Float) → Float
def sampleMax : (xs : Array Float) → Float