Theorem: LO.FirstOrder.Semiformula.fvEnumInv_fvEnum (Logic/FirstOrder/Basic/Syntax/Formula.lean)

State before:
L✝ : Language
ξ✝ : Type u_1
n n₁ n₂✝ n₂ m m₁ m₂ m₃ : ℕ
L : Language
L₁ : Language
L₂ : Language
L₃ : Language
ξ : Type u_2
Φ : L₁ →ᵥ L₂
inst✝¹ : DecidableEq ξ
inst✝ : Inhabited ξ
p : Semiformula L ξ n
x : ξ
hx : x ∈ p.fvarList
⊢ p.fvEnumInv (p.fvEnum x) = x
Tactic:
simp [fvEnumInv, fvEnum]
State after:
L✝ : Language
ξ✝ : Type u_1
n n₁ n₂✝ n₂ m m₁ m₂ m₃ : ℕ
L : Language
L₁ : Language
L₂ : Language
L₃ : Language
ξ : Type u_2
Φ : L₁ →ᵥ L₂
inst✝¹ : DecidableEq ξ
inst✝ : Inhabited ξ
p : Semiformula L ξ n
x : ξ
hx : x ∈ p.fvarList
⊢ p.fvarList.length ≤ List.indexOf x p.fvarList → default = x

State before:
L✝ : Language
ξ✝ : Type u_1
n n₁ n₂✝ n₂ m m₁ m₂ m₃ : ℕ
L : Language
L₁ : Language
L₂ : Language
L₃ : Language
ξ : Type u_2
Φ : L₁ →ᵥ L₂
inst✝¹ : DecidableEq ξ
inst✝ : Inhabited ξ
p : Semiformula L ξ n
x : ξ
hx : x ∈ p.fvarList
⊢ p.fvarList.length ≤ List.indexOf x p.fvarList → default = x
Tactic:
intro h
State after:
L✝ : Language
ξ✝ : Type u_1
n n₁ n₂✝ n₂ m m₁ m₂ m₃ : ℕ
L : Language
L₁ : Language
L₂ : Language
L₃ : Language
ξ : Type u_2
Φ : L₁ →ᵥ L₂
inst✝¹ : DecidableEq ξ
inst✝ : Inhabited ξ
p : Semiformula L ξ n
x : ξ
hx : x ∈ p.fvarList
h : p.fvarList.length ≤ List.indexOf x p.fvarList
⊢ default = x

State before:
L✝ : Language
ξ✝ : Type u_1
n n₁ n₂✝ n₂ m m₁ m₂ m₃ : ℕ
L : Language
L₁ : Language
L₂ : Language
L₃ : Language
ξ : Type u_2
Φ : L₁ →ᵥ L₂
inst✝¹ : DecidableEq ξ
inst✝ : Inhabited ξ
p : Semiformula L ξ n
x : ξ
hx : x ∈ p.fvarList
h : p.fvarList.length ≤ List.indexOf x p.fvarList
⊢ default = x
Tactic:
exact False.elim <| not_le.mpr (List.indexOf_lt_length.mpr hx) h
State after:
no goals