First-order sums and products of witness counts #
The two first-order quantifiers of ΣQSO(FO) keep witness counts witness counts.
- The sum over the
n-tuples (DescriptiveComplexity.WCount.sum): the tuple is guessed too, asnunary relation variables holding one element each. - The product over the
n-tuples (DescriptiveComplexity.WCount.prod): one witness per tuple, i.e., every relation variable of the block takes the tuple asnmore arguments (DescriptiveComplexity.SOBlock.extend); the formula reads them by substitutingX'(w̄, ȳ)for every atomX(ȳ)(DescriptiveComplexity.extendRel), and holds for every tuple.
The sum over tuples #
n unary relation variables.
Equations
Instances For
Dependency graph
The i-th unary relation variable, beside the block B.
Instances For
Dependency graph
“The i-th unary relation variable holds of exactly one element.”
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
The kernel of a sum over tuples: each unary relation variable holds of exactly one element, and the tuple of these elements satisfies the formula.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
Dependency graph
The element a unary relation variable holding of exactly one element holds of.
Equations
Instances For
Dependency graph
The unary relation variables holding of the elements of a tuple.
Equations
- DescriptiveComplexity.WCount.tupleAssign w i x = (x 0 = w i)
Instances For
Dependency graph
Dependency graph
The witnesses of a sum over tuples are a tuple and a witness for it.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
The sum of a witness count over the tuples is a witness count.
Dependency graph
The product over tuples #
Every relation variable of the block takes n more arguments.
Instances For
Dependency graph
The assignments of the extended block are the families of assignments
indexed by the n-tuples.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
A term of a relational expansion, read in another expansion of the same base vocabulary.
Equations
- DescriptiveComplexity.castTerm (FirstOrder.Language.var x_1) = FirstOrder.Language.var x_1
- DescriptiveComplexity.castTerm (FirstOrder.Language.func (Sum.inl f) ts) = FirstOrder.Language.func (Sum.inl f) fun (i : Fin l) => DescriptiveComplexity.castTerm (ts i)
- DescriptiveComplexity.castTerm (FirstOrder.Language.func (Sum.inr f) _ts) = isEmptyElim f
Instances For
Dependency graph
Substituting X'(w̄, ȳ) for every atom X(ȳ) of a relation variable
of the block, w̄ free variables.
Equations
- One or more equations did not get rendered due to their size.
- DescriptiveComplexity.extendRel w FirstOrder.Language.BoundedFormula.falsum = FirstOrder.Language.BoundedFormula.falsum
- DescriptiveComplexity.extendRel w (FirstOrder.Language.BoundedFormula.equal t₁ t₂) = FirstOrder.Language.BoundedFormula.equal (DescriptiveComplexity.castTerm t₁) (DescriptiveComplexity.castTerm t₂)
- DescriptiveComplexity.extendRel w (φ.imp ψ) = (DescriptiveComplexity.extendRel w φ).imp (DescriptiveComplexity.extendRel w ψ)
- DescriptiveComplexity.extendRel w φ.all = (DescriptiveComplexity.extendRel w φ).all
Instances For
Dependency graph
The product of a witness count over the tuples is a witness count: one witness per tuple, read off the extended block.