diff options
author | 2019-04-05 03:32:48 -0400 | |
---|---|---|
committer | 2019-04-05 03:32:48 -0400 | |
commit | 46995a62387aa07a6421a5546f466951f58c168c (patch) | |
tree | af284e3c21317784b2fc15334d19a292288c3e67 /Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen | |
parent | test push (diff) | |
download | VIATRA-Generator-46995a62387aa07a6421a5546f466951f58c168c.tar.gz VIATRA-Generator-46995a62387aa07a6421a5546f466951f58c168c.tar.zst VIATRA-Generator-46995a62387aa07a6421a5546f466951f58c168c.zip |
Implement containment circularity avoidance #20
Diffstat (limited to 'Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen')
15 files changed, 71 insertions, 7 deletions
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 b5e03979..7394b24e 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 0714f36d..d328dcf2 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/VampireSolverConfiguration.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/VampireSolverConfiguration.java index 1f6b3d42..ac55ebd7 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,4 +4,7 @@ import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicSolverConfiguration; | |||
4 | 4 | ||
5 | @SuppressWarnings("all") | 5 | @SuppressWarnings("all") |
6 | public class VampireSolverConfiguration extends LogicSolverConfiguration { | 6 | public class VampireSolverConfiguration extends LogicSolverConfiguration { |
7 | public int contCycleLevel = 0; | ||
8 | |||
9 | public boolean uniquenessDuplicates = false; | ||
7 | } | 10 | } |
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 2cc60591..968a2df8 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/.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 01b0a351..48756fcc 100644 --- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_ConstantMapper.xtendbin +++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_ConstantMapper.xtendbin | |||
Binary files differ | |||
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_ContainmentMapper.xtendbin b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_ContainmentMapper.xtendbin index cf049bd5..44b06208 100644 --- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_ContainmentMapper.xtendbin +++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_ContainmentMapper.xtendbin | |||
Binary files differ | |||
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_RelationMapper.xtendbin b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_RelationMapper.xtendbin index 7bc04e7b..4cab8309 100644 --- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_RelationMapper.xtendbin +++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_RelationMapper.xtendbin | |||
Binary files differ | |||
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_ScopeMapper.xtendbin b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_ScopeMapper.xtendbin index a97c7186..ccddb430 100644 --- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_ScopeMapper.xtendbin +++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_ScopeMapper.xtendbin | |||
Binary files differ | |||
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_Support.xtendbin b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_Support.xtendbin index a473c586..a069a62f 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 4e7796fe..46cd58fb 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/.VampireHandler.xtendbin b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.VampireHandler.xtendbin index 84d6c63a..1b5e4d0b 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/Logic2VampireLanguageMapper.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper.java index 36a727b2..f04bd7dc 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 | |||
@@ -123,7 +123,7 @@ public class Logic2VampireLanguageMapper { | |||
123 | this.relationMapper.transformRelation(it, trace); | 123 | this.relationMapper.transformRelation(it, trace); |
124 | }; | 124 | }; |
125 | problem.getRelations().forEach(_function_3); | 125 | problem.getRelations().forEach(_function_3); |
126 | this.containmentMapper.transformContainment(problem.getContainmentHierarchies(), trace); | 126 | this.containmentMapper.transformContainment(config, problem.getContainmentHierarchies(), trace); |
127 | trace.constantDefinitions = this.collectConstantDefinitions(problem); | 127 | trace.constantDefinitions = this.collectConstantDefinitions(problem); |
128 | final Consumer<ConstantDefinition> _function_4 = (ConstantDefinition it) -> { | 128 | final Consumer<ConstantDefinition> _function_4 = (ConstantDefinition it) -> { |
129 | this.constantMapper.transformConstantDefinitionSpecification(it, trace); | 129 | this.constantMapper.transformConstantDefinitionSpecification(it, trace); |
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_ContainmentMapper.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_ContainmentMapper.java index 7bc70e9d..4cdc7e6a 100644 --- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_ContainmentMapper.java +++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_ContainmentMapper.java | |||
@@ -1,5 +1,6 @@ | |||
1 | package ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder; | 1 | package ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder; |
2 | 2 | ||
3 | import ca.mcgill.ecse.dslreasoner.vampire.reasoner.VampireSolverConfiguration; | ||
3 | import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.Logic2VampireLanguageMapper; | 4 | import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.Logic2VampireLanguageMapper; |
4 | import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.Logic2VampireLanguageMapperTrace; | 5 | import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.Logic2VampireLanguageMapperTrace; |
5 | import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.Logic2VampireLanguageMapper_Support; | 6 | import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.Logic2VampireLanguageMapper_Support; |
@@ -16,6 +17,7 @@ import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUniversalQuantifier; | |||
16 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSVariable; | 17 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSVariable; |
17 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguageFactory; | 18 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguageFactory; |
18 | import com.google.common.base.Objects; | 19 | import com.google.common.base.Objects; |
20 | import com.google.common.collect.Iterables; | ||
19 | import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ComplexTypeReference; | 21 | import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ComplexTypeReference; |
20 | import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Relation; | 22 | import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Relation; |
21 | import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDeclaration; | 23 | import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDeclaration; |
@@ -52,7 +54,7 @@ public class Logic2VampireLanguageMapper_ContainmentMapper { | |||
52 | this.base = base; | 54 | this.base = base; |
53 | } | 55 | } |
54 | 56 | ||
55 | public void transformContainment(final List<ContainmentHierarchy> hierarchies, final Logic2VampireLanguageMapperTrace trace) { | 57 | public void transformContainment(final VampireSolverConfiguration config, final List<ContainmentHierarchy> hierarchies, final Logic2VampireLanguageMapperTrace trace) { |
56 | final ContainmentHierarchy hierarchy = hierarchies.get(0); | 58 | final ContainmentHierarchy hierarchy = hierarchies.get(0); |
57 | final EList<Type> containmentListCopy = hierarchy.getTypesOrderedInHierarchy(); | 59 | final EList<Type> containmentListCopy = hierarchy.getTypesOrderedInHierarchy(); |
58 | final EList<Relation> relationsList = hierarchy.getContainmentRelations(); | 60 | final EList<Relation> relationsList = hierarchy.getContainmentRelations(); |
@@ -135,7 +137,7 @@ public class Logic2VampireLanguageMapper_ContainmentMapper { | |||
135 | } | 137 | } |
136 | VLSFofFormula _createVLSFofFormula_1 = this.factory.createVLSFofFormula(); | 138 | VLSFofFormula _createVLSFofFormula_1 = this.factory.createVLSFofFormula(); |
137 | final Procedure1<VLSFofFormula> _function_4 = (VLSFofFormula it) -> { | 139 | final Procedure1<VLSFofFormula> _function_4 = (VLSFofFormula it) -> { |
138 | it.setName(this.support.toIDMultiple("noDupCont", rel.getConstant().toString())); | 140 | it.setName(this.support.toIDMultiple("containment_noDup", rel.getConstant().toString())); |
139 | it.setFofRole("axiom"); | 141 | it.setFofRole("axiom"); |
140 | VLSExistentialQuantifier _createVLSExistentialQuantifier = this.factory.createVLSExistentialQuantifier(); | 142 | VLSExistentialQuantifier _createVLSExistentialQuantifier = this.factory.createVLSExistentialQuantifier(); |
141 | final Procedure1<VLSExistentialQuantifier> _function_5 = (VLSExistentialQuantifier it_1) -> { | 143 | final Procedure1<VLSExistentialQuantifier> _function_5 = (VLSExistentialQuantifier it_1) -> { |
@@ -219,6 +221,57 @@ public class Logic2VampireLanguageMapper_ContainmentMapper { | |||
219 | _formulas_1.add(relFormula); | 221 | _formulas_1.add(relFormula); |
220 | } | 222 | } |
221 | } | 223 | } |
224 | final ArrayList<VLSVariable> variables = CollectionLiterals.<VLSVariable>newArrayList(); | ||
225 | final ArrayList<VLSFunction> disjunctionList = CollectionLiterals.<VLSFunction>newArrayList(); | ||
226 | final ArrayList<VLSTerm> conjunctionList = CollectionLiterals.<VLSTerm>newArrayList(); | ||
227 | for (int i = 1; (i <= config.contCycleLevel); i++) { | ||
228 | { | ||
229 | final int ind = i; | ||
230 | VLSVariable _createVLSVariable_3 = this.factory.createVLSVariable(); | ||
231 | final Procedure1<VLSVariable> _function_4 = (VLSVariable it) -> { | ||
232 | String _string = Integer.toString(ind); | ||
233 | String _plus = ("V" + _string); | ||
234 | it.setName(_plus); | ||
235 | }; | ||
236 | VLSVariable _doubleArrow = ObjectExtensions.<VLSVariable>operator_doubleArrow(_createVLSVariable_3, _function_4); | ||
237 | variables.add(_doubleArrow); | ||
238 | for (int j = 0; (j < i); j++) { | ||
239 | { | ||
240 | for (final Relation l_2 : relationsList) { | ||
241 | { | ||
242 | final VLSFunction rel = this.support.duplicate(CollectionsUtil.<RelationDeclaration, VLSFunction>lookup(((RelationDeclaration) l_2), trace.rel2Predicate), CollectionLiterals.<VLSVariable>newArrayList(variables.get(j), variables.get(((j + 1) % i)))); | ||
243 | disjunctionList.add(rel); | ||
244 | } | ||
245 | } | ||
246 | conjunctionList.add(this.support.unfoldOr(disjunctionList)); | ||
247 | disjunctionList.clear(); | ||
248 | } | ||
249 | } | ||
250 | VLSFofFormula _createVLSFofFormula_1 = this.factory.createVLSFofFormula(); | ||
251 | final Procedure1<VLSFofFormula> _function_5 = (VLSFofFormula it) -> { | ||
252 | it.setName(this.support.toIDMultiple("containment_noCycle", Integer.toString(ind))); | ||
253 | it.setFofRole("axiom"); | ||
254 | VLSUnaryNegation _createVLSUnaryNegation = this.factory.createVLSUnaryNegation(); | ||
255 | final Procedure1<VLSUnaryNegation> _function_6 = (VLSUnaryNegation it_1) -> { | ||
256 | VLSExistentialQuantifier _createVLSExistentialQuantifier = this.factory.createVLSExistentialQuantifier(); | ||
257 | final Procedure1<VLSExistentialQuantifier> _function_7 = (VLSExistentialQuantifier it_2) -> { | ||
258 | EList<VLSVariable> _variables = it_2.getVariables(); | ||
259 | List<VLSVariable> _duplicate = this.support.duplicate(variables); | ||
260 | Iterables.<VLSVariable>addAll(_variables, _duplicate); | ||
261 | it_2.setOperand(this.support.unfoldAnd(conjunctionList)); | ||
262 | }; | ||
263 | VLSExistentialQuantifier _doubleArrow_1 = ObjectExtensions.<VLSExistentialQuantifier>operator_doubleArrow(_createVLSExistentialQuantifier, _function_7); | ||
264 | it_1.setOperand(_doubleArrow_1); | ||
265 | }; | ||
266 | VLSUnaryNegation _doubleArrow_1 = ObjectExtensions.<VLSUnaryNegation>operator_doubleArrow(_createVLSUnaryNegation, _function_6); | ||
267 | it.setFofFormula(_doubleArrow_1); | ||
268 | }; | ||
269 | final VLSFofFormula contCycleForm = ObjectExtensions.<VLSFofFormula>operator_doubleArrow(_createVLSFofFormula_1, _function_5); | ||
270 | EList<VLSFofFormula> _formulas_1 = trace.specification.getFormulas(); | ||
271 | _formulas_1.add(contCycleForm); | ||
272 | conjunctionList.clear(); | ||
273 | } | ||
274 | } | ||
222 | } | 275 | } |
223 | 276 | ||
224 | protected VLSTerm makeUnique(final List<VLSFunction> list) { | 277 | protected VLSTerm makeUnique(final List<VLSFunction> list) { |
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_ScopeMapper.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_ScopeMapper.java index 83543c92..f5d35b28 100644 --- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_ScopeMapper.java +++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_ScopeMapper.java | |||
@@ -1,5 +1,6 @@ | |||
1 | package ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder; | 1 | package ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder; |
2 | 2 | ||
3 | import ca.mcgill.ecse.dslreasoner.vampire.reasoner.VampireSolverConfiguration; | ||
3 | import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.Logic2VampireLanguageMapper; | 4 | import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.Logic2VampireLanguageMapper; |
4 | import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.Logic2VampireLanguageMapperTrace; | 5 | import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.Logic2VampireLanguageMapperTrace; |
5 | import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.Logic2VampireLanguageMapper_Support; | 6 | import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.Logic2VampireLanguageMapper_Support; |
@@ -13,7 +14,6 @@ import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSTerm; | |||
13 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUniversalQuantifier; | 14 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUniversalQuantifier; |
14 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSVariable; | 15 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSVariable; |
15 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguageFactory; | 16 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguageFactory; |
16 | import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicSolverConfiguration; | ||
17 | import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type; | 17 | import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type; |
18 | import hu.bme.mit.inf.dslreasoner.util.CollectionsUtil; | 18 | import hu.bme.mit.inf.dslreasoner.util.CollectionsUtil; |
19 | import java.util.ArrayList; | 19 | import java.util.ArrayList; |
@@ -47,7 +47,7 @@ public class Logic2VampireLanguageMapper_ScopeMapper { | |||
47 | this.base = base; | 47 | this.base = base; |
48 | } | 48 | } |
49 | 49 | ||
50 | public void _transformScope(final LogicSolverConfiguration config, final Logic2VampireLanguageMapperTrace trace) { | 50 | public void _transformScope(final VampireSolverConfiguration config, final Logic2VampireLanguageMapperTrace trace) { |
51 | final int ABSOLUTE_MIN = 0; | 51 | final int ABSOLUTE_MIN = 0; |
52 | final int ABSOLUTE_MAX = Integer.MAX_VALUE; | 52 | final int ABSOLUTE_MAX = Integer.MAX_VALUE; |
53 | final int GLOBAL_MIN = config.typeScopes.minNewElements; | 53 | final int GLOBAL_MIN = config.typeScopes.minNewElements; |
@@ -105,7 +105,7 @@ public class Logic2VampireLanguageMapper_ScopeMapper { | |||
105 | } | 105 | } |
106 | } | 106 | } |
107 | } | 107 | } |
108 | final boolean DUPLICATES = false; | 108 | final boolean DUPLICATES = config.uniquenessDuplicates; |
109 | final int numInst = ((Object[])Conversions.unwrapArray(trace.uniqueInstances, Object.class)).length; | 109 | final int numInst = ((Object[])Conversions.unwrapArray(trace.uniqueInstances, Object.class)).length; |
110 | int ind = 1; | 110 | int ind = 1; |
111 | if ((numInst != 0)) { | 111 | if ((numInst != 0)) { |
@@ -246,7 +246,7 @@ public class Logic2VampireLanguageMapper_ScopeMapper { | |||
246 | _formulas.add(cstDec); | 246 | _formulas.add(cstDec); |
247 | } | 247 | } |
248 | 248 | ||
249 | public void transformScope(final LogicSolverConfiguration config, final Logic2VampireLanguageMapperTrace trace) { | 249 | public void transformScope(final VampireSolverConfiguration config, final Logic2VampireLanguageMapperTrace trace) { |
250 | _transformScope(config, trace); | 250 | _transformScope(config, trace); |
251 | return; | 251 | return; |
252 | } | 252 | } |
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 513618a9..89633ca1 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 | |||
@@ -129,6 +129,14 @@ public class Logic2VampireLanguageMapper_Support { | |||
129 | return ObjectExtensions.<VLSFunction>operator_doubleArrow(_createVLSFunction, _function); | 129 | return ObjectExtensions.<VLSFunction>operator_doubleArrow(_createVLSFunction, _function); |
130 | } | 130 | } |
131 | 131 | ||
132 | protected List<VLSVariable> duplicate(final List<VLSVariable> vars) { | ||
133 | ArrayList<VLSVariable> newList = CollectionLiterals.<VLSVariable>newArrayList(); | ||
134 | for (final VLSVariable v : vars) { | ||
135 | newList.add(this.duplicate(v)); | ||
136 | } | ||
137 | return newList; | ||
138 | } | ||
139 | |||
132 | protected VLSConstant toConstant(final VLSFunctionAsTerm term) { | 140 | protected VLSConstant toConstant(final VLSFunctionAsTerm term) { |
133 | VLSConstant _createVLSConstant = this.factory.createVLSConstant(); | 141 | VLSConstant _createVLSConstant = this.factory.createVLSConstant(); |
134 | final Procedure1<VLSConstant> _function = (VLSConstant it) -> { | 142 | final Procedure1<VLSConstant> _function = (VLSConstant it) -> { |