The unifier used to implement the `cases` tactic should not discard equations of the form `x = t` and `t = x` using proof irrelanvance. The new test demonstrates the issue. The unifier was reaching the state ``` x : Conw Con.nil |- x = Conw.nilw -> x = Conw.nilw ``` and discarding the equality instead of substituting `x` because `x` and `Conw.nilw` are definionally equal due to proof irrelevance. @javra Do you have more complicated examples that were being affected by this issue?
2 lines
36 B
Text
2 lines
36 B
Text
case nilw
|
|
⊢ Conw.nilw = Conw.nilw
|