sneeuwballen/zipperposition

Higher-order reasoning is incomplete

Opened this issue · 6 comments

rafoo commented

In the attach problem, the lemma "f = g" is required to prove the goal hence showing that Zipperposition is incomplete on higher-order problems.

zf_bug.zf.txt

Not sure if @benti can cook us a version of Zipperposition that is complete on this fragment :-)

So the problem seems to be the completion of positive equalities. From f = g the prover deduces f x = g x… and throws it away immediately after demodulating it to g x = g x!

My stuff doesn't work with lambdas, but if you replace

def f : a -> a := fun x. x.
def g : a -> a := fun x. x.

by

lemma (forall X. f X = X).
lemma (forall X. g X = X).

(i.e. perform lambda-lifting), then I'm pretty sure that the extensional caluli I have would be able to solve it.

Yeah, I'm working on it, never mind :)

should be fixed in 1.6 by @benti and @petarvukmirovic and @gh-salt 's work.