Index of values


(>>) [Misc]
Reverse function composition
(>>=) [Misc]
Option monad bind
(|>) [Misc]
Reverse function application
(|>>) [Misc]
Reverse function application and return its argument

A
a_prop_empty [Parsetree]
abs_compare [Exp.Fld]
abs_compare [Exp.Dset]
abs_compare_can_spred [Assertions]
abs_compare_exp [Exp]
abs_fv_uform [Assertions]
Returns existential free variables in a canonical order
act_changes [Assertions]
act_conj [Assertions]
act_name [Assertions]
Return the name of an action
actlr_clear [Commands]
actlr_iter [Commands]
actlr_merge_linear [Commands]
actlr_print [Commands]
actlr_upd [Commands]
add [Exp.Dset]
add [Exp.E]
add_imp_vars [Abstraction]
add_ip_decl [Indpreds]
Raises Indpred_error if an error occurs
add_ip_use [Indpreds]
add_prophecy [Commands]
add_sorted_from [Abstraction]
aggr_kill_garbage_vars [Assertions]
aggr_remove_cform_duplicates [Assertions]
Removes duplicates and combines boxes
all_fields [Symbsimp]
allow_leaks [Assertions]
and_cprop_pure [Assertions]
append [Misc.List]
args [Tycheck]
args [Symbsimp]
args [Prover]
args [Linear]
args [Genarith]
args [Assertions]
args [Actions]
args [Abstraction]
assoc [Misc.List]
assq [Misc.PList]
assq k l raises Not_found if there is no mapping for the key k in the list l
assq [Misc.List]

B
band [Exp.E]
bnot [Exp.E]

C
can_spred_leq [Assertions]
cform_false [Assertions]
cform_of_eform [Genarith]
cform_star [Assertions]
cform_star cf1 cf2 may return None if the result is inconsistent
check_ip_uses [Indpreds]
Raises Indpred_error if an error occurs
check_lockfree [Lockfree]
check_no_inference [Symbsimp]
Check VCs without doing action inference.
check_props [Linear]
Check validity of program specifications.
clarify_cmd [Commands]
cmd_clear_copy [Commands]
Make a deep copy of a command (clear lvs and actions)
cmd_copy [Commands]
Make a deep copy of a command (preserve lvs and actions)
cmd_fcall_concat [Commands]
combine [Misc.PList]
combine [Misc.List]
common [Pure]
common p1 p2 = p such that p1 => p and p2 => p.
common [Misc.PList]
common [Exp.Fld]
common3 [Pure]
compare [Pure]
compare [Exp.Fld]
compare [Exp.Dset]
compare [Exp.Id]
compare_can_spred [Assertions]
compare_cform [Assertions]
compare_component [Misc]
compare_component_cprop [Assertions]
compare_components [Misc]
compare_cprop [Assertions]
compare_exp [Exp]
compare_exp_list [Exp]
compare_uform [Assertions]
component_is_field [Misc]
component_of_string [Misc]
components_equal [Exp.Fld]
components_equal fld1 fld2 returns a conjuction of equalities for each component that is defined in both fld1 and fld2
concat [Misc.List]
conj [Pure]
conj_one [Pure]
cons [Misc.PList]
containing [Exp.Fld]
convert [Tycheck]
Returns (globals, protocols, fun_specifications, resources, res_initializers, fun_proofs)
convert_assume_exp [Convert]
convert_assume_exp fun_ht e returns the statements required to evaluate assume e and assume (not e).
convert_cas_memory_order_se [Convert]
convert_exp [Convert]
Convert a p_expression to a exp.
convert_exp_list_se [Convert]
convert_exp_list_se fun_ht pel stmts returns the read side-effects required for the indirections in pel and a exp list representing pel
convert_exp_se [Convert]
convert_exp_se fun_ht pe stmts returns the read side-effects required for the indirections in pe and a exp representing pe
convert_prop [Convert]
convert_read_memory_order [Convert]
convert_write_memory_order_se [Convert]
cprop_box [Assertions]
cprop_cform [Assertions]
cprop_empty [Assertions]
cprop_false [Assertions]
cprop_or [Assertions]
cprop_pure [Assertions]
cprop_spred [Assertions]
cprop_star [Assertions]
cprop_uform [Assertions]
create [Exp.Id]

D
default_options [Abstraction]
default_prover [Prover]
diff [Exp.Fld]
disable_pure_code_checking [Assertions]
dl_Llink_tag [Misc]
dl_Rlink_tag [Misc]

