aboutsummaryrefslogtreecommitdiffstats
path: root/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_Support.xtend
diff options
context:
space:
mode:
Diffstat (limited to 'Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_Support.xtend')
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_Support.xtend23
1 files changed, 17 insertions, 6 deletions
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_Support.xtend b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_Support.xtend
index 8d00d3e7..d1ea2a15 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_Support.xtend
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_Support.xtend
@@ -92,7 +92,7 @@ class Logic2VampireLanguageMapper_Support {
92 ] 92 ]
93 ] 93 ]
94 } 94 }
95 95
96 def protected VLSFunction topLevelTypeFunc(VLSVariable v) { 96 def protected VLSFunction topLevelTypeFunc(VLSVariable v) {
97 return createVLSFunction => [ 97 return createVLSFunction => [
98 it.constant = "object" 98 it.constant = "object"
@@ -108,15 +108,26 @@ class Logic2VampireLanguageMapper_Support {
108 } 108 }
109 109
110 // TODO Make more general 110 // TODO Make more general
111 def establishUniqueness(List<VLSConstant> terms) { 111 def establishUniqueness(List<VLSConstant> terms, VLSConstant t2) {
112// val List<VLSInequality> eqs = newArrayList
113// for (t1 : terms.subList(1, terms.length)) {
114// for (t2 : terms.subList(0, terms.indexOf(t1))) {
115// val eq = createVLSInequality => [
116// // TEMP
117// it.left = createVLSConstant => [it.name = t2.name]
118// it.right = createVLSConstant => [it.name = t1.name]
119// // TEMP
120// ]
121// eqs.add(eq)
122// }
123// }
124// return unfoldAnd(eqs)
112 val List<VLSInequality> eqs = newArrayList 125 val List<VLSInequality> eqs = newArrayList
113 for (t1 : terms.subList(1, terms.length)) { 126 for (t1 : terms) {
114 for (t2 : terms.subList(0, terms.indexOf(t1))) { 127 if (t1 != t2) {
115 val eq = createVLSInequality => [ 128 val eq = createVLSInequality => [
116 // TEMP
117 it.left = createVLSConstant => [it.name = t2.name] 129 it.left = createVLSConstant => [it.name = t2.name]
118 it.right = createVLSConstant => [it.name = t1.name] 130 it.right = createVLSConstant => [it.name = t1.name]
119 // TEMP
120 ] 131 ]
121 eqs.add(eq) 132 eqs.add(eq)
122 } 133 }