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: Pierre Courtieu <pierre.courtieu AT gmail.com>
  • To: coq-club AT inria.fr
  • Subject: Re: [Coq-Club] [coq-club] Best way to prove properties of Program Fixpoint with measure function
  • Date: Mon, 05 Mar 2018 11:51:44 +0000
  • Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=pierre.courtieu AT gmail.com; spf=Pass smtp.mailfrom=pierre.courtieu AT gmail.com; spf=None smtp.helo=postmaster AT mail-oi0-f52.google.com
  • Ironport-phdr: 9a23:2Cpjlx1CurEQ835FsmDT+DRfVm0co7zxezQtwd8Zse0ULfad9pjvdHbS+e9qxAeQG9mDsLQc06L/iOPJYSQ4+5GPsXQPItRndiQuroEopTEmG9OPEkbhLfTnPGQQFcVGU0J5rTngaRAGUMnxaEfPrXKs8DUcBgvwNRZvJuTyB4Xek9m72/q99pHPbQhEniaxba9vJxiqsAvdsdUbj5F/Iagr0BvJpXVIe+VSxWx2IF+Yggjx6MSt8pN96ipco/0u+dJOXqX8ZKQ4UKdXDC86PGAv5c3krgfMQA2S7XYBSGoWkx5IAw/Y7BHmW5r6ryX3uvZh1CScIMb7S60/Vza/4KdxUBLnhykHODw5/m/ZicJ+kbxVrw66qhNl34LZepuYOOZicq7fe94RWGpPXtxWVyxEGo6ydYoPAPQbPeZCsYb2ukUDrRyjBQm2GOPvyyFHhmLr1qA9y+QhEB/J3BY6H90QqnjbsNL1NLoIUeCpzanH0yjDYuhZ2Tf48ofIcxQhreuQUrJ3dMrc0E8iHB7GgFWIsYHpIS+Z2+AXv2WY7+dsT/yjh3Mkpg1rojWj2MEhgZTTiI0P0FDL7yB5zZ41JdKmTE57ZsapEJ5KuCGbM4t6W8QiQ2B0tCojxL0LuYC3cDIFyJQgwB7fZPiHfJaS7h3/U+aRJC90hHNjeL2hmxa/6VasxvH4W8Wu01tHrjBJnsfRun0OzRDe6taLRuN4/ki72DaP0w7T6vtDIUAxjafbM58hzaAqlpoJr0vPBDP5mELrjK+MakUk+/an6/n8b7Xpo5+TLY50igXkPqsyncy/BPw0MhISUGiD5eS8yLrj8FXlT7VNl/06i7XWsJTHJcsAvaO5GA9U0oM76xmlFTum0dIYnWMGLF1fYh6HgZLpaBnyJ6XzCu76iFCxmh9qwerHN/vvGMbjNH/GxY/gcKxn5gZ3zxcp0dFS+toAErAMOuj+HET2qcbEDxIkGwOxyufjTt5609VNCiq0HqaFPfaK4hez7eU1LrzUPd5HiHPGM/EgosXWozo8kF4Zc7Ou2MJOOn+9F/ViZU6eZCi124tTISIxpgM7CdfSphiaSzcKPiS9Wqs94ncwD4f0Vd6eFLDou6SI2WKAJrMTZm1CDQrRQ3LhdoHBXPZULSzPeIlulTsLUbXnQIgkh0mj

Hi
Usually well founded induction (using the same  well founded relation than the one used for your function) is the way to go.

If your function has dependent types this is indeed not covered by Function. Can you give your definition?

Best regards
Pierre

Le lun. 5 mars 2018 à 10:05, Merlin Göttlinger <megoettlinger AT gmail.com> a écrit :
Hi all,

I have a complicated Program Fixpoint that gets folded over a list of inputs and involves a state monad (allowing the function to choose fresh variable names during its processing of the input syntax). The initial state for that is calculated from the input list. (The resulting state after the fold is discarded)

Now I want to prove that this transformation is actually correct with respect to a notion of equivalence I defined, but I find myself in the situation that induction over the input list doesn't work because the generated IH is not usable (if the input list has one element more, the free variable names also change) and also proving that this Program Fixpoint is correct w.r.t. my equivalence doesn't work by "normal" induction for the same reason.

What is the way to go here?

I heard about functional induction but Functional Scheme isn't able to process my fixpoint and after computing for a few seconds fails with Error: Cannot define graph(s) for rule_transform_func

I heard about well-founded induction. If that is the way to go, is there a way to reuse that information that Program must have generated in an elegant way?

Cheers,
Merlin




Archive powered by MHonArc 2.6.18.

Top of Page