Rewriting Entailment #
term/formula morphisms such as Rewritings, substitutions, and embeddings are handled by the
structure LO.FirstOrder.Rew.
LO.FirstOrder.Rew.rewrite fis a Rewriting of the free variables occurring in the term byf : ξ₁ → Semiterm L ξ₂ n.LO.FirstOrder.Rew.substs vis a substitution of the bounded variables occurring in the term byv : Fin n → Semiterm L ξ n'.LO.FirstOrder.Rew.bShiftis a transformation of the bounded variables occurring in the term by#x ↦ #(Fin.succ x).LO.FirstOrder.Rew.shiftis a transformation of the free variables occurring in the term by&x ↦ &(x + 1).LO.FirstOrder.Rew.embis a embedding of the term with no free variables.
Rewritings LO.FirstOrder.Rew is naturally converted to formula Rewritings by
LO.FirstOrder.Rew.hom.
Imported declaration from the Incompleteness formalization.
Imported declaration from the Incompleteness formalization.
- func' {k : ℕ} (f : L.Func k) (v : Fin k → Semiterm L ξ₁ n₁) : self.toFun (Semiterm.func f v) = Semiterm.func f fun (i : Fin k) => self.toFun (v i)
Instances For
Imported declaration from the Incompleteness formalization.
Equations
- LO.FirstOrder.SyntacticRew L n₁ n₂ = LO.FirstOrder.Rew L ℕ n₁ ℕ n₂
Instances For
Equations
- LO.FirstOrder.Rew.instFunLikeSemiterm = { coe := fun (f : LO.FirstOrder.Rew L ξ₁ n₁ ξ₂ n₂) => f.toFun, coe_injective := ⋯ }
Imported declaration from the Incompleteness formalization.
Equations
- ω₂.comp ω₁ = { toFun := fun (t : LO.FirstOrder.Semiterm L ξ₁ n₁) => ω₂ (ω₁ t), func' := ⋯ }
Instances For
Imported declaration from the Incompleteness formalization.
Equations
- LO.FirstOrder.Rew.bindAux b e (LO.FirstOrder.Semiterm.bvar x_1) = b x_1
- LO.FirstOrder.Rew.bindAux b e (LO.FirstOrder.Semiterm.fvar x_1) = e x_1
- LO.FirstOrder.Rew.bindAux b e (LO.FirstOrder.Semiterm.func f v) = LO.FirstOrder.Semiterm.func f fun (i : Fin arity) => LO.FirstOrder.Rew.bindAux b e (v i)
Instances For
Imported declaration from the Incompleteness formalization.
Equations
- LO.FirstOrder.Rew.bind b e = { toFun := LO.FirstOrder.Rew.bindAux b e, func' := ⋯ }
Instances For
Imported declaration from the Incompleteness formalization.
Equations
- LO.FirstOrder.Rew.rewriteMap e = LO.FirstOrder.Rew.rewrite fun (m : ξ₁) => LO.FirstOrder.Semiterm.fvar (e m)
Instances For
Imported declaration from the Incompleteness formalization.
Equations
- LO.FirstOrder.Rew.map b e = LO.FirstOrder.Rew.bind (fun (n : Fin n₁) => LO.FirstOrder.Semiterm.bvar (b n)) fun (m : ξ₁) => LO.FirstOrder.Semiterm.fvar (e m)
Instances For
Imported declaration from the Incompleteness formalization.
Equations
- LO.FirstOrder.Rew.emb = LO.FirstOrder.Rew.map id fun (a : o) => h.elim a
Instances For
Imported declaration from the Incompleteness formalization.
Equations
Instances For
Imported declaration from the Incompleteness formalization.
Equations
- LO.FirstOrder.Rew.empty = LO.FirstOrder.Rew.map Fin.elim0 fun (a : o) => h.elim a
Instances For
Imported declaration from the Incompleteness formalization.
Instances For
Imported declaration from the Incompleteness formalization.
Equations
- LO.FirstOrder.Rew.bShiftAdd m = LO.FirstOrder.Rew.map (fun (x : Fin n) => x.addNat m) id
Instances For
Imported declaration from the Incompleteness formalization.
Equations
Instances For
Imported declaration from the Incompleteness formalization.
Equations
Instances For
Imported declaration from the Incompleteness formalization.
Equations
- LO.FirstOrder.Rew.toS = LO.FirstOrder.Rew.bind ![] fun (x : Fin n) => LO.FirstOrder.Semiterm.bvar x
Instances For
Imported declaration from the Incompleteness formalization.
Equations
- LO.FirstOrder.Rew.toF = LO.FirstOrder.Rew.bind (fun (x : Fin n) => LO.FirstOrder.Semiterm.fvar x) Empty.elim
Instances For
Imported declaration from the Incompleteness formalization.
Instances For
Imported declaration from the Incompleteness formalization.
Equations
Instances For
Imported declaration from the Incompleteness formalization.
Equations
Instances For
Imported declaration from the Incompleteness formalization.
Equations
Instances For
Imported declaration from the Incompleteness formalization.
Equations
Instances For
Rewriting system of terms #
Equations
Imported declaration from the Incompleteness formalization.
Equations
- (LO.FirstOrder.Semiterm.bvar x_2).toEmpty x_3 = LO.FirstOrder.Semiterm.bvar x_2
- (LO.FirstOrder.Semiterm.fvar x_2).toEmpty h = ⋯.elim
- (LO.FirstOrder.Semiterm.func f v).toEmpty h = LO.FirstOrder.Semiterm.func f fun (i : Fin arity) => (v i).toEmpty ⋯
Instances For
Rewriting system of formulae #
Imported declaration from the Incompleteness formalization.
Imported declaration from the Incompleteness formalization.
Instances
Imported declaration from the Incompleteness formalization.
Equations
- LO.FirstOrder.SyntacticRewriting L F G = LO.FirstOrder.Rewriting L ℕ F ℕ G
Instances For
Imported declaration from the Incompleteness formalization.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Imported declaration from the Incompleteness formalization.
Equations
- φ <~ w = (LO.FirstOrder.Rewriting.app (LO.FirstOrder.Rew.substs w)) φ
Instances For
Imported declaration from the Incompleteness formalization.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Imported declaration from the Incompleteness formalization.
Equations
- LO.FirstOrder.«term_⁺» = Lean.ParserDescr.trailingNode `LO.FirstOrder.«term_⁺» 1024 1024 (Lean.ParserDescr.symbol "⁺")
Instances For
Imported declaration from the Incompleteness formalization.
Equations
Instances For
Imported declaration from the Incompleteness formalization.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Imported declaration from the Incompleteness formalization.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Imported declaration from the Incompleteness formalization.
- comp_app {n₁ n₂ n₃ : ℕ} (ω₁₂ : Rew L ξ₁ n₁ ξ₂ n₂) (ω₂₃ : Rew L ξ₂ n₂ ξ₃ n₃) (φ : F₁ n₁) : (Rewriting.app (ω₂₃.comp ω₁₂)) φ = (Rewriting.app ω₂₃) ((Rewriting.app ω₁₂) φ)
Instances
Imported declaration from the Incompleteness formalization.
- smul_map_injective {n₁ n₂ : ℕ} {b : Fin n₁ → Fin n₂} {f : ξ → ζ} (hb : Function.Injective b) (hf : Function.Injective f) : Function.Injective fun (φ : F n₁) => (Rewriting.app (Rew.map b f)) φ
Instances
Imported declaration from the Incompleteness formalization.
- comp_app {n₁ n₂ n₃ : ℕ} (ω₁₂ : Rew L ℕ n₁ ℕ n₂) (ω₂₃ : Rew L ℕ n₂ ℕ n₃) (φ : S n₁) : (Rewriting.app (ω₂₃.comp ω₁₂)) φ = (Rewriting.app ω₂₃) ((Rewriting.app ω₁₂) φ)
- smul_map_injective {n₁ n₂ : ℕ} {b : Fin n₁ → Fin n₂} {f : ℕ → ℕ} (hb : Function.Injective b) (hf : Function.Injective f) : Function.Injective fun (φ : S n₁) => (Rewriting.app (Rew.map b f)) φ
Instances
hom_substs_mbar_zero_comp_shift_eq_free
Imported declaration from the Incompleteness formalization.
Equations
- LO.FirstOrder.LawfulSyntacticRewriting.shiftEmb = { toFun := LO.FirstOrder.Rewriting.shift, inj' := ⋯ }
Instances For
coe_substs_eq_substs_coe
coe_substs_eq_substs_coe₁