aboutsummaryrefslogtreecommitdiffstats
path: root/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_ContainmentMapper.xtend
diff options
context:
space:
mode:
Diffstat (limited to 'Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_ContainmentMapper.xtend')
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_ContainmentMapper.xtend12
1 files changed, 10 insertions, 2 deletions
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_ContainmentMapper.xtend b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_ContainmentMapper.xtend
index 395b4305..8e0e0b11 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_ContainmentMapper.xtend
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_ContainmentMapper.xtend
@@ -39,7 +39,15 @@ class Logic2VampireLanguageMapper_ContainmentMapper {
39 for (l : relationsList) { 39 for (l : relationsList) {
40 var pointingTo = (l.parameters.get(1) as ComplexTypeReference).referred as Type 40 var pointingTo = (l.parameters.get(1) as ComplexTypeReference).referred as Type
41 containmentListCopy.remove(pointingTo) 41 containmentListCopy.remove(pointingTo)
42 for (c : pointingTo.subtypes) { 42 var List<Type> allSubtypes = newArrayList
43 support.listSubtypes(pointingTo, allSubtypes)
44 for (c : allSubtypes) {
45 containmentListCopy.remove(c)
46 }
47 }
48
49 for (c : containmentListCopy) {
50 if(c.isIsAbstract) {
43 containmentListCopy.remove(c) 51 containmentListCopy.remove(c)
44 } 52 }
45 } 53 }
@@ -135,7 +143,7 @@ class Logic2VampireLanguageMapper_ContainmentMapper {
135// STEP 2 CONT'D 143// STEP 2 CONT'D
136 for (e : type2cont.entrySet) { 144 for (e : type2cont.entrySet) {
137 val relFormula = createVLSFofFormula => [ 145 val relFormula = createVLSFofFormula => [
138 it.name = support.toIDMultiple("containment", e.key.constant.toString) 146 it.name = support.toIDMultiple("containment_contained", e.key.constant.toString)
139 it.fofRole = "axiom" 147 it.fofRole = "axiom"
140 148
141 it.fofFormula = createVLSUniversalQuantifier => [ 149 it.fofFormula = createVLSUniversalQuantifier => [