Step
*
of Lemma
first_index-positive
∀[T:Type]. ∀P:T ⟶ 𝔹. ∀L:T List. (0 < index-of-first x in L.P[x]
⇐⇒ (∃x∈L. ↑P[x]))
BY
{ ((UnivCD THENA Auto)
THEN Unfold `first_index` 0
THEN (InstLemma `search_property` [⌜||L||⌝;⌜λi.P[L[i]]⌝]⋅ THENA (Auto THEN Auto'))
THEN Reduce (-1)
THEN D -1
THEN (RWO "-2<" 0 THENA Auto)
THEN All Thin) }
1
1. [T] : Type
2. P : T ⟶ 𝔹@i
3. L : T List@i
⊢ ∃i:ℕ||L||. (↑P[L[i]])
⇐⇒ (∃x∈L. ↑P[x])
Latex:
Latex:
\mforall{}[T:Type]. \mforall{}P:T {}\mrightarrow{} \mBbbB{}. \mforall{}L:T List. (0 < index-of-first x in L.P[x] \mLeftarrow{}{}\mRightarrow{} (\mexists{}x\mmember{}L. \muparrow{}P[x]))
By
Latex:
((UnivCD THENA Auto)
THEN Unfold `first\_index` 0
THEN (InstLemma `search\_property` [\mkleeneopen{}||L||\mkleeneclose{};\mkleeneopen{}\mlambda{}i.P[L[i]]\mkleeneclose{}]\mcdot{} THENA (Auto THEN Auto'))
THEN Reduce (-1)
THEN D -1
THEN (RWO "-2<" 0 THENA Auto)
THEN All Thin)
Home
Index