Skip to Content.
Sympa Menu

coq-club - [Coq-Club]help with simple proof

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

[Coq-Club]help with simple proof


chronological Thread 
  • From: "Alessandro Warth" <alexwarth AT gmail.com>
  • To: coq-club AT pauillac.inria.fr
  • Subject: [Coq-Club]help with simple proof
  • Date: Tue, 30 May 2006 17:04:35 -0700
  • Domainkey-signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:mime-version:content-type:content-transfer-encoding:content-disposition; b=fhrL92fhguLheSCD6zH3YHFv+kB3XmoBWBwfZhASNiz8tdWJuU0dESC1YQsFYGnivhKBf71EC3dBkIRkmQmPLRWN3jX5tIxdMV5ZjOoY8BtEpmCU8EIr0lkAZnl0xWJjb0UkefLA5SQTErCQu99PZHZbkkymYQBpg4k67RErT2I=
  • List-archive: <http://pauillac.inria.fr/pipermail/coq-club/>

Hello,

I'm trying to use Coq to formalize a programming language that I've
been working on. Unfortunately, a few days ago I ran into trouble
while proving what (I think) should be a very simple lemma. I've spent
the past few days banging my head against the wall and have made no
progress, so I was hoping someone might be able to give me a few
pointers...

Here is the simplest formulation of that lemma that I could come up with:


Inductive AType : Set :=
| Red : nat -> AType
| Black : nat -> AType.

Inductive subtyping : AType -> AType -> Prop :=
| s_refl   : forall T,
               subtyping T T
| s_trans  : forall T1 T2 T3,
               subtyping T1 T2 ->
               subtyping T2 T3 ->
               subtyping T1 T3.

Lemma l : forall (n:nat) (T:AType),
           subtyping (Red n) T ->
           exists m:nat, T = (Red m).


This should be easy to prove, but I haven't had any luck so far. Does
anybody have any ideas about how I might be able to prove this?

Thank you kindly,
Alex Warth





Archive powered by MhonArc 2.6.16.

Top of Page