Go to the documentation of this file.
12 #ifndef CPROVER_GOTO_INSTRUMENT_SYNTHESIZER_LOOP_INVARIANT_SYNTHESIZER_BASE_H
13 #define CPROVER_GOTO_INSTRUMENT_SYNTHESIZER_LOOP_INVARIANT_SYNTHESIZER_BASE_H
19 #define OPT_SYNTHESIZE_LOOP_INVARIANTS "(synthesize-loop-invariants)"
20 #define HELP_LOOP_INVARIANT_SYNTHESIZER \
21 " --synthesize-loop-invariants\n" \
22 " synthesize and apply loop invariants\n"
55 #endif // CPROVER_GOTO_INSTRUMENT_SYNTHESIZER_LOOP_INVARIANT_SYNTHESIZER_BASE_H
Class that provides messages with a built-in verbosity 'level'.
Base class for all expressions.
virtual ~loop_invariant_synthesizer_baset()=default
virtual invariant_mapt synthesize_all()=0
Synthesize loop invariants that are inductive in the given GOTO program.
loop_invariant_synthesizer_baset(const goto_modelt &goto_model, messaget &log)
A base class for loop invariant synthesizers.
std::map< loop_idt, exprt > invariant_mapt
virtual exprt synthesize(loop_idt)=0
Synthesize loop invariant for a specified loop in the goto_model.
const goto_modelt & goto_model
Loop id used to identify loops.