coq-club AT inria.fr
Subject: The Coq mailing list
List archive
- From: Adam Chlipala <adamc AT csail.mit.edu>
- To: Kenneth Roe <kendroe AT hotmail.com>
- Cc: Coq-Club <coq-club AT inria.fr>
- Subject: Re: [Coq-Club] Another nasty hangup with dependent types
- Date: Sun, 06 Nov 2011 12:51:36 -0500
Kenneth Roe wrote:
Notice the introduction of "@existT".
Your post has way too much code for me to digest. However, if all you're asking is how to apply injectivity on equalities between [existT] terms, then see:
Require Import Eqdep.
Check inj_pair2.
Note that [inj_pair2] relies on an axiom. I often go to some trouble to avoid depending on such axioms, but your proof state is already too far along to be saved by such tricks. If you happen to have decidable equality on the appropriate type, then you can instead use the following axiom-free:
Require Import Eqdep_dec.
Check inj_pair2_eq_dec.
Otherwise, see Section 12.3.4 of CPDT for a discussion of the issue. If you don't mind axioms, then the [crush] tactic of CPDT will do everything you want, as it automatically applies [inj_pair2], among many other common proof steps.
- [Coq-Club] Another nasty hangup with dependent types, Kenneth Roe
- Re: [Coq-Club] Another nasty hangup with dependent types, Adam Chlipala
Archive powered by MhonArc 2.6.16.