aboutsummaryrefslogtreecommitdiffstats
path: root/Solvers
diff options
context:
space:
mode:
authorLibravatar ArenBabikian <aren.babikian@mail.mcgill.ca>2019-10-11 15:51:49 -0400
committerLibravatar ArenBabikian <aren.babikian@mail.mcgill.ca>2019-10-11 15:51:49 -0400
commit17d6aa5028bff14c80f0be6a042c6a68fe8b61b0 (patch)
tree0c156ad34304a1ac296690fd4c3bf1c438245456 /Solvers
parentimplement http requests for the TPTP server (diff)
downloadVIATRA-Generator-17d6aa5028bff14c80f0be6a042c6a68fe8b61b0.tar.gz
VIATRA-Generator-17d6aa5028bff14c80f0be6a042c6a68fe8b61b0.tar.zst
VIATRA-Generator-17d6aa5028bff14c80f0be6a042c6a68fe8b61b0.zip
VAMPIRE: complete testing setup
Diffstat (limited to 'Solvers')
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/xtend-gen/ca/mcgill/ecse/dslreasoner/ide/.VampireLanguageIdeModule.xtendbinbin1685 -> 1685 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/xtend-gen/ca/mcgill/ecse/dslreasoner/ide/.VampireLanguageIdeSetup.xtendbinbin2500 -> 2500 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/.VampireLanguageUiModule.xtendbinbin2342 -> 2342 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/contentassist/.VampireLanguageProposalProvider.xtendbinbin1792 -> 1792 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/labeling/.VampireLanguageDescriptionLabelProvider.xtendbinbin1965 -> 1965 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/labeling/.VampireLanguageLabelProvider.xtendbinbin2405 -> 2405 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/outline/.VampireLanguageOutlineTreeProvider.xtendbinbin1819 -> 1819 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/quickfix/.VampireLanguageQuickfixProvider.xtendbinbin1786 -> 1786 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/.VampireLanguageRuntimeModule.xtendbinbin1706 -> 1706 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/.VampireLanguageStandaloneSetup.xtendbinbin1980 -> 1980 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/formatting2/.VampireLanguageFormatter.xtendbinbin3759 -> 3759 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/generator/.VampireLanguageGenerator.xtendbinbin2338 -> 2338 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/scoping/.VampireLanguageScopeProvider.xtendbinbin1751 -> 1751 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/validation/.VampireLanguageValidator.xtendbinbin1736 -> 1736 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/.classpath6
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/VampireAnalyzerConfiguration.xtend16
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/VampireSolver.xtend116
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_ScopeMapper.xtend6
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_Support.xtend95
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/VampireHandler.xtend2
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/.VampireAnalyzerConfiguration.xtendbinbin3161 -> 3418 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/.VampireSolver.xtendbinbin6885 -> 10151 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/VampireSolver.java175
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/VampireSolverConfiguration.java4
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper.xtendbinbin19565 -> 19566 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapperTrace.xtendbinbin5080 -> 5080 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_ConstantMapper.xtendbinbin3164 -> 3164 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_ContainmentMapper.xtendbinbin11807 -> 11807 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_RelationMapper.xtendbinbin7880 -> 7880 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_ScopeMapper.xtendbinbin10660 -> 10682 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_Support.xtendbinbin13060 -> 17151 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_TypeMapper.xtendbinbin11037 -> 11037 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Vampire2LogicMapper.xtendbinbin3997 -> 3997 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.VampireHandler.xtendbinbin7803 -> 7804 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.VampireModelInterpretation_TypeInterpretation.xtendbinbin1491 -> 1491 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.VampireModelInterpretation_TypeInterpretation_FilteredTypes.xtendbinbin1688 -> 1688 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_ScopeMapper.java6
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_Support.java88
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/VampireHandler.java2
39 files changed, 445 insertions, 71 deletions
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/xtend-gen/ca/mcgill/ecse/dslreasoner/ide/.VampireLanguageIdeModule.xtendbin b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/xtend-gen/ca/mcgill/ecse/dslreasoner/ide/.VampireLanguageIdeModule.xtendbin
index 1eaefbda..8225ed58 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/xtend-gen/ca/mcgill/ecse/dslreasoner/ide/.VampireLanguageIdeModule.xtendbin
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/xtend-gen/ca/mcgill/ecse/dslreasoner/ide/.VampireLanguageIdeModule.xtendbin
Binary files differ
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/xtend-gen/ca/mcgill/ecse/dslreasoner/ide/.VampireLanguageIdeSetup.xtendbin b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/xtend-gen/ca/mcgill/ecse/dslreasoner/ide/.VampireLanguageIdeSetup.xtendbin
index 05c29aff..5d455790 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/xtend-gen/ca/mcgill/ecse/dslreasoner/ide/.VampireLanguageIdeSetup.xtendbin
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/xtend-gen/ca/mcgill/ecse/dslreasoner/ide/.VampireLanguageIdeSetup.xtendbin
Binary files differ
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/.VampireLanguageUiModule.xtendbin b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/.VampireLanguageUiModule.xtendbin
index 12f063b1..db1a37c4 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/.VampireLanguageUiModule.xtendbin
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/.VampireLanguageUiModule.xtendbin
Binary files differ
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/contentassist/.VampireLanguageProposalProvider.xtendbin b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/contentassist/.VampireLanguageProposalProvider.xtendbin
index 88a713db..32d2213b 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/contentassist/.VampireLanguageProposalProvider.xtendbin
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/contentassist/.VampireLanguageProposalProvider.xtendbin
Binary files differ
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/labeling/.VampireLanguageDescriptionLabelProvider.xtendbin b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/labeling/.VampireLanguageDescriptionLabelProvider.xtendbin
index 31d3dbf6..24c6eca6 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/labeling/.VampireLanguageDescriptionLabelProvider.xtendbin
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/labeling/.VampireLanguageDescriptionLabelProvider.xtendbin
Binary files differ
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/labeling/.VampireLanguageLabelProvider.xtendbin b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/labeling/.VampireLanguageLabelProvider.xtendbin
index ca30b3d0..422fad02 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/labeling/.VampireLanguageLabelProvider.xtendbin
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/labeling/.VampireLanguageLabelProvider.xtendbin
Binary files differ
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/outline/.VampireLanguageOutlineTreeProvider.xtendbin b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/outline/.VampireLanguageOutlineTreeProvider.xtendbin
index 0d75d237..d6bf1d6f 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/outline/.VampireLanguageOutlineTreeProvider.xtendbin
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/outline/.VampireLanguageOutlineTreeProvider.xtendbin
Binary files differ
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/quickfix/.VampireLanguageQuickfixProvider.xtendbin b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/quickfix/.VampireLanguageQuickfixProvider.xtendbin
index a8d38a91..d341af67 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/quickfix/.VampireLanguageQuickfixProvider.xtendbin
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/quickfix/.VampireLanguageQuickfixProvider.xtendbin
Binary files differ
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/.VampireLanguageRuntimeModule.xtendbin b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/.VampireLanguageRuntimeModule.xtendbin
index 0192cd3c..2f552529 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/.VampireLanguageRuntimeModule.xtendbin
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/.VampireLanguageRuntimeModule.xtendbin
Binary files differ
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/.VampireLanguageStandaloneSetup.xtendbin b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/.VampireLanguageStandaloneSetup.xtendbin
index 07f4c611..f73dadba 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/.VampireLanguageStandaloneSetup.xtendbin
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/.VampireLanguageStandaloneSetup.xtendbin
Binary files differ
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/formatting2/.VampireLanguageFormatter.xtendbin b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/formatting2/.VampireLanguageFormatter.xtendbin
index 01c9f74f..0b18e8e6 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/formatting2/.VampireLanguageFormatter.xtendbin
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/formatting2/.VampireLanguageFormatter.xtendbin
Binary files differ
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/generator/.VampireLanguageGenerator.xtendbin b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/generator/.VampireLanguageGenerator.xtendbin
index b4bd4155..8dac584b 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/generator/.VampireLanguageGenerator.xtendbin
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/generator/.VampireLanguageGenerator.xtendbin
Binary files differ
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/scoping/.VampireLanguageScopeProvider.xtendbin b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/scoping/.VampireLanguageScopeProvider.xtendbin
index 5dd72d15..ee3df0a3 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/scoping/.VampireLanguageScopeProvider.xtendbin
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/scoping/.VampireLanguageScopeProvider.xtendbin
Binary files differ
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/validation/.VampireLanguageValidator.xtendbin b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/validation/.VampireLanguageValidator.xtendbin
index db384a64..96ae5822 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/validation/.VampireLanguageValidator.xtendbin
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/validation/.VampireLanguageValidator.xtendbin
Binary files differ
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/.classpath b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/.classpath
index 2a126610..f6de9681 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/.classpath
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/.classpath
@@ -6,5 +6,11 @@
6 <classpathentry kind="src" path="xtend-gen"/> 6 <classpathentry kind="src" path="xtend-gen"/>
7 <classpathentry kind="src" path="queries"/> 7 <classpathentry kind="src" path="queries"/>
8 <classpathentry kind="src" path="src-gen"/> 8 <classpathentry kind="src" path="src-gen"/>
9 <classpathentry kind="lib" path="lib/annotations-13.0.jar"/>
10 <classpathentry kind="lib" path="lib/kotlin-stdlib-1.3.50.jar"/>
11 <classpathentry kind="lib" path="lib/kotlin-stdlib-common-1.3.50.jar"/>
12 <classpathentry kind="lib" path="lib/okhttp-4.2.0.jar"/>
13 <classpathentry kind="lib" path="lib/okio-2.2.2.jar"/>
14 <classpathentry kind="lib" path="lib/unirest-java-1.4.9.jar"/>
9 <classpathentry kind="output" path="bin"/> 15 <classpathentry kind="output" path="bin"/>
10</classpath> 16</classpath>
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/VampireAnalyzerConfiguration.xtend b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/VampireAnalyzerConfiguration.xtend
index 4e9737cb..4c2f1952 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/VampireAnalyzerConfiguration.xtend
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/VampireAnalyzerConfiguration.xtend
@@ -2,21 +2,29 @@ package ca.mcgill.ecse.dslreasoner.vampire.reasoner
2 2
3import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicSolverConfiguration 3import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicSolverConfiguration
4 4
5class VampireSolverConfiguration extends LogicSolverConfiguration { 5class VampireSolverConfiguration
6 extends LogicSolverConfiguration {
6 7
7 public var int contCycleLevel = 0 8 public var int contCycleLevel = 0
8 public var boolean uniquenessDuplicates = false 9 public var boolean uniquenessDuplicates = false
9 public var int iteration = -1 10 public var int iteration = -1
10 public var BackendSolver solver = BackendSolver::VAMP 11 public var BackendSolver solver = BackendSolver::VAMPIRE
11 public var genModel = true 12 public var genModel = true
13 public var server = false
12 //choose needed backend solver 14 //choose needed backend solver
13// public var VampireBackendSolver solver = VampireBackendSolver.SAT4J 15// public var VampireBackendSolver solver = VampireBackendSolver.SAT4J
14} 16}
15 17
16 18
17enum BackendSolver { 19enum BackendSolver {
18 VAMP, 20 CVC4,
19 CVC4 21 DARWINFM,
22 EDARWIN,
23 GEOIII,
24 IPROVER,
25 PARADOX,
26 VAMPIRE,
27 Z3
20 //add needed things 28 //add needed things
21} 29}
22 30
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/VampireSolver.xtend b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/VampireSolver.xtend
index 85b81a8c..31aa091c 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/VampireSolver.xtend
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/VampireSolver.xtend
@@ -4,18 +4,20 @@ import ca.mcgill.ecse.dslreasoner.VampireLanguageStandaloneSetup
4import ca.mcgill.ecse.dslreasoner.VampireLanguageStandaloneSetupGenerated 4import ca.mcgill.ecse.dslreasoner.VampireLanguageStandaloneSetupGenerated
5import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.Logic2VampireLanguageMapper 5import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.Logic2VampireLanguageMapper
6import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.Logic2VampireLanguageMapperTrace 6import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.Logic2VampireLanguageMapperTrace
7import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.Logic2VampireLanguageMapper_Support
7import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.MonitoredVampireSolution 8import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.MonitoredVampireSolution
8import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.Vampire2LogicMapper 9import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.Vampire2LogicMapper
9import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.VampireHandler 10import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.VampireHandler
10import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.VampireModelInterpretation 11import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.VampireModelInterpretation
12import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguageFactory
11import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage 13import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage
12import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireModel 14import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireModel
13import ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSFiniteModelImpl
14import hu.bme.mit.inf.dslreasoner.logic.model.builder.DocumentationLevel 15import hu.bme.mit.inf.dslreasoner.logic.model.builder.DocumentationLevel
15import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicReasoner 16import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicReasoner
16import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicReasonerException 17import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicReasonerException
17import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicSolverConfiguration 18import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicSolverConfiguration
18import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem 19import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem
20import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicresultFactory
19import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.ModelResult 21import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.ModelResult
20import hu.bme.mit.inf.dslreasoner.workspace.ReasonerWorkspace 22import hu.bme.mit.inf.dslreasoner.workspace.ReasonerWorkspace
21 23
@@ -30,18 +32,20 @@ class VampireSolver extends LogicReasoner {
30 val Logic2VampireLanguageMapper forwardMapper = new Logic2VampireLanguageMapper 32 val Logic2VampireLanguageMapper forwardMapper = new Logic2VampireLanguageMapper
31 val Vampire2LogicMapper backwardMapper = new Vampire2LogicMapper 33 val Vampire2LogicMapper backwardMapper = new Vampire2LogicMapper
32 val VampireHandler handler = new VampireHandler 34 val VampireHandler handler = new VampireHandler
35 val Logic2VampireLanguageMapper_Support support = new Logic2VampireLanguageMapper_Support
36 val extension LogicresultFactory resultFactory = LogicresultFactory.eINSTANCE
37 private val extension VampireLanguageFactory factory = VampireLanguageFactory.eINSTANCE
33 38
34// var fileName = "problem.tptp" 39// var fileName = "problem.tptp"
35
36// def solve(LogicProblem problem, LogicSolverConfiguration config, ReasonerWorkspace workspace, String location) { 40// def solve(LogicProblem problem, LogicSolverConfiguration config, ReasonerWorkspace workspace, String location) {
37// fileName = location + fileName 41// fileName = location + fileName
38// solve(problem, config, workspace) 42// solve(problem, config, workspace)
39// } 43// }
40
41 override solve(LogicProblem problem, LogicSolverConfiguration config, 44 override solve(LogicProblem problem, LogicSolverConfiguration config,
42 ReasonerWorkspace workspace) throws LogicReasonerException { 45 ReasonerWorkspace workspace) throws LogicReasonerException {
43 val vampireConfig = config.asConfig 46 val vampireConfig = config.asConfig
44 var fileName = "problem_" + vampireConfig.typeScopes.minNewElements + "-" + vampireConfig.typeScopes.maxNewElements + ".tptp" 47 var fileName = "problem_" + vampireConfig.typeScopes.minNewElements + "-" +
48 vampireConfig.typeScopes.maxNewElements + ".tptp"
45 49
46 // Start: Logic -> Vampire mapping 50 // Start: Logic -> Vampire mapping
47 val transformationStart = System.currentTimeMillis 51 val transformationStart = System.currentTimeMillis
@@ -55,8 +59,6 @@ class VampireSolver extends LogicReasoner {
55 var String fileURI = null; 59 var String fileURI = null;
56 var String vampireCode = null; 60 var String vampireCode = null;
57 vampireCode = workspace.writeModelToString(vampireProblem, fileName) 61 vampireCode = workspace.writeModelToString(vampireProblem, fileName)
58
59
60 62
61 val writeFile = ( 63 val writeFile = (
62 vampireConfig.documentationLevel === DocumentationLevel::NORMAL || 64 vampireConfig.documentationLevel === DocumentationLevel::NORMAL ||
@@ -73,24 +75,94 @@ class VampireSolver extends LogicReasoner {
73// println(model) 75// println(model)
74 // Finish: Logic -> Vampire mapping 76 // Finish: Logic -> Vampire mapping
75 if (vampireConfig.genModel) { 77 if (vampireConfig.genModel) {
76 78 if (vampireConfig.server) {
77 // Start: Solving .tptp problem 79 val form = support.makeForm(vampireCode, vampireConfig.solver, vampireConfig.runtimeLimit)
78 val MonitoredVampireSolution vampSol = handler.callSolver(vampireProblem, workspace, vampireConfig) 80 var response = newArrayList
79 // Finish: Solving .tptp problem 81 var ind = 0
80 // Start: Vampire -> Logic mapping 82 var done = false
81 val backTransformationStart = System.currentTimeMillis 83 print(" ")
82 // Backwards Mapper 84 while (!done) {
83 val logicResult = backwardMapper.transformOutput(problem, 85 print("(x)")
84 vampireConfig.solutionScope.numberOfRequiredSolution, vampSol, forwardTrace, transformationTime) 86 done = false
85 87 response = support.sendPost(form)
86 val backTransformationTime = System.currentTimeMillis - backTransformationStart 88
87 // Finish: Vampire -> Logic Mapping 89 var responseFound = false
90 ind = 0
91 while (!responseFound) {
92 var line = response.get(ind)
93 if (line.length >= 5 && line.substring(0, 5) == "ERROR") {
94 done = false
95 responseFound = true
96 } else {
97 if (line == "</PRE>") {
98 done = true
99 responseFound = true
100 }
101 }
102 ind++
103 }
104 }
105 val satRaw = response.get(ind - 3)
106 val modRaw = response.get(ind - 2)
107
108 val sat = newArrayList(satRaw.split(" "))
109 val mod = newArrayList(modRaw.split(" "))
110
111 val satOut = sat.get(1)
112 val modOut = mod.get(1)
113 val satTime = sat.get(2)
114 val modTime = mod.get(2)
115
116 println()
117 println(sat)
118 println(mod)
119
120 return createModelResult => [
121 it.problem = null
122 it.representation += createVampireModel => []
123 it.trace = trace
124 it.statistics = createStatistics => [
125 it.transformationTime = transformationTime as int
126 it.entries += createStringStatisticEntry => [
127 it.name = "satOut"
128 it.value = satOut
129 ]
130 it.entries += createRealStatisticEntry => [
131 it.name = "satTime"
132 it.value = Double.parseDouble(satTime)
133 ]
134 it.entries += createStringStatisticEntry => [
135 it.name = "modOut"
136 it.value = modOut
137 ]
138 it.entries += createRealStatisticEntry => [
139 it.name = "modTime"
140 it.value = Double.parseDouble(modTime)
141 ]
142
143 ]
144 ]
145
146// return newArrayList(line1, line2)
147 } else {
148
149 // Start: Solving .tptp problem
150 val MonitoredVampireSolution vampSol = handler.callSolver(vampireProblem, workspace, vampireConfig)
151 // Finish: Solving .tptp problem
152 // Start: Vampire -> Logic mapping
153 val backTransformationStart = System.currentTimeMillis
154 // Backwards Mapper
155 val logicResult = backwardMapper.transformOutput(problem,
156 vampireConfig.solutionScope.numberOfRequiredSolution, vampSol, forwardTrace, transformationTime)
157
158 val backTransformationTime = System.currentTimeMillis - backTransformationStart
159 // Finish: Vampire -> Logic Mapping
88// print(vampSol.generatedModel.tfformulas.size) 160// print(vampSol.generatedModel.tfformulas.size)
89 return logicResult // currently only a ModelResult 161 return logicResult // currently only a ModelResult
162 }
90 } 163 }
91 164 return backwardMapper.transformOutput(problem, vampireConfig.solutionScope.numberOfRequiredSolution,
92 return backwardMapper.transformOutput(problem, 165 new MonitoredVampireSolution(-1, null), forwardTrace, transformationTime)
93 vampireConfig.solutionScope.numberOfRequiredSolution, new MonitoredVampireSolution(-1, null), forwardTrace, transformationTime)
94 } 166 }
95 167
96 def asConfig(LogicSolverConfiguration configuration) { 168 def asConfig(LogicSolverConfiguration configuration) {
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_ScopeMapper.xtend b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_ScopeMapper.xtend
index 39862c65..a9516cc4 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_ScopeMapper.xtend
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_ScopeMapper.xtend
@@ -40,7 +40,7 @@ class Logic2VampireLanguageMapper_ScopeMapper {
40 // Equals the number of elements in te initial model 40 // Equals the number of elements in te initial model
41 var elemsInIM = trace.definedElement2String.size 41 var elemsInIM = trace.definedElement2String.size
42 val ABSOLUTE_MIN = 0 42 val ABSOLUTE_MIN = 0
43 val ABSOLUTE_MAX = -1-elemsInIM 43 val ABSOLUTE_MAX = Integer.MAX_VALUE-elemsInIM
44// var elemsInIM = 0 44// var elemsInIM = 0
45// 45//
46// for(t : types.filter(TypeDefinition).filter[!isIsAbstract]) { 46// for(t : types.filter(TypeDefinition).filter[!isIsAbstract]) {
@@ -60,7 +60,7 @@ class Logic2VampireLanguageMapper_ScopeMapper {
60 60
61 // Handling Minimum_General 61 // Handling Minimum_General
62 if (GLOBAL_MIN != ABSOLUTE_MIN) { 62 if (GLOBAL_MIN != ABSOLUTE_MIN) {
63 getInstanceConstants(GLOBAL_MIN, 0, localInstances, trace, true, !consistant) 63 getInstanceConstants(GLOBAL_MIN, 0, localInstances, trace, true, consistant)//may make not consistent here
64 if (consistant) { 64 if (consistant) {
65 for (i : trace.uniqueInstances) { 65 for (i : trace.uniqueInstances) {
66 localInstances.add(support.duplicate(i)) 66 localInstances.add(support.duplicate(i))
@@ -73,7 +73,7 @@ class Logic2VampireLanguageMapper_ScopeMapper {
73 73
74 // Handling Maximum_General 74 // Handling Maximum_General
75 if (GLOBAL_MAX != ABSOLUTE_MAX) { 75 if (GLOBAL_MAX != ABSOLUTE_MAX) {
76 getInstanceConstants(GLOBAL_MAX, 0, localInstances, trace, true, consistant) 76 getInstanceConstants(GLOBAL_MAX, 0, localInstances, trace, true, !consistant)
77 if (consistant) { 77 if (consistant) {
78 makeFofFormula(trace.uniqueInstances as ArrayList, trace, false, null) 78 makeFofFormula(trace.uniqueInstances as ArrayList, trace, false, null)
79 } else { 79 } else {
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_Support.xtend b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_Support.xtend
index 680213ab..7b1c7d9a 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_Support.xtend
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_Support.xtend
@@ -1,5 +1,6 @@
1package ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder 1package ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder
2 2
3import ca.mcgill.ecse.dslreasoner.vampire.reasoner.BackendSolver
3import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSConstant 4import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSConstant
4import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunction 5import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunction
5import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunctionAsTerm 6import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunctionAsTerm
@@ -16,6 +17,12 @@ import java.util.ArrayList
16import java.util.HashMap 17import java.util.HashMap
17import java.util.List 18import java.util.List
18import java.util.Map 19import java.util.Map
20import java.util.concurrent.TimeUnit
21import okhttp3.MediaType
22import okhttp3.OkHttpClient
23import okhttp3.Request
24import okhttp3.RequestBody
25import okhttp3.Response
19import org.eclipse.emf.common.util.EList 26import org.eclipse.emf.common.util.EList
20 27
21import static extension hu.bme.mit.inf.dslreasoner.util.CollectionsUtil.* 28import static extension hu.bme.mit.inf.dslreasoner.util.CollectionsUtil.*
@@ -77,13 +84,13 @@ class Logic2VampireLanguageMapper_Support {
77 it.terms += duplicate(v) 84 it.terms += duplicate(v)
78 ] 85 ]
79 } 86 }
80 87
81 def protected List<VLSVariable> duplicate(List<VLSVariable> vars) { 88 def protected List<VLSVariable> duplicate(List<VLSVariable> vars) {
82 var newList = newArrayList 89 var newList = newArrayList
83 for (v : vars) { 90 for (v : vars) {
84 newList.add(duplicate(v)) 91 newList.add(duplicate(v))
85 } 92 }
86 return newList 93 return newList
87 } 94 }
88 95
89 def protected VLSConstant toConstant(VLSFunctionAsTerm term) { 96 def protected VLSConstant toConstant(VLSFunctionAsTerm term) {
@@ -117,7 +124,7 @@ class Logic2VampireLanguageMapper_Support {
117 124
118// TODO Make more general 125// TODO Make more general
119 def establishUniqueness(List<VLSConstant> terms, VLSConstant t2) { 126 def establishUniqueness(List<VLSConstant> terms, VLSConstant t2) {
120 127
121// OLD 128// OLD
122// val List<VLSInequality> eqs = newArrayList 129// val List<VLSInequality> eqs = newArrayList
123// for (t1 : terms.subList(1, terms.length)) { 130// for (t1 : terms.subList(1, terms.length)) {
@@ -133,7 +140,6 @@ class Logic2VampireLanguageMapper_Support {
133// } 140// }
134// return unfoldAnd(eqs) 141// return unfoldAnd(eqs)
135// END OLD 142// END OLD
136
137 val List<VLSInequality> eqs = newArrayList 143 val List<VLSInequality> eqs = newArrayList
138 for (t1 : terms) { 144 for (t1 : terms) {
139 if (t1 != t2) { 145 if (t1 != t2) {
@@ -257,7 +263,8 @@ class Logic2VampireLanguageMapper_Support {
257 } 263 }
258 } 264 }
259 } 265 }
260 //TODO rewrite such that it uses "listSubTypes" 266
267 // TODO rewrite such that it uses "listSubTypes"
261 def protected boolean dfsSubtypeCheck(Type type, Type type2) { 268 def protected boolean dfsSubtypeCheck(Type type, Type type2) {
262 // There is surely a better way to do this 269 // There is surely a better way to do this
263 if (type.subtypes.isEmpty) 270 if (type.subtypes.isEmpty)
@@ -284,4 +291,74 @@ class Logic2VampireLanguageMapper_Support {
284 new HashMap(map1) => [putAll(map2)] 291 new HashMap(map1) => [putAll(map2)]
285 } 292 }
286 293
294 // SERVERS
295 def makeForm(String formula, BackendSolver solver, int time) {
296 return header + formula + addOptions + addSolver(solver, time) + addEnd
297 }
298
299 def getSolverSpecs(BackendSolver solver) {
300 switch (solver) {
301 case BackendSolver::CVC4: return newArrayList("CVC4---SAT-1.7", "do_CVC4 %s %d SAT")
302 case BackendSolver::DARWINFM: return newArrayList("DarwinFM---1.4.5", "darwin -fd true -ppp true -pl 0 -to %d -pmtptp true %s")
303 case BackendSolver::EDARWIN: return newArrayList("E-Darwin---1.5", "e-darwin -pev \"TPTP\" -pmd true -if tptp -pl 2 -pc false -ps false %s")
304 case BackendSolver::GEOIII: return newArrayList("Geo-III---2018C", "geo -tptp_input -nonempty -include /home/tptp/TPTP -inputfile %s")
305 case BackendSolver::IPROVER: return newArrayList("iProver---SAT-3.0", "iproveropt_run_sat.sh %d %s")
306 case BackendSolver::PARADOX: return newArrayList("Paradox---4.0", "paradox --no-progress --time %d --tstp --model %s")
307 case BackendSolver::VAMPIRE: return newArrayList("Vampire---SAT-4.4", "vampire --mode casc_sat -t %d %s")
308 case BackendSolver::Z3: return newArrayList("Z3---4.4.1", "run_z3_tptp -proof -model -t:20 -file:%s")
309 }
310 }
311
312 def getHeader() {
313 return "------WebKitFormBoundaryBdFiQ5zEvTbBl4DA\r\nContent-Disposition: form-data; name=\"ProblemSource\"\r\n\r\nFORMULAE\r\n------WebKitFormBoundaryBdFiQ5zEvTbBl4DA\r\nContent-Disposition: form-data; name=\"FORMULAEProblem\"\r\n\r\n\r\n"
314 }
315
316 def addSpec(String spec) {
317 return spec.replace("\n", "\\r\\n")
318 }
319
320 def addOptions() {
321 return "\r\n------WebKitFormBoundaryBdFiQ5zEvTbBl4DA\r\nContent-Disposition: form-data; name=\"QuietFlag\"\r\n\r\n-q3\r\n------WebKitFormBoundaryBdFiQ5zEvTbBl4DA\r\nContent-Disposition: form-data; name=\"SubmitButton\"\r\n\r\nRunSelectedSystems\r\n"
322 }
323
324 def addSolver(BackendSolver solver, int time) {
325 val solverSpecs = getSolverSpecs(solver)
326 val ID = solverSpecs.get(0)
327 val cmd = solverSpecs.get(1)
328
329 return "------WebKitFormBoundaryBdFiQ5zEvTbBl4DA\r\nContent-Disposition: form-data; name=\"System___" + ID +
330 "\"\r\n\r\n" + ID +
331 "\r\n------WebKitFormBoundaryBdFiQ5zEvTbBl4DA\r\nContent-Disposition: form-data; name=\"Command___" + ID +
332 "\"\r\n\r\n" + cmd.replace("%d", time.toString) + "\r\n"
333 }
334
335 def addEnd() {
336 return "------WebKitFormBoundaryBdFiQ5zEvTbBl4DA--"
337 }
338
339 def sendPost(String formData) throws Exception {
340
341 val OkHttpClient client = new OkHttpClient.Builder().connectTimeout(350, TimeUnit.SECONDS).readTimeout(350, TimeUnit.SECONDS).build()
342
343 val MediaType mediaType = MediaType.parse("multipart/form-data boundary=----WebKitFormBoundaryBdFiQ5zEvTbBl4DA")
344 val RequestBody body = RequestBody.create(mediaType, formData)
345 val Request request = new Request.Builder().url("http://www.tptp.org/cgi-bin/SystemOnTPTPFormReply").post(body).
346 addHeader("Connection", "keep-alive").addHeader("Cache-Control", "max-age=0").addHeader("Origin",
347 "http://tptp.cs.miami.edu").addHeader("Upgrade-Insecure-Requests", "1").addHeader("Content-Type",
348 "multipart/form-data boundary=----WebKitFormBoundaryBdFiQ5zEvTbBl4DA").addHeader("User-Agent",
349 "Mozilla/5.0 (Windows NT 10.0 Win64 x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36").
350 addHeader("Accept",
351 "text/html,application/xhtml+xml,application/xmlq=0.9,image/webp,image/apng,*/*q=0.8,application/signed-exchangev=b3").
352 addHeader("Referer", "http://tptp.cs.miami.edu/cgi-bin/SystemOnTPTP").addHeader("Accept-Encoding",
353 "gzip, deflate").addHeader("Accept-Language", "en-US,enq=0.9").addHeader("Postman-Token",
354 "639ff59f-ab5c-4d9f-9da5-ac8bb64be466,ecb71882-f4d8-4126-8a97-4edb07d4055c").addHeader("Host",
355 "www.tptp.org").addHeader("Content-Length", "44667").addHeader("cache-control", "no-cache").build()
356
357 val Response response = client.newCall(request).execute()
358// TimeUnit.SECONDS.sleep(5)
359 return newArrayList(response.body.string.split("\n"))
360// return response.body.string
361 // case 1:
362 }
363
287} 364}
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/VampireHandler.xtend b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/VampireHandler.xtend
index 47eae807..6d301442 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/VampireHandler.xtend
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/VampireHandler.xtend
@@ -70,7 +70,7 @@ class VampireHandler {
70 var long startTime = -1 as long 70 var long startTime = -1 as long
71 var long solverTime = -1 as long 71 var long solverTime = -1 as long
72 var Process p = null 72 var Process p = null
73 if (configuration.solver == BackendSolver::VAMP) { 73 if (configuration.solver == BackendSolver::VAMPIRE) {
74 74
75 var OPTION = " --mode casc_sat " 75 var OPTION = " --mode casc_sat "
76 if (configuration.runtimeLimit != -1) { 76 if (configuration.runtimeLimit != -1) {
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/.VampireAnalyzerConfiguration.xtendbin b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/.VampireAnalyzerConfiguration.xtendbin
index e50e6812..b26c1ded 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/.VampireAnalyzerConfiguration.xtendbin
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/.VampireAnalyzerConfiguration.xtendbin
Binary files differ
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/.VampireSolver.xtendbin b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/.VampireSolver.xtendbin
index e4925e24..fb8f872d 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/.VampireSolver.xtendbin
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/.VampireSolver.xtendbin
Binary files differ
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/VampireSolver.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/VampireSolver.java
index 432b14c3..3e3bd688 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/VampireSolver.java
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/VampireSolver.java
@@ -5,12 +5,15 @@ import ca.mcgill.ecse.dslreasoner.VampireLanguageStandaloneSetupGenerated;
5import ca.mcgill.ecse.dslreasoner.vampire.reasoner.VampireSolverConfiguration; 5import ca.mcgill.ecse.dslreasoner.vampire.reasoner.VampireSolverConfiguration;
6import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.Logic2VampireLanguageMapper; 6import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.Logic2VampireLanguageMapper;
7import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.Logic2VampireLanguageMapperTrace; 7import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.Logic2VampireLanguageMapperTrace;
8import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.Logic2VampireLanguageMapper_Support;
8import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.MonitoredVampireSolution; 9import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.MonitoredVampireSolution;
9import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.Vampire2LogicMapper; 10import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.Vampire2LogicMapper;
10import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.VampireHandler; 11import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.VampireHandler;
11import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.VampireModelInterpretation; 12import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.VampireModelInterpretation;
13import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguageFactory;
12import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage; 14import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage;
13import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireModel; 15import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireModel;
16import com.google.common.base.Objects;
14import hu.bme.mit.inf.dslreasoner.logic.model.builder.DocumentationLevel; 17import hu.bme.mit.inf.dslreasoner.logic.model.builder.DocumentationLevel;
15import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicModelInterpretation; 18import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicModelInterpretation;
16import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicReasoner; 19import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicReasoner;
@@ -19,13 +22,25 @@ import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicSolverConfiguration;
19import hu.bme.mit.inf.dslreasoner.logic.model.builder.TracedOutput; 22import hu.bme.mit.inf.dslreasoner.logic.model.builder.TracedOutput;
20import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem; 23import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem;
21import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicResult; 24import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicResult;
25import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicresultFactory;
22import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.ModelResult; 26import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.ModelResult;
27import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.RealStatisticEntry;
28import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.StatisticEntry;
29import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.Statistics;
30import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.StringStatisticEntry;
23import hu.bme.mit.inf.dslreasoner.workspace.ReasonerWorkspace; 31import hu.bme.mit.inf.dslreasoner.workspace.ReasonerWorkspace;
32import java.util.ArrayList;
24import java.util.List; 33import java.util.List;
25import org.eclipse.emf.common.util.EList; 34import org.eclipse.emf.common.util.EList;
26import org.eclipse.xtend2.lib.StringConcatenation; 35import org.eclipse.xtend2.lib.StringConcatenation;
36import org.eclipse.xtext.xbase.lib.CollectionLiterals;
37import org.eclipse.xtext.xbase.lib.Exceptions;
38import org.eclipse.xtext.xbase.lib.Extension;
27import org.eclipse.xtext.xbase.lib.Functions.Function1; 39import org.eclipse.xtext.xbase.lib.Functions.Function1;
40import org.eclipse.xtext.xbase.lib.InputOutput;
28import org.eclipse.xtext.xbase.lib.ListExtensions; 41import org.eclipse.xtext.xbase.lib.ListExtensions;
42import org.eclipse.xtext.xbase.lib.ObjectExtensions;
43import org.eclipse.xtext.xbase.lib.Procedures.Procedure1;
29 44
30@SuppressWarnings("all") 45@SuppressWarnings("all")
31public class VampireSolver extends LogicReasoner { 46public class VampireSolver extends LogicReasoner {
@@ -41,36 +56,142 @@ public class VampireSolver extends LogicReasoner {
41 56
42 private final VampireHandler handler = new VampireHandler(); 57 private final VampireHandler handler = new VampireHandler();
43 58
59 private final Logic2VampireLanguageMapper_Support support = new Logic2VampireLanguageMapper_Support();
60
61 @Extension
62 private final LogicresultFactory resultFactory = LogicresultFactory.eINSTANCE;
63
64 @Extension
65 private final VampireLanguageFactory factory = VampireLanguageFactory.eINSTANCE;
66
44 @Override 67 @Override
45 public LogicResult solve(final LogicProblem problem, final LogicSolverConfiguration config, final ReasonerWorkspace workspace) throws LogicReasonerException { 68 public LogicResult solve(final LogicProblem problem, final LogicSolverConfiguration config, final ReasonerWorkspace workspace) throws LogicReasonerException {
46 final VampireSolverConfiguration vampireConfig = this.asConfig(config); 69 try {
47 String fileName = (((("problem_" + Integer.valueOf(vampireConfig.typeScopes.minNewElements)) + "-") + Integer.valueOf(vampireConfig.typeScopes.maxNewElements)) + ".tptp"); 70 final VampireSolverConfiguration vampireConfig = this.asConfig(config);
48 final long transformationStart = System.currentTimeMillis(); 71 String fileName = (((("problem_" + Integer.valueOf(vampireConfig.typeScopes.minNewElements)) + "-") +
49 final TracedOutput<VampireModel, Logic2VampireLanguageMapperTrace> result = this.forwardMapper.transformProblem(problem, vampireConfig); 72 Integer.valueOf(vampireConfig.typeScopes.maxNewElements)) + ".tptp");
50 long _currentTimeMillis = System.currentTimeMillis(); 73 final long transformationStart = System.currentTimeMillis();
51 final long transformationTime = (_currentTimeMillis - transformationStart); 74 final TracedOutput<VampireModel, Logic2VampireLanguageMapperTrace> result = this.forwardMapper.transformProblem(problem, vampireConfig);
52 final VampireModel vampireProblem = result.getOutput(); 75 long _currentTimeMillis = System.currentTimeMillis();
53 final Logic2VampireLanguageMapperTrace forwardTrace = result.getTrace(); 76 final long transformationTime = (_currentTimeMillis - transformationStart);
54 String fileURI = null; 77 final VampireModel vampireProblem = result.getOutput();
55 String vampireCode = null; 78 final Logic2VampireLanguageMapperTrace forwardTrace = result.getTrace();
56 vampireCode = workspace.writeModelToString(vampireProblem, fileName); 79 String fileURI = null;
57 final boolean writeFile = ((vampireConfig.documentationLevel == DocumentationLevel.NORMAL) || 80 String vampireCode = null;
58 (vampireConfig.documentationLevel == DocumentationLevel.FULL)); 81 vampireCode = workspace.writeModelToString(vampireProblem, fileName);
59 if (writeFile) { 82 final boolean writeFile = ((vampireConfig.documentationLevel == DocumentationLevel.NORMAL) ||
60 fileURI = workspace.writeModel(vampireProblem, fileName).toFileString(); 83 (vampireConfig.documentationLevel == DocumentationLevel.FULL));
61 } 84 if (writeFile) {
62 if (vampireConfig.genModel) { 85 fileURI = workspace.writeModel(vampireProblem, fileName).toFileString();
63 final MonitoredVampireSolution vampSol = this.handler.callSolver(vampireProblem, workspace, vampireConfig); 86 }
64 final long backTransformationStart = System.currentTimeMillis(); 87 if (vampireConfig.genModel) {
65 final ModelResult logicResult = this.backwardMapper.transformOutput(problem, 88 if (vampireConfig.server) {
66 vampireConfig.solutionScope.numberOfRequiredSolution, vampSol, forwardTrace, transformationTime); 89 final String form = this.support.makeForm(vampireCode, vampireConfig.solver, vampireConfig.runtimeLimit);
67 long _currentTimeMillis_1 = System.currentTimeMillis(); 90 ArrayList<String> response = CollectionLiterals.<String>newArrayList();
68 final long backTransformationTime = (_currentTimeMillis_1 - backTransformationStart); 91 int ind = 0;
69 return logicResult; 92 boolean done = false;
93 InputOutput.<String>print(" ");
94 while ((!done)) {
95 {
96 InputOutput.<String>print("(x)");
97 done = false;
98 response = this.support.sendPost(form);
99 boolean responseFound = false;
100 ind = 0;
101 while ((!responseFound)) {
102 {
103 String line = response.get(ind);
104 if (((line.length() >= 5) && Objects.equal(line.substring(0, 5), "ERROR"))) {
105 done = false;
106 responseFound = true;
107 } else {
108 boolean _equals = Objects.equal(line, "</PRE>");
109 if (_equals) {
110 done = true;
111 responseFound = true;
112 }
113 }
114 ind++;
115 }
116 }
117 }
118 }
119 final String satRaw = response.get((ind - 3));
120 final String modRaw = response.get((ind - 2));
121 final ArrayList<String> sat = CollectionLiterals.<String>newArrayList(satRaw.split(" "));
122 final ArrayList<String> mod = CollectionLiterals.<String>newArrayList(modRaw.split(" "));
123 final String satOut = sat.get(1);
124 final String modOut = mod.get(1);
125 final String satTime = sat.get(2);
126 final String modTime = mod.get(2);
127 InputOutput.println();
128 InputOutput.<ArrayList<String>>println(sat);
129 InputOutput.<ArrayList<String>>println(mod);
130 ModelResult _createModelResult = this.resultFactory.createModelResult();
131 final Procedure1<ModelResult> _function = (ModelResult it) -> {
132 it.setProblem(null);
133 EList<Object> _representation = it.getRepresentation();
134 VampireModel _createVampireModel = this.factory.createVampireModel();
135 final Procedure1<VampireModel> _function_1 = (VampireModel it_1) -> {
136 };
137 VampireModel _doubleArrow = ObjectExtensions.<VampireModel>operator_doubleArrow(_createVampireModel, _function_1);
138 _representation.add(_doubleArrow);
139 it.setTrace(it.getTrace());
140 Statistics _createStatistics = this.resultFactory.createStatistics();
141 final Procedure1<Statistics> _function_2 = (Statistics it_1) -> {
142 it_1.setTransformationTime(((int) transformationTime));
143 EList<StatisticEntry> _entries = it_1.getEntries();
144 StringStatisticEntry _createStringStatisticEntry = this.resultFactory.createStringStatisticEntry();
145 final Procedure1<StringStatisticEntry> _function_3 = (StringStatisticEntry it_2) -> {
146 it_2.setName("satOut");
147 it_2.setValue(satOut);
148 };
149 StringStatisticEntry _doubleArrow_1 = ObjectExtensions.<StringStatisticEntry>operator_doubleArrow(_createStringStatisticEntry, _function_3);
150 _entries.add(_doubleArrow_1);
151 EList<StatisticEntry> _entries_1 = it_1.getEntries();
152 RealStatisticEntry _createRealStatisticEntry = this.resultFactory.createRealStatisticEntry();
153 final Procedure1<RealStatisticEntry> _function_4 = (RealStatisticEntry it_2) -> {
154 it_2.setName("satTime");
155 it_2.setValue(Double.parseDouble(satTime));
156 };
157 RealStatisticEntry _doubleArrow_2 = ObjectExtensions.<RealStatisticEntry>operator_doubleArrow(_createRealStatisticEntry, _function_4);
158 _entries_1.add(_doubleArrow_2);
159 EList<StatisticEntry> _entries_2 = it_1.getEntries();
160 StringStatisticEntry _createStringStatisticEntry_1 = this.resultFactory.createStringStatisticEntry();
161 final Procedure1<StringStatisticEntry> _function_5 = (StringStatisticEntry it_2) -> {
162 it_2.setName("modOut");
163 it_2.setValue(modOut);
164 };
165 StringStatisticEntry _doubleArrow_3 = ObjectExtensions.<StringStatisticEntry>operator_doubleArrow(_createStringStatisticEntry_1, _function_5);
166 _entries_2.add(_doubleArrow_3);
167 EList<StatisticEntry> _entries_3 = it_1.getEntries();
168 RealStatisticEntry _createRealStatisticEntry_1 = this.resultFactory.createRealStatisticEntry();
169 final Procedure1<RealStatisticEntry> _function_6 = (RealStatisticEntry it_2) -> {
170 it_2.setName("modTime");
171 it_2.setValue(Double.parseDouble(modTime));
172 };
173 RealStatisticEntry _doubleArrow_4 = ObjectExtensions.<RealStatisticEntry>operator_doubleArrow(_createRealStatisticEntry_1, _function_6);
174 _entries_3.add(_doubleArrow_4);
175 };
176 Statistics _doubleArrow_1 = ObjectExtensions.<Statistics>operator_doubleArrow(_createStatistics, _function_2);
177 it.setStatistics(_doubleArrow_1);
178 };
179 return ObjectExtensions.<ModelResult>operator_doubleArrow(_createModelResult, _function);
180 } else {
181 final MonitoredVampireSolution vampSol = this.handler.callSolver(vampireProblem, workspace, vampireConfig);
182 final long backTransformationStart = System.currentTimeMillis();
183 final ModelResult logicResult = this.backwardMapper.transformOutput(problem,
184 vampireConfig.solutionScope.numberOfRequiredSolution, vampSol, forwardTrace, transformationTime);
185 long _currentTimeMillis_1 = System.currentTimeMillis();
186 final long backTransformationTime = (_currentTimeMillis_1 - backTransformationStart);
187 return logicResult;
188 }
189 }
190 MonitoredVampireSolution _monitoredVampireSolution = new MonitoredVampireSolution((-1), null);
191 return this.backwardMapper.transformOutput(problem, vampireConfig.solutionScope.numberOfRequiredSolution, _monitoredVampireSolution, forwardTrace, transformationTime);
192 } catch (Throwable _e) {
193 throw Exceptions.sneakyThrow(_e);
70 } 194 }
71 MonitoredVampireSolution _monitoredVampireSolution = new MonitoredVampireSolution((-1), null);
72 return this.backwardMapper.transformOutput(problem,
73 vampireConfig.solutionScope.numberOfRequiredSolution, _monitoredVampireSolution, forwardTrace, transformationTime);
74 } 195 }
75 196
76 public VampireSolverConfiguration asConfig(final LogicSolverConfiguration configuration) { 197 public VampireSolverConfiguration asConfig(final LogicSolverConfiguration configuration) {
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/VampireSolverConfiguration.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/VampireSolverConfiguration.java
index dd66e910..c094872e 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/VampireSolverConfiguration.java
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/VampireSolverConfiguration.java
@@ -11,7 +11,9 @@ public class VampireSolverConfiguration extends LogicSolverConfiguration {
11 11
12 public int iteration = (-1); 12 public int iteration = (-1);
13 13
14 public BackendSolver solver = BackendSolver.VAMP; 14 public BackendSolver solver = BackendSolver.VAMPIRE;
15 15
16 public boolean genModel = true; 16 public boolean genModel = true;
17
18 public boolean server = false;
17} 19}
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper.xtendbin b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper.xtendbin
index 8d2ec6ab..8b7f031e 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper.xtendbin
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper.xtendbin
Binary files differ
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapperTrace.xtendbin b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapperTrace.xtendbin
index 515b4b3c..1b6e8f80 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapperTrace.xtendbin
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapperTrace.xtendbin
Binary files differ
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_ConstantMapper.xtendbin b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_ConstantMapper.xtendbin
index 46ad8c79..f523f1af 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_ConstantMapper.xtendbin
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_ConstantMapper.xtendbin
Binary files differ
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_ContainmentMapper.xtendbin b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_ContainmentMapper.xtendbin
index 169aedc2..30ba1843 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_ContainmentMapper.xtendbin
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_ContainmentMapper.xtendbin
Binary files differ
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_RelationMapper.xtendbin b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_RelationMapper.xtendbin
index 699ce6e2..174c7362 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_RelationMapper.xtendbin
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_RelationMapper.xtendbin
Binary files differ
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_ScopeMapper.xtendbin b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_ScopeMapper.xtendbin
index 799515d4..affa3754 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_ScopeMapper.xtendbin
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_ScopeMapper.xtendbin
Binary files differ
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_Support.xtendbin b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_Support.xtendbin
index 2a112ae7..6c7c7522 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_Support.xtendbin
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_Support.xtendbin
Binary files differ
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_TypeMapper.xtendbin b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_TypeMapper.xtendbin
index 7f32e055..5be67889 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_TypeMapper.xtendbin
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_TypeMapper.xtendbin
Binary files differ
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Vampire2LogicMapper.xtendbin b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Vampire2LogicMapper.xtendbin
index a2dd469b..192c9d1a 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Vampire2LogicMapper.xtendbin
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Vampire2LogicMapper.xtendbin
Binary files differ
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.VampireHandler.xtendbin b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.VampireHandler.xtendbin
index 98c355ab..0495ab53 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.VampireHandler.xtendbin
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.VampireHandler.xtendbin
Binary files differ
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.VampireModelInterpretation_TypeInterpretation.xtendbin b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.VampireModelInterpretation_TypeInterpretation.xtendbin
index 246c08c8..c438f1e5 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.VampireModelInterpretation_TypeInterpretation.xtendbin
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.VampireModelInterpretation_TypeInterpretation.xtendbin
Binary files differ
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.VampireModelInterpretation_TypeInterpretation_FilteredTypes.xtendbin b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.VampireModelInterpretation_TypeInterpretation_FilteredTypes.xtendbin
index 9e55bac4..5fb9b455 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.VampireModelInterpretation_TypeInterpretation_FilteredTypes.xtendbin
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.VampireModelInterpretation_TypeInterpretation_FilteredTypes.xtendbin
Binary files differ
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_ScopeMapper.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_ScopeMapper.java
index bc39a068..c09d929e 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_ScopeMapper.java
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_ScopeMapper.java
@@ -55,13 +55,13 @@ public class Logic2VampireLanguageMapper_ScopeMapper {
55 public void _transformScope(final List<Type> types, final VampireSolverConfiguration config, final Logic2VampireLanguageMapperTrace trace) { 55 public void _transformScope(final List<Type> types, final VampireSolverConfiguration config, final Logic2VampireLanguageMapperTrace trace) {
56 int elemsInIM = trace.definedElement2String.size(); 56 int elemsInIM = trace.definedElement2String.size();
57 final int ABSOLUTE_MIN = 0; 57 final int ABSOLUTE_MIN = 0;
58 final int ABSOLUTE_MAX = ((-1) - elemsInIM); 58 final int ABSOLUTE_MAX = (Integer.MAX_VALUE - elemsInIM);
59 final int GLOBAL_MIN = (config.typeScopes.minNewElements - elemsInIM); 59 final int GLOBAL_MIN = (config.typeScopes.minNewElements - elemsInIM);
60 final int GLOBAL_MAX = (config.typeScopes.maxNewElements - elemsInIM); 60 final int GLOBAL_MAX = (config.typeScopes.maxNewElements - elemsInIM);
61 final ArrayList<VLSConstant> localInstances = CollectionLiterals.<VLSConstant>newArrayList(); 61 final ArrayList<VLSConstant> localInstances = CollectionLiterals.<VLSConstant>newArrayList();
62 final boolean consistant = (GLOBAL_MAX > GLOBAL_MIN); 62 final boolean consistant = (GLOBAL_MAX > GLOBAL_MIN);
63 if ((GLOBAL_MIN != ABSOLUTE_MIN)) { 63 if ((GLOBAL_MIN != ABSOLUTE_MIN)) {
64 this.getInstanceConstants(GLOBAL_MIN, 0, localInstances, trace, true, (!consistant)); 64 this.getInstanceConstants(GLOBAL_MIN, 0, localInstances, trace, true, consistant);
65 if (consistant) { 65 if (consistant) {
66 for (final VLSConstant i : trace.uniqueInstances) { 66 for (final VLSConstant i : trace.uniqueInstances) {
67 localInstances.add(this.support.duplicate(i)); 67 localInstances.add(this.support.duplicate(i));
@@ -72,7 +72,7 @@ public class Logic2VampireLanguageMapper_ScopeMapper {
72 } 72 }
73 } 73 }
74 if ((GLOBAL_MAX != ABSOLUTE_MAX)) { 74 if ((GLOBAL_MAX != ABSOLUTE_MAX)) {
75 this.getInstanceConstants(GLOBAL_MAX, 0, localInstances, trace, true, consistant); 75 this.getInstanceConstants(GLOBAL_MAX, 0, localInstances, trace, true, (!consistant));
76 if (consistant) { 76 if (consistant) {
77 this.makeFofFormula(((ArrayList) trace.uniqueInstances), trace, false, null); 77 this.makeFofFormula(((ArrayList) trace.uniqueInstances), trace, false, null);
78 } else { 78 } else {
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_Support.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_Support.java
index dae0df6e..1255b25c 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_Support.java
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_Support.java
@@ -1,5 +1,6 @@
1package ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder; 1package ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder;
2 2
3import ca.mcgill.ecse.dslreasoner.vampire.reasoner.BackendSolver;
3import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.Logic2VampireLanguageMapper; 4import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.Logic2VampireLanguageMapper;
4import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.Logic2VampireLanguageMapperTrace; 5import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.Logic2VampireLanguageMapperTrace;
5import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSAnd; 6import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSAnd;
@@ -29,6 +30,12 @@ import java.util.Collection;
29import java.util.HashMap; 30import java.util.HashMap;
30import java.util.List; 31import java.util.List;
31import java.util.Map; 32import java.util.Map;
33import java.util.concurrent.TimeUnit;
34import okhttp3.MediaType;
35import okhttp3.OkHttpClient;
36import okhttp3.Request;
37import okhttp3.RequestBody;
38import okhttp3.Response;
32import org.eclipse.emf.common.util.EList; 39import org.eclipse.emf.common.util.EList;
33import org.eclipse.xtend2.lib.StringConcatenation; 40import org.eclipse.xtend2.lib.StringConcatenation;
34import org.eclipse.xtext.xbase.lib.CollectionLiterals; 41import org.eclipse.xtext.xbase.lib.CollectionLiterals;
@@ -421,4 +428,85 @@ public class Logic2VampireLanguageMapper_Support {
421 }; 428 };
422 return ObjectExtensions.<HashMap<Variable, VLSVariable>>operator_doubleArrow(_hashMap, _function); 429 return ObjectExtensions.<HashMap<Variable, VLSVariable>>operator_doubleArrow(_hashMap, _function);
423 } 430 }
431
432 public String makeForm(final String formula, final BackendSolver solver, final int time) {
433 String _header = this.getHeader();
434 String _plus = (_header + formula);
435 String _addOptions = this.addOptions();
436 String _plus_1 = (_plus + _addOptions);
437 String _addSolver = this.addSolver(solver, time);
438 String _plus_2 = (_plus_1 + _addSolver);
439 String _addEnd = this.addEnd();
440 return (_plus_2 + _addEnd);
441 }
442
443 public ArrayList<String> getSolverSpecs(final BackendSolver solver) {
444 if (solver != null) {
445 switch (solver) {
446 case CVC4:
447 return CollectionLiterals.<String>newArrayList("CVC4---SAT-1.7", "do_CVC4 %s %d SAT");
448 case DARWINFM:
449 return CollectionLiterals.<String>newArrayList("DarwinFM---1.4.5", "darwin -fd true -ppp true -pl 0 -to %d -pmtptp true %s");
450 case EDARWIN:
451 return CollectionLiterals.<String>newArrayList("E-Darwin---1.5", "e-darwin -pev \"TPTP\" -pmd true -if tptp -pl 2 -pc false -ps false %s");
452 case GEOIII:
453 return CollectionLiterals.<String>newArrayList("Geo-III---2018C", "geo -tptp_input -nonempty -include /home/tptp/TPTP -inputfile %s");
454 case IPROVER:
455 return CollectionLiterals.<String>newArrayList("iProver---SAT-3.0", "iproveropt_run_sat.sh %d %s");
456 case PARADOX:
457 return CollectionLiterals.<String>newArrayList("Paradox---4.0", "paradox --no-progress --time %d --tstp --model %s");
458 case VAMPIRE:
459 return CollectionLiterals.<String>newArrayList("Vampire---SAT-4.4", "vampire --mode casc_sat -t %d %s");
460 case Z3:
461 return CollectionLiterals.<String>newArrayList("Z3---4.4.1", "run_z3_tptp -proof -model -t:20 -file:%s");
462 default:
463 break;
464 }
465 }
466 return null;
467 }
468
469 public String getHeader() {
470 return "------WebKitFormBoundaryBdFiQ5zEvTbBl4DA\r\nContent-Disposition: form-data; name=\"ProblemSource\"\r\n\r\nFORMULAE\r\n------WebKitFormBoundaryBdFiQ5zEvTbBl4DA\r\nContent-Disposition: form-data; name=\"FORMULAEProblem\"\r\n\r\n\r\n";
471 }
472
473 public String addSpec(final String spec) {
474 return spec.replace("\n", "\\r\\n");
475 }
476
477 public String addOptions() {
478 return "\r\n------WebKitFormBoundaryBdFiQ5zEvTbBl4DA\r\nContent-Disposition: form-data; name=\"QuietFlag\"\r\n\r\n-q3\r\n------WebKitFormBoundaryBdFiQ5zEvTbBl4DA\r\nContent-Disposition: form-data; name=\"SubmitButton\"\r\n\r\nRunSelectedSystems\r\n";
479 }
480
481 public String addSolver(final BackendSolver solver, final int time) {
482 final ArrayList<String> solverSpecs = this.getSolverSpecs(solver);
483 final String ID = solverSpecs.get(0);
484 final String cmd = solverSpecs.get(1);
485 String _replace = cmd.replace("%d", Integer.valueOf(time).toString());
486 String _plus = ((((((("------WebKitFormBoundaryBdFiQ5zEvTbBl4DA\r\nContent-Disposition: form-data; name=\"System___" + ID) +
487 "\"\r\n\r\n") + ID) +
488 "\r\n------WebKitFormBoundaryBdFiQ5zEvTbBl4DA\r\nContent-Disposition: form-data; name=\"Command___") + ID) +
489 "\"\r\n\r\n") + _replace);
490 return (_plus + "\r\n");
491 }
492
493 public String addEnd() {
494 return "------WebKitFormBoundaryBdFiQ5zEvTbBl4DA--";
495 }
496
497 public ArrayList<String> sendPost(final String formData) throws Exception {
498 final OkHttpClient client = new OkHttpClient.Builder().connectTimeout(350, TimeUnit.SECONDS).readTimeout(350, TimeUnit.SECONDS).build();
499 final MediaType mediaType = MediaType.parse("multipart/form-data boundary=----WebKitFormBoundaryBdFiQ5zEvTbBl4DA");
500 final RequestBody body = RequestBody.create(mediaType, formData);
501 final Request request = new Request.Builder().url("http://www.tptp.org/cgi-bin/SystemOnTPTPFormReply").post(body).addHeader("Connection", "keep-alive").addHeader("Cache-Control", "max-age=0").addHeader("Origin",
502 "http://tptp.cs.miami.edu").addHeader("Upgrade-Insecure-Requests", "1").addHeader("Content-Type",
503 "multipart/form-data boundary=----WebKitFormBoundaryBdFiQ5zEvTbBl4DA").addHeader("User-Agent",
504 "Mozilla/5.0 (Windows NT 10.0 Win64 x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36").addHeader("Accept",
505 "text/html,application/xhtml+xml,application/xmlq=0.9,image/webp,image/apng,*/*q=0.8,application/signed-exchangev=b3").addHeader("Referer", "http://tptp.cs.miami.edu/cgi-bin/SystemOnTPTP").addHeader("Accept-Encoding",
506 "gzip, deflate").addHeader("Accept-Language", "en-US,enq=0.9").addHeader("Postman-Token",
507 "639ff59f-ab5c-4d9f-9da5-ac8bb64be466,ecb71882-f4d8-4126-8a97-4edb07d4055c").addHeader("Host",
508 "www.tptp.org").addHeader("Content-Length", "44667").addHeader("cache-control", "no-cache").build();
509 final Response response = client.newCall(request).execute();
510 return CollectionLiterals.<String>newArrayList(response.body().string().split("\n"));
511 }
424} 512}
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/VampireHandler.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/VampireHandler.java
index fcbdfde7..e32530cb 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/VampireHandler.java
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/VampireHandler.java
@@ -41,7 +41,7 @@ public class VampireHandler {
41 long startTime = (-((long) 1)); 41 long startTime = (-((long) 1));
42 long solverTime = (-((long) 1)); 42 long solverTime = (-((long) 1));
43 Process p = null; 43 Process p = null;
44 boolean _equals = Objects.equal(configuration.solver, BackendSolver.VAMP); 44 boolean _equals = Objects.equal(configuration.solver, BackendSolver.VAMPIRE);
45 if (_equals) { 45 if (_equals) {
46 String OPTION = " --mode casc_sat "; 46 String OPTION = " --mode casc_sat ";
47 if ((configuration.runtimeLimit != (-1))) { 47 if ((configuration.runtimeLimit != (-1))) {