Step
*
of Lemma
member_firstn
∀[T:Type]. ∀L:T List. ∀n:ℕ. ∀x:T.  ((x ∈ firstn(n;L)) 
⇐⇒ ∃i:ℕ. ((i < n ∧ i < ||L||) ∧ (x = L[i] ∈ T)))
BY
{ (InductionOnList THEN RecUnfold `firstn` 0 THEN Reduce 0) }
1
1. [T] : Type
⊢ ∀n:ℕ. ∀x:T.  ((x ∈ []) 
⇐⇒ ∃i:ℕ. ((i < n ∧ i < 0) ∧ (x = ⊥ ∈ T)))
2
1. [T] : Type
2. u : T
3. v : T List
4. ∀n:ℕ. ∀x:T.  ((x ∈ firstn(n;v)) 
⇐⇒ ∃i:ℕ. ((i < n ∧ i < ||v||) ∧ (x = v[i] ∈ T)))
⊢ ∀n:ℕ. ∀x:T.
    ((x ∈ if 0 <z n then [u / firstn(n - 1;v)] else [] fi ) 
⇐⇒ ∃i:ℕ. ((i < n ∧ i < ||v|| + 1) ∧ (x = [u / v][i] ∈ T)))
Latex:
Latex:
\mforall{}[T:Type].  \mforall{}L:T  List.  \mforall{}n:\mBbbN{}.  \mforall{}x:T.    ((x  \mmember{}  firstn(n;L))  \mLeftarrow{}{}\mRightarrow{}  \mexists{}i:\mBbbN{}.  ((i  <  n  \mwedge{}  i  <  ||L||)  \mwedge{}  (x  =  L[i])))
By
Latex:
(InductionOnList  THEN  RecUnfold  `firstn`  0  THEN  Reduce  0)
Home
Index