aboutsummaryrefslogtreecommitdiffstats
path: root/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner
diff options
context:
space:
mode:
authorLibravatar ArenBabikian <aren.babikian@mail.mcgill.ca>2019-09-02 03:47:21 -0400
committerLibravatar ArenBabikian <aren.babikian@mail.mcgill.ca>2020-06-07 19:41:44 -0400
commit35ac37963fc3e3f3fb142aaf1fdffd26e05e473a (patch)
tree5e2449306e2fd7169b05ac72fe78e167934d7f8c /Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner
parentVAMPIRE: setup structure of model interpretation (diff)
downloadVIATRA-Generator-35ac37963fc3e3f3fb142aaf1fdffd26e05e473a.tar.gz
VIATRA-Generator-35ac37963fc3e3f3fb142aaf1fdffd26e05e473a.tar.zst
VIATRA-Generator-35ac37963fc3e3f3fb142aaf1fdffd26e05e473a.zip
VAMPIRE: implement Vampire Model Interpreter, 2/3 done
Diffstat (limited to 'Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner')
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapperTrace.xtend1
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_TypeMapper.xtend1
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/VampireModelInterpretation.xtend167
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/.VampireSolver.xtendbinbin6957 -> 6957 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper.xtendbinbin17754 -> 17726 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapperTrace.xtendbinbin4692 -> 4773 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 -> 3165 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_ContainmentMapper.xtendbinbin11835 -> 11807 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_RelationMapper.xtendbinbin6497 -> 6467 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_ScopeMapper.xtendbinbin10701 -> 10676 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_Support.xtendbinbin13083 -> 13060 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_TypeMapper.xtendbinbin11170 -> 11170 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Vampire2LogicMapper.xtendbinbin3858 -> 3858 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapperTrace.java2
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_ContainmentMapper.java20
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_RelationMapper.java4
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_ScopeMapper.java4
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_Support.java10
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_TypeMapper.java11
19 files changed, 179 insertions, 41 deletions
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapperTrace.xtend b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapperTrace.xtend
index e94584ae..7ab15fba 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapperTrace.xtend
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapperTrace.xtend
@@ -35,6 +35,7 @@ class Logic2VampireLanguageMapperTrace {
35 public var topLevelType = null 35 public var topLevelType = null
36 36
37 public val Map<Type, VLSFunction> type2Predicate = new HashMap; 37 public val Map<Type, VLSFunction> type2Predicate = new HashMap;
38 public val Map<VLSFunction, Type> predicate2Type = new HashMap;
38 public val Map<DefinedElement, VLSFunction> element2Predicate = new HashMap 39 public val Map<DefinedElement, VLSFunction> element2Predicate = new HashMap
39 public val Map<Type, VLSTerm> type2PossibleNot = new HashMap 40 public val Map<Type, VLSTerm> type2PossibleNot = new HashMap
40 public val Map<Type, VLSTerm> type2And = new HashMap 41 public val Map<Type, VLSTerm> type2And = new HashMap
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 1b30393f..d2a01e0e 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
@@ -42,6 +42,7 @@ class Logic2VampireLanguageMapper_TypeMapper {
42 it.terms += support.duplicate(variable) 42 it.terms += support.duplicate(variable)
43 ] 43 ]
44 trace.type2Predicate.put(type, typePred) 44 trace.type2Predicate.put(type, typePred)
45 trace.predicate2Type.put(typePred, type)
45 } 46 }
46 47
47 // 2. Map each ENUM/InitialModelElement type definition to fof formula 48 // 2. Map each ENUM/InitialModelElement type definition to fof formula
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/VampireModelInterpretation.xtend b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/VampireModelInterpretation.xtend
index c2cffa6b..0c93e3fe 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/VampireModelInterpretation.xtend
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/VampireModelInterpretation.xtend
@@ -1,49 +1,182 @@
1package ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder 1package ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder
2 2
3import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSAnd
4import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSConstant
5import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSEquality
6import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunction
7import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunctionAsTerm
8import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSOr
9import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSTerm
10import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSTffFormula
11import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUniversalQuantifier
3import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireModel 12import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireModel
13import ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSAndImpl
14import ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSOrImpl
15import ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSUnaryNegationImpl
4import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicModelInterpretation 16import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicModelInterpretation
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ConstantDeclaration 17import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ConstantDeclaration
18import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement
6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.FunctionDeclaration 19import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.FunctionDeclaration
7import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguageFactory 20import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguageFactory
8import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDeclaration 21import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDeclaration
9import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type 22import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type
23import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDeclaration
24import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDefinition
25import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.TypeDeclarationImpl
26import java.util.HashMap
27import java.util.List
28import java.util.Map
29
30import static extension hu.bme.mit.inf.dslreasoner.util.CollectionsUtil.*
10 31
11class VampireModelInterpretation implements LogicModelInterpretation { 32class VampireModelInterpretation implements LogicModelInterpretation {
12 protected val extension LogiclanguageFactory factory = LogiclanguageFactory.eINSTANCE 33 protected val extension LogiclanguageFactory factory = LogiclanguageFactory.eINSTANCE
13 34
14 protected val Logic2VampireLanguageMapperTrace forwardTrace; 35 protected val Logic2VampireLanguageMapperTrace forwardTrace;
15 36
16 37 private val Map<String, DefinedElement> name2DefinedElement = new HashMap
38 private val Map<TypeDeclaration, List<DefinedElement>> type2DefinedElement = new HashMap
39
40 var num = -1
41
17 public new(VampireModel model, Logic2VampireLanguageMapperTrace trace) { 42 public new(VampireModel model, Logic2VampireLanguageMapperTrace trace) {
18 this.forwardTrace = trace 43 this.forwardTrace = trace
44
45 // 1. look at "finite_domain" formula (there should only be one)
46 // IN REALITY THE DEFINED ELEMENTS ARE DEFINED AS <nameOfDefinedEement>:$i
47 // SPECIFICALLY, THESE ARE "TYPE" FORMULAS
48 val finDomFormula = model.tfformulas.filter[name == "finite_domain"].get(0) as VLSTffFormula
49 val univQuant = finDomFormula.fofFormula as VLSUniversalQuantifier
50 var orFormulaTerm = univQuant.operand
51
52 var end = false
53 while (!end) {
54 if (orFormulaTerm.class == VLSOrImpl) {
55 val orFormula = orFormulaTerm as VLSOr
56 val orRight = orFormula.right as VLSEquality
57 add2ConstDefMap(orRight)
58 orFormulaTerm = orFormula.left
59 } else {
60 val firstTerm = orFormulaTerm as VLSEquality
61 add2ConstDefMap(firstTerm)
62 end = true
63 }
64
65 }
66
67 // 2. associate each type to defined elements
68// println(trace.type2Predicate.keySet)
69// println(trace.type2Predicate.keySet.length)
70// println(trace.type2Predicate.keySet.filter[class == TypeDeclarationImpl])
71// println(trace.type2Predicate.keySet.filter[class == TypeDeclarationImpl].length)
72// println()
73// println(trace.type2Predicate)
74 // Fill keys of map
75 val allTypeDecls = trace.type2Predicate.keySet.filter[class == TypeDeclarationImpl]
76 val allTypeFunctions = trace.predicate2Type
77
78 for (type : allTypeDecls) {
79 type2DefinedElement.put(type as TypeDeclaration, newArrayList)
80 }
81
82 // USE THE DECLARE_<TYPE_NAME> FORMULAS TO SEE WHAT THE TYPES ARE
83 val typeFormulas = model.tfformulas.filter[name.length > 12 && name.substring(0, 12) == "predicate_t_"]
84 // ^this way, we ignore the "object" type
85 //TODO potentially need to handle the enums in this case as well
86 for (formula : typeFormulas) {
87 // get associated type
88 val associatedTypeName = (formula as VLSTffFormula).name.substring(10)
89 val associatedFunction = allTypeFunctions.keySet.filter[constant == associatedTypeName].
90 get(0) as VLSFunction
91 val associatedTypeAll = associatedFunction.lookup(allTypeFunctions)
92// val associatedTypeDeclFormula = model.tfformulas.filter[name == ("declare_t_" + associatedTypeName)].get(0) as VLSTffFormula
93// val associatedTypeDefn = associatedTypeDeclFormula.fofFormula as VLSOtherDeclaration
94// val associatedTypeFct = associatedTypeDefn.name as VLSConstant
95 if (associatedTypeAll.class == TypeDeclarationImpl) {
96 val associatedType = associatedTypeAll as TypeDeclaration
97
98 // get definedElements
99 var andFormulaTerm = formula.fofFormula
100 end = false
101 val List<DefinedElement> instances = newArrayList
102 while (!end) {
103 if (andFormulaTerm.class == VLSAndImpl) {
104 val andFormula = andFormulaTerm as VLSAnd
105 val andRight = andFormula.right
106 addIfNotNeg(andRight, instances)
107 andFormulaTerm = andFormula.left
108 } else {
109 addIfNotNeg(andFormulaTerm as VLSTerm, instances)
110 end = true
111 }
112
113 }
114 for (elem : instances) {
115 associatedType.lookup(type2DefinedElement).add(elem)
116 }
117 }
118 }
119
120 printMap()
121
19 } 122 }
20 123
21 override getElements(Type type) { 124 def printMap() {
22 throw new UnsupportedOperationException("TODO: auto-generated method stub") 125 for (key : type2DefinedElement.keySet) {
126 println(key.name + "==>")
127 for (elem : key.lookup(type2DefinedElement)) {
128 print(elem.name + ", ")
129 }
130 println()
131
132 }
133 println()
23 } 134 }
24 135
136 def private addIfNotNeg(VLSTerm term, List<DefinedElement> list) {
137 if (term.class != VLSUnaryNegationImpl) {
138 val nodeName = ((term as VLSFunction).terms.get(0) as VLSFunctionAsTerm).functor
139 val defnElem = nodeName.lookup(name2DefinedElement)
140 list.add(defnElem)
141 }
142 }
143
144 def private add2ConstDefMap(VLSEquality eq) {
145 val defElemConst = (eq.right as VLSConstant)
146 val definedElement = createDefinedElement => [name = defElemConst.name]
147 this.name2DefinedElement.put(defElemConst.name, definedElement)
148 }
149
150 override getElements(Type type) { getElementsDispatch(type) }
151
152 def private dispatch getElementsDispatch(TypeDeclaration declaration) {
153 return declaration.lookup(this.type2DefinedElement)
154 }
155
156 def private dispatch getElementsDispatch(TypeDefinition declaration) { return declaration.elements }
157
25 override getInterpretation(FunctionDeclaration function, Object[] parameterSubstitution) { 158 override getInterpretation(FunctionDeclaration function, Object[] parameterSubstitution) {
26 throw new UnsupportedOperationException("TODO: auto-generated method stub") 159 throw new UnsupportedOperationException("TODO: auto-generated method stub")
27 } 160 }
28 161
29 override getInterpretation(RelationDeclaration relation, Object[] parameterSubstitution) { 162 override getInterpretation(RelationDeclaration relation, Object[] parameterSubstitution) {
30 throw new UnsupportedOperationException("TODO: auto-generated method stub") 163 throw new UnsupportedOperationException("TODO: auto-generated method stub")
31 } 164 }
32 165
33 override getInterpretation(ConstantDeclaration constant) { 166 override getInterpretation(ConstantDeclaration constant) {
34 throw new UnsupportedOperationException("TODO: auto-generated method stub") 167 throw new UnsupportedOperationException("TODO: auto-generated method stub")
35 } 168 }
36 169
37 override getAllIntegersInStructure() { 170 override getAllIntegersInStructure() {
38 throw new UnsupportedOperationException("TODO: auto-generated method stub") 171 return null
39 } 172 }
40 173
41 override getAllRealsInStructure() { 174 override getAllRealsInStructure() {
42 throw new UnsupportedOperationException("TODO: auto-generated method stub") 175 return null
43 } 176 }
44 177
45 override getAllStringsInStructure() { 178 override getAllStringsInStructure() {
46 throw new UnsupportedOperationException("TODO: auto-generated method stub") 179 return null
47 } 180 }
48 181
49} \ No newline at end of file 182}
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 298a6c08..0fafa9e9 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/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 863b572e..7174bfba 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 410f2550..af66dabc 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 b1b39a4f..b9301875 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 3710e753..88c3e932 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 9dc7abaf..e3437e53 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 7029d196..1a884261 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 03aead59..7e2aba1c 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 62960704..187a0447 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/.Vampire2LogicMapper.xtendbin b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Vampire2LogicMapper.xtendbin
index 56a10b3c..ee115b16 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/Logic2VampireLanguageMapperTrace.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapperTrace.java
index c2ae099e..4537240e 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapperTrace.java
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapperTrace.java
@@ -37,6 +37,8 @@ public class Logic2VampireLanguageMapperTrace {
37 37
38 public final Map<Type, VLSFunction> type2Predicate = new HashMap<Type, VLSFunction>(); 38 public final Map<Type, VLSFunction> type2Predicate = new HashMap<Type, VLSFunction>();
39 39
40 public final Map<VLSFunction, Type> predicate2Type = new HashMap<VLSFunction, Type>();
41
40 public final Map<DefinedElement, VLSFunction> element2Predicate = new HashMap<DefinedElement, VLSFunction>(); 42 public final Map<DefinedElement, VLSFunction> element2Predicate = new HashMap<DefinedElement, VLSFunction>();
41 43
42 public final Map<Type, VLSTerm> type2PossibleNot = new HashMap<Type, VLSTerm>(); 44 public final Map<Type, VLSTerm> type2PossibleNot = new HashMap<Type, VLSTerm>();
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 7daf1b2f..2100b92f 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
@@ -12,10 +12,10 @@ import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFofFormula;
12import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunction; 12import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunction;
13import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSImplies; 13import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSImplies;
14import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSTerm; 14import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSTerm;
15import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSTffTerm;
15import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUnaryNegation; 16import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUnaryNegation;
16import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUniversalQuantifier; 17import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUniversalQuantifier;
17import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSVariable; 18import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSVariable;
18import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSVariableDeclaration;
19import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguageFactory; 19import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguageFactory;
20import com.google.common.base.Objects; 20import com.google.common.base.Objects;
21import com.google.common.collect.Iterables; 21import com.google.common.collect.Iterables;
@@ -123,7 +123,7 @@ public class Logic2VampireLanguageMapper_ContainmentMapper {
123 it.setFofRole("axiom"); 123 it.setFofRole("axiom");
124 VLSUniversalQuantifier _createVLSUniversalQuantifier = this.factory.createVLSUniversalQuantifier(); 124 VLSUniversalQuantifier _createVLSUniversalQuantifier = this.factory.createVLSUniversalQuantifier();
125 final Procedure1<VLSUniversalQuantifier> _function_1 = (VLSUniversalQuantifier it_1) -> { 125 final Procedure1<VLSUniversalQuantifier> _function_1 = (VLSUniversalQuantifier it_1) -> {
126 EList<VLSVariableDeclaration> _variables = it_1.getVariables(); 126 EList<VLSTffTerm> _variables = it_1.getVariables();
127 VLSVariable _duplicate = this.support.duplicate(this.variable); 127 VLSVariable _duplicate = this.support.duplicate(this.variable);
128 _variables.add(_duplicate); 128 _variables.add(_duplicate);
129 VLSEquivalent _createVLSEquivalent = this.factory.createVLSEquivalent(); 129 VLSEquivalent _createVLSEquivalent = this.factory.createVLSEquivalent();
@@ -193,10 +193,10 @@ public class Logic2VampireLanguageMapper_ContainmentMapper {
193 it.setFofRole("axiom"); 193 it.setFofRole("axiom");
194 VLSExistentialQuantifier _createVLSExistentialQuantifier = this.factory.createVLSExistentialQuantifier(); 194 VLSExistentialQuantifier _createVLSExistentialQuantifier = this.factory.createVLSExistentialQuantifier();
195 final Procedure1<VLSExistentialQuantifier> _function_5 = (VLSExistentialQuantifier it_1) -> { 195 final Procedure1<VLSExistentialQuantifier> _function_5 = (VLSExistentialQuantifier it_1) -> {
196 EList<VLSVariableDeclaration> _variables = it_1.getVariables(); 196 EList<VLSTffTerm> _variables = it_1.getVariables();
197 VLSVariable _duplicate = this.support.duplicate(varA); 197 VLSVariable _duplicate = this.support.duplicate(varA);
198 _variables.add(_duplicate); 198 _variables.add(_duplicate);
199 EList<VLSVariableDeclaration> _variables_1 = it_1.getVariables(); 199 EList<VLSTffTerm> _variables_1 = it_1.getVariables();
200 VLSVariable _duplicate_1 = this.support.duplicate(varB); 200 VLSVariable _duplicate_1 = this.support.duplicate(varB);
201 _variables_1.add(_duplicate_1); 201 _variables_1.add(_duplicate_1);
202 VLSImplies _createVLSImplies = this.factory.createVLSImplies(); 202 VLSImplies _createVLSImplies = this.factory.createVLSImplies();
@@ -206,10 +206,10 @@ public class Logic2VampireLanguageMapper_ContainmentMapper {
206 final Procedure1<VLSUnaryNegation> _function_7 = (VLSUnaryNegation it_3) -> { 206 final Procedure1<VLSUnaryNegation> _function_7 = (VLSUnaryNegation it_3) -> {
207 VLSExistentialQuantifier _createVLSExistentialQuantifier_1 = this.factory.createVLSExistentialQuantifier(); 207 VLSExistentialQuantifier _createVLSExistentialQuantifier_1 = this.factory.createVLSExistentialQuantifier();
208 final Procedure1<VLSExistentialQuantifier> _function_8 = (VLSExistentialQuantifier it_4) -> { 208 final Procedure1<VLSExistentialQuantifier> _function_8 = (VLSExistentialQuantifier it_4) -> {
209 EList<VLSVariableDeclaration> _variables_2 = it_4.getVariables(); 209 EList<VLSTffTerm> _variables_2 = it_4.getVariables();
210 VLSVariable _duplicate_2 = this.support.duplicate(varC); 210 VLSVariable _duplicate_2 = this.support.duplicate(varC);
211 _variables_2.add(_duplicate_2); 211 _variables_2.add(_duplicate_2);
212 EList<VLSVariableDeclaration> _variables_3 = it_4.getVariables(); 212 EList<VLSTffTerm> _variables_3 = it_4.getVariables();
213 VLSVariable _duplicate_3 = this.support.duplicate(varB); 213 VLSVariable _duplicate_3 = this.support.duplicate(varB);
214 _variables_3.add(_duplicate_3); 214 _variables_3.add(_duplicate_3);
215 it_4.setOperand(this.support.duplicate(rel, CollectionLiterals.<VLSVariable>newArrayList(varC, varB))); 215 it_4.setOperand(this.support.duplicate(rel, CollectionLiterals.<VLSVariable>newArrayList(varC, varB)));
@@ -240,7 +240,7 @@ public class Logic2VampireLanguageMapper_ContainmentMapper {
240 it.setFofRole("axiom"); 240 it.setFofRole("axiom");
241 VLSUniversalQuantifier _createVLSUniversalQuantifier = this.factory.createVLSUniversalQuantifier(); 241 VLSUniversalQuantifier _createVLSUniversalQuantifier = this.factory.createVLSUniversalQuantifier();
242 final Procedure1<VLSUniversalQuantifier> _function_5 = (VLSUniversalQuantifier it_1) -> { 242 final Procedure1<VLSUniversalQuantifier> _function_5 = (VLSUniversalQuantifier it_1) -> {
243 EList<VLSVariableDeclaration> _variables = it_1.getVariables(); 243 EList<VLSTffTerm> _variables = it_1.getVariables();
244 VLSVariable _duplicate = this.support.duplicate(varA); 244 VLSVariable _duplicate = this.support.duplicate(varA);
245 _variables.add(_duplicate); 245 _variables.add(_duplicate);
246 VLSImplies _createVLSImplies = this.factory.createVLSImplies(); 246 VLSImplies _createVLSImplies = this.factory.createVLSImplies();
@@ -248,7 +248,7 @@ public class Logic2VampireLanguageMapper_ContainmentMapper {
248 it_2.setLeft(this.support.duplicate(e.getKey(), varA)); 248 it_2.setLeft(this.support.duplicate(e.getKey(), varA));
249 VLSExistentialQuantifier _createVLSExistentialQuantifier = this.factory.createVLSExistentialQuantifier(); 249 VLSExistentialQuantifier _createVLSExistentialQuantifier = this.factory.createVLSExistentialQuantifier();
250 final Procedure1<VLSExistentialQuantifier> _function_7 = (VLSExistentialQuantifier it_3) -> { 250 final Procedure1<VLSExistentialQuantifier> _function_7 = (VLSExistentialQuantifier it_3) -> {
251 EList<VLSVariableDeclaration> _variables_1 = it_3.getVariables(); 251 EList<VLSTffTerm> _variables_1 = it_3.getVariables();
252 VLSVariable _duplicate_1 = this.support.duplicate(varB); 252 VLSVariable _duplicate_1 = this.support.duplicate(varB);
253 _variables_1.add(_duplicate_1); 253 _variables_1.add(_duplicate_1);
254 int _length_1 = ((Object[])Conversions.unwrapArray(e.getValue(), Object.class)).length; 254 int _length_1 = ((Object[])Conversions.unwrapArray(e.getValue(), Object.class)).length;
@@ -308,9 +308,9 @@ public class Logic2VampireLanguageMapper_ContainmentMapper {
308 final Procedure1<VLSUnaryNegation> _function_6 = (VLSUnaryNegation it_1) -> { 308 final Procedure1<VLSUnaryNegation> _function_6 = (VLSUnaryNegation it_1) -> {
309 VLSExistentialQuantifier _createVLSExistentialQuantifier = this.factory.createVLSExistentialQuantifier(); 309 VLSExistentialQuantifier _createVLSExistentialQuantifier = this.factory.createVLSExistentialQuantifier();
310 final Procedure1<VLSExistentialQuantifier> _function_7 = (VLSExistentialQuantifier it_2) -> { 310 final Procedure1<VLSExistentialQuantifier> _function_7 = (VLSExistentialQuantifier it_2) -> {
311 EList<VLSVariableDeclaration> _variables = it_2.getVariables(); 311 EList<VLSTffTerm> _variables = it_2.getVariables();
312 List<VLSVariable> _duplicate = this.support.duplicate(variables); 312 List<VLSVariable> _duplicate = this.support.duplicate(variables);
313 Iterables.<VLSVariableDeclaration>addAll(_variables, _duplicate); 313 Iterables.<VLSTffTerm>addAll(_variables, _duplicate);
314 it_2.setOperand(this.support.unfoldAnd(conjunctionList)); 314 it_2.setOperand(this.support.unfoldAnd(conjunctionList));
315 }; 315 };
316 VLSExistentialQuantifier _doubleArrow_1 = ObjectExtensions.<VLSExistentialQuantifier>operator_doubleArrow(_createVLSExistentialQuantifier, _function_7); 316 VLSExistentialQuantifier _doubleArrow_1 = ObjectExtensions.<VLSExistentialQuantifier>operator_doubleArrow(_createVLSExistentialQuantifier, _function_7);
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_RelationMapper.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_RelationMapper.java
index 657c3292..8d36952b 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_RelationMapper.java
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_RelationMapper.java
@@ -7,9 +7,9 @@ import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFofFormula;
7import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunction; 7import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunction;
8import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSImplies; 8import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSImplies;
9import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSTerm; 9import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSTerm;
10import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSTffTerm;
10import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUniversalQuantifier; 11import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUniversalQuantifier;
11import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSVariable; 12import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSVariable;
12import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSVariableDeclaration;
13import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguageFactory; 13import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguageFactory;
14import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ComplexTypeReference; 14import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ComplexTypeReference;
15import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Relation; 15import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Relation;
@@ -77,7 +77,7 @@ public class Logic2VampireLanguageMapper_RelationMapper {
77 VLSUniversalQuantifier _createVLSUniversalQuantifier = this.factory.createVLSUniversalQuantifier(); 77 VLSUniversalQuantifier _createVLSUniversalQuantifier = this.factory.createVLSUniversalQuantifier();
78 final Procedure1<VLSUniversalQuantifier> _function_1 = (VLSUniversalQuantifier it_1) -> { 78 final Procedure1<VLSUniversalQuantifier> _function_1 = (VLSUniversalQuantifier it_1) -> {
79 for (final VLSVariable v : relVar2VLS) { 79 for (final VLSVariable v : relVar2VLS) {
80 EList<VLSVariableDeclaration> _variables = it_1.getVariables(); 80 EList<VLSTffTerm> _variables = it_1.getVariables();
81 VLSVariable _duplicate = this.support.duplicate(v); 81 VLSVariable _duplicate = this.support.duplicate(v);
82 _variables.add(_duplicate); 82 _variables.add(_duplicate);
83 } 83 }
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 6d4767a7..6da75271 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
@@ -11,9 +11,9 @@ import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFofFormula;
11import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunction; 11import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunction;
12import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSImplies; 12import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSImplies;
13import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSTerm; 13import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSTerm;
14import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSTffTerm;
14import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUniversalQuantifier; 15import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUniversalQuantifier;
15import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSVariable; 16import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSVariable;
16import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSVariableDeclaration;
17import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguageFactory; 17import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguageFactory;
18import com.google.common.base.Objects; 18import com.google.common.base.Objects;
19import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement; 19import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement;
@@ -245,7 +245,7 @@ public class Logic2VampireLanguageMapper_ScopeMapper {
245 it.setFofRole("axiom"); 245 it.setFofRole("axiom");
246 VLSUniversalQuantifier _createVLSUniversalQuantifier = this.factory.createVLSUniversalQuantifier(); 246 VLSUniversalQuantifier _createVLSUniversalQuantifier = this.factory.createVLSUniversalQuantifier();
247 final Procedure1<VLSUniversalQuantifier> _function_2 = (VLSUniversalQuantifier it_1) -> { 247 final Procedure1<VLSUniversalQuantifier> _function_2 = (VLSUniversalQuantifier it_1) -> {
248 EList<VLSVariableDeclaration> _variables = it_1.getVariables(); 248 EList<VLSTffTerm> _variables = it_1.getVariables();
249 VLSVariable _duplicate = this.support.duplicate(this.variable); 249 VLSVariable _duplicate = this.support.duplicate(this.variable);
250 _variables.add(_duplicate); 250 _variables.add(_duplicate);
251 VLSImplies _createVLSImplies = this.factory.createVLSImplies(); 251 VLSImplies _createVLSImplies = this.factory.createVLSImplies();
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 6cd53fae..dae0df6e 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
@@ -11,9 +11,9 @@ import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSImplies;
11import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSInequality; 11import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSInequality;
12import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSOr; 12import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSOr;
13import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSTerm; 13import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSTerm;
14import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSTffTerm;
14import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUniversalQuantifier; 15import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUniversalQuantifier;
15import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSVariable; 16import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSVariable;
16import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSVariableDeclaration;
17import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguageFactory; 17import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguageFactory;
18import com.google.common.base.Objects; 18import com.google.common.base.Objects;
19import com.google.common.collect.Iterables; 19import com.google.common.collect.Iterables;
@@ -324,9 +324,9 @@ public class Logic2VampireLanguageMapper_Support {
324 if (isUniversal) { 324 if (isUniversal) {
325 VLSUniversalQuantifier _createVLSUniversalQuantifier = this.factory.createVLSUniversalQuantifier(); 325 VLSUniversalQuantifier _createVLSUniversalQuantifier = this.factory.createVLSUniversalQuantifier();
326 final Procedure1<VLSUniversalQuantifier> _function_1 = (VLSUniversalQuantifier it) -> { 326 final Procedure1<VLSUniversalQuantifier> _function_1 = (VLSUniversalQuantifier it) -> {
327 EList<VLSVariableDeclaration> _variables = it.getVariables(); 327 EList<VLSTffTerm> _variables = it.getVariables();
328 Collection<VLSVariable> _values = variableMap.values(); 328 Collection<VLSVariable> _values = variableMap.values();
329 Iterables.<VLSVariableDeclaration>addAll(_variables, _values); 329 Iterables.<VLSTffTerm>addAll(_variables, _values);
330 VLSImplies _createVLSImplies = this.factory.createVLSImplies(); 330 VLSImplies _createVLSImplies = this.factory.createVLSImplies();
331 final Procedure1<VLSImplies> _function_2 = (VLSImplies it_1) -> { 331 final Procedure1<VLSImplies> _function_2 = (VLSImplies it_1) -> {
332 it_1.setLeft(this.unfoldAnd(typedefs)); 332 it_1.setLeft(this.unfoldAnd(typedefs));
@@ -342,9 +342,9 @@ public class Logic2VampireLanguageMapper_Support {
342 typedefs.add(mapper.transformTerm(expression.getExpression(), trace, this.withAddition(variables, variableMap))); 342 typedefs.add(mapper.transformTerm(expression.getExpression(), trace, this.withAddition(variables, variableMap)));
343 VLSExistentialQuantifier _createVLSExistentialQuantifier = this.factory.createVLSExistentialQuantifier(); 343 VLSExistentialQuantifier _createVLSExistentialQuantifier = this.factory.createVLSExistentialQuantifier();
344 final Procedure1<VLSExistentialQuantifier> _function_2 = (VLSExistentialQuantifier it) -> { 344 final Procedure1<VLSExistentialQuantifier> _function_2 = (VLSExistentialQuantifier it) -> {
345 EList<VLSVariableDeclaration> _variables = it.getVariables(); 345 EList<VLSTffTerm> _variables = it.getVariables();
346 Collection<VLSVariable> _values = variableMap.values(); 346 Collection<VLSVariable> _values = variableMap.values();
347 Iterables.<VLSVariableDeclaration>addAll(_variables, _values); 347 Iterables.<VLSTffTerm>addAll(_variables, _values);
348 it.setOperand(this.unfoldAnd(typedefs)); 348 it.setOperand(this.unfoldAnd(typedefs));
349 }; 349 };
350 _xblockexpression_1 = ObjectExtensions.<VLSExistentialQuantifier>operator_doubleArrow(_createVLSExistentialQuantifier, _function_2); 350 _xblockexpression_1 = ObjectExtensions.<VLSExistentialQuantifier>operator_doubleArrow(_createVLSExistentialQuantifier, _function_2);
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_TypeMapper.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_TypeMapper.java
index 7921f204..c8888eb0 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_TypeMapper.java
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_TypeMapper.java
@@ -12,10 +12,10 @@ import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFofFormula;
12import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunction; 12import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunction;
13import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunctionAsTerm; 13import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunctionAsTerm;
14import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSTerm; 14import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSTerm;
15import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSTffTerm;
15import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUnaryNegation; 16import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUnaryNegation;
16import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUniversalQuantifier; 17import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUniversalQuantifier;
17import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSVariable; 18import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSVariable;
18import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSVariableDeclaration;
19import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguageFactory; 19import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguageFactory;
20import com.google.common.base.Objects; 20import com.google.common.base.Objects;
21import com.google.common.collect.Iterables; 21import com.google.common.collect.Iterables;
@@ -76,6 +76,7 @@ public class Logic2VampireLanguageMapper_TypeMapper {
76 }; 76 };
77 final VLSFunction typePred = ObjectExtensions.<VLSFunction>operator_doubleArrow(_createVLSFunction, _function_1); 77 final VLSFunction typePred = ObjectExtensions.<VLSFunction>operator_doubleArrow(_createVLSFunction, _function_1);
78 trace.type2Predicate.put(type, typePred); 78 trace.type2Predicate.put(type, typePred);
79 trace.predicate2Type.put(typePred, type);
79 } 80 }
80 } 81 }
81 final Function1<TypeDefinition, Boolean> _function_1 = (TypeDefinition it) -> { 82 final Function1<TypeDefinition, Boolean> _function_1 = (TypeDefinition it) -> {
@@ -144,7 +145,7 @@ public class Logic2VampireLanguageMapper_TypeMapper {
144 it.setFofRole("axiom"); 145 it.setFofRole("axiom");
145 VLSUniversalQuantifier _createVLSUniversalQuantifier = this.factory.createVLSUniversalQuantifier(); 146 VLSUniversalQuantifier _createVLSUniversalQuantifier = this.factory.createVLSUniversalQuantifier();
146 final Procedure1<VLSUniversalQuantifier> _function_3 = (VLSUniversalQuantifier it_1) -> { 147 final Procedure1<VLSUniversalQuantifier> _function_3 = (VLSUniversalQuantifier it_1) -> {
147 EList<VLSVariableDeclaration> _variables = it_1.getVariables(); 148 EList<VLSTffTerm> _variables = it_1.getVariables();
148 VLSVariable _duplicate = this.support.duplicate(variable); 149 VLSVariable _duplicate = this.support.duplicate(variable);
149 _variables.add(_duplicate); 150 _variables.add(_duplicate);
150 VLSEquivalent _createVLSEquivalent = this.factory.createVLSEquivalent(); 151 VLSEquivalent _createVLSEquivalent = this.factory.createVLSEquivalent();
@@ -194,7 +195,7 @@ public class Logic2VampireLanguageMapper_TypeMapper {
194 it.setFofRole("axiom"); 195 it.setFofRole("axiom");
195 VLSUniversalQuantifier _createVLSUniversalQuantifier = this.factory.createVLSUniversalQuantifier(); 196 VLSUniversalQuantifier _createVLSUniversalQuantifier = this.factory.createVLSUniversalQuantifier();
196 final Procedure1<VLSUniversalQuantifier> _function_5 = (VLSUniversalQuantifier it_1) -> { 197 final Procedure1<VLSUniversalQuantifier> _function_5 = (VLSUniversalQuantifier it_1) -> {
197 EList<VLSVariableDeclaration> _variables = it_1.getVariables(); 198 EList<VLSTffTerm> _variables = it_1.getVariables();
198 VLSVariable _duplicate = this.support.duplicate(variable); 199 VLSVariable _duplicate = this.support.duplicate(variable);
199 _variables.add(_duplicate); 200 _variables.add(_duplicate);
200 VLSEquivalent _createVLSEquivalent = this.factory.createVLSEquivalent(); 201 VLSEquivalent _createVLSEquivalent = this.factory.createVLSEquivalent();
@@ -264,7 +265,7 @@ public class Logic2VampireLanguageMapper_TypeMapper {
264 it.setFofRole("axiom"); 265 it.setFofRole("axiom");
265 VLSUniversalQuantifier _createVLSUniversalQuantifier = this.factory.createVLSUniversalQuantifier(); 266 VLSUniversalQuantifier _createVLSUniversalQuantifier = this.factory.createVLSUniversalQuantifier();
266 final Procedure1<VLSUniversalQuantifier> _function_5 = (VLSUniversalQuantifier it_1) -> { 267 final Procedure1<VLSUniversalQuantifier> _function_5 = (VLSUniversalQuantifier it_1) -> {
267 EList<VLSVariableDeclaration> _variables = it_1.getVariables(); 268 EList<VLSTffTerm> _variables = it_1.getVariables();
268 VLSVariable _duplicate = this.support.duplicate(variable); 269 VLSVariable _duplicate = this.support.duplicate(variable);
269 _variables.add(_duplicate); 270 _variables.add(_duplicate);
270 VLSEquivalent _createVLSEquivalent = this.factory.createVLSEquivalent(); 271 VLSEquivalent _createVLSEquivalent = this.factory.createVLSEquivalent();
@@ -292,7 +293,7 @@ public class Logic2VampireLanguageMapper_TypeMapper {
292 it.setFofRole("axiom"); 293 it.setFofRole("axiom");
293 VLSUniversalQuantifier _createVLSUniversalQuantifier = this.factory.createVLSUniversalQuantifier(); 294 VLSUniversalQuantifier _createVLSUniversalQuantifier = this.factory.createVLSUniversalQuantifier();
294 final Procedure1<VLSUniversalQuantifier> _function_6 = (VLSUniversalQuantifier it_1) -> { 295 final Procedure1<VLSUniversalQuantifier> _function_6 = (VLSUniversalQuantifier it_1) -> {
295 EList<VLSVariableDeclaration> _variables = it_1.getVariables(); 296 EList<VLSTffTerm> _variables = it_1.getVariables();
296 VLSVariable _duplicate = this.support.duplicate(variable); 297 VLSVariable _duplicate = this.support.duplicate(variable);
297 _variables.add(_duplicate); 298 _variables.add(_duplicate);
298 VLSEquivalent _createVLSEquivalent = this.factory.createVLSEquivalent(); 299 VLSEquivalent _createVLSEquivalent = this.factory.createVLSEquivalent();