Closed NotBad4U closed 1 year ago
As you can see from the first goal, which is a unification goal, the system doesn't know how to solve x ∨ y ≡ ?611.[x;y;hxy] ∨ ?612.[x;y;hxy]
. Indeed, since ∨is a defined symbol now, there may be several solutions to this unification problem. One solution is to declare ∨as injective. Note that the system does not check that injectivity actually holds: users have to check it by themselves.
Hi!
I am working with the definitions in Prop.lp of Lambdapi-stdlib. I wanted to implement rewrite rules for the disjunction, so I removed the
constant
modifier on theconstant symbol ∨ : Prop → Prop → Prop; notation ∨ infix left 6;
. But then I got a lot of unification errors, like this one on a lemma that I added:(This is a snippet that isolate the problem)
I got the unification error:
With the modifier `constant, everything works well. Some lemma in Nat.lp and Pos.lp also break. Is this the expected behaviour or a bug?