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] Jessie global variables and functions
- Subject: [Frama-c-discuss] Jessie global variables and functions
- From: dak at adelard.com (Damien Karkinsky)
- Date: Wed, 09 Dec 2009 17:53:09 +0000
Hello, I have to following simple code int var1; int var2; /*@ assigns var1; @ ensures var1 == 1; */ void f1(){ var1 = 1 } /*@ assigns var2; @ ensures var1 == 1 ==> var2 == 0; */ void f2(){ f1(); if(var1 == 1){ var2 = 0; }} Jessie generates four proof obligations for f2()one of which is not prooved. H1: true = true var10: int32 H2: true = true -> integer_of_int32(var10) = 1 H3: integer_of_int32(var10) = 1 result : int32 H4: integer_of_int32(result) = 0 var20 : int32 var20 = result ------------------ var10 = var1 Could someone explain why its trying to prove this as the value of var1 does not change following the execution of f1(). Thank you Damien
- Follow-Ups:
- [Frama-c-discuss] Jessie global variables and functions
- From: Pascal.CUOQ at cea.fr (CUOQ Pascal)
- [Frama-c-discuss] Jessie global variables and functions
- Prev by Date: [Frama-c-discuss] History of the discussion list
- Next by Date: [Frama-c-discuss] Jessie global variables and functions
- Previous by thread: [Frama-c-discuss] History of the discussion list
- Next by thread: [Frama-c-discuss] Jessie global variables and functions
- Index(es):