diff options
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.xtend | 23 |
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 | } |