Indpred_error
assq k l
Not_found
k
l
cform_star cf1 cf2
None
common p1 p2 = p
p1 => p
p2 => p
components_equal fld1 fld2
fld1
fld2
(globals, protocols, fun_specifications, resources, res_initializers, fun_proofs)
convert_assume_exp fun_ht e
assume e
assume (not e)
p_expression
exp
convert_exp_list_se fun_ht pel stmts
pel
exp list
convert_exp_se fun_ht pe stmts
pe
entails pl pl'
true
pl |- EX exfv(pl'). pl'
entails_exp pl e
pl |- e
entails_exp_aggr pl e
fv e s = IdSet.filter is_existential (fv(e)) ++ s
findq l e x
x
e
fv e s = fv(e) ++ s
pure1.eq == pure2.eq
insert_pure_code pure_code c
c
pure_code
interfere_once prover act cp
act
cp
iter f s
f
s
can_return
make_stable env cp rely
cp'
cp |- cp'
stable_under cp rely
mark_live_vars fv_post c
new_acts name ctx pre post
new_acts name pure ctx pre post
n1
n2
cp_ctx | cp ~~> cq
pl3
pl1 |- pl3
pl1 |- pl2
eq
ep |- eq
stable_under ep rely