3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-16 05:48:44 +00:00
z3/src/ast/occurs.h
Nikolaj Bjorner 4d8860c0bc wip - adding context equation solver
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.
2022-11-05 10:34:57 -07:00

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);