Theorem: LO.FirstOrder.Semiterm.fvEnumInv_fvEnum (Logic/FirstOrder/Basic/Syntax/Term.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₃ : ℕ
inst✝² inst✝¹ : DecidableEq ξ
inst✝ : Inhabited ξ
t : Semiterm L ξ n
x : ξ
hx : x ∈ t.fvarList
⊢ t.fvEnumInv (t.fvEnum x) = x
Tactic:
simp [fvEnumInv, fvEnum]
State after:
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₃ : ℕ
inst✝² inst✝¹ : DecidableEq ξ
inst✝ : Inhabited ξ
t : Semiterm L ξ n
x : ξ
hx : x ∈ t.fvarList
⊢ t.fvarList.length ≤ List.indexOf x t.fvarList → default = x

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₃ : ℕ
inst✝² inst✝¹ : DecidableEq ξ
inst✝ : Inhabited ξ
t : Semiterm L ξ n
x : ξ
hx : x ∈ t.fvarList
⊢ t.fvarList.length ≤ List.indexOf x t.fvarList → default = x
Tactic:
intro h
State after:
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₃ : ℕ
inst✝² inst✝¹ : DecidableEq ξ
inst✝ : Inhabited ξ
t : Semiterm L ξ n
x : ξ
hx : x ∈ t.fvarList
h : t.fvarList.length ≤ List.indexOf x t.fvarList
⊢ default = x

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₃ : ℕ
inst✝² inst✝¹ : DecidableEq ξ
inst✝ : Inhabited ξ
t : Semiterm L ξ n
x : ξ
hx : x ∈ t.fvarList
h : t.fvarList.length ≤ List.indexOf x t.fvarList
⊢ default = x
Tactic:
exact False.elim <| not_le.mpr (List.indexOf_lt_length.mpr $ hx) h
State after:
no goals