Documentation

Foundation.FirstOrder.Syntax.Classical.Bounded

Bounded formulas with bounds supplied by an operator; this operator-parametric presentation and its rewriting lemmas are specific to this formalization.

inductive FFL.FirstOrder.Semiformula.Bounded {L : Language} {ξ : Type u_1} (R : Operator L 2) {n : ℕ} :
Semiformula L ξ n → Prop
Instances For
    @[simp]
    theorem FFL.FirstOrder.Semiformula.Bounded.and_iff {L : Language} {ξ : Type u_1} {R : Operator L 2} {n : ℕ} {φ ψ : Semiformula L ξ n} :
    Bounded R (φ ⋏ ψ) ↔ Bounded R φ ∧ Bounded R ψ
    @[simp]
    theorem FFL.FirstOrder.Semiformula.Bounded.or_iff {L : Language} {ξ : Type u_1} {R : Operator L 2} {n : ℕ} {φ ψ : Semiformula L ξ n} :
    Bounded R (φ ⋎ ψ) ↔ Bounded R φ ∧ Bounded R ψ
    theorem FFL.FirstOrder.Semiformula.Bounded.neg {L : Language} {ξ : Type u_1} {R : Operator L 2} {n : ℕ} {φ : Semiformula L ξ n} :
    Bounded R φ → Bounded R (∼φ)
    @[simp]
    theorem FFL.FirstOrder.Semiformula.Bounded.neg_iff {L : Language} {ξ : Type u_1} {R : Operator L 2} {n : ℕ} {φ : Semiformula L ξ n} :
    Bounded R (∼φ) ↔ Bounded R φ
    @[simp]
    theorem FFL.FirstOrder.Semiformula.Bounded.ball_iff {L : Language} {ξ : Type u_1} {R : Operator L 2} {n : ℕ} {φ : Semiformula L ξ (n + 1)} {t : Semiterm L ξ (n + 1)} (ht : t.Positive) :
    @[simp]
    theorem FFL.FirstOrder.Semiformula.Bounded.bexs_iff {L : Language} {ξ : Type u_1} {R : Operator L 2} {n : ℕ} {φ : Semiformula L ξ (n + 1)} {t : Semiterm L ξ (n + 1)} (ht : t.Positive) :
    theorem FFL.FirstOrder.Semiformula.Bounded.rew {L : Language} {ξ₁ : Type u_2} {ξ₂ : Type u_3} {R : Operator L 2} {n₁ n₂ : ℕ} (ω : Rew L ξ₁ n₁ ξ₂ n₂) {φ : Semiformula L ξ₁ n₁} :
    Bounded R φ → Bounded R ((Rewriting.app ω) φ)
    theorem FFL.FirstOrder.Semiformula.Bounded.operator_preimage {L : Language} {ξ₁ : Type u_2} {ξ₂ : Type u_3} {R : Operator L 2} {n₁ n₂ : ℕ} [R.SymbolLike ξ₁ ξ₂] {ω : Rew L ξ₁ n₁ ξ₂ n₂} {χ : Semiformula L ξ₁ (n₁ + 1)} {t : Semiterm L ξ₂ (n₂ + 1)} (hχ : (Rewriting.app ω.q) χ = R.operator ![Semiterm.bvar 0, t]) (ht : t.Positive) :
    ∃ (u : Semiterm L ξ₁ (n₁ + 1)), χ = R.operator ![Semiterm.bvar 0, u] ∧ u.Positive
    @[simp]
    theorem FFL.FirstOrder.Semiformula.Bounded.rew_iff {L : Language} {ξ₁ : Type u_2} {ξ₂ : Type u_3} {R : Operator L 2} {n₁ n₂ : ℕ} [R.SymbolLike ξ₁ ξ₂] {ω : Rew L ξ₁ n₁ ξ₂ n₂} {φ : Semiformula L ξ₁ n₁} :
    Bounded R ((Rewriting.app ω) φ) ↔ Bounded R φ