coq-club AT inria.fr
Subject: The Coq mailing list
List archive
- From: Benjamin Werner <benjamin.werner AT inria.fr>
- To: Li-Yang Tan <lytan AT artsci.wustl.edu>
- Cc: coq-club AT pauillac.inria.fr
- Subject: Re: [Coq-Club] "existS" in Coq
- Date: Sun, 23 Oct 2005 20:59:04 +0200
- List-archive: <http://pauillac.inria.fr/pipermail/coq-club/>
Hi,
...
a : q0_type
A : Trm (Fun x1 x0)
H8 : a = Fun x1 x0
H10 : Fun x1 x0 = s
H12 : existS (fun x : q0_type => Trm x) (Fun x1 x0) A =
existS (fun x : q0_type => Trm x) (Fun x1 x0) (Lambda x2 x3)
H13 : Fun x1 x0 = s
H14 : existS (fun x : q0_type => Trm x) (Fun x1 x0) A =
existS (fun x : q0_type => Trm x) (Fun x1 x0) (Apply M N)
------------------------------------------------------------------- (1/2)
Logic.False
I am currently clueless as to how to proceed from here. In particular, it would be helpful if I knew what the "existS" construct means and how I can make use of the hypotheses invoving it. I have looked in Coq'Art but cannot seem to find a answer to this question.
Just do "Print existS". Actually it is the single constructor of SigS which is a pair of two objects of kind Set, but where the type of the second component depends upon the value of the first. There used to be some concrete syntax like {x:A|P} for it, but for some reason it seems switched off.
Anyway, since existS is a constructor, the first equality implies that A=Apply M N, which, I imagine is false.
So inversion H14 should make it.
Cheers,
Benjamin
- [Coq-Club] "existS" in Coq, Li-Yang Tan
- Re: [Coq-Club] "existS" in Coq, Benjamin Werner
- Re: [Coq-Club] "existS" in Coq, Pierre Casteran
- <Possible follow-ups>
- Re: [Coq-Club] "existS" in Coq,
Yves Bertot
- Re: [Coq-Club] "existS" in Coq, jean-francois . monin
- Re: [Coq-Club] "existS" in Coq, Benjamin Werner
Archive powered by MhonArc 2.6.16.