def
LO.FirstOrder.Semiformulaᵢ.rewAux
{L : Language}
{ξ₁ : Type u_2}
{n₁ : ℕ}
{ξ₂ : Type u_3}
{n₂ : ℕ}
(ω : Rew L ξ₁ n₁ ξ₂ n₂)
:
Semiformulaᵢ L ξ₁ n₁ → Semiformulaᵢ L ξ₂ n₂
Equations
- LO.FirstOrder.Semiformulaᵢ.rewAux ω LO.FirstOrder.Semiformulaᵢ.falsum = ⊥
- LO.FirstOrder.Semiformulaᵢ.rewAux ω (LO.FirstOrder.Semiformulaᵢ.rel r v) = LO.FirstOrder.Semiformulaᵢ.rel r (⇑ω ∘ v)
- LO.FirstOrder.Semiformulaᵢ.rewAux ω (φ.and ψ) = LO.FirstOrder.Semiformulaᵢ.rewAux ω φ ⋏ LO.FirstOrder.Semiformulaᵢ.rewAux ω ψ
- LO.FirstOrder.Semiformulaᵢ.rewAux ω (φ.or ψ) = LO.FirstOrder.Semiformulaᵢ.rewAux ω φ ⋎ LO.FirstOrder.Semiformulaᵢ.rewAux ω ψ
- LO.FirstOrder.Semiformulaᵢ.rewAux ω (φ.imp ψ) = LO.FirstOrder.Semiformulaᵢ.rewAux ω φ 🡒 LO.FirstOrder.Semiformulaᵢ.rewAux ω ψ
- LO.FirstOrder.Semiformulaᵢ.rewAux ω φ.all = ∀¹ LO.FirstOrder.Semiformulaᵢ.rewAux ω.q φ
- LO.FirstOrder.Semiformulaᵢ.rewAux ω φ.exs = ∃¹ LO.FirstOrder.Semiformulaᵢ.rewAux ω.q φ
Instances For
def
LO.FirstOrder.Semiformulaᵢ.rew
{L : Language}
{ξ₁ : Type u_2}
{n₁ : ℕ}
{ξ₂ : Type u_3}
{n₂ : ℕ}
(ω : Rew L ξ₁ n₁ ξ₂ n₂)
:
Equations
- LO.FirstOrder.Semiformulaᵢ.rew ω = { toTr := LO.FirstOrder.Semiformulaᵢ.rewAux ω, map_top' := ⋯, map_bot' := ⋯, map_neg' := ⋯, map_imply' := ⋯, map_and' := ⋯, map_or' := ⋯ }
Instances For
@[implicit_reducible]
instance
LO.FirstOrder.Semiformulaᵢ.instRewriting
{L : Language}
{ξ : Type u_2}
{ζ : Type u_3}
:
Rewriting L ξ (Semiformulaᵢ L ξ) ζ (Semiformulaᵢ L ζ)
Equations
- LO.FirstOrder.Semiformulaᵢ.instRewriting = { app := fun {n₁ n₂ : ℕ} => LO.FirstOrder.Semiformulaᵢ.rew, app_all := ⋯, app_exs := ⋯ }
@[implicit_reducible]
instance
LO.FirstOrder.Semiformulaᵢ.instCoeSemisentenceᵢSemipropositionᵢ
{L : Language}
{n : ℕ}
:
Coe (Semisentenceᵢ L n) (Semipropositionᵢ L n)
instance
LO.FirstOrder.Semiformulaᵢ.instReflectiveRewriting
{L : Language}
{ξ : Type u_2}
:
ReflectiveRewriting L ξ (Semiformulaᵢ L ξ)
instance
LO.FirstOrder.Semiformulaᵢ.instTransitiveRewriting
{L : Language}
{ξ₁ : Type u_2}
{ξ₂ : Type u_3}
{ξ₃ : Type u_4}
:
TransitiveRewriting L ξ₁ (Semiformulaᵢ L ξ₁) ξ₂ (Semiformulaᵢ L ξ₂) ξ₃ (Semiformulaᵢ L ξ₃)
instance
LO.FirstOrder.Semiformulaᵢ.instInjMapRewriting
{L : Language}
{ξ : Type u_2}
{ζ : Type u_3}
:
InjMapRewriting L ξ (Semiformulaᵢ L ξ) ζ (Semiformulaᵢ L ζ)
@[simp]
theorem
LO.FirstOrder.Semiformulaᵢ.complexity_rew
{L : Language}
{ξ₁ : Type u_2}
{n₁ : ℕ}
{ξ₂ : Type u_3}
{n₂ : ℕ}
(ω : Rew L ξ₁ n₁ ξ₂ n₂)
(φ : Semiformulaᵢ L ξ₁ n₁)
:
@[simp]
theorem
LO.FirstOrder.Semiformulaᵢ.IsNegative.rew
{L : Language}
{ξ₁ : Type u_2}
{n₁ : ℕ}
{ξ₂ : Type u_3}
{n₂ : ℕ}
{ω : Rew L ξ₁ n₁ ξ₂ n₂}
{φ : Semiformulaᵢ L ξ₁ n₁}
: