mirror of
https://github.com/Z3Prover/z3
synced 2025-04-16 05:48:44 +00:00
the solve_eqs_tactic is to be replaced by a re-implementation that uses solve_eqs in the simplifiers directory. The re-implementation should address efficiency issues with the previous code. At this point it punts on low level proofs. The plan is to use coarser dependency tracking instead of low level proofs for pre-processing. Dependencies can be converted into a proof hint representation that can be checked using a stronger checker.
40 lines
567 B
C
40 lines
567 B
C
/*++
|
|
Copyright (c) 2006 Microsoft Corporation
|
|
|
|
Module Name:
|
|
|
|
occurs.h
|
|
|
|
Abstract:
|
|
|
|
<abstract>
|
|
|
|
Author:
|
|
|
|
Leonardo de Moura (leonardo) 2007-06-07.
|
|
|
|
Revision History:
|
|
|
|
--*/
|
|
#pragma once
|
|
|
|
#include "util/vector.h"
|
|
#include "ast/ast.h"
|
|
|
|
/**
|
|
\brief Return true if n1 occurs in n2
|
|
*/
|
|
bool occurs(expr * n1, expr * n2);
|
|
|
|
/**
|
|
\brief Return true if d is used in n
|
|
*/
|
|
bool occurs(func_decl * d, expr * n);
|
|
|
|
/**
|
|
* \brief Mark sub-expressions of to_check by whether v occurs in these.
|
|
*/
|
|
void mark_occurs(ptr_vector<expr>& to_check, expr* v, expr_mark& occurs);
|
|
|
|
|