Theorem: SciLean.ArrayType.neg_ofFn (SciLean/Data/ArrayType/Basic.lean)

State before:
Cont : Type u_2
Idx : outParam (Type u_3)
Elem : outParam (Type u_1)
inst✝⁴ : IndexType Idx
inst✝³ : outParam (DecidableEq Idx)
inst✝² : LawfulIndexType Idx
inst✝¹ : ArrayType Cont Idx Elem
inst✝ : Neg Elem
f : Idx → Elem
⊢ -Indexed.ofFn f = Indexed.ofFn fun i => -f i
Tactic:
apply ArrayType.ext (Idx:=Idx)
State after:
case a
Cont : Type u_2
Idx : outParam (Type u_3)
Elem : outParam (Type u_1)
inst✝⁴ : IndexType Idx
inst✝³ : outParam (DecidableEq Idx)
inst✝² : LawfulIndexType Idx
inst✝¹ : ArrayType Cont Idx Elem
inst✝ : Neg Elem
f : Idx → Elem
⊢ ∀ (i : Idx), (-Indexed.ofFn f)[i] = (Indexed.ofFn fun i => -f i)[i]

State before:
case a
Cont : Type u_2
Idx : outParam (Type u_3)
Elem : outParam (Type u_1)
inst✝⁴ : IndexType Idx
inst✝³ : outParam (DecidableEq Idx)
inst✝² : LawfulIndexType Idx
inst✝¹ : ArrayType Cont Idx Elem
inst✝ : Neg Elem
f : Idx → Elem
⊢ ∀ (i : Idx), (-Indexed.ofFn f)[i] = (Indexed.ofFn fun i => -f i)[i]
Tactic:
simp[Neg.neg]
State after:
no goals