Step * of Lemma reduce-mapfilter

[f1,x:Top]. ∀[T,A:Type]. ∀[as:T List]. ∀[P:{a:T| (a ∈ as)}  ⟶ 𝔹]. ∀[f2:{a:T| (a ∈ as) ∧ (↑(P a))}  ⟶ A].
  (reduce(f1;x;mapfilter(f2;P;as)) reduce(λu,z. if then f1 (f2 u) else fi ;x;as))
BY
((UnivCD THENA Auto)
   THEN ListInd (-3)
   THEN RepUR ``mapfilter`` 0
   THEN (RepeatFor ((D THENA Auto))
         THEN Try (Trivial)
         THEN (InstHyp [⌜P⌝;⌜f2⌝(-3)⋅ THENA Auto)
         THEN RepUR ``mapfilter`` -1
         THEN (AutoBoolCase ⌜u⌝⋅ THENA Auto))⋅}


Latex:


Latex:
\mforall{}[f1,x:Top].  \mforall{}[T,A:Type].  \mforall{}[as:T  List].  \mforall{}[P:\{a:T|  (a  \mmember{}  as)\}    {}\mrightarrow{}  \mBbbB{}].
\mforall{}[f2:\{a:T|  (a  \mmember{}  as)  \mwedge{}  (\muparrow{}(P  a))\}    {}\mrightarrow{}  A].
    (reduce(f1;x;mapfilter(f2;P;as))  \msim{}  reduce(\mlambda{}u,z.  if  P  u  then  f1  (f2  u)  z  else  z  fi  ;x;as))


By


Latex:
((UnivCD  THENA  Auto)
  THEN  ListInd  (-3)
  THEN  RepUR  ``mapfilter``  0
  THEN  (RepeatFor  2  ((D  0  THENA  Auto))
              THEN  Try  (Trivial)
              THEN  (InstHyp  [\mkleeneopen{}P\mkleeneclose{};\mkleeneopen{}f2\mkleeneclose{}]  (-3)\mcdot{}  THENA  Auto)
              THEN  RepUR  ``mapfilter``  -1
              THEN  (AutoBoolCase  \mkleeneopen{}P  u\mkleeneclose{}\mcdot{}  THENA  Auto))\mcdot{})




Home Index