12 #ifndef CPROVER_GOTO_SYNTHESIZER_LOOP_CONTRACTS_SYNTHESIZER_BASE_H
13 #define CPROVER_GOTO_SYNTHESIZER_LOOP_CONTRACTS_SYNTHESIZER_BASE_H
Base class for all expressions.
A base class for loop contracts synthesizers.
virtual exprt synthesize(loop_idt)=0
Synthesize loop invariant for a specified loop in the goto_model.
virtual ~loop_contracts_synthesizer_baset()=default
virtual invariant_mapt synthesize_all()=0
Synthesize loop invariants that are inductive in the given GOTO program.
loop_contracts_synthesizer_baset(goto_modelt &goto_model, messaget &log)
Class that provides messages with a built-in verbosity 'level'.
Loop id used to identify loops.
std::map< loop_idt, exprt > invariant_mapt