aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLibravatar ArenBabikian <aren.babikian@mail.mcgill.ca>2019-03-04 17:31:16 -0500
committerLibravatar ArenBabikian <aren.babikian@mail.mcgill.ca>2019-03-04 17:31:16 -0500
commit2c05097ccbeeadd70b20f5001ebeb22ffdc465de (patch)
tree88662460674d49bff71d051d3a59a0929f1cfa5f
parentcomplete vsconfig files #19 (diff)
downloadVIATRA-Generator-2c05097ccbeeadd70b20f5001ebeb22ffdc465de.tar.gz
VIATRA-Generator-2c05097ccbeeadd70b20f5001ebeb22ffdc465de.tar.zst
VIATRA-Generator-2c05097ccbeeadd70b20f5001ebeb22ffdc465de.zip
Begin handing of scope and fix type definitions.
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/src-gen/ca/mcgill/ecse/dslreasoner/ide/contentassist/antlr/VampireLanguageParser.java3
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/xtend-gen/ca/mcgill/ecse/dslreasoner/ide/.VampireLanguageIdeModule.xtendbinbin1683 -> 1685 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/xtend-gen/ca/mcgill/ecse/dslreasoner/ide/.VampireLanguageIdeSetup.xtendbinbin2509 -> 2500 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/src-gen/ca/mcgill/ecse/dslreasoner/ui/contentassist/AbstractVampireLanguageProposalProvider.java9
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/.VampireLanguageUiModule.xtendbinbin2349 -> 2342 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/contentassist/.VampireLanguageProposalProvider.xtendbinbin1787 -> 1792 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/labeling/.VampireLanguageDescriptionLabelProvider.xtendbinbin1969 -> 1965 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/labeling/.VampireLanguageLabelProvider.xtendbinbin2409 -> 2405 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/outline/.VampireLanguageOutlineTreeProvider.xtendbinbin1821 -> 1819 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/quickfix/.VampireLanguageQuickfixProvider.xtendbinbin1783 -> 1786 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/model/generated/VampireLanguage.ecore4
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/model/generated/VampireLanguage.genmodel4
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/VampireLanguage.xtextbinbin7967 -> 7746 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/serializer/VampireLanguageSemanticSequencer.java38
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/services/VampireLanguageGrammarAccess.java96
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VampireLanguageFactory.java18
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VampireLanguagePackage.java166
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VampireLanguageFactoryImpl.java24
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VampireLanguagePackageImpl.java56
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/util/VampireLanguageAdapterFactory.java40
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/util/VampireLanguageSwitch.java46
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src/ca/mcgill/ecse/dslreasoner/VampireLanguage.xtext14
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src/ca/mcgill/ecse/dslreasoner/formatting2/VampireLanguageFormatter.xtend4
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/.VampireLanguageRuntimeModule.xtendbinbin1712 -> 1706 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/.VampireLanguageStandaloneSetup.xtendbinbin1986 -> 1980 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/formatting2/.VampireLanguageFormatter.xtendbinbin3813 -> 4130 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/formatting2/VampireLanguageFormatter.java10
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/generator/.VampireLanguageGenerator.xtendbinbin2342 -> 2338 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/scoping/.VampireLanguageScopeProvider.xtendbinbin1755 -> 1751 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/validation/.VampireLanguageValidator.xtendbinbin1740 -> 1736 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/build.properties5
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/VampireAnalyzerConfiguration.xtend3
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/VampireSolver.xtend101
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper.xtend203
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_ScopeMapper.xtend74
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_Support.xtend45
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_TypeMapperTrace_FilteredTypes.xtend9
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_TypeMapper_FilteredTypes.xtend74
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Vampire2LogicMapper.xtend119
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/.VampireAnalyzerConfiguration.xtendbinbin2685 -> 2382 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/.VampireSolver.xtendbinbin5502 -> 5941 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/VampireSolver.java8
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/VampireSolverConfiguration.java3
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper.xtendbinbin17671 -> 18004 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapperTrace.xtendbinbin3140 -> 3137 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_RelationMapper.xtendbinbin8247 -> 8246 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_ScopeMapper.xtendbinbin0 -> 5890 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_Support.xtendbinbin9398 -> 9766 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_TypeMapper.xtendbinbin3224 -> 3223 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_TypeMapperTrace_FilteredTypes.xtendbinbin2742 -> 2643 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_TypeMapper_FilteredTypes.xtendbinbin9279 -> 9048 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Vampire2LogicMapper.xtendbinbin7552 -> 1720 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.VampireHandler.xtendbinbin4907 -> 4908 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.VampireModelInterpretation_TypeInterpretation.xtendbinbin1490 -> 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.xtendbinbin1691 -> 1688 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.gitignore1
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper.java26
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_ScopeMapper.java96
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_Support.java23
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_TypeMapperTrace_FilteredTypes.java3
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_TypeMapper_FilteredTypes.java95
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Vampire2LogicMapper.java54
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/VampireSolutionModel.java3
-rw-r--r--Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/queries/FamPatterns.vql (renamed from Tests/ca.mcgill.ecse.dslreasoner.vampire.test/initialModels/FAM/FamPatterns.vql)0
65 files changed, 607 insertions, 870 deletions
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/src-gen/ca/mcgill/ecse/dslreasoner/ide/contentassist/antlr/VampireLanguageParser.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/src-gen/ca/mcgill/ecse/dslreasoner/ide/contentassist/antlr/VampireLanguageParser.java
index 831cde0b..9004026e 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/src-gen/ca/mcgill/ecse/dslreasoner/ide/contentassist/antlr/VampireLanguageParser.java
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/src-gen/ca/mcgill/ecse/dslreasoner/ide/contentassist/antlr/VampireLanguageParser.java
@@ -54,8 +54,6 @@ public class VampireLanguageParser extends AbstractContentAssistParser {
54 put(grammarAccess.getVLSIncludeAccess().getGroup_2_2(), "rule__VLSInclude__Group_2_2__0"); 54 put(grammarAccess.getVLSIncludeAccess().getGroup_2_2(), "rule__VLSInclude__Group_2_2__0");
55 put(grammarAccess.getVLSCommentAccess().getGroup(), "rule__VLSComment__Group__0"); 55 put(grammarAccess.getVLSCommentAccess().getGroup(), "rule__VLSComment__Group__0");
56 put(grammarAccess.getVLSSatisfiableAccess().getGroup(), "rule__VLSSatisfiable__Group__0"); 56 put(grammarAccess.getVLSSatisfiableAccess().getGroup(), "rule__VLSSatisfiable__Group__0");
57 put(grammarAccess.getVLSTryingAccess().getGroup(), "rule__VLSTrying__Group__0");
58 put(grammarAccess.getVLSFiniteModelAccess().getGroup(), "rule__VLSFiniteModel__Group__0");
59 put(grammarAccess.getVLSFofFormulaAccess().getGroup(), "rule__VLSFofFormula__Group__0"); 57 put(grammarAccess.getVLSFofFormulaAccess().getGroup(), "rule__VLSFofFormula__Group__0");
60 put(grammarAccess.getVLSFofFormulaAccess().getGroup_7(), "rule__VLSFofFormula__Group_7__0"); 58 put(grammarAccess.getVLSFofFormulaAccess().getGroup_7(), "rule__VLSFofFormula__Group_7__0");
61 put(grammarAccess.getVLSTffFormulaAccess().getGroup(), "rule__VLSTffFormula__Group__0"); 59 put(grammarAccess.getVLSTffFormulaAccess().getGroup(), "rule__VLSTffFormula__Group__0");
@@ -111,7 +109,6 @@ public class VampireLanguageParser extends AbstractContentAssistParser {
111 put(grammarAccess.getVLSIncludeAccess().getNamesAssignment_2_2_1(), "rule__VLSInclude__NamesAssignment_2_2_1"); 109 put(grammarAccess.getVLSIncludeAccess().getNamesAssignment_2_2_1(), "rule__VLSInclude__NamesAssignment_2_2_1");
112 put(grammarAccess.getVLSNameAccess().getNameAssignment(), "rule__VLSName__NameAssignment"); 110 put(grammarAccess.getVLSNameAccess().getNameAssignment(), "rule__VLSName__NameAssignment");
113 put(grammarAccess.getVLSCommentAccess().getCommentAssignment_1(), "rule__VLSComment__CommentAssignment_1"); 111 put(grammarAccess.getVLSCommentAccess().getCommentAssignment_1(), "rule__VLSComment__CommentAssignment_1");
114 put(grammarAccess.getVLSTryingAccess().getNameAssignment_2(), "rule__VLSTrying__NameAssignment_2");
115 put(grammarAccess.getVLSFofFormulaAccess().getNameAssignment_2(), "rule__VLSFofFormula__NameAssignment_2"); 112 put(grammarAccess.getVLSFofFormulaAccess().getNameAssignment_2(), "rule__VLSFofFormula__NameAssignment_2");
116 put(grammarAccess.getVLSFofFormulaAccess().getFofRoleAssignment_4(), "rule__VLSFofFormula__FofRoleAssignment_4"); 113 put(grammarAccess.getVLSFofFormulaAccess().getFofRoleAssignment_4(), "rule__VLSFofFormula__FofRoleAssignment_4");
117 put(grammarAccess.getVLSFofFormulaAccess().getFofFormulaAssignment_6(), "rule__VLSFofFormula__FofFormulaAssignment_6"); 114 put(grammarAccess.getVLSFofFormulaAccess().getFofFormulaAssignment_6(), "rule__VLSFofFormula__FofFormulaAssignment_6");
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 edf76642..7bfd4e09 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 acb28f52..4c4cd6a3 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/src-gen/ca/mcgill/ecse/dslreasoner/ui/contentassist/AbstractVampireLanguageProposalProvider.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/src-gen/ca/mcgill/ecse/dslreasoner/ui/contentassist/AbstractVampireLanguageProposalProvider.java
index 90b81dcb..aead1baf 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/src-gen/ca/mcgill/ecse/dslreasoner/ui/contentassist/AbstractVampireLanguageProposalProvider.java
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/src-gen/ca/mcgill/ecse/dslreasoner/ui/contentassist/AbstractVampireLanguageProposalProvider.java
@@ -48,9 +48,6 @@ public abstract class AbstractVampireLanguageProposalProvider extends TerminalsP
48 public void completeVLSComment_Comment(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 48 public void completeVLSComment_Comment(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
49 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); 49 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
50 } 50 }
51 public void completeVLSTrying_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
52 completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
53 }
54 public void completeVLSFofFormula_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 51 public void completeVLSFofFormula_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
55 completeRuleCall(((RuleCall)((Alternatives)assignment.getTerminal()).getElements().get(0)), context, acceptor); 52 completeRuleCall(((RuleCall)((Alternatives)assignment.getTerminal()).getElements().get(0)), context, acceptor);
56 completeRuleCall(((RuleCall)((Alternatives)assignment.getTerminal()).getElements().get(1)), context, acceptor); 53 completeRuleCall(((RuleCall)((Alternatives)assignment.getTerminal()).getElements().get(1)), context, acceptor);
@@ -219,12 +216,6 @@ public abstract class AbstractVampireLanguageProposalProvider extends TerminalsP
219 public void complete_VLSSatisfiable(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 216 public void complete_VLSSatisfiable(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
220 // subclasses may override 217 // subclasses may override
221 } 218 }
222 public void complete_VLSTrying(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
223 // subclasses may override
224 }
225 public void complete_VLSFiniteModel(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
226 // subclasses may override
227 }
228 public void complete_VLSFofFormula(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { 219 public void complete_VLSFofFormula(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
229 // subclasses may override 220 // subclasses may override
230 } 221 }
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 050d1635..dedb3ece 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 ad8d105e..a6d502ef 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 070441a8..b2dc17a0 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 c453602a..73d9cdd1 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 396972da..7880fdd6 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 f0fe0710..6a8836d4 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/model/generated/VampireLanguage.ecore b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/model/generated/VampireLanguage.ecore
index fcfb84c7..ff954f57 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/model/generated/VampireLanguage.ecore
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/model/generated/VampireLanguage.ecore
@@ -27,10 +27,6 @@
27 </eClassifiers> 27 </eClassifiers>
28 <eClassifiers xsi:type="ecore:EClass" name="VLSConfirmations"/> 28 <eClassifiers xsi:type="ecore:EClass" name="VLSConfirmations"/>
29 <eClassifiers xsi:type="ecore:EClass" name="VLSSatisfiable" eSuperTypes="#//VLSConfirmations"/> 29 <eClassifiers xsi:type="ecore:EClass" name="VLSSatisfiable" eSuperTypes="#//VLSConfirmations"/>
30 <eClassifiers xsi:type="ecore:EClass" name="VLSTrying">
31 <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
32 </eClassifiers>
33 <eClassifiers xsi:type="ecore:EClass" name="VLSFiniteModel"/>
34 <eClassifiers xsi:type="ecore:EClass" name="VLSFofFormula"> 30 <eClassifiers xsi:type="ecore:EClass" name="VLSFofFormula">
35 <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> 31 <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
36 <eStructuralFeatures xsi:type="ecore:EAttribute" name="fofRole" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> 32 <eStructuralFeatures xsi:type="ecore:EAttribute" name="fofRole" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/model/generated/VampireLanguage.genmodel b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/model/generated/VampireLanguage.genmodel
index ce5d9184..655f282b 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/model/generated/VampireLanguage.genmodel
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/model/generated/VampireLanguage.genmodel
@@ -25,10 +25,6 @@
25 </genClasses> 25 </genClasses>
26 <genClasses ecoreClass="VampireLanguage.ecore#//VLSConfirmations"/> 26 <genClasses ecoreClass="VampireLanguage.ecore#//VLSConfirmations"/>
27 <genClasses ecoreClass="VampireLanguage.ecore#//VLSSatisfiable"/> 27 <genClasses ecoreClass="VampireLanguage.ecore#//VLSSatisfiable"/>
28 <genClasses ecoreClass="VampireLanguage.ecore#//VLSTrying">
29 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute VampireLanguage.ecore#//VLSTrying/name"/>
30 </genClasses>
31 <genClasses ecoreClass="VampireLanguage.ecore#//VLSFiniteModel"/>
32 <genClasses ecoreClass="VampireLanguage.ecore#//VLSFofFormula"> 28 <genClasses ecoreClass="VampireLanguage.ecore#//VLSFofFormula">
33 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute VampireLanguage.ecore#//VLSFofFormula/name"/> 29 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute VampireLanguage.ecore#//VLSFofFormula/name"/>
34 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute VampireLanguage.ecore#//VLSFofFormula/fofRole"/> 30 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute VampireLanguage.ecore#//VLSFofFormula/fofRole"/>
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/VampireLanguage.xtextbin b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/VampireLanguage.xtextbin
index ddc983a6..337977f1 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/VampireLanguage.xtextbin
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/VampireLanguage.xtextbin
Binary files differ
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/serializer/VampireLanguageSemanticSequencer.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/serializer/VampireLanguageSemanticSequencer.java
index d763a193..890341db 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/serializer/VampireLanguageSemanticSequencer.java
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/serializer/VampireLanguageSemanticSequencer.java
@@ -14,7 +14,6 @@ import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSEquality;
14import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSEquivalent; 14import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSEquivalent;
15import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSExistentialQuantifier; 15import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSExistentialQuantifier;
16import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFalse; 16import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFalse;
17import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFiniteModel;
18import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFofFormula; 17import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFofFormula;
19import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunction; 18import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunction;
20import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunctionFof; 19import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunctionFof;
@@ -33,7 +32,6 @@ import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSRevImplies;
33import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSSatisfiable; 32import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSSatisfiable;
34import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSTffFormula; 33import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSTffFormula;
35import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSTrue; 34import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSTrue;
36import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSTrying;
37import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUnaryNegation; 35import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUnaryNegation;
38import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUniversalQuantifier; 36import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUniversalQuantifier;
39import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSVariable; 37import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSVariable;
@@ -103,9 +101,6 @@ public class VampireLanguageSemanticSequencer extends AbstractDelegatingSemantic
103 case VampireLanguagePackage.VLS_FALSE: 101 case VampireLanguagePackage.VLS_FALSE:
104 sequence_VLSAtomicConstant(context, (VLSFalse) semanticObject); 102 sequence_VLSAtomicConstant(context, (VLSFalse) semanticObject);
105 return; 103 return;
106 case VampireLanguagePackage.VLS_FINITE_MODEL:
107 sequence_VLSFiniteModel(context, (VLSFiniteModel) semanticObject);
108 return;
109 case VampireLanguagePackage.VLS_FOF_FORMULA: 104 case VampireLanguagePackage.VLS_FOF_FORMULA:
110 sequence_VLSFofFormula(context, (VLSFofFormula) semanticObject); 105 sequence_VLSFofFormula(context, (VLSFofFormula) semanticObject);
111 return; 106 return;
@@ -160,9 +155,6 @@ public class VampireLanguageSemanticSequencer extends AbstractDelegatingSemantic
160 case VampireLanguagePackage.VLS_TRUE: 155 case VampireLanguagePackage.VLS_TRUE:
161 sequence_VLSAtomicConstant(context, (VLSTrue) semanticObject); 156 sequence_VLSAtomicConstant(context, (VLSTrue) semanticObject);
162 return; 157 return;
163 case VampireLanguagePackage.VLS_TRYING:
164 sequence_VLSTrying(context, (VLSTrying) semanticObject);
165 return;
166 case VampireLanguagePackage.VLS_UNARY_NEGATION: 158 case VampireLanguagePackage.VLS_UNARY_NEGATION:
167 sequence_VLSUnaryNegation(context, (VLSUnaryNegation) semanticObject); 159 sequence_VLSUnaryNegation(context, (VLSUnaryNegation) semanticObject);
168 return; 160 return;
@@ -782,18 +774,6 @@ public class VampireLanguageSemanticSequencer extends AbstractDelegatingSemantic
782 774
783 /** 775 /**
784 * Contexts: 776 * Contexts:
785 * VLSFiniteModel returns VLSFiniteModel
786 *
787 * Constraint:
788 * {VLSFiniteModel}
789 */
790 protected void sequence_VLSFiniteModel(ISerializationContext context, VLSFiniteModel semanticObject) {
791 genericSequencer.createSequence(context, semanticObject);
792 }
793
794
795 /**
796 * Contexts:
797 * VLSFofFormula returns VLSFofFormula 777 * VLSFofFormula returns VLSFofFormula
798 * 778 *
799 * Constraint: 779 * Constraint:
@@ -868,24 +848,6 @@ public class VampireLanguageSemanticSequencer extends AbstractDelegatingSemantic
868 848
869 /** 849 /**
870 * Contexts: 850 * Contexts:
871 * VLSTrying returns VLSTrying
872 *
873 * Constraint:
874 * name=LITERAL
875 */
876 protected void sequence_VLSTrying(ISerializationContext context, VLSTrying semanticObject) {
877 if (errorAcceptor != null) {
878 if (transientValues.isValueTransient(semanticObject, VampireLanguagePackage.Literals.VLS_TRYING__NAME) == ValueTransient.YES)
879 errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, VampireLanguagePackage.Literals.VLS_TRYING__NAME));
880 }
881 SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
882 feeder.accept(grammarAccess.getVLSTryingAccess().getNameLITERALTerminalRuleCall_2_0(), semanticObject.getName());
883 feeder.finish();
884 }
885
886
887 /**
888 * Contexts:
889 * VLSTerm returns VLSAssignment 851 * VLSTerm returns VLSAssignment
890 * VLSBinary returns VLSAssignment 852 * VLSBinary returns VLSAssignment
891 * VLSBinary.VLSEquivalent_1_0_0_0_0 returns VLSAssignment 853 * VLSBinary.VLSEquivalent_1_0_0_0_0 returns VLSAssignment
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/services/VampireLanguageGrammarAccess.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/services/VampireLanguageGrammarAccess.java
index 64ba160f..c5bd8be2 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/services/VampireLanguageGrammarAccess.java
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/services/VampireLanguageGrammarAccess.java
@@ -234,64 +234,6 @@ public class VampireLanguageGrammarAccess extends AbstractGrammarElementFinder {
234 //'Satisfiable!' 234 //'Satisfiable!'
235 public Keyword getSatisfiableKeyword_1() { return cSatisfiableKeyword_1; } 235 public Keyword getSatisfiableKeyword_1() { return cSatisfiableKeyword_1; }
236 } 236 }
237 public class VLSTryingElements extends AbstractParserRuleElementFinder {
238 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSTrying");
239 private final Group cGroup = (Group)rule.eContents().get(1);
240 private final Keyword cTRYINGKeyword_0 = (Keyword)cGroup.eContents().get(0);
241 private final Keyword cLeftSquareBracketKeyword_1 = (Keyword)cGroup.eContents().get(1);
242 private final Assignment cNameAssignment_2 = (Assignment)cGroup.eContents().get(2);
243 private final RuleCall cNameLITERALTerminalRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0);
244 private final Keyword cRightSquareBracketKeyword_3 = (Keyword)cGroup.eContents().get(3);
245
246 //VLSTrying:
247 // 'TRYING' '[' name=LITERAL ']';
248 @Override public ParserRule getRule() { return rule; }
249
250 //'TRYING' '[' name=LITERAL ']'
251 public Group getGroup() { return cGroup; }
252
253 //'TRYING'
254 public Keyword getTRYINGKeyword_0() { return cTRYINGKeyword_0; }
255
256 //'['
257 public Keyword getLeftSquareBracketKeyword_1() { return cLeftSquareBracketKeyword_1; }
258
259 //name=LITERAL
260 public Assignment getNameAssignment_2() { return cNameAssignment_2; }
261
262 //LITERAL
263 public RuleCall getNameLITERALTerminalRuleCall_2_0() { return cNameLITERALTerminalRuleCall_2_0; }
264
265 //']'
266 public Keyword getRightSquareBracketKeyword_3() { return cRightSquareBracketKeyword_3; }
267 }
268 public class VLSFiniteModelElements extends AbstractParserRuleElementFinder {
269 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSFiniteModel");
270 private final Group cGroup = (Group)rule.eContents().get(1);
271 private final Action cVLSFiniteModelAction_0 = (Action)cGroup.eContents().get(0);
272 private final Keyword cFiniteKeyword_1 = (Keyword)cGroup.eContents().get(1);
273 private final Keyword cModelKeyword_2 = (Keyword)cGroup.eContents().get(2);
274 private final Keyword cFoundKeyword_3 = (Keyword)cGroup.eContents().get(3);
275
276 //VLSFiniteModel:
277 // {VLSFiniteModel} 'Finite' 'Model' 'Found!';
278 @Override public ParserRule getRule() { return rule; }
279
280 //{VLSFiniteModel} 'Finite' 'Model' 'Found!'
281 public Group getGroup() { return cGroup; }
282
283 //{VLSFiniteModel}
284 public Action getVLSFiniteModelAction_0() { return cVLSFiniteModelAction_0; }
285
286 //'Finite'
287 public Keyword getFiniteKeyword_1() { return cFiniteKeyword_1; }
288
289 //'Model'
290 public Keyword getModelKeyword_2() { return cModelKeyword_2; }
291
292 //'Found!'
293 public Keyword getFoundKeyword_3() { return cFoundKeyword_3; }
294 }
295 public class VLSFofFormulaElements extends AbstractParserRuleElementFinder { 237 public class VLSFofFormulaElements extends AbstractParserRuleElementFinder {
296 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSFofFormula"); 238 private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ca.mcgill.ecse.dslreasoner.VampireLanguage.VLSFofFormula");
297 private final Group cGroup = (Group)rule.eContents().get(1); 239 private final Group cGroup = (Group)rule.eContents().get(1);
@@ -315,6 +257,13 @@ public class VampireLanguageGrammarAccess extends AbstractGrammarElementFinder {
315 private final Keyword cRightParenthesisKeyword_8 = (Keyword)cGroup.eContents().get(8); 257 private final Keyword cRightParenthesisKeyword_8 = (Keyword)cGroup.eContents().get(8);
316 private final Keyword cFullStopKeyword_9 = (Keyword)cGroup.eContents().get(9); 258 private final Keyword cFullStopKeyword_9 = (Keyword)cGroup.eContents().get(9);
317 259
260 ////VLSTrying:
261 //// 'TRYING' '[' name = LITERAL ']'
262 ////;
263 ////
264 ////VLSFiniteModel:
265 //// {VLSFiniteModel} 'Finite' 'Model' 'Found!'
266 ////;
318 //// <FOF formulas> 267 //// <FOF formulas>
319 //VLSFofFormula: 268 //VLSFofFormula:
320 // 'fof' '(' name=(LOWER_WORD_ID | SIGNED_LITERAL | SINGLE_QUOTE) ',' fofRole=VLSRole ',' fofFormula=VLSTerm (',' 269 // 'fof' '(' name=(LOWER_WORD_ID | SIGNED_LITERAL | SINGLE_QUOTE) ',' fofRole=VLSRole ',' fofFormula=VLSTerm (','
@@ -1633,8 +1582,6 @@ public class VampireLanguageGrammarAccess extends AbstractGrammarElementFinder {
1633 private final VLSCommentElements pVLSComment; 1582 private final VLSCommentElements pVLSComment;
1634 private final VLSConfirmationsElements pVLSConfirmations; 1583 private final VLSConfirmationsElements pVLSConfirmations;
1635 private final VLSSatisfiableElements pVLSSatisfiable; 1584 private final VLSSatisfiableElements pVLSSatisfiable;
1636 private final VLSTryingElements pVLSTrying;
1637 private final VLSFiniteModelElements pVLSFiniteModel;
1638 private final VLSFofFormulaElements pVLSFofFormula; 1585 private final VLSFofFormulaElements pVLSFofFormula;
1639 private final VLSTffFormulaElements pVLSTffFormula; 1586 private final VLSTffFormulaElements pVLSTffFormula;
1640 private final VLSRoleElements pVLSRole; 1587 private final VLSRoleElements pVLSRole;
@@ -1688,8 +1635,6 @@ public class VampireLanguageGrammarAccess extends AbstractGrammarElementFinder {
1688 this.pVLSComment = new VLSCommentElements(); 1635 this.pVLSComment = new VLSCommentElements();
1689 this.pVLSConfirmations = new VLSConfirmationsElements(); 1636 this.pVLSConfirmations = new VLSConfirmationsElements();
1690 this.pVLSSatisfiable = new VLSSatisfiableElements(); 1637 this.pVLSSatisfiable = new VLSSatisfiableElements();
1691 this.pVLSTrying = new VLSTryingElements();
1692 this.pVLSFiniteModel = new VLSFiniteModelElements();
1693 this.pVLSFofFormula = new VLSFofFormulaElements(); 1638 this.pVLSFofFormula = new VLSFofFormulaElements();
1694 this.pVLSTffFormula = new VLSTffFormulaElements(); 1639 this.pVLSTffFormula = new VLSTffFormulaElements();
1695 this.pVLSRole = new VLSRoleElements(); 1640 this.pVLSRole = new VLSRoleElements();
@@ -1922,26 +1867,13 @@ public class VampireLanguageGrammarAccess extends AbstractGrammarElementFinder {
1922 return getVLSSatisfiableAccess().getRule(); 1867 return getVLSSatisfiableAccess().getRule();
1923 } 1868 }
1924 1869
1925 //VLSTrying: 1870 ////VLSTrying:
1926 // 'TRYING' '[' name=LITERAL ']'; 1871 //// 'TRYING' '[' name = LITERAL ']'
1927 public VLSTryingElements getVLSTryingAccess() { 1872 ////;
1928 return pVLSTrying; 1873 ////
1929 } 1874 ////VLSFiniteModel:
1930 1875 //// {VLSFiniteModel} 'Finite' 'Model' 'Found!'
1931 public ParserRule getVLSTryingRule() { 1876 ////;
1932 return getVLSTryingAccess().getRule();
1933 }
1934
1935 //VLSFiniteModel:
1936 // {VLSFiniteModel} 'Finite' 'Model' 'Found!';
1937 public VLSFiniteModelElements getVLSFiniteModelAccess() {
1938 return pVLSFiniteModel;
1939 }
1940
1941 public ParserRule getVLSFiniteModelRule() {
1942 return getVLSFiniteModelAccess().getRule();
1943 }
1944
1945 //// <FOF formulas> 1877 //// <FOF formulas>
1946 //VLSFofFormula: 1878 //VLSFofFormula:
1947 // 'fof' '(' name=(LOWER_WORD_ID | SIGNED_LITERAL | SINGLE_QUOTE) ',' fofRole=VLSRole ',' fofFormula=VLSTerm (',' 1879 // 'fof' '(' name=(LOWER_WORD_ID | SIGNED_LITERAL | SINGLE_QUOTE) ',' fofRole=VLSRole ',' fofFormula=VLSTerm (','
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VampireLanguageFactory.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VampireLanguageFactory.java
index a89885ee..84b65a59 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VampireLanguageFactory.java
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VampireLanguageFactory.java
@@ -78,24 +78,6 @@ public interface VampireLanguageFactory extends EFactory
78 VLSSatisfiable createVLSSatisfiable(); 78 VLSSatisfiable createVLSSatisfiable();
79 79
80 /** 80 /**
81 * Returns a new object of class '<em>VLS Trying</em>'.
82 * <!-- begin-user-doc -->
83 * <!-- end-user-doc -->
84 * @return a new object of class '<em>VLS Trying</em>'.
85 * @generated
86 */
87 VLSTrying createVLSTrying();
88
89 /**
90 * Returns a new object of class '<em>VLS Finite Model</em>'.
91 * <!-- begin-user-doc -->
92 * <!-- end-user-doc -->
93 * @return a new object of class '<em>VLS Finite Model</em>'.
94 * @generated
95 */
96 VLSFiniteModel createVLSFiniteModel();
97
98 /**
99 * Returns a new object of class '<em>VLS Fof Formula</em>'. 81 * Returns a new object of class '<em>VLS Fof Formula</em>'.
100 * <!-- begin-user-doc --> 82 * <!-- begin-user-doc -->
101 * <!-- end-user-doc --> 83 * <!-- end-user-doc -->
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VampireLanguagePackage.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VampireLanguagePackage.java
index a9334a48..e7df5378 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VampireLanguagePackage.java
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/VampireLanguagePackage.java
@@ -253,53 +253,6 @@ public interface VampireLanguagePackage extends EPackage
253 int VLS_SATISFIABLE_FEATURE_COUNT = VLS_CONFIRMATIONS_FEATURE_COUNT + 0; 253 int VLS_SATISFIABLE_FEATURE_COUNT = VLS_CONFIRMATIONS_FEATURE_COUNT + 0;
254 254
255 /** 255 /**
256 * The meta object id for the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSTryingImpl <em>VLS Trying</em>}' class.
257 * <!-- begin-user-doc -->
258 * <!-- end-user-doc -->
259 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSTryingImpl
260 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSTrying()
261 * @generated
262 */
263 int VLS_TRYING = 6;
264
265 /**
266 * The feature id for the '<em><b>Name</b></em>' attribute.
267 * <!-- begin-user-doc -->
268 * <!-- end-user-doc -->
269 * @generated
270 * @ordered
271 */
272 int VLS_TRYING__NAME = 0;
273
274 /**
275 * The number of structural features of the '<em>VLS Trying</em>' class.
276 * <!-- begin-user-doc -->
277 * <!-- end-user-doc -->
278 * @generated
279 * @ordered
280 */
281 int VLS_TRYING_FEATURE_COUNT = 1;
282
283 /**
284 * The meta object id for the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSFiniteModelImpl <em>VLS Finite Model</em>}' class.
285 * <!-- begin-user-doc -->
286 * <!-- end-user-doc -->
287 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSFiniteModelImpl
288 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSFiniteModel()
289 * @generated
290 */
291 int VLS_FINITE_MODEL = 7;
292
293 /**
294 * The number of structural features of the '<em>VLS Finite Model</em>' class.
295 * <!-- begin-user-doc -->
296 * <!-- end-user-doc -->
297 * @generated
298 * @ordered
299 */
300 int VLS_FINITE_MODEL_FEATURE_COUNT = 0;
301
302 /**
303 * The meta object id for the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSFofFormulaImpl <em>VLS Fof Formula</em>}' class. 256 * The meta object id for the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSFofFormulaImpl <em>VLS Fof Formula</em>}' class.
304 * <!-- begin-user-doc --> 257 * <!-- begin-user-doc -->
305 * <!-- end-user-doc --> 258 * <!-- end-user-doc -->
@@ -307,7 +260,7 @@ public interface VampireLanguagePackage extends EPackage
307 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSFofFormula() 260 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSFofFormula()
308 * @generated 261 * @generated
309 */ 262 */
310 int VLS_FOF_FORMULA = 8; 263 int VLS_FOF_FORMULA = 6;
311 264
312 /** 265 /**
313 * The feature id for the '<em><b>Name</b></em>' attribute. 266 * The feature id for the '<em><b>Name</b></em>' attribute.
@@ -362,7 +315,7 @@ public interface VampireLanguagePackage extends EPackage
362 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSTffFormula() 315 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSTffFormula()
363 * @generated 316 * @generated
364 */ 317 */
365 int VLS_TFF_FORMULA = 9; 318 int VLS_TFF_FORMULA = 7;
366 319
367 /** 320 /**
368 * The feature id for the '<em><b>Name</b></em>' attribute. 321 * The feature id for the '<em><b>Name</b></em>' attribute.
@@ -417,7 +370,7 @@ public interface VampireLanguagePackage extends EPackage
417 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSAnnotation() 370 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSAnnotation()
418 * @generated 371 * @generated
419 */ 372 */
420 int VLS_ANNOTATION = 10; 373 int VLS_ANNOTATION = 8;
421 374
422 /** 375 /**
423 * The feature id for the '<em><b>Name</b></em>' attribute. 376 * The feature id for the '<em><b>Name</b></em>' attribute.
@@ -463,7 +416,7 @@ public interface VampireLanguagePackage extends EPackage
463 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSTerm() 416 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSTerm()
464 * @generated 417 * @generated
465 */ 418 */
466 int VLS_TERM = 11; 419 int VLS_TERM = 9;
467 420
468 /** 421 /**
469 * The number of structural features of the '<em>VLS Term</em>' class. 422 * The number of structural features of the '<em>VLS Term</em>' class.
@@ -482,7 +435,7 @@ public interface VampireLanguagePackage extends EPackage
482 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSVariable() 435 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSVariable()
483 * @generated 436 * @generated
484 */ 437 */
485 int VLS_VARIABLE = 12; 438 int VLS_VARIABLE = 10;
486 439
487 /** 440 /**
488 * The feature id for the '<em><b>Name</b></em>' attribute. 441 * The feature id for the '<em><b>Name</b></em>' attribute.
@@ -510,7 +463,7 @@ public interface VampireLanguagePackage extends EPackage
510 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSFunctionFof() 463 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSFunctionFof()
511 * @generated 464 * @generated
512 */ 465 */
513 int VLS_FUNCTION_FOF = 13; 466 int VLS_FUNCTION_FOF = 11;
514 467
515 /** 468 /**
516 * The feature id for the '<em><b>Functor</b></em>' attribute. 469 * The feature id for the '<em><b>Functor</b></em>' attribute.
@@ -547,7 +500,7 @@ public interface VampireLanguagePackage extends EPackage
547 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSDefinedTerm() 500 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSDefinedTerm()
548 * @generated 501 * @generated
549 */ 502 */
550 int VLS_DEFINED_TERM = 14; 503 int VLS_DEFINED_TERM = 12;
551 504
552 /** 505 /**
553 * The feature id for the '<em><b>Value</b></em>' attribute. 506 * The feature id for the '<em><b>Value</b></em>' attribute.
@@ -575,7 +528,7 @@ public interface VampireLanguagePackage extends EPackage
575 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSEquivalent() 528 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSEquivalent()
576 * @generated 529 * @generated
577 */ 530 */
578 int VLS_EQUIVALENT = 15; 531 int VLS_EQUIVALENT = 13;
579 532
580 /** 533 /**
581 * The feature id for the '<em><b>Left</b></em>' containment reference. 534 * The feature id for the '<em><b>Left</b></em>' containment reference.
@@ -612,7 +565,7 @@ public interface VampireLanguagePackage extends EPackage
612 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSImplies() 565 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSImplies()
613 * @generated 566 * @generated
614 */ 567 */
615 int VLS_IMPLIES = 16; 568 int VLS_IMPLIES = 14;
616 569
617 /** 570 /**
618 * The feature id for the '<em><b>Left</b></em>' containment reference. 571 * The feature id for the '<em><b>Left</b></em>' containment reference.
@@ -649,7 +602,7 @@ public interface VampireLanguagePackage extends EPackage
649 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSRevImplies() 602 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSRevImplies()
650 * @generated 603 * @generated
651 */ 604 */
652 int VLS_REV_IMPLIES = 17; 605 int VLS_REV_IMPLIES = 15;
653 606
654 /** 607 /**
655 * The feature id for the '<em><b>Left</b></em>' containment reference. 608 * The feature id for the '<em><b>Left</b></em>' containment reference.
@@ -686,7 +639,7 @@ public interface VampireLanguagePackage extends EPackage
686 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSXnor() 639 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSXnor()
687 * @generated 640 * @generated
688 */ 641 */
689 int VLS_XNOR = 18; 642 int VLS_XNOR = 16;
690 643
691 /** 644 /**
692 * The feature id for the '<em><b>Left</b></em>' containment reference. 645 * The feature id for the '<em><b>Left</b></em>' containment reference.
@@ -723,7 +676,7 @@ public interface VampireLanguagePackage extends EPackage
723 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSNor() 676 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSNor()
724 * @generated 677 * @generated
725 */ 678 */
726 int VLS_NOR = 19; 679 int VLS_NOR = 17;
727 680
728 /** 681 /**
729 * The feature id for the '<em><b>Left</b></em>' containment reference. 682 * The feature id for the '<em><b>Left</b></em>' containment reference.
@@ -760,7 +713,7 @@ public interface VampireLanguagePackage extends EPackage
760 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSNand() 713 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSNand()
761 * @generated 714 * @generated
762 */ 715 */
763 int VLS_NAND = 20; 716 int VLS_NAND = 18;
764 717
765 /** 718 /**
766 * The feature id for the '<em><b>Left</b></em>' containment reference. 719 * The feature id for the '<em><b>Left</b></em>' containment reference.
@@ -797,7 +750,7 @@ public interface VampireLanguagePackage extends EPackage
797 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSAnd() 750 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSAnd()
798 * @generated 751 * @generated
799 */ 752 */
800 int VLS_AND = 21; 753 int VLS_AND = 19;
801 754
802 /** 755 /**
803 * The feature id for the '<em><b>Left</b></em>' containment reference. 756 * The feature id for the '<em><b>Left</b></em>' containment reference.
@@ -834,7 +787,7 @@ public interface VampireLanguagePackage extends EPackage
834 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSOr() 787 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSOr()
835 * @generated 788 * @generated
836 */ 789 */
837 int VLS_OR = 22; 790 int VLS_OR = 20;
838 791
839 /** 792 /**
840 * The feature id for the '<em><b>Left</b></em>' containment reference. 793 * The feature id for the '<em><b>Left</b></em>' containment reference.
@@ -871,7 +824,7 @@ public interface VampireLanguagePackage extends EPackage
871 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSUniversalQuantifier() 824 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSUniversalQuantifier()
872 * @generated 825 * @generated
873 */ 826 */
874 int VLS_UNIVERSAL_QUANTIFIER = 23; 827 int VLS_UNIVERSAL_QUANTIFIER = 21;
875 828
876 /** 829 /**
877 * The feature id for the '<em><b>Variables</b></em>' containment reference list. 830 * The feature id for the '<em><b>Variables</b></em>' containment reference list.
@@ -908,7 +861,7 @@ public interface VampireLanguagePackage extends EPackage
908 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSExistentialQuantifier() 861 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSExistentialQuantifier()
909 * @generated 862 * @generated
910 */ 863 */
911 int VLS_EXISTENTIAL_QUANTIFIER = 24; 864 int VLS_EXISTENTIAL_QUANTIFIER = 22;
912 865
913 /** 866 /**
914 * The feature id for the '<em><b>Variables</b></em>' containment reference list. 867 * The feature id for the '<em><b>Variables</b></em>' containment reference list.
@@ -945,7 +898,7 @@ public interface VampireLanguagePackage extends EPackage
945 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSUnaryNegation() 898 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSUnaryNegation()
946 * @generated 899 * @generated
947 */ 900 */
948 int VLS_UNARY_NEGATION = 25; 901 int VLS_UNARY_NEGATION = 23;
949 902
950 /** 903 /**
951 * The feature id for the '<em><b>Operand</b></em>' containment reference. 904 * The feature id for the '<em><b>Operand</b></em>' containment reference.
@@ -973,7 +926,7 @@ public interface VampireLanguagePackage extends EPackage
973 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSInequality() 926 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSInequality()
974 * @generated 927 * @generated
975 */ 928 */
976 int VLS_INEQUALITY = 26; 929 int VLS_INEQUALITY = 24;
977 930
978 /** 931 /**
979 * The feature id for the '<em><b>Left</b></em>' containment reference. 932 * The feature id for the '<em><b>Left</b></em>' containment reference.
@@ -1010,7 +963,7 @@ public interface VampireLanguagePackage extends EPackage
1010 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSEquality() 963 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSEquality()
1011 * @generated 964 * @generated
1012 */ 965 */
1013 int VLS_EQUALITY = 27; 966 int VLS_EQUALITY = 25;
1014 967
1015 /** 968 /**
1016 * The feature id for the '<em><b>Left</b></em>' containment reference. 969 * The feature id for the '<em><b>Left</b></em>' containment reference.
@@ -1047,7 +1000,7 @@ public interface VampireLanguagePackage extends EPackage
1047 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSAssignment() 1000 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSAssignment()
1048 * @generated 1001 * @generated
1049 */ 1002 */
1050 int VLS_ASSIGNMENT = 28; 1003 int VLS_ASSIGNMENT = 26;
1051 1004
1052 /** 1005 /**
1053 * The feature id for the '<em><b>Left</b></em>' containment reference. 1006 * The feature id for the '<em><b>Left</b></em>' containment reference.
@@ -1084,7 +1037,7 @@ public interface VampireLanguagePackage extends EPackage
1084 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSConstant() 1037 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSConstant()
1085 * @generated 1038 * @generated
1086 */ 1039 */
1087 int VLS_CONSTANT = 29; 1040 int VLS_CONSTANT = 27;
1088 1041
1089 /** 1042 /**
1090 * The feature id for the '<em><b>Name</b></em>' attribute. 1043 * The feature id for the '<em><b>Name</b></em>' attribute.
@@ -1112,7 +1065,7 @@ public interface VampireLanguagePackage extends EPackage
1112 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSTrue() 1065 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSTrue()
1113 * @generated 1066 * @generated
1114 */ 1067 */
1115 int VLS_TRUE = 30; 1068 int VLS_TRUE = 28;
1116 1069
1117 /** 1070 /**
1118 * The number of structural features of the '<em>VLS True</em>' class. 1071 * The number of structural features of the '<em>VLS True</em>' class.
@@ -1131,7 +1084,7 @@ public interface VampireLanguagePackage extends EPackage
1131 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSFalse() 1084 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSFalse()
1132 * @generated 1085 * @generated
1133 */ 1086 */
1134 int VLS_FALSE = 31; 1087 int VLS_FALSE = 29;
1135 1088
1136 /** 1089 /**
1137 * The number of structural features of the '<em>VLS False</em>' class. 1090 * The number of structural features of the '<em>VLS False</em>' class.
@@ -1150,7 +1103,7 @@ public interface VampireLanguagePackage extends EPackage
1150 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSFunction() 1103 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSFunction()
1151 * @generated 1104 * @generated
1152 */ 1105 */
1153 int VLS_FUNCTION = 32; 1106 int VLS_FUNCTION = 30;
1154 1107
1155 /** 1108 /**
1156 * The feature id for the '<em><b>Constant</b></em>' attribute. 1109 * The feature id for the '<em><b>Constant</b></em>' attribute.
@@ -1187,7 +1140,7 @@ public interface VampireLanguagePackage extends EPackage
1187 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSLess() 1140 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSLess()
1188 * @generated 1141 * @generated
1189 */ 1142 */
1190 int VLS_LESS = 33; 1143 int VLS_LESS = 31;
1191 1144
1192 /** 1145 /**
1193 * The feature id for the '<em><b>Name</b></em>' attribute. 1146 * The feature id for the '<em><b>Name</b></em>' attribute.
@@ -1224,7 +1177,7 @@ public interface VampireLanguagePackage extends EPackage
1224 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSInt() 1177 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSInt()
1225 * @generated 1178 * @generated
1226 */ 1179 */
1227 int VLS_INT = 34; 1180 int VLS_INT = 32;
1228 1181
1229 /** 1182 /**
1230 * The feature id for the '<em><b>Value</b></em>' attribute. 1183 * The feature id for the '<em><b>Value</b></em>' attribute.
@@ -1252,7 +1205,7 @@ public interface VampireLanguagePackage extends EPackage
1252 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSReal() 1205 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSReal()
1253 * @generated 1206 * @generated
1254 */ 1207 */
1255 int VLS_REAL = 35; 1208 int VLS_REAL = 33;
1256 1209
1257 /** 1210 /**
1258 * The feature id for the '<em><b>Value</b></em>' attribute. 1211 * The feature id for the '<em><b>Value</b></em>' attribute.
@@ -1280,7 +1233,7 @@ public interface VampireLanguagePackage extends EPackage
1280 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSRational() 1233 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSRational()
1281 * @generated 1234 * @generated
1282 */ 1235 */
1283 int VLS_RATIONAL = 36; 1236 int VLS_RATIONAL = 34;
1284 1237
1285 /** 1238 /**
1286 * The feature id for the '<em><b>Value</b></em>' attribute. 1239 * The feature id for the '<em><b>Value</b></em>' attribute.
@@ -1308,7 +1261,7 @@ public interface VampireLanguagePackage extends EPackage
1308 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSDoubleQuote() 1261 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSDoubleQuote()
1309 * @generated 1262 * @generated
1310 */ 1263 */
1311 int VLS_DOUBLE_QUOTE = 37; 1264 int VLS_DOUBLE_QUOTE = 35;
1312 1265
1313 /** 1266 /**
1314 * The feature id for the '<em><b>Value</b></em>' attribute. 1267 * The feature id for the '<em><b>Value</b></em>' attribute.
@@ -1489,37 +1442,6 @@ public interface VampireLanguagePackage extends EPackage
1489 EClass getVLSSatisfiable(); 1442 EClass getVLSSatisfiable();
1490 1443
1491 /** 1444 /**
1492 * Returns the meta object for class '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSTrying <em>VLS Trying</em>}'.
1493 * <!-- begin-user-doc -->
1494 * <!-- end-user-doc -->
1495 * @return the meta object for class '<em>VLS Trying</em>'.
1496 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSTrying
1497 * @generated
1498 */
1499 EClass getVLSTrying();
1500
1501 /**
1502 * Returns the meta object for the attribute '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSTrying#getName <em>Name</em>}'.
1503 * <!-- begin-user-doc -->
1504 * <!-- end-user-doc -->
1505 * @return the meta object for the attribute '<em>Name</em>'.
1506 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSTrying#getName()
1507 * @see #getVLSTrying()
1508 * @generated
1509 */
1510 EAttribute getVLSTrying_Name();
1511
1512 /**
1513 * Returns the meta object for class '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFiniteModel <em>VLS Finite Model</em>}'.
1514 * <!-- begin-user-doc -->
1515 * <!-- end-user-doc -->
1516 * @return the meta object for class '<em>VLS Finite Model</em>'.
1517 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFiniteModel
1518 * @generated
1519 */
1520 EClass getVLSFiniteModel();
1521
1522 /**
1523 * Returns the meta object for class '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFofFormula <em>VLS Fof Formula</em>}'. 1445 * Returns the meta object for class '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFofFormula <em>VLS Fof Formula</em>}'.
1524 * <!-- begin-user-doc --> 1446 * <!-- begin-user-doc -->
1525 * <!-- end-user-doc --> 1447 * <!-- end-user-doc -->
@@ -2492,34 +2414,6 @@ public interface VampireLanguagePackage extends EPackage
2492 EClass VLS_SATISFIABLE = eINSTANCE.getVLSSatisfiable(); 2414 EClass VLS_SATISFIABLE = eINSTANCE.getVLSSatisfiable();
2493 2415
2494 /** 2416 /**
2495 * The meta object literal for the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSTryingImpl <em>VLS Trying</em>}' class.
2496 * <!-- begin-user-doc -->
2497 * <!-- end-user-doc -->
2498 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSTryingImpl
2499 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSTrying()
2500 * @generated
2501 */
2502 EClass VLS_TRYING = eINSTANCE.getVLSTrying();
2503
2504 /**
2505 * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
2506 * <!-- begin-user-doc -->
2507 * <!-- end-user-doc -->
2508 * @generated
2509 */
2510 EAttribute VLS_TRYING__NAME = eINSTANCE.getVLSTrying_Name();
2511
2512 /**
2513 * The meta object literal for the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSFiniteModelImpl <em>VLS Finite Model</em>}' class.
2514 * <!-- begin-user-doc -->
2515 * <!-- end-user-doc -->
2516 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSFiniteModelImpl
2517 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguagePackageImpl#getVLSFiniteModel()
2518 * @generated
2519 */
2520 EClass VLS_FINITE_MODEL = eINSTANCE.getVLSFiniteModel();
2521
2522 /**
2523 * The meta object literal for the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSFofFormulaImpl <em>VLS Fof Formula</em>}' class. 2417 * The meta object literal for the '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSFofFormulaImpl <em>VLS Fof Formula</em>}' class.
2524 * <!-- begin-user-doc --> 2418 * <!-- begin-user-doc -->
2525 * <!-- end-user-doc --> 2419 * <!-- end-user-doc -->
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VampireLanguageFactoryImpl.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VampireLanguageFactoryImpl.java
index cd4a7a01..c3c74fe9 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VampireLanguageFactoryImpl.java
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VampireLanguageFactoryImpl.java
@@ -71,8 +71,6 @@ public class VampireLanguageFactoryImpl extends EFactoryImpl implements VampireL
71 case VampireLanguagePackage.VLS_COMMENT: return createVLSComment(); 71 case VampireLanguagePackage.VLS_COMMENT: return createVLSComment();
72 case VampireLanguagePackage.VLS_CONFIRMATIONS: return createVLSConfirmations(); 72 case VampireLanguagePackage.VLS_CONFIRMATIONS: return createVLSConfirmations();
73 case VampireLanguagePackage.VLS_SATISFIABLE: return createVLSSatisfiable(); 73 case VampireLanguagePackage.VLS_SATISFIABLE: return createVLSSatisfiable();
74 case VampireLanguagePackage.VLS_TRYING: return createVLSTrying();
75 case VampireLanguagePackage.VLS_FINITE_MODEL: return createVLSFiniteModel();
76 case VampireLanguagePackage.VLS_FOF_FORMULA: return createVLSFofFormula(); 74 case VampireLanguagePackage.VLS_FOF_FORMULA: return createVLSFofFormula();
77 case VampireLanguagePackage.VLS_TFF_FORMULA: return createVLSTffFormula(); 75 case VampireLanguagePackage.VLS_TFF_FORMULA: return createVLSTffFormula();
78 case VampireLanguagePackage.VLS_ANNOTATION: return createVLSAnnotation(); 76 case VampireLanguagePackage.VLS_ANNOTATION: return createVLSAnnotation();
@@ -179,28 +177,6 @@ public class VampireLanguageFactoryImpl extends EFactoryImpl implements VampireL
179 * <!-- end-user-doc --> 177 * <!-- end-user-doc -->
180 * @generated 178 * @generated
181 */ 179 */
182 public VLSTrying createVLSTrying()
183 {
184 VLSTryingImpl vlsTrying = new VLSTryingImpl();
185 return vlsTrying;
186 }
187
188 /**
189 * <!-- begin-user-doc -->
190 * <!-- end-user-doc -->
191 * @generated
192 */
193 public VLSFiniteModel createVLSFiniteModel()
194 {
195 VLSFiniteModelImpl vlsFiniteModel = new VLSFiniteModelImpl();
196 return vlsFiniteModel;
197 }
198
199 /**
200 * <!-- begin-user-doc -->
201 * <!-- end-user-doc -->
202 * @generated
203 */
204 public VLSFofFormula createVLSFofFormula() 180 public VLSFofFormula createVLSFofFormula()
205 { 181 {
206 VLSFofFormulaImpl vlsFofFormula = new VLSFofFormulaImpl(); 182 VLSFofFormulaImpl vlsFofFormula = new VLSFofFormulaImpl();
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VampireLanguagePackageImpl.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VampireLanguagePackageImpl.java
index ff71ff74..2b131272 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VampireLanguagePackageImpl.java
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/impl/VampireLanguagePackageImpl.java
@@ -15,7 +15,6 @@ import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSEquality;
15import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSEquivalent; 15import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSEquivalent;
16import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSExistentialQuantifier; 16import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSExistentialQuantifier;
17import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFalse; 17import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFalse;
18import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFiniteModel;
19import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFofFormula; 18import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFofFormula;
20import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunction; 19import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunction;
21import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunctionFof; 20import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunctionFof;
@@ -35,7 +34,6 @@ import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSSatisfiable;
35import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSTerm; 34import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSTerm;
36import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSTffFormula; 35import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSTffFormula;
37import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSTrue; 36import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSTrue;
38import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSTrying;
39import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUnaryNegation; 37import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUnaryNegation;
40import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUniversalQuantifier; 38import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUniversalQuantifier;
41import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSVariable; 39import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSVariable;
@@ -106,20 +104,6 @@ public class VampireLanguagePackageImpl extends EPackageImpl implements VampireL
106 * <!-- end-user-doc --> 104 * <!-- end-user-doc -->
107 * @generated 105 * @generated
108 */ 106 */
109 private EClass vlsTryingEClass = null;
110
111 /**
112 * <!-- begin-user-doc -->
113 * <!-- end-user-doc -->
114 * @generated
115 */
116 private EClass vlsFiniteModelEClass = null;
117
118 /**
119 * <!-- begin-user-doc -->
120 * <!-- end-user-doc -->
121 * @generated
122 */
123 private EClass vlsFofFormulaEClass = null; 107 private EClass vlsFofFormulaEClass = null;
124 108
125 /** 109 /**
@@ -543,36 +527,6 @@ public class VampireLanguagePackageImpl extends EPackageImpl implements VampireL
543 * <!-- end-user-doc --> 527 * <!-- end-user-doc -->
544 * @generated 528 * @generated
545 */ 529 */
546 public EClass getVLSTrying()
547 {
548 return vlsTryingEClass;
549 }
550
551 /**
552 * <!-- begin-user-doc -->
553 * <!-- end-user-doc -->
554 * @generated
555 */
556 public EAttribute getVLSTrying_Name()
557 {
558 return (EAttribute)vlsTryingEClass.getEStructuralFeatures().get(0);
559 }
560
561 /**
562 * <!-- begin-user-doc -->
563 * <!-- end-user-doc -->
564 * @generated
565 */
566 public EClass getVLSFiniteModel()
567 {
568 return vlsFiniteModelEClass;
569 }
570
571 /**
572 * <!-- begin-user-doc -->
573 * <!-- end-user-doc -->
574 * @generated
575 */
576 public EClass getVLSFofFormula() 530 public EClass getVLSFofFormula()
577 { 531 {
578 return vlsFofFormulaEClass; 532 return vlsFofFormulaEClass;
@@ -1389,11 +1343,6 @@ public class VampireLanguagePackageImpl extends EPackageImpl implements VampireL
1389 1343
1390 vlsSatisfiableEClass = createEClass(VLS_SATISFIABLE); 1344 vlsSatisfiableEClass = createEClass(VLS_SATISFIABLE);
1391 1345
1392 vlsTryingEClass = createEClass(VLS_TRYING);
1393 createEAttribute(vlsTryingEClass, VLS_TRYING__NAME);
1394
1395 vlsFiniteModelEClass = createEClass(VLS_FINITE_MODEL);
1396
1397 vlsFofFormulaEClass = createEClass(VLS_FOF_FORMULA); 1346 vlsFofFormulaEClass = createEClass(VLS_FOF_FORMULA);
1398 createEAttribute(vlsFofFormulaEClass, VLS_FOF_FORMULA__NAME); 1347 createEAttribute(vlsFofFormulaEClass, VLS_FOF_FORMULA__NAME);
1399 createEAttribute(vlsFofFormulaEClass, VLS_FOF_FORMULA__FOF_ROLE); 1348 createEAttribute(vlsFofFormulaEClass, VLS_FOF_FORMULA__FOF_ROLE);
@@ -1581,11 +1530,6 @@ public class VampireLanguagePackageImpl extends EPackageImpl implements VampireL
1581 1530
1582 initEClass(vlsSatisfiableEClass, VLSSatisfiable.class, "VLSSatisfiable", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 1531 initEClass(vlsSatisfiableEClass, VLSSatisfiable.class, "VLSSatisfiable", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1583 1532
1584 initEClass(vlsTryingEClass, VLSTrying.class, "VLSTrying", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1585 initEAttribute(getVLSTrying_Name(), ecorePackage.getEString(), "name", null, 0, 1, VLSTrying.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1586
1587 initEClass(vlsFiniteModelEClass, VLSFiniteModel.class, "VLSFiniteModel", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1588
1589 initEClass(vlsFofFormulaEClass, VLSFofFormula.class, "VLSFofFormula", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 1533 initEClass(vlsFofFormulaEClass, VLSFofFormula.class, "VLSFofFormula", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1590 initEAttribute(getVLSFofFormula_Name(), ecorePackage.getEString(), "name", null, 0, 1, VLSFofFormula.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); 1534 initEAttribute(getVLSFofFormula_Name(), ecorePackage.getEString(), "name", null, 0, 1, VLSFofFormula.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1591 initEAttribute(getVLSFofFormula_FofRole(), ecorePackage.getEString(), "fofRole", null, 0, 1, VLSFofFormula.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); 1535 initEAttribute(getVLSFofFormula_FofRole(), ecorePackage.getEString(), "fofRole", null, 0, 1, VLSFofFormula.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/util/VampireLanguageAdapterFactory.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/util/VampireLanguageAdapterFactory.java
index 90781f47..41e073ca 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/util/VampireLanguageAdapterFactory.java
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/util/VampireLanguageAdapterFactory.java
@@ -106,16 +106,6 @@ public class VampireLanguageAdapterFactory extends AdapterFactoryImpl
106 return createVLSSatisfiableAdapter(); 106 return createVLSSatisfiableAdapter();
107 } 107 }
108 @Override 108 @Override
109 public Adapter caseVLSTrying(VLSTrying object)
110 {
111 return createVLSTryingAdapter();
112 }
113 @Override
114 public Adapter caseVLSFiniteModel(VLSFiniteModel object)
115 {
116 return createVLSFiniteModelAdapter();
117 }
118 @Override
119 public Adapter caseVLSFofFormula(VLSFofFormula object) 109 public Adapter caseVLSFofFormula(VLSFofFormula object)
120 { 110 {
121 return createVLSFofFormulaAdapter(); 111 return createVLSFofFormulaAdapter();
@@ -378,36 +368,6 @@ public class VampireLanguageAdapterFactory extends AdapterFactoryImpl
378 } 368 }
379 369
380 /** 370 /**
381 * Creates a new adapter for an object of class '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSTrying <em>VLS Trying</em>}'.
382 * <!-- begin-user-doc -->
383 * This default implementation returns null so that we can easily ignore cases;
384 * it's useful to ignore a case when inheritance will catch all the cases anyway.
385 * <!-- end-user-doc -->
386 * @return the new adapter.
387 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSTrying
388 * @generated
389 */
390 public Adapter createVLSTryingAdapter()
391 {
392 return null;
393 }
394
395 /**
396 * Creates a new adapter for an object of class '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFiniteModel <em>VLS Finite Model</em>}'.
397 * <!-- begin-user-doc -->
398 * This default implementation returns null so that we can easily ignore cases;
399 * it's useful to ignore a case when inheritance will catch all the cases anyway.
400 * <!-- end-user-doc -->
401 * @return the new adapter.
402 * @see ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFiniteModel
403 * @generated
404 */
405 public Adapter createVLSFiniteModelAdapter()
406 {
407 return null;
408 }
409
410 /**
411 * Creates a new adapter for an object of class '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFofFormula <em>VLS Fof Formula</em>}'. 371 * Creates a new adapter for an object of class '{@link ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFofFormula <em>VLS Fof Formula</em>}'.
412 * <!-- begin-user-doc --> 372 * <!-- begin-user-doc -->
413 * This default implementation returns null so that we can easily ignore cases; 373 * This default implementation returns null so that we can easily ignore cases;
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/util/VampireLanguageSwitch.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/util/VampireLanguageSwitch.java
index eddb3b4c..24ad4238 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/util/VampireLanguageSwitch.java
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src-gen/ca/mcgill/ecse/dslreasoner/vampireLanguage/util/VampireLanguageSwitch.java
@@ -116,20 +116,6 @@ public class VampireLanguageSwitch<T> extends Switch<T>
116 if (result == null) result = defaultCase(theEObject); 116 if (result == null) result = defaultCase(theEObject);
117 return result; 117 return result;
118 } 118 }
119 case VampireLanguagePackage.VLS_TRYING:
120 {
121 VLSTrying vlsTrying = (VLSTrying)theEObject;
122 T result = caseVLSTrying(vlsTrying);
123 if (result == null) result = defaultCase(theEObject);
124 return result;
125 }
126 case VampireLanguagePackage.VLS_FINITE_MODEL:
127 {
128 VLSFiniteModel vlsFiniteModel = (VLSFiniteModel)theEObject;
129 T result = caseVLSFiniteModel(vlsFiniteModel);
130 if (result == null) result = defaultCase(theEObject);
131 return result;
132 }
133 case VampireLanguagePackage.VLS_FOF_FORMULA: 119 case VampireLanguagePackage.VLS_FOF_FORMULA:
134 { 120 {
135 VLSFofFormula vlsFofFormula = (VLSFofFormula)theEObject; 121 VLSFofFormula vlsFofFormula = (VLSFofFormula)theEObject;
@@ -471,38 +457,6 @@ public class VampireLanguageSwitch<T> extends Switch<T>
471 } 457 }
472 458
473 /** 459 /**
474 * Returns the result of interpreting the object as an instance of '<em>VLS Trying</em>'.
475 * <!-- begin-user-doc -->
476 * This implementation returns null;
477 * returning a non-null result will terminate the switch.
478 * <!-- end-user-doc -->
479 * @param object the target of the switch.
480 * @return the result of interpreting the object as an instance of '<em>VLS Trying</em>'.
481 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
482 * @generated
483 */
484 public T caseVLSTrying(VLSTrying object)
485 {
486 return null;
487 }
488
489 /**
490 * Returns the result of interpreting the object as an instance of '<em>VLS Finite Model</em>'.
491 * <!-- begin-user-doc -->
492 * This implementation returns null;
493 * returning a non-null result will terminate the switch.
494 * <!-- end-user-doc -->
495 * @param object the target of the switch.
496 * @return the result of interpreting the object as an instance of '<em>VLS Finite Model</em>'.
497 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
498 * @generated
499 */
500 public T caseVLSFiniteModel(VLSFiniteModel object)
501 {
502 return null;
503 }
504
505 /**
506 * Returns the result of interpreting the object as an instance of '<em>VLS Fof Formula</em>'. 460 * Returns the result of interpreting the object as an instance of '<em>VLS Fof Formula</em>'.
507 * <!-- begin-user-doc --> 461 * <!-- begin-user-doc -->
508 * This implementation returns null; 462 * This implementation returns null;
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src/ca/mcgill/ecse/dslreasoner/VampireLanguage.xtext b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src/ca/mcgill/ecse/dslreasoner/VampireLanguage.xtext
index a76107c4..2b5958ca 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src/ca/mcgill/ecse/dslreasoner/VampireLanguage.xtext
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src/ca/mcgill/ecse/dslreasoner/VampireLanguage.xtext
@@ -85,13 +85,13 @@ VLSSatisfiable:
85 {VLSSatisfiable} 'Satisfiable!' 85 {VLSSatisfiable} 'Satisfiable!'
86; 86;
87 87
88VLSTrying: 88//VLSTrying:
89 'TRYING' '[' name = LITERAL ']' 89// 'TRYING' '[' name = LITERAL ']'
90; 90//;
91 91//
92VLSFiniteModel: 92//VLSFiniteModel:
93 {VLSFiniteModel} 'Finite' 'Model' 'Found!' 93// {VLSFiniteModel} 'Finite' 'Model' 'Found!'
94; 94//;
95 95
96// <FOF formulas> 96// <FOF formulas>
97VLSFofFormula: 97VLSFofFormula:
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src/ca/mcgill/ecse/dslreasoner/formatting2/VampireLanguageFormatter.xtend b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src/ca/mcgill/ecse/dslreasoner/formatting2/VampireLanguageFormatter.xtend
index 4398d659..f943daad 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src/ca/mcgill/ecse/dslreasoner/formatting2/VampireLanguageFormatter.xtend
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/src/ca/mcgill/ecse/dslreasoner/formatting2/VampireLanguageFormatter.xtend
@@ -38,11 +38,11 @@ class VampireLanguageFormatter extends AbstractFormatter2 {
38 } 38 }
39 39
40 def dispatch void format(VLSFofFormula formula, extension IFormattableDocument document){ 40 def dispatch void format(VLSFofFormula formula, extension IFormattableDocument document){
41// formula.append[newLine] 41 formula.append[newLine]
42 } 42 }
43 43
44 def dispatch void format(VLSComment comment, extension IFormattableDocument document){ 44 def dispatch void format(VLSComment comment, extension IFormattableDocument document){
45// comment.append[newLine] 45 comment.append[newLine]
46 } 46 }
47 // TODO: implement for VLSFofFormula, VLSAnnotation, VLSAnd, VLSOr, VLSUniversalQuantifier, VLSExistentialQuantifier, VLSUnaryNegation, VLSFunction, VLSLess, VLSFunctionFof, VLSEquivalent, VLSImplies, VLSRevImplies, VLSXnor, VLSNor, VLSNand, VLSInequality, VLSEquality, VLSAssignment 47 // TODO: implement for VLSFofFormula, VLSAnnotation, VLSAnd, VLSOr, VLSUniversalQuantifier, VLSExistentialQuantifier, VLSUnaryNegation, VLSFunction, VLSLess, VLSFunctionFof, VLSEquivalent, VLSImplies, VLSRevImplies, VLSXnor, VLSNor, VLSNand, VLSInequality, VLSEquality, VLSAssignment
48} 48}
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 0f621faf..e0367170 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 c7c7a12c..906c39f5 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 c21238ee..47a395a0 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/formatting2/VampireLanguageFormatter.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/formatting2/VampireLanguageFormatter.java
index c439bbdb..73a032e7 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/formatting2/VampireLanguageFormatter.java
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/formatting2/VampireLanguageFormatter.java
@@ -15,8 +15,10 @@ import org.eclipse.emf.common.util.EList;
15import org.eclipse.emf.ecore.EObject; 15import org.eclipse.emf.ecore.EObject;
16import org.eclipse.xtext.formatting2.AbstractFormatter2; 16import org.eclipse.xtext.formatting2.AbstractFormatter2;
17import org.eclipse.xtext.formatting2.IFormattableDocument; 17import org.eclipse.xtext.formatting2.IFormattableDocument;
18import org.eclipse.xtext.formatting2.IHiddenRegionFormatter;
18import org.eclipse.xtext.resource.XtextResource; 19import org.eclipse.xtext.resource.XtextResource;
19import org.eclipse.xtext.xbase.lib.Extension; 20import org.eclipse.xtext.xbase.lib.Extension;
21import org.eclipse.xtext.xbase.lib.Procedures.Procedure1;
20 22
21@SuppressWarnings("all") 23@SuppressWarnings("all")
22public class VampireLanguageFormatter extends AbstractFormatter2 { 24public class VampireLanguageFormatter extends AbstractFormatter2 {
@@ -47,9 +49,17 @@ public class VampireLanguageFormatter extends AbstractFormatter2 {
47 } 49 }
48 50
49 protected void _format(final VLSFofFormula formula, @Extension final IFormattableDocument document) { 51 protected void _format(final VLSFofFormula formula, @Extension final IFormattableDocument document) {
52 final Procedure1<IHiddenRegionFormatter> _function = (IHiddenRegionFormatter it) -> {
53 it.newLine();
54 };
55 document.<VLSFofFormula>append(formula, _function);
50 } 56 }
51 57
52 protected void _format(final VLSComment comment, @Extension final IFormattableDocument document) { 58 protected void _format(final VLSComment comment, @Extension final IFormattableDocument document) {
59 final Procedure1<IHiddenRegionFormatter> _function = (IHiddenRegionFormatter it) -> {
60 it.newLine();
61 };
62 document.<VLSComment>append(comment, _function);
53 } 63 }
54 64
55 public void format(final Object comment, final IFormattableDocument document) { 65 public void format(final Object comment, final IFormattableDocument document) {
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 763ffecc..74f517cf 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 7aa1da64..3c09270e 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 7b46ca82..96e8559a 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/build.properties b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/build.properties
index 41eb6ade..aed85a48 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/build.properties
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/build.properties
@@ -1,4 +1,5 @@
1source.. = src/
2output.. = bin/
3bin.includes = META-INF/,\ 1bin.includes = META-INF/,\
4 . 2 .
3source.. = src/,\
4 src-gen/
5output.. = bin/
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 27e00ccf..618980a3 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
@@ -4,10 +4,9 @@ import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicSolverConfiguration
4 4
5class VampireSolverConfiguration extends LogicSolverConfiguration { 5class VampireSolverConfiguration extends LogicSolverConfiguration {
6 6
7 public var int symmetry = 0 // by default 7 //public var int symmetry = 0 // by default
8 //choose needed backend solver 8 //choose needed backend solver
9// public var VampireBackendSolver solver = VampireBackendSolver.SAT4J 9// public var VampireBackendSolver solver = VampireBackendSolver.SAT4J
10 public var boolean writeToFile = false
11} 10}
12 11
13 12
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 cbe53bff..ee802a99 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
@@ -7,6 +7,7 @@ import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.Logic2VampireLanguage
7import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.Vampire2LogicMapper 7import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.Vampire2LogicMapper
8import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.VampireHandler 8import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.VampireHandler
9import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage 9import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage
10import hu.bme.mit.inf.dslreasoner.logic.model.builder.DocumentationLevel
10import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicReasoner 11import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicReasoner
11import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicReasonerException 12import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicReasonerException
12import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicSolverConfiguration 13import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicSolverConfiguration
@@ -14,80 +15,81 @@ import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem
14import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.ModelResult 15import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.ModelResult
15import hu.bme.mit.inf.dslreasoner.workspace.ReasonerWorkspace 16import hu.bme.mit.inf.dslreasoner.workspace.ReasonerWorkspace
16 17
17class VampireSolver extends LogicReasoner{ 18class VampireSolver extends LogicReasoner {
18 19
19 new() { 20 new() {
20 VampireLanguagePackage.eINSTANCE.eClass 21 VampireLanguagePackage.eINSTANCE.eClass
21 val x = new VampireLanguageStandaloneSetupGenerated 22 val x = new VampireLanguageStandaloneSetupGenerated
22 VampireLanguageStandaloneSetup::doSetup() 23 VampireLanguageStandaloneSetup::doSetup()
23 } 24 }
24 25
25 val Logic2VampireLanguageMapper forwardMapper = new Logic2VampireLanguageMapper(new Logic2VampireLanguageMapper_TypeMapper_FilteredTypes) 26 val Logic2VampireLanguageMapper forwardMapper = new Logic2VampireLanguageMapper(
26 val Vampire2LogicMapper backwardMapper = new Vampire2LogicMapper 27 new Logic2VampireLanguageMapper_TypeMapper_FilteredTypes)
27 val VampireHandler handler = new VampireHandler 28 val Vampire2LogicMapper backwardMapper = new Vampire2LogicMapper
28 29 val VampireHandler handler = new VampireHandler
29 30
30 val fileName = "vampireProblem.tptp" 31 val fileName = "vampireProblem.tptp"
31 32
32 override solve(LogicProblem problem, LogicSolverConfiguration config, ReasonerWorkspace workspace) throws LogicReasonerException { 33 override solve(LogicProblem problem, LogicSolverConfiguration config,
34 ReasonerWorkspace workspace) throws LogicReasonerException {
33 val vampireConfig = config.asConfig 35 val vampireConfig = config.asConfig
34 36
35 // Start: Logic -> Vampire mapping 37 // Start: Logic -> Vampire mapping
36 val transformationStart = System.currentTimeMillis 38 val transformationStart = System.currentTimeMillis
37 //TODO 39 // TODO
38 val result = forwardMapper.transformProblem(problem,vampireConfig) 40 val result = forwardMapper.transformProblem(problem, vampireConfig)
39 val vampireProblem = result.output 41 val vampireProblem = result.output
40 val forwardTrace = result.trace 42 val forwardTrace = result.trace
41 43
42 var String fileURI = null; 44 var String fileURI = null;
43 var String vampireCode = null; 45 var String vampireCode = null;
44 vampireCode = workspace.writeModelToString(vampireProblem,fileName) 46 vampireCode = workspace.writeModelToString(vampireProblem, fileName)
45 if(vampireConfig.writeToFile) { 47
46 fileURI = workspace.writeModel(vampireProblem,fileName).toFileString 48 val writeFile = (
49 vampireConfig.documentationLevel === DocumentationLevel::NORMAL ||
50 vampireConfig.documentationLevel === DocumentationLevel::FULL)
51 if (writeFile) {
52 fileURI = workspace.writeModel(vampireProblem, fileName).toFileString
47 } 53 }
48
49 //Result as String
50 54
51 55 // Result as String
52 val transformationTime = System.currentTimeMillis - transformationStart 56 val transformationTime = System.currentTimeMillis - transformationStart
53 // Finish: Logic -> Vampire mapping 57 // Finish: Logic -> Vampire mapping
54
55
56 /* 58 /*
57 // Start: Solving Alloy problem 59 * // Start: Solving Alloy problem
58 val solverStart = System.currentTimeMillis 60 * val solverStart = System.currentTimeMillis
59 //Calling Solver (Currently Manually) 61 * //Calling Solver (Currently Manually)
60 val result2 = handler.callSolver(vampireProblem,workspace,vampireConfig,vampireCode) 62 * val result2 = handler.callSolver(vampireProblem,workspace,vampireConfig,vampireCode)
61// val result2 = null 63 * // val result2 = null
62 //TODO 64 * //TODO
63 //Backwards Mapper 65 * //Backwards Mapper
64 val logicResult = backwardMapper.transformOutput(problem,config.solutionScope.numberOfRequiredSolution,result2,forwardTrace,transformationTime) 66 * val logicResult = backwardMapper.transformOutput(problem,config.solutionScope.numberOfRequiredSolution,result2,forwardTrace,transformationTime)
65 67 *
66 val solverFinish = System.currentTimeMillis-solverStart 68 * val solverFinish = System.currentTimeMillis-solverStart
67 // Finish: Solving Alloy problem 69 * // Finish: Solving Alloy problem
68 70 *
69 if(vampireConfig.writeToFile) workspace.deactivateModel(fileName) 71 * if(vampireConfig.writeToFile) workspace.deactivateModel(fileName)
70 72 *
71 return logicResult 73 * return logicResult
72 74 *
73 /*/ 75 /*/
74 return null // for now 76 return null // for now
75 //*/ 77 // */
76 } 78 }
77 79
78 def asConfig(LogicSolverConfiguration configuration){ 80 def asConfig(LogicSolverConfiguration configuration) {
79 if(configuration instanceof VampireSolverConfiguration) { 81 if (configuration instanceof VampireSolverConfiguration) {
80 return configuration 82 return configuration
81 } else { 83 } else {
82 throw new IllegalArgumentException('''The configuration have to be an «VampireSolverConfiguration.simpleName»!''') 84 throw new IllegalArgumentException('''The configuration have to be an «VampireSolverConfiguration.simpleName»!''')
83 } 85 }
84 } 86 }
85 87
86// /* 88// /*
87// * not for now 89// * not for now
88// * 90// *
89 override getInterpretations(ModelResult modelResult) { 91 override getInterpretations(ModelResult modelResult) {
90 //val answers = (modelResult.representation as MonitoredAlloySolution).aswers.map[key] 92 // val answers = (modelResult.representation as MonitoredAlloySolution).aswers.map[key]
91// val sols = modelResult.representation// as List<A4Solution> 93// val sols = modelResult.representation// as List<A4Solution>
92// //val res = answers.map 94// //val res = answers.map
93// sols.map[ 95// sols.map[
@@ -98,7 +100,6 @@ class VampireSolver extends LogicReasoner{
98// modelResult.trace as Logic2AlloyLanguageMapperTrace 100// modelResult.trace as Logic2AlloyLanguageMapperTrace
99// ) 101// )
100// ] 102// ]
101 } 103 }
102// */ 104// */
103 105}
104} \ No newline at end of file
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper.xtend b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper.xtend
index cd48a032..e2c15b75 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper.xtend
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper.xtend
@@ -48,6 +48,8 @@ class Logic2VampireLanguageMapper {
48 this) 48 this)
49 @Accessors(PUBLIC_GETTER) private val Logic2VampireLanguageMapper_RelationMapper relationMapper = new Logic2VampireLanguageMapper_RelationMapper( 49 @Accessors(PUBLIC_GETTER) private val Logic2VampireLanguageMapper_RelationMapper relationMapper = new Logic2VampireLanguageMapper_RelationMapper(
50 this) 50 this)
51 @Accessors(PUBLIC_GETTER) private val Logic2VampireLanguageMapper_ScopeMapper scopeMapper = new Logic2VampireLanguageMapper_ScopeMapper(
52 this)
51 @Accessors(PUBLIC_GETTER) private val Logic2VampireLanguageMapper_TypeMapper typeMapper 53 @Accessors(PUBLIC_GETTER) private val Logic2VampireLanguageMapper_TypeMapper typeMapper
52 54
53 public new(Logic2VampireLanguageMapper_TypeMapper typeMapper) { 55 public new(Logic2VampireLanguageMapper_TypeMapper typeMapper) {
@@ -72,11 +74,15 @@ class Logic2VampireLanguageMapper {
72// it.incQueryEngine = viatraQueryEngine.on(new EMFScope(problem)) 74// it.incQueryEngine = viatraQueryEngine.on(new EMFScope(problem))
73 ] 75 ]
74 76
75 // call mappers 77 // TYPE MAPPER
76 if (!problem.types.isEmpty) { 78 if (!problem.types.isEmpty) {
77 typeMapper.transformTypes(problem.types, problem.elements, this, trace) 79 typeMapper.transformTypes(problem.types, problem.elements, this, trace)
78 } 80 }
79 81
82 // SCOPE MAPPER
83 scopeMapper.transformScope(config, trace)
84
85
80 trace.constantDefinitions = problem.collectConstantDefinitions 86 trace.constantDefinitions = problem.collectConstantDefinitions
81 trace.relationDefinitions = problem.collectRelationDefinitions 87 trace.relationDefinitions = problem.collectRelationDefinitions
82 88
@@ -204,8 +210,9 @@ class Logic2VampireLanguageMapper {
204 ] 210 ]
205 } 211 }
206 212
207 def dispatch protected VLSTerm transformTerm(Distinct distinct, Logic2VampireLanguageMapperTrace trace, Map<Variable, VLSVariable> variables) { 213 def dispatch protected VLSTerm transformTerm(Distinct distinct, Logic2VampireLanguageMapperTrace trace,
208 support.unfoldDistinctTerms(this,distinct.operands,trace,variables) } 214 Map<Variable, VLSVariable> variables) { support.unfoldDistinctTerms(this, distinct.operands, trace, variables) }
215
209// 216//
210// def dispatch protected ALSTerm transformTerm(Plus plus, Logic2AlloyLanguageMapperTrace trace, Map<Variable, ALSVariableDeclaration> variables) { 217// def dispatch protected ALSTerm transformTerm(Plus plus, Logic2AlloyLanguageMapperTrace trace, Map<Variable, ALSVariableDeclaration> variables) {
211// createALSFunctionCall => [it.params += plus.leftOperand.transformTerm(trace,variables) it.params += plus.rightOperand.transformTerm(trace,variables) it.referredNumericOperator = ALSNumericOperator.PLUS] } 218// createALSFunctionCall => [it.params += plus.leftOperand.transformTerm(trace,variables) it.params += plus.rightOperand.transformTerm(trace,variables) it.referredNumericOperator = ALSNumericOperator.PLUS] }
@@ -228,12 +235,14 @@ class Logic2VampireLanguageMapper {
228 support.createExistentiallyQuantifiedExpression(this, exists, trace, variables) 235 support.createExistentiallyQuantifiedExpression(this, exists, trace, variables)
229 } 236 }
230 237
231 def dispatch protected VLSTerm transformTerm(InstanceOf instanceOf, Logic2VampireLanguageMapperTrace trace, Map<Variable, VLSVariable> variables) { 238 def dispatch protected VLSTerm transformTerm(InstanceOf instanceOf, Logic2VampireLanguageMapperTrace trace,
239 Map<Variable, VLSVariable> variables) {
232 return createVLSFunction => [ 240 return createVLSFunction => [
233 it.constant = support.toIDMultiple("type", (instanceOf.range as ComplexTypeReference).referred.name ) 241 it.constant = support.toIDMultiple("type", (instanceOf.range as ComplexTypeReference).referred.name)
234 it.terms += instanceOf.value.transformTerm(trace, variables) 242 it.terms += instanceOf.value.transformTerm(trace, variables)
235 ] 243 ]
236 } 244 }
245
237// 246//
238// def dispatch protected ALSTerm transformTerm(TransitiveClosure tc, Logic2AlloyLanguageMapperTrace trace, Map<Variable, ALSVariableDeclaration> variables) { 247// def dispatch protected ALSTerm transformTerm(TransitiveClosure tc, Logic2AlloyLanguageMapperTrace trace, Map<Variable, ALSVariableDeclaration> variables) {
239// return this.relationMapper.transformTransitiveRelationReference( 248// return this.relationMapper.transformTransitiveRelationReference(
@@ -253,50 +262,49 @@ class Logic2VampireLanguageMapper {
253 def dispatch protected VLSTerm transformSymbolicReference(DefinedElement referred, 262 def dispatch protected VLSTerm transformSymbolicReference(DefinedElement referred,
254 List<Term> parameterSubstitutions, Logic2VampireLanguageMapperTrace trace, 263 List<Term> parameterSubstitutions, Logic2VampireLanguageMapperTrace trace,
255 Map<Variable, VLSVariable> variables) { 264 Map<Variable, VLSVariable> variables) {
256 typeMapper.transformReference(referred, trace) 265 typeMapper.transformReference(referred, trace)
257 } 266 }
258 267
259 def dispatch protected VLSTerm transformSymbolicReference(ConstantDeclaration constant, 268 def dispatch protected VLSTerm transformSymbolicReference(ConstantDeclaration constant,
260 List<Term> parameterSubstitutions, Logic2VampireLanguageMapperTrace trace, 269 List<Term> parameterSubstitutions, Logic2VampireLanguageMapperTrace trace,
261 Map<Variable, VLSVariable> variables) { 270 Map<Variable, VLSVariable> variables) {
262 // might need to make sure that only declared csts get transformed. see for Alloy 271 // might need to make sure that only declared csts get transformed. see for Alloy
263 val res = createVLSConstant => [ 272 val res = createVLSConstant => [
264 // ask if necessary VLSConstantDeclaration and not just directly strng 273 // ask if necessary VLSConstantDeclaration and not just directly strng
265 it.name = support.toID(constant.name) 274 it.name = support.toID(constant.name)
266 ] 275 ]
267 // no postprocessing cuz booleans are accepted 276 // no postprocessing cuz booleans are accepted
268 return res 277 return res
269 } 278 }
270 279
271 // NOT NEEDED FOR NOW 280 // NOT NEEDED FOR NOW
272 // TODO 281 // TODO
273 def dispatch protected VLSTerm transformSymbolicReference(ConstantDefinition constant, 282 def dispatch protected VLSTerm transformSymbolicReference(ConstantDefinition constant,
274 List<Term> parameterSubstitutions, Logic2VampireLanguageMapperTrace trace, 283 List<Term> parameterSubstitutions, Logic2VampireLanguageMapperTrace trace,
275 Map<Variable, VLSVariable> variables) { 284 Map<Variable, VLSVariable> variables) {
276// val res = createVLSFunctionCall => [ 285// val res = createVLSFunctionCall => [
277// it.referredDefinition = constant.lookup(trace.constantDefinition2Function) 286// it.referredDefinition = constant.lookup(trace.constantDefinition2Function)
278// ] 287// ]
279// return support.postprocessResultOfSymbolicReference(constant.type,res,trace) 288// return support.postprocessResultOfSymbolicReference(constant.type,res,trace)
280 } 289 }
281 290
282 def dispatch protected VLSTerm transformSymbolicReference(Variable variable, 291 def dispatch protected VLSTerm transformSymbolicReference(Variable variable, List<Term> parameterSubstitutions,
283 List<Term> parameterSubstitutions, Logic2VampireLanguageMapperTrace trace, 292 Logic2VampireLanguageMapperTrace trace, Map<Variable, VLSVariable> variables) {
284 Map<Variable, VLSVariable> variables) {
285 293
286 // cannot treat variable as function (constant) because of name ID not being the same 294 // cannot treat variable as function (constant) because of name ID not being the same
287 // below does not work 295 // below does not work
288 val res = createVLSVariable => [ 296 val res = createVLSVariable => [
289// it.name = support.toIDMultiple("Var", variable.lookup(variables).name) 297// it.name = support.toIDMultiple("Var", variable.lookup(variables).name)
290 it.name = support.toID(variable.lookup(variables).name) 298 it.name = support.toID(variable.lookup(variables).name)
291 ] 299 ]
292 // no need for potprocessing cuz booleans are supported 300 // no need for potprocessing cuz booleans are supported
293 return res 301 return res
294 } 302 }
295 303
296 // TODO 304 // TODO
297 def dispatch protected VLSTerm transformSymbolicReference(FunctionDeclaration function, 305 def dispatch protected VLSTerm transformSymbolicReference(FunctionDeclaration function,
298 List<Term> parameterSubstitutions, Logic2VampireLanguageMapperTrace trace, 306 List<Term> parameterSubstitutions, Logic2VampireLanguageMapperTrace trace,
299 Map<Variable, VLSVariable> variables) { 307 Map<Variable, VLSVariable> variables) {
300// if(trace.functionDefinitions.containsKey(function)) { 308// if(trace.functionDefinitions.containsKey(function)) {
301// return this.transformSymbolicReference(function.lookup(trace.functionDefinitions),parameterSubstitutions,trace,variables) 309// return this.transformSymbolicReference(function.lookup(trace.functionDefinitions),parameterSubstitutions,trace,variables)
302// } else { 310// } else {
@@ -316,71 +324,68 @@ class Logic2VampireLanguageMapper {
316// return support.postprocessResultOfSymbolicReference(function.range,res,trace) 324// return support.postprocessResultOfSymbolicReference(function.range,res,trace)
317// } 325// }
318// } 326// }
319 } 327 }
320 328
321 // TODO 329 // TODO
322 def dispatch protected VLSTerm transformSymbolicReference(FunctionDefinition function, 330 def dispatch protected VLSTerm transformSymbolicReference(FunctionDefinition function,
323 List<Term> parameterSubstitutions, Logic2VampireLanguageMapperTrace trace, 331 List<Term> parameterSubstitutions, Logic2VampireLanguageMapperTrace trace,
324 Map<Variable, VLSVariable> variables) { 332 Map<Variable, VLSVariable> variables) {
325// val result = createVLSFunctionCall => [ 333// val result = createVLSFunctionCall => [
326// it.referredDefinition = function.lookup(trace.functionDefinition2Function) 334// it.referredDefinition = function.lookup(trace.functionDefinition2Function)
327// it.params += parameterSubstitutions.map[it.transformTerm(trace,variables)] 335// it.params += parameterSubstitutions.map[it.transformTerm(trace,variables)]
328// ] 336// ]
329// return support.postprocessResultOfSymbolicReference(function.range,result,trace) 337// return support.postprocessResultOfSymbolicReference(function.range,result,trace)
330 } 338 }
331 339
332 // TODO 340 // TODO
333 /* 341 /*
334 def dispatch protected VLSTerm transformSymbolicReference(Relation relation, 342 * def dispatch protected VLSTerm transformSymbolicReference(Relation relation,
335 List<Term> parameterSubstitutions, Logic2VampireLanguageMapperTrace trace, 343 * List<Term> parameterSubstitutions, Logic2VampireLanguageMapperTrace trace,
336 Map<Variable, VLSVariable> variables) { 344 * Map<Variable, VLSVariable> variables) {
337 if (trace.relationDefinitions.containsKey(relation)) { 345 * if (trace.relationDefinitions.containsKey(relation)) {
338 this.transformSymbolicReference(relation.lookup(trace.relationDefinitions), 346 * this.transformSymbolicReference(relation.lookup(trace.relationDefinitions),
339 parameterSubstitutions, trace, variables) 347 * parameterSubstitutions, trace, variables)
340 } 348 * }
341 else { 349 * else {
342// if (relationMapper.transformToHostedField(relation, trace)) { 350 * // if (relationMapper.transformToHostedField(relation, trace)) {
343// val VLSRelation = relation.lookup(trace.relationDeclaration2Field) 351 * // val VLSRelation = relation.lookup(trace.relationDeclaration2Field)
344// // R(a,b) => 352 * // // R(a,b) =>
345// // b in a.R 353 * // // b in a.R
346// return createVLSSubset => [ 354 * // return createVLSSubset => [
347// it.leftOperand = parameterSubstitutions.get(1).transformTerm(trace, variables) 355 * // it.leftOperand = parameterSubstitutions.get(1).transformTerm(trace, variables)
348// it.rightOperand = createVLSJoin => [ 356 * // it.rightOperand = createVLSJoin => [
349// it.leftOperand = parameterSubstitutions.get(0).transformTerm(trace, variables) 357 * // it.leftOperand = parameterSubstitutions.get(0).transformTerm(trace, variables)
350// it.rightOperand = createVLSReference => [it.referred = VLSRelation] 358 * // it.rightOperand = createVLSReference => [it.referred = VLSRelation]
351// ] 359 * // ]
352// ] 360 * // ]
353// } else { 361 * // } else {
354// val target = createVLSJoin => [ 362 * // val target = createVLSJoin => [
355// leftOperand = createVLSReference => [referred = trace.logicLanguage] 363 * // leftOperand = createVLSReference => [referred = trace.logicLanguage]
356// rightOperand = createVLSReference => [ 364 * // rightOperand = createVLSReference => [
357// referred = relation.lookup(trace.relationDeclaration2Global) 365 * // referred = relation.lookup(trace.relationDeclaration2Global)
358// ] 366 * // ]
359// ] 367 * // ]
360// val source = support.unfoldTermDirectProduct(this, parameterSubstitutions, trace, variables) 368 * // val source = support.unfoldTermDirectProduct(this, parameterSubstitutions, trace, variables)
361// 369 * //
362// return createVLSSubset => [ 370 * // return createVLSSubset => [
363// leftOperand = source 371 * // leftOperand = source
364// rightOperand = target 372 * // rightOperand = target
365// ] 373 * // ]
366// } 374 * // }
367 } 375 * }
368 } 376 * }
369 */ 377 */
370 378 // TODO
371 // TODO 379 def dispatch protected VLSTerm transformSymbolicReference(Relation relation, List<Term> parameterSubstitutions,
372 def dispatch protected VLSTerm transformSymbolicReference(Relation relation, 380 Logic2VampireLanguageMapperTrace trace, Map<Variable, VLSVariable> variables) {
373 List<Term> parameterSubstitutions, Logic2VampireLanguageMapperTrace trace,
374 Map<Variable, VLSVariable> variables) {
375// createVLSFunction => [ 381// createVLSFunction => [
376// it.referredDefinition = relation.lookup(trace.relationDefinition2Predicate) 382// it.referredDefinition = relation.lookup(trace.relationDefinition2Predicate)
377// it.params += parameterSubstitutions.map[p|p.transformTerm(trace, variables)] 383// it.params += parameterSubstitutions.map[p|p.transformTerm(trace, variables)]
378// ] 384// ]
379 return createVLSFunction => [ 385 return createVLSFunction => [
380 it.constant = support.toIDMultiple("rel", relation.name) 386 it.constant = support.toIDMultiple("rel", relation.name)
381 it.terms += parameterSubstitutions.map[p | p.transformTerm(trace,variables)] 387 it.terms += parameterSubstitutions.map[p|p.transformTerm(trace, variables)]
382 ] 388 ]
383 } 389 }
384 390
385 } 391}
386 \ No newline at end of file
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
new file mode 100644
index 00000000..84aa521d
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_ScopeMapper.xtend
@@ -0,0 +1,74 @@
1package ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder
2
3import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSConstant
4import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSVariable
5import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguageFactory
6import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicSolverConfiguration
7import java.util.List
8
9class Logic2VampireLanguageMapper_ScopeMapper {
10 private val extension VampireLanguageFactory factory = VampireLanguageFactory.eINSTANCE
11 private val Logic2VampireLanguageMapper_Support support = new Logic2VampireLanguageMapper_Support
12 val Logic2VampireLanguageMapper base
13
14 public new(Logic2VampireLanguageMapper base) {
15 this.base = base
16 }
17
18 def dispatch public void transformScope(LogicSolverConfiguration config, Logic2VampireLanguageMapperTrace trace) {
19 val VLSVariable variable = createVLSVariable => [it.name = "A"]
20
21
22 // 1. make a list of constants equaling the min number of specified objects
23 val List<VLSConstant> instances = newArrayList
24 for (var i = 0; i < config.typeScopes.minNewElements; i++) {
25 val num = i + 1
26 val cst = createVLSConstant => [
27 it.name = "o" + num
28 ]
29 instances.add(cst)
30 }
31
32
33 // TODO: specify for the max
34
35
36 // 2. Create initial fof formula to specify the number of elems
37 val cstDec = createVLSFofFormula => [
38 it.name = "typeScope"
39 it.fofRole = "axiom"
40 it.fofFormula = createVLSUniversalQuantifier => [
41 it.variables += support.duplicate(variable)
42 // check below
43 it.operand = createVLSEquivalent => [
44 it.left = support.topLevelTypeFunc
45 it.right = support.unfoldOr(instances.map [ i |
46 createVLSEquality => [
47 it.left = createVLSVariable => [it.name = variable.name]
48 it.right = i
49 ]
50 ])
51 ]
52 ]
53 ]
54 trace.specification.formulas += cstDec
55
56
57 // TODO: specify for scope per type
58
59
60
61 // 3. Specify uniqueness of elements
62 val uniqueness = createVLSFofFormula => [
63 it.name = "typeUniqueness"
64 it.fofRole = "axiom"
65 it.fofFormula = support.unfoldOr(instances.map [ i |
66 createVLSEquality => [
67 it.left = createVLSVariable => [it.name = variable.name]
68 it.right = i
69 ]
70 ])
71 ]
72 trace.specification.formulas += cstDec
73 }
74}
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 ab92b42f..e69f0d51 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,17 +1,18 @@
1package ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder 1package ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder
2 2
3import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.QuantifiedExpression 3import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunction
4import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Variable
5import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSTerm 4import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSTerm
6import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSVariable 5import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSVariable
7import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguageFactory 6import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguageFactory
7import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ComplexTypeReference
8import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.QuantifiedExpression
9import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Term
10import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Variable
8import java.util.ArrayList 11import java.util.ArrayList
9import java.util.HashMap 12import java.util.HashMap
10import java.util.List 13import java.util.List
11import java.util.Map 14import java.util.Map
12import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ComplexTypeReference
13import org.eclipse.emf.common.util.EList 15import org.eclipse.emf.common.util.EList
14import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Term
15 16
16class Logic2VampireLanguageMapper_Support { 17class Logic2VampireLanguageMapper_Support {
17 private val extension VampireLanguageFactory factory = VampireLanguageFactory.eINSTANCE 18 private val extension VampireLanguageFactory factory = VampireLanguageFactory.eINSTANCE
@@ -25,6 +26,19 @@ class Logic2VampireLanguageMapper_Support {
25 ids.split("\\s+").join("_") 26 ids.split("\\s+").join("_")
26 } 27 }
27 28
29 def protected VLSVariable duplicate(VLSVariable vrbl) {
30 return createVLSVariable => [it.name = vrbl.name]
31 }
32
33 def protected VLSFunction topLevelTypeFunc() {
34 return createVLSFunction => [
35 it.constant = "object"
36 it.terms += createVLSVariable => [
37 it.name = "A"
38 ]
39 ]
40 }
41
28 // Support Functions 42 // Support Functions
29 // booleans 43 // booleans
30 // AND and OR 44 // AND and OR
@@ -41,7 +55,6 @@ class Logic2VampireLanguageMapper_Support {
41 } 55 }
42 56
43 def protected VLSTerm unfoldOr(List<? extends VLSTerm> operands) { 57 def protected VLSTerm unfoldOr(List<? extends VLSTerm> operands) {
44
45// if(operands.size == 0) {basically return true} 58// if(operands.size == 0) {basically return true}
46 /*else*/ if (operands.size == 1) { 59 /*else*/ if (operands.size == 1) {
47 return operands.head 60 return operands.head
@@ -56,20 +69,21 @@ class Logic2VampireLanguageMapper_Support {
56 69
57 def protected VLSTerm unfoldDistinctTerms(Logic2VampireLanguageMapper m, EList<Term> operands, 70 def protected VLSTerm unfoldDistinctTerms(Logic2VampireLanguageMapper m, EList<Term> operands,
58 Logic2VampireLanguageMapperTrace trace, Map<Variable, VLSVariable> variables) { 71 Logic2VampireLanguageMapperTrace trace, Map<Variable, VLSVariable> variables) {
59 if(operands.size == 1) { return m.transformTerm(operands.head,trace,variables) } 72 if (operands.size == 1) {
60 else if(operands.size > 1) { 73 return m.transformTerm(operands.head, trace, variables)
61 val notEquals = new ArrayList<VLSTerm>(operands.size*operands.size/2) 74 } else if (operands.size > 1) {
62 for(i:0..<operands.size) { 75 val notEquals = new ArrayList<VLSTerm>(operands.size * operands.size / 2)
63 for(j: i+1..<operands.size) { 76 for (i : 0 ..< operands.size) {
64 notEquals+=createVLSInequality=>[ 77 for (j : i + 1 ..< operands.size) {
65 it.left= m.transformTerm(operands.get(i),trace,variables) 78 notEquals += createVLSInequality => [
66 it.right = m.transformTerm(operands.get(j),trace,variables) 79 it.left = m.transformTerm(operands.get(i), trace, variables)
80 it.right = m.transformTerm(operands.get(j), trace, variables)
67 ] 81 ]
68 } 82 }
69 } 83 }
70 return notEquals.unfoldAnd 84 return notEquals.unfoldAnd
71 } 85 } else
72 else throw new UnsupportedOperationException('''Logic operator with 0 operands!''') 86 throw new UnsupportedOperationException('''Logic operator with 0 operands!''')
73 } 87 }
74 88
75 // Symbolic 89 // Symbolic
@@ -105,7 +119,6 @@ class Logic2VampireLanguageMapper_Support {
105 ] 119 ]
106 typedefs.add(eq) 120 typedefs.add(eq)
107 } 121 }
108
109 122
110 createVLSUniversalQuantifier => [ 123 createVLSUniversalQuantifier => [
111 it.variables += variableMap.values 124 it.variables += variableMap.values
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_TypeMapperTrace_FilteredTypes.xtend b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_TypeMapperTrace_FilteredTypes.xtend
index a0f0edda..aba47edb 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_TypeMapperTrace_FilteredTypes.xtend
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_TypeMapperTrace_FilteredTypes.xtend
@@ -1,20 +1,17 @@
1package ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder 1package ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder
2 2
3import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement
4import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type
5import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSEquality
6import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunction 3import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunction
7import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSTerm 4import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSTerm
8import java.util.ArrayList 5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement
6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type
9import java.util.HashMap 7import java.util.HashMap
10import java.util.List
11import java.util.Map 8import java.util.Map
12 9
13class Logic2VampireLanguageMapper_TypeMapperTrace_FilteredTypes implements Logic2VampireLanguageMapper_TypeMapperTrace{ 10class Logic2VampireLanguageMapper_TypeMapperTrace_FilteredTypes implements Logic2VampireLanguageMapper_TypeMapperTrace{
14 11
15// public var VLSFofFormula objectSuperClass 12// public var VLSFofFormula objectSuperClass
16 public val Map<Type, VLSFunction> type2Predicate = new HashMap; 13 public val Map<Type, VLSFunction> type2Predicate = new HashMap;
17 public val Map<DefinedElement, VLSEquality> definedElement2Declaration = new HashMap //Not Yet Used 14 public val Map<DefinedElement, VLSFunction> element2Predicate = new HashMap
18 public val Map<Type, VLSTerm> type2PossibleNot = new HashMap 15 public val Map<Type, VLSTerm> type2PossibleNot = new HashMap
19 public val Map<Type, VLSTerm> type2And = new HashMap 16 public val Map<Type, VLSTerm> type2And = new HashMap
20 17
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_TypeMapper_FilteredTypes.xtend b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_TypeMapper_FilteredTypes.xtend
index 41e2137c..eed10656 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_TypeMapper_FilteredTypes.xtend
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_TypeMapper_FilteredTypes.xtend
@@ -11,6 +11,8 @@ import java.util.ArrayList
11import java.util.Collection 11import java.util.Collection
12 12
13import static extension hu.bme.mit.inf.dslreasoner.util.CollectionsUtil.* 13import static extension hu.bme.mit.inf.dslreasoner.util.CollectionsUtil.*
14import java.util.List
15import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunction
14 16
15class Logic2VampireLanguageMapper_TypeMapper_FilteredTypes implements Logic2VampireLanguageMapper_TypeMapper { 17class Logic2VampireLanguageMapper_TypeMapper_FilteredTypes implements Logic2VampireLanguageMapper_TypeMapper {
16 private val Logic2VampireLanguageMapper_Support support = new Logic2VampireLanguageMapper_Support 18 private val Logic2VampireLanguageMapper_Support support = new Logic2VampireLanguageMapper_Support
@@ -25,50 +27,66 @@ class Logic2VampireLanguageMapper_TypeMapper_FilteredTypes implements Logic2Vamp
25 val typeTrace = new Logic2VampireLanguageMapper_TypeMapperTrace_FilteredTypes 27 val typeTrace = new Logic2VampireLanguageMapper_TypeMapperTrace_FilteredTypes
26 trace.typeMapperTrace = typeTrace 28 trace.typeMapperTrace = typeTrace
27 29
28 val VLSVariable variable = createVLSVariable => [it.name = "A"] // did not work 30 // The variable
29 // 1. store predicates for declarations in trace 31 val VLSVariable variable = createVLSVariable => [it.name = "A"]
32
33 // 1. Each type (class) is a predicate with a single variable as input
30 for (type : types) { 34 for (type : types) {
31 val typePred = createVLSFunction => [ 35 val typePred = createVLSFunction => [
32 it.constant = support.toIDMultiple("type", type.name) 36 it.constant = support.toIDMultiple("t", type.name)
33 it.terms += createVLSVariable => [it.name = variable.name] 37 it.terms += support.duplicate(variable)
34 ] 38 ]
35 typeTrace.type2Predicate.put(type, typePred) 39 typeTrace.type2Predicate.put(type, typePred)
36 } 40 }
37 41
38 // 2. Map each type definition to fof formula 42 // 2. Map each ENUM type definition to fof formula
39 for (type : types.filter(TypeDefinition)) { 43 for (type : types.filter(TypeDefinition)) {
44 val List<VLSFunction> orElems = newArrayList
45 for (e : type.elements) {
46 val enumElemPred = createVLSFunction => [
47 it.constant = support.toIDMultiple("e", e.name, type.name)
48 it.terms += support.duplicate(variable)
49 ]
50 typeTrace.element2Predicate.put(e, enumElemPred)
51 orElems.add(enumElemPred)
52 }
40 53
41 val res = createVLSFofFormula => [ 54 val res = createVLSFofFormula => [
42 it.name = support.toIDMultiple("typeDef", type.name) 55 it.name = support.toIDMultiple("typeDef", type.name)
43 // below is temporary solution 56 // below is temporary solution
44 it.fofRole = "axiom" 57 it.fofRole = "axiom"
45 it.fofFormula = createVLSUniversalQuantifier => [ 58 it.fofFormula = createVLSUniversalQuantifier => [
46 it.variables += createVLSVariable => [it.name = variable.name] 59 it.variables += support.duplicate(variable)
47 it.operand = createVLSEquivalent => [ 60 it.operand = createVLSEquivalent => [
48 it.left = createVLSFunction => [ 61// it.left = createVLSFunction => [
49 it.constant = type.lookup(typeTrace.type2Predicate).constant 62// it.constant = type.lookup(typeTrace.type2Predicate).constant
50 it.terms += createVLSVariable => [it.name = "A"] 63// it.terms += createVLSVariable => [it.name = "A"]
51 ] 64// ]
52 65 it.left = type.lookup(typeTrace.type2Predicate)
53 type.lookup(typeTrace.type2Predicate) 66
54 it.right = support.unfoldOr(type.elements.map [ e | 67 it.right = support.unfoldOr(orElems)
55 createVLSEquality => [ 68
56 it.left = createVLSVariable => [it.name = variable.name] 69 // TEMPPPPPPP
70// it.right = support.unfoldOr(type.elements.map [e |
71//
72// createVLSEquality => [
73// it.left = support.duplicate(variable)
57// it.right = createVLSDoubleQuote => [ 74// it.right = createVLSDoubleQuote => [
58// it.value = "\"" + e.name + "\"" 75// it.value = "\"a" + e.name + "\""
59// ] 76// ]
60 it.right = createVLSDoubleQuote => [ 77// ]
61 it.value = "\"a" + e.name + "\"" 78// ])
62 ] 79 // END TEMPPPPP
63 ]
64 ])
65 ] 80 ]
66 ] 81 ]
67 82
68 ] 83 ]
69 trace.specification.formulas += res 84 trace.specification.formulas += res
70 } 85 }
71 // 2.5. Currently allowing duplicate types. Not problematic cuz strings are by def unique 86
87 //HIERARCHY HANDLER
88
89
72 // 3. For each non-abstract type, create an and sequence containing all typedeclaration predicates 90 // 3. For each non-abstract type, create an and sequence containing all typedeclaration predicates
73 // and store in a map 91 // and store in a map
74// val List<VLSTerm> type2PossibleNot = new ArrayList 92// val List<VLSTerm> type2PossibleNot = new ArrayList
@@ -97,19 +115,17 @@ class Logic2VampireLanguageMapper_TypeMapper_FilteredTypes implements Logic2Vamp
97 } 115 }
98 116
99 // 5. create fof function that is an or with all the elements in map 117 // 5. create fof function that is an or with all the elements in map
100 // Do this only if there are more than 1 type 118
119
120
121
101 val hierarch = createVLSFofFormula => [ 122 val hierarch = createVLSFofFormula => [
102 it.name = "hierarchyHandler" 123 it.name = "hierarchyHandler"
103 it.fofRole = "axiom" 124 it.fofRole = "axiom"
104 it.fofFormula = createVLSUniversalQuantifier => [ 125 it.fofFormula = createVLSUniversalQuantifier => [
105 it.variables += createVLSVariable => [it.name = "A"] 126 it.variables += createVLSVariable => [it.name = "A"]
106 it.operand = createVLSEquivalent => [ 127 it.operand = createVLSEquivalent => [
107 it.left = createVLSFunction => [ 128 it.left = support.topLevelTypeFunc
108 it.constant = "object"
109 it.terms += createVLSVariable => [
110 it.name = "A"
111 ]
112 ]
113 it.right = support.unfoldOr(new ArrayList<VLSTerm>(typeTrace.type2And.values)) 129 it.right = support.unfoldOr(new ArrayList<VLSTerm>(typeTrace.type2And.values))
114 ] 130 ]
115 ] 131 ]
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Vampire2LogicMapper.xtend b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Vampire2LogicMapper.xtend
index 5cb0198e..9c9e65b4 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Vampire2LogicMapper.xtend
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Vampire2LogicMapper.xtend
@@ -4,63 +4,64 @@ import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem
4import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicresultFactory 4import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicresultFactory
5 5
6class Vampire2LogicMapper { 6class Vampire2LogicMapper {
7 val extension LogicresultFactory resultFactory = LogicresultFactory.eINSTANCE
8
9 public def transformOutput(LogicProblem problem, int requiredNumberOfSolution, VampireSolutionModel vampireSolution, Logic2VampireLanguageMapperTrace trace, long transformationTime) {
10 val models = vampireSolution.aswers.map[it.key].toList
11
12 if(!monitoredAlloySolution.finishedBeforeTimeout) {
13 return createInsuficientResourcesResult => [
14 it.problem = problem
15 it.representation += models
16 it.trace = trace
17 it.statistics = transformStatistics(monitoredAlloySolution,transformationTime)
18 ]
19 } else {
20 if(models.last.satisfiable || requiredNumberOfSolution == -1) {
21 return createModelResult => [
22 it.problem = problem
23 it.representation += models
24 it.trace = trace
25 it.statistics = transformStatistics(monitoredAlloySolution,transformationTime)
26 ]
27 } else {
28 return createInconsistencyResult => [
29 it.problem = problem
30 it.representation += models
31 it.trace = trace
32 it.statistics = transformStatistics(monitoredAlloySolution,transformationTime)
33 ]
34 }
35 }
36 }
37
38 def transformStatistics(MonitoredAlloySolution solution, long transformationTime) {
39 createStatistics => [
40 it.transformationTime = transformationTime as int
41 for(solutionIndex : 0..<solution.aswers.size) {
42 val solutionTime = solution.aswers.get(solutionIndex).value
43 it.entries+= createIntStatisticEntry => [
44 it.name = '''Answer«solutionIndex»Time'''
45 it.value = solutionTime.intValue
46 ]
47 }
48 it.entries+= createIntStatisticEntry => [
49 it.name = "Alloy2KodKodTransformationTime"
50 it.value = solution.kodkodTime as int
51 ]
52 it.entries+= createIntStatisticEntry => [
53 it.name = "Alloy2KodKodTransformationTime"
54 it.value = solution.kodkodTime as int
55 ]
56 it.entries+= createStringStatisticEntry => [
57 it.name = "warnings"
58 it.value = '''[«FOR warning : solution.warnings SEPARATOR ","»«warning»«ENDFOR»]'''
59 ]
60 ]
61 }
62
63 def sum(Iterable<Long> ints) {
64 ints.reduce[p1, p2|p1+p2]
65 }
66} 7}
8// val extension LogicresultFactory resultFactory = LogicresultFactory.eINSTANCE
9//
10// public def transformOutput(LogicProblem problem, int requiredNumberOfSolution, VampireSolutionModel vampireSolution, Logic2VampireLanguageMapperTrace trace, long transformationTime) {
11// val models = vampireSolution.aswers.map[it.key].toList
12//
13// if(!monitoredAlloySolution.finishedBeforeTimeout) {
14// return createInsuficientResourcesResult => [
15// it.problem = problem
16// it.representation += models
17// it.trace = trace
18// it.statistics = transformStatistics(monitoredAlloySolution,transformationTime)
19// ]
20// } else {
21// if(models.last.satisfiable || requiredNumberOfSolution == -1) {
22// return createModelResult => [
23// it.problem = problem
24// it.representation += models
25// it.trace = trace
26// it.statistics = transformStatistics(monitoredAlloySolution,transformationTime)
27// ]
28// } else {
29// return createInconsistencyResult => [
30// it.problem = problem
31// it.representation += models
32// it.trace = trace
33// it.statistics = transformStatistics(monitoredAlloySolution,transformationTime)
34// ]
35// }
36// }
37// }
38//
39// def transformStatistics(MonitoredAlloySolution solution, long transformationTime) {
40// createStatistics => [
41// it.transformationTime = transformationTime as int
42// for(solutionIndex : 0..<solution.aswers.size) {
43// val solutionTime = solution.aswers.get(solutionIndex).value
44// it.entries+= createIntStatisticEntry => [
45// it.name = '''Answer«solutionIndex»Time'''
46// it.value = solutionTime.intValue
47// ]
48// }
49// it.entries+= createIntStatisticEntry => [
50// it.name = "Alloy2KodKodTransformationTime"
51// it.value = solution.kodkodTime as int
52// ]
53// it.entries+= createIntStatisticEntry => [
54// it.name = "Alloy2KodKodTransformationTime"
55// it.value = solution.kodkodTime as int
56// ]
57// it.entries+= createStringStatisticEntry => [
58// it.name = "warnings"
59// it.value = '''[«FOR warning : solution.warnings SEPARATOR ","»«warning»«ENDFOR»]'''
60// ]
61// ]
62// }
63//
64// def sum(Iterable<Long> ints) {
65// ints.reduce[p1, p2|p1+p2]
66// }
67//}
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 462a940b..9a2a1b15 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 d8b8ca61..ce05b92c 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 e1a1ca6e..1846ba2e 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
@@ -10,6 +10,7 @@ import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.Vampire2LogicMapper;
10import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.VampireHandler; 10import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.VampireHandler;
11import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage; 11import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage;
12import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireModel; 12import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireModel;
13import hu.bme.mit.inf.dslreasoner.logic.model.builder.DocumentationLevel;
13import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicModelInterpretation; 14import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicModelInterpretation;
14import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicReasoner; 15import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicReasoner;
15import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicReasonerException; 16import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicReasonerException;
@@ -30,7 +31,8 @@ public class VampireSolver extends LogicReasoner {
30 VampireLanguageStandaloneSetup.doSetup(); 31 VampireLanguageStandaloneSetup.doSetup();
31 } 32 }
32 33
33 private final Logic2VampireLanguageMapper forwardMapper = new Logic2VampireLanguageMapper(new Logic2VampireLanguageMapper_TypeMapper_FilteredTypes()); 34 private final Logic2VampireLanguageMapper forwardMapper = new Logic2VampireLanguageMapper(
35 new Logic2VampireLanguageMapper_TypeMapper_FilteredTypes());
34 36
35 private final Vampire2LogicMapper backwardMapper = new Vampire2LogicMapper(); 37 private final Vampire2LogicMapper backwardMapper = new Vampire2LogicMapper();
36 38
@@ -48,7 +50,9 @@ public class VampireSolver extends LogicReasoner {
48 String fileURI = null; 50 String fileURI = null;
49 String vampireCode = null; 51 String vampireCode = null;
50 vampireCode = workspace.writeModelToString(vampireProblem, this.fileName); 52 vampireCode = workspace.writeModelToString(vampireProblem, this.fileName);
51 if (vampireConfig.writeToFile) { 53 final boolean writeFile = ((vampireConfig.documentationLevel == DocumentationLevel.NORMAL) ||
54 (vampireConfig.documentationLevel == DocumentationLevel.FULL));
55 if (writeFile) {
52 fileURI = workspace.writeModel(vampireProblem, this.fileName).toFileString(); 56 fileURI = workspace.writeModel(vampireProblem, this.fileName).toFileString();
53 } 57 }
54 long _currentTimeMillis = System.currentTimeMillis(); 58 long _currentTimeMillis = System.currentTimeMillis();
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 d392016e..1f6b3d42 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
@@ -4,7 +4,4 @@ import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicSolverConfiguration;
4 4
5@SuppressWarnings("all") 5@SuppressWarnings("all")
6public class VampireSolverConfiguration extends LogicSolverConfiguration { 6public class VampireSolverConfiguration extends LogicSolverConfiguration {
7 public int symmetry = 0;
8
9 public boolean writeToFile = false;
10} 7}
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 d248b361..379d0683 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 d747e8ab..76dd192f 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 4dc095c0..936ab9ca 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_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 9a948c6f..e0f442f5 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
new file mode 100644
index 00000000..493ff288
--- /dev/null
+++ 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 4ef4809b..13281767 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 0f4acafe..1a777880 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/.Logic2VampireLanguageMapper_TypeMapperTrace_FilteredTypes.xtendbin b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_TypeMapperTrace_FilteredTypes.xtendbin
index 7d6865bb..e8658e7b 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_TypeMapperTrace_FilteredTypes.xtendbin
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_TypeMapperTrace_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_TypeMapper_FilteredTypes.xtendbin b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_TypeMapper_FilteredTypes.xtendbin
index 6db26bf7..aec1688a 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_TypeMapper_FilteredTypes.xtendbin
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_TypeMapper_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/.Vampire2LogicMapper.xtendbin b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Vampire2LogicMapper.xtendbin
index 8c96afa7..e77b9866 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 2427721d..100a52b8 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 d2c93ab4..231c1995 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 28c5d0f7..b67a307c 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/.gitignore b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.gitignore
index 3d29fb07..ec8107e8 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.gitignore
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.gitignore
@@ -37,3 +37,4 @@
37/.VampireSolverException.java._trace 37/.VampireSolverException.java._trace
38/.VampireSolutionModel.java._trace 38/.VampireSolutionModel.java._trace
39/.VampireCallerWithTimeout.java._trace 39/.VampireCallerWithTimeout.java._trace
40/.Logic2VampireLanguageMapper_ScopeMapper.java._trace
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper.java
index a1d80e58..89c9637e 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper.java
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper.java
@@ -4,6 +4,7 @@ import ca.mcgill.ecse.dslreasoner.vampire.reasoner.VampireSolverConfiguration;
4import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.Logic2VampireLanguageMapperTrace; 4import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.Logic2VampireLanguageMapperTrace;
5import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.Logic2VampireLanguageMapper_ConstantMapper; 5import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.Logic2VampireLanguageMapper_ConstantMapper;
6import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.Logic2VampireLanguageMapper_RelationMapper; 6import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.Logic2VampireLanguageMapper_RelationMapper;
7import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.Logic2VampireLanguageMapper_ScopeMapper;
7import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.Logic2VampireLanguageMapper_Support; 8import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.Logic2VampireLanguageMapper_Support;
8import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.Logic2VampireLanguageMapper_TypeMapper; 9import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.Logic2VampireLanguageMapper_TypeMapper;
9import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSComment; 10import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSComment;
@@ -84,6 +85,9 @@ public class Logic2VampireLanguageMapper {
84 private final Logic2VampireLanguageMapper_RelationMapper relationMapper = new Logic2VampireLanguageMapper_RelationMapper(this); 85 private final Logic2VampireLanguageMapper_RelationMapper relationMapper = new Logic2VampireLanguageMapper_RelationMapper(this);
85 86
86 @Accessors(AccessorType.PUBLIC_GETTER) 87 @Accessors(AccessorType.PUBLIC_GETTER)
88 private final Logic2VampireLanguageMapper_ScopeMapper scopeMapper = new Logic2VampireLanguageMapper_ScopeMapper(this);
89
90 @Accessors(AccessorType.PUBLIC_GETTER)
87 private final Logic2VampireLanguageMapper_TypeMapper typeMapper; 91 private final Logic2VampireLanguageMapper_TypeMapper typeMapper;
88 92
89 public Logic2VampireLanguageMapper(final Logic2VampireLanguageMapper_TypeMapper typeMapper) { 93 public Logic2VampireLanguageMapper(final Logic2VampireLanguageMapper_TypeMapper typeMapper) {
@@ -112,6 +116,7 @@ public class Logic2VampireLanguageMapper {
112 if (_not) { 116 if (_not) {
113 this.typeMapper.transformTypes(problem.getTypes(), problem.getElements(), this, trace); 117 this.typeMapper.transformTypes(problem.getTypes(), problem.getElements(), this, trace);
114 } 118 }
119 this.scopeMapper.transformScope(config, trace);
115 trace.constantDefinitions = this.collectConstantDefinitions(problem); 120 trace.constantDefinitions = this.collectConstantDefinitions(problem);
116 trace.relationDefinitions = this.collectRelationDefinitions(problem); 121 trace.relationDefinitions = this.collectRelationDefinitions(problem);
117 final Consumer<Relation> _function_3 = (Relation it) -> { 122 final Consumer<Relation> _function_3 = (Relation it) -> {
@@ -316,13 +321,13 @@ public class Logic2VampireLanguageMapper {
316 321
317 /** 322 /**
318 * def dispatch protected VLSTerm transformSymbolicReference(Relation relation, 323 * def dispatch protected VLSTerm transformSymbolicReference(Relation relation,
319 * List<Term> parameterSubstitutions, Logic2VampireLanguageMapperTrace trace, 324 * List<Term> parameterSubstitutions, Logic2VampireLanguageMapperTrace trace,
320 * Map<Variable, VLSVariable> variables) { 325 * Map<Variable, VLSVariable> variables) {
321 * if (trace.relationDefinitions.containsKey(relation)) { 326 * if (trace.relationDefinitions.containsKey(relation)) {
322 * this.transformSymbolicReference(relation.lookup(trace.relationDefinitions), 327 * this.transformSymbolicReference(relation.lookup(trace.relationDefinitions),
323 * parameterSubstitutions, trace, variables) 328 * parameterSubstitutions, trace, variables)
324 * } 329 * }
325 * else { 330 * else {
326 * // if (relationMapper.transformToHostedField(relation, trace)) { 331 * // if (relationMapper.transformToHostedField(relation, trace)) {
327 * // val VLSRelation = relation.lookup(trace.relationDeclaration2Field) 332 * // val VLSRelation = relation.lookup(trace.relationDeclaration2Field)
328 * // // R(a,b) => 333 * // // R(a,b) =>
@@ -348,7 +353,7 @@ public class Logic2VampireLanguageMapper {
348 * // rightOperand = target 353 * // rightOperand = target
349 * // ] 354 * // ]
350 * // } 355 * // }
351 * } 356 * }
352 * } 357 * }
353 */ 358 */
354 protected VLSTerm _transformSymbolicReference(final Relation relation, final List<Term> parameterSubstitutions, final Logic2VampireLanguageMapperTrace trace, final Map<Variable, VLSVariable> variables) { 359 protected VLSTerm _transformSymbolicReference(final Relation relation, final List<Term> parameterSubstitutions, final Logic2VampireLanguageMapperTrace trace, final Map<Variable, VLSVariable> variables) {
@@ -436,6 +441,11 @@ public class Logic2VampireLanguageMapper {
436 } 441 }
437 442
438 @Pure 443 @Pure
444 public Logic2VampireLanguageMapper_ScopeMapper getScopeMapper() {
445 return this.scopeMapper;
446 }
447
448 @Pure
439 public Logic2VampireLanguageMapper_TypeMapper getTypeMapper() { 449 public Logic2VampireLanguageMapper_TypeMapper getTypeMapper() {
440 return this.typeMapper; 450 return this.typeMapper;
441 } 451 }
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
new file mode 100644
index 00000000..86d8b648
--- /dev/null
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_ScopeMapper.java
@@ -0,0 +1,96 @@
1package ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder;
2
3import 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.Logic2VampireLanguageMapper_Support;
6import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSConstant;
7import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSEquality;
8import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSEquivalent;
9import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFofFormula;
10import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUniversalQuantifier;
11import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSVariable;
12import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguageFactory;
13import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicSolverConfiguration;
14import java.util.List;
15import org.eclipse.emf.common.util.EList;
16import org.eclipse.xtext.xbase.lib.CollectionLiterals;
17import org.eclipse.xtext.xbase.lib.Extension;
18import org.eclipse.xtext.xbase.lib.Functions.Function1;
19import org.eclipse.xtext.xbase.lib.ListExtensions;
20import org.eclipse.xtext.xbase.lib.ObjectExtensions;
21import org.eclipse.xtext.xbase.lib.Procedures.Procedure1;
22
23@SuppressWarnings("all")
24public class Logic2VampireLanguageMapper_ScopeMapper {
25 @Extension
26 private final VampireLanguageFactory factory = VampireLanguageFactory.eINSTANCE;
27
28 private final Logic2VampireLanguageMapper_Support support = new Logic2VampireLanguageMapper_Support();
29
30 private final Logic2VampireLanguageMapper base;
31
32 public Logic2VampireLanguageMapper_ScopeMapper(final Logic2VampireLanguageMapper base) {
33 this.base = base;
34 }
35
36 public void _transformScope(final LogicSolverConfiguration config, final Logic2VampireLanguageMapperTrace trace) {
37 VLSVariable _createVLSVariable = this.factory.createVLSVariable();
38 final Procedure1<VLSVariable> _function = (VLSVariable it) -> {
39 it.setName("A");
40 };
41 final VLSVariable variable = ObjectExtensions.<VLSVariable>operator_doubleArrow(_createVLSVariable, _function);
42 final List<VLSConstant> instances = CollectionLiterals.<VLSConstant>newArrayList();
43 for (int i = 0; (i < config.typeScopes.minNewElements); i++) {
44 {
45 final int num = (i + 1);
46 VLSConstant _createVLSConstant = this.factory.createVLSConstant();
47 final Procedure1<VLSConstant> _function_1 = (VLSConstant it) -> {
48 it.setName(("o" + Integer.valueOf(num)));
49 };
50 final VLSConstant cst = ObjectExtensions.<VLSConstant>operator_doubleArrow(_createVLSConstant, _function_1);
51 instances.add(cst);
52 }
53 }
54 VLSFofFormula _createVLSFofFormula = this.factory.createVLSFofFormula();
55 final Procedure1<VLSFofFormula> _function_1 = (VLSFofFormula it) -> {
56 it.setName("typeScope");
57 it.setFofRole("axiom");
58 VLSUniversalQuantifier _createVLSUniversalQuantifier = this.factory.createVLSUniversalQuantifier();
59 final Procedure1<VLSUniversalQuantifier> _function_2 = (VLSUniversalQuantifier it_1) -> {
60 EList<VLSVariable> _variables = it_1.getVariables();
61 VLSVariable _duplicate = this.support.duplicate(variable);
62 _variables.add(_duplicate);
63 VLSEquivalent _createVLSEquivalent = this.factory.createVLSEquivalent();
64 final Procedure1<VLSEquivalent> _function_3 = (VLSEquivalent it_2) -> {
65 it_2.setLeft(this.support.topLevelTypeFunc());
66 final Function1<VLSConstant, VLSEquality> _function_4 = (VLSConstant i) -> {
67 VLSEquality _createVLSEquality = this.factory.createVLSEquality();
68 final Procedure1<VLSEquality> _function_5 = (VLSEquality it_3) -> {
69 VLSVariable _createVLSVariable_1 = this.factory.createVLSVariable();
70 final Procedure1<VLSVariable> _function_6 = (VLSVariable it_4) -> {
71 it_4.setName(variable.getName());
72 };
73 VLSVariable _doubleArrow = ObjectExtensions.<VLSVariable>operator_doubleArrow(_createVLSVariable_1, _function_6);
74 it_3.setLeft(_doubleArrow);
75 it_3.setRight(i);
76 };
77 return ObjectExtensions.<VLSEquality>operator_doubleArrow(_createVLSEquality, _function_5);
78 };
79 it_2.setRight(this.support.unfoldOr(ListExtensions.<VLSConstant, VLSEquality>map(instances, _function_4)));
80 };
81 VLSEquivalent _doubleArrow = ObjectExtensions.<VLSEquivalent>operator_doubleArrow(_createVLSEquivalent, _function_3);
82 it_1.setOperand(_doubleArrow);
83 };
84 VLSUniversalQuantifier _doubleArrow = ObjectExtensions.<VLSUniversalQuantifier>operator_doubleArrow(_createVLSUniversalQuantifier, _function_2);
85 it.setFofFormula(_doubleArrow);
86 };
87 final VLSFofFormula cstDec = ObjectExtensions.<VLSFofFormula>operator_doubleArrow(_createVLSFofFormula, _function_1);
88 EList<VLSFofFormula> _formulas = trace.specification.getFormulas();
89 _formulas.add(cstDec);
90 }
91
92 public void transformScope(final LogicSolverConfiguration config, final Logic2VampireLanguageMapperTrace trace) {
93 _transformScope(config, trace);
94 return;
95 }
96}
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 e1be7df5..b111732f 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
@@ -50,6 +50,29 @@ public class Logic2VampireLanguageMapper_Support {
50 return IterableExtensions.join(((Iterable<?>)Conversions.doWrapArray(ids.split("\\s+"))), "_"); 50 return IterableExtensions.join(((Iterable<?>)Conversions.doWrapArray(ids.split("\\s+"))), "_");
51 } 51 }
52 52
53 protected VLSVariable duplicate(final VLSVariable vrbl) {
54 VLSVariable _createVLSVariable = this.factory.createVLSVariable();
55 final Procedure1<VLSVariable> _function = (VLSVariable it) -> {
56 it.setName(vrbl.getName());
57 };
58 return ObjectExtensions.<VLSVariable>operator_doubleArrow(_createVLSVariable, _function);
59 }
60
61 protected VLSFunction topLevelTypeFunc() {
62 VLSFunction _createVLSFunction = this.factory.createVLSFunction();
63 final Procedure1<VLSFunction> _function = (VLSFunction it) -> {
64 it.setConstant("object");
65 EList<VLSTerm> _terms = it.getTerms();
66 VLSVariable _createVLSVariable = this.factory.createVLSVariable();
67 final Procedure1<VLSVariable> _function_1 = (VLSVariable it_1) -> {
68 it_1.setName("A");
69 };
70 VLSVariable _doubleArrow = ObjectExtensions.<VLSVariable>operator_doubleArrow(_createVLSVariable, _function_1);
71 _terms.add(_doubleArrow);
72 };
73 return ObjectExtensions.<VLSFunction>operator_doubleArrow(_createVLSFunction, _function);
74 }
75
53 protected VLSTerm unfoldAnd(final List<? extends VLSTerm> operands) { 76 protected VLSTerm unfoldAnd(final List<? extends VLSTerm> operands) {
54 int _size = operands.size(); 77 int _size = operands.size();
55 boolean _equals = (_size == 1); 78 boolean _equals = (_size == 1);
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_TypeMapperTrace_FilteredTypes.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_TypeMapperTrace_FilteredTypes.java
index d674ac71..f7c6cb70 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_TypeMapperTrace_FilteredTypes.java
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_TypeMapperTrace_FilteredTypes.java
@@ -1,7 +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.builder.Logic2VampireLanguageMapper_TypeMapperTrace; 3import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.Logic2VampireLanguageMapper_TypeMapperTrace;
4import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSEquality;
5import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunction; 4import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunction;
6import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSTerm; 5import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSTerm;
7import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement; 6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement;
@@ -13,7 +12,7 @@ import java.util.Map;
13public class Logic2VampireLanguageMapper_TypeMapperTrace_FilteredTypes implements Logic2VampireLanguageMapper_TypeMapperTrace { 12public class Logic2VampireLanguageMapper_TypeMapperTrace_FilteredTypes implements Logic2VampireLanguageMapper_TypeMapperTrace {
14 public final Map<Type, VLSFunction> type2Predicate = new HashMap<Type, VLSFunction>(); 13 public final Map<Type, VLSFunction> type2Predicate = new HashMap<Type, VLSFunction>();
15 14
16 public final Map<DefinedElement, VLSEquality> definedElement2Declaration = new HashMap<DefinedElement, VLSEquality>(); 15 public final Map<DefinedElement, VLSFunction> element2Predicate = new HashMap<DefinedElement, VLSFunction>();
17 16
18 public final Map<Type, VLSTerm> type2PossibleNot = new HashMap<Type, VLSTerm>(); 17 public final Map<Type, VLSTerm> type2PossibleNot = new HashMap<Type, VLSTerm>();
19 18
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_TypeMapper_FilteredTypes.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_TypeMapper_FilteredTypes.java
index 0f5e4e7a..71e98871 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_TypeMapper_FilteredTypes.java
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_TypeMapper_FilteredTypes.java
@@ -7,7 +7,6 @@ import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.Logic2VampireLanguage
7import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.Logic2VampireLanguageMapper_TypeMapperTrace_FilteredTypes; 7import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.Logic2VampireLanguageMapper_TypeMapperTrace_FilteredTypes;
8import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.VampireModelInterpretation_TypeInterpretation; 8import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.VampireModelInterpretation_TypeInterpretation;
9import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSDoubleQuote; 9import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSDoubleQuote;
10import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSEquality;
11import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSEquivalent; 10import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSEquivalent;
12import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFofFormula; 11import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFofFormula;
13import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunction; 12import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunction;
@@ -27,10 +26,10 @@ import java.util.ArrayList;
27import java.util.Collection; 26import java.util.Collection;
28import java.util.List; 27import java.util.List;
29import org.eclipse.emf.common.util.EList; 28import org.eclipse.emf.common.util.EList;
29import org.eclipse.xtext.xbase.lib.CollectionLiterals;
30import org.eclipse.xtext.xbase.lib.Extension; 30import org.eclipse.xtext.xbase.lib.Extension;
31import org.eclipse.xtext.xbase.lib.Functions.Function1; 31import org.eclipse.xtext.xbase.lib.Functions.Function1;
32import org.eclipse.xtext.xbase.lib.IterableExtensions; 32import org.eclipse.xtext.xbase.lib.IterableExtensions;
33import org.eclipse.xtext.xbase.lib.ListExtensions;
34import org.eclipse.xtext.xbase.lib.ObjectExtensions; 33import org.eclipse.xtext.xbase.lib.ObjectExtensions;
35import org.eclipse.xtext.xbase.lib.Procedures.Procedure1; 34import org.eclipse.xtext.xbase.lib.Procedures.Procedure1;
36 35
@@ -58,14 +57,10 @@ public class Logic2VampireLanguageMapper_TypeMapper_FilteredTypes implements Log
58 { 57 {
59 VLSFunction _createVLSFunction = this.factory.createVLSFunction(); 58 VLSFunction _createVLSFunction = this.factory.createVLSFunction();
60 final Procedure1<VLSFunction> _function_1 = (VLSFunction it) -> { 59 final Procedure1<VLSFunction> _function_1 = (VLSFunction it) -> {
61 it.setConstant(this.support.toIDMultiple("type", type.getName())); 60 it.setConstant(this.support.toIDMultiple("t", type.getName()));
62 EList<VLSTerm> _terms = it.getTerms(); 61 EList<VLSTerm> _terms = it.getTerms();
63 VLSVariable _createVLSVariable_1 = this.factory.createVLSVariable(); 62 VLSVariable _duplicate = this.support.duplicate(variable);
64 final Procedure1<VLSVariable> _function_2 = (VLSVariable it_1) -> { 63 _terms.add(_duplicate);
65 it_1.setName(variable.getName());
66 };
67 VLSVariable _doubleArrow = ObjectExtensions.<VLSVariable>operator_doubleArrow(_createVLSVariable_1, _function_2);
68 _terms.add(_doubleArrow);
69 }; 64 };
70 final VLSFunction typePred = ObjectExtensions.<VLSFunction>operator_doubleArrow(_createVLSFunction, _function_1); 65 final VLSFunction typePred = ObjectExtensions.<VLSFunction>operator_doubleArrow(_createVLSFunction, _function_1);
71 typeTrace.type2Predicate.put(type, typePred); 66 typeTrace.type2Predicate.put(type, typePred);
@@ -74,6 +69,22 @@ public class Logic2VampireLanguageMapper_TypeMapper_FilteredTypes implements Log
74 Iterable<TypeDefinition> _filter = Iterables.<TypeDefinition>filter(types, TypeDefinition.class); 69 Iterable<TypeDefinition> _filter = Iterables.<TypeDefinition>filter(types, TypeDefinition.class);
75 for (final TypeDefinition type_1 : _filter) { 70 for (final TypeDefinition type_1 : _filter) {
76 { 71 {
72 final List<VLSFunction> orElems = CollectionLiterals.<VLSFunction>newArrayList();
73 EList<DefinedElement> _elements = type_1.getElements();
74 for (final DefinedElement e : _elements) {
75 {
76 VLSFunction _createVLSFunction = this.factory.createVLSFunction();
77 final Procedure1<VLSFunction> _function_1 = (VLSFunction it) -> {
78 it.setConstant(this.support.toIDMultiple("e", e.getName(), type_1.getName()));
79 EList<VLSTerm> _terms = it.getTerms();
80 VLSVariable _duplicate = this.support.duplicate(variable);
81 _terms.add(_duplicate);
82 };
83 final VLSFunction enumElemPred = ObjectExtensions.<VLSFunction>operator_doubleArrow(_createVLSFunction, _function_1);
84 typeTrace.element2Predicate.put(e, enumElemPred);
85 orElems.add(enumElemPred);
86 }
87 }
77 VLSFofFormula _createVLSFofFormula = this.factory.createVLSFofFormula(); 88 VLSFofFormula _createVLSFofFormula = this.factory.createVLSFofFormula();
78 final Procedure1<VLSFofFormula> _function_1 = (VLSFofFormula it) -> { 89 final Procedure1<VLSFofFormula> _function_1 = (VLSFofFormula it) -> {
79 it.setName(this.support.toIDMultiple("typeDef", type_1.getName())); 90 it.setName(this.support.toIDMultiple("typeDef", type_1.getName()));
@@ -81,53 +92,15 @@ public class Logic2VampireLanguageMapper_TypeMapper_FilteredTypes implements Log
81 VLSUniversalQuantifier _createVLSUniversalQuantifier = this.factory.createVLSUniversalQuantifier(); 92 VLSUniversalQuantifier _createVLSUniversalQuantifier = this.factory.createVLSUniversalQuantifier();
82 final Procedure1<VLSUniversalQuantifier> _function_2 = (VLSUniversalQuantifier it_1) -> { 93 final Procedure1<VLSUniversalQuantifier> _function_2 = (VLSUniversalQuantifier it_1) -> {
83 EList<VLSVariable> _variables = it_1.getVariables(); 94 EList<VLSVariable> _variables = it_1.getVariables();
84 VLSVariable _createVLSVariable_1 = this.factory.createVLSVariable(); 95 VLSVariable _duplicate = this.support.duplicate(variable);
85 final Procedure1<VLSVariable> _function_3 = (VLSVariable it_2) -> { 96 _variables.add(_duplicate);
86 it_2.setName(variable.getName());
87 };
88 VLSVariable _doubleArrow = ObjectExtensions.<VLSVariable>operator_doubleArrow(_createVLSVariable_1, _function_3);
89 _variables.add(_doubleArrow);
90 VLSEquivalent _createVLSEquivalent = this.factory.createVLSEquivalent(); 97 VLSEquivalent _createVLSEquivalent = this.factory.createVLSEquivalent();
91 final Procedure1<VLSEquivalent> _function_4 = (VLSEquivalent it_2) -> { 98 final Procedure1<VLSEquivalent> _function_3 = (VLSEquivalent it_2) -> {
92 VLSFunction _createVLSFunction = this.factory.createVLSFunction(); 99 it_2.setLeft(CollectionsUtil.<TypeDefinition, VLSFunction>lookup(type_1, typeTrace.type2Predicate));
93 final Procedure1<VLSFunction> _function_5 = (VLSFunction it_3) -> { 100 it_2.setRight(this.support.unfoldOr(orElems));
94 it_3.setConstant(CollectionsUtil.<TypeDefinition, VLSFunction>lookup(type_1, typeTrace.type2Predicate).getConstant());
95 EList<VLSTerm> _terms = it_3.getTerms();
96 VLSVariable _createVLSVariable_2 = this.factory.createVLSVariable();
97 final Procedure1<VLSVariable> _function_6 = (VLSVariable it_4) -> {
98 it_4.setName("A");
99 };
100 VLSVariable _doubleArrow_1 = ObjectExtensions.<VLSVariable>operator_doubleArrow(_createVLSVariable_2, _function_6);
101 _terms.add(_doubleArrow_1);
102 };
103 VLSFunction _doubleArrow_1 = ObjectExtensions.<VLSFunction>operator_doubleArrow(_createVLSFunction, _function_5);
104 it_2.setLeft(_doubleArrow_1);
105 CollectionsUtil.<TypeDefinition, VLSFunction>lookup(type_1, typeTrace.type2Predicate);
106 final Function1<DefinedElement, VLSEquality> _function_6 = (DefinedElement e) -> {
107 VLSEquality _createVLSEquality = this.factory.createVLSEquality();
108 final Procedure1<VLSEquality> _function_7 = (VLSEquality it_3) -> {
109 VLSVariable _createVLSVariable_2 = this.factory.createVLSVariable();
110 final Procedure1<VLSVariable> _function_8 = (VLSVariable it_4) -> {
111 it_4.setName(variable.getName());
112 };
113 VLSVariable _doubleArrow_2 = ObjectExtensions.<VLSVariable>operator_doubleArrow(_createVLSVariable_2, _function_8);
114 it_3.setLeft(_doubleArrow_2);
115 VLSDoubleQuote _createVLSDoubleQuote = this.factory.createVLSDoubleQuote();
116 final Procedure1<VLSDoubleQuote> _function_9 = (VLSDoubleQuote it_4) -> {
117 String _name = e.getName();
118 String _plus = ("\"a" + _name);
119 String _plus_1 = (_plus + "\"");
120 it_4.setValue(_plus_1);
121 };
122 VLSDoubleQuote _doubleArrow_3 = ObjectExtensions.<VLSDoubleQuote>operator_doubleArrow(_createVLSDoubleQuote, _function_9);
123 it_3.setRight(_doubleArrow_3);
124 };
125 return ObjectExtensions.<VLSEquality>operator_doubleArrow(_createVLSEquality, _function_7);
126 };
127 it_2.setRight(this.support.unfoldOr(ListExtensions.<DefinedElement, VLSEquality>map(type_1.getElements(), _function_6)));
128 }; 101 };
129 VLSEquivalent _doubleArrow_1 = ObjectExtensions.<VLSEquivalent>operator_doubleArrow(_createVLSEquivalent, _function_4); 102 VLSEquivalent _doubleArrow = ObjectExtensions.<VLSEquivalent>operator_doubleArrow(_createVLSEquivalent, _function_3);
130 it_1.setOperand(_doubleArrow_1); 103 it_1.setOperand(_doubleArrow);
131 }; 104 };
132 VLSUniversalQuantifier _doubleArrow = ObjectExtensions.<VLSUniversalQuantifier>operator_doubleArrow(_createVLSUniversalQuantifier, _function_2); 105 VLSUniversalQuantifier _doubleArrow = ObjectExtensions.<VLSUniversalQuantifier>operator_doubleArrow(_createVLSUniversalQuantifier, _function_2);
133 it.setFofFormula(_doubleArrow); 106 it.setFofFormula(_doubleArrow);
@@ -201,19 +174,7 @@ public class Logic2VampireLanguageMapper_TypeMapper_FilteredTypes implements Log
201 _variables.add(_doubleArrow); 174 _variables.add(_doubleArrow);
202 VLSEquivalent _createVLSEquivalent = this.factory.createVLSEquivalent(); 175 VLSEquivalent _createVLSEquivalent = this.factory.createVLSEquivalent();
203 final Procedure1<VLSEquivalent> _function_5 = (VLSEquivalent it_2) -> { 176 final Procedure1<VLSEquivalent> _function_5 = (VLSEquivalent it_2) -> {
204 VLSFunction _createVLSFunction = this.factory.createVLSFunction(); 177 it_2.setLeft(this.support.topLevelTypeFunc());
205 final Procedure1<VLSFunction> _function_6 = (VLSFunction it_3) -> {
206 it_3.setConstant("object");
207 EList<VLSTerm> _terms = it_3.getTerms();
208 VLSVariable _createVLSVariable_2 = this.factory.createVLSVariable();
209 final Procedure1<VLSVariable> _function_7 = (VLSVariable it_4) -> {
210 it_4.setName("A");
211 };
212 VLSVariable _doubleArrow_1 = ObjectExtensions.<VLSVariable>operator_doubleArrow(_createVLSVariable_2, _function_7);
213 _terms.add(_doubleArrow_1);
214 };
215 VLSFunction _doubleArrow_1 = ObjectExtensions.<VLSFunction>operator_doubleArrow(_createVLSFunction, _function_6);
216 it_2.setLeft(_doubleArrow_1);
217 Collection<VLSTerm> _values = typeTrace.type2And.values(); 178 Collection<VLSTerm> _values = typeTrace.type2And.values();
218 ArrayList<VLSTerm> _arrayList = new ArrayList<VLSTerm>(_values); 179 ArrayList<VLSTerm> _arrayList = new ArrayList<VLSTerm>(_values);
219 it_2.setRight(this.support.unfoldOr(_arrayList)); 180 it_2.setRight(this.support.unfoldOr(_arrayList));
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Vampire2LogicMapper.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Vampire2LogicMapper.java
index f4380894..f4b5a1d2 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Vampire2LogicMapper.java
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Vampire2LogicMapper.java
@@ -1,59 +1,5 @@
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.builder.Logic2VampireLanguageMapperTrace;
4import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.VampireSolutionModel;
5import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem;
6import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicResult;
7import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicresultFactory;
8import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.Statistics;
9import org.eclipse.xtext.xbase.lib.Extension;
10import org.eclipse.xtext.xbase.lib.Functions.Function2;
11import org.eclipse.xtext.xbase.lib.IterableExtensions;
12
13@SuppressWarnings("all") 3@SuppressWarnings("all")
14public class Vampire2LogicMapper { 4public class Vampire2LogicMapper {
15 @Extension
16 private final LogicresultFactory resultFactory = LogicresultFactory.eINSTANCE;
17
18 public LogicResult transformOutput(final LogicProblem problem, final int requiredNumberOfSolution, final VampireSolutionModel vampireSolution, final Logic2VampireLanguageMapperTrace trace, final long transformationTime) {
19 throw new Error("Unresolved compilation problems:"
20 + "\nThe method or field aswers is undefined for the type VampireSolutionModel"
21 + "\nThe method or field key is undefined for the type Object"
22 + "\nThe method or field monitoredAlloySolution is undefined"
23 + "\nThe method or field monitoredAlloySolution is undefined"
24 + "\nThe method or field monitoredAlloySolution is undefined"
25 + "\nThe method or field monitoredAlloySolution is undefined"
26 + "\nThe method transformStatistics(MonitoredAlloySolution, long) from the type Vampire2LogicMapper refers to the missing type MonitoredAlloySolution"
27 + "\nThe method transformStatistics(MonitoredAlloySolution, long) from the type Vampire2LogicMapper refers to the missing type MonitoredAlloySolution"
28 + "\nThe method transformStatistics(MonitoredAlloySolution, long) from the type Vampire2LogicMapper refers to the missing type MonitoredAlloySolution"
29 + "\nmap cannot be resolved"
30 + "\ntoList cannot be resolved"
31 + "\nfinishedBeforeTimeout cannot be resolved"
32 + "\n! cannot be resolved"
33 + "\nlast cannot be resolved"
34 + "\nsatisfiable cannot be resolved"
35 + "\n|| cannot be resolved");
36 }
37
38 public Statistics transformStatistics(final /* MonitoredAlloySolution */Object solution, final long transformationTime) {
39 throw new Error("Unresolved compilation problems:"
40 + "\nCannot cast from Object to int"
41 + "\nCannot cast from Object to int"
42 + "\naswers cannot be resolved"
43 + "\nsize cannot be resolved"
44 + "\naswers cannot be resolved"
45 + "\nget cannot be resolved"
46 + "\nvalue cannot be resolved"
47 + "\nintValue cannot be resolved"
48 + "\nkodkodTime cannot be resolved"
49 + "\nkodkodTime cannot be resolved"
50 + "\nwarnings cannot be resolved");
51 }
52
53 public Long sum(final Iterable<Long> ints) {
54 final Function2<Long, Long, Long> _function = (Long p1, Long p2) -> {
55 return Long.valueOf(((p1).longValue() + (p2).longValue()));
56 };
57 return IterableExtensions.<Long>reduce(ints, _function);
58 }
59} 5}
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/VampireSolutionModel.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/VampireSolutionModel.java
index c665b9a6..3c43c4ea 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/VampireSolutionModel.java
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/VampireSolutionModel.java
@@ -10,8 +10,7 @@ public class VampireSolutionModel {
10 @Override 10 @Override
11 @Pure 11 @Pure
12 public int hashCode() { 12 public int hashCode() {
13 int result = 1; 13 return 1;
14 return result;
15 } 14 }
16 15
17 @Override 16 @Override
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/initialModels/FAM/FamPatterns.vql b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/queries/FamPatterns.vql
index 013d0419..013d0419 100644
--- a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/initialModels/FAM/FamPatterns.vql
+++ b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/queries/FamPatterns.vql