Documentation

LeanPool.InfinitaryLogic.Methods.LopezEscobar.CodeClass

Reconstruction and the code-class equality (issue #10, Unit 3b) #

The converse of Unit 3a: reconstruct the functional KLang-structure from a model of the PC sentence, read a branch off it, and land the base reduct back in B — the only place IsomorphismInvariant is consumed. The endpoints:

theorem FirstOrder.Language.pcClass_eq {L : Language} [L.IsRelational] [Countable ((l : ℕ) × L.Relations l)] {B : Set L.StructureSpace} (side : PCSide) (T : (n : ℕ) → Set ((Fin n → Bool) × (Fin n → ℕ))) (hT : ∀ (c : L.StructureSpace), c ∈ B ↔ ∃ (g : ℕ → ℕ), ∀ (n : ℕ), (fun (i : Fin n) => queryCode c ↑i, fun (i : Fin n) => g ↑i) ∈ T n) (hinv : IsomorphismInvariant B) :

The code-class equality (needs invariance): the base reducts of the PC class are exactly B.