Step
*
1
2
of Lemma
nth_tl-es-before
1. es : EO
2. e : E@i
3. n : ℕ||before(e)||@i
4. ¬↑first(e)
5. ∀n:ℕ||before(pred(e))||
     (nth_tl(n;before(pred(e))) = filter(λa.before(pred(e))[n] ≤loc a;before(pred(e))) ∈ (E List))
6. ||before(pred(e))|| ≤ n
⊢ nth_tl(n - ||before(pred(e))||;[pred(e)])
= (filter(λa.before(pred(e)) @ [pred(e)][n] ≤loc a;before(pred(e)))
  @ if before(pred(e)) @ [pred(e)][n] ≤loc pred(e) then [pred(e)] else [] fi )
∈ (E List)
BY
{ (Assert n = ||before(pred(e))|| ∈ ℤ BY
         (RecUnfold `es-before` 3 THEN SplitOnHypITE 3  THEN Auto')) }
1
1. es : EO
2. e : E@i
3. n : ℕ||before(e)||@i
4. ¬↑first(e)
5. ∀n:ℕ||before(pred(e))||
     (nth_tl(n;before(pred(e))) = filter(λa.before(pred(e))[n] ≤loc a;before(pred(e))) ∈ (E List))
6. ||before(pred(e))|| ≤ n
7. n = ||before(pred(e))|| ∈ ℤ
⊢ nth_tl(n - ||before(pred(e))||;[pred(e)])
= (filter(λa.before(pred(e)) @ [pred(e)][n] ≤loc a;before(pred(e)))
  @ if before(pred(e)) @ [pred(e)][n] ≤loc pred(e) then [pred(e)] else [] fi )
∈ (E List)
Latex:
1.  es  :  EO
2.  e  :  E@i
3.  n  :  \mBbbN{}||before(e)||@i
4.  \mneg{}\muparrow{}first(e)
5.  \mforall{}n:\mBbbN{}||before(pred(e))||
          (nth\_tl(n;before(pred(e)))  =  filter(\mlambda{}a.before(pred(e))[n]  \mleq{}loc  a;before(pred(e))))
6.  ||before(pred(e))||  \mleq{}  n
\mvdash{}  nth\_tl(n  -  ||before(pred(e))||;[pred(e)])
=  (filter(\mlambda{}a.before(pred(e))  @  [pred(e)][n]  \mleq{}loc  a;before(pred(e)))
    @  if  before(pred(e))  @  [pred(e)][n]  \mleq{}loc  pred(e)  then  [pred(e)]  else  []  fi  )
By
(Assert  n  =  ||before(pred(e))||  BY
              (RecUnfold  `es-before`  3  THEN  SplitOnHypITE  3    THEN  Auto'))
Home
Index