Proof System over a Permitted Sentence Set #
This file defines a proof system for Lω₁ω over a permitted sentence set
P : Set L.Sentenceω. The system is Prop-valued (no proof terms) and operates on
sentences.
Main Definitions #
Derivable P T φ: Derivability of sentenceφfrom theoryT, with conclusions permitted byP.AConsistent P T: TheoryTisP-consistent (cannot derive⊥).
Main Results #
Derivable.mono: Derivability is monotone in the theory.AConsistent.mono: Consistency is antitone in the theory.AConsistent.no_contradiction: No consistent theory contains both φ and ¬φ.
Design Notes #
The system is sentence-level (not bounded formulas with parameters). The quantifier
rules use the omega-rule: all_intro requires derivability of all substitution
instances, and all_elim extracts one instance.
The permission parameter is a raw Set L.Sentenceω, not a fragment structure: the
consumer audit (interface contract §8) established that the proof system consumes
nothing but membership — its membership premises guard conclusions, never
hypotheses, so no closure or distinguished-element field is required. Fragment-based
callers pass their sentence set (e.g. A.formulas) and supply any needed closure
facts (such as φ.not ∈ P) explicitly at the two negation lemmas that use them.
Derivability over a permitted sentence set. Prop-valued (no proof terms).
The system includes structural rules, propositional rules, infinitary connective rules, quantifier rules (omega-rule), equality rules, and classical logic (LEM).
- assumption {L : Language} {P T : Set L.Sentenceω} {φ : L.Sentenceω} : φ ∈ T → φ ∈ P → Derivable P T φ
- weaken {L : Language} {P T T' : Set L.Sentenceω} {φ : L.Sentenceω} : T ⊆ T' → Derivable P T φ → Derivable P T' φ
- falsum_elim {L : Language} {P T : Set L.Sentenceω} {φ : L.Sentenceω} : Derivable P T BoundedFormulaω.falsum → φ ∈ P → Derivable P T φ
- imp_intro {L : Language} {P : Set L.Sentenceω} {φ : L.Sentenceω} {T : Set L.Sentenceω} {ψ : L.Sentenceω} : φ ∈ P → Derivable P (T ∪ {φ}) ψ → Derivable P T (BoundedFormulaω.imp φ ψ)
- imp_elim {L : Language} {P T : Set L.Sentenceω} {φ ψ : L.Sentenceω} : Derivable P T (BoundedFormulaω.imp φ ψ) → Derivable P T φ → Derivable P T ψ
- not_not_elim {L : Language} {P T : Set L.Sentenceω} {φ : L.Sentenceω} : Derivable P T (BoundedFormulaω.not φ).not → Derivable P T φ
- iInf_intro {L : Language} {P T : Set L.Sentenceω} {φs : ℕ → L.BoundedFormulaω Empty 0} : (∀ (k : ℕ), Derivable P T (φs k)) → BoundedFormulaω.iInf φs ∈ P → Derivable P T (BoundedFormulaω.iInf φs)
- iInf_elim {L : Language} {P T : Set L.Sentenceω} {φs : ℕ → L.BoundedFormulaω Empty 0} (k : ℕ) : Derivable P T (BoundedFormulaω.iInf φs) → Derivable P T (φs k)
- iSup_intro {L : Language} {P T : Set L.Sentenceω} {φs : ℕ → L.BoundedFormulaω Empty 0} (k : ℕ) : Derivable P T (φs k) → BoundedFormulaω.iSup φs ∈ P → Derivable P T (BoundedFormulaω.iSup φs)
- iSup_elim {L : Language} {P T : Set L.Sentenceω} {φs : ℕ → L.BoundedFormulaω Empty 0} {ψ : L.Sentenceω} : Derivable P T (BoundedFormulaω.iSup φs) → (∀ (k : ℕ), Derivable P (T ∪ {φs k}) ψ) → Derivable P T ψ
- all_intro {L : Language} {P T : Set L.Sentenceω} (φ : L.BoundedFormulaω Empty 1) : (∀ (t : L.Term Empty), Derivable P T (BoundedFormulaω.subst φ.openBounds fun (x : Fin 1) => t)) → φ.all ∈ P → Derivable P T φ.all
- all_elim {L : Language} {P T : Set L.Sentenceω} (φ : L.BoundedFormulaω Empty 1) (t : L.Term Empty) : Derivable P T φ.all → Derivable P T (BoundedFormulaω.subst φ.openBounds fun (x : Fin 1) => t)
- eq_refl {L : Language} {P T : Set L.Sentenceω} (t : L.Term (Empty ⊕ Fin 0)) : BoundedFormulaω.equal t t ∈ P → Derivable P T (BoundedFormulaω.equal t t)
- eq_subst {L : Language} {P T : Set L.Sentenceω} (t₁ t₂ : L.Term Empty) (φ : L.Formulaω (Fin 1)) : Derivable P T (BoundedFormulaω.equal (Term.relabel Sum.inl t₁) (Term.relabel Sum.inl t₂)) → Derivable P T (BoundedFormulaω.subst φ fun (x : Fin 1) => t₁) → (BoundedFormulaω.subst φ fun (x : Fin 1) => t₂) ∈ P → Derivable P T (BoundedFormulaω.subst φ fun (x : Fin 1) => t₂)
- em {L : Language} {P T : Set L.Sentenceω} (φ : L.Sentenceω) : φ ∈ P → Derivable P T (BoundedFormulaω.or φ (BoundedFormulaω.not φ))
Instances For
A theory is P-consistent if ⊥ is not derivable from it.
Equations
Instances For
Basic lemmas #
Consistency is antitone: subsets of consistent sets are consistent.
A consistent theory does not contain ⊥.
A consistent theory does not contain both φ and ¬φ. The negation's membership in the permitted set is an explicit hypothesis (fragment-based callers discharge it by closure).
Negation introduction: if T ∪ {φ} ⊢ ⊥, then T ⊢ ¬φ.
Negation elimination: if T ⊢ φ and T ⊢ ¬φ, then T ⊢ ⊥.
If S ∪ {φ} ⊢ ⊥ and S ∪ {¬φ} ⊢ ⊥, then S ⊢ ⊥. The negation's membership in the
permitted set is an explicit hypothesis.
If S ⊢ ¬φ and φ, ψ ∈ P, then S ⊢ φ → ψ.
If AConsistent P S and both φ and φ.not are permitted, then
AConsistent P (S ∪ {φ}) ∨ AConsistent P (S ∪ {¬φ}).