Frama-C-discuss mailing list archives
This page gathers the archives of the old Frama-C-discuss archives, that was hosted by Inria's gforge before its demise at the end of 2020. To search for mails newer than September 2020, please visit the page of the new mailing list on Renater.
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Frama-c-discuss] euklid.c
- Subject: [Frama-c-discuss] euklid.c
- From: siegel at udel.edu (Stephen Siegel)
- Date: Wed, 9 Oct 2013 16:53:58 -0400
Here is an old example from Frama-C/Jessie that I tried to re-run using the latest versions of the tools. An error occurs---just wondering if anyone has any idea why. It is a neat example. -Steve user at cisc614:~/614/frama-c/examples/basic$ frama-c -jessie euklid.c [kernel] preprocessing with "gcc -C -E -I. -dD euklid.c" [jessie] Starting Jessie translation [jessie] Producing Jessie files in subdir euklid.jessie [jessie] File euklid.jessie/euklid.jc written. [jessie] File euklid.jessie/euklid.cloc written. [jessie] Calling Jessie tool in subdir euklid.jessie Uncaught exception: Invalid_argument("equal: abstract value") [jessie] user error: Jessie subprocess failed: jessie -why3ml -v -locs euklid.cloc euklid.jc euklid.c: /* Define a predicate div(a,b), meaning "a divides b", and declare some basic axiomatic properties. */ /*@ axiomatic Euklid { predicate div(integer a,integer b) = (0 < a && 0 <= b && b%a == 0); axiom A1: \forall integer a, b, c; b >= c && div(a,b) && div(a,c) ==> div(a,b-c); axiom A2: \forall integer a, b, c; b >= c && div(a,c) && div(a,b-c) ==> div(a,b); } */ /*@ requires A > 0 && B > 0; ensures \forall integer i; div(i,A) && div(i,B) <==> div(i,\result); */ int gcd(int A,int B) { int const a = A, b = B; /*@ loop invariant a > 0 && b > 0; loop invariant \forall integer i; div(i,a) && div(i,b) <==> div(i,A) && div(i,B); loop variant a + b; */ while (a != b) if (a > b) a -= b; else b -= a; return a; }
- Follow-Ups:
- [Frama-c-discuss] euklid.c
- From: Claude.Marche at inria.fr (Claude Marché)
- [Frama-c-discuss] euklid.c
- Prev by Date: [Frama-c-discuss] How to speed up computing Pdg for a specific kernel function ?
- Next by Date: [Frama-c-discuss] Mac install
- Previous by thread: [Frama-c-discuss] new GWhy - statistics
- Next by thread: [Frama-c-discuss] euklid.c
- Index(es):