coq-club AT inria.fr
Subject: The Coq mailing list
List archive
- From: scott constable <sdconsta AT syr.edu>
- To: coq-club AT inria.fr
- Subject: [Coq-Club] Induction over two non-mutual inductive terms
- Date: Tue, 8 Mar 2016 15:41:51 -0500
- Authentication-results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=sdconsta AT syr.edu; spf=None smtp.mailfrom=sdconsta AT syr.edu; spf=None smtp.helo=postmaster AT smtp1.syr.edu
- Ironport-phdr: 9a23:VInbsBcsg1HqoI3H0NKRWQhKlGMj4u6mDksu8pMizoh2WeGdxc65Yx7h7PlgxGXEQZ/co6odzbGG7OawBSdZu8/JmUtBWaIPfidNsd8RkQ0kDZzNImzAB9muURYHGt9fXkRu5XCxPBsdMs//Y1rPvi/6tmZKSV3BPAZ4bt74BpTVx5zukbvipNuDP04R3mP1SIgxBSv1hD2ZjtMRj4pmJ/R54TryiVwMRd5rw3h1L0mYhRf265T41pdi9yNNp6BprJYYAu2pN5g/GLdfFXEtN30/zMztrxjKCwWVtVUGVWBDiRFPHxSN5xb8RYv4uC/3/r5m1CKdO9bqRJgvSC7k4qt2Hky7wBwbPiI0pTmEwvd7i7hW9Uqs
Hi All,
I have a simple recursive programming language implemented in coq with an evaluate function "eval". Since the language is non-normalizing, eval is recursively defined over a nat counter, "i" (I'm following the strategy given in the ImpCEvalFun chapter of SF). I'm currently trying to prove that whenever a term "tm" in the language is well-formed, no error can occur during a computation. So the theorem is as follows:
Theorem NoFail : forall i tm, well_formed tm -> eval i tm <> Error.
It seems that I need to induct over both i and tm, but doing something like
induction i as [|i'], tm.
always leads to unprovable subgoals, such as
IHi' : eval i' (t_Plus t1 t2) <> Error
============================
eval (S i') (t_Plus t1 t2) <> Error
when what I really want would be something like
IH1 : eval i' t1 <> Error
IH2 : eval i' t2 <> Error
============================
eval (S i') (t_Plus t1 t2) <> Error
Any help would be much appreciated.
Thanks,
Scott Constable
- [Coq-Club] Induction over two non-mutual inductive terms, scott constable, 03/08/2016
- Re: [Coq-Club] Induction over two non-mutual inductive terms, Per Lindgren, 03/08/2016
- Re: [Coq-Club] Induction over two non-mutual inductive terms, scott constable, 03/08/2016
- Re: [Coq-Club] Induction over two non-mutual inductive terms, roux cody, 03/08/2016
- Re: [Coq-Club] Induction over two non-mutual inductive terms, scott constable, 03/08/2016
- Re: [Coq-Club] Induction over two non-mutual inductive terms, Guillaume Melquiond, 03/09/2016
- Re: [Coq-Club] Induction over two non-mutual inductive terms, scott constable, 03/24/2016
- Re: [Coq-Club] Induction over two non-mutual inductive terms, Per Lindgren, 03/08/2016
Archive powered by MHonArc 2.6.18.