3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-05-10 01:05:47 +00:00
z3/src/math/polysat/simplify.cpp
Jakob Rath 618b3945c1 log
2022-08-05 11:23:02 +02:00

56 lines
971 B
C++

/*++
Copyright (c) 2021 Microsoft Corporation
Module Name:
Simplification
Author:
Jakob Rath, Nikolaj Bjorner (nbjorner) 2021-12-12
Notes:
This is a place holder for simplification.
- Replace literals of the form p < 1 (which is ~(p >= 1)) by p <= 0
- Rewrite clauses using factoring and normalization rules
- p*q <= 0 or C
-> p <= 0 or C, q <= 0 or C
- ovfl(1, x) or C
-> C
- Drop redundant literals from lemmas.
- Generalize lemmas by replacing equalities or destructive resolution.
- x = k => C[x]
- C[k]
- x = k & y = k' => ax + by <= c
- lo <= x <= k & lo' <= y <= k' => ax + by <= c
--*/
#include "math/polysat/solver.h"
#include "math/polysat/simplify.h"
namespace polysat {
simplify::simplify(solver& s):
s(s)
{}
bool simplify::should_apply() const {
return false;
}
void simplify::operator()() {
LOG_H2("Simplify");
(void)s; // silence warning
}
}