Uniform definability by first-order formulas with operators #
Definable certifies that one well-formed formula defines a Lean predicate across a family of
structures. The formula is independent of the family index, structure size, and assignment.
This is the semantic interface for formula synthesis: compositional rules construct syntax and
prove its formation conditions and meaning together.
The family supplies the interpretations of the operators and free relation variables. Particular logics can therefore register rules about their own semantic operations without extending this interface. A registered rule must produce a well-formed witness, rather than raw syntax alone.
Main definitions #
Definable: uniform definability across an indexed family of structures.Definable.of_formula: use a checked formula as a definability certificate.
Main results #
Definable.neg,Definable.conj,Definable.disj,Definable.ex,Definable.all: compositional construction of well-formed formulas.Definable.ofFO,Definable.equal,Definable.rel: atomic certificates.
References #
A single well-formed formula defines the predicate in every member of a family of structures. The existential witness is outside the quantification over structures and assignments.
Instances For
Register an explicit well-formed formula through its semantics.
Replace a predicate by an equivalent one without changing its formula.
Relabeling free variables composes the predicate with the assignment map.
A native first-order formula has the same meaning in the extended logic.
Negation preserves uniform definability.
Conjunction combines the two defining formulas.
Disjunction combines the two defining formulas.
Implication is a derived first-order connective.
Existential quantification is synthesized by adding one scoped first-order variable.
Universal quantification is synthesized from a defining formula with one extra variable.
The constant true predicate is uniformly definable, including on empty structures.
The constant false predicate is uniformly definable.
Equality of two native first-order terms is uniformly definable.
Equality of two free variables is an atomic synthesis rule.
A base-language relation applied to native terms is uniformly definable.
A base-language relation applied to free variables is an atomic synthesis rule.
Unary relation application in the usual vector notation is an atomic synthesis rule.
Binary relation application in the usual vector notation is an atomic synthesis rule.
Free relation variables are also available to formula synthesis.
A free relation variable applied to a tuple of free variables is uniformly definable.
Unary free-relation application in vector notation is an atomic synthesis rule.
Binary free-relation application in vector notation is an atomic synthesis rule.