Documentation

LeanPool.PointwiseComposition.Foundation.FirstOrder.Syntax.Classical.Rew

Supporting results for pointwise provable equality.

Rewriting Entailment #

term/formula morphisms such as Rewritings, substitutions, and embs are handled by the structure FFL.FirstOrder.Rew.

Rewritings FFL.FirstOrder.Rew is naturally converted to formula Rewritings by FFL.FirstOrder.Rew.hom.

def PointwiseComposition.FFL.FirstOrder.Semiformula.rewAux {L : Language} {ξ₁ : Type u_2} {ξ₂ : Type u_3} ⦃n₁ n₂ : ℕ⦄ (ω : Rew L ξ₁ n₁ ξ₂ n₂) :
Semiformula L ξ₁ n₁ → Semiformula L ξ₂ n₂

The rew Aux construction in FFL.FirstOrder.Semiformula.

Equations
Instances For
    theorem PointwiseComposition.FFL.FirstOrder.Semiformula.rewAux_neg {L : Language} {ξ₁ : Type u_2} {n₁ : ℕ} {ξ₂ : Type u_3} {n₂ : ℕ} (ω : Rew L ξ₁ n₁ ξ₂ n₂) (φ : Semiformula L ξ₁ n₁) :
    rewAux ω (∼φ) = ∼rewAux ω φ
    theorem PointwiseComposition.FFL.FirstOrder.Semiformula.ext_rewAux' {L : Language} {ξ₁ : Type u_2} {n₁ : ℕ} {ξ₂ : Type u_3} {n₂ : ℕ} {ω₁ ω₂ : Rew L ξ₁ n₁ ξ₂ n₂} (h : ω₁ = ω₂) (φ : Semiformula L ξ₁ n₁) :
    rewAux ω₁ φ = rewAux ω₂ φ
    def PointwiseComposition.FFL.FirstOrder.Semiformula.rew {L : Language} {ξ₁ : Type u_2} {n₁ : ℕ} {ξ₂ : Type u_3} {n₂ : ℕ} (ω : Rew L ξ₁ n₁ ξ₂ n₂) :
    Semiformula L ξ₁ n₁ →ˡᶜ Semiformula L ξ₂ n₂

    The rew construction in FFL.FirstOrder.Semiformula.

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      @[instance_reducible]
      Equations
      @[reducible, inline]
      abbrev PointwiseComposition.FFL.FirstOrder.Semiformula.subst {L : Language} {ξ : Type u_2} {n m : ℕ} (φ : Semiformula L ξ n) (v : Fin n → Semiterm L ξ m) :

      The subst construction in FFL.FirstOrder.Semiformula.

      Equations
      Instances For
        @[reducible, inline]
        abbrev PointwiseComposition.FFL.FirstOrder.Semiformula.emb {o : Type u_1} {L : Language} {n : ℕ} {ξ : Type u_3} [IsEmpty o] (φ : Semiformula L o n) :

        The emb construction in FFL.FirstOrder.Semiformula.

        Equations
        Instances For
          @[reducible, inline]

          The free construction in FFL.FirstOrder.Semiformula.

          Equations
          Instances For
            @[reducible, inline]

            The shift construction in FFL.FirstOrder.Semiformula.

            Equations
            Instances For
              theorem PointwiseComposition.FFL.FirstOrder.Semiformula.rew_rel {L : Language} {ξ₁ : Type u_2} {n₁ : ℕ} {ξ₂ : Type u_3} {n₂ : ℕ} (ω : Rew L ξ₁ n₁ ξ₂ n₂) {k : ℕ} (r : L.Rel k) (v : Fin k → Semiterm L ξ₁ n₁) :
              (Rewriting.app ω) (rel r v) = rel r fun (i : Fin k) => ω (v i)
              theorem PointwiseComposition.FFL.FirstOrder.Semiformula.rew_nrel {L : Language} {ξ₁ : Type u_2} {n₁ : ℕ} {ξ₂ : Type u_3} {n₂ : ℕ} (ω : Rew L ξ₁ n₁ ξ₂ n₂) {k : ℕ} (r : L.Rel k) (v : Fin k → Semiterm L ξ₁ n₁) :
              (Rewriting.app ω) (nrel r v) = nrel r fun (i : Fin k) => ω (v i)
              @[simp]
              theorem PointwiseComposition.FFL.FirstOrder.Semiformula.rew_rel_eq_comp {L : Language} {ξ₁ : Type u_2} {n₁ : ℕ} {ξ₂ : Type u_3} {n₂ : ℕ} (ω : Rew L ξ₁ n₁ ξ₂ n₂) {k : ℕ} {r : L.Rel k} {v : Fin k → Semiterm L ξ₁ n₁} :
              (Rewriting.app ω) (rel r v) = rel r (⇑ω ∘ v)
              @[simp]
              theorem PointwiseComposition.FFL.FirstOrder.Semiformula.rew_nrel_eq_comp {L : Language} {ξ₁ : Type u_2} {n₁ : ℕ} {ξ₂ : Type u_3} {n₂ : ℕ} (ω : Rew L ξ₁ n₁ ξ₂ n₂) {k : ℕ} {r : L.Rel k} {v : Fin k → Semiterm L ξ₁ n₁} :
              (Rewriting.app ω) (nrel r v) = nrel r (⇑ω ∘ v)
              theorem PointwiseComposition.FFL.FirstOrder.Semiformula.rew_rel0 {L : Language} {ξ₁ : Type u_2} {n₁ : ℕ} {ξ₂ : Type u_3} {n₂ : ℕ} (ω : Rew L ξ₁ n₁ ξ₂ n₂) {r : L.Rel 0} {v : Fin 0 → Semiterm L ξ₁ n₁} :
              (Rewriting.app ω) (rel r v) = rel r ![]
              theorem PointwiseComposition.FFL.FirstOrder.Semiformula.rew_rel1 {L : Language} {ξ₁ : Type u_2} {n₁ : ℕ} {ξ₂ : Type u_3} {n₂ : ℕ} (ω : Rew L ξ₁ n₁ ξ₂ n₂) {r : L.Rel 1} {t : Semiterm L ξ₁ n₁} :
              (Rewriting.app ω) (rel r ![t]) = rel r ![ω t]
              theorem PointwiseComposition.FFL.FirstOrder.Semiformula.rew_rel2 {L : Language} {ξ₁ : Type u_2} {n₁ : ℕ} {ξ₂ : Type u_3} {n₂ : ℕ} (ω : Rew L ξ₁ n₁ ξ₂ n₂) {r : L.Rel 2} {t₁ t₂ : Semiterm L ξ₁ n₁} :
              (Rewriting.app ω) (rel r ![t₁, t₂]) = rel r ![ω t₁, ω t₂]
              theorem PointwiseComposition.FFL.FirstOrder.Semiformula.rew_rel3 {L : Language} {ξ₁ : Type u_2} {n₁ : ℕ} {ξ₂ : Type u_3} {n₂ : ℕ} (ω : Rew L ξ₁ n₁ ξ₂ n₂) {r : L.Rel 3} {t₁ t₂ t₃ : Semiterm L ξ₁ n₁} :
              (Rewriting.app ω) (rel r ![t₁, t₂, t₃]) = rel r ![ω t₁, ω t₂, ω t₃]
              theorem PointwiseComposition.FFL.FirstOrder.Semiformula.rew_nrel0 {L : Language} {ξ₁ : Type u_2} {n₁ : ℕ} {ξ₂ : Type u_3} {n₂ : ℕ} (ω : Rew L ξ₁ n₁ ξ₂ n₂) {r : L.Rel 0} {v : Fin 0 → Semiterm L ξ₁ n₁} :
              (Rewriting.app ω) (nrel r v) = nrel r ![]
              theorem PointwiseComposition.FFL.FirstOrder.Semiformula.rew_nrel1 {L : Language} {ξ₁ : Type u_2} {n₁ : ℕ} {ξ₂ : Type u_3} {n₂ : ℕ} (ω : Rew L ξ₁ n₁ ξ₂ n₂) {r : L.Rel 1} {t : Semiterm L ξ₁ n₁} :
              (Rewriting.app ω) (nrel r ![t]) = nrel r ![ω t]
              theorem PointwiseComposition.FFL.FirstOrder.Semiformula.rew_nrel2 {L : Language} {ξ₁ : Type u_2} {n₁ : ℕ} {ξ₂ : Type u_3} {n₂ : ℕ} (ω : Rew L ξ₁ n₁ ξ₂ n₂) {r : L.Rel 2} {t₁ t₂ : Semiterm L ξ₁ n₁} :
              (Rewriting.app ω) (nrel r ![t₁, t₂]) = nrel r ![ω t₁, ω t₂]
              theorem PointwiseComposition.FFL.FirstOrder.Semiformula.rew_nrel3 {L : Language} {ξ₁ : Type u_2} {n₁ : ℕ} {ξ₂ : Type u_3} {n₂ : ℕ} (ω : Rew L ξ₁ n₁ ξ₂ n₂) {r : L.Rel 3} {t₁ t₂ t₃ : Semiterm L ξ₁ n₁} :
              (Rewriting.app ω) (nrel r ![t₁, t₂, t₃]) = nrel r ![ω t₁, ω t₂, ω t₃]
              instance PointwiseComposition.FFL.FirstOrder.Semiformula.instTransitiveRewriting {L : Language} {ξ₁ : Type u_2} {ξ₂ : Type u_3} {ξ₃ : Type u_4} :
              TransitiveRewriting L ξ₁ (Semiformula L ξ₁) ξ₂ (Semiformula L ξ₂) ξ₃ (Semiformula L ξ₃)
              @[simp]
              theorem PointwiseComposition.FFL.FirstOrder.Semiformula.complexity_rew {L : Language} {ξ₁ : Type u_2} {n₁ : ℕ} {ξ₂ : Type u_3} {n₂ : ℕ} (ω : Rew L ξ₁ n₁ ξ₂ n₂) (φ : Semiformula L ξ₁ n₁) :
              @[simp]
              theorem PointwiseComposition.FFL.FirstOrder.Semiformula.eq_top_iff {L : Language} {ξ₁ : Type u_1} {n₁ : ℕ} {ξ₂ : Type u_3} {n₂ : ℕ} (ω : Rew L ξ₁ n₁ ξ₂ n₂) {φ : Semiformula L ξ₁ n₁} :
              (Rewriting.app ω) φ = ⊤ ↔ φ = ⊤
              @[simp]
              theorem PointwiseComposition.FFL.FirstOrder.Semiformula.eq_bot_iff {L : Language} {ξ₁ : Type u_1} {n₁ : ℕ} {ξ₂ : Type u_3} {n₂ : ℕ} (ω : Rew L ξ₁ n₁ ξ₂ n₂) {φ : Semiformula L ξ₁ n₁} :
              (Rewriting.app ω) φ = ⊥ ↔ φ = ⊥
              theorem PointwiseComposition.FFL.FirstOrder.Semiformula.eq_rel_iff {L : Language} {ξ₁ : Type u_1} {n₁ : ℕ} {ξ₂ : Type u_3} {n₂ : ℕ} (ω : Rew L ξ₁ n₁ ξ₂ n₂) {φ : Semiformula L ξ₁ n₁} {k : ℕ} {r : L.Rel k} {v : Fin k → Semiterm L ξ₂ n₂} :
              (Rewriting.app ω) φ = rel r v ↔ ∃ (v' : Fin k → Semiterm L ξ₁ n₁), ⇑ω ∘ v' = v ∧ φ = rel r v'
              theorem PointwiseComposition.FFL.FirstOrder.Semiformula.eq_nrel_iff {L : Language} {ξ₁ : Type u_1} {n₁ : ℕ} {ξ₂ : Type u_3} {n₂ : ℕ} (ω : Rew L ξ₁ n₁ ξ₂ n₂) {φ : Semiformula L ξ₁ n₁} {k : ℕ} {r : L.Rel k} {v : Fin k → Semiterm L ξ₂ n₂} :
              (Rewriting.app ω) φ = nrel r v ↔ ∃ (v' : Fin k → Semiterm L ξ₁ n₁), ⇑ω ∘ v' = v ∧ φ = nrel r v'
              @[simp]
              theorem PointwiseComposition.FFL.FirstOrder.Semiformula.eq_and_iff {L : Language} {ξ₁ : Type u_1} {n₁ : ℕ} {ξ₂ : Type u_3} {n₂ : ℕ} (ω : Rew L ξ₁ n₁ ξ₂ n₂) {φ : Semiformula L ξ₁ n₁} {ψ₁ ψ₂ : Semiformula L ξ₂ n₂} :
              (Rewriting.app ω) φ = ψ₁ ⋏ ψ₂ ↔ ∃ (φ₁ : Semiformula L ξ₁ n₁) (φ₂ : Semiformula L ξ₁ n₁), (Rewriting.app ω) φ₁ = ψ₁ ∧ (Rewriting.app ω) φ₂ = ψ₂ ∧ φ = φ₁ ⋏ φ₂
              @[simp]
              theorem PointwiseComposition.FFL.FirstOrder.Semiformula.eq_or_iff {L : Language} {ξ₁ : Type u_1} {n₁ : ℕ} {ξ₂ : Type u_3} {n₂ : ℕ} (ω : Rew L ξ₁ n₁ ξ₂ n₂) {φ : Semiformula L ξ₁ n₁} {ψ₁ ψ₂ : Semiformula L ξ₂ n₂} :
              (Rewriting.app ω) φ = ψ₁ ⋎ ψ₂ ↔ ∃ (φ₁ : Semiformula L ξ₁ n₁) (φ₂ : Semiformula L ξ₁ n₁), (Rewriting.app ω) φ₁ = ψ₁ ∧ (Rewriting.app ω) φ₂ = ψ₂ ∧ φ = φ₁ ⋎ φ₂
              theorem PointwiseComposition.FFL.FirstOrder.Semiformula.eq_all_iff {L : Language} {ξ₁ : Type u_1} {n₁ : ℕ} {ξ₂ : Type u_3} {n₂ : ℕ} (ω : Rew L ξ₁ n₁ ξ₂ n₂) {φ : Semiformula L ξ₁ n₁} {ψ : Semiformula L ξ₂ (n₂ + 1)} :
              (Rewriting.app ω) φ = ∀¹ ψ ↔ ∃ (φ' : Semiformula L ξ₁ (n₁ + 1)), (Rewriting.app ω.q) φ' = ψ ∧ φ = ∀¹ φ'
              theorem PointwiseComposition.FFL.FirstOrder.Semiformula.eq_exs_iff {L : Language} {ξ₁ : Type u_1} {n₁ : ℕ} {ξ₂ : Type u_3} {n₂ : ℕ} (ω : Rew L ξ₁ n₁ ξ₂ n₂) {φ : Semiformula L ξ₁ n₁} {ψ : Semiformula L ξ₂ (n₂ + 1)} :
              (Rewriting.app ω) φ = ∃¹ ψ ↔ ∃ (φ' : Semiformula L ξ₁ (n₁ + 1)), (Rewriting.app ω.q) φ' = ψ ∧ φ = ∃¹ φ'
              @[simp]
              theorem PointwiseComposition.FFL.FirstOrder.Semiformula.eq_neg_iff {L : Language} {ξ₁ : Type u_1} {n₁ : ℕ} {ξ₂ : Type u_3} {n₂ : ℕ} (ω : Rew L ξ₁ n₁ ξ₂ n₂) {φ : Semiformula L ξ₁ n₁} {ψ₁ ψ₂ : Semiformula L ξ₂ n₂} :
              (Rewriting.app ω) φ = ψ₁ ⇒ₗ ψ₂ ↔ ∃ (φ₁ : Semiformula L ξ₁ n₁) (φ₂ : Semiformula L ξ₁ n₁), (Rewriting.app ω) φ₁ = ψ₁ ∧ (Rewriting.app ω) φ₂ = ψ₂ ∧ φ = φ₁ ⇒ₗ φ₂
              theorem PointwiseComposition.FFL.FirstOrder.Semiformula.eq_ball_iff {L : Language} {ξ₁ : Type u_1} {n₁ : ℕ} {ξ₂ : Type u_3} {n₂ : ℕ} (ω : Rew L ξ₁ n₁ ξ₂ n₂) {φ : Semiformula L ξ₁ n₁} {ψ₁ ψ₂ : Semiformula L ξ₂ (n₂ + 1)} :
              ((Rewriting.app ω) φ = ∀¹[ψ₁] ψ₂) ↔ ∃ (φ₁ : Semiformula L ξ₁ (n₁ + 1)) (φ₂ : Semiformula L ξ₁ (n₁ + 1)), (Rewriting.app ω.q) φ₁ = ψ₁ ∧ (Rewriting.app ω.q) φ₂ = ψ₂ ∧ φ = ∀¹[φ₁] φ₂
              theorem PointwiseComposition.FFL.FirstOrder.Semiformula.eq_bexs_iff {L : Language} {ξ₁ : Type u_1} {n₁ : ℕ} {ξ₂ : Type u_3} {n₂ : ℕ} (ω : Rew L ξ₁ n₁ ξ₂ n₂) {φ : Semiformula L ξ₁ n₁} {ψ₁ ψ₂ : Semiformula L ξ₂ (n₂ + 1)} :
              ((Rewriting.app ω) φ = ∃¹[ψ₁] ψ₂) ↔ ∃ (φ₁ : Semiformula L ξ₁ (n₁ + 1)) (φ₂ : Semiformula L ξ₁ (n₁ + 1)), (Rewriting.app ω.q) φ₁ = ψ₁ ∧ (Rewriting.app ω.q) φ₂ = ψ₂ ∧ φ = ∃¹[φ₁] φ₂
              theorem PointwiseComposition.FFL.FirstOrder.Semiformula.coe_rel {ο : Type u_1} {L : Language} {n : ℕ} {ξ : Type u_3} [IsEmpty ο] {k : ℕ} (R : L.Rel k) (v : Fin k → Semiterm L ο n) :
              Rewriting.emb (rel R v) = rel R fun (i : Fin k) => Rew.emb (v i)
              theorem PointwiseComposition.FFL.FirstOrder.Semiformula.coe_nrel {ο : Type u_1} {L : Language} {n : ℕ} {ξ : Type u_3} [IsEmpty ο] {k : ℕ} (R : L.Rel k) (v : Fin k → Semiterm L ο n) :
              Rewriting.emb (nrel R v) = nrel R fun (i : Fin k) => Rew.emb (v i)
              @[irreducible]
              def PointwiseComposition.FFL.FirstOrder.Semiformula.formulaRec {L : Language} {C : Proposition L → Sort u_2} (verum : C ⊤) (falsum : C ⊥) (rel : {l : ℕ} → (r : L.Rel l) → (v : Fin l → SyntacticTerm L) → C (rel r v)) (nrel : {l : ℕ} → (r : L.Rel l) → (v : Fin l → SyntacticTerm L) → C (nrel r v)) (and : (φ ψ : Proposition L) → C φ → C ψ → C (φ ⋏ ψ)) (or : (φ ψ : Proposition L) → C φ → C ψ → C (φ ⋎ ψ)) (all : (φ : Semiproposition L 1) → C (Rewriting.free φ) → C (∀¹ φ)) (ex : (φ : Semiproposition L 1) → C (Rewriting.free φ) → C (∃¹ φ)) (φ : Proposition L) :
              C φ

              The formula Rec construction in FFL.FirstOrder.Semiformula.

              Equations
              Instances For
                theorem PointwiseComposition.FFL.FirstOrder.Semiformula.hasFreeVariable_rew {ξ₁ : Type u_1} {ξ₂ : Type u_2} {L : Language} {n₁ n₂ : ℕ} [DecidableEq ξ₁] [DecidableEq ξ₂] {φ : Semiformula L ξ₁ n₁} {ω : Rew L ξ₁ n₁ ξ₂ n₂} {x : ξ₂} (h : ((Rewriting.app ω) φ).HasFreeVariable x) :
                (∃ (i : Fin n₁), (ω (Semiterm.bvar i)).HasFreeVariable x) ∨ ∃ (z : ξ₁), φ.HasFreeVariable z ∧ (ω (Semiterm.fvar z)).HasFreeVariable x
                theorem PointwiseComposition.FFL.FirstOrder.Semiformula.rew_eq_of_funEqOn {ξ₁ : Type u_1} {L : Language} {n₁ : ℕ} {ξ₂ : Type u_3} {n₂ : ℕ} [DecidableEq ξ₁] {ω₁ ω₂ : Rew L ξ₁ n₁ ξ₂ n₂} {φ : Semiformula L ξ₁ n₁} (hb : ∀ (x : Fin n₁), ω₁ (Semiterm.bvar x) = ω₂ (Semiterm.bvar x)) (hf : Function.funEqOn φ.HasFreeVariable (⇑ω₁ ∘ Semiterm.fvar) (⇑ω₂ ∘ Semiterm.fvar)) :
                (Rewriting.app ω₁) φ = (Rewriting.app ω₂) φ
                theorem PointwiseComposition.FFL.FirstOrder.Semiformula.rew_eq_of_funEqOn₀ {ξ₁ : Type u_1} {L : Language} {ξ₂ : Type u_3} {n₂ : ℕ} [DecidableEq ξ₁] {ω₁ ω₂ : Rew L ξ₁ 0 ξ₂ n₂} {φ : Semiformula L ξ₁ 0} (hf : Function.funEqOn φ.HasFreeVariable (⇑ω₁ ∘ Semiterm.fvar) (⇑ω₂ ∘ Semiterm.fvar)) :
                (Rewriting.app ω₁) φ = (Rewriting.app ω₂) φ
                theorem PointwiseComposition.FFL.FirstOrder.Semiformula.rew_eq_self_of {ξ : Type u_1} {L : Language} {n : ℕ} [DecidableEq ξ] {ω : Rew L ξ n ξ n} {φ : Semiformula L ξ n} (hb : ∀ (x : Fin n), ω (Semiterm.bvar x) = Semiterm.bvar x) (hf : ∀ (x : ξ), φ.HasFreeVariable x → ω (Semiterm.fvar x) = Semiterm.fvar x) :
                (Rewriting.app ω) φ = φ
                @[simp]

                The univ Cl' construction in FFL.FirstOrder.Semiformula.

                Equations
                • One or more equations did not get rendered due to their size.
                Instances For
                  @[simp]
                  theorem PointwiseComposition.FFL.FirstOrder.Semiformula.toEmpty_and {ξ : Type u_1} {L : Language} {n : ℕ} [DecidableEq ξ] (φ ψ : Semiformula L ξ n) (h : (φ ⋏ ψ).freeVariables = ∅) :
                  (φ ⋏ ψ).toEmpty h = φ.toEmpty ⋯ ⋏ ψ.toEmpty ⋯
                  @[simp]
                  theorem PointwiseComposition.FFL.FirstOrder.Semiformula.toEmpty_or {ξ : Type u_1} {L : Language} {n : ℕ} [DecidableEq ξ] (φ ψ : Semiformula L ξ n) (h : (φ ⋎ ψ).freeVariables = ∅) :
                  (φ ⋎ ψ).toEmpty h = φ.toEmpty ⋯ ⋎ ψ.toEmpty ⋯
                  @[simp]
                  @[simp]

                  The to Empty' construction in FFL.FirstOrder.Semiformula.

                  Equations
                  Instances For
                    theorem PointwiseComposition.FFL.FirstOrder.Semiformula.lMap_bind {L₁ : Language} {L₂ : Language} {Φ : L₁.Hom L₂} {n₁ : ℕ} {ξ₂ : Type u_2} {n₂ : ℕ} {ξ₁ : Type u_3} (b : Fin n₁ → Semiterm L₁ ξ₂ n₂) (e : ξ₁ → Semiterm L₁ ξ₂ n₂) (φ : Semiformula L₁ ξ₁ n₁) :
                    (lMap Φ) ((Rewriting.app (Rew.bind b e)) φ) = (Rewriting.app (Rew.bind (Semiterm.lMap Φ ∘ b) (Semiterm.lMap Φ ∘ e))) ((lMap Φ) φ)
                    theorem PointwiseComposition.FFL.FirstOrder.Semiformula.lMap_map {L₁ : Language} {L₂ : Language} {Φ : L₁.Hom L₂} {n₁ n₂ : ℕ} {ξ₁ : Type u_2} {ξ₂ : Type u_3} (b : Fin n₁ → Fin n₂) (e : ξ₁ → ξ₂) (φ : Semiformula L₁ ξ₁ n₁) :
                    (lMap Φ) ((Rewriting.app (Rew.map b e)) φ) = (Rewriting.app (Rew.map b e)) ((lMap Φ) φ)
                    theorem PointwiseComposition.FFL.FirstOrder.Semiformula.lMap_rewrite {L₁ : Language} {L₂ : Language} {Φ : L₁.Hom L₂} {ξ₁ : Type u_2} {ξ₂ : Type u_3} {n : ℕ} (f : ξ₁ → Semiterm L₁ ξ₂ n) (φ : Semiformula L₁ ξ₁ n) :
                    theorem PointwiseComposition.FFL.FirstOrder.Semiformula.lMap_subst {L₁ : Language} {L₂ : Language} {ξ : Type u_1} {Φ : L₁.Hom L₂} {k n : ℕ} (w : Fin k → Semiterm L₁ ξ n) (φ : Semiformula L₁ ξ k) :
                    (lMap Φ) (φ ↜ w) = (lMap Φ) φ ↜ (Semiterm.lMap Φ ∘ w)
                    theorem PointwiseComposition.FFL.FirstOrder.Semiformula.lMap_free {L₁ : Language} {L₂ : Language} {Φ : L₁.Hom L₂} {n : ℕ} (φ : Semiproposition L₁ (n + 1)) :
                    theorem PointwiseComposition.FFL.FirstOrder.Semiformula.lMap_fix {L₁ : Language} {L₂ : Language} {Φ : L₁.Hom L₂} {n : ℕ} (φ : Semiproposition L₁ n) :
                    theorem PointwiseComposition.FFL.FirstOrder.Semiformula.lMap_emb {L₁ : Language} {L₂ : Language} {ξ : Type u_1} {Φ : L₁.Hom L₂} {n : ℕ} {ο : Type u_2} [IsEmpty ο] (φ : Semiformula L₁ ο n) :
                    (lMap Φ) (Rewriting.emb φ) = Rewriting.emb ((lMap Φ) φ)
                    theorem PointwiseComposition.FFL.FirstOrder.Semiformula.lMap_rewriteMap {L₁ : Language} {L₂ : Language} {Φ : L₁.Hom L₂} {ξ₁ : Type u_2} {n : ℕ} {ξ₂ : Type u_3} (φ : Semiformula L₁ ξ₁ n) (f : ξ₁ → ξ₂) :
                    @[simp]
                    theorem PointwiseComposition.FFL.FirstOrder.Semiformula.rew_open_iff {L : Language} {ξ₁ : Type u_2} {n₁ : ℕ} {ξ₂ : Type u_3} {n₂ : ℕ} {ω : Rew L ξ₁ n₁ ξ₂ n₂} {φ : Semiformula L ξ₁ n₁} :
                    ((Rewriting.app ω) φ).Open ↔ φ.Open