3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-10 19:27:06 +00:00
z3/lib/sat_iff3_finder.h
Leonardo de Moura e9eab22e5c Z3 sources
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2012-10-02 11:35:25 -07:00

49 lines
826 B
C++

/*++
Copyright (c) 2011 Microsoft Corporation
Module Name:
sat_iff3_finder.h
Abstract:
Find constraints of the form x = l1 = l2
That is, search for clauses of the form
~x \/ l1 \/ ~l2
~x \/ ~l1 \/ l2
x \/ l1 \/ l2
x \/ ~l1 \/ ~l2
The basic idea is to sort the watch lists.
This information can be used to propagate equivalences
during probing (and search).
Author:
Leonardo de Moura (leonardo) 2011-06-04.
Revision History:
--*/
#ifndef _SAT_IFF3_FINDER_H_
#define _SAT_IFF3_FINDER_H_
#include"sat_types.h"
namespace sat {
class iff3_finder {
solver & s;
void sort_watches();
void mk_eq(literal l1, literal l2);
public:
iff3_finder(solver & s);
void operator()();
};
};
#endif