Documentation

CslibFrontier.Logics.BooleanClone.Generated

Generated Boolean clones and functional completeness #

BooleanClone.generated G contains exactly the operations obtained from positive-arity members of G and coordinate projections by finitely many superpositions. Members of G 0 are ignored: constant functions here have positive arity, rather than being nullary gates.

Main definitions #

Main results #

inductive Cslib.Logic.BooleanClone.Generated (G : (n : ℕ) → Set ((Fin n → Bool) → Bool)) {n : ℕ} :
((Fin n → Bool) → Bool) → Prop

A finite derivation from positive-arity generators, projections and superposition.

Instances For
    theorem Cslib.Logic.BooleanClone.Generated.arity_pos {G : (n : ℕ) → Set ((Fin n → Bool) → Bool)} {n : ℕ} {f : (Fin n → Bool) → Bool} (h : Generated G f) :
    0 < n

    Derivations only construct positive-arity operations.

    The clone of operations with a finite superposition derivation from G.

    Instances For
      theorem Cslib.Logic.BooleanClone.generated_le_iff (G : (n : ℕ) → Set ((Fin n → Bool) → Bool)) (C : BooleanClone) :
      (∀ (n : ℕ), (generated G).operations n ⊆ C.operations n) ↔ ∀ (n : ℕ), 0 < n → G n ⊆ C.operations n

      A clone contains the generated clone exactly when it contains every positive-arity original generator. No condition on G 0 is imposed.

      A clone is complete when it contains every Boolean operation of every positive arity.

      Instances For

        Functional completeness for positive arities, allowing unary constant functions. This does not require synthesizing nullary gates.

        Instances For