From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Thread: a07f3367d7,45ec8ce891c0398e X-Google-Attributes: gida07f3367d7,public,usenet X-Google-NewGroupId: yes X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news2.google.com!news2.google.com!npeer01.iad.highwinds-media.com!news.highwinds-media.com!feed-me.highwinds-media.com!nx02.iad01.newshosting.com!newshosting.com!news2.euro.net!feeder.news-service.com!85.214.198.2.MISMATCH!eternal-september.org!feeder.eternal-september.org!.POSTED!not-for-mail From: Alexander Senier Newsgroups: comp.lang.ada Subject: Re: SPARK: Defining the meaning of a proof function Date: Mon, 28 Feb 2011 09:21:33 +0100 Organization: A noiseless patient Spider Message-ID: <20110228092133.141f8d13@senier-offen> References: <39202e76-0c9e-4e10-926b-1305fe818e01@p12g2000vbo.googlegroups.com> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Injection-Info: mx03.eternal-september.org; posting-host="XCWK5aQJ+ZBh2gl6Xv47Zg"; logging-data="12569"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/4C5BJg2ZAK1Gu7GZIOS4t" X-Newsreader: Claws Mail 3.7.6 (GTK+ 2.22.0; i486-pc-linux-gnu) Cancel-Lock: sha1:ntL/QP/TdkQdt3Hyihbhhf0PET8= Xref: g2news2.google.com comp.lang.ada:18605 Date: 2011-02-28T09:21:33+01:00 List-Id: On Sun, 27 Feb 2011 04:51:42 -0800 (PST) Phil Thornley wrote: > One significant gap in the SPARK language is the absence of any way to > define the meaning of a proof function (i.e. a function declared in > annotations). The only way to do this is in a user proof rule that is > read by the Simplifier. There is another way to define the meaning of proof functions. However, it is not integrated into the SPARK source text either. The current release of the Isabelle theorem prover [1] adds the HOL/SPARK proof environment. This environment can read in the VCs produced by the Examiner and the Simplifier (and associated FDL rules etc.) and present them as proof contexts in Isabelle. Abstract SPARK proof functions can be associated with concrete Isabelle functions (of suitable type, checked by Isabelle). Using HOL/SPARK can be advantageous, as e.g. existing powerful proof strategies, automated external provers and existing proofs may be used to prove open VCs. Furthermore, it is much harder to introduce logical inconsistencies in Isabelle/HOL than in hand-written rule files. Examples for using HOL/SPARK can be found in "src/HOL/SPARK/Examples" in the Isabelle2011 distribution. Unfortunately, there is no documentation available currently (being improved at the moment). Regards Alex [1] http://isabelle.in.tum.de