Step
*
of Lemma
last-mapfilter
∀[T:Type]. ∀[f:Top]. ∀[P:T ⟶ 𝔹]. ∀[L:T List].
  (last(mapfilter(f;P;L)) ~ if null(filter(P;L)) then ⊥ else f last(filter(P;L)) fi )
BY
{ (InductionOnList
   THEN Try ((RepUR ``mapfilter last`` 0 THEN Trivial)⋅)
   THEN RepUR ``mapfilter`` 0⋅
   THEN AutoSplit
   THEN Fold `mapfilter` 0
   THEN Try (Trivial)
   THEN (RWO "last-cons" 0  THENA Try (Complete (Auto)))) }
1
1. T : Type
2. f : Top
3. P : T ⟶ 𝔹
4. u : T
5. v : T List
6. last(mapfilter(f;P;v)) ~ if null(filter(P;v)) then ⊥ else f last(filter(P;v)) fi 
7. ↑(P u)
⊢ if null(mapfilter(f;P;v)) then f u else last(mapfilter(f;P;v)) fi  ~ f 
                                                                       if null(filter(P;v))
                                                                       then u
                                                                       else last(filter(P;v))
                                                                       fi 
Latex:
Latex:
\mforall{}[T:Type].  \mforall{}[f:Top].  \mforall{}[P:T  {}\mrightarrow{}  \mBbbB{}].  \mforall{}[L:T  List].
    (last(mapfilter(f;P;L))  \msim{}  if  null(filter(P;L))  then  \mbot{}  else  f  last(filter(P;L))  fi  )
By
Latex:
(InductionOnList
  THEN  Try  ((RepUR  ``mapfilter  last``  0  THEN  Trivial)\mcdot{})
  THEN  RepUR  ``mapfilter``  0\mcdot{}
  THEN  AutoSplit
  THEN  Fold  `mapfilter`  0
  THEN  Try  (Trivial)
  THEN  (RWO  "last-cons"  0    THENA  Try  (Complete  (Auto))))
Home
Index