Skip to Content.
Sympa Menu

coq-club - Re: [Coq-Club] Anomaly: uncaught exception Invalid_argument "String.create". Please report.

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

Re: [Coq-Club] Anomaly: uncaught exception Invalid_argument "String.create". Please report.


chronological Thread 
  • From: Pierre Courtieu <Pierre.Courtieu AT cnam.fr>
  • To: Yoriyuki Yamagata <yoriyuki.yamagata AT aist.go.jp>
  • Cc: coq-club AT inria.fr
  • Subject: Re: [Coq-Club] Anomaly: uncaught exception Invalid_argument "String.create". Please report.
  • Date: Mon, 20 Dec 2010 14:05:14 +0100
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:from:date :x-google-sender-auth:message-id:subject:to:cc:content-type :content-transfer-encoding; b=wS/NDXa7hTsrK3kOxLGcVl/Wt2jWs7sRzzVe1ItVk4V+y3H4vwuufBox61lP/ML3uA Q/FvJRlIl+JGJ2N5aHJYZjMCIgdrwaYT5NvSFmoevL9tS3J7M8jmO3A945CPIpG4gYXU IUBylkP9RQBYMaecnY1LREL0ma+6yUTVOnoFE=

Hello,

I think this is a known bug of the reduction engine based on the
virtual machine. It happens on *very* large terms. Do you have a 32 or
64 bit system?

You can first try to replace all you "omega" tactics by "abstract
omega" and see if the bug is still there. Putting abstract on a
(final) tactic puts the corresponding term in an auxiliary lemma
instead of inlining it inside the current proof term. This way you
keep the current proof term a bit smaller.

If this is not enough you can try to put abstract on other (final)
expensive tactics.

Hope this helps,
Pierre Courtieu


2010/12/20 Yoriyuki Yamagata 
<yoriyuki.yamagata AT aist.go.jp>:
> Hi, list.
>
> I'm a completely beginner of Coq, and try to learn it by implementing
> AVL-tree.  I complete a definition (with a correctness proof) of  the
> balancing function, but unfortunately "Defined" command takes a long time
> then gives me a message "Anomaly: uncaught exception Invalid_argument
> "String.create". Please report." and fails.
>
> I guess that Coq try to allocate a too large string, but what is the cause
> of it and is there a way to avoid it?  I may use Qed but then I suppose that
> we cannot reason about the function later(?).  Also, I use omega tactic a
> lot in the proof.  Could this cause the problem?
> I can manually prove the equations but it would be very tedious.
>
> I attach my proof. (I know that my proof is really badly written.)
> --
> Yoriyuki Yamagata
> yoriyuki.yamagata AT aist.go.jp
> http://staff.aist.go.jp/yoriyuki.yamagata/
>
>




Archive powered by MhonArc 2.6.16.

Top of Page