OAI/SetTheory/PartitionConsistency/Logic/Completeness.lean
70 declarations, 0 contain sorry, 0 declared as axioms
Countable Henkin completeness for the target proof calculus.
- theorem
OAI.PartitionConsistency.Formula.liftRen_idline 14 - theorem
OAI.PartitionConsistency.Formula.liftRen_compline 18 - theorem
OAI.PartitionConsistency.Formula.rename_idline 23 - theorem
OAI.PartitionConsistency.Formula.rename_compline 34 - theorem
OAI.PartitionConsistency.Formula.instantiate_renameline 49Source documentation
Instantiation after renaming the free variables extends that renaming by one chosen variable; this is the capture-avoidance identity for witnesses.
@[simp] theorem instantiate_rename {n m} (φ : Formula (n + 1)) (r : Fin n → Fin m) (t : Fin m) : (φ.rename (liftRen r)).instantiate t = φ.rename (Fin.snoc r t) := by …Mentions: OAI.PartitionConsistency.Formula, OAI.PartitionConsistency.Formula.liftRen, OAI.PartitionConsistency.Formula.instantiate
- theorem
OAI.PartitionConsistency.Formula.rename_snoc_castSucc_lastline 57 - theorem
OAI.PartitionConsistency.Formula.rename_instantiateline 64 - theorem
OAI.PartitionConsistency.Derives.eq_symmline 76 - theorem
OAI.PartitionConsistency.Derives.eq_transline 82 - theorem
OAI.PartitionConsistency.Derives.mem_congrline 89 - def
OAI.PartitionConsistency.Completeness.ContextConsistentline 105Source documentation
Consistency of an open context, with its displayed finite variable supply.
def ContextConsistent {n} (Γ : Set (Formula n)) : Prop := ¬ Derives Γ .botMentions: OAI.PartitionConsistency.Formula, OAI.PartitionConsistency.Derives
- theorem
OAI.PartitionConsistency.Completeness.lift_consistentline 109Source documentation
Enlarging the variable supply is conservative for a nonempty supply. A retraction substitutes an existing variable for every extra variable.
theorem lift_consistent {n m} {Γ : Set (Formula n)} (hn : 0 < n) (hnm : n ≤ m) (hΓ : ContextConsistent Γ) : ContextConsistent (Formula.rename (Fin.castLE hnm) '' Γ) := by …Mentions: OAI.PartitionConsistency.Formula, OAI.PartitionConsistency.Completeness.ContextConsistent, OAI.PartitionConsistency.Formula.rename
- theorem
OAI.PartitionConsistency.Completeness.consistent_decisionline 122Source documentation
One of the two decisions can always be added without contradiction.
theorem consistent_decision {n} {Γ : Set (Formula n)} (hΓ : ContextConsistent Γ) (φ : Formula n) : ContextConsistent (insert φ Γ) ∨ ContextConsistent (insert φ.neg Γ) := by …Mentions: OAI.PartitionConsistency.Formula, OAI.PartitionConsistency.Completeness.ContextConsistent
- structure
OAI.PartitionConsistency.Completeness.Conditionline 135Source documentation
Henkin conditions are genuine consistent first-order contexts. No satisfiability or model-existence assertion occurs in their definition.
structure Condition where …
- instance
OAI.PartitionConsistency.Completeness.Condition.(instance at line 144)line 144Source documentation
A stronger condition may have more variables and more assumptions.
instance : Preorder Condition where …
- def
OAI.PartitionConsistency.Completeness.Condition.embline 161Source documentation
The canonical embedding of the old variables into a stronger condition.
def emb {q p : Condition} (h : q ≤ p) : Fin p.size → Fin q.size := Fin.castLE h.choose - theorem
OAI.PartitionConsistency.Completeness.Condition.emb_valline 163 - theorem
OAI.PartitionConsistency.Completeness.Condition.transportline 167Source documentation
Derivations are preserved by extension of conditions.
theorem transport {q p : Condition} (h : q ≤ p) {φ : Formula p.size} (hd : Derives p.context φ) : Derives q.context (φ.rename (emb h)) := …Mentions: OAI.PartitionConsistency.Completeness.Condition, OAI.PartitionConsistency.Formula, OAI.PartitionConsistency.Derives, OAI.PartitionConsistency.Completeness.Condition.emb
- def
OAI.PartitionConsistency.Completeness.Condition.growline 171 - theorem
OAI.PartitionConsistency.Completeness.Condition.grow_leline 175 - def
OAI.PartitionConsistency.Completeness.Condition.addline 178 - theorem
OAI.PartitionConsistency.Completeness.Condition.add_leline 182 - theorem
OAI.PartitionConsistency.Completeness.Condition.boundline 192Source documentation
A condition can always accommodate a given finite tuple of variable codes.
theorem bound (p : Condition) {n} (v : Fin n → ℕ) : ∃ q : Condition, q ≤ p ∧ ∃ w : Fin n → Fin q.size, ∀ i, (w i).val = v i := by … - theorem
OAI.PartitionConsistency.Completeness.snoc_castSuccline 205Source documentation
Extending the variable map by a new last variable is the binder lift.
@[simp] theorem snoc_castSucc {n m} (w : Fin n → Fin m) : Fin.snoc (Fin.castSucc ∘ w) (Fin.last m) = Formula.liftRen w := by …Mentions: OAI.PartitionConsistency.Formula.liftRen
- def
OAI.PartitionConsistency.Completeness.Condition.exWitnessline 214Source documentation
Adding a fresh local witness is consistent when existence is derivable. This is justified by the eigenvariable rule, not by a model assumption.
def exWitness (p : Condition) (φ : Formula (p.size + 1)) (hφ : Derives p.context (.ex φ)) : Condition where …Mentions: OAI.PartitionConsistency.Completeness.Condition, OAI.PartitionConsistency.Formula, OAI.PartitionConsistency.Derives
- theorem
OAI.PartitionConsistency.Completeness.Condition.exWitness_leline 221 - def
OAI.PartitionConsistency.Completeness.Condition.allCounterexampleline 228Source documentation
A negated universal has a consistent fresh counterexample context.
def allCounterexample (p : Condition) (φ : Formula (p.size + 1)) (hφ : Derives p.context (Formula.all φ).neg) : Condition where …Mentions: OAI.PartitionConsistency.Completeness.Condition, OAI.PartitionConsistency.Formula, OAI.PartitionConsistency.Derives
- theorem
OAI.PartitionConsistency.Completeness.Condition.allCounterexample_leline 236 - def
OAI.PartitionConsistency.Completeness.decisionsline 246Source documentation
All finite tuples are explicitly included, so this construction treats all parameters, not just sentences or quantifier-free formulas.
def decisions {n} (φ : Formula n) (v : Fin n → ℕ) : Set Condition := …Mentions: OAI.PartitionConsistency.Formula, OAI.PartitionConsistency.Completeness.Condition
- def
OAI.PartitionConsistency.Completeness.exWitnessesline 250 - def
OAI.PartitionConsistency.Completeness.allCounterexamplesline 255 - theorem
OAI.PartitionConsistency.Completeness.decisions_denseline 260 - theorem
OAI.PartitionConsistency.Completeness.exWitnesses_denseline 270 - theorem
OAI.PartitionConsistency.Completeness.allCounterexamples_denseline 287 - abbrev
OAI.PartitionConsistency.Completeness.GenericFilterline 304 - def
OAI.PartitionConsistency.Completeness.IsHenkinline 307Source documentation
A filter meeting every decision and every local quantifier-witness request.
def IsHenkin (G : GenericFilter) : Prop := …
Mentions: OAI.PartitionConsistency.Completeness.GenericFilter
- theorem
OAI.PartitionConsistency.Completeness.exists_henkinline 313Source documentation
The countable Henkin construction, using only syntactic consistency.
theorem exists_henkin (p₀ : Condition) : ∃ G : GenericFilter, p₀ ∈ G ∧ IsHenkin G := by …Mentions: OAI.PartitionConsistency.Completeness.Condition, OAI.PartitionConsistency.Completeness.GenericFilter, OAI.PartitionConsistency.Completeness.IsHenkin
- def
OAI.PartitionConsistency.Completeness.Provenline 333Source documentation
Eventual derivability in the directed filter, with all free variables interpreted as natural-number constant codes.
def Proven (G : GenericFilter) {n} (φ : Formula n) (v : Fin n → ℕ) : Prop := …Mentions: OAI.PartitionConsistency.Completeness.GenericFilter, OAI.PartitionConsistency.Formula
- theorem
OAI.PartitionConsistency.Completeness.Proven.at_conditionline 343Source documentation
Any existing representation of the tuple can be extended to one carrying the given derivation. Directedness, not an assumed complete theory, is used.
theorem at_condition (h : Proven G φ v) {p : Condition} (hp : p ∈ G) (w : Fin n → Fin p.size) (hw : ∀ i, (w i).val = v i) : ∃ q : Condition, q ∈ G ∧ ∃ hqp : q ≤ p, Derives q.context (φ.rename (Condition.emb hqp ∘ w)) := by …Mentions: OAI.PartitionConsistency.Completeness.Proven, OAI.PartitionConsistency.Completeness.Condition, OAI.PartitionConsistency.Derives, OAI.PartitionConsistency.Completeness.Condition.emb
- theorem
OAI.PartitionConsistency.Completeness.Proven.jointline 358Source documentation
Two eventual derivations with the same tuple can be put into a single consistent context with exactly the same variable map.
theorem joint (hφ : Proven G φ v) (hψ : Proven G ψ v) : ∃ p ∈ G, ∃ w : Fin n → Fin p.size, (∀ i, (w i).val = v i) ∧ Derives p.context (φ.rename w) ∧ Derives p.context (ψ.rename w) := by …Mentions: OAI.PartitionConsistency.Completeness.Proven, OAI.PartitionConsistency.Derives
- theorem
OAI.PartitionConsistency.Completeness.Proven.not_botline 366 - theorem
OAI.PartitionConsistency.Completeness.Proven.conjunctionline 370 - theorem
OAI.PartitionConsistency.Completeness.Proven.apply_impline 378 - theorem
OAI.PartitionConsistency.Completeness.Proven.contradictline 382 - theorem
OAI.PartitionConsistency.Completeness.Proven.tupleline 390Source documentation
This also supplies a filter condition containing any prescribed finite collection of constant codes, including codes not used by a formula.
theorem tuple (v : Fin n → ℕ) : ∃ p ∈ G, ∃ w : Fin n → Fin p.size, ∀ i, (w i).val = v i := by … - theorem
OAI.PartitionConsistency.Completeness.Proven.decisionline 395 - theorem
OAI.PartitionConsistency.Completeness.Proven.negationline 401 - theorem
OAI.PartitionConsistency.Completeness.Proven.rename_iffline 409Source documentation
Full substitution of finite variable tuples, in both directions. The reverse implication includes variables unused in the substituted formula.
theorem rename_iff {m} (φ : Formula n) (r : Fin n → Fin m) (v : Fin m → ℕ) : Proven G (φ.rename r) v ↔ Proven G φ (v ∘ r) := by …Mentions: OAI.PartitionConsistency.Formula, OAI.PartitionConsistency.Completeness.Proven
- theorem
OAI.PartitionConsistency.Completeness.Proven.implicationline 421 - theorem
OAI.PartitionConsistency.Completeness.Proven.disjunctionline 434 - theorem
OAI.PartitionConsistency.Completeness.Proven.all_instanceline 452Source documentation
Universal elimination is a derivable operation on the eventual theory.
theorem all_instance {φ : Formula (n+1)} (h : Proven G (.all φ) v) (t : Fin n) : Proven G (φ.instantiate t) v := by …Mentions: OAI.PartitionConsistency.Formula, OAI.PartitionConsistency.Completeness.Proven
- theorem
OAI.PartitionConsistency.Completeness.Proven.exists_iffline 460Source documentation
The Henkin requests turn existence into an actual constant-code witness.
theorem exists_iff (φ : Formula (n+1)) (v : Fin n → ℕ) : Proven G (.ex φ) v ↔ ∃ a : ℕ, Proven G φ (Fin.snoc v a) := by …Mentions: OAI.PartitionConsistency.Formula, OAI.PartitionConsistency.Completeness.Proven
- theorem
OAI.PartitionConsistency.Completeness.Proven.all_iffline 478Source documentation
Universal truth is equivalent to truth for every constant code. The counterexample requests are essential to the reverse implication.
theorem all_iff (φ : Formula (n+1)) (v : Fin n → ℕ) : Proven G (.all φ) v ↔ ∀ a : ℕ, Proven G φ (Fin.snoc v a) := by …Mentions: OAI.PartitionConsistency.Formula, OAI.PartitionConsistency.Completeness.Proven
- def
OAI.PartitionConsistency.Completeness.EqRelline 500Source documentation
Equality and membership of constant codes in the canonical term model.
def EqRel (G : GenericFilter) (a b : ℕ) : Prop := …
Mentions: OAI.PartitionConsistency.Completeness.GenericFilter
- def
OAI.PartitionConsistency.Completeness.MemRelline 503 - theorem
OAI.PartitionConsistency.Completeness.equal_iffline 509 - theorem
OAI.PartitionConsistency.Completeness.mem_iffline 518 - theorem
OAI.PartitionConsistency.Completeness.eqRel_reflline 527 - theorem
OAI.PartitionConsistency.Completeness.eqRel_symmline 536 - theorem
OAI.PartitionConsistency.Completeness.eqRel_transline 542 - theorem
OAI.PartitionConsistency.Completeness.memRel_congrline 551 - def
OAI.PartitionConsistency.Completeness.termSetoidline 567Source documentation
Quotient of the natural-number constant codes by their syntactically provable equality.
def termSetoid (G : GenericFilter) (hG : IsHenkin G) : Setoid ℕ where …
Mentions: OAI.PartitionConsistency.Completeness.GenericFilter, OAI.PartitionConsistency.Completeness.IsHenkin
- def
OAI.PartitionConsistency.Completeness.TermModelline 571 - def
OAI.PartitionConsistency.Completeness.termClassline 573 - instance
OAI.PartitionConsistency.Completeness.termModel_nonemptyline 576 - instance
OAI.PartitionConsistency.Completeness.termModel_countableline 577 - def
OAI.PartitionConsistency.Completeness.termMemline 582Source documentation
Membership is independent of representatives because first-order equality has its actual substitution rule.
def termMem (G : GenericFilter) (hG : IsHenkin G) : TermModel G hG → TermModel G hG → Prop := …Mentions: OAI.PartitionConsistency.Completeness.GenericFilter, OAI.PartitionConsistency.Completeness.IsHenkin, OAI.PartitionConsistency.Completeness.TermModel
- theorem
OAI.PartitionConsistency.Completeness.term_truthline 589Source documentation
Truth in the countable term model, for every formula and every tuple of constant codes. This is syntactic completeness, not compactness assumed as a premise or semantic consistency used as a definition.
theorem term_truth {n} (φ : Formula n) (v : Fin n → ℕ) : Formula.Realize (termMem G hG) (termClass G hG ∘ v) φ ↔ Proven G φ v := by …Mentions: OAI.PartitionConsistency.Formula, OAI.PartitionConsistency.Formula.Realize, OAI.PartitionConsistency.Completeness.termMem, OAI.PartitionConsistency.Completeness.termClass, OAI.PartitionConsistency.Completeness.Proven
- theorem
OAI.PartitionConsistency.Completeness.exists_countable_modelline 625Source documentation
Countable-model completeness for the actual finite-derivation consistency predicate used in the target. No transitive or externally well-founded model is asserted. The domain is concretely a quotient of
ℕ.theorem exists_countable_model {T : Theory} (hT : Consistent T) : ∃ M : Type, Nonempty M ∧ Countable M ∧ ∃ E : M → M → Prop, Models E T := by …Mentions: OAI.PartitionConsistency.Theory, OAI.PartitionConsistency.Consistent, OAI.PartitionConsistency.Models
- theorem
OAI.PartitionConsistency.Completeness.consistent_iff_has_countable_modelline 643Source documentation
Equivalence of syntactic consistency and countable nonempty models for this first-order language. This does not perform the constructible or symmetric-forcing interpretations required in
main_consistency.theorem consistent_iff_has_countable_model (T : Theory) : Consistent T ↔ ∃ M : Type, Nonempty M ∧ Countable M ∧ ∃ E : M → M → Prop, Models E T := by …Mentions: OAI.PartitionConsistency.Theory, OAI.PartitionConsistency.Consistent, OAI.PartitionConsistency.Models