E
emp [Exp.Fld]
emp [Exp.Dset]
empty_list [Exp.E]
empty_set [Exp.E]
enabled [Genarith]
Is arithmetic program generation enabled?
entails [Pure]
entails pl pl' returns true if pl |- EX exfv(pl'). pl'.
entails_exp [Pure]
entails_exp pl e returns true if pl |- e.
entails_exp_aggr [Pure]
entails_exp_aggr pl e returns true if pl |- e.
eprop_false [Genarith]
eprop_of_cprop [Genarith]
Generic constructor: create a new node for each disjunct
eprop_of_cprop_at_start_node [Genarith]
eprop_or [Genarith]
eprop_star [Genarith]
eprop_star_assume [Genarith]
eq [Exp.E]
eq_length [Pure]
equal_exp [Exp]
equal_pstate [Assertions]
exfv [Pure]
exfv [Exp.E]
fv e s = IdSet.filter is_existential (fv(e)) ++ s
existential_id [Exp]
return true if exp of the form _x
existentials_rename_sub [Exp]
Replace existentials with gensym'd existential vars.
existentials_rename_tonormal_sub [Exp]
Replace existentials with gensym'd normal vars.
exists [Misc.PList]
exists [Misc.List]
exists [Exp.Fld]
exists2 [Misc.List]
exp_fold [Exp]
exp_is_pure [Parsetree]
exp_no_s [Exp]
ext_append_assign [Genarith]
ext_append_case_split [Genarith]
ext_append_comment [Genarith]
ext_append_return [Genarith]
ext_opt_transform1 [Genarith]
ext_transform [Genarith]

F
fast_sort [Misc.List]
fhd [Pure]
fhd [Exp.E]
filter [Pure]
filter [Misc.PList]
filter [Misc.List]
filter [Exp.Fld]
filter [Exp.Dset]
filter_not [Misc.List]
find [Misc.List]
find_all [Misc.List]
findq [Misc.PList]
findq l e x returns the first mapping of x in l; or the default_value e, if there is none.
flatten [Misc.List]
fold [Pure]
fold [Misc.PList]
fold [Misc.List]
fold [Exp.Fld]
fold [Exp.Dset]
fold_append [Misc.List]
fold_cons [Misc.List]
fold_left [Misc.List]
fold_left2 [Misc.List]
fold_right [Misc.List]
fold_right2 [Misc.List]
fold_val [Misc.PList]
fold_val [Exp.Fld]
for_all [Misc.PList]
for_all [Misc.List]
for_all2 [Misc.List]
forall_fv [Exp.E]
form_exfv [Assertions]
form_kill_hd_vars [Assertions]
formatter [Misc]
from_list [Exp.Fld]
from_list [Exp.Dset]
fun1 [Exp.E]
fun2 [Exp.E]
funn [Exp.E]
fv [Pure]
fv [Exp.E]
fv e s = fv(e) ++ s
fv_norm_cprop [Assertions]
Return the non-existential free variables of an assertion

G
gensym_garb [Exp.Id]
gensym_norm [Exp.Id]
gensym_str [Exp.E]
gensym_str [Exp.Id]
gensym_str_ex [Exp.E]
gensym_str_ex [Exp.Id]
get [Exp.Fld]
get_extend [Exp.Fld]
get_first [Misc.PList]
get_set_eqs [Pure]
Return the list of equalities between set expressions in the pure formula.
get_uneql [Pure]
Returns the set of expresssions that are not equal to e in pl

H
has_can_return [Pure]
has_neql [Pure]
has_unsat_eq [Pure]
hasfld [Exp.Fld]
hd [Misc.List]

I
id [Exp.E]
ident_lin_res [Commands]
identical_eq [Pure]
If this returns true then pure1.eq == pure2.eq.
identity [Misc]
The identity function
idpool_combine [Exp]
idpool_combine2 [Exp]
idpool_new [Exp]
ie_fold [Exp]
ie_fold_exp [Exp]
infer [Linear]
infer_actions [Symbsimp]
Executes RGSep action inference.
infer_actions_once [Symbsimp]
Check VCs without doing action inference.
init_ip_env [Indpreds]
insert_kill_dead_vars [Commands]
insert_pure_code [Commands]
insert_pure_code pure_code c copies c and insert pure_code before every atomic_block exit
instance_ip_lhs [Indpreds]
instance_ip_rhs [Indpreds]
inter [Exp.Fld]
inter [Exp.Dset]
inter_num [Exp.Fld]
interfere_once [Assertions]
interfere_once prover act cp calculate the effect of applying interference act to cp.
isLevel [Exp.Id]
is_cprop_empty [Assertions]
is_existential [Exp.Id]
is_false [Pure]
is_lock_field [Misc]
is_no_junk_var [Exp.Id]
is_sat [Pure]
is_true [Pure]
is_value_field [Misc]
item [Exp.E]
items [Exp.E]
iter [Parsetree]
iter f s calls f on each statement in s
iter [Misc.PList]
iter [Misc.List]
iter2 [Misc.List]
iter_val [Misc.PList]
iter_val [Exp.Fld]

