diff options
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.xtend | 12 |
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 => [ |