# 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.

# [Frama-c-discuss] Jessie failure: "Unexpected internal region in logic"

• Subject: [Frama-c-discuss] Jessie failure: "Unexpected internal region in logic"
• From: david.delmas at airbus.com (David Delmas)
• Date: Fri, 12 Mar 2010 08:45:37 +0100

Dear all,

I am running Frama-C Beryllium-20090902 with Why 2.21.

I can successfully run "frama-c -jessie no_failure.c" on the below
no_failure.c file :

//@ predicate P0{L}(int t[], int i) = t[i]==1;

/*@ axiomatic No_Failure_1 {

predicate P1{L}(int t[], int i);

axiom aP1{L} :
\forall int t[], int i;
i==0 && P0{L}(t,i) ==> P1{L}(t,i);

}*/

/*@ axiomatic No_Failure_2 {

predicate P2{L}(int t[], int i);

axiom aP2{L} :
\forall int t[], int i;
i!=1 && !P0{L}(t,i) ==> P2{L}(t,i);
}*/

But then, I if decide to merge the definitions of predicates P1 and P2
into a single axiomatic, I get the following failure.c file :

//@ predicate P0{L}(int t[], int i) = t[i]==1;

/*@ axiomatic Failure_Unexpected_internal_region_in_logic {

predicate P1{L}(int t[], int i);
predicate P2{L}(int t[], int i);

axiom aP1{L} :
\forall int t[], int i;
i==0 && P0{L}(t,i) ==> P1{L}(t,i);

axiom aP2{L} :
\forall int t[], int i;
i!=1 && !P0{L}(t,i) ==> P2{L}(t,i);
}*/

If I then run "frama-c -jessie failure.c", I get the below error :
Uncaught exception: Failure("Unexpected internal region in logic")

Could you please explain me why?

--