CBMC
|
A base class for loop invariant synthesizers. More...
#include <loop_invariant_synthesizer_base.h>
Public Member Functions | |
loop_invariant_synthesizer_baset (const goto_modelt &goto_model, messaget &log) | |
virtual | ~loop_invariant_synthesizer_baset ()=default |
virtual invariant_mapt | synthesize_all ()=0 |
Synthesize loop invariants that are inductive in the given GOTO program. More... | |
virtual exprt | synthesize (loop_idt)=0 |
Synthesize loop invariant for a specified loop in the goto_model . More... | |
Protected Attributes | |
const goto_modelt & | goto_model |
messaget & | log |
A base class for loop invariant synthesizers.
Provides a method for synthesizing loop invariants in a given goto_model
.
Derived class should clarify what types of goto_model
they targets, e.g., a goto_model
contains only memory safety checks, or a goto_model
contains both memory safety checks and correctness checks.
Definition at line 32 of file loop_invariant_synthesizer_base.h.
|
inline |
Definition at line 35 of file loop_invariant_synthesizer_base.h.
|
virtualdefault |
Synthesize loop invariant for a specified loop in the goto_model
.
Implemented in enumerative_loop_invariant_synthesizert.
|
pure virtual |
Synthesize loop invariants that are inductive in the given GOTO program.
The result is a map from loop_idt
ids of loops to exprt
the GOTO-expression representation of synthesized invariants.
Implemented in enumerative_loop_invariant_synthesizert.
|
protected |
Definition at line 51 of file loop_invariant_synthesizer_base.h.
|
protected |
Definition at line 52 of file loop_invariant_synthesizer_base.h.