Commit 12175b8
Georgy/fix rule unification (#408)
Closes #406
* Make result indeterminate when trying to bind an already bound
variable with a different expression. This was returning a failing
result before, causing a soundness bug, because in some cases rules with
duplicate variables in LHS would not be applied.
* Make result indeterminate when unifying an injection with a variable.
This allows us to get a clear remainder instead of a weird swapped
substitution item
* Only report violating substitution items1 parent 92f59cf commit 12175b8
File tree
4 files changed
+11
-8
lines changed- booster
- library/Booster/Pattern
- unit-tests/Test/Booster/Pattern
4 files changed
+11
-8
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
257 | 257 | | |
258 | 258 | | |
259 | 259 | | |
260 | | - | |
| 260 | + | |
| 261 | + | |
261 | 262 | | |
262 | | - | |
| 263 | + | |
263 | 264 | | |
264 | 265 | | |
265 | 266 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
261 | 261 | | |
262 | 262 | | |
263 | 263 | | |
| 264 | + | |
| 265 | + | |
| 266 | + | |
| 267 | + | |
| 268 | + | |
264 | 269 | | |
265 | 270 | | |
266 | 271 | | |
| |||
575 | 580 | | |
576 | 581 | | |
577 | 582 | | |
578 | | - | |
| 583 | + | |
579 | 584 | | |
580 | 585 | | |
581 | 586 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
215 | 215 | | |
216 | 216 | | |
217 | 217 | | |
218 | | - | |
219 | | - | |
220 | 218 | | |
221 | 219 | | |
222 | 220 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
125 | 125 | | |
126 | 126 | | |
127 | 127 | | |
128 | | - | |
129 | | - | |
130 | | - | |
| 128 | + | |
| 129 | + | |
131 | 130 | | |
132 | 131 | | |
133 | 132 | | |
| |||
0 commit comments