3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-29 03:45:51 +00:00

Z3 sources

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
This commit is contained in:
Leonardo de Moura 2012-10-02 11:35:25 -07:00
parent 3f9edad676
commit e9eab22e5c
1186 changed files with 381859 additions and 0 deletions

52
lib/expr_delta.h Normal file
View file

@ -0,0 +1,52 @@
/*++
Copyright (c) 2008 Microsoft Corporation
Module Name:
expr_delta.h
Abstract:
Delta debugging support for specifications.
A specification is a list of assumptions.
Author:
Nikolaj Bjorner (nbjorner) 2008-21-06
Revision History:
--*/
#ifndef _EXPR_DELTA_H_
#define _EXPR_DELTA_H_
#include "ast.h"
class expr_delta {
ast_manager& m_manager;
expr_ref_vector m_exprs;
public:
expr_delta(ast_manager& m);
// Assert a constraint.
void assert_cnstr(expr* e);
//
// Create the n'th delta in dfs mode.
// resturn 'true' if a delta was obtained.
//
bool delta_dfs(unsigned n, expr_ref_vector& result);
private:
// perform delta
bool delta_dfs(unsigned& n, expr* e, expr_ref& result);
bool delta_dfs(unsigned& n, app* a, expr_ref& result);
bool delta_dfs(unsigned& n, unsigned sz, expr* const* exprs, expr_ref_vector& result);
};
#endif