The graph language of a first-order language #
The graph language L.graphLanguage has no function symbols. Its relation symbols are those of
L, at their arities, together with one (k + 1)-ary relation symbol G_f for each k-ary
function symbol f of L, standing for the graph f(x₀, …, x_{k-1}) = y of f. Every
L-structure becomes an L.graphLanguage-structure on the same carrier, its graph expansion
graphExpansion L M.
Formulas of L translate into formulas of the graph language with the same realization in the
graph expansion (TauCeti.ModelTheory.Infinitary.GraphTranslation.Relationalize). This is how
statements proved for relational languages, in which every closed term of a constant expansion is
a constant, reach languages with function symbols.
The relation symbols of the graph language coming from given sets F of function symbols and R
of relation symbols of L form the set relSym F R. The two kinds of graph-language symbols are
disjoint, so relSym commutes with intersections: the symbols shared by two translated formulas
are the translations of the symbols shared by the two formulas (relSym_inter).
Main definitions #
FirstOrder.Language.GraphRelation: the relation symbols of the graph language.FirstOrder.Language.graphLanguage: the graph language, which is relational.FirstOrder.Language.graphExpansion: the graph expansion of anL-structure.FirstOrder.Language.baseRelSym,FirstOrder.Language.graphRelSym: the graph-language symbol of a relation symbol and of a function symbol ofL, as arity-tagged symbols.FirstOrder.Language.relSym: the graph-language symbols coming from sets of symbols ofL.
Main results #
FirstOrder.Language.baseRelSym_injective,FirstOrder.Language.graphRelSym_injectiveandFirstOrder.Language.baseRelSym_ne_graphRelSym: the two symbol maps are injective with disjoint images.FirstOrder.Language.relSym_inter: the shared-vocabulary identityrelSym F₁ R₁ ∩ relSym F₂ R₂ = relSym (F₁ ∩ F₂) (R₁ ∩ R₂), with the lawsrelSym_unionandrelSym_iUnion.FirstOrder.Language.nonempty_equiv_graphExpansion_iff: two structures are isomorphic exactly when their graph expansions are.
References #
- The graph language, its expansion, the symbol maps and
relSymfollowGraphRelation,graphLanguage,graphExpansion,baseRelSym,graphRelSymandrelSymofcameronfreer/infinitary-logicat commit518a366cba97b1ae8c4dc64a297a396939bc3e0b, inInfinitaryLogic/Methods/Interpolation/GraphLanguage.lean. Divergences from that source: the graph language lives in the universes ofLrather than inLanguage.{0, 0}, and the graph expansion is defined on carriers in any universe.
The relation symbols of the graph language of L: every relation symbol of L is kept at its
arity (base), and every k-ary function symbol of L gives a (k + 1)-ary relation symbol
(graph) for its graph.
- base
{L : Language}
{n : ℕ}
(R : L.Relations n)
: L.GraphRelation n
A relation symbol of
L, kept at its arity. - graph
{L : Language}
{k : ℕ}
(f : L.Functions k)
: L.GraphRelation (k + 1)
The graph of a
k-ary function symbol ofL, a(k + 1)-ary relation symbol whose last argument is the value.
Instances For
The graph language of L: no function symbols, and as relation symbols those of L
together with the graph of each function symbol of L. The definition is reducible, so that a
relation symbol of the graph language is built and taken apart as a GraphRelation.
Instances For
The graph-language symbol of an arity-tagged relation symbol of L.
Instances For
The graph-language symbol of an arity-tagged function symbol of L: the graph relation, of
arity one more.
Instances For
A graph-language symbol is the symbol of a relation symbol or of a function symbol of L.
The graph language has countably many relation symbols when L has countably many symbols of
both sorts.
The symbols coming from sets of symbols of L #
The relation symbols of the graph language coming from a set F of function symbols and a set
R of relation symbols of L: the base symbols of R and the graph symbols of F.
Instances For
baseRelSym_mem_relSym for the raw pair, the simp normal form of baseRelSym ⟨n, r⟩.
graphRelSym_mem_relSym for the raw pair, the simp normal form of graphRelSym ⟨n, f⟩.
The graph expansion #
The graph expansion of an L-structure: relation symbols of L keep their
interpretation, and the graph relation of f holds of (x₀, …, x_{k-1}, y) exactly when
f(x₀, …, x_{k-1}) = y. The graph language has no function symbols to interpret.
Instances For
Two structures are isomorphic exactly when their graph expansions are: an L-isomorphism
preserves the graph of every function symbol, and a bijection preserving these graphs commutes
with the function symbols.