Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Write proofs as JSON files #696

Merged
merged 157 commits into from
Dec 20, 2023
Merged
Show file tree
Hide file tree
Changes from 155 commits
Commits
Show all changes
157 commits
Select commit Hold shift + click to select a range
aa4b0a4
Add files via upload
OmriIsacHUJI Feb 17, 2022
626acc3
Add files via upload
OmriIsacHUJI Feb 17, 2022
99665c8
Add files via upload
OmriIsacHUJI Feb 17, 2022
b7ef45a
Merge branch 'master' into master
OmriIsacHUJI Feb 20, 2022
4588718
Update SmtLibWriter.h
OmriIsacHUJI Feb 20, 2022
5ab0def
Add files via upload
OmriIsacHUJI Feb 20, 2022
f7565a3
Update SmtLibWriter.cpp
OmriIsacHUJI Feb 20, 2022
6ce624a
Update Vector.h
OmriIsacHUJI Feb 20, 2022
bb48611
Update List.h
OmriIsacHUJI Feb 20, 2022
18d654a
Update List.h
OmriIsacHUJI Feb 20, 2022
4159229
Add files via upload
OmriIsacHUJI Feb 20, 2022
1677664
Delete Test_BoundsExplainer.h
OmriIsacHUJI Feb 20, 2022
acf469f
Update Test_CertificateNode.h
OmriIsacHUJI Feb 20, 2022
67babac
Delete BoundsExplainer.cpp
OmriIsacHUJI Feb 20, 2022
4ccfab4
Delete BoundsExplainer.h
OmriIsacHUJI Feb 20, 2022
bfce896
Add files via upload
OmriIsacHUJI Feb 20, 2022
99f1d16
Update UNSATCertificate.h
OmriIsacHUJI Feb 20, 2022
703442f
Update BoundExplainer.h
OmriIsacHUJI Feb 20, 2022
361cb9d
Update UNSATCertificate.cpp
OmriIsacHUJI Feb 20, 2022
4cbc967
Update UNSATCertificate.h
OmriIsacHUJI Feb 20, 2022
8801552
Update UNSATCertificate.cpp
OmriIsacHUJI Feb 20, 2022
309038e
Update BoundExplainer.h
OmriIsacHUJI Feb 20, 2022
9f15cbb
Update UNSATCertificate.cpp
OmriIsacHUJI Feb 20, 2022
caedb50
Update UNSATCertificate.cpp
OmriIsacHUJI Feb 20, 2022
180fd9c
Update UNSATCertificate.cpp
OmriIsacHUJI Feb 20, 2022
d04763a
Merge branch 'NeuralNetworkVerification:master' into master
OmriIsacHUJI Mar 3, 2022
f046fa4
Merge branch 'NeuralNetworkVerification:master' into master
OmriIsacHUJI Mar 6, 2022
594d2ba
Update Test_List.h
OmriIsacHUJI Mar 6, 2022
2e4b207
Update Test_Vector.h
OmriIsacHUJI Mar 6, 2022
c9f3f2e
Update Vector.h
OmriIsacHUJI Mar 6, 2022
bd0a1f2
Delete BoundExplainer.cpp
OmriIsacHUJI Mar 6, 2022
27e9150
Delete BoundExplainer.h
OmriIsacHUJI Mar 6, 2022
7c8f9a9
Delete UNSATCertificate.cpp
OmriIsacHUJI Mar 6, 2022
63a3cf7
Delete UNSATCertificate.h
OmriIsacHUJI Mar 6, 2022
27f00e5
Delete SmtLibWriter.h
OmriIsacHUJI Mar 6, 2022
6657bb8
Delete SmtLibWriter.cpp
OmriIsacHUJI Mar 6, 2022
b27c053
Delete Test_BoundExplainer.h
OmriIsacHUJI Mar 6, 2022
36cf9b6
Delete Test_CertificateNode.h
OmriIsacHUJI Mar 6, 2022
719bcdf
Create CMakeLists.txt
OmriIsacHUJI Mar 6, 2022
6846a5c
Delete CMakeLists.txt
OmriIsacHUJI Mar 6, 2022
38c93be
Create CMakeLists.txt
OmriIsacHUJI Mar 6, 2022
2068f41
Add files via upload
OmriIsacHUJI Mar 6, 2022
5684771
Create Test_BoundExplainer.h
OmriIsacHUJI Mar 6, 2022
7006645
Add files via upload
OmriIsacHUJI Mar 6, 2022
2b98cd2
Update CMakeLists.txt
OmriIsacHUJI Mar 6, 2022
6f65a19
Update Test_SmtLibWriter.h
OmriIsacHUJI Mar 6, 2022
2497df7
Merge branch 'master' into master
OmriIsacHUJI Mar 8, 2022
0e66fbb
Update Test_Vector.h
omriisack Mar 10, 2022
ac2c68f
Merge branch 'master' into master
OmriIsacHUJI Mar 10, 2022
2ed2afa
Update List.h
OmriIsacHUJI Mar 10, 2022
c6b7156
Added const access to data
OmriIsacHUJI Mar 15, 2022
c52eb43
Added tests to data() functions
OmriIsacHUJI Mar 15, 2022
f7a3e2e
Delete UnsatCertificateProblemConstraint.h
OmriIsacHUJI Mar 15, 2022
33c9b6a
Update Test_List.h
OmriIsacHUJI Mar 15, 2022
df5a4c3
Changed folder name
OmriIsacHUJI Mar 15, 2022
42ecf37
Update BoundExplainer.cpp
OmriIsacHUJI Mar 15, 2022
f3df970
Update BoundExplainer.h
OmriIsacHUJI Mar 15, 2022
e6ac2bc
Update CMakeLists.txt
OmriIsacHUJI Mar 15, 2022
98a3dd8
Update Test_BoundExplainer.h
OmriIsacHUJI Mar 15, 2022
c7abff0
Update Test_UnsatCertificateNode.h
OmriIsacHUJI Mar 15, 2022
ccf1077
Update Test_UnsatCertificateUtils.h
OmriIsacHUJI Mar 15, 2022
6f9c511
Add files via upload
OmriIsacHUJI Mar 15, 2022
512f34d
Add files via upload
OmriIsacHUJI Mar 15, 2022
1c511a7
Update Checker.cpp
OmriIsacHUJI Mar 15, 2022
9178576
Update Contradiction.cpp
OmriIsacHUJI Mar 15, 2022
7397b55
Update Contradiction.h
OmriIsacHUJI Mar 15, 2022
8408740
Update PlcExplanation.cpp
OmriIsacHUJI Mar 15, 2022
0528603
Update PlcExplanation.h
OmriIsacHUJI Mar 15, 2022
452427c
Update Checker.cpp
OmriIsacHUJI Mar 15, 2022
3447bb4
Update UnsatCertificateNode.cpp
OmriIsacHUJI Mar 15, 2022
46ffbe7
Update UnsatCertificateNode.h
OmriIsacHUJI Mar 15, 2022
d9568ab
Update UnsatCertificateUtils.cpp
OmriIsacHUJI Mar 15, 2022
51506e5
Update UnsatCertificateUtils.h
OmriIsacHUJI Mar 15, 2022
674067f
Merge branch 'master' into master
omriisack Mar 20, 2022
42b4fb9
Update PiecewiseLinearConstraint.h
OmriIsacHUJI Mar 22, 2022
6923f5b
Merge branch 'master' into master
OmriIsacHUJI Mar 22, 2022
cb922eb
Merge branch 'NeuralNetworkVerification:master' into master
OmriIsacHUJI Mar 30, 2022
bb12e4b
Update Test_UnsatCertificateNode.h
OmriIsacHUJI Mar 30, 2022
a1e96f2
Merge branch 'NeuralNetworkVerification:master' into master
OmriIsacHUJI Nov 26, 2022
b1843d0
Update to proof production core modules
omriisack Nov 27, 2022
6d668fc
Minor
omriisack Nov 27, 2022
e5d5507
Minor
omriisack Nov 27, 2022
d2b1dbe
Update ci-with-production.yml
OmriIsacHUJI Nov 27, 2022
924930f
Revert some changes to configurations
omriisack Nov 27, 2022
1c8e457
Merge branch 'master' of https://github.com/OmriIsacHUJI/Marabou
omriisack Nov 27, 2022
510ffb2
Update ci-with-production.yml
OmriIsacHUJI Nov 27, 2022
491c2c8
Merge branch 'master' into master
OmriIsacHUJI Nov 29, 2022
c4a38ca
Fixes according to comments
omriisack Nov 29, 2022
245ad31
Minor
omriisack Nov 29, 2022
cebfc6f
Minor
omriisack Nov 29, 2022
f5bcecc
Integration of proof producing boundManager, ReluConstraint and RowBo…
omriisack Dec 4, 2022
a1a7367
Merge branch 'NeuralNetworkVerification:master' into master
omriisack Dec 4, 2022
9cd7481
Cleanup
omriisack Dec 4, 2022
07d3878
Minor
omriisack Dec 4, 2022
225c42a
Minor
omriisack Dec 4, 2022
026818c
Minor
omriisack Dec 4, 2022
c53a811
Minor
omriisack Dec 4, 2022
ebcf38c
Update MockBoundManager.h
omriisack Dec 4, 2022
bbaf68d
Minor
omriisack Dec 4, 2022
bc9ac6d
Update MockBoundManager.h
omriisack Dec 4, 2022
9a991e2
Answers to comments
omriisack Dec 11, 2022
0783244
Minor
omriisack Dec 11, 2022
c90dedf
Complete functionality of proof production code
omriisack Dec 13, 2022
926f503
Minor
omriisack Dec 13, 2022
19d4290
Minor
omriisack Dec 14, 2022
4024225
Minor
omriisack Dec 14, 2022
bd4de46
Answers to comments
omriisack Dec 16, 2022
1c0851d
Minor
omriisack Dec 16, 2022
32b76e7
Merge branch 'NeuralNetworkVerification:master' into master
omriisack Jan 24, 2023
595157c
Merge pull request #1 from NeuralNetworkVerification/master
OmriIsacHUJI Jan 31, 2023
08673fd
Fix bug in SmtLibWriter
omriisack Feb 1, 2023
dcc9fa1
Minor
omriisack Feb 1, 2023
bc13795
Minor
omriisack Feb 1, 2023
9076288
Use GlobalConfigurations for setting percision for SmtLibWriter
omriisack Feb 7, 2023
552cbd8
Trim zeros from right when writing to SMTLIB format
omriisack Mar 14, 2023
be83cf6
Merge branch 'NeuralNetworkVerification:master' into master
OmriIsacHUJI May 18, 2023
9edb774
minor
omriisack May 18, 2023
9fde507
Minor
omriisack May 18, 2023
5166888
minor
omriisack May 18, 2023
95281b4
Merge remote-tracking branch 'upstream/master'
omriisack Nov 11, 2023
207c5bf
Proofs support all PL constraints
omriisack Nov 26, 2023
3a89aa9
Add regression tests
omriisack Nov 26, 2023
18867ae
Minor
omriisack Nov 26, 2023
44129f8
Minor
omriisack Nov 26, 2023
a93f8d5
Minor
omriisack Nov 26, 2023
b857524
minor
omriisack Nov 26, 2023
d9fdd72
Fix Comments
omriisack Dec 3, 2023
6a17d65
Minor
omriisack Dec 3, 2023
7fe001e
Minor
omriisack Dec 3, 2023
758bd6c
Minor
omriisack Dec 3, 2023
bc5f33a
Minor
omriisack Dec 3, 2023
69045f2
Sparse Explanations in proof tree
omriisack Dec 5, 2023
b58985d
Minor
omriisack Dec 5, 2023
f3c7a73
Remove problematic rtest
omriisack Dec 5, 2023
6837b42
Revert "Remove problematic rtest"
omriisack Dec 7, 2023
86e1e0d
Minor
omriisack Dec 7, 2023
15e8557
Update CHANGELOG.md
omriisack Dec 7, 2023
a426302
Update CHANGELOG.md
omriisack Dec 7, 2023
64df6e2
Attempt to solve bug
omriisack Dec 8, 2023
fd5f6d6
Update CHANGELOG.md
omriisack Dec 8, 2023
1b2b5ed
Minor
omriisack Dec 11, 2023
1395015
Sparse explanations in BoundExplainer
omriisack Dec 12, 2023
d1919d0
minor
omriisack Dec 12, 2023
6bf418a
Minor
omriisack Dec 12, 2023
25d518c
minor
omriisack Dec 12, 2023
7d81bea
Merge branch 'master' of https://github.com/OmriIsacHUJI/Marabou
omriisack Dec 12, 2023
9e01fc9
Mןמםר
omriisack Dec 12, 2023
ab77bb4
Minor
omriisack Dec 12, 2023
cce509a
Minor
omriisack Dec 12, 2023
eecedaa
Minor
omriisack Dec 12, 2023
d657e60
Minor
omriisack Dec 12, 2023
cb3ad63
Minor
omriisack Dec 12, 2023
a4a3cb8
Added option to write proofs as JSON files
omriisack Dec 19, 2023
f574e5a
Minor
omriisack Dec 19, 2023
3785770
Merge branch 'NeuralNetworkVerification:master' into master
OmriIsacHUJI Dec 19, 2023
38d12b9
Minor
omriisack Dec 20, 2023
5e93df6
Update JsonWriter.cpp
omriisack Dec 20, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions src/configuration/GlobalConfiguration.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -103,6 +103,7 @@ const unsigned GlobalConfiguration::DNC_DEPTH_THRESHOLD = 5;

