coq-club AT inria.fr
Subject: The Coq mailing list
List archive
- From: "Lucian M. Patcas" <lucian.patcas AT gmail.com>
- To: coq-club <coq-club AT inria.fr>
- Subject: [Coq-Club] Proof without "auto with arith"
- Date: Tue, 21 Jun 2011 23:37:35 -0400
- Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:reply-to:sender:from:date:x-google-sender-auth :message-id:subject:to:content-type; b=ZE7kQUCi2knPeJK5tPaCwgi17RlSSJyTpQXh26/fBMJBwaAW9Kn1OsXbBqXtM7E9nQ GEzXWcY7tBlEXkQ9yxOUfd4nnC0PgMzZEujhP9L1iEh+zf891dndbBosvZtMhiO7w4Rs ity0e7fzCXgwH9YDvcHWukWJKjbkAvvB8pnSU=
Hello,
How can I prove this theorem without using "auto with arith"?
Lemma silly : forall t : nat, t >=2 -> t <= 2 -> t = 2.
When proved using "auto with arith", the proof term is
silly =
fun (t : nat) (H1 : t >= 2) (H2 : t <= 2) => le_antisym t 2 H2 H1
    : forall t : nat, t >= 2 -> t <= 2 -> t = 2
I didn't even know le_antisym existed, not to mention how ugly this term looks:
le_antisym =
fun (n m : nat) (H : n <= m) =>
match H in (_ <= n0) return (n0 <= n -> n = n0) with
| le_n => fun _ : n <= n => eq_refl n
| le_S m' H0 =>
   fun H1 : S m' <= n =>
   False_ind (n = S m')
     (let H2 := le_trans (S m') n m' H1 H0 in
      (let H3 := le_Sn_n m' in fun H4 : S m' <= m' => H3 H4) H2)
end
    : forall n m : nat, n <= m -> m <= n -> n = m
... one surely needs to master the dark side of the force to come up with such a proof term... Is there a standard trick to deal with such proofs, but without using "auto with arith"?
Thanks,
Lucian
- [Coq-Club] Proof without "auto with arith", Lucian M. Patcas
- Re: [Coq-Club] Proof without "auto with arith", Jacques Garrigue
- Message not available
- Re: [Coq-Club] Proof without "auto with arith",
Lucian M. Patcas
- Re: [Coq-Club] Proof without "auto with arith",
AUGER Cedric
- Re: [Coq-Club] Proof without "auto with arith",
Lucian M. Patcas
- Re: [Coq-Club] Proof without "auto with arith",
Adam Chlipala
- Re: [Coq-Club] Proof without "auto with arith",
Lucian M. Patcas
- Re: [Coq-Club] Proof without "auto with arith", Adam Chlipala
- Re: [Coq-Club] Proof without "auto with arith", Stéphane Lescuyer
- [Coq-Club] Tactics and BigTerms in Coq, Laurent Théry
- Re: [Coq-Club] Tactics and BigTerms in Coq, AUGER Cedric
- Re: [Coq-Club] Proof without "auto with arith",
Lucian M. Patcas
- Re: [Coq-Club] Proof without "auto with arith",
Adam Chlipala
- Re: [Coq-Club] Proof without "auto with arith",
Lucian M. Patcas
- Re: [Coq-Club] Proof without "auto with arith",
AUGER Cedric
- Re: [Coq-Club] Proof without "auto with arith",
Lucian M. Patcas
Archive powered by MhonArc 2.6.16.