Theorem: LO.FirstOrder.Semiformula.rewrite_primrec (Logic/FirstOrder/Computability/Formula.lean)

State before:
L : Language
μ : Type v
α : Type u_1
inst✝⁸ : Primcodable α
inst✝⁷ : Primcodable μ
inst✝⁶ : (k : ℕ) → Primcodable (L.Func k)
inst✝⁵ : UniformlyPrimcodable L.Func
inst✝⁴ : (k : ℕ) → Primcodable (L.Rel k)
inst✝³ : UniformlyPrimcodable L.Rel
σ : Type u_2
μ₁ : Type u_3
μ₂ : Type u_4
inst✝² : Primcodable μ₁
inst✝¹ : Primcodable μ₂
inst✝ : Primcodable σ
k n : ℕ
this : Primrec₂ fun v p => (Rew.bind (fun x => #x) v).hom p
⊢ Primrec₂ fun v p => (Rew.rewrite v).hom p
Tactic:
exact this.of_eq <| by intro v p; rfl
State after:
no goals

State before:
L : Language
μ : Type v
α : Type u_1
inst✝⁸ : Primcodable α
inst✝⁷ : Primcodable μ
inst✝⁶ : (k : ℕ) → Primcodable (L.Func k)
inst✝⁵ : UniformlyPrimcodable L.Func
inst✝⁴ : (k : ℕ) → Primcodable (L.Rel k)
inst✝³ : UniformlyPrimcodable L.Rel
σ : Type u_2
μ₁ : Type u_3
μ₂ : Type u_4
inst✝² : Primcodable μ₁
inst✝¹ : Primcodable μ₂
inst✝ : Primcodable σ
k n : ℕ
this : Primrec₂ fun v p => (Rew.bind (fun x => #x) v).hom p
⊢ ∀ (a : Fin k → Semiterm L μ n) (b : Semiformula L (Fin k) n), (Rew.bind (fun x => #x) a).hom b = (Rew.rewrite a).hom b
Tactic:
intro v p
State after:
L : Language
μ : Type v
α : Type u_1
inst✝⁸ : Primcodable α
inst✝⁷ : Primcodable μ
inst✝⁶ : (k : ℕ) → Primcodable (L.Func k)
inst✝⁵ : UniformlyPrimcodable L.Func
inst✝⁴ : (k : ℕ) → Primcodable (L.Rel k)
inst✝³ : UniformlyPrimcodable L.Rel
σ : Type u_2
μ₁ : Type u_3
μ₂ : Type u_4
inst✝² : Primcodable μ₁
inst✝¹ : Primcodable μ₂
inst✝ : Primcodable σ
k n : ℕ
this : Primrec₂ fun v p => (Rew.bind (fun x => #x) v).hom p
v : Fin k → Semiterm L μ n
p : Semiformula L (Fin k) n
⊢ (Rew.bind (fun x => #x) v).hom p = (Rew.rewrite v).hom p

State before:
L : Language
μ : Type v
α : Type u_1
inst✝⁸ : Primcodable α
inst✝⁷ : Primcodable μ
inst✝⁶ : (k : ℕ) → Primcodable (L.Func k)
inst✝⁵ : UniformlyPrimcodable L.Func
inst✝⁴ : (k : ℕ) → Primcodable (L.Rel k)
inst✝³ : UniformlyPrimcodable L.Rel
σ : Type u_2
μ₁ : Type u_3
μ₂ : Type u_4
inst✝² : Primcodable μ₁
inst✝¹ : Primcodable μ₂
inst✝ : Primcodable σ
k n : ℕ
this : Primrec₂ fun v p => (Rew.bind (fun x => #x) v).hom p
v : Fin k → Semiterm L μ n
p : Semiformula L (Fin k) n
⊢ (Rew.bind (fun x => #x) v).hom p = (Rew.rewrite v).hom p
Tactic:
rfl
State after:
no goals