J
junk [Exp.Id]

K
kill_can_return [Pure]
Return a weaker assertion that does not have any can_returns.
kill_dead_vars [Assertions]
Kill the variables of cp that are not directly reachable from the set s
kill_garbage_vars [Assertions]
kill_garbage_vars_ufl [Assertions]
kill_vars [Pure]
Return a weaker assertion that does not mention the killed variables.

L
last [Misc.List]
left_mover_optimization [Commands]
length [Misc.PList]
length [Misc.List]
leq [Exp.E]
level [Exp.Id]
lexbuf [Location]
lifted_fold [Misc.PList]
lifted_fold [Misc.List]
lifted_list_conj [Pure]
linear_fun_post [Commands]
linear_fun_pre [Commands]
linear_parse_spec [Commands]
Check that a linearizability specification contains no loops and return its effectful & pure execution paths
linear_symbexe [Symbsimp]
lineno_to_string [Location]
list [Exp.E]
list_conj [Pure]
list_data_tag [Misc]
list_link_tag [Misc]
lock_abstraction_heuristic [Actions]
ltn [Exp.E]

M
make_stable [Actions]
make_stable env cp rely returns a cp' such that cp |- cp' and stable_under cp rely
map [Pure]
map [Misc.List]
map [Exp.Fld]
map [Exp.Dset]
map2 [Misc.List]
map_cform [Assertions]
map_cmd [Commands]
Assumes that variables affected by the substitution are not on LHS of assignments
map_cprop [Assertions]
map_eprop [Genarith]
map_idset [Exp]
map_ip_body [Assertions]
map_option [Misc.List]
map_partial [Misc.List]
map_spat [Assertions]
map_sub [Exp]
map_uform [Assertions]
map_val [Misc.PList]
mark_live_vars [Commands]
mark_live_vars fv_post c updates c in place by marking its live variables at each program point.
mem [Misc.List]
mem [Exp.Fld]
mem [Exp.Dset]
mem_assoc [Misc.List]
mem_assq [Misc.PList]
mem_assq [Misc.List]
mem_exp [Exp]
memq [Misc.List]
merge [Misc.PList]
merge [Misc.List]
mk_abstraction [Abstraction]
Main entry point.
mk_array [Assertions]
mk_assume [Commands]
mk_cmd [Commands]
mk_fun_subst [Exp]
mk_gensym_garb_subst [Exp]
mk_gensym_garb_subst_idset [Exp]
mk_gensym_garb_subst_idset2 [Exp]
mk_guar_env [Actions]
mk_id_subst [Exp]
mk_loop [Commands]
mk_nondet [Commands]
mk_single_subst [Exp]
mk_subst [Exp]
mkloc [Location]
mytid [Exp.Id]

N
naive_map_cform [Assertions]
naive_map_eprop [Genarith]
neq [Exp.E]
new_act_opt [Assertions]
new_acts [Assertions]
Create a new set of actions: new_acts name ctx pre post
new_acts_one [Assertions]
Create a new set of actions: new_acts name pure ctx pre post
new_node [Genarith]
Create a new node
nil [Misc.PList]
no_s [Pure]
no_s [Exp.Fld]
no_s [Exp.Dset]
node_component [Misc]
none [Location]
normalize [Pure]
normalize_aggr [Pure]
normalize_cform [Assertions]
normalize_cform_aggr [Assertions]
normalize_cprop [Assertions]
normalize_uform [Assertions]
not_in_list [Exp.E]
nth [Misc.List]
num [Exp.E]

O
of_exp [Exp.Id]
unsafe constructor
once_in_list [Exp.E]
one [Pure]
one [Exp.Fld]
one [Exp.E]
only_inst_eqs [Pure]

