Documentation

Complexity.Computability.TreeEval.Instance

Tree Evaluation instances of all sizes #

Cslib.TreeEval.Instance collects the instances of all value lengths and heights, and Cslib.TreeEval.encInstance encodes them injectively by Cslib.TreeEval.Tree.encode: the header determines the value length and the height, and the body determines the tree, as the table of a gate determines the gate.

Main definitions #

Main results #

A Tree Evaluation instance of some value length and height.

Instances For
    theorem Cslib.TreeEval.table_injective {ℓ : ℕ} {f g : Gate ℓ} (h : table f = table g) :
    f = g

    The table of a gate determines the gate.

    theorem Cslib.TreeEval.Tree.body_injective {ℓ h : ℕ} {T T' : Tree ℓ h} :
    T.body = T'.body → T = T'

    The body determines the tree.

    The encoding of instances.

    Instances For

      Every encoded instance has at least the two delimiter zeroes of the header.

      For 1 ≤ I.height, the value length I.ell is strictly less than the binary length of the encoded instance length.

      For 1 ≤ I.ell, the height I.height is strictly less than the binary length of the encoded instance length.