instance
LO.FirstOrder.Sequent.instTildeListSemiformula
{L : Language}
{ξ : Type u_2}
{n : ℕ}
:
Tilde (List (Semiformula L ξ n))
Equations
- LO.FirstOrder.Sequent.instTildeListSemiformula = { tilde := fun (Γ : List (LO.FirstOrder.Semiformula L ξ n)) => List.map (fun (x : LO.FirstOrder.Semiformula L ξ n) => ∼x) Γ }
@[simp]
theorem
LO.FirstOrder.Sequent.neg_def
{L : Language}
{ξ : Type u_2}
{n : ℕ}
(Γ : List (Semiformula L ξ n))
:
@[simp]
theorem
LO.FirstOrder.Sequent.neg_cons
{L : Language}
{ξ : Type u_2}
{n : ℕ}
(Γ : List (Semiformula L ξ n))
(φ : Semiformula L ξ n)
:
@[simp]
theorem
LO.FirstOrder.Sequent.neg_neg_eq
{L : Language}
{ξ : Type u_2}
{n : ℕ}
(Γ : List (Semiformula L ξ n))
:
def
LO.FirstOrder.Semiformula.doubleNegation
{L : Language}
{ξ : Type u_2}
{n : ℕ}
:
Semiformula L ξ n → Semiformulaᵢ L ξ n
Equations
- (LO.FirstOrder.Semiformula.rel r v).doubleNegation = ∼∼LO.FirstOrder.Semiformulaᵢ.rel r v
- (LO.FirstOrder.Semiformula.nrel r v).doubleNegation = ∼LO.FirstOrder.Semiformulaᵢ.rel r v
- LO.FirstOrder.Semiformula.verum.doubleNegation = ⊤
- LO.FirstOrder.Semiformula.falsum.doubleNegation = ⊥
- (φ.and ψ).doubleNegation = φ.doubleNegation ⋏ ψ.doubleNegation
- (φ.or ψ).doubleNegation = ∼(∼φ.doubleNegation ⋏ ∼ψ.doubleNegation)
- φ.all.doubleNegation = ∀' φ.doubleNegation
- φ.ex.doubleNegation = ∼(∀' ∼φ.doubleNegation)
Instances For
Equations
- LO.FirstOrder.«term_ᴺ» = Lean.ParserDescr.trailingNode `LO.FirstOrder.«term_ᴺ» 1024 1024 (Lean.ParserDescr.symbol "ᴺ")
Instances For
@[simp]
@[simp]
@[simp]
theorem
LO.FirstOrder.Semiformula.doubleNegation_and
{L : Language}
{ξ : Type u_2}
{n : ℕ}
(φ ψ : Semiformula L ξ n)
:
@[simp]
theorem
LO.FirstOrder.Semiformula.doubleNegation_or
{L : Language}
{ξ : Type u_2}
{n : ℕ}
(φ ψ : Semiformula L ξ n)
:
@[simp]
theorem
LO.FirstOrder.Semiformula.doubleNegation_all
{L : Language}
{ξ : Type u_2}
{n : ℕ}
(φ : Semiformula L ξ (n + 1))
:
@[simp]
theorem
LO.FirstOrder.Semiformula.doubleNegation_ex
{L : Language}
{ξ : Type u_2}
{n : ℕ}
(φ : Semiformula L ξ (n + 1))
:
theorem
LO.FirstOrder.Semiformula.doubleNegation_imply
{L : Language}
{ξ : Type u_2}
{n : ℕ}
(φ ψ : Semiformula L ξ n)
:
@[simp]
theorem
LO.FirstOrder.Semiformula.doubleNegation_isNegative
{L : Language}
{ξ : Type u_2}
{n : ℕ}
(φ : Semiformula L ξ n)
:
@[simp]
theorem
LO.FirstOrder.Semiformula.doubleNegation_conj₂
{L : Language}
{ξ : Type u_2}
{n : ℕ}
(Γ : List (Semiformula L ξ n))
:
theorem
LO.FirstOrder.Semiformula.doubleNegation_fconj
{L : Language}
{ξ : Type u_2}
{n : ℕ}
(s : Finset (Semiformula L ξ n))
:
theorem
LO.FirstOrder.Semiformula.rew_doubleNegation
{L : Language}
{ξ₁ : Type u_2}
{n₁ : ℕ}
{ξ₂ : Type u_3}
{n₂ : ℕ}
(ω : Rew L ξ₁ n₁ ξ₂ n₂)
(φ : Semiformula L ξ₁ n₁)
:
theorem
LO.FirstOrder.Semiformula.subst_doubleNegation
{L : Language}
{ξ : Type u_2}
{n₁ n₂ : ℕ}
(φ : Semiformula L ξ n₁)
(v : Fin n₁ → Semiterm L ξ n₂)
:
theorem
LO.FirstOrder.Semiformula.emb_doubleNegation
{L : Language}
{n₁ : ℕ}
{ξ : Type u_2}
(φ : Semisentence L n₁)
:
@[reducible, inline]
abbrev
LO.FirstOrder.Sequent.doubleNegation
{L : Language}
{ξ : Type u_2}
{n : ℕ}
(Γ : List (Semiformula L ξ n))
:
List (Semiformulaᵢ L ξ n)
Equations
- LO.FirstOrder.Sequent.doubleNegation Γ = List.map (fun (x : LO.FirstOrder.Semiformula L ξ n) => x.doubleNegation) Γ
Instances For
Equations
- LO.FirstOrder.«term_ᴺ_1» = Lean.ParserDescr.trailingNode `LO.FirstOrder.«term_ᴺ_1» 1024 1024 (Lean.ParserDescr.symbol "ᴺ")
Instances For
@[simp]
@[irreducible]
noncomputable def
LO.FirstOrder.Derivation.negDoubleNegation
{L : Language}
[L.DecidableEq]
{Λ : Hilbertᵢ L}
(φ : SyntacticFormula L)
:
Equations
- One or more equations did not get rendered due to their size.
- LO.FirstOrder.Derivation.negDoubleNegation (LO.FirstOrder.Semiformula.rel r v) = LO.Entailment.tneIff
- LO.FirstOrder.Derivation.negDoubleNegation (LO.FirstOrder.Semiformula.nrel r v) = LO.Entailment.E_Id (∼∼LO.FirstOrder.Semiformulaᵢ.rel r v)
- LO.FirstOrder.Derivation.negDoubleNegation LO.FirstOrder.Semiformula.verum = LO.Entailment.ENNOO
- LO.FirstOrder.Derivation.negDoubleNegation LO.FirstOrder.Semiformula.falsum = LO.Entailment.E_Id (∼⊥)
Instances For
theorem
LO.FirstOrder.Derivation.neg_doubleNegation
{L : Language}
[L.DecidableEq]
{Λ : Hilbertᵢ L}
(φ : SyntacticFormula L)
:
theorem
LO.FirstOrder.Derivation.neg_doubleNegation'
{L : Language}
[L.DecidableEq]
{Λ : Hilbertᵢ L}
(φ : SyntacticFormula L)
:
theorem
LO.FirstOrder.Derivation.imply_doubleNegation
{L : Language}
[L.DecidableEq]
{Λ : Hilbertᵢ L}
(φ ψ : SyntacticFormula L)
:
noncomputable def
LO.FirstOrder.Derivation.gödelGentzen
{L : Language}
[L.DecidableEq]
{Λ : Hilbertᵢ L}
{Γ : Sequent L}
:
Equations
- One or more equations did not get rendered due to their size.
- (LO.FirstOrder.Derivation.axL Γ_2 r v).gödelGentzen = LO.Entailment.FiniteContext.nthAxm 1 ⋯⨀LO.Entailment.FiniteContext.nthAxm 0 ⋯
- (LO.FirstOrder.Derivation.verum Γ_2).gödelGentzen = LO.Entailment.FiniteContext.nthAxm 0 ⋯
- (d.wk h).gödelGentzen = LO.Entailment.FiniteContext.weakening ⋯ d.gödelGentzen
Instances For
theorem
LO.FirstOrder.gödel_gentzen
{L : Language}
{Λ : Hilbertᵢ L}
{T : Theory L}
{φ : Sentence L}
:
T ⊢ φ → T.ToTheoryᵢ Λ ⊢ Semiformula.doubleNegation φ
Gödel-Gentzen translation of classical first-order logic to intiotionistic first-order logic.