|   | Who Cites mapfilter? | 
 | 
| mapfilter | Def mapfilter(f;P;L) == map(f;filter(P;L)) | 
 | |   | Thm*  T:Type, P:(T   ), T':Type, f:({x:T| P(x) }  T'), L:T List.
 Thm* mapfilter(f;P;L)   T' List | 
 | 
| filter | Def filter(P;l) == reduce( a,v. if P(a)  [a / v] else v fi;nil;l) | 
 | |   | Thm*  T:Type, P:(T   ), l:T List. filter(P;l)   T List | 
 | 
| map | Def map(f;as) == Case of as; nil   nil ; a.as'   [(f(a)) / map(f;as')]
 Def (recursive) | 
 | |   | Thm*  A,B:Type, f:(A  B), l:A List. map(f;l)   B List | 
 | |   | Thm*  A,B:Type, f:(A  B), l:A List . map(f;l)   B List  | 
 | 
| reduce | Def reduce(f;k;as) == Case of as; nil   k ; a.as'   f(a,reduce(f;k;as'))
 Def (recursive) | 
 | |   | Thm*  A,B:Type, f:(A  B  B), k:B, as:A List. reduce(f;k;as)   B |