CBMC
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
loop_contracts_synthesizer_base.h
Go to the documentation of this file.
1/*******************************************************************\
2
3Module: Loop Contracts Synthesizer Interface
4
5Author: Qinheping Hu
6
7\*******************************************************************/
8
11
12#ifndef CPROVER_GOTO_SYNTHESIZER_LOOP_CONTRACTS_SYNTHESIZER_BASE_H
13#define CPROVER_GOTO_SYNTHESIZER_LOOP_CONTRACTS_SYNTHESIZER_BASE_H
14
16
17#include "synthesizer_utils.h"
18
19class messaget;
20
49
50#endif // CPROVER_GOTO_SYNTHESIZER_LOOP_CONTRACTS_SYNTHESIZER_BASE_H
Base class for all expressions.
Definition expr.h:56
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'.
Definition message.h:154
Symbol Table + CFG.
Loop id used to identify loops.
Definition loop_ids.h:28
std::map< loop_idt, exprt > invariant_mapt
Definition utils.h:32