{ 
[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