Every formula over decided relations is decided #
The induction that removes first-order structure around walks: if every
relation variable of a block is decided by a
DescriptiveComplexity.Decider – at the tuple as parameters – then every
first-order formula over the base vocabulary expanded by the block is decided
by one (DescriptiveComplexity.Decider.exists_of_formula), and the decider is
functional when the block's are.
The induction is on FirstOrder.Language.BoundedFormula, whose constructors
are exactly the algebra of DescriptiveComplexity.TransitiveClosureDecide:
⊥, equality and a base relation are atoms, an atom of the block is its
decider with the parameters renamed to the atom's arguments, implication is
DescriptiveComplexity.Decider.imp, and ∀ is
DescriptiveComplexity.Decider.all with the bound variable frozen.
Stated for a block whose assignment is a function of the structure, as the
reachability relations of a family of walks are
(DescriptiveComplexity.TCFamily.reachAssign); the deciders of those are
built in DescriptiveComplexity.TransitiveClosureDecideReach and
DescriptiveComplexity.TransitiveClosureDecideReachDet.
Realization of a formula over the expansion of the ordered base by a block, at the assignment the block has on the structure.
Equations
- DescriptiveComplexity.Decider.ExpRealize ρ φ v xs = φ.Realize v xs
Instances For
Dependency graph
Every formula over decided relations is decided. Given, for each relation variable of the block, a decider of its assignment at the tuple as parameters, every first-order formula over the expansion has a decider at its free variables as parameters, functional when the given ones are.