aboutsummaryrefslogtreecommitdiffstats
path: root/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner
diff options
context:
space:
mode:
authorLibravatar ArenBabikian <aren.babikian@mail.mcgill.ca>2019-03-06 17:46:15 -0500
committerLibravatar ArenBabikian <aren.babikian@mail.mcgill.ca>2020-06-07 19:22:46 -0400
commitf1245cf2bf0447566dd69798d20d7ae6b64b6a19 (patch)
treeee9b404ac53f6080b0130658e6acb8dd54da28e0 /Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner
parentImplement Enum handling and study hierarchy handling (diff)
downloadVIATRA-Generator-f1245cf2bf0447566dd69798d20d7ae6b64b6a19.tar.gz
VIATRA-Generator-f1245cf2bf0447566dd69798d20d7ae6b64b6a19.tar.zst
VIATRA-Generator-f1245cf2bf0447566dd69798d20d7ae6b64b6a19.zip
Fix Enum handling for Paradox Integration
Diffstat (limited to 'Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner')
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_TypeMapper.xtend14
1 files changed, 13 insertions, 1 deletions
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_TypeMapper.xtend b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_TypeMapper.xtend
index f2a7b3f2..ee6365dd 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_TypeMapper.xtend
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_TypeMapper.xtend
@@ -90,7 +90,7 @@ class Logic2VampireLanguageMapper_TypeMapper {
90 trace.specification.formulas += res 90 trace.specification.formulas += res
91 91
92 // Create objects for the enum elements 92 // Create objects for the enum elements
93 val List<VLSFunction> enumScopeElems = newArrayList 93 val List<VLSTerm> enumScopeElems = newArrayList
94 for (var i = 0; i < type.elements.length; i++) { 94 for (var i = 0; i < type.elements.length; i++) {
95 val num = i + 1 95 val num = i + 1
96 val cstTerm = createVLSFunctionAsTerm => [ 96 val cstTerm = createVLSFunctionAsTerm => [
@@ -100,6 +100,18 @@ class Logic2VampireLanguageMapper_TypeMapper {
100 trace.uniqueInstances.add(cst) 100 trace.uniqueInstances.add(cst)
101 val fct = support.duplicate(type.elements.get(i).lookup(trace.element2Predicate), cstTerm) 101 val fct = support.duplicate(type.elements.get(i).lookup(trace.element2Predicate), cstTerm)
102 enumScopeElems.add(fct) 102 enumScopeElems.add(fct)
103
104 //For paradox Only
105 for (var j = 0; j < type.elements.length; j++) {
106 if(j != i) {
107 val op = support.duplicate(type.elements.get(j).lookup(trace.element2Predicate), cstTerm)
108 val negFct = createVLSUnaryNegation => [
109 it.operand = op
110 ]
111 enumScopeElems.add(negFct)
112 }
113 }
114 //End Paradox
103// enumScopeElems.add(support.topLevelTypeFunc(cstTerm)) 115// enumScopeElems.add(support.topLevelTypeFunc(cstTerm))
104 } 116 }
105 117