Open MichaelRawson opened 4 years ago
What about the whole API folder?
There is also some mysterious looking ProofSimplifier in Shell.
Very possibly @quickbeam123! I'm going to chat with Giles Monday about any politics I need to be aware of, then start deleting things in order of least-likely-to-be-wanted first.
Inferences/InterpretedSimplifier is completed commented out. Perhaps it can be removed.
Some values in TimeCounterUnit most likely don't occur in the code anymore... Like TC_BDD_CLAUSIFICATION, etc. Could be removed as well!
There also some code, authored by Ioan, generally guarded by #if GNUMP
and thus not compiled currently, which could perhaps be removed.
Got another one: CTFwSubsAndRes.*
So, transitively, CodeTreeSubsumptionIndex is also unused and maybe some other indices are formally alive but unused because of how IndexManager works.
@quickbeam123 - good spot, I think @JakobR plans to fix something in this region - perhaps they can comment to see what they need?
@MichaelRawson feel free to remove CTFwSubsAndRes; I will revive it from the history in case I need it later.
It would be nice if we could keep CodeTreeSubsumptionIndex
and ClauseCodeTree
though (they're both compiled now, but probably unused). But if they're too much of a hassle to keep around, you can remove them as well and I will deal with it later.
@JakobR - thanks. OK, CTFw can go but I'll keep code trees - I'm not in a hurry to delete stuff people want, only the stuff nobody wants. :-)
@easychair and/or @quickbeam123 - a reminder, do you have some data about which options are/are not useful in terms of schedules? Naturally it's not the only consideration when removing something, but it's a pretty good indicator.
I have lot's of data, but it's not so easy to interpret it. Most notably, it's not entirely clear where draw the line and call an option/value not worth maintaining. For most of the cases, one can find a problem that the database cannot solve otherwise... (then how many lost solution can be reclaimed by more search, or how many lost solutions are worth sacrificing for better maintenance?)
Most notably, it's not entirely clear where draw the line and call an option/value not worth maintaining
I think this is the crux of it. Maybe we can start by ranking options in terms of effectiveness? Is that a reasonable thing to do?
Some code in Vampire's tree appears to no longer be used. While this is not a problem in itself, it adds to the noise for new contributors and some dead code is still being compiled or even linked (see e.g. PR #153 to remove Lingeling sources). Additionally, changes to interfaces require more effort as code that is no longer used needs fixing.
After some discussion with others, I believe some of the following could be removed:
Saturation/Limits
are empty files.Shell/SimplifyProver
isn't used anywhere - used to be support for the Simplify theorem prover's languageShell/ProofSimplifier
BFNT
andBFNTMainLoop
is an old form of finite model building.Inferences/InterpretedSimplifier
commented outIndexing/ArithmeticIndex
commented outVUtil
and friends - no longer build, not touched in several yearsvutil
ucompit
vclausify
vcompit
vground
vsat
vltb
vtest
Test
TimeCounterUnit
:TC_BDD
etc.TWLSolver
Lib::InPlaceStack
Lib::Graph
MatchTag
OptionsReader
FormulaIndex
CTFwSubsAndRes
CParser
EqualityAxiomatiser
GlobalOptions
Refutation
PDUtils
#if GNUMP
SAT::Preprocess
Inferences::SLQueryForwardSubsumption
,Inferences::RefutationSeekerFSE
EGSubstitution
Kernel/RobSubstitution
Kernel/SortHelper
Kernel/Currifier.hpp
Term::askDistinctVars
Lib::LastCopyWatcher
Inferences::HyperSuperposition
PortfolioMode::waitForChildAndCheckIfProofFound
Formula.cpp
DECLARE_PLACEMENT_NEW
TermSharing::insertRecurrently
Lib::TimeCounter
Shell::Profile
FoolAwareSubformulaIterator
andFoolAwareSubtermIterator
InstGen
ArrayTheoryISE
Api/
env.out()
Lib::MemoryLeak
Matcher
:OCMatchIterator
,MatchIterator
...ColorHelper::tryUnblock
limitMemory
, we control its allocations.Lib::MultiCounter
applyToLiteral
inSubstHelper
scripts
seem like they might no longer serve a purpose.SortHelper::getTermSort
[ ] combinatory HOL approach, superseded by HOL branch
Some things might be used in the near future, but currently are not.
[ ]
CodeTreeSubsumptionIndex
andClauseCodeTree
, orphaned byCTFwSubsAndRes
- see below.Credit to @quickbeam123, @ibnyusuf and @selig for identifying some of these. What I'd like from the team is help to identify more unused files or dead code, as well as rescuing files that need to be kept.
Eventually things that are still on the list will be removed by PR. Fear not, however, one of the many virtues of source control is the ability to reanimate code from beyond the grave. Thank you!