{ [P,L:Top].
    (rec-case(L) of
     [] =[]
     a::_ =>
      r.if P[a] then [a / r] else r fi  ~ filter(a.P[a];L)) }

{ Proof }



Definitions occuring in Statement :  ifthenelse: if b then t else f fi  uall: [x:A]. B[x] top: Top so_apply: x[s] lambda: x.A[x] list_ind: list_ind def cons: [car / cdr] nil: [] sqequal: s ~ t filter: filter(P;l)
Definitions :  uall: [x:A]. B[x] ifthenelse: if b then t else f fi  so_apply: x[s] filter: filter(P;l) member: t  T reduce: reduce(f;k;as)
Lemmas :  top_wf

\mforall{}[P,L:Top].
    (rec-case(L)  of
      []  =>  []
      a::$_{}$  =>
        r.if  P[a]  then  [a  /  r]  else  r  fi    \msim{}  filter(\mlambda{}a.P[a];L))


Date html generated: 2011_08_10-AM-07_52_51
Last ObjectModification: 2011_06_18-AM-08_14_48

Home Index