Step
*
2
of Lemma
member_firstn
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)))
BY
{ (((D 0 THENA Auto) THEN SplitOnConclITE) THENA Auto) }
1
.....truecase..... 
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)))
5. n : ℕ
6. 0 < n
⊢ ∀x@0:T. ((x@0 ∈ [u / firstn(n - 1;v)]) 
⇐⇒ ∃i:ℕ. ((i < n ∧ i < ||v|| + 1) ∧ (x@0 = [u / v][i] ∈ T)))
2
.....falsecase..... 
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)))
5. n : ℕ
6. n ≤ 0
⊢ ∀x:T. ((x ∈ []) 
⇐⇒ ∃i:ℕ. ((i < n ∧ i < ||v|| + 1) ∧ (x = [u / v][i] ∈ T)))
Latex:
Latex:
1.  [T]  :  Type
2.  u  :  T
3.  v  :  T  List
4.  \mforall{}n:\mBbbN{}.  \mforall{}x:T.    ((x  \mmember{}  firstn(n;v))  \mLeftarrow{}{}\mRightarrow{}  \mexists{}i:\mBbbN{}.  ((i  <  n  \mwedge{}  i  <  ||v||)  \mwedge{}  (x  =  v[i])))
\mvdash{}  \mforall{}n:\mBbbN{}.  \mforall{}x:T.
        ((x  \mmember{}  if  0  <z  n  then  [u  /  firstn(n  -  1;v)]  else  []  fi  )
        \mLeftarrow{}{}\mRightarrow{}  \mexists{}i:\mBbbN{}.  ((i  <  n  \mwedge{}  i  <  ||v||  +  1)  \mwedge{}  (x  =  [u  /  v][i])))
By
Latex:
(((D  0  THENA  Auto)  THEN  SplitOnConclITE)  THENA  Auto)
Home
Index