Documentation

Foundation.FirstOrder.Arith.Hierarchy

inductive LO.FirstOrder.Arith.Hierarchy {L : LO.FirstOrder.Language} [L.LT] {ξ : Type u_2} :
LO.Polarity{n : } → LO.FirstOrder.Semiformula L ξ nProp
Instances For
    @[simp]
    theorem LO.FirstOrder.Arith.Hierarchy.conj_iff {L : LO.FirstOrder.Language} [L.LT] {m : } {ξ : Type u_1} {n : } {Γ : LO.Polarity} {s : } {φ : Fin mLO.FirstOrder.Semiformula L ξ n} :
    theorem LO.FirstOrder.Arith.Hierarchy.strict_mono {L : LO.FirstOrder.Language} [L.LT] {ξ : Type u_1} {n : } {Γ : LO.Polarity} {s : } {φ : LO.FirstOrder.Semiformula L ξ n} (hp : LO.FirstOrder.Arith.Hierarchy Γ s φ) (Γ' : LO.Polarity) {s' : } (h : s < s') :
    theorem LO.FirstOrder.Arith.Hierarchy.mono {L : LO.FirstOrder.Language} [L.LT] {ξ : Type u_1} {n : } {Γ : LO.Polarity} {s s' : } {φ : LO.FirstOrder.Semiformula L ξ n} (hp : LO.FirstOrder.Arith.Hierarchy Γ s φ) (h : s s') :
    @[simp]
    theorem LO.FirstOrder.Arith.Hierarchy.equal {L : LO.FirstOrder.Language} {ξ : Type u_1} {n : } {Γ : LO.Polarity} {s : } [L.Eq] [L.LT] {t u : LO.FirstOrder.Semiterm L ξ n} :
    LO.FirstOrder.Arith.Hierarchy Γ s (“!!t = !!u”)
    @[simp]
    theorem LO.FirstOrder.Arith.Hierarchy.lt {L : LO.FirstOrder.Language} {ξ : Type u_1} {n : } {Γ : LO.Polarity} {s : } [L.LT] {t u : LO.FirstOrder.Semiterm L ξ n} :
    LO.FirstOrder.Arith.Hierarchy Γ s (“!!t < !!u”)
    @[simp]
    theorem LO.FirstOrder.Arith.Hierarchy.le {L : LO.FirstOrder.Language} {ξ : Type u_1} {n : } {Γ : LO.Polarity} {s : } [L.Eq] [L.LT] {t u : LO.FirstOrder.Semiterm L ξ n} :
    LO.FirstOrder.Arith.Hierarchy Γ s (“!!t ≤ !!u”)
    @[simp]
    theorem LO.FirstOrder.Arith.Hierarchy.ball_iff {L : LO.FirstOrder.Language} [L.LT] {ξ : Type u_1} {Γ : LO.Polarity} {s n : } {φ : LO.FirstOrder.Semiformula L ξ (n + 1)} {t : LO.FirstOrder.Semiterm L ξ (n + 1)} (ht : t.Positive) :
    @[simp]
    theorem LO.FirstOrder.Arith.Hierarchy.bex_iff {L : LO.FirstOrder.Language} [L.LT] {ξ : Type u_1} {Γ : LO.Polarity} {s n : } {φ : LO.FirstOrder.Semiformula L ξ (n + 1)} {t : LO.FirstOrder.Semiterm L ξ (n + 1)} (ht : t.Positive) :
    theorem LO.FirstOrder.Arith.Hierarchy.rew {L : LO.FirstOrder.Language} [L.LT] {ξ₁ : Type u_1} {n₁ : } {ξ₂ : Type u_2} {n₂ : } {Γ : LO.Polarity} {s : } (ω : LO.FirstOrder.Rew L ξ₁ n₁ ξ₂ n₂) {φ : LO.FirstOrder.Semiformula L ξ₁ n₁} :
    @[simp]
    theorem LO.FirstOrder.Arith.Hierarchy.rew_iff {L : LO.FirstOrder.Language} [L.LT] {ξ₁ : Type u_1} {n₁ : } {ξ₂ : Type u_2} {n₂ : } {Γ : LO.Polarity} {s : } {ω : LO.FirstOrder.Rew L ξ₁ n₁ ξ₂ n₂} {φ : LO.FirstOrder.Semiformula L ξ₁ n₁} :
    @[simp]
    theorem LO.FirstOrder.Arith.Hierarchy.matrix_conj_iff {L : LO.FirstOrder.Language} [L.ORing] {m : } {ξ : Type u_1} {b : LO.Polarity} {s n : } {φ : Fin mLO.FirstOrder.Semiformula L ξ n} :
    LO.FirstOrder.Arith.Hierarchy b s (Matrix.conj fun (j : Fin m) => φ j) ∀ (j : Fin m), LO.FirstOrder.Arith.Hierarchy b s (φ j)
    theorem LO.FirstOrder.Arith.sigma₁_induction {ξ : Type u_1} {P : (n : ) → LO.FirstOrder.Semiformula ℒₒᵣ ξ nProp} (hVerum : ∀ (n : ), P n ) (hFalsum : ∀ (n : ), P n ) (hEQ : ∀ (n : ) (t₁ t₂ : LO.FirstOrder.Semiterm ℒₒᵣ ξ n), P n (LO.FirstOrder.Semiformula.rel op(=) ![t₁, t₂])) (hNEQ : ∀ (n : ) (t₁ t₂ : LO.FirstOrder.Semiterm ℒₒᵣ ξ n), P n (LO.FirstOrder.Semiformula.nrel op(=) ![t₁, t₂])) (hLT : ∀ (n : ) (t₁ t₂ : LO.FirstOrder.Semiterm ℒₒᵣ ξ n), P n (LO.FirstOrder.Semiformula.rel op(<) ![t₁, t₂])) (hNLT : ∀ (n : ) (t₁ t₂ : LO.FirstOrder.Semiterm ℒₒᵣ ξ n), P n (LO.FirstOrder.Semiformula.nrel op(<) ![t₁, t₂])) (hAnd : ∀ (n : ) (φ ψ : LO.FirstOrder.Semiformula ℒₒᵣ ξ n), LO.FirstOrder.Arith.Hierarchy 𝚺 1 φLO.FirstOrder.Arith.Hierarchy 𝚺 1 ψP n φP n ψP n (φ ψ)) (hOr : ∀ (n : ) (φ ψ : LO.FirstOrder.Semiformula ℒₒᵣ ξ n), LO.FirstOrder.Arith.Hierarchy 𝚺 1 φLO.FirstOrder.Arith.Hierarchy 𝚺 1 ψP n φP n ψP n (φ ψ)) (hBall : ∀ (n : ) (t : LO.FirstOrder.Semiterm ℒₒᵣ ξ n) (φ : LO.FirstOrder.Semiformula ℒₒᵣ ξ (n + 1)), LO.FirstOrder.Arith.Hierarchy 𝚺 1 φP (n + 1) φP n (“(∀[!!(LO.FirstOrder.Semiterm.bvar 0) < !!(LO.FirstOrder.Rew.bShift t)] !φ)”)) (hEx : ∀ (n : ) (φ : LO.FirstOrder.Semiformula ℒₒᵣ ξ (n + 1)), LO.FirstOrder.Arith.Hierarchy 𝚺 1 φP (n + 1) φP n (∃' φ)) (n : ) (φ : LO.FirstOrder.Semiformula ℒₒᵣ ξ n) :
    theorem LO.FirstOrder.Arith.sigma₁_induction' {ξ : Type u_1} {n : } {φ : LO.FirstOrder.Semiformula ℒₒᵣ ξ n} (hp : LO.FirstOrder.Arith.Hierarchy 𝚺 1 φ) {P : (n : ) → LO.FirstOrder.Semiformula ℒₒᵣ ξ nProp} (hVerum : ∀ (n : ), P n ) (hFalsum : ∀ (n : ), P n ) (hEQ : ∀ (n : ) (t₁ t₂ : LO.FirstOrder.Semiterm ℒₒᵣ ξ n), P n (LO.FirstOrder.Semiformula.rel op(=) ![t₁, t₂])) (hNEQ : ∀ (n : ) (t₁ t₂ : LO.FirstOrder.Semiterm ℒₒᵣ ξ n), P n (LO.FirstOrder.Semiformula.nrel op(=) ![t₁, t₂])) (hLT : ∀ (n : ) (t₁ t₂ : LO.FirstOrder.Semiterm ℒₒᵣ ξ n), P n (LO.FirstOrder.Semiformula.rel op(<) ![t₁, t₂])) (hNLT : ∀ (n : ) (t₁ t₂ : LO.FirstOrder.Semiterm ℒₒᵣ ξ n), P n (LO.FirstOrder.Semiformula.nrel op(<) ![t₁, t₂])) (hAnd : ∀ (n : ) (φ ψ : LO.FirstOrder.Semiformula ℒₒᵣ ξ n), LO.FirstOrder.Arith.Hierarchy 𝚺 1 φLO.FirstOrder.Arith.Hierarchy 𝚺 1 ψP n φP n ψP n (φ ψ)) (hOr : ∀ (n : ) (φ ψ : LO.FirstOrder.Semiformula ℒₒᵣ ξ n), LO.FirstOrder.Arith.Hierarchy 𝚺 1 φLO.FirstOrder.Arith.Hierarchy 𝚺 1 ψP n φP n ψP n (φ ψ)) (hBall : ∀ (n : ) (t : LO.FirstOrder.Semiterm ℒₒᵣ ξ n) (φ : LO.FirstOrder.Semiformula ℒₒᵣ ξ (n + 1)), LO.FirstOrder.Arith.Hierarchy 𝚺 1 φP (n + 1) φP n (“(∀[!!(LO.FirstOrder.Semiterm.bvar 0) < !!(LO.FirstOrder.Rew.bShift t)] !φ)”)) (hEx : ∀ (n : ) (φ : LO.FirstOrder.Semiformula ℒₒᵣ ξ (n + 1)), LO.FirstOrder.Arith.Hierarchy 𝚺 1 φP (n + 1) φP n (∃' φ)) :
    P n φ