# set the verbose level of
set verbose_level 1

# read in a model
read_model -i gigamax.smv

# instantiate the model
flatten_hierarchy

# build the BDD variables reading the ordering of variables from file
# gigamax.ord 
encode_variables -i gigamax.ord

# build the transition relation using Conjunctive method, and set the
# default partitioning method to Conjunctive.
build_model -f -m Threshold

# compute the set of reachable states using the Conjunctive method.
compute_reachable

set partition_method Iwls95CP

# check the specification contained in the read file
check_spec

set partition_method Monolithic

# check the specification 
check_spec -p "AG (p0.writable & p1.writable)"

# navigate the counterexample
goto_state 1.1

# printing of statistical information
print_bdd_stats
print_usage

# resetting the whole system
reset

# read in a model to test the disjunctive partitioning 
set input_file dme4.smv
set input_order_file dme4.ord
set partition_method Monolithic

go

# computing the set of reachable states using the monolithic
# transition relation
compute_reachable

# checking the specifications using the Disjunctive transition
# relation
check_spec

# activating the dynamic variable ordering
print_usage
dynamic_var_ordering -f sift
write_order -f dme4.sift.ord
print_usage
dynamic_var_ordering -f window2
write_order -f dme4.win2.ord
print_usage
dynamic_var_ordering -f exact
write_order -f dme4.exact.ord
print_usage

# printing of statistical information
print_bdd_stats
print_usage

# resetting the whole system
reset

# read in a model to test the disjunctive partitioning 
set input_file periodic.smv
set partition_method Monolithic
go

# checking of the specification of the model
check_spec

# computation of quantitative characteristic of the described model
compute

# reset the whole system
reset

# set the verbose level of
set verbose_level 1

# read in a model
read_model -i gigamax_ltl.smv

# completing the model construction.
go

# check LTL specifications
check_ltlspec

quit
