mirror of
https://github.com/Z3Prover/z3
synced 2025-08-26 04:56:03 +00:00
more work on incorporating iz3
This commit is contained in:
parent
e5f5e008aa
commit
9792f6dd33
11 changed files with 2527 additions and 7 deletions
57
src/interp/iz3translate.h
Executable file
57
src/interp/iz3translate.h
Executable file
|
@ -0,0 +1,57 @@
|
|||
/*++
|
||||
Copyright (c) 2011 Microsoft Corporation
|
||||
|
||||
Module Name:
|
||||
|
||||
iz3translate.h
|
||||
|
||||
Abstract:
|
||||
|
||||
Interface for proof translations from Z3 proofs to interpolatable
|
||||
proofs.
|
||||
|
||||
Author:
|
||||
|
||||
Ken McMillan (kenmcmil)
|
||||
|
||||
Revision History:
|
||||
|
||||
--*/
|
||||
|
||||
|
||||
#ifndef IZ3TRANSLATION_H
|
||||
#define IZ3TRANSLATION_H
|
||||
|
||||
#include "iz3proof.h"
|
||||
#include "iz3secondary.h"
|
||||
|
||||
// This is a interface class for translation from Z3 proof terms to
|
||||
// an interpolatable proof
|
||||
|
||||
class iz3translation : public iz3base {
|
||||
public:
|
||||
virtual iz3proof::node translate(ast, iz3proof &) = 0;
|
||||
virtual ast quantify(ast e, const range &rng){return e;}
|
||||
virtual ~iz3translation(){}
|
||||
|
||||
static iz3translation *create(iz3mgr &mgr,
|
||||
iz3secondary *secondary,
|
||||
const std::vector<ast> &frames,
|
||||
const std::vector<int> &parents,
|
||||
const std::vector<ast> &theory);
|
||||
|
||||
protected:
|
||||
iz3translation(iz3mgr &mgr,
|
||||
const std::vector<ast> &_cnsts,
|
||||
const std::vector<int> &_parents,
|
||||
const std::vector<ast> &_theory)
|
||||
: iz3base(mgr,_cnsts,_parents,_theory) {}
|
||||
};
|
||||
|
||||
//#define IZ3_TRANSLATE_DIRECT2
|
||||
#define IZ3_TRANSLATE_DIRECT
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue