Skip to Content.
Sympa Menu

coq-club - Re: [Coq-Club] Error: The correctness of the conclusion relies on the body of b

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

Re: [Coq-Club] Error: The correctness of the conclusion relies on the body of b


chronological Thread 
  • From: Adam Chlipala <adamc AT csail.mit.edu>
  • To: S3 <scubed2 AT gmail.com>
  • Cc: coq-club AT inria.fr
  • Subject: Re: [Coq-Club] Error: The correctness of the conclusion relies on the body of b
  • Date: Mon, 15 Aug 2011 07:58:18 -0400

S3 wrote:
Theorem permutation_12 n r: permutation n r = permutation2 n r.
   unfold permutation.
   unfold permutation2.
   destruct (leb r n) as [] _eqn.
Error: The correctness of the conclusion relies on the body of b

In situations like this, it is useful to break the operation of [destruct] into stages. Your example fails in the very first stage.

To simulate that stage, run:
    generalize (leb r n).
This tactic just tries to replace all occurrences of the term with a fresh variable. The error message reveals that the result is ill-typed, due to a use of [leb_complete], one of whose arguments is typed in terms of [leb]. Because you replace a use of [leb], that argument assumes an improper type.

The easiest solution I know is to run [generalize (leb_complete r n)] first. Then your original strategy works.



Archive powered by MhonArc 2.6.16.

Top of Page