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

ALASCA #649

Open
wants to merge 859 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
859 commits
Select commit Hold shift + click to select a range
2ce913f
initial ternary rule impl
joe-hauns Nov 14, 2024
970e823
forgot bininf file
joe-hauns Nov 14, 2024
070a6bf
remove IsIntFactoring and IsIntResolution
joe-hauns Nov 14, 2024
0af85b6
fixed missing backtracking
joe-hauns Nov 14, 2024
b16e038
skeleton for trinary integer fourier motzkin rule
joe-hauns Nov 14, 2024
9e489e1
initial test four integer fourirer motzkin
joe-hauns Nov 15, 2024
10f119e
tidied away bell number stuff in coherence test
joe-hauns Nov 15, 2024
05b0105
implemented using faster multiplicative inverse function
joe-hauns Nov 15, 2024
cbe83d5
fixed testing code
joe-hauns Nov 15, 2024
de2668f
implemented integer fm rule
joe-hauns Nov 15, 2024
1976bc8
reverted accidentally applied git stash
joe-hauns Nov 15, 2024
20e91cc
reverted accidentally applied git stash
joe-hauns Nov 15, 2024
2a1597f
added floor fourier motzking (specialized integer fm)
joe-hauns Nov 18, 2024
78570ea
added dummy term ordering for debugging that makes all terms
joe-hauns Nov 19, 2024
b135273
updated floor bounds rules to match theory
joe-hauns Nov 19, 2024
27606af
implemented coherence normalization and FloorElimination
joe-hauns Nov 20, 2024
0a80f12
added test
joe-hauns Nov 20, 2024
d4d5672
Release compile fail fix
joe-hauns Nov 20, 2024
224b13c
initial alascai literal ordering
joe-hauns Nov 21, 2024
a433c42
dummy LAKBO
joe-hauns Nov 21, 2024
079ad6d
initial LAKBO impl
joe-hauns Nov 21, 2024
2ef3440
extended proof checker to include floor
joe-hauns Nov 21, 2024
ef66606
initial version of lakbo
joe-hauns Nov 22, 2024
524310b
initial version of lakbo
joe-hauns Nov 22, 2024
dc95b4c
Merge branch 'alasca' of github.com:vprover/vampire into alasca
joe-hauns Nov 22, 2024
b596813
initial impl of abstracion rules
joe-hauns Nov 22, 2024
558b295
working inital very coarse abstraction rules
joe-hauns Nov 25, 2024
1422d2b
made variable iterator movable
joe-hauns Nov 26, 2024
ee2d8e7
added lasca abstraction option
joe-hauns Nov 26, 2024
1a04e7a
added option constraint
joe-hauns Nov 27, 2024
16c29b7
fixed rare uwa segfault
joe-hauns Nov 27, 2024
48674ea
fixed issues around TriInf and SPECIAL_INDEX
joe-hauns Nov 27, 2024
62dd09d
improved new lakbo ordering
joe-hauns Nov 27, 2024
e81bb1e
fixed ordering outputting out of bounds errors
joe-hauns Nov 28, 2024
c8c56fd
fixed LaKbo for multiple sorts
joe-hauns Nov 28, 2024
62b21a8
added tests for new lasca ordering
joe-hauns Nov 28, 2024
5db615c
bug fix
joe-hauns Nov 29, 2024
426eb94
bug fix
joe-hauns Nov 29, 2024
bba36d1
tidy
joe-hauns Nov 29, 2024
90ffce5
nicer output
joe-hauns Nov 29, 2024
8a95f9a
added lasca custom wrapper of binary resolution rule that skips incom…
joe-hauns Nov 29, 2024
c6418b0
added lasca bin resolution
joe-hauns Nov 29, 2024
4ea88f1
inital floor unification
joe-hauns Dec 5, 2024
a24b9cf
fixed broken tests
joe-hauns Dec 5, 2024
938706b
floor uwa bug fix
joe-hauns Dec 6, 2024
f3a45b5
new alasca integer translation (lascai option)
joe-hauns Dec 6, 2024
75bc86b
floor uwa bug fix
joe-hauns Dec 6, 2024
b4ca287
comment
joe-hauns Dec 6, 2024
f47c6d2
bug fix
joe-hauns Dec 6, 2024
e1e5e4e
comment
joe-hauns Dec 9, 2024
7135e62
lasca state refactoring
joe-hauns Dec 9, 2024
ffe8b4e
test refactoring
joe-hauns Dec 9, 2024
fdc405a
tidy
joe-hauns Dec 9, 2024
ab1f068
Merge branch 'master' into alasca
joe-hauns Dec 9, 2024
065ea25
missing import
joe-hauns Dec 9, 2024
1deb1ef
bug fix
joe-hauns Dec 10, 2024
da9b850
output refactoring
joe-hauns Dec 10, 2024
a8f189a
formatting
joe-hauns Dec 10, 2024
68f0536
tidy
joe-hauns Dec 10, 2024
ef4532f
tidy
joe-hauns Dec 10, 2024
4e4fd88
tidy
joe-hauns Dec 10, 2024
31174e4
tidy
joe-hauns Dec 10, 2024
c5f92fe
removed dead code
joe-hauns Dec 12, 2024
9e0ea66
tidy
joe-hauns Dec 12, 2024
145fbc8
Merge branch 'alasca' of github.com:vprover/vampire into alasca
joe-hauns Dec 12, 2024
c50e67f
Merge branch 'master' into alasca
joe-hauns Dec 17, 2024
099fe79
fixed genreation tester's tear down
joe-hauns Dec 17, 2024
cb9f85f
updated viras version
joe-hauns Dec 17, 2024
3ebe9e4
fixed VIRAS test code
joe-hauns Dec 17, 2024
8206863
tidy
joe-hauns Dec 17, 2024
e4f664f
uwa bug fix
joe-hauns Dec 17, 2024
a4cfd8d
updated test cases
joe-hauns Dec 17, 2024
8f3b306
bug fix
joe-hauns Dec 17, 2024
d70a969
fixed lakbo test code
joe-hauns Dec 17, 2024
f3a25a7
adjusted viras testing code
joe-hauns Dec 17, 2024
598b2bb
removed legacy code
joe-hauns Dec 17, 2024
09ae269
renamed LASCA -> ALASCA
joe-hauns Dec 17, 2024
d952a89
tidy
joe-hauns Dec 17, 2024
d925ee0
tidy
joe-hauns Dec 18, 2024
d427a75
tidy
joe-hauns Dec 18, 2024
af60bb4
split ALASCA.hpp into multiple files
joe-hauns Dec 18, 2024
67c153d
tidy
joe-hauns Dec 18, 2024
373ddb4
removed unstability abstraction
joe-hauns Dec 18, 2024
bb67e58
removed lalpo and related outdated code
joe-hauns Dec 18, 2024
007ae55
added lakbo option
joe-hauns Dec 18, 2024
0384fd6
Indexing/AlascaIndex.hpp -> Kernel/ALASCA/Index.hpp
joe-hauns Dec 18, 2024
642116e
updated cmake to match with master
joe-hauns Dec 18, 2024
f9474c8
created file for ALASCA/TautologyDeletion
joe-hauns Dec 18, 2024
7753cde
tidy
joe-hauns Dec 18, 2024
66ece18
introduced rule InequalityPredicateNormalization
joe-hauns Dec 18, 2024
64fc7ea
forgot file
joe-hauns Dec 18, 2024
8d493a1
moved strong normalization into its own inference rule
joe-hauns Dec 18, 2024
90f4723
tidying ALASCA normalizations
joe-hauns Dec 18, 2024
8dca8b5
made FloorElimination work for all NumTraits
joe-hauns Dec 18, 2024
98ca119
renamed functions renormalize* -> normalize*
joe-hauns Dec 18, 2024
ef0a774
tidy
joe-hauns Dec 18, 2024
6c8ce47
tidy
joe-hauns Dec 18, 2024
015f2e6
renamed uwa LPAR_* -> ALASCA_*
joe-hauns Dec 19, 2024
4936098
removed test UWA strategies
joe-hauns Dec 19, 2024
a1428f8
renamed InequalityTautologyDetection -> TautologyDetection
joe-hauns Dec 19, 2024
3fbfb63
added test cases for ALASCA tatutology deletion
joe-hauns Dec 19, 2024
067f30d
added test cases for ALASCA tatutology deletion
joe-hauns Dec 19, 2024
cba9198
Merge branch 'alasca' of github.com:vprover/vampire into alasca
joe-hauns Dec 19, 2024
cd61e74
removed commented out code
joe-hauns Dec 19, 2024
249aab6
sorted out imports for release builds
joe-hauns Dec 19, 2024
96a04d9
added unit test file
joe-hauns Dec 19, 2024
dbf91e7
sorted out alasca preprocessing pipeline
joe-hauns Dec 19, 2024
1cf767a
added QuotientE preprocessor
joe-hauns Dec 19, 2024
50dd61a
tidying
joe-hauns Dec 19, 2024
74dc3b8
added unit test that shows indexing bug
joe-hauns Dec 19, 2024
64633ad
added linear multiplication to signature
joe-hauns Dec 19, 2024
f78d3b4
used linear multiplication in (de)normalization
joe-hauns Dec 20, 2024
c2b86d8
integrate linear multiplication with uwa
joe-hauns Dec 20, 2024
a291063
removed debug output
joe-hauns Dec 20, 2024
2ea9547
made AlscaGenerationTester handle var renamings properly
joe-hauns Dec 20, 2024
a460fc4
integrated qkbo with LinMul
joe-hauns Dec 20, 2024
d6dc825
AlascaGenerationTester default constructor
joe-hauns Dec 20, 2024
bdf5be5
fixed tests
joe-hauns Dec 20, 2024
8569828
bug fix
joe-hauns Dec 22, 2024
894befa
optimized alasca signature
joe-hauns Dec 22, 2024
53cec12
bug fix
joe-hauns Dec 22, 2024
b338b93
updated test code
joe-hauns Dec 22, 2024
a44e803
bug fix
joe-hauns Dec 22, 2024
08e14fc
made qkbo cope with linear multiplications
joe-hauns Dec 22, 2024
f65932b
added test cases
joe-hauns Dec 22, 2024
21f232c
fixed testing code
joe-hauns Dec 22, 2024
014fa28
bug fix
joe-hauns Dec 22, 2024
0c96d96
fixed testing code
joe-hauns Dec 22, 2024
fad7804
fixed testing code
joe-hauns Dec 22, 2024
22bfcb3
fixed selection primitives
joe-hauns Dec 22, 2024
b592876
tidy testing code
joe-hauns Dec 22, 2024
bcf292d
integrated VIRAS with linMul
joe-hauns Dec 22, 2024
d5f7444
minor fix
joe-hauns Dec 22, 2024
b194085
added todo
joe-hauns Dec 22, 2024
2480da6
forgot file
joe-hauns Dec 23, 2024
855e4ea
made GVE compatible with LinMul
joe-hauns Dec 23, 2024
09a7783
fixed alasca abstractions
joe-hauns Dec 23, 2024
b9dd637
updated test code
joe-hauns Dec 23, 2024
1afdb6a
fixed last test
joe-hauns Dec 23, 2024
034b6f3
added cmake option to compile with minigmp even when system level gmp…
joe-hauns Dec 23, 2024
b7b5125
sorted out gmpxx output operator for gcc
joe-hauns Jan 5, 2025
513194d
rm debug output
joe-hauns Jan 5, 2025
6a72bba
subtle bug fix in subs tree building
joe-hauns Jan 5, 2025
7f5b7d2
integrated z3interfacing with linear multiplication
joe-hauns Jan 5, 2025
f2de01e
import fixes for clang14
joe-hauns Jan 5, 2025
0daf86f
more cautious cmake options
joe-hauns Jan 5, 2025
6f14c70
fixed uninitialized bug
joe-hauns Jan 5, 2025
d44e944
updated viras version
joe-hauns Jan 5, 2025
2799fa6
fix integration of linmul with env.property
joe-hauns Jan 6, 2025
65a1da0
tidy
joe-hauns Jan 6, 2025
4fd7954
fixed integration of linmul with alasca preprocessor
joe-hauns Jan 6, 2025
c53c8fb
Merge branch 'alasca' into alasca-linear-multiplication
joe-hauns Jan 6, 2025
bfe518a
unsoundness fix
joe-hauns Jan 6, 2025
046ab0e
bug fix for non-linear lakbo usage
joe-hauns Jan 6, 2025
47782e2
Merge branch 'alasca' into alasca-linear-multiplication
joe-hauns Jan 6, 2025
0b9a5e1
refactored signature to not create intermediate strings to look up nu…
joe-hauns Jan 7, 2025
854b75b
using memo for normalizing
joe-hauns Jan 7, 2025
a54bc08
Merge branch 'signature-optimization' into alasca
joe-hauns Jan 7, 2025
0df076e
Merge branch 'alasca' into alasca-linear-multiplication
joe-hauns Jan 7, 2025
78de1af
using memo to speed up normalization
joe-hauns Jan 7, 2025
0370639
using memos for faster (de)-normalization
joe-hauns Jan 7, 2025
0d06100
Merge branch 'gmp' into alasca
joe-hauns Jan 8, 2025
d36d433
Merge branch 'gmp' into alasca
joe-hauns Jan 8, 2025
55bb780
Merge branch 'alasca' into alasca-linear-multiplication
joe-hauns Jan 8, 2025
c8d4e4c
optimized memorization in (de)normalization
joe-hauns Jan 8, 2025
ea26b51
Merge branch 'alasca' into alasca-linear-multiplication
joe-hauns Jan 8, 2025
f90b81b
improved memorization for poly evaluation
joe-hauns Jan 8, 2025
81fa495
Merge branch 'alasca' into alasca-linear-multiplication
joe-hauns Jan 8, 2025
cde3073
tidy
joe-hauns Jan 8, 2025
dae6cc3
optimized normalization
joe-hauns Jan 8, 2025
7b11d5f
optimized normalization
joe-hauns Jan 8, 2025
f4c5cc8
nicer theory output for linear multiplications
joe-hauns Jan 8, 2025
1adb653
faster normalization with lin mul
joe-hauns Jan 8, 2025
fb827bb
added use for numeral constants, not only use for linear multiplications
joe-hauns Jan 9, 2025
e2524cd
selection fix
joe-hauns Jan 9, 2025
b914324
removed debug output
joe-hauns Jan 9, 2025
aa3afd0
fixed bug in Option<A const&> that allowed mutable access
joe-hauns Jan 13, 2025
630e35b
performance
joe-hauns Jan 13, 2025
5826788
fixed bug in Option<A const&> that allowed mutable access
joe-hauns Jan 13, 2025
8066b5e
bug fix
joe-hauns Jan 13, 2025
aa3564d
bug fix in non-linear normalization
joe-hauns Jan 13, 2025
ce05ca6
fixed bug in non-linear normalization
joe-hauns Jan 13, 2025
0a41d12
minor optimization
joe-hauns Jan 13, 2025
e91118b
minor optimization
joe-hauns Jan 13, 2025
ea26189
tidies
joe-hauns Jan 14, 2025
0ab63b5
fixed special term preprocessing in alasca
joe-hauns Jan 14, 2025
8fe566c
made it possible to compile with RelWithDebInfo
joe-hauns Jan 14, 2025
91b8c88
minor alasca preprocessing optimization
joe-hauns Jan 14, 2025
86f9b95
warning fix
joe-hauns Jan 14, 2025
eb4f0f6
warning fix
joe-hauns Jan 14, 2025
e42a050
Merge branch 'alasca-linear-multiplication' into alasca
joe-hauns Jan 14, 2025
aa887b5
Merge branch 'master' into alasca
joe-hauns Jan 14, 2025
66907e7
import fix after merge
joe-hauns Jan 14, 2025
d493f82
fixed quotient e preprocessing
joe-hauns Jan 14, 2025
f41512e
bug fix for arithmetic + polymorphism
joe-hauns Jan 15, 2025
b6f3fc1
bug fix
joe-hauns Jan 15, 2025
51c8e0b
Merge branch 'master' into alasca
joe-hauns Jan 15, 2025
7d86764
Merge branch 'fix-ordering-comparator-for-non-specialized-orderings' …
joe-hauns Jan 15, 2025
939f4fe
Merge branch 'master' into alasca
joe-hauns Jan 16, 2025
5169609
(hacky) fixed uwa_floor for int
joe-hauns Jan 16, 2025
18fd845
Merge branch 'z3-intefacing-fix' into alasca
joe-hauns Jan 20, 2025
f23af2c
Merge branch 'master' into alasca
joe-hauns Jan 20, 2025
19e34cd
fixed preprocessing order once again
joe-hauns Jan 20, 2025
5af3b06
tidy
joe-hauns Jan 20, 2025
6e446a6
tidy
joe-hauns Jan 20, 2025
9e057fe
tidy
joe-hauns Jan 20, 2025
94fd92b
tidy
joe-hauns Jan 21, 2025
49fafde
tidy
joe-hauns Jan 21, 2025
bd6749d
tidy
joe-hauns Jan 21, 2025
600ae38
option renaming
joe-hauns Jan 21, 2025
7940bf2
tidy
joe-hauns Jan 21, 2025
5d62285
renamed lpar(..) -> alasca(..)
joe-hauns Jan 21, 2025
541240d
removed Shell::Getter from NumTraits
joe-hauns Jan 21, 2025
f12b4fa
commented out noZ3 constraints
joe-hauns Jan 21, 2025
3340168
really removed noZ3 constraints
joe-hauns Jan 21, 2025
1cbb75d
sorted out preprocessing pipeline
joe-hauns Jan 21, 2025
c471f6b
AlascaSimplRule.hpp ==> AlascaTestUtils.hpp
joe-hauns Jan 21, 2025
30bd9be
documentation
joe-hauns Jan 21, 2025
475c6b7
documentation
joe-hauns Jan 21, 2025
8150527
option documentation
joe-hauns Jan 21, 2025
69c7499
Merge branch 'alasca' of github.com:vprover/vampire into alasca
joe-hauns Jan 21, 2025
c2ece31
fixed license headers
joe-hauns Jan 21, 2025
fbbb84a
license header
joe-hauns Jan 21, 2025
5d4f5c0
bug fix
joe-hauns Jan 23, 2025
e2f1117
made porfolio scaling overflow safe
joe-hauns Jan 24, 2025
d16969c
random seeds used for strategy sampling
joe-hauns Jan 24, 2025
32d2dea
bug fix for $is_int
joe-hauns Jan 24, 2025
a4f66c6
removed line that was accidentally removed in the merging progress
joe-hauns Jan 27, 2025
92b81ff
tidy
joe-hauns Jan 27, 2025
d196cfd
added test case
joe-hauns Jan 27, 2025
e62dc56
corrected error message
joe-hauns Jan 27, 2025
2854749
removed unnecessary import
joe-hauns Jan 27, 2025
b18ba25
changed default value for MINI_GMP
joe-hauns Jan 27, 2025
d39663c
update Makefile accordingly
quickbeam123 Jan 27, 2025
8e44cf8
added whitespace to prevent very strange segfault in the parser of cl…
joe-hauns Jan 27, 2025
c05c106
Merge branch 'alasca' of github.com:vprover/vampire into alasca
joe-hauns Jan 27, 2025
e4e6815
more white-space games in VIRAS.cpp
quickbeam123 Jan 27, 2025
46d7e25
let the Makefile path use g++(gcc) at least for now
quickbeam123 Jan 27, 2025
24bd130
added the random_strategy_seed option
quickbeam123 Jan 27, 2025
7ddcc8e
one gcc warning gone
quickbeam123 Jan 27, 2025
7e1a710
one more gcc warning gone
quickbeam123 Jan 27, 2025
cf9422d
last gcc warning gone for me
quickbeam123 Jan 27, 2025
923e3fe
better option constraints for alasca
joe-hauns Jan 28, 2025
4ca8ad4
only add alasca options if there is arithmetic in the problem
joe-hauns Jan 28, 2025
625c8e6
default seed is 1, while 0 still means "give me a random random_seed"
quickbeam123 Jan 30, 2025
b3dc668
either alasca takes it all, or we have the old way
quickbeam123 Jan 30, 2025
00b5b21
constraint for what's already there; namely that use_ac_eval does not…
quickbeam123 Jan 30, 2025
3b68e96
removed stat biggestGeneratedClause
joe-hauns Jan 31, 2025
bd08729
Merge branch 'alasca' of github.com:vprover/vampire into alasca
joe-hauns Jan 31, 2025
d73b091
bug fix when using multiple sorts for IntegerFourierMotzkin
joe-hauns Jan 31, 2025
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
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
[submodule "z3"]
path = z3
url = https://github.com/Z3Prover/z3
[submodule "viras"]
path = viras
url = https://github.com/joe-hauns/viras
MichaelRawson marked this conversation as resolved.
Show resolved Hide resolved
32 changes: 22 additions & 10 deletions CASC/PortfolioMode.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@
#include "Shell/Shuffling.hpp"
#include "Shell/TheoryFinder.hpp"

