Я хотел бы сгенерировать все предварительные условия, созданные Frama-C, которые хранятся в таблице в соответствии с кодом calculus.ml. Мне в основном интересно получить начальный предикат, который преобразуется в логическую формулу и отправляется решателям. Это можно сделать? Пожалуйста, помогите мне распечатать начальный предикат, который отправляется решателям. Код, который я пытаюсь с приведен ниже:Я хотел бы сгенерировать все предварительные условия в основном исходные предпосылки в Frama-C
int main()
{
int x=42,y=40;
if(x<50)
{
x=x+2; y=x-y;
}
else
{
x=x-2; y=x-y;
}
//@ assert P: y>0;
}
Вы видели список опций WP с помощью '-wp-help'? Вы попробовали '-wp-print'? Если да, объясните, как он отличается от того, что вы пожелаете. – Anne
То, что я хочу, является начальным слабым предварительным условием в терминах логической формулы. Как для этого (x <=51^x-y> = 1) V (x> = 48^x-y> = 1) –
Это не WP вашего примера. WP является 'if (42 <50), тогда 42 + 2-40> 0 else 42-2-40> 0', который тривиально упрощается до True инструментом. Чтобы получить форму формулы, которую вы задаете, вам нужно преобразовать объявления x и y в формальные параметры функции. – Anne