Skip to content

Commit 47d0c06

Browse files
committed
liveness engine
1 parent e3fe283 commit 47d0c06

File tree

5 files changed

+46
-0
lines changed

5 files changed

+46
-0
lines changed

Diff for: src/ebmc/Makefile

+1
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ SRC = \
1919
k_induction.cpp \
2020
liveness_to_safety.cpp \
2121
live_signal.cpp \
22+
liveness_engine.cpp \
2223
main.cpp \
2324
netlist.cpp \
2425
neural_liveness.cpp \

Diff for: src/ebmc/ebmc_parse_options.h

+1
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ class ebmc_parse_optionst:public parse_options_baset
4040
"(compute-interpolant)(interpolation)(interpolation-vmcai)"
4141
"(ic3)(property):(constr)(h)(new-mode)(aiger)"
4242
"(interpolation-word)(interpolator):(bdd)"
43+
"(liveness)"
4344
"(ranking-function):"
4445
"(smt2)(bitwuzla)(boolector)(cvc3)(cvc4)(cvc5)(mathsat)(yices)(z3)"
4546
"(minisat)(cadical)"

Diff for: src/ebmc/liveness_engine.cpp

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
/*******************************************************************\
2+
3+
Module: Liveness Engine
4+
5+
Author: Daniel Kroening, [email protected]
6+
7+
\*******************************************************************/
8+
9+
#include "liveness_engine.h"
10+
11+
property_checker_resultt liveness_engine(
12+
const cmdlinet &cmdline,
13+
transition_systemt &transition_system,
14+
ebmc_propertiest &properties,
15+
message_handlert &message_handler)
16+
{
17+
return property_checker_resultt{properties};
18+
}

Diff for: src/ebmc/liveness_engine.h

+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
/*******************************************************************\
2+
3+
Module: Liveness Engine
4+
5+
Author: Daniel Kroening, [email protected]
6+
7+
\*******************************************************************/
8+
9+
#ifndef CPROVER_EBMC_LIVENESS_ENGINE_H
10+
#define CPROVER_EBMC_LIVENESS_ENGINE_H
11+
12+
#include "property_checker.h"
13+
14+
property_checker_resultt liveness_engine(
15+
const cmdlinet &,
16+
transition_systemt &,
17+
ebmc_propertiest &,
18+
message_handlert &);
19+
20+
#endif

Diff for: src/ebmc/property_checker.cpp

+6
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ Author: Daniel Kroening, [email protected]
2020
#include "ebmc_error.h"
2121
#include "ebmc_solver_factory.h"
2222
#include "k_induction.h"
23+
#include "liveness_engine.h"
2324
#include "netlist.h"
2425
#include "output_file.h"
2526
#include "report_results.h"
@@ -378,6 +379,11 @@ property_checker_resultt property_checker(
378379
return k_induction(
379380
cmdline, transition_system, properties, message_handler);
380381
}
382+
else if(cmdline.isset("liveness"))
383+
{
384+
return liveness_engine(
385+
cmdline, transition_system, properties, message_handler);
386+
}
381387
else
382388
{
383389
// default engine is word-level BMC

0 commit comments

Comments
 (0)