{ [eq,L:Top].
    (rec-case(L) of
     [] =[]
     a::_ =>
      r.[a / 
         rec-case(r) of
         [] =[]
         a@0::_ =>
          r.if eq a@0 a then r else [a@0 / r] fi ] ~ remove-repeats(eq;L)) }

{ Proof }



Definitions occuring in Statement :  ifthenelse: if b then t else f fi  uall: [x:A]. B[x] top: Top apply: f a list_ind: list_ind def cons: [car / cdr] nil: [] sqequal: s ~ t remove-repeats: remove-repeats(eq;L)
Definitions :  uall: [x:A]. B[x] ifthenelse: if b then t else f fi  remove-repeats: remove-repeats(eq;L) member: t  T filter: filter(P;l) bnot: b reduce: reduce(f;k;as) bfalse: ff btrue: tt
Lemmas :  top_wf

\mforall{}[eq,L:Top].
    (rec-case(L)  of
      []  =>  []
      a::$_{}$  =>
        r.[a  /  rec-case(r)  of  []  =>  []  |  a@0::$_{}$  =>  r.if  eq  a@0  a  then  r  else  [a@\000C0  /  r]  fi  ] 
    \msim{}  remove-repeats(eq;L))


Date html generated: 2011_08_10-AM-07_52_53
Last ObjectModification: 2011_06_18-AM-08_14_50

Home Index