Finite circuit syntax #
A finite signature gives finitely many lines and programs of each fixed size.
Their cardinalities count syntax and are independent of any interpretation or carrier.
Line.card_le bounds the number of lines when all operation arities are bounded.
For the full basis on a carrier of size q, there are q ^ (q ^ k) operation tables
and q constants. Line.card_full counts their possible arguments separately.
instance Cslib.Circuits.instFiniteOpFullSignature {U : Type u_1} [Finite U] {k : ℕ} :
Finite (fullSignature k U).Op