Skip to Content.
Sympa Menu

coq-club - RE: [Coq-Club] [coq-club] Best way to prove properties of Program Fixpoint with measure function

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

RE: [Coq-Club] [coq-club] Best way to prove properties of Program Fixpoint with measure function


Chronological Thread 
  • From: "Soegtrop, Michael" <michael.soegtrop AT intel.com>
  • To: "coq-club AT inria.fr" <coq-club AT inria.fr>
  • Subject: RE: [Coq-Club] [coq-club] Best way to prove properties of Program Fixpoint with measure function
  • Date: Mon, 5 Mar 2018 15:53:31 +0000
  • Accept-language: de-DE, en-US
  • Authentication-results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=michael.soegtrop AT intel.com; spf=Pass smtp.mailfrom=michael.soegtrop AT intel.com; spf=None smtp.helo=postmaster AT mga18.intel.com
  • Ironport-phdr: 9a23:YLZvGxMbJacVW0acdCIl6mtUPXoX/o7sNwtQ0KIMzox0Ivn/rarrMEGX3/hxlliBBdydt6ofzbKO+4nbGkU4qa6bt34DdJEeHzQksu4x2zIaPcieFEfgJ+TrZSFpVO5LVVti4m3peRMNQJW2aFLduGC94iAPERvjKwV1Ov71GonPhMiryuy+4ZLebxlGiTanfb9+MAi9oBnMuMURnYZsMLs6xAHTontPdeRWxGdoKkyWkh3h+Mq+/4Nt/jpJtf45+MFOTav1f6IjTbxFFzsmKHw65NfqtRbYUwSC4GYXX3gMnRpJBwjF6wz6Xov0vyDnuOdxxDWWMMvrRr0yRD+s7bpkSAXwhSkHKTA37X3XhMJzgqJVoh2hpgBwzIHPbY6PKPZzernQcc8GSWdDWMtaSixPApm7b4sKF+cNM/tWr47jqFsBsRu+Hw6sBPv3xjRVgXH23LE10+Q7Hg7Y2AwsEc8FvXPRrNX0KKgSUfq6w7fMzTnZdPNW3iny6IfUchA7pvGMRal9ccvXyUkzCQzFik+cppDiPzOQz+kAtXWQ4eRnVeKqkWEnqgdxryCuxscqlonGmIYVxkrZ+ipnxos+ON62SFZjbNK5HpZduDuWO5Z4T84tWW1kpSg3x7wctZKmYiQHyYwrywPeZvGJaYSF7BzuWPyPLTp2gH9pYq+zihWu/US41+HxV8253ExUoidFndTArH4A2wbO5sWDSPZw+Fqq1yyV2ADJ8O5EJFg5larFJJ4lxb49jp8TsUvZESPrm0j6lq6WdkM4+ue27+TreKnpppiZN4NsiwH+NLohmtCnDOglPAUDUHKX9fmy2bDs50H1XbtHg/wsnqXErpzXJNwXpqujDA9U1oYj5Qy/DzCj0NkAmHkHLU5KeBKdgIf3P1HCOuv4DfChjFSjjDdr3ffGPqX6D5XMKHjDjKnufbJn50FAzwozyMhT54hIBbEZPPLzRkjxucTEAR8+Kgy42vroCNFg1owFQm+PGa+YMKbKsVCS/O4vIu+MZJUUuDnnMfQl6eTu3jcFngpXdq6wmJATdXqQH/J8Ikzfb2CmyoMKFn5PtQ4jRsTrjkeDWHhdfSDhcbg742RxM4WrApvZQZjpyJmA1yeyE5kcLjRDC1uMGHrsMZ6DVvgQciWKCs5njjEAE7OmTtlyhlmVqAbmxu8/faLv8SoCuMe7jYkn16jojRg3sAdMIYGY2mCJQXtzmzpRFT4wwK1750d6zwXaiPQqs7ljDdVWoshxfEIiL5eFlr57Dcz/XkTKedLbEA/7EOXjOik4S5cK+/FLY0t5HIz93BXM1nP6Rb4Ti7GPQpcz9/CE0g==

Dear Merlin,

 

in case the question is how to explicitly apply well founded induction in your case, it might look something like this:

 

Require Import Arith.

 

Definition complexity {P E : Type} (p : list P) (ed : E) : nat := length p.

 

Theorem test (P E : Type) (p : list P) (ed : E) : p = p.

Proof.

  induction p using (well_founded_induction (Arith.Wf_nat.well_founded_ltof _ (fun p => complexity p ed))).

  unfold ltof in *.

 

This gives you the induction hypothesis:

 

P : Type

E : Type

ed : E

p : list P

H : forall y : list P, complexity y ed < complexity p ed -> y = y

______________________________________(1/1)

p = p

 

Is such a hypothesis more useful for you?

 

Best regards,

 

Michael

Intel Deutschland GmbH
Registered Address: Am Campeon 10-12, 85579 Neubiberg, Germany
Tel: +49 89 99 8853-0, www.intel.de
Managing Directors: Christin Eisenschmid, Christian Lamprechter
Chairperson of the Supervisory Board: Nicole Lau
Registered Office: Munich
Commercial Register: Amtsgericht Muenchen HRB 186928




Archive powered by MHonArc 2.6.18.

Top of Page