#include <limits>
#include <unistd.h>
#include <signal.h>
#include <fstream>
Expand Down Expand Up @@ -296,7 +297,14 @@ bool PortfolioMode::prepareScheduleAndPerform(const Shell::Property& prop)
*/
void PortfolioMode::rescaleScheduleLimits(const Schedule& sOld, Schedule& sNew, float limit_multiplier)
{
ASS(limit_multiplier >= 0)
Schedule::BottomFirstIterator it(sOld);
auto scale = [&](auto v) {
unsigned newV = v * limit_multiplier;
return limit_multiplier > 0 && newV < v
? /* overflow */ std::numeric_limits<unsigned>::max()
: newV;
};
while(it.hasNext()){
std::string s = it.next();

Expand All @@ -310,19 +318,19 @@ void PortfolioMode::rescaleScheduleLimits(const Schedule& sOld, Schedule& sNew,
size_t eidx = s.find_first_of(":_",bidx); // find the end of the number there
ASS_NEQ(eidx,std::string::npos);
std::string instrStr = s.substr(bidx,eidx-bidx);
unsigned instr;
ALWAYS(Int::stringToUnsignedInt(instrStr,instr));
instr *= limit_multiplier;
s = s.substr(0,bidx) + Lib::Int::toString(instr) + s.substr(eidx);
unsigned oldInstr;
ALWAYS(Int::stringToUnsignedInt(instrStr,oldInstr));
s = s.substr(0,bidx) + Lib::Int::toString(scale(oldInstr)) + s.substr(eidx);
}

// do the analogous with the time limit suffix
std::string ts = s.substr(s.find_last_of("_")+1,std::string::npos);
unsigned time;
ALWAYS(Lib::Int::stringToUnsignedInt(ts,time));
unsigned oldTime;
ALWAYS(Lib::Int::stringToUnsignedInt(ts,oldTime));
std::string prefix = s.substr(0,s.find_last_of("_"));
// Add a copy with increased time limit ...
std::string new_time_suffix = Lib::Int::toString((int)(time*limit_multiplier));

std::string new_time_suffix = Lib::Int::toString(scale(oldTime));

sNew.push(prefix + "_" + new_time_suffix);
}
Expand Down Expand Up @@ -557,7 +565,11 @@ unsigned PortfolioMode::getSliceTime(const std::string &sliceCode)
sliceTime = 1 + sliceInstr / 200; // rather round up than down (and never return 0 here)
}

