Documentation

LeanPool.InfinitaryLogic.Methods.LopezEscobar.Disjoint

The sole Löwenheim–Skolem consumer (issue #10, Unit 4 commit 3) #

FragmentLowenheimSkolem is imported only here. From a glued model of both side sentences, a countable fragment-elementary substructure models both; the tagged zero-ary witness c's graph-totality axiom bootstraps its nonemptiness; reconstruction plus numMap_bijective make it infinite; transported to it yields a single code lying in both B (pcClass_eq with hinv) and Bᶜ (pcClass_eq with hinv.compl) — a contradiction.

Endpoints: pcMem_disjoint and pcSentences_entails_not, the latter being exactly what Unit 5 feeds to craig_pcSeparation_relational.

theorem FirstOrder.Language.pcSentences_entails_not {L : Language} [L.IsRelational] [Countable ((l : ) × L.Relations l)] {B : Set L.StructureSpace} (T₀ T₁ : (n : ) → Set ((Fin nBool) × (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) (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 entailment endpoint — exactly what Unit 5 feeds to Craig PC-separation: no model satisfies both side sentences, so the left entails the negation of the right.