[Matita] Hints and KAM
Andrea Asperti
asperti at cs.unibo.it
Fri Sep 24 08:14:00 CEST 2010
Enrico, sembra che tu stia dialogando con qualcuno, ma io ricevo solo le
tue di email.
-- Grazie.
Enrico Tassi wrote:
> It is an old and know issue. The check_stack calls fo_unif_w_hints only
> on a prefix of applications, leaving some arguments on the stack. This
> prevents hints to be found. Example
>
> Hint: And A B === fun_of_morph And_morphism A B
>
> If the problem
>
> And A B =?= fun_of_morph ? A B
>
> is found immediately (before entering the KAM) the it is solved, but if
> it shows up inside the KAM, A and B are left on the stack and a
> fo_unif_w_hints has to solve
>
> And =?= fun_of_morph ?
>
> While one could declare hints multiple times, varying the number of
> actual arguments, I believe that the right solution is to make the
> KAM code pass more information to fo_unif_w_hints, like the remaining
> arguments. Nevertheless, the new fo_unif_w_hints is hard to factor with
> the old one (that is used elsewere) so I wrote a new one called
> fo_unif_heads_and_cont_or_unwind_and_hints. It first tries fo_unif on
> the heads, and if successfull call a continuation (that will unify
> all stack arguments pairwise) or unwinds the machine and looks for hints
> on the complete terms, not just a prefix.
>
> Patch attached (cumulated with the previous one). I'm asking for
> comments, and I'm waiting for an ack before committing these patches,
> since I don't want to (potentially) break some CerCo code.
>
> Cheers
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Matita mailing list
> Matita at cs.unibo.it
> http://www.cs.unibo.it/cgi-bin/mailman/listinfo/matita
More information about the Matita
mailing list