P
partition [Misc.List]
partition [Exp.Dset]
pathDec [Exp.Id]
pathInc [Exp.Id]
pfalse [Pure]
plain_ext_transform [Genarith]
possible_link_fields [Misc]
pp [Pure]
Pretty-print a pure assertion
pp [Misc]
pp_act [Assertions]
pp_actions [Actions]
pp_cform [Assertions]
pp_cmd [Commands]
pp_cprop [Assertions]
pp_eprop [Genarith]
pp_exp [Exp]
pp_exp_list [Exp]
pp_fld [Exp]
pp_function [Genarith]
Pretty print the generated integer program reachable from a node
pp_ident [Exp]
pp_idset [Exp]
pp_linear_annot [Commands]
pp_pstate [Assertions]
pp_spred [Assertions]
pp_uform [Assertions]
print [Location]
print_ip_env [Indpreds]
prop_exfv [Assertions]
Return the existential free variables of an assertion
prop_fv [Assertions]
Return the free variables of an assertion
prop_kill_can_return [Assertions]
prop_to_ip_body [Convert]
prover_calls [Abstraction]
Number of calls to the theorem prover during abstraction
ptrue [Pure]
put_edge_implication [Genarith]
Put an edge from n1 to n2
put_edge_skip [Genarith]
Put an edge from n1 to n2

R
reduce [Misc.List]
reduce_append [Misc.List]
register_guarantee [Actions]
Add action cp_ctx | cp ~~> cq to the guarantee.
remdup_exp [Exp]
remember_result_hack [Actions]
remove [Exp.Fld]
remove [Exp.Dset]
remove_assoc [Misc.List]
remove_assq [Misc.PList]
remove_assq [Misc.List]
remove_cform_duplicates [Assertions]
remove_eform_duplicates [Genarith]
Remove syntactically identical disjuncts (and add edges to the generated arithmetic program where necessary).
remove_eqs [Pure]
remove_uform_duplicates [Assertions]
result [Exp.Id]
rev [Misc.List]
rev_append [Misc.PList]
rev_append [Misc.List]
rev_map [Misc.List]
rev_map2 [Misc.List]
rev_partition [Misc.PList]
rhs_loc [Location]

S
set [Exp.Fld]
set [Exp.E]
simplify [Pure]
Find a simpler pl3 such that pl1 |- pl3 iff pl1 |- pl2.
sort [Misc.List]
sorting_options [Abstraction]
spat_empty [Assertions]
spat_fold [Assertions]
spat_fold_spred [Assertions]
spat_get [Assertions]
spat_one [Assertions]
spat_remove [Assertions]
spat_star [Assertions]
spat_star_one [Assertions]
split [Misc.List]
spred_exfv [Assertions]
spred_fold [Assertions]
spred_fv [Assertions]
Return the free variables of a spatial predicate
sprint [Location]
stabilisation_iterations [Actions]
total number of iterations for all the calls to mk_stable_single
stabilize [Actions]
Compute eq such that ep |- eq and stable_under ep rely
stable_sort [Misc.List]
string_of_component [Misc]
string_of_field_component [Misc]
string_of_sfn [Exp]
string_of_sfn1 [Exp]
string_of_sfn2 [Exp]
string_of_sfn_grp [Exp]
sub [Exp.E]
subset [Exp.Fld]
subset [Exp.Dset]
symbol_loc [Location]

T
tag2_default [Assertions]
tag_default [Assertions]
tempid [Exp.Id]
tid [Exp.E]
tid [Exp.Id]
tl [Misc.List]
to_exp [Pure]
to_list [Exp.Dset]
to_string [Exp.Id]
to_sub [Pure]
tree_data_tag [Misc]
tree_link_tags [Misc]
try_assq [Misc.PList]
try_get [Exp.Fld]
two [Exp.Fld]

U
udom_of_uform_list [Genarith]
uform_empty [Assertions]
uform_false [Assertions]
uform_fhd [Assertions]
uform_list_of_udom [Genarith]
undef [Exp.E]
union [Exp.Fld]
union [Exp.Dset]
unroll_node_lhs [Indpreds]
unroll a node declaration in the lhs
unroll_node_rhs [Indpreds]
unroll a node declaration in the rhs
update_res_ht [Actions]

V
valA_valB_options [Abstraction]
valB_options [Abstraction]
verbose [Symbsimp]
verbose [Prover]
verbose [Linear]
verbose [Actions]
verbose [Abstraction]

X
xor [Exp.E]

Z
zero [Exp.E]
Imprint | Data protection