diff options
author | ArenBabikian <aren.babikian@mail.mcgill.ca> | 2019-09-02 03:47:21 -0400 |
---|---|---|
committer | ArenBabikian <aren.babikian@mail.mcgill.ca> | 2020-06-07 19:41:44 -0400 |
commit | 35ac37963fc3e3f3fb142aaf1fdffd26e05e473a (patch) | |
tree | 5e2449306e2fd7169b05ac72fe78e167934d7f8c /Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner | |
parent | VAMPIRE: setup structure of model interpretation (diff) | |
download | VIATRA-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')
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 @@ | |||
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.vampireLanguage.VLSAnd | ||
4 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSConstant | ||
5 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSEquality | ||
6 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunction | ||
7 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunctionAsTerm | ||
8 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSOr | ||
9 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSTerm | ||
10 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSTffFormula | ||
11 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUniversalQuantifier | ||
3 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireModel | 12 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireModel |
13 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSAndImpl | ||
14 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSOrImpl | ||
15 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VLSUnaryNegationImpl | ||
4 | import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicModelInterpretation | 16 | import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicModelInterpretation |
5 | import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ConstantDeclaration | 17 | import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ConstantDeclaration |
18 | import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement | ||
6 | import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.FunctionDeclaration | 19 | import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.FunctionDeclaration |
7 | import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguageFactory | 20 | import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguageFactory |
8 | import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDeclaration | 21 | import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDeclaration |
9 | import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type | 22 | import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type |
23 | import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDeclaration | ||
24 | import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDefinition | ||
25 | import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.TypeDeclarationImpl | ||
26 | import java.util.HashMap | ||
27 | import java.util.List | ||
28 | import java.util.Map | ||
29 | |||
30 | import static extension hu.bme.mit.inf.dslreasoner.util.CollectionsUtil.* | ||
10 | 31 | ||
11 | class VampireModelInterpretation implements LogicModelInterpretation { | 32 | class 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; | |||
12 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunction; | 12 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunction; |
13 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSImplies; | 13 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSImplies; |
14 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSTerm; | 14 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSTerm; |
15 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSTffTerm; | ||
15 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUnaryNegation; | 16 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUnaryNegation; |
16 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUniversalQuantifier; | 17 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUniversalQuantifier; |
17 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSVariable; | 18 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSVariable; |
18 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSVariableDeclaration; | ||
19 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguageFactory; | 19 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguageFactory; |
20 | import com.google.common.base.Objects; | 20 | import com.google.common.base.Objects; |
21 | import com.google.common.collect.Iterables; | 21 | import 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; | |||
7 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunction; | 7 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunction; |
8 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSImplies; | 8 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSImplies; |
9 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSTerm; | 9 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSTerm; |
10 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSTffTerm; | ||
10 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUniversalQuantifier; | 11 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUniversalQuantifier; |
11 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSVariable; | 12 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSVariable; |
12 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSVariableDeclaration; | ||
13 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguageFactory; | 13 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguageFactory; |
14 | import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ComplexTypeReference; | 14 | import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ComplexTypeReference; |
15 | import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Relation; | 15 | import 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; | |||
11 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunction; | 11 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunction; |
12 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSImplies; | 12 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSImplies; |
13 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSTerm; | 13 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSTerm; |
14 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSTffTerm; | ||
14 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUniversalQuantifier; | 15 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUniversalQuantifier; |
15 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSVariable; | 16 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSVariable; |
16 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSVariableDeclaration; | ||
17 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguageFactory; | 17 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguageFactory; |
18 | import com.google.common.base.Objects; | 18 | import com.google.common.base.Objects; |
19 | import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement; | 19 | import 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; | |||
11 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSInequality; | 11 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSInequality; |
12 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSOr; | 12 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSOr; |
13 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSTerm; | 13 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSTerm; |
14 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSTffTerm; | ||
14 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUniversalQuantifier; | 15 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUniversalQuantifier; |
15 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSVariable; | 16 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSVariable; |
16 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSVariableDeclaration; | ||
17 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguageFactory; | 17 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguageFactory; |
18 | import com.google.common.base.Objects; | 18 | import com.google.common.base.Objects; |
19 | import com.google.common.collect.Iterables; | 19 | import 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; | |||
12 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunction; | 12 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunction; |
13 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunctionAsTerm; | 13 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunctionAsTerm; |
14 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSTerm; | 14 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSTerm; |
15 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSTffTerm; | ||
15 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUnaryNegation; | 16 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUnaryNegation; |
16 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUniversalQuantifier; | 17 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSUniversalQuantifier; |
17 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSVariable; | 18 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSVariable; |
18 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSVariableDeclaration; | ||
19 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguageFactory; | 19 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguageFactory; |
20 | import com.google.common.base.Objects; | 20 | import com.google.common.base.Objects; |
21 | import com.google.common.collect.Iterables; | 21 | import 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(); |