Coding Space for Countable Structures #
This file defines the space of countable relational L-structures coded as
functions from relation queries to Bool. The carrier-parametric versions
RelQueryOn L α and StructureSpaceOn L α generalize over the carrier type,
while RelQuery L and StructureSpace L specialize to carrier ℕ.
Main Definitions #
RelQueryOn L α: Carrier-parametric relation query index type.StructureSpaceOn L α: Carrier-parametric coding spaceRelQueryOn L α → Bool.RelQuery L: Relation queries for carrier ℕ (=RelQueryOn L ℕ).StructureSpace L: The coding space for ℕ-structures (=StructureSpaceOn L ℕ).StructureSpaceOn.toStructure: Decode a code into an L-structure on carrier α.StructureSpaceOn.ofStructure: Encode a structure into a code.
Main Results #
StructureSpaceOn.relMap_toStructure: Relation holding in the decoded structure corresponds to the code returningtrue.StructureSpaceOn.toStructure_ofStructure: Round-trip from structure to code to structure preserves relation satisfaction.
The carrier-parametric coding space for L-structures on α: for each relation
query, does the relation hold on that tuple? This is an abbrev so type class
resolution can see through it.
Equations
- L.StructureSpaceOn α = (L.RelQueryOn α → Bool)
Instances For
The coding space for countable L-structures on ℕ: for each relation query, does the relation hold on that tuple?
Equations
Instances For
The pair space for carrier α.
Equations
- L.StructurePairSpaceOn α = (L.StructureSpaceOn α × L.StructureSpaceOn α)
Instances For
Decode a code into an L-structure on carrier α.
Relations are determined by the code; functions are eliminated by IsRelational.
Equations
Instances For
The relation holding in the decoded structure corresponds to the code value.
Encode an L-structure on carrier α into a code. Takes an explicit structure instance rather than using the typeclass.
Equations
- FirstOrder.Language.StructureSpaceOn.ofStructure inst ⟨⟨fst, R⟩, v⟩ = decide (FirstOrder.Language.Structure.RelMap R v)
Instances For
Round-trip: decoding the code of a structure preserves relation satisfaction.
Round-trip: encoding a decoded structure recovers the original code.
Decode a code into an L-structure on ℕ.
Equations
Instances For
The relation holding in the decoded structure corresponds to the code value.
Encode an L-structure on ℕ into a code.
Equations
Instances For
Round-trip: decoding the code of a structure preserves relation satisfaction.
Round-trip: encoding a decoded structure recovers the original code.