const double GlobalConfiguration::MINIMAL_COEFFICIENT_FOR_TIGHTENING = 0.01;
const double GlobalConfiguration::LEMMA_CERTIFICATION_TOLERANCE = 0.000001;
const bool GlobalConfiguration::WRITE_JSON_PROOF = false;

#ifdef ENABLE_GUROBI
const unsigned GlobalConfiguration::GUROBI_NUMBER_OF_THREADS = 1;
Expand Down
4 changes: 4 additions & 0 deletions src/configuration/GlobalConfiguration.h
Original file line number Diff line number Diff line change
Expand Up @@ -243,6 +243,10 @@ class GlobalConfiguration
*/
static const double LEMMA_CERTIFICATION_TOLERANCE;

/* Denote whether proofs should be written as a JSON file
*/
static const bool WRITE_JSON_PROOF;

#ifdef ENABLE_GUROBI
/*
The number of threads Gurobi spawns
Expand Down
9 changes: 8 additions & 1 deletion src/engine/Engine.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3555,7 +3555,14 @@ bool Engine::certifyUNSATCertificate()
groundLowerBounds[i] = _groundBoundManager.getLowerBound( i );
}

Checker unsatCertificateChecker( _UNSATCertificate, _tableau->getM(), _tableau->getSparseA(),
if ( GlobalConfiguration::WRITE_JSON_PROOF )
{
File file ( "proof.json" );
OmriIsacHUJI marked this conversation as resolved.
Show resolved Hide resolved
JsonWriter::writeProofToJson( _UNSATCertificate, _tableau->getM(), _tableau->getSparseA(),
groundUpperBounds, groundLowerBounds, _plConstraints, file );
}

Checker unsatCertificateChecker( _UNSATCertificate, _tableau->getM(), _tableau->getSparseA(),
groundUpperBounds, groundLowerBounds, _plConstraints );
bool certificationSucceeded = unsatCertificateChecker.check();

Expand Down
1 change: 1 addition & 0 deletions src/engine/Engine.h
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@
#include "GurobiWrapper.h"
#include "IEngine.h"
#include "InputQuery.h"
#include "JsonWriter.h"
#include "LinearExpression.h"
#include "LPSolverType.h"
#include "Map.h"
Expand Down
8 changes: 8 additions & 0 deletions src/engine/PiecewiseLinearConstraint.h
Original file line number Diff line number Diff line change
Expand Up @@ -466,6 +466,14 @@ class PiecewiseLinearConstraint : public ITableau::VariableWatcher
return {};
}

/*
Get the tableau auxiliary vars
*/
virtual const List<unsigned> &getTableauAuxVars() const
{
return _tableauAuxVars;
}

protected:
unsigned _numCases; // Number of possible cases/phases for this constraint
// (e.g. 2 for ReLU, ABS, SIGN; >=2 for Max and Disjunction )
Expand Down
Loading