Basic definitions and properties of proof system related notions #
This file defines a characterization of the system/proof/provability/calculus of formulae. Also defines soundness and completeness.
Main Definitions #
LO.System F S
: a general framework of deductive systemS
for formulaeF
.LO.System.Inconsistent 𝓢
: a proposition that states that all formulae inF
is provable from𝓢
.LO.System.Consistent 𝓢
: a proposition that states that𝓢
is not inconsistent.LO.System.Sound 𝓢 𝓜
: provability from𝓢
implies satisfiability on𝓜
.LO.System.Complete 𝓢 𝓜
: satisfiability on𝓜
implies provability from𝓢
.
Notation #
𝓢 ⊢ p
: a type of formalized proofs ofp : F
from deductive system𝓢 : S
.𝓢 ⊢! p
: a proposition that states there is a proof ofp
from𝓢
, i.e.p
is provable from𝓢
.𝓢 ⊬ p
: a proposition that statesp
is not provable from𝓢
.𝓢 ⊢* T
: a type of formalized proofs for each formulae in a setT
from𝓢
.𝓢 ⊢!* T
: a proposition that states each formulae inT
is provable from𝓢
.
Equations
- LO.«term_⊢_» = Lean.ParserDescr.trailingNode `LO.term_⊢_ 45 46 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " ⊢ ") (Lean.ParserDescr.cat `term 46))
Instances For
Equations
- LO.System.«term_⊢!_» = Lean.ParserDescr.trailingNode `LO.System.term_⊢!_ 45 46 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " ⊢! ") (Lean.ParserDescr.cat `term 46))
Instances For
Equations
- LO.System.«term_⊬_» = Lean.ParserDescr.trailingNode `LO.System.term_⊬_ 45 46 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " ⊬ ") (Lean.ParserDescr.cat `term 46))
Instances For
Equations
- LO.System.«term_⊢*_» = Lean.ParserDescr.trailingNode `LO.System.term_⊢*_ 45 46 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " ⊢* ") (Lean.ParserDescr.cat `term 46))
Instances For
Equations
- LO.System.«term_⊢!*_» = Lean.ParserDescr.trailingNode `LO.System.term_⊢!*_ 45 46 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " ⊢!* ") (Lean.ParserDescr.cat `term 46))
Instances For
Equations
- LO.System.theory 𝓢 = {f : F | 𝓢 ⊢! f}
Instances For
Equations
- h.get = Classical.choice h
Instances For
Equations
- h.get = Classical.choice ⋯
Instances For
Equations
- (𝓢 ≤ₛ 𝓣) = (LO.System.theory 𝓢 ⊆ LO.System.theory 𝓣)
Instances For
Equations
- LO.System.«term_≤ₛ_» = Lean.ParserDescr.trailingNode `LO.System.term_≤ₛ_ 40 41 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " ≤ₛ ") (Lean.ParserDescr.cat `term 41))
Instances For
Equations
- LO.System.«term_<ₛ_» = Lean.ParserDescr.trailingNode `LO.System.term_<ₛ_ 40 41 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " <ₛ ") (Lean.ParserDescr.cat `term 41))
Instances For
Equations
- (𝓢 =ₛ 𝓣) = (LO.System.theory 𝓢 = LO.System.theory 𝓣)
Instances For
Equations
- LO.System.«term_=ₛ_» = Lean.ParserDescr.trailingNode `LO.System.term_=ₛ_ 40 41 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " =ₛ ") (Lean.ParserDescr.cat `term 41))
Instances For
Equations
- LO.System.equiv S = { r := fun (x x_1 : S) => x =ₛ x_1, iseqv := ⋯ }
Equations
Instances For
Equations
- LO.System.Logic.instLE = { le := Quotient.lift₂ (fun (x x_1 : S) => x ≤ₛ x_1) ⋯ }
Equations
- LO.System.Logic.instPartialOrder = PartialOrder.mk ⋯
Equations
- LO.System.Inconsistent 𝓢 = ∀ (f : F), 𝓢 ⊢! f
Instances For
- not_inconsistent : ¬LO.System.Inconsistent 𝓢
Instances
Alias of the reverse direction of LO.System.not_inconsistent_iff_consistent
.
Alias of the reverse direction of LO.System.not_consistent_iff_inconsistent
.
Alias of the forward direction of LO.System.consistent_iff_exists_unprovable
.
Alias of the forward direction of LO.System.inconsistent_iff_theory_eq_univ
.
Equations
- Λ.Inconsistent = Quotient.lift LO.System.Inconsistent ⋯ Λ
Instances For
Equations
- Λ.Consistent = Quotient.lift LO.System.Consistent ⋯ Λ
Instances For
Equations
- LO.System.«term_↝_» = Lean.ParserDescr.trailingNode `LO.System.term_↝_ 40 41 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " ↝ ") (Lean.ParserDescr.cat `term 41))
Instances For
Equations
- LO.System.«term_↭_» = Lean.ParserDescr.trailingNode `LO.System.term_↭_ 40 41 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " ↭ ") (Lean.ParserDescr.cat `term 41))
Instances For
- toFun : F → F'
Instances For
Equations
- LO.System.«term_↝¹_» = Lean.ParserDescr.trailingNode `LO.System.term_↝¹_ 40 41 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " ↝¹ ") (Lean.ParserDescr.cat `term 41))
Instances For
Equations
- LO.System.Translation.instCoeFunForall 𝓢 𝓣 = { coe := LO.System.Translation.toFun }
Equations
- LO.System.Translation.id 𝓢 = { toFun := id, prf := fun {f : F} => id }
Instances For
Equations
- LO.System.Bitranslation.id 𝓢 = { r := LO.System.Translation.id 𝓢, l := LO.System.Translation.id 𝓢, r_l := ⋯, l_r := ⋯ }
Instances For
Equations
- φ.comp ψ = { r := φ.r.comp ψ.r, l := ψ.l.comp φ.l, r_l := ⋯, l_r := ⋯ }
Instances For
Equations
- LO.System.FaithfulTranslation.instCoeFunForall 𝓢 𝓣 = { coe := fun (t : 𝓢 ↝¹ 𝓣) => t.toFun }
Equations
- LO.System.FaithfulTranslation.id 𝓢 = { toFun := id, prf := fun {f : F} => id, prfInv := fun {f : F} => id }
Instances For
Equations
- LO.System.«term_≼_» = Lean.ParserDescr.trailingNode `LO.System.term_≼_ 40 41 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " ≼ ") (Lean.ParserDescr.cat `term 41))
Instances For
Instances For
Instances For
- prfAxm : {𝓢 : S} → 𝓢 ⊢* Collection.set 𝓢
Instances
Alias of LO.System.Axiomatized.prfAxm
.
Instances For
Alias of LO.System.Axiomatized.weakening
.
Instances For
- cut : {𝓢 : S} → {𝓣 : T} → {p : F} → 𝓢 ⊢* Collection.set 𝓣 → 𝓣 ⊢ p → 𝓢 ⊢ p
Instances
Equations
- LO.System.Axiomatized.subtheoryOfSubset h = { prf := fun {f : F} => LO.System.Axiomatized.weakening h }
Instances For
Equations
- LO.System.Axiomatized.translation h = { toFun := id, prf := fun {f : F} => LO.System.Axiomatized.weakening h }
Instances For
Alias of LO.System.Axiomatized.provable_axm
.
Alias of LO.System.Axiomatized.weakening!
.
Equations
- LO.System.FiniteAxiomatizable 𝓢 = ∃ (𝓕 : S), Collection.Finite 𝓕 ∧ 𝓕 ≈ 𝓢
Instances For
Equations
- LO.System.StrongCut.translation B = { toFun := id, prf := fun {f : F} => LO.System.StrongCut.cut fun {f : F} => B }
Instances For
Equations
- LO.System.Subtheory.ofAxm B = { prf := fun {f : F} (b : 𝓢₁ ⊢ f) => LO.System.StrongCut.cut (fun {f : F} => B) b }
Instances For
Equations
- LO.System.Subtheory.ofAxm! B = { prf := fun {f : F} (b : 𝓢₁ ⊢ f) => LO.System.StrongCut.cut (fun {f : F} => B.get) b }
Instances For
Equations
- LO.System.Subtheory.ofSubset h = { prf := fun {f : F} => LO.System.wk h }
Instances For
- φ : {𝓢 : S} → {f : F} → 𝓢 ⊢ f → S
- φPrf : {𝓢 : S} → {f : F} → (b : 𝓢 ⊢ f) → LO.System.Compact.φ b ⊢ f
- φ_subset : ∀ {𝓢 : S} {f : F} (b : 𝓢 ⊢ f), LO.System.Compact.φ b ⊆ 𝓢
- φ_finite : ∀ {𝓢 : S} {f : F} (b : 𝓢 ⊢ f), Collection.Finite (LO.System.Compact.φ b)
Instances
Instances
Equations
- ⋯ = ⋯
Instances For
Alias of the reverse direction of LO.System.inconsistent_iff_provable_bot
.
Alias of the forward direction of LO.System.consistent_iff_unprovable_bot
.
Alias of LO.System.Deduction.ofInsert
.
Instances For
Alias of LO.System.Deduction.of_insert!
.
Equations
- LO.System.Deduction.translation p 𝓢 = { toFun := fun (q : F) => p ➝ q, prf := fun {f : F} => LO.System.deduction }