coq-club AT inria.fr
Subject: The Coq mailing list
List archive
- From: "Samuel E. Moelius III" <moelius AT cis.udel.edu>
- To: coq-club AT pauillac.inria.fr
- Subject: [Coq-Club] proof_irrelevance question
- Date: Sat, 01 Nov 2008 14:58:49 -0400
- List-archive: <http://pauillac.inria.fr/pipermail/coq-club/>
In the following example, is use of proof_irrelevance necessary? Is there some way to avoid its use when the domain of the predicate involved is nat, for example?
Thanks in advance. -- Sam
Require Import Arith.
Require Import ProofIrrelevance.
Variable n : nat.
Definition t := sig (fun i => i < n).
Definition f (x : t) : sig (fun i => i < S n).
intros [i Hi].
refine (exist _ (S i) _).
auto with arith.
Defined.
Lemma lem : forall x y, f x = f y -> x = y.
intros [x Hx] [y Hy] Heq.
injection Heq as Heq'.
clear Heq.
revert Hx Hy; rewrite Heq'; intros Hx Hy.
rewrite (proof_irrelevance _ Hx Hy).
reflexivity.
Qed.
- [Coq-Club] proof_irrelevance question, Samuel E. Moelius III
- Re: [Coq-Club] proof_irrelevance question,
Stéphane Glondu
- Re: [Coq-Club] proof_irrelevance question, Stéphane Glondu
- Re: [Coq-Club] proof_irrelevance question,
Stéphane Glondu
Archive powered by MhonArc 2.6.16.