Step
*
2
2
of Lemma
lastn-as-accum
1. A : Type
2. n : ℤ
3. u : A
4. v : A List
5. ¬(n ≤ 0)
⊢ lastn(n;[u / v]) ~ accumulate (with value b and list item x):
                      if ||b|| <z n then b @ [x] else tl(b @ [x]) fi 
                     over list:
                       v
                     with starting value:
                      if 0 <z n then [u] else [] fi )
BY
{ (SplitOnConclITE THENA Auto) }
1
.....truecase..... 
1. A : Type
2. n : ℤ
3. u : A
4. v : A List
5. ¬(n ≤ 0)
6. 0 < n
⊢ lastn(n;[u / v]) ~ accumulate (with value b and list item x):
                      if ||b|| <z n then b @ [x] else tl(b @ [x]) fi 
                     over list:
                       v
                     with starting value:
                      [u])
2
.....falsecase..... 
1. A : Type
2. n : ℤ
3. u : A
4. v : A List
5. ¬(n ≤ 0)
6. n ≤ 0
⊢ lastn(n;[u / v]) ~ accumulate (with value b and list item x):
                      if ||b|| <z n then b @ [x] else tl(b @ [x]) fi 
                     over list:
                       v
                     with starting value:
                      [])
Latex:
Latex:
1.  A  :  Type
2.  n  :  \mBbbZ{}
3.  u  :  A
4.  v  :  A  List
5.  \mneg{}(n  \mleq{}  0)
\mvdash{}  lastn(n;[u  /  v])  \msim{}  accumulate  (with  value  b  and  list  item  x):
                                            if  ||b||  <z  n  then  b  @  [x]  else  tl(b  @  [x])  fi 
                                          over  list:
                                              v
                                          with  starting  value:
                                            if  0  <z  n  then  [u]  else  []  fi  )
By
Latex:
(SplitOnConclITE  THENA  Auto)
Home
Index