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))
:
∼Γ = List.map (fun (x : Semiformula L ξ n) => ∼x) Γ
@[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)
Equations
- LO.FirstOrder.«term_ᴺ» = Lean.ParserDescr.trailingNode `LO.FirstOrder.«term_ᴺ» 1024 1024 (Lean.ParserDescr.symbol "ᴺ")
@[simp]
theorem
LO.FirstOrder.Semiformula.doubleNegation_and
{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_isNegative
{L : Language}
{ξ : Type u_2}
{n : ℕ}
(φ : Semiformula L ξ n)
:
φ.doubleNegation.IsNegative
theorem
LO.FirstOrder.Semiformula.rew_doubleNegation
{L : Language}
{ξ₁ : Type u_2}
{n₁ : ℕ}
{ξ₂ : Type u_3}
{n₂ : ℕ}
(ω : Rew L ξ₁ n₁ ξ₂ n₂)
(φ : Semiformula L ξ₁ n₁)
:
(Rewriting.app ω) φ.doubleNegation = ((Rewriting.app ω) φ).doubleNegation
@[reducible, inline]
Equations
- T.doubleNegation = LO.FirstOrder.Semiformula.doubleNegation '' T
Equations
- LO.FirstOrder.«term_ᴺ_1» = Lean.ParserDescr.trailingNode `LO.FirstOrder.«term_ᴺ_1» 1024 1024 (Lean.ParserDescr.symbol "ᴺ")
@[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) Γ
Equations
- LO.FirstOrder.«term_ᴺ_2» = Lean.ParserDescr.trailingNode `LO.FirstOrder.«term_ᴺ_2» 1024 1024 (Lean.ParserDescr.symbol "ᴺ")
@[irreducible]
noncomputable def
LO.FirstOrder.Derivation.negDoubleNegation
{L : Language}
[L.DecidableEq]
(φ : 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.System.tneIff
- LO.FirstOrder.Derivation.negDoubleNegation (LO.FirstOrder.Semiformula.nrel r v) = LO.System.iffId (∼∼LO.FirstOrder.Semiformulaᵢ.rel r v)
- LO.FirstOrder.Derivation.negDoubleNegation LO.FirstOrder.Semiformula.verum = LO.System.falsumDN
- LO.FirstOrder.Derivation.negDoubleNegation LO.FirstOrder.Semiformula.falsum = LO.System.iffId (∼⊥)
noncomputable def
LO.FirstOrder.Derivation.goedelGentzen
{L : Language}
[L.DecidableEq]
{Γ : Sequent L}
:
Equations
- One or more equations did not get rendered due to their size.
- LO.FirstOrder.Derivation.goedelGentzen (LO.FirstOrder.Derivation.axL Γ_2 r v) = LO.System.FiniteContext.nthAxm 1 ⋯⨀LO.System.FiniteContext.nthAxm 0 ⋯
- LO.FirstOrder.Derivation.goedelGentzen (LO.FirstOrder.Derivation.verum Γ_2) = LO.System.FiniteContext.nthAxm 0 ⋯
- LO.FirstOrder.Derivation.goedelGentzen (d.wk h) = LO.System.FiniteContext.weakening ⋯ (LO.FirstOrder.Derivation.goedelGentzen d)