Witness counts with free variables, and their closure properties #
A function of a structure and a valuation is a witness count
(DescriptiveComplexity.WCount) when it counts the assignments of a block of
relation variables satisfying a first-order formula with those free
variables. Witness counts are closed under every construction of ΣQSO(FO):
- a formula, counting
1or0(DescriptiveComplexity.WCount.ind), and a constant (DescriptiveComplexity.WCount.const); - the product of two (
DescriptiveComplexity.WCount.mul): the two blocks side by side, the two formulas conjoined; - the sum of two (
DescriptiveComplexity.WCount.add): the two blocks and a selector of arity zero, as inDescriptiveComplexity.pairKernel; - the second-order sum (
DescriptiveComplexity.WCount.sosum): the summed block joins the block of the count.
The first-order sum and product are in
DescriptiveComplexity.Counting.QSOQuantifiers.
The witnesses of a formula with free variables, under a valuation.
Equations
- DescriptiveComplexity.FWit M B φ A v = { ρ : B.Assignment A // φ.Realize v }
Instances For
Dependency graph
A witness count: on finite structures, the number of witnesses of a formula with free variables, for some block.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
Products #
A formula over the expansion by B, read over the expansion by
SOBlock.cons B C.
Equations
Instances For
Dependency graph
A formula over the expansion by C, read over the expansion by
SOBlock.cons B C.
Equations
Instances For
Dependency graph
The product of two witness counts is a witness count: the two blocks side by side, the two formulas conjoined.
Dependency graph
Second-order sums #
The second-order sum of a witness count is a witness count: the summed block joins the block of the count.
Dependency graph
Sums #
“The relation variables of the block are empty”, as a formula.
Equations
Instances For
Dependency graph
The block of a sum: the two blocks and a selector.
Equations
Instances For
Dependency graph
“The selector holds.”
Equations
Instances For
Dependency graph
The kernel of a sum: the first formula of the first block when the selector holds, the second block being empty; the second formula of the second block otherwise, the first block being empty.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
The empty assignment.
Equations
- DescriptiveComplexity.WCount.emptyAssign C A x✝¹ x✝ = False
Instances For
Dependency graph
The selector, true or false.
Equations
- DescriptiveComplexity.WCount.selAssign b A x✝¹ x✝ = b
Instances For
Dependency graph
The sum of two witness counts is a witness count.
Dependency graph
A constant is a witness count.