Skip to Content.
Sympa Menu

coq-club - [Coq-Club] How much can I expect from higher-order unification?

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

[Coq-Club] How much can I expect from higher-order unification?


Chronological Thread 
  • From: Joachim Breitner <mail AT joachim-breitner.de>
  • To: coq-club AT inria.fr
  • Subject: [Coq-Club] How much can I expect from higher-order unification?
  • Date: Thu, 17 May 2018 20:18:05 -0400
  • Authentication-results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=mail AT joachim-breitner.de; spf=Neutral smtp.mailfrom=mail AT joachim-breitner.de; spf=None smtp.helo=postmaster AT hermes.serverama.de
  • Ironport-phdr: 9a23:iqhyCRSMdvzZiCY8KBTj8sGRKNpsv+yvbD5Q0YIujvd0So/mwa69YxWN2/xhgRfzUJnB7Loc0qyK6/umATRIyK3CmUhKSIZLWR4BhJdetC0bK+nBN3fGKuX3ZTcxBsVIWQwt1Xi6NU9IBJS2PAWK8TW94jEIBxrwKxd+KPjrFY7OlcS30P2594HObwlSizexfb1/IA+qoQnNq8IbnZZsJqEtxxXTv3BGYf5WxWRmJVKSmxbz+MK994N9/ipTpvws6ddOXb31cKokQ7NYCi8mM30u683wqRbDVwqP6WACXWgQjxFFHhLK7BD+Xpf2ryv6qu9w0zSUMMHqUbw5Xymp4qF2QxHqlSgHLSY0/mLKhMJwkqxVrg6uqRtwzIPPb4GZKOBzc7nHcN8GR2dMWNtaWSxbAoO7aosCF+4PPeFCoIbhp1sOrB6+DhSxCeP11DBIh2P23ask3OQ7DArL2wkgEMgPsHTQt9j1NqASXvqpw6nIzDXDaupa1izn6IfWcxAhvfeMUqxqccbL1EYgCRrIg1ONooLrODOV0/4Cs2md7+d4V+KvjHQopB1xojiuw8cgk5LGhpgLxVDF6SV5xpg6JceiREFmf9GpFoZbuSKCN4ZuX88vQWBltDw+x7Ecp5K3YSYHxI46yxPRZfGKdZWD7Aj5W+aLOzh4gWpoeLKhiBa29kit0u38Wdeu0FZPsCVFicPAtmsT2BzJ9MiIVOF98V2k2TmVzQzc9/9LLVg1lardNZEh3qY9mocRvEnCBCP7nF/6gLGLekgq4OSk9urqb7v+qp+ZLYB0iwX+Mqo0msy4BOQ1Kg0OUHKa+eS4z7Dj/0r5T69Wgf02k6nZtYnWKt8BpqGnAg9VzoAj5AilDzu8zdsXg2ELLEhZdxKfk4jpJ1bOLejkAve4mlSgiStkx/TbPrL6GZjNNXjCkLL5fbln8UJcyQwzzcpe551OEL0BLujzCQfNs4nTCQZ8OAipyc7mDs9838UQQzGhGKicZYHVuFSI5+dnCfOBZZMTtSy1f/0s5vrGj3gwkl8ceOyjx5YWdHa1BLJqLhPKMjLXnt4dHDJS7UIFR+vwhQjaCG8BVzOJR6s5owoDJsejBIbHSJqqhebYjiW8F5ZWZ2UDAEqBEGvuep/CV/peMnvOcP8kqSQNUP2ac6FkzQun7laoyb1uJerV/2gSr5/iyN54/avfmENqrGEmP4Gmy2iIClpMsCYISjsxhvktoUFnz1qYl7N1meJVD9VW7rVFX1ViOA==

Hi,

Pierre writes in another thread:

> 2) I would expect (P x (foo x)) for the conclusion of foo_ind_aux instead
> of (P (foo x)). Did you just simplify your example or do you manage to use
> it like that?

and of course he is right. But now I am running into problems with
higher-order unification when I try to apply the custom induction rule:

Unable to unify "?P (take n b) n b" with
"length (take n b) = Init.Nat.min n (length b)".

I can work around by instantiating P explicitly, with

apply take_ind where (P := fun r n b => … ).

but I wonder if I can do better. Is there a trick that would make Coq
figure out P on its own? Maybe some particular order of arguments of P,
or a different tactic?

(I know that higher order unification is in general undecidable, and
that this instance admits multiple solutions… but still, hope dies
last.)

Cheers,
Joachim


--
Joachim Breitner

mail AT joachim-breitner.de
http://www.joachim-breitner.de/

Attachment: signature.asc
Description: This is a digitally signed message part




Archive powered by MHonArc 2.6.18.

Top of Page