coq-club AT inria.fr
Subject: The Coq mailing list
List archive
- From: Hugo Herbelin <herbelin AT pauillac.inria.fr>
- To: Taral <taralx AT gmail.com>
- Cc: Adam Chlipala <adamc AT hcoop.net>, Damien Pous <Damien.Pous AT inria.fr>, coq-club AT pauillac.inria.fr
- Subject: Re: [Coq-Club] discriminate JMequalities
- Date: Wed, 12 Aug 2009 00:10:54 +0200
- List-archive: <http://pauillac.inria.fr/pipermail/coq-club/>
Hi,
Damien Pous' goal was not provable ("B true" and "B false" are
distinct types of same cardinality and they can be interpreted by the
same set in a model).
This one is a variant of Hofmann-Streicher's Uniqueness of Reflexive
Identity Proofs (UIP_refl) and it is probably equivalent to it. It
requires one of the (weak) axioms equivalent to UIP_refl, e.g. JMeq_eq
from file JMeq.v or eq_rect_eq in Eqdep.v.
Require Import JMeq.
Inductive B: bool -> Set := ff: B false | tt: B true.
Goal forall (x : bool) (b : B x), b = (if x as x0 return (B x0) then tt else
ff).
intros x b.
apply JMeq_eq.
assert (H:x=x) by reflexivity.
destruct x in H at 1 |- * at 2 3;
destruct b; discriminate || reflexivity.
Qed.
The third line may need some Set Printing All (or some Maj-Alt-A or
whatever binding you have for that in CoqIDE) to know how to number
occurrences.
Hugo
- [Coq-Club] discriminate JMequalities, Damien Pous
- Re: [Coq-Club] discriminate JMequalities,
Adam Chlipala
- Re: [Coq-Club] discriminate JMequalities,
Taral
- Re: [Coq-Club] discriminate JMequalities, Hugo Herbelin
- Re: [Coq-Club] discriminate JMequalities,
Taral
- Re: [Coq-Club] discriminate JMequalities,
Adam Chlipala
Archive powered by MhonArc 2.6.16.