Translating infinitary formulas into the graph language #
BoundedFormulaInf.relationalize translates an L_{ω₁ω} formula of L into a formula of the
relational graph language L.graphLanguage. Connectives and quantifiers are translated
structurally. An atom is flattened through its terms: an equation t₁ = t₂ becomes
∃ y, (t₁ = y) ∧ (t₂ = y), and a relational atom R(t₀, …, t_{l-1}) becomes
∃ y₀ … y_{l-1}, (⋀ᵢ tᵢ = yᵢ) ∧ R(y₀, …, y_{l-1}), where each statement t = y about the value
of a term is its term graph Term.graphFormula. The term graph of a variable is an equation, and
the term graph of f(s₀, …, s_{k-1}) existentially quantifies one witness for the value of each
argument, states the term graphs of the arguments at these witnesses, and applies the graph
relation of f to the witnesses and the value.
Over the graph expansion of an L-structure the translation is realized exactly when the
original formula is (BoundedFormulaInf.realize_relationalize). The translation mentions no
function symbol, and its relation symbols are exactly the graph-language symbols of the symbols of
the original formula (BoundedFormulaInf.relationsIn_relationalize). Combined with
relSym_inter, this bounds the shared vocabulary of two translated formulas by the translation of
their shared vocabulary.
Main definitions #
FirstOrder.Language.Term.graphFormula: the term grapht = yof a term, with the variables of the term read through a map into the variables of the formula.FirstOrder.Language.BoundedFormulaInf.relationalize: the translation of formulas.
Main results #
FirstOrder.Language.Term.realize_graphFormula,FirstOrder.Language.BoundedFormulaInf.realize_relationalize: over the graph expansion, the term graph states the value of the term, and the translation of a formula is realized exactly when the formula is.FirstOrder.Language.BoundedFormulaInf.relationsIn_relationalize: the exact occurrence identity(relationalize φ).relationsIn = relSym φ.functionsIn φ.relationsIn, withFirstOrder.Language.BoundedFormulaInf.functionsIn_relationalize.
References #
- The term graph and the translation follow
termGraphAux,equalGraph,relGraphandrelationalizeFormulaofcameronfreer/infinitary-logicat commit518a366cba97b1ae8c4dc64a297a396939bc3e0b, inInfinitaryLogic/Methods/Interpolation/TermGraph.leanandRelationalize.lean. Divergences from that source: languages, variables and structures live in arbitrary universes; the term graph reads the variables of a term through a map into variables rather than into graph-language terms; finite conjunctions are coded conjunctionsiInfAlong; and the atomic translations are not separate declarations.
The term graph of a term t of L: the formula of the graph language stating that the
value of t, whose variables are read through ρ, is the value of the variable y. A variable
gives an equation; an application f(s₀, …, s_{k-1}) quantifies k new slots existentially,
states the term graph of each sᵢ at the i-th new slot, and applies the graph relation of f
to the new slots and y.
Instances For
The term graph of an application quantifies one new slot for the value of each argument.
Over the graph expansion, the term graph of t holds exactly when the value of t, with its
variables read through ρ, is the value of y.
The translation into the graph language of an L_{ω₁ω} formula of L. Connectives and
quantifiers are translated structurally. An equation t₁ = t₂ becomes
∃ y, (t₁ = y) ∧ (t₂ = y), and a relational atom R(t₀, …, t_{l-1}) becomes
∃ y₀ … y_{l-1}, (⋀ᵢ tᵢ = yᵢ) ∧ R(y₀, …, y_{l-1}), where each t = y is a term graph.
Instances For
The translation of an equation t₁ = t₂ is ∃ y, (t₁ = y) ∧ (t₂ = y).
The translation of a relational atom R(t₀, …, t_{l-1}) is
∃ y₀ … y_{l-1}, (⋀ᵢ tᵢ = yᵢ) ∧ R(y₀, …, y_{l-1}).
The translation preserves truth: over the graph expansion of an L-structure, the
translation of a formula is realized exactly when the formula is.
The exact occurrence identity: the relation symbols of the translation of φ are exactly
the graph-language symbols of the function and relation symbols of φ.
No function symbol occurs in the translation of a formula: the graph language has none.