Theorem: LO.FirstOrder.Rew.q_embSubsts (Logic/FirstOrder/Basic/Syntax/Rew.lean)

State before:
L : Language
L' : Language
L₁ : Language
L₂ : Language
L₃ : Language
ξ : Type u_1
ξ' : Type u_2
ξ₁ : Type u_3
ξ₂ : Type u_4
ξ₃ : Type u_5
n n₁ n₂ n₃ : ℕ
ω✝ ω : Rew L ξ₁ n₁ ξ₂ n₂
k : ℕ
w : Fin k → Semiterm L ξ n
⊢ (embSubsts w).q = embSubsts (#0 :> ⇑bShift ∘ w)
Tactic:
ext x
State after:
case hb
L : Language
L' : Language
L₁ : Language
L₂ : Language
L₃ : Language
ξ : Type u_1
ξ' : Type u_2
ξ₁ : Type u_3
ξ₂ : Type u_4
ξ₃ : Type u_5
n n₁ n₂ n₃ : ℕ
ω✝ ω : Rew L ξ₁ n₁ ξ₂ n₂
k : ℕ
w : Fin k → Semiterm L ξ n
x : Fin (k + 1)
⊢ (embSubsts w).q #x = (embSubsts (#0 :> ⇑bShift ∘ w)) #x

case hf
L : Language
L' : Language
L₁ : Language
L₂ : Language
L₃ : Language
ξ : Type u_1
ξ' : Type u_2
ξ₁ : Type u_3
ξ₂ : Type u_4
ξ₃ : Type u_5
n n₁ n₂ n₃ : ℕ
ω✝ ω : Rew L ξ₁ n₁ ξ₂ n₂
k : ℕ
w : Fin k → Semiterm L ξ n
x : Empty
⊢ (embSubsts w).q &x = (embSubsts (#0 :> ⇑bShift ∘ w)) &x

State before:
case hb
L : Language
L' : Language
L₁ : Language
L₂ : Language
L₃ : Language
ξ : Type u_1
ξ' : Type u_2
ξ₁ : Type u_3
ξ₂ : Type u_4
ξ₃ : Type u_5
n n₁ n₂ n₃ : ℕ
ω✝ ω : Rew L ξ₁ n₁ ξ₂ n₂
k : ℕ
w : Fin k → Semiterm L ξ n
x : Fin (k + 1)
⊢ (embSubsts w).q #x = (embSubsts (#0 :> ⇑bShift ∘ w)) #x

case hf
L : Language
L' : Language
L₁ : Language
L₂ : Language
L₃ : Language
ξ : Type u_1
ξ' : Type u_2
ξ₁ : Type u_3
ξ₂ : Type u_4
ξ₃ : Type u_5
n n₁ n₂ n₃ : ℕ
ω✝ ω : Rew L ξ₁ n₁ ξ₂ n₂
k : ℕ
w : Fin k → Semiterm L ξ n
x : Empty
⊢ (embSubsts w).q &x = (embSubsts (#0 :> ⇑bShift ∘ w)) &x
Tactic:
{ cases x using Fin.cases <;> simp }
State after:
case hf
L : Language
L' : Language
L₁ : Language
L₂ : Language
L₃ : Language
ξ : Type u_1
ξ' : Type u_2
ξ₁ : Type u_3
ξ₂ : Type u_4
ξ₃ : Type u_5
n n₁ n₂ n₃ : ℕ
ω✝ ω : Rew L ξ₁ n₁ ξ₂ n₂
k : ℕ
w : Fin k → Semiterm L ξ n
x : Empty
⊢ (embSubsts w).q &x = (embSubsts (#0 :> ⇑bShift ∘ w)) &x

State before:
case hf
L : Language
L' : Language
L₁ : Language
L₂ : Language
L₃ : Language
ξ : Type u_1
ξ' : Type u_2
ξ₁ : Type u_3
ξ₂ : Type u_4
ξ₃ : Type u_5
n n₁ n₂ n₃ : ℕ
ω✝ ω : Rew L ξ₁ n₁ ξ₂ n₂
k : ℕ
w : Fin k → Semiterm L ξ n
x : Empty
⊢ (embSubsts w).q &x = (embSubsts (#0 :> ⇑bShift ∘ w)) &x
Tactic:
{ simp; exact Empty.elim x }
State after:
no goals

State before:
case hb
L : Language
L' : Language
L₁ : Language
L₂ : Language
L₃ : Language
ξ : Type u_1
ξ' : Type u_2
ξ₁ : Type u_3
ξ₂ : Type u_4
ξ₃ : Type u_5
n n₁ n₂ n₃ : ℕ
ω✝ ω : Rew L ξ₁ n₁ ξ₂ n₂
k : ℕ
w : Fin k → Semiterm L ξ n
x : Fin (k + 1)
⊢ (embSubsts w).q #x = (embSubsts (#0 :> ⇑bShift ∘ w)) #x
Tactic:
cases x using Fin.cases <;> simp
State after:
no goals

State before:
case hf
L : Language
L' : Language
L₁ : Language
L₂ : Language
L₃ : Language
ξ : Type u_1
ξ' : Type u_2
ξ₁ : Type u_3
ξ₂ : Type u_4
ξ₃ : Type u_5
n n₁ n₂ n₃ : ℕ
ω✝ ω : Rew L ξ₁ n₁ ξ₂ n₂
k : ℕ
w : Fin k → Semiterm L ξ n
x : Empty
⊢ (embSubsts w).q &x = (embSubsts (#0 :> ⇑bShift ∘ w)) &x
Tactic:
simp
State after:
case hf
L : Language
L' : Language
L₁ : Language
L₂ : Language
L₃ : Language
ξ : Type u_1
ξ' : Type u_2
ξ₁ : Type u_3
ξ₂ : Type u_4
ξ₃ : Type u_5
n n₁ n₂ n₃ : ℕ
ω✝ ω : Rew L ξ₁ n₁ ξ₂ n₂
k : ℕ
w : Fin k → Semiterm L ξ n
x : Empty
⊢ bShift ((embSubsts w) &x) = (embSubsts (#0 :> ⇑bShift ∘ w)) &x

State before:
case hf
L : Language
L' : Language
L₁ : Language
L₂ : Language
L₃ : Language
ξ : Type u_1
ξ' : Type u_2
ξ₁ : Type u_3
ξ₂ : Type u_4
ξ₃ : Type u_5
n n₁ n₂ n₃ : ℕ
ω✝ ω : Rew L ξ₁ n₁ ξ₂ n₂
k : ℕ
w : Fin k → Semiterm L ξ n
x : Empty
⊢ bShift ((embSubsts w) &x) = (embSubsts (#0 :> ⇑bShift ∘ w)) &x
Tactic:
exact Empty.elim x
State after:
no goals