Closed chaudhuri closed 10 years ago
This now works:
Theorem works_again : forall F, p F -> p F.
intros. case H1. unfold (all). right.
intros. search.
This behavior happens with the following (slightly) simpler theorems.
Theorem success : nabla x, p (f x). search.
Theorem failure: nabla x, p (f x). intros. unfold. abort.
Right, but using unfold (all) with the current master branch should work. Is this not the case for you?
Consider the following:
The second case leads to the unprovable goal
Currently, even with clause selectors, there is no way to get access to the second conflict-free solution that
Tactics.unfold_defs
actually finds, which would be:Proposal: add a
(all)
cookie tounfold
, similar to the(keep)
cookie oncase
, that produces a disjunct of all the conflict-free solutions instead of arbitrarily picking the first.This issue was brought to my notice by Claudio Sacerdoti Coen.