CBMC
|
Enumerative loop invariant synthesizers. More...
#include <enumerative_loop_invariant_synthesizer.h>
Public Member Functions | |
enumerative_loop_invariant_synthesizert (const goto_modelt &goto_model, messaget &log) | |
invariant_mapt | synthesize_all () override |
This synthesizer guarantees that, with the synthesized loop invariants, all checks in the annotated GOTO program pass. More... | |
exprt | synthesize (loop_idt loop_id) override |
Synthesize loop invariant for a specified loop in the goto_model . More... | |
![]() | |
loop_invariant_synthesizer_baset (const goto_modelt &goto_model, messaget &log) | |
virtual | ~loop_invariant_synthesizer_baset ()=default |
Private Member Functions | |
void | init_candidates () |
Initialize invariants as true for all unannotated loops. More... | |
Private Attributes | |
invariant_mapt | invariant_candiate_map |
Additional Inherited Members | |
![]() | |
const goto_modelt & | goto_model |
messaget & | log |
Enumerative loop invariant synthesizers.
It is designed for goto_model
containing only checks instrumented by goto-instrument
with the --pointer-check
flag. When other checks present, it will just enumerate candidates and check if they are valid.
Definition at line 28 of file enumerative_loop_invariant_synthesizer.h.
|
inline |
Definition at line 32 of file enumerative_loop_invariant_synthesizer.h.
|
private |
Initialize invariants as true for all unannotated loops.
Definition at line 14 of file enumerative_loop_invariant_synthesizer.cpp.
Synthesize loop invariant for a specified loop in the goto_model
.
Implements loop_invariant_synthesizer_baset.
Definition at line 48 of file enumerative_loop_invariant_synthesizer.cpp.
|
overridevirtual |
This synthesizer guarantees that, with the synthesized loop invariants, all checks in the annotated GOTO program pass.
Implements loop_invariant_synthesizer_baset.
Definition at line 39 of file enumerative_loop_invariant_synthesizer.cpp.
|
private |
Definition at line 48 of file enumerative_loop_invariant_synthesizer.h.