Complexity and realization of first-order formulas #
Mathlib's FirstOrder.Language.BoundedFormula.iSup and FirstOrder.Language.BoundedFormula.iInf
form the disjunction and conjunction of a finite family of formulas. This file shows that both are
quantifier-free when every member of the family is.
In an algebraic language, every atomic formula holds in a subsingleton structure: atomic formulas can only assert equality of terms.
Translating a formula along a language homomorphism (FirstOrder.Language.LHom.onBoundedFormula)
keeps it atomic, quantifier-free or universal, and quantifying all bound variables of a universal
formula (FirstOrder.Language.BoundedFormula.alls) gives a universal formula. These let universal
sentences of a language be read in an extension by constants.
A finite disjunction of quantifier-free formulas is quantifier-free.
A finite conjunction of quantifier-free formulas is quantifier-free.
Every atomic formula over an algebraic language holds in a subsingleton structure.
Translating an atomic formula along a language homomorphism gives an atomic formula.
Translating a quantifier-free formula along a language homomorphism gives a quantifier-free formula.
Translating a universal formula along a language homomorphism gives a universal formula.
Universally quantifying all bound variables of a universal formula gives a universal formula.