Skip to Content.
Sympa Menu

coq-club - Re: [Coq-Club] matching

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

Re: [Coq-Club] matching


chronological Thread 
  • From: Guillaume Melquiond <guillaume.melquiond AT inria.fr>
  • To: Flávio Leonardo Cavalcanti de Moura <flaviomoura AT unb.br>
  • Cc: coq-club AT pauillac.inria.fr
  • Subject: Re: [Coq-Club] matching
  • Date: Tue, 01 Dec 2009 17:24:13 +0100
  • List-archive: <http://pauillac.inria.fr/pipermail/coq-club/>

Flávio Leonardo Cavalcanti de Moura a Ã©crit :
  l : 0 < b
  ============================
   (fix ith_remainder (d : pair_t) (i0 : nat) {struct i0} : nat :=
      match d with
      end) (pair a b) (S i + 1) < ith_remainder (pair a b) (S i)

I need to evaluate the function ith_remainder with the arguments (pair a
b) and (S i + 1). If I manage to do so, I will get

mod b (ith_remainder (pair a b) (S i)) < ith_remainder (pair a b) (S i)

and I can close the proof with mod_lt. Any help is very much welcome.

Note that the evaluation can only happen if i0 starts with a constructor. You may try "replace (S i + 1) with (S (S i))" and see if it helps. You haven't provided the script so I can only guess, but I suppose you also have an "unfold ith_remainder" somewhere before; you may have to remove it.

Best regards,

Guillaume





Archive powered by MhonArc 2.6.16.

Top of Page