Documentation

Complexitylib.DescriptiveComplexity.SecondOrder.ModelChecking.Defs

Boolean relation environments and FO-matrix evaluation #

Existential SO witnesses supply relation tables. DecREnv presents those tables as Boolean functions, while toREnv gives their propositional meaning. A matrix evaluator reads both the vocabulary relations and these supplied relations; first-order quantifiers enumerate the finite universe.

The evaluator requires an IsFOMatrix certificate, so its interface excludes second-order quantifiers. This is the verification step in Immerman's Descriptive Complexity, Section 7.1, Proposition 7.6. SecondOrder.Certificate supplies the binary certificate format; SecondOrder.PolynomialTime proves polynomial-time checking against the machine definitions.

Boolean truth tables for the relation variables in a fixed arity context.

Equations
Instances For
    def Complexity.DescriptiveComplexity.DecREnv.toREnv {card : Nat} {rctx : List Nat} (ρ : DecREnv card rctx) :
    REnv card rctx

    Interpret the supplied Boolean tables as propositional relations.

    Equations
    Instances For

      The unique Boolean relation environment for an empty context.

      Equations
      Instances For
        def Complexity.DescriptiveComplexity.DecREnv.cons {card k : Nat} {rctx : List Nat} (S : (Fin k → Fin card) → Bool) (ρ : DecREnv card rctx) :
        DecREnv card (k :: rctx)

        Supply a fresh Boolean relation at de Bruijn index zero.

        Equations
        Instances For
          def Complexity.DescriptiveComplexity.SOFormula.evalMatrixB {V : Vocabulary} (A : DecFinStruct V) {rctx : List Nat} {n : Nat} (φ : SOFormula V rctx n) :
          φ.IsFOMatrix → Env A.card n → DecREnv A.card rctx → Bool

          Evaluate an FO matrix with supplied Boolean relation tables and element values.

          Equations
          Instances For