return _slowness * sliceTime;
ASS(_slowness > 0)
unsigned res = _slowness * sliceTime;
return _slowness >= 1 && res < sliceTime
? /* overflow */ std::numeric_limits<unsigned>::max()
: res;
} // getSliceTime

/**
Expand All @@ -568,7 +580,7 @@ void PortfolioMode::runSlice(std::string sliceCode, int timeLimitInDeciseconds)
TIME_TRACE("run slice");

int sliceTime = getSliceTime(sliceCode);
if (sliceTime > timeLimitInDeciseconds
if (sliceTime > timeLimitInDeciseconds
|| !sliceTime) // no limit set, i.e. "infinity"
{
sliceTime = timeLimitInDeciseconds;
Expand All @@ -580,7 +592,7 @@ void PortfolioMode::runSlice(std::string sliceCode, int timeLimitInDeciseconds)
Options opt = *env.options;

// opt.randomSeed() would normally be inherited from the parent
// addCommentSignForSZS(cout) << "runSlice - seed before setting: " << opt.randomSeed() << endl;
// addCommentSignForSZS(cout) << "runSlice - seed before setting: " << opt.randomSeed() << endl;
if (env.options->randomizeSeedForPortfolioWorkers()) {
// but here we want each worker to have their own seed
opt.setRandomSeed(std::random_device()());
Expand Down
70 changes: 66 additions & 4 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -213,6 +213,7 @@ set(VAMPIRE_KERNEL_SOURCES
Kernel/InterpretedLiteralEvaluator.cpp
Kernel/Rebalancing.cpp
Kernel/KBO.cpp
Kernel/QKbo.cpp
Kernel/KBOComparator.cpp
Kernel/LiteralSelector.cpp
Kernel/LookaheadLiteralSelector.cpp
Expand Down Expand Up @@ -263,6 +264,7 @@ set(VAMPIRE_KERNEL_SOURCES
Kernel/InterpretedLiteralEvaluator.hpp
Kernel/Rebalancing.cpp
Kernel/KBO.hpp
Kernel/QKbo.hpp
Kernel/KBOComparator.hpp
Kernel/LiteralComparators.hpp
Kernel/LiteralSelector.hpp
Expand Down Expand Up @@ -307,6 +309,18 @@ set(VAMPIRE_KERNEL_SOURCES
Kernel/ApplicativeHelper.cpp
Kernel/SKIKBO.hpp
Kernel/SKIKBO.cpp
Kernel/ALASCA.hpp
Kernel/ALASCA/Signature.hpp
Kernel/ALASCA/Signature.cpp
Kernel/ALASCA/SelectionPrimitves.hpp
Kernel/ALASCA/SelectionPrimitves.cpp
Kernel/ALASCA/Normalization.cpp
Kernel/ALASCA/Normalization.hpp
Kernel/ALASCA/Preprocessor.hpp
Kernel/ALASCA/Ordering.hpp
Kernel/ALASCA/State.hpp
Kernel/ALASCA/State.cpp
Kernel/ALASCA/Index.hpp
Inferences/CNFOnTheFly.cpp
Inferences/CNFOnTheFly.hpp
Inferences/CombinatorDemodISE.cpp
Expand Down Expand Up @@ -420,6 +434,28 @@ set(VAMPIRE_INFERENCE_SOURCES
Kernel/Rebalancing.cpp
Kernel/Rebalancing/Inverters.cpp
Inferences/Superposition.cpp
Inferences/ALASCA/Normalization.cpp
Inferences/ALASCA/Normalization.hpp
Inferences/ALASCA/InequalityFactoring.cpp
Inferences/ALASCA/InequalityFactoring.hpp
Inferences/ALASCA/EqFactoring.cpp
Inferences/ALASCA/EqFactoring.hpp
Inferences/ALASCA/VariableElimination.cpp
Inferences/ALASCA/VariableElimination.hpp
Inferences/ALASCA/VIRAS.cpp
Inferences/ALASCA/VIRAS.hpp
Inferences/ALASCA/Superposition.cpp
Inferences/ALASCA/Superposition.hpp
Inferences/ALASCA/Demodulation.cpp
Inferences/ALASCA/Demodulation.hpp
Inferences/ALASCA/FwdDemodulation.cpp
Inferences/ALASCA/FwdDemodulation.hpp
Inferences/ALASCA/BwdDemodulation.cpp
Inferences/ALASCA/BwdDemodulation.hpp
Inferences/ALASCA/FourierMotzkin.cpp
Inferences/ALASCA/FourierMotzkin.hpp
Inferences/ALASCA/TermFactoring.cpp
Inferences/ALASCA/TermFactoring.hpp
Inferences/TautologyDeletionISE.cpp
Inferences/TermAlgebraReasoning.cpp
Inferences/URResolution.cpp
Expand Down Expand Up @@ -711,6 +747,10 @@ set(VAMPIRE_SAT_SUBSUMPTION_SOURCES
source_group(smt_subsumption_source_files FILES ${VAMPIRE_SAT_SUBSUMPTION_SOURCES})

set(VAMPIRE_TESTING_SOURCES
Test/TermIndexTester.hpp
Test/BuilderPattern.hpp
Test/SimplificationTester.hpp
Test/GenerationTester.hpp
Test/UnitTesting.cpp
Test/UnitTesting.hpp
Test/SyntaxSugar.hpp
Expand All @@ -726,6 +766,22 @@ set(UNIT_TESTS
UnitTests/tUnificationWithAbstraction.cpp
UnitTests/tTermIndex.cpp
UnitTests/tGaussianElimination.cpp
UnitTests/tALASCA_FourierMotzkin.cpp
UnitTests/tALASCA_TautologyDeletion.cpp
UnitTests/tALASCA_IntegerFourierMotzkin.cpp
UnitTests/tALASCA_InequalityFactoring.cpp
UnitTests/tALASCA_Normalization.cpp
UnitTests/tALASCA_FloorElimination.cpp
UnitTests/tALASCA_CoherenceNormalization.cpp
UnitTests/tALASCA_Abstraction.cpp
UnitTests/tALASCA_Superposition.cpp
UnitTests/tALASCA_Coherence.cpp
UnitTests/tALASCA_EqFactoring.cpp
UnitTests/tALASCA_VariableElimination.cpp
UnitTests/tALASCA_TermFactoring.cpp
UnitTests/tALASCA_Demodulation.cpp
UnitTests/tALASCA_VIRAS.cpp
UnitTests/tALASCA_LaKbo.cpp
UnitTests/tPushUnaryMinus.cpp
UnitTests/tArithmeticSubtermGeneralization.cpp
UnitTests/tInterpretedFunctions.cpp
Expand All @@ -741,6 +797,7 @@ set(UNIT_TESTS
UnitTests/tBinaryHeap.cpp
UnitTests/tSafeRecursion.cpp
UnitTests/tKBO.cpp
UnitTests/tQKbo.cpp
UnitTests/tSKIKBO.cpp
UnitTests/tLPO.cpp
UnitTests/tRatioKeeper.cpp
Expand All @@ -749,7 +806,6 @@ set(UNIT_TESTS
UnitTests/tList.cpp
UnitTests/tBottomUpEvaluation.cpp
UnitTests/tCoproduct.cpp
UnitTests/tEqualityResolution.cpp
UnitTests/tIterator.cpp
UnitTests/tOption.cpp
UnitTests/tStack.cpp
Expand Down Expand Up @@ -812,11 +868,15 @@ include_directories(${CMAKE_CURRENT_SOURCE_DIR})
add_compile_definitions(CHECK_LEAKS=0)
if(CMAKE_BUILD_TYPE STREQUAL Debug)
add_compile_definitions(VDEBUG=1)
elseif(CMAKE_BUILD_TYPE STREQUAL RelWithDebInfo)
add_compile_definitions(VDEBUG=0)
add_compile_definitions(NDEBUG)
elseif(CMAKE_BUILD_TYPE STREQUAL Release)
add_compile_definitions(VDEBUG=0)
add_compile_definitions(NDEBUG)
endif()

add_compile_definitions(ABSOLUTE_SOURCE_DIR="${CMAKE_SOURCE_DIR}")
# enable for time profiling
add_compile_definitions(VTIME_PROFILING=0)

Expand All @@ -830,8 +890,9 @@ list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake-modules")
# gmp stuff
################################################################

find_package(GMP)
if (GMP_FOUND)
option(MINI_GMP "compile an own version of mini-gmp instead of linking with system level gmp" ON)
if (NOT MINI_GMP)
find_package(GMP REQUIRED)
message(STATUS "Found system level gmp version ${GMP_C_LIBRARIES}.")
add_compile_definitions(VMINI_GMP=0)
include_directories(${GMP_INCLUDE_DIRS})
Expand All @@ -842,7 +903,6 @@ else()
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/mini-gmp-6.3.0)
endif()


################################################################
# z3 stuff
################################################################
Expand Down Expand Up @@ -874,6 +934,8 @@ else ()
set(UNIT_TESTS ${UNIT_TESTS} ${UNIT_TESTS_Z3})
endif()

# add viras package source
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/viras/src)

################################################################
# build objects
Expand Down
13 changes: 13 additions & 0 deletions Debug/Tracer.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,16 @@ namespace Tracer {
void printStack();
};

struct DebugConfig {
unsigned indent = 0;
};
static DebugConfig debugConfig;

struct DebugIndentGuard {
DebugIndentGuard() { debugConfig.indent++; }
~DebugIndentGuard() { debugConfig.indent--; }
};

template<class... As>
struct _printDbg {
void operator()(const As&... msg);
Expand Down Expand Up @@ -58,6 +68,7 @@ template<class... A> void printDbg(const char* file, int line, const A&... msg)
std::cout << ' ';
}
std::cout << "@" << std::setw(5) << line << ":";
std::cout << Lib::Output::repeat(" ", debugConfig.indent);
_printDbg<A...>{}(msg...);
std::cout << std::endl;
}
Expand All @@ -73,10 +84,12 @@ template<class... A> void printDbg(const char* file, int line, const A&... msg)
#endif

# define DBG(...) { Debug::printDbg(__REL_FILE__, __LINE__, __VA_ARGS__); }
# define DBG_INDENT Debug::DebugIndentGuard {};
# define WARN(...) { DBG("WARNING: ", __VA_ARGS__); }
# define DBGE(x) DBG(#x, " = ", x)
#else // ! VDEBUG
# define WARN(...) {}
# define DBG_INDENT {}
# define DBG(...) {}
# define DBGE(x) {}
#endif
Expand Down
1 change: 1 addition & 0 deletions FMB/DefinitionIntroduction.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
#include "Kernel/Signature.hpp"
#include "Kernel/Term.hpp"
#include "Kernel/TermIterators.hpp"
#include "Debug/TimeProfiling.hpp"
#include "Kernel/Clause.hpp"

#include "Lib/Environment.hpp"
Expand Down
3 changes: 3 additions & 0 deletions Forwards.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@ class Signature;

class Term;
class TermList;
typedef TermList SortId;
typedef VirtualIterator<TermList> TermIterator;
typedef Stack<TermList> TermStack;

Expand Down Expand Up @@ -173,6 +174,7 @@ namespace SAT
using namespace Lib;

class SATClause;
class Z3Interfacing;
class SATLiteral;
class SATInference;
class SATSolver;
Expand All @@ -181,6 +183,7 @@ typedef VirtualIterator<SATClause*> SATClauseIterator;
typedef List<SATClause*> SATClauseList;
typedef Stack<SATClause*> SATClauseStack;
typedef Stack<SATLiteral> SATLiteralStack;

}

namespace Shell
Expand Down
1 change: 0 additions & 1 deletion Indexing/CodeTree.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -555,7 +555,6 @@ class CodeTree
unsigned _maxVarCnt;

CodeBlock* _entryPoint;

};

}
Expand Down
1 change: 1 addition & 0 deletions Indexing/Index.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
*/

#include "Index.hpp"
#include "Forwards.hpp"


namespace Indexing
Expand Down
1 change: 1 addition & 0 deletions Indexing/Index.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
#include "Lib/Exception.hpp"
#include "Lib/VirtualIterator.hpp"
#include "Saturation/ClauseContainer.hpp"
#include "Kernel/Clause.hpp"
#include "ResultSubstitution.hpp"
#include "Kernel/UnificationWithAbstraction.hpp"
#include "Lib/Allocator.hpp"
Expand Down
Loading