Thm* l:St*, eq:(St
St
).
(
x,y:St. eq(x,y)
x = y)
(
s:St. mem_f(St;s;l)
mem_f(St;s;LShort(l)))
lshort_mem
Thm* l:St*, s:St, eq:(St
St
), sx:St.
mem_f(St;sx;l \ s)
if eq(s,sx)
False else mem_f(St;sx;l) fi
lremove_mem
Thm* l:St*, f:(St
St), s:St.
mem_f(St;s;(+f)(l))
mem_f(St;s;l)
(
s':St. mem_f(St;s';l) & f(s') = s)
add_action_mem
Thm* L1,L2:T*, t:T. mem_f(T;t;L1 @ L2)
mem_f(T;t;L1)
mem_f(T;t;L2)
mem_append
In prior sections: core fun 1 well fnd int 1 bool 1 int 2 list 1 finite sets