From 62c20824dfd6b3b3a6f171e11e8b7c2125850b21 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9lio=20Brun?= <lelio.brun@isae-supaero.fr> Date: Thu, 9 Dec 2021 14:20:41 +0100 Subject: [PATCH] add k annotations for k-induction in contracts --- offline_tests/DRAGON_1.lus | 2 +- offline_tests/DRAGON_10.lus | 2 +- offline_tests/DRAGON_10_e1_3587_e3_2749.lus | 2 +- offline_tests/DRAGON_10_e1_998.lus | 2 +- offline_tests/DRAGON_10_e2_2785_e3_1744.lus | 2 +- offline_tests/DRAGON_10_e2_402.lus | 2 +- offline_tests/DRAGON_10_e3_144_e5_2046.lus | 2 +- offline_tests/DRAGON_10_e3_3429.lus | 2 +- offline_tests/DRAGON_1_e1_5070.lus | 2 +- offline_tests/DRAGON_1_e2_1997.lus | 2 +- offline_tests/DRAGON_2.lus | 2 +- offline_tests/DRAGON_2_e1_2316.lus | 2 +- offline_tests/DRAGON_2_e2_3183_e1_2644.lus | 2 +- offline_tests/DRAGON_2_e2_3183_e2_3580.lus | 2 +- offline_tests/DRAGON_2_e2_3183_e3_5972.lus | 2 +- offline_tests/DRAGON_2_e2_4481.lus | 2 +- offline_tests/DRAGON_2_e7_25_e8_3171.lus | 2 +- offline_tests/DRAGON_3.lus | 2 +- offline_tests/DRAGON_3_e1_4783.lus | 2 +- offline_tests/DRAGON_3_e1_4783_e1_3755.lus | 2 +- offline_tests/DRAGON_3_e1_4783_e2_158.lus | 2 +- offline_tests/DRAGON_3_e1_4783_e3_511.lus | 2 +- offline_tests/DRAGON_3_e2_5343_e1_988.lus | 2 +- offline_tests/DRAGON_3_e3_3846.lus | 2 +- offline_tests/DRAGON_3_e3_5422_e1_2288.lus | 2 +- offline_tests/DRAGON_3_e3_5422_e2_3135.lus | 2 +- offline_tests/DRAGON_6.lus | 2 +- offline_tests/DRAGON_7.lus | 2 +- offline_tests/DRAGON_7_e2_2872_e2_5844.lus | 2 +- offline_tests/DRAGON_7_e2_2872_e3_2640.lus | 2 +- offline_tests/DRAGON_9.lus | 2 +- offline_tests/DRAGON_all.lus | 2 +- offline_tests/DRAGON_all_e1_4022_e1_1759.lus | 2 +- offline_tests/DRAGON_all_e1_4022_e2_267.lus | 2 +- offline_tests/DRAGON_all_e1_4022_e3_3628.lus | 2 +- offline_tests/DRAGON_all_e1_4037.lus | 2 +- offline_tests/DRAGON_all_e2_6104.lus | 2 +- offline_tests/DRAGON_all_e2_6104_e1_6205.lus | 2 +- offline_tests/DRAGON_all_e2_6104_e2_3308.lus | 2 +- offline_tests/DRAGON_all_e2_6104_e3_2607.lus | 2 +- offline_tests/DRAGON_all_e3_4821_e1_1318.lus | 2 +- offline_tests/DRAGON_all_e3_4821_e2_1089.lus | 2 +- offline_tests/DRAGON_all_e3_4821_e4_1791.lus | 2 +- offline_tests/DRAGON_all_e3_4821_e5_1536.lus | 2 +- offline_tests/DRAGON_all_e3_5957.lus | 2 +- offline_tests/FIREFLY_1.lus | 2 +- offline_tests/FIREFLY_10.lus | 2 +- offline_tests/FIREFLY_1_e1_1092_e2_1853.lus | 2 +- offline_tests/FIREFLY_2.lus | 2 +- offline_tests/FIREFLY_3.lus | 2 +- offline_tests/FIREFLY_3_e2_2236.lus | 2 +- offline_tests/FIREFLY_3_e2_2236_e1_2305.lus | 2 +- offline_tests/FIREFLY_3_e2_2236_e2_1058.lus | 2 +- offline_tests/FIREFLY_4.lus | 2 +- offline_tests/FIREFLY_5.lus | 2 +- offline_tests/FIREFLY_5_e2_2229.lus | 2 +- offline_tests/FIREFLY_5_e2_2884.lus | 2 +- offline_tests/FIREFLY_5_e2_2884_e1_2678.lus | 2 +- offline_tests/FIREFLY_5_e2_2884_e2_1492.lus | 2 +- offline_tests/FIREFLY_5_e2_2884_e3_1882.lus | 2 +- offline_tests/FIREFLY_8.lus | 2 +- offline_tests/FIREFLY_8_e2_1711.lus | 2 +- offline_tests/FIREFLY_8_e2_1711_e1_1489.lus | 2 +- offline_tests/FIREFLY_8_e2_1711_e2_2673.lus | 2 +- offline_tests/FIREFLY_8_e2_1711_e3_1753.lus | 2 +- offline_tests/FIREFLY_9.lus | 2 +- offline_tests/FIREFLY_a3.lus | 2 +- offline_tests/FIREFLY_a3_e1_3233_e2_2392.lus | 2 +- offline_tests/FIREFLY_a3_e1_3233_e3_2970.lus | 2 +- offline_tests/FIREFLY_a3_e2_2086_e1_3235.lus | 2 +- offline_tests/FIREFLY_a3_e2_2086_e2_2689.lus | 2 +- offline_tests/FIREFLY_a3_e2_2086_e3_2542.lus | 2 +- offline_tests/FIREFLY_a3_e2_2952.lus | 2 +- offline_tests/FIREFLY_a3_e3_314_e2_2812.lus | 2 +- offline_tests/FIREFLY_all.lus | 2 +- offline_tests/FIREFLY_all_e1_1207_e2_3220.lus | 2 +- offline_tests/FIREFLY_all_e2_2924_e1_768.lus | 2 +- offline_tests/FIREFLY_luke_1b.lus | 2 +- .../FIREFLY_luke_1b_e1_1139_e2_2893.lus | 2 +- .../FIREFLY_luke_1b_e2_3049_e1_946.lus | 2 +- .../FIREFLY_luke_1b_e3_671_e6_1974.lus | 2 +- .../FIREFLY_luke_1b_e7_3191_e8_2830.lus | 2 +- offline_tests/FIREFLY_luke_rt.lus | 2 +- .../FIREFLY_luke_rt_e1_913_e2_3353.lus | 2 +- .../FIREFLY_luke_rt_e2_3460_e1_1455.lus | 2 +- offline_tests/ILLINOIS_1.lus | 2 +- offline_tests/ILLINOIS_2.lus | 2 +- offline_tests/ILLINOIS_2_e1_834_e2_3395.lus | 2 +- offline_tests/ILLINOIS_2_e2_2367_e1_3182.lus | 2 +- offline_tests/ILLINOIS_3.lus | 2 +- offline_tests/ILLINOIS_4.lus | 2 +- offline_tests/ILLINOIS_5.lus | 2 +- offline_tests/ILLINOIS_all.lus | 2 +- offline_tests/MESI_1.lus | 2 +- offline_tests/MESI_2.lus | 2 +- offline_tests/MESI_3.lus | 2 +- offline_tests/MESI_3_e1_2517_e8_2163.lus | 2 +- offline_tests/MESI_3_e2_819_e1_1145.lus | 2 +- offline_tests/MESI_3_e2_819_e4_1595.lus | 2 +- offline_tests/MESI_3_e2_819_e6_1459.lus | 2 +- offline_tests/MESI_3_e3_2669.lus | 2 +- offline_tests/MESI_4.lus | 2 +- offline_tests/MESI_all.lus | 2 +- offline_tests/MOESI_1.lus | 2 +- offline_tests/MOESI_2.lus | 2 +- offline_tests/MOESI_2_e1_1753.lus | 2 +- offline_tests/MOESI_2_e2_155.lus | 2 +- offline_tests/MOESI_2_e2_1599.lus | 2 +- offline_tests/MOESI_2_e2_1599_e8_1334.lus | 2 +- offline_tests/MOESI_2_e3_1523.lus | 2 +- offline_tests/MOESI_2_e3_929.lus | 2 +- offline_tests/MOESI_2_e3_929_e4_578.lus | 2 +- offline_tests/MOESI_2_e3_929_e5_1826.lus | 2 +- offline_tests/MOESI_2_e3_929_e6_2707.lus | 2 +- offline_tests/MOESI_2_e3_929_e8_1167.lus | 2 +- offline_tests/MOESI_2_e7_2910_e8_2590.lus | 2 +- offline_tests/MOESI_2_e8_101.lus | 2 +- offline_tests/MOESI_2_e8_926.lus | 2 +- offline_tests/MOESI_2_e8_926_e1_1065.lus | 2 +- offline_tests/MOESI_2_e8_926_e2_349.lus | 2 +- offline_tests/MOESI_2_e8_926_e3_1758.lus | 2 +- offline_tests/MOESI_2_e8_926_e8_2138.lus | 2 +- offline_tests/MOESI_all.lus | 2 +- offline_tests/PRODUCER_CONSUMER_1.lus | 2 +- offline_tests/PRODUCER_CONSUMER_2.lus | 2 +- offline_tests/PRODUCER_CONSUMER_3.lus | 2 +- offline_tests/PRODUCER_CONSUMER_all.lus | 2 +- offline_tests/SYNAPSE_1.lus | 2 +- offline_tests/SYNAPSE_123.lus | 2 +- offline_tests/SYNAPSE_123_e8_953.lus | 2 +- offline_tests/SYNAPSE_123_e8_953_e8_941.lus | 2 +- offline_tests/SYNAPSE_2.lus | 2 +- offline_tests/SYNAPSE_2_e8_1118_e7_1043.lus | 2 +- offline_tests/SYNAPSE_2_e8_1118_e8_1177.lus | 2 +- offline_tests/SYNAPSE_2_e8_656.lus | 2 +- offline_tests/SYNAPSE_3.lus | 2 +- offline_tests/SYNAPSE_3_e8_1329_e8_320.lus | 2 +- offline_tests/SYNAPSE_3_e8_1708.lus | 2 +- offline_tests/SYNAPSE_4.lus | 2 +- offline_tests/SYNAPSE_4_e8_420_e7_572.lus | 2 +- offline_tests/SYNAPSE_4_e8_420_e8_1525.lus | 2 +- offline_tests/SYNAPSE_4_e8_974.lus | 2 +- offline_tests/SYNAPSE_all.lus | 2 +- offline_tests/SYNAPSE_all_e8_251.lus | 2 +- offline_tests/_6counters_e8_371_e2_80.lus | 2 +- offline_tests/car_1.lus | 2 +- offline_tests/car_2.lus | 2 +- offline_tests/car_3.lus | 2 +- offline_tests/car_3_e2_695.lus | 2 +- offline_tests/car_3_e2_777.lus | 2 +- offline_tests/car_3_e7_626.lus | 2 +- offline_tests/car_3_e8_33.lus | 2 +- offline_tests/car_3_e8_33_e2_1010.lus | 2 +- offline_tests/car_3_e8_33_e7_220.lus | 2 +- offline_tests/car_4.lus | 2 +- offline_tests/car_4_e3_57_e4_1047.lus | 2 +- offline_tests/car_4_e3_57_e6_784.lus | 2 +- offline_tests/car_4_e7_592.lus | 2 +- offline_tests/car_4_e8_118.lus | 2 +- offline_tests/car_all.lus | 2 +- offline_tests/car_all_e2_142.lus | 2 +- offline_tests/car_all_e3_1068_e4_275.lus | 2 +- offline_tests/car_all_e8_856.lus | 2 +- offline_tests/car_all_e8_856_e2_585.lus | 2 +- offline_tests/ccp02.lus | 2 +- offline_tests/ccp03.lus | 2 +- offline_tests/ccp04.lus | 2 +- offline_tests/ccp05.lus | 2 +- offline_tests/ccp06.lus | 2 +- offline_tests/ccp07.lus | 2 +- offline_tests/ccp09.lus | 2 +- offline_tests/ccp15.lus | 2 +- offline_tests/ccp16.lus | 2 +- offline_tests/ccp19.lus | 2 +- offline_tests/cd.lus | 2 +- offline_tests/counters.lus | 2 +- offline_tests/cruise_controller_01.lus | 2 +- offline_tests/cruise_controller_02.lus | 2 +- offline_tests/cruise_controller_03.lus | 2 +- offline_tests/cruise_controller_04.lus | 2 +- offline_tests/cruise_controller_05.lus | 2 +- offline_tests/cruise_controller_06.lus | 2 +- offline_tests/cruise_controller_07.lus | 2 +- offline_tests/cruise_controller_11.lus | 2 +- offline_tests/cruise_controller_13.lus | 2 +- offline_tests/durationThm_1_e2_3.lus | 2 +- offline_tests/durationThm_1_e3_389_e4_294.lus | 2 +- offline_tests/durationThm_1_e7_217_e2_352.lus | 2 +- offline_tests/durationThm_2_e2_63.lus | 2 +- offline_tests/durationThm_2_e3_329_e4_1.lus | 2 +- offline_tests/durationThm_2_e7_145_e2_169.lus | 2 +- offline_tests/durationThm_3_e2_148.lus | 2 +- offline_tests/durationThm_3_e2_63.lus | 2 +- offline_tests/durationThm_3_e3_207.lus | 2 +- offline_tests/durationThm_3_e3_442.lus | 2 +- offline_tests/durationThm_3_e3_442_e4_165.lus | 2 +- offline_tests/durationThm_3_e3_442_e5_260.lus | 2 +- offline_tests/durationThm_3_e7_334_e2_62.lus | 2 +- offline_tests/ex3_e7_590_e7_590.lus | 2 +- offline_tests/ex3_e7_655.lus | 2 +- offline_tests/ex3_e8_381.lus | 2 +- offline_tests/ex3_e8_381_e7_224.lus | 2 +- offline_tests/ex3_e8_381_e8_477.lus | 2 +- offline_tests/fast_1.lus | 2 +- offline_tests/fast_1_e8_747_e8_1041.lus | 2 +- offline_tests/fast_1_e8_751.lus | 2 +- offline_tests/fast_2.lus | 2 +- offline_tests/fast_2_e8_460_e8_1920.lus | 2 +- offline_tests/fast_2_e8_976.lus | 2 +- offline_tests/heater4.lus | 4 +- offline_tests/hysteresis_1.lus | 2 +- offline_tests/hysteresis_2.lus | 2 +- offline_tests/hysteresis_3.lus | 2 +- offline_tests/hysteresis_all.lus | 2 +- offline_tests/ignored | 982 +++++++++++++----- offline_tests/metros_1.lus | 2 +- offline_tests/metros_1_e1_846_e1_1317.lus | 2 +- offline_tests/metros_1_e1_846_e2_1394.lus | 2 +- offline_tests/metros_1_e1_846_e3_1060.lus | 2 +- offline_tests/metros_1_e1_846_e7_397.lus | 2 +- offline_tests/metros_1_e2_1102_e1_317.lus | 2 +- offline_tests/metros_1_e2_1102_e2_943.lus | 2 +- offline_tests/metros_1_e2_1102_e3_961.lus | 2 +- offline_tests/metros_1_e2_1102_e7_1163.lus | 2 +- offline_tests/metros_1_e2_627.lus | 2 +- offline_tests/metros_1_e7_1255_e7_12.lus | 2 +- offline_tests/metros_1_e7_606.lus | 2 +- offline_tests/metros_1_e8_725.lus | 2 +- offline_tests/metros_1_e8_725_e1_919.lus | 2 +- offline_tests/metros_1_e8_725_e2_1144.lus | 2 +- offline_tests/metros_1_e8_725_e3_556.lus | 2 +- offline_tests/metros_2_e1_1116_e2_617.lus | 2 +- offline_tests/metros_2_e2_704_e2_13.lus | 2 +- offline_tests/metros_3_e3_1275_e2_454.lus | 2 +- offline_tests/metros_3_e3_1275_e3_640.lus | 2 +- offline_tests/metros_4_e2_968_e2_1166.lus | 2 +- offline_tests/metros_4_e2_968_e3_931.lus | 2 +- offline_tests/metros_4_e3_1091_e2_1317.lus | 2 +- offline_tests/metros_4_e3_1091_e3_522.lus | 2 +- offline_tests/microwave01.lus | 2 +- offline_tests/microwave02.lus | 2 +- offline_tests/microwave03.lus | 2 +- offline_tests/microwave04.lus | 2 +- offline_tests/microwave05.lus | 2 +- offline_tests/microwave15.lus | 2 +- offline_tests/microwave16.lus | 2 +- offline_tests/peterson_1.lus | 2 +- offline_tests/peterson_2.lus | 2 +- offline_tests/peterson_3.lus | 2 +- offline_tests/peterson_4.lus | 2 +- offline_tests/peterson_all.lus | 2 +- offline_tests/readwrit.lus | 2 +- offline_tests/rtp_1.lus | 2 +- offline_tests/rtp_10.lus | 2 +- offline_tests/rtp_2.lus | 2 +- offline_tests/rtp_3.lus | 2 +- offline_tests/rtp_4.lus | 2 +- offline_tests/rtp_5.lus | 2 +- offline_tests/rtp_6.lus | 2 +- offline_tests/rtp_7.lus | 2 +- offline_tests/rtp_8.lus | 2 +- offline_tests/rtp_9.lus | 2 +- offline_tests/rtp_all.lus | 2 +- offline_tests/speed2.lus | 2 +- offline_tests/speed2_e7_223_e7_213.lus | 2 +- offline_tests/speed2_e7_223_e8_329.lus | 2 +- offline_tests/speed2_e7_496.lus | 2 +- offline_tests/speed2_e8_449.lus | 2 +- offline_tests/speed2_e8_449_e7_353.lus | 2 +- offline_tests/speed2_e8_449_e8_517.lus | 2 +- offline_tests/speed2_e8_750.lus | 2 +- offline_tests/speed_e7_207.lus | 2 +- offline_tests/speed_e7_207_e7_538.lus | 2 +- offline_tests/speed_e7_207_e8_507.lus | 2 +- offline_tests/speed_e7_492.lus | 2 +- offline_tests/speed_e8_649.lus | 2 +- offline_tests/speed_e8_649_e7_709.lus | 2 +- offline_tests/stalmark.lus | 2 +- offline_tests/stalmark_e7_27.lus | 2 +- offline_tests/stalmark_e7_27_e7_31.lus | 2 +- offline_tests/stalmark_e7_76.lus | 2 +- .../steam_boiler_no_arr2_e6_3003_e4_15091.lus | 2 +- offline_tests/switch.lus | 22 +- offline_tests/switch2.lus | 22 +- offline_tests/test.ml | 9 +- offline_tests/ticket3i_1.lus | 2 +- offline_tests/ticket3i_2.lus | 2 +- offline_tests/ticket3i_3.lus | 2 +- offline_tests/ticket3i_3_e7_1312_e8_1916.lus | 2 +- offline_tests/ticket3i_3_e8_1703.lus | 2 +- offline_tests/ticket3i_3_e8_1703_e8_2560.lus | 2 +- offline_tests/ticket3i_3_e8_1788.lus | 2 +- offline_tests/ticket3i_4.lus | 2 +- offline_tests/ticket3i_5.lus | 2 +- offline_tests/ticket3i_6.lus | 2 +- offline_tests/ticket3i_7_e1_2192_e1_1852.lus | 2 +- offline_tests/ticket3i_all.lus | 2 +- offline_tests/traffic.lus | 2 +- offline_tests/tramway.lus | 2 +- offline_tests/tramway_e7_1834.lus | 2 +- offline_tests/tramway_e7_1834_e7_2363.lus | 2 +- offline_tests/tramway_e7_1834_e8_3192.lus | 2 +- offline_tests/tramway_e7_3304.lus | 2 +- offline_tests/two_counters.lus | 2 +- offline_tests/ums.lus | 2 +- offline_tests/ums_e8_1032.lus | 2 +- src/backends/C/c_backend_spec.ml | 22 +- 307 files changed, 1045 insertions(+), 618 deletions(-) diff --git a/offline_tests/DRAGON_1.lus b/offline_tests/DRAGON_1.lus index 42ebe80b..9eca443b 100644 --- a/offline_tests/DRAGON_1.lus +++ b/offline_tests/DRAGON_1.lus @@ -94,7 +94,7 @@ tel node top( e01, e02, e03, e04, e05, e06, e07, e08, e09, e10, e11, e12 : bool; init_invalid : int ) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var exclusive, shared, shared_dirty, dirty, invalid : int; erreur : bool; let diff --git a/offline_tests/DRAGON_10.lus b/offline_tests/DRAGON_10.lus index 89106475..3a5d625c 100644 --- a/offline_tests/DRAGON_10.lus +++ b/offline_tests/DRAGON_10.lus @@ -95,7 +95,7 @@ tel -- Not provable with luke-bitvec node top( e01, e02, e03, e04, e05, e06, e07, e08, e09, e10, e11, e12 : bool; init_invalid : int ) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var exclusive, shared, shared_dirty, dirty, invalid : int; erreur : bool; env : bool; diff --git a/offline_tests/DRAGON_10_e1_3587_e3_2749.lus b/offline_tests/DRAGON_10_e1_3587_e3_2749.lus index 2b4710ae..98e56420 100644 --- a/offline_tests/DRAGON_10_e1_3587_e3_2749.lus +++ b/offline_tests/DRAGON_10_e1_3587_e3_2749.lus @@ -83,7 +83,7 @@ let tel node top( e01, e02, e03, e04, e05, e06, e07, e08, e09, e10, e11, e12 : bool; init_invalid : int ) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var exclusive, shared, shared_dirty, dirty, invalid : int; erreur : bool; env : bool; diff --git a/offline_tests/DRAGON_10_e1_998.lus b/offline_tests/DRAGON_10_e1_998.lus index cedd86b2..4f656dd1 100644 --- a/offline_tests/DRAGON_10_e1_998.lus +++ b/offline_tests/DRAGON_10_e1_998.lus @@ -83,7 +83,7 @@ let tel node top( e01, e02, e03, e04, e05, e06, e07, e08, e09, e10, e11, e12 : bool; init_invalid : int ) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var exclusive, shared, shared_dirty, dirty, invalid : int; erreur : bool; env : bool; diff --git a/offline_tests/DRAGON_10_e2_2785_e3_1744.lus b/offline_tests/DRAGON_10_e2_2785_e3_1744.lus index 448bdf45..ea84210b 100644 --- a/offline_tests/DRAGON_10_e2_2785_e3_1744.lus +++ b/offline_tests/DRAGON_10_e2_2785_e3_1744.lus @@ -83,7 +83,7 @@ let tel node top( e01, e02, e03, e04, e05, e06, e07, e08, e09, e10, e11, e12 : bool; init_invalid : int ) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var exclusive, shared, shared_dirty, dirty, invalid : int; erreur : bool; env : bool; diff --git a/offline_tests/DRAGON_10_e2_402.lus b/offline_tests/DRAGON_10_e2_402.lus index 5d4db224..b93e428d 100644 --- a/offline_tests/DRAGON_10_e2_402.lus +++ b/offline_tests/DRAGON_10_e2_402.lus @@ -83,7 +83,7 @@ let tel node top( e01, e02, e03, e04, e05, e06, e07, e08, e09, e10, e11, e12 : bool; init_invalid : int ) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var exclusive, shared, shared_dirty, dirty, invalid : int; erreur : bool; env : bool; diff --git a/offline_tests/DRAGON_10_e3_144_e5_2046.lus b/offline_tests/DRAGON_10_e3_144_e5_2046.lus index 31cec036..f423cfcb 100644 --- a/offline_tests/DRAGON_10_e3_144_e5_2046.lus +++ b/offline_tests/DRAGON_10_e3_144_e5_2046.lus @@ -83,7 +83,7 @@ let tel node top( e01, e02, e03, e04, e05, e06, e07, e08, e09, e10, e11, e12 : bool; init_invalid : int ) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var exclusive, shared, shared_dirty, dirty, invalid : int; erreur : bool; env : bool; diff --git a/offline_tests/DRAGON_10_e3_3429.lus b/offline_tests/DRAGON_10_e3_3429.lus index f53af9fc..5f48ee43 100644 --- a/offline_tests/DRAGON_10_e3_3429.lus +++ b/offline_tests/DRAGON_10_e3_3429.lus @@ -83,7 +83,7 @@ let tel node top( e01, e02, e03, e04, e05, e06, e07, e08, e09, e10, e11, e12 : bool; init_invalid : int ) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var exclusive, shared, shared_dirty, dirty, invalid : int; erreur : bool; env : bool; diff --git a/offline_tests/DRAGON_1_e1_5070.lus b/offline_tests/DRAGON_1_e1_5070.lus index 466636e1..7670834c 100644 --- a/offline_tests/DRAGON_1_e1_5070.lus +++ b/offline_tests/DRAGON_1_e1_5070.lus @@ -83,7 +83,7 @@ let tel node top( e01, e02, e03, e04, e05, e06, e07, e08, e09, e10, e11, e12 : bool; init_invalid : int ) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var exclusive, shared, shared_dirty, dirty, invalid : int; erreur : bool; let diff --git a/offline_tests/DRAGON_1_e2_1997.lus b/offline_tests/DRAGON_1_e2_1997.lus index d91e6cf1..175b69ed 100644 --- a/offline_tests/DRAGON_1_e2_1997.lus +++ b/offline_tests/DRAGON_1_e2_1997.lus @@ -82,7 +82,7 @@ let tel node top( e01, e02, e03, e04, e05, e06, e07, e08, e09, e10, e11, e12 : bool; init_invalid : int ) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var exclusive, shared, shared_dirty, dirty, invalid : int; erreur : bool; let diff --git a/offline_tests/DRAGON_2.lus b/offline_tests/DRAGON_2.lus index 56f22c53..dbf20fbd 100644 --- a/offline_tests/DRAGON_2.lus +++ b/offline_tests/DRAGON_2.lus @@ -94,7 +94,7 @@ tel node top( e01, e02, e03, e04, e05, e06, e07, e08, e09, e10, e11, e12 : bool; init_invalid : int ) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var exclusive, shared, shared_dirty, dirty, invalid : int; erreur : bool; env : bool; diff --git a/offline_tests/DRAGON_2_e1_2316.lus b/offline_tests/DRAGON_2_e1_2316.lus index 0216eb2b..511cea81 100644 --- a/offline_tests/DRAGON_2_e1_2316.lus +++ b/offline_tests/DRAGON_2_e1_2316.lus @@ -83,7 +83,7 @@ let tel node top( e01, e02, e03, e04, e05, e06, e07, e08, e09, e10, e11, e12 : bool; init_invalid : int ) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var exclusive, shared, shared_dirty, dirty, invalid : int; erreur : bool; env : bool; diff --git a/offline_tests/DRAGON_2_e2_3183_e1_2644.lus b/offline_tests/DRAGON_2_e2_3183_e1_2644.lus index 1d523cf5..3d5402e1 100644 --- a/offline_tests/DRAGON_2_e2_3183_e1_2644.lus +++ b/offline_tests/DRAGON_2_e2_3183_e1_2644.lus @@ -83,7 +83,7 @@ let tel node top( e01, e02, e03, e04, e05, e06, e07, e08, e09, e10, e11, e12 : bool; init_invalid : int ) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var exclusive, shared, shared_dirty, dirty, invalid : int; erreur : bool; env : bool; diff --git a/offline_tests/DRAGON_2_e2_3183_e2_3580.lus b/offline_tests/DRAGON_2_e2_3183_e2_3580.lus index f8e39ae5..7c3c611b 100644 --- a/offline_tests/DRAGON_2_e2_3183_e2_3580.lus +++ b/offline_tests/DRAGON_2_e2_3183_e2_3580.lus @@ -83,7 +83,7 @@ let tel node top( e01, e02, e03, e04, e05, e06, e07, e08, e09, e10, e11, e12 : bool; init_invalid : int ) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var exclusive, shared, shared_dirty, dirty, invalid : int; erreur : bool; env : bool; diff --git a/offline_tests/DRAGON_2_e2_3183_e3_5972.lus b/offline_tests/DRAGON_2_e2_3183_e3_5972.lus index b872109f..b124e5aa 100644 --- a/offline_tests/DRAGON_2_e2_3183_e3_5972.lus +++ b/offline_tests/DRAGON_2_e2_3183_e3_5972.lus @@ -83,7 +83,7 @@ let tel node top( e01, e02, e03, e04, e05, e06, e07, e08, e09, e10, e11, e12 : bool; init_invalid : int ) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var exclusive, shared, shared_dirty, dirty, invalid : int; erreur : bool; env : bool; diff --git a/offline_tests/DRAGON_2_e2_4481.lus b/offline_tests/DRAGON_2_e2_4481.lus index 1909322b..7d1042e7 100644 --- a/offline_tests/DRAGON_2_e2_4481.lus +++ b/offline_tests/DRAGON_2_e2_4481.lus @@ -83,7 +83,7 @@ let tel node top( e01, e02, e03, e04, e05, e06, e07, e08, e09, e10, e11, e12 : bool; init_invalid : int ) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var exclusive, shared, shared_dirty, dirty, invalid : int; erreur : bool; env : bool; diff --git a/offline_tests/DRAGON_2_e7_25_e8_3171.lus b/offline_tests/DRAGON_2_e7_25_e8_3171.lus index f8bdbede..f59ceb1b 100644 --- a/offline_tests/DRAGON_2_e7_25_e8_3171.lus +++ b/offline_tests/DRAGON_2_e7_25_e8_3171.lus @@ -83,7 +83,7 @@ let tel node top( e01, e02, e03, e04, e05, e06, e07, e08, e09, e10, e11, e12 : bool; init_invalid : int ) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var exclusive, shared, shared_dirty, dirty, invalid : int; erreur : bool; env : bool; diff --git a/offline_tests/DRAGON_3.lus b/offline_tests/DRAGON_3.lus index 5927c29a..05973d13 100644 --- a/offline_tests/DRAGON_3.lus +++ b/offline_tests/DRAGON_3.lus @@ -102,7 +102,7 @@ tel node top( e01, e02, e03, e04, e05, e06, e07, e08, e09, e10, e11, e12 : bool; init_invalid : int ) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var exclusive, shared, shared_dirty, dirty, invalid : int; erreur : bool; env : bool; diff --git a/offline_tests/DRAGON_3_e1_4783.lus b/offline_tests/DRAGON_3_e1_4783.lus index b1db6758..f5358d9d 100644 --- a/offline_tests/DRAGON_3_e1_4783.lus +++ b/offline_tests/DRAGON_3_e1_4783.lus @@ -87,7 +87,7 @@ let tel node top( e01, e02, e03, e04, e05, e06, e07, e08, e09, e10, e11, e12 : bool; init_invalid : int ) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var exclusive, shared, shared_dirty, dirty, invalid : int; erreur : bool; env : bool; diff --git a/offline_tests/DRAGON_3_e1_4783_e1_3755.lus b/offline_tests/DRAGON_3_e1_4783_e1_3755.lus index 7a666ccf..4c23b900 100644 --- a/offline_tests/DRAGON_3_e1_4783_e1_3755.lus +++ b/offline_tests/DRAGON_3_e1_4783_e1_3755.lus @@ -87,7 +87,7 @@ let tel node top( e01, e02, e03, e04, e05, e06, e07, e08, e09, e10, e11, e12 : bool; init_invalid : int ) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var exclusive, shared, shared_dirty, dirty, invalid : int; erreur : bool; env : bool; diff --git a/offline_tests/DRAGON_3_e1_4783_e2_158.lus b/offline_tests/DRAGON_3_e1_4783_e2_158.lus index b636f732..a5314027 100644 --- a/offline_tests/DRAGON_3_e1_4783_e2_158.lus +++ b/offline_tests/DRAGON_3_e1_4783_e2_158.lus @@ -87,7 +87,7 @@ let tel node top( e01, e02, e03, e04, e05, e06, e07, e08, e09, e10, e11, e12 : bool; init_invalid : int ) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var exclusive, shared, shared_dirty, dirty, invalid : int; erreur : bool; env : bool; diff --git a/offline_tests/DRAGON_3_e1_4783_e3_511.lus b/offline_tests/DRAGON_3_e1_4783_e3_511.lus index 9827b465..029f4422 100644 --- a/offline_tests/DRAGON_3_e1_4783_e3_511.lus +++ b/offline_tests/DRAGON_3_e1_4783_e3_511.lus @@ -87,7 +87,7 @@ let tel node top( e01, e02, e03, e04, e05, e06, e07, e08, e09, e10, e11, e12 : bool; init_invalid : int ) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var exclusive, shared, shared_dirty, dirty, invalid : int; erreur : bool; env : bool; diff --git a/offline_tests/DRAGON_3_e2_5343_e1_988.lus b/offline_tests/DRAGON_3_e2_5343_e1_988.lus index ddea8c12..2dd1c5e6 100644 --- a/offline_tests/DRAGON_3_e2_5343_e1_988.lus +++ b/offline_tests/DRAGON_3_e2_5343_e1_988.lus @@ -87,7 +87,7 @@ let tel node top( e01, e02, e03, e04, e05, e06, e07, e08, e09, e10, e11, e12 : bool; init_invalid : int ) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var exclusive, shared, shared_dirty, dirty, invalid : int; erreur : bool; env : bool; diff --git a/offline_tests/DRAGON_3_e3_3846.lus b/offline_tests/DRAGON_3_e3_3846.lus index c265ee17..c24841a6 100644 --- a/offline_tests/DRAGON_3_e3_3846.lus +++ b/offline_tests/DRAGON_3_e3_3846.lus @@ -87,7 +87,7 @@ let tel node top( e01, e02, e03, e04, e05, e06, e07, e08, e09, e10, e11, e12 : bool; init_invalid : int ) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var exclusive, shared, shared_dirty, dirty, invalid : int; erreur : bool; env : bool; diff --git a/offline_tests/DRAGON_3_e3_5422_e1_2288.lus b/offline_tests/DRAGON_3_e3_5422_e1_2288.lus index 226e2e76..10fd8825 100644 --- a/offline_tests/DRAGON_3_e3_5422_e1_2288.lus +++ b/offline_tests/DRAGON_3_e3_5422_e1_2288.lus @@ -87,7 +87,7 @@ let tel node top( e01, e02, e03, e04, e05, e06, e07, e08, e09, e10, e11, e12 : bool; init_invalid : int ) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var exclusive, shared, shared_dirty, dirty, invalid : int; erreur : bool; env : bool; diff --git a/offline_tests/DRAGON_3_e3_5422_e2_3135.lus b/offline_tests/DRAGON_3_e3_5422_e2_3135.lus index e7cee1bb..5e9428a0 100644 --- a/offline_tests/DRAGON_3_e3_5422_e2_3135.lus +++ b/offline_tests/DRAGON_3_e3_5422_e2_3135.lus @@ -87,7 +87,7 @@ let tel node top( e01, e02, e03, e04, e05, e06, e07, e08, e09, e10, e11, e12 : bool; init_invalid : int ) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var exclusive, shared, shared_dirty, dirty, invalid : int; erreur : bool; env : bool; diff --git a/offline_tests/DRAGON_6.lus b/offline_tests/DRAGON_6.lus index 2cd5978a..ff8e404b 100644 --- a/offline_tests/DRAGON_6.lus +++ b/offline_tests/DRAGON_6.lus @@ -94,7 +94,7 @@ tel node top( e01, e02, e03, e04, e05, e06, e07, e08, e09, e10, e11, e12 : bool; init_invalid : int ) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var exclusive, shared, shared_dirty, dirty, invalid : int; erreur : bool; env : bool; diff --git a/offline_tests/DRAGON_7.lus b/offline_tests/DRAGON_7.lus index f5aba556..dcdd3f5e 100644 --- a/offline_tests/DRAGON_7.lus +++ b/offline_tests/DRAGON_7.lus @@ -95,7 +95,7 @@ tel -- Not provable with luke-bitvec node top( e01, e02, e03, e04, e05, e06, e07, e08, e09, e10, e11, e12 : bool; init_invalid : int ) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var exclusive, shared, shared_dirty, dirty, invalid : int; erreur : bool; env : bool; diff --git a/offline_tests/DRAGON_7_e2_2872_e2_5844.lus b/offline_tests/DRAGON_7_e2_2872_e2_5844.lus index 072b3d28..44a20854 100644 --- a/offline_tests/DRAGON_7_e2_2872_e2_5844.lus +++ b/offline_tests/DRAGON_7_e2_2872_e2_5844.lus @@ -83,7 +83,7 @@ let tel node top( e01, e02, e03, e04, e05, e06, e07, e08, e09, e10, e11, e12 : bool; init_invalid : int ) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var exclusive, shared, shared_dirty, dirty, invalid : int; erreur : bool; env : bool; diff --git a/offline_tests/DRAGON_7_e2_2872_e3_2640.lus b/offline_tests/DRAGON_7_e2_2872_e3_2640.lus index 1bac970b..27c4fa98 100644 --- a/offline_tests/DRAGON_7_e2_2872_e3_2640.lus +++ b/offline_tests/DRAGON_7_e2_2872_e3_2640.lus @@ -83,7 +83,7 @@ let tel node top( e01, e02, e03, e04, e05, e06, e07, e08, e09, e10, e11, e12 : bool; init_invalid : int ) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var exclusive, shared, shared_dirty, dirty, invalid : int; erreur : bool; env : bool; diff --git a/offline_tests/DRAGON_9.lus b/offline_tests/DRAGON_9.lus index f0d31ea6..36ff872d 100644 --- a/offline_tests/DRAGON_9.lus +++ b/offline_tests/DRAGON_9.lus @@ -95,7 +95,7 @@ tel -- Not provable with luke-bitvec node top( e01, e02, e03, e04, e05, e06, e07, e08, e09, e10, e11, e12 : bool; init_invalid : int ) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var exclusive, shared, shared_dirty, dirty, invalid : int; erreur : bool; env : bool; diff --git a/offline_tests/DRAGON_all.lus b/offline_tests/DRAGON_all.lus index c4957848..eace68f4 100644 --- a/offline_tests/DRAGON_all.lus +++ b/offline_tests/DRAGON_all.lus @@ -103,7 +103,7 @@ tel node top( e01, e02, e03, e04, e05, e06, e07, e08, e09, e10, e11, e12 : bool; init_invalid : int ) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var exclusive, shared, shared_dirty, dirty, invalid : int; erreur : bool; env : bool; diff --git a/offline_tests/DRAGON_all_e1_4022_e1_1759.lus b/offline_tests/DRAGON_all_e1_4022_e1_1759.lus index edcecd3f..9f75bcd8 100644 --- a/offline_tests/DRAGON_all_e1_4022_e1_1759.lus +++ b/offline_tests/DRAGON_all_e1_4022_e1_1759.lus @@ -88,7 +88,7 @@ tel node top( e01, e02, e03, e04, e05, e06, e07, e08, e09, e10, e11, e12 : bool; init_invalid : int ) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var exclusive, shared, shared_dirty, dirty, invalid : int; erreur : bool; env : bool; diff --git a/offline_tests/DRAGON_all_e1_4022_e2_267.lus b/offline_tests/DRAGON_all_e1_4022_e2_267.lus index 479176aa..5025b27f 100644 --- a/offline_tests/DRAGON_all_e1_4022_e2_267.lus +++ b/offline_tests/DRAGON_all_e1_4022_e2_267.lus @@ -88,7 +88,7 @@ tel node top( e01, e02, e03, e04, e05, e06, e07, e08, e09, e10, e11, e12 : bool; init_invalid : int ) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var exclusive, shared, shared_dirty, dirty, invalid : int; erreur : bool; env : bool; diff --git a/offline_tests/DRAGON_all_e1_4022_e3_3628.lus b/offline_tests/DRAGON_all_e1_4022_e3_3628.lus index 88451ee5..bd89765c 100644 --- a/offline_tests/DRAGON_all_e1_4022_e3_3628.lus +++ b/offline_tests/DRAGON_all_e1_4022_e3_3628.lus @@ -88,7 +88,7 @@ tel node top( e01, e02, e03, e04, e05, e06, e07, e08, e09, e10, e11, e12 : bool; init_invalid : int ) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var exclusive, shared, shared_dirty, dirty, invalid : int; erreur : bool; env : bool; diff --git a/offline_tests/DRAGON_all_e1_4037.lus b/offline_tests/DRAGON_all_e1_4037.lus index 5cdd1ab0..cba703d5 100644 --- a/offline_tests/DRAGON_all_e1_4037.lus +++ b/offline_tests/DRAGON_all_e1_4037.lus @@ -88,7 +88,7 @@ tel node top( e01, e02, e03, e04, e05, e06, e07, e08, e09, e10, e11, e12 : bool; init_invalid : int ) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var exclusive, shared, shared_dirty, dirty, invalid : int; erreur : bool; env : bool; diff --git a/offline_tests/DRAGON_all_e2_6104.lus b/offline_tests/DRAGON_all_e2_6104.lus index 1af9e87a..09fb573c 100644 --- a/offline_tests/DRAGON_all_e2_6104.lus +++ b/offline_tests/DRAGON_all_e2_6104.lus @@ -88,7 +88,7 @@ tel node top( e01, e02, e03, e04, e05, e06, e07, e08, e09, e10, e11, e12 : bool; init_invalid : int ) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var exclusive, shared, shared_dirty, dirty, invalid : int; erreur : bool; env : bool; diff --git a/offline_tests/DRAGON_all_e2_6104_e1_6205.lus b/offline_tests/DRAGON_all_e2_6104_e1_6205.lus index 862513c4..732c6608 100644 --- a/offline_tests/DRAGON_all_e2_6104_e1_6205.lus +++ b/offline_tests/DRAGON_all_e2_6104_e1_6205.lus @@ -88,7 +88,7 @@ tel node top( e01, e02, e03, e04, e05, e06, e07, e08, e09, e10, e11, e12 : bool; init_invalid : int ) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var exclusive, shared, shared_dirty, dirty, invalid : int; erreur : bool; env : bool; diff --git a/offline_tests/DRAGON_all_e2_6104_e2_3308.lus b/offline_tests/DRAGON_all_e2_6104_e2_3308.lus index 913649f9..b1583ee0 100644 --- a/offline_tests/DRAGON_all_e2_6104_e2_3308.lus +++ b/offline_tests/DRAGON_all_e2_6104_e2_3308.lus @@ -88,7 +88,7 @@ tel node top( e01, e02, e03, e04, e05, e06, e07, e08, e09, e10, e11, e12 : bool; init_invalid : int ) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var exclusive, shared, shared_dirty, dirty, invalid : int; erreur : bool; env : bool; diff --git a/offline_tests/DRAGON_all_e2_6104_e3_2607.lus b/offline_tests/DRAGON_all_e2_6104_e3_2607.lus index e382d85c..d9203e6d 100644 --- a/offline_tests/DRAGON_all_e2_6104_e3_2607.lus +++ b/offline_tests/DRAGON_all_e2_6104_e3_2607.lus @@ -88,7 +88,7 @@ tel node top( e01, e02, e03, e04, e05, e06, e07, e08, e09, e10, e11, e12 : bool; init_invalid : int ) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var exclusive, shared, shared_dirty, dirty, invalid : int; erreur : bool; env : bool; diff --git a/offline_tests/DRAGON_all_e3_4821_e1_1318.lus b/offline_tests/DRAGON_all_e3_4821_e1_1318.lus index 20f787e0..dddaf0fb 100644 --- a/offline_tests/DRAGON_all_e3_4821_e1_1318.lus +++ b/offline_tests/DRAGON_all_e3_4821_e1_1318.lus @@ -88,7 +88,7 @@ tel node top( e01, e02, e03, e04, e05, e06, e07, e08, e09, e10, e11, e12 : bool; init_invalid : int ) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var exclusive, shared, shared_dirty, dirty, invalid : int; erreur : bool; env : bool; diff --git a/offline_tests/DRAGON_all_e3_4821_e2_1089.lus b/offline_tests/DRAGON_all_e3_4821_e2_1089.lus index 9d77bbf3..835e5865 100644 --- a/offline_tests/DRAGON_all_e3_4821_e2_1089.lus +++ b/offline_tests/DRAGON_all_e3_4821_e2_1089.lus @@ -88,7 +88,7 @@ tel node top( e01, e02, e03, e04, e05, e06, e07, e08, e09, e10, e11, e12 : bool; init_invalid : int ) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var exclusive, shared, shared_dirty, dirty, invalid : int; erreur : bool; env : bool; diff --git a/offline_tests/DRAGON_all_e3_4821_e4_1791.lus b/offline_tests/DRAGON_all_e3_4821_e4_1791.lus index abe55e7b..9dcd1c0c 100644 --- a/offline_tests/DRAGON_all_e3_4821_e4_1791.lus +++ b/offline_tests/DRAGON_all_e3_4821_e4_1791.lus @@ -88,7 +88,7 @@ tel node top( e01, e02, e03, e04, e05, e06, e07, e08, e09, e10, e11, e12 : bool; init_invalid : int ) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var exclusive, shared, shared_dirty, dirty, invalid : int; erreur : bool; env : bool; diff --git a/offline_tests/DRAGON_all_e3_4821_e5_1536.lus b/offline_tests/DRAGON_all_e3_4821_e5_1536.lus index 8b7230db..4dc048d3 100644 --- a/offline_tests/DRAGON_all_e3_4821_e5_1536.lus +++ b/offline_tests/DRAGON_all_e3_4821_e5_1536.lus @@ -88,7 +88,7 @@ tel node top( e01, e02, e03, e04, e05, e06, e07, e08, e09, e10, e11, e12 : bool; init_invalid : int ) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var exclusive, shared, shared_dirty, dirty, invalid : int; erreur : bool; env : bool; diff --git a/offline_tests/DRAGON_all_e3_5957.lus b/offline_tests/DRAGON_all_e3_5957.lus index 7eac2360..08f4bbeb 100644 --- a/offline_tests/DRAGON_all_e3_5957.lus +++ b/offline_tests/DRAGON_all_e3_5957.lus @@ -88,7 +88,7 @@ tel node top( e01, e02, e03, e04, e05, e06, e07, e08, e09, e10, e11, e12 : bool; init_invalid : int ) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var exclusive, shared, shared_dirty, dirty, invalid : int; erreur : bool; env : bool; diff --git a/offline_tests/FIREFLY_1.lus b/offline_tests/FIREFLY_1.lus index bd939ced..1b1d6588 100644 --- a/offline_tests/FIREFLY_1.lus +++ b/offline_tests/FIREFLY_1.lus @@ -74,7 +74,7 @@ tel node top(e1, e2, e3, e4, e5, e6, e7, e8 : bool; i_invalid : int) returns( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var invalid, dirty, exclusive, shared : int; env : bool; let diff --git a/offline_tests/FIREFLY_10.lus b/offline_tests/FIREFLY_10.lus index 18cb3c1b..32b524d8 100644 --- a/offline_tests/FIREFLY_10.lus +++ b/offline_tests/FIREFLY_10.lus @@ -75,7 +75,7 @@ tel -- Not provable in luke-bitvec node top(e1, e2, e3, e4, e5, e6, e7, e8 : bool; i_invalid : int) returns( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var invalid, dirty, exclusive, shared : int; env : bool; let diff --git a/offline_tests/FIREFLY_1_e1_1092_e2_1853.lus b/offline_tests/FIREFLY_1_e1_1092_e2_1853.lus index ed84e7ec..54f6228a 100644 --- a/offline_tests/FIREFLY_1_e1_1092_e2_1853.lus +++ b/offline_tests/FIREFLY_1_e1_1092_e2_1853.lus @@ -61,7 +61,7 @@ let tel node top(e1, e2, e3, e4, e5, e6, e7, e8 : bool; i_invalid : int) returns( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var invalid, dirty, exclusive, shared : int; env : bool; let diff --git a/offline_tests/FIREFLY_2.lus b/offline_tests/FIREFLY_2.lus index 3b446311..bfa923eb 100644 --- a/offline_tests/FIREFLY_2.lus +++ b/offline_tests/FIREFLY_2.lus @@ -82,7 +82,7 @@ tel node top(e1, e2, e3, e4, e5, e6, e7, e8 : bool; i_invalid : int) returns( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var invalid, dirty, exclusive, shared : int; env : bool; let diff --git a/offline_tests/FIREFLY_3.lus b/offline_tests/FIREFLY_3.lus index 7656b5fa..6f4d84e6 100644 --- a/offline_tests/FIREFLY_3.lus +++ b/offline_tests/FIREFLY_3.lus @@ -83,7 +83,7 @@ tel -- Not provable in luke-bitvec node top(e1, e2, e3, e4, e5, e6, e7, e8 : bool; i_invalid : int) returns( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var invalid, dirty, exclusive, shared : int; env : bool; procs : int; diff --git a/offline_tests/FIREFLY_3_e2_2236.lus b/offline_tests/FIREFLY_3_e2_2236.lus index 49b3f491..54cf49a2 100644 --- a/offline_tests/FIREFLY_3_e2_2236.lus +++ b/offline_tests/FIREFLY_3_e2_2236.lus @@ -65,7 +65,7 @@ let tel node top(e1, e2, e3, e4, e5, e6, e7, e8 : bool; i_invalid : int) returns( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var invalid, dirty, exclusive, shared : int; env : bool; procs : int; diff --git a/offline_tests/FIREFLY_3_e2_2236_e1_2305.lus b/offline_tests/FIREFLY_3_e2_2236_e1_2305.lus index e4863bc5..3dae3b0e 100644 --- a/offline_tests/FIREFLY_3_e2_2236_e1_2305.lus +++ b/offline_tests/FIREFLY_3_e2_2236_e1_2305.lus @@ -65,7 +65,7 @@ let tel node top(e1, e2, e3, e4, e5, e6, e7, e8 : bool; i_invalid : int) returns( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var invalid, dirty, exclusive, shared : int; env : bool; procs : int; diff --git a/offline_tests/FIREFLY_3_e2_2236_e2_1058.lus b/offline_tests/FIREFLY_3_e2_2236_e2_1058.lus index f1f97e22..58c31761 100644 --- a/offline_tests/FIREFLY_3_e2_2236_e2_1058.lus +++ b/offline_tests/FIREFLY_3_e2_2236_e2_1058.lus @@ -65,7 +65,7 @@ let tel node top(e1, e2, e3, e4, e5, e6, e7, e8 : bool; i_invalid : int) returns( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var invalid, dirty, exclusive, shared : int; env : bool; procs : int; diff --git a/offline_tests/FIREFLY_4.lus b/offline_tests/FIREFLY_4.lus index 5a67c87d..b60e4ba5 100644 --- a/offline_tests/FIREFLY_4.lus +++ b/offline_tests/FIREFLY_4.lus @@ -82,7 +82,7 @@ tel node top(e1, e2, e3, e4, e5, e6, e7, e8 : bool; i_invalid : int) returns( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var invalid, dirty, exclusive, shared : int; env : bool; procs : int; diff --git a/offline_tests/FIREFLY_5.lus b/offline_tests/FIREFLY_5.lus index 15f23c71..e854b885 100644 --- a/offline_tests/FIREFLY_5.lus +++ b/offline_tests/FIREFLY_5.lus @@ -75,7 +75,7 @@ tel -- Not provable in luke-bitvec node top(e1, e2, e3, e4, e5, e6, e7, e8 : bool; i_invalid : int) returns( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var invalid, dirty, exclusive, shared : int; env : bool; let diff --git a/offline_tests/FIREFLY_5_e2_2229.lus b/offline_tests/FIREFLY_5_e2_2229.lus index cfe8ae48..9a307a7f 100644 --- a/offline_tests/FIREFLY_5_e2_2229.lus +++ b/offline_tests/FIREFLY_5_e2_2229.lus @@ -61,7 +61,7 @@ let tel node top(e1, e2, e3, e4, e5, e6, e7, e8 : bool; i_invalid : int) returns( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var invalid, dirty, exclusive, shared : int; env : bool; let diff --git a/offline_tests/FIREFLY_5_e2_2884.lus b/offline_tests/FIREFLY_5_e2_2884.lus index cfe8ae48..9a307a7f 100644 --- a/offline_tests/FIREFLY_5_e2_2884.lus +++ b/offline_tests/FIREFLY_5_e2_2884.lus @@ -61,7 +61,7 @@ let tel node top(e1, e2, e3, e4, e5, e6, e7, e8 : bool; i_invalid : int) returns( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var invalid, dirty, exclusive, shared : int; env : bool; let diff --git a/offline_tests/FIREFLY_5_e2_2884_e1_2678.lus b/offline_tests/FIREFLY_5_e2_2884_e1_2678.lus index 174277ce..2f1de3c5 100644 --- a/offline_tests/FIREFLY_5_e2_2884_e1_2678.lus +++ b/offline_tests/FIREFLY_5_e2_2884_e1_2678.lus @@ -61,7 +61,7 @@ let tel node top(e1, e2, e3, e4, e5, e6, e7, e8 : bool; i_invalid : int) returns( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var invalid, dirty, exclusive, shared : int; env : bool; let diff --git a/offline_tests/FIREFLY_5_e2_2884_e2_1492.lus b/offline_tests/FIREFLY_5_e2_2884_e2_1492.lus index 1187d845..d6a63e76 100644 --- a/offline_tests/FIREFLY_5_e2_2884_e2_1492.lus +++ b/offline_tests/FIREFLY_5_e2_2884_e2_1492.lus @@ -61,7 +61,7 @@ let tel node top(e1, e2, e3, e4, e5, e6, e7, e8 : bool; i_invalid : int) returns( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var invalid, dirty, exclusive, shared : int; env : bool; let diff --git a/offline_tests/FIREFLY_5_e2_2884_e3_1882.lus b/offline_tests/FIREFLY_5_e2_2884_e3_1882.lus index f5c18b70..259ce112 100644 --- a/offline_tests/FIREFLY_5_e2_2884_e3_1882.lus +++ b/offline_tests/FIREFLY_5_e2_2884_e3_1882.lus @@ -61,7 +61,7 @@ let tel node top(e1, e2, e3, e4, e5, e6, e7, e8 : bool; i_invalid : int) returns( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var invalid, dirty, exclusive, shared : int; env : bool; let diff --git a/offline_tests/FIREFLY_8.lus b/offline_tests/FIREFLY_8.lus index bfe828dc..1bf612ae 100644 --- a/offline_tests/FIREFLY_8.lus +++ b/offline_tests/FIREFLY_8.lus @@ -74,7 +74,7 @@ tel node top(e1, e2, e3, e4, e5, e6, e7, e8 : bool; i_invalid : int) returns( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var invalid, dirty, exclusive, shared : int; env : bool; let diff --git a/offline_tests/FIREFLY_8_e2_1711.lus b/offline_tests/FIREFLY_8_e2_1711.lus index 83d24ef7..e40fe58e 100644 --- a/offline_tests/FIREFLY_8_e2_1711.lus +++ b/offline_tests/FIREFLY_8_e2_1711.lus @@ -61,7 +61,7 @@ let tel node top(e1, e2, e3, e4, e5, e6, e7, e8 : bool; i_invalid : int) returns( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var invalid, dirty, exclusive, shared : int; env : bool; let diff --git a/offline_tests/FIREFLY_8_e2_1711_e1_1489.lus b/offline_tests/FIREFLY_8_e2_1711_e1_1489.lus index 4e14db8c..cbd852e3 100644 --- a/offline_tests/FIREFLY_8_e2_1711_e1_1489.lus +++ b/offline_tests/FIREFLY_8_e2_1711_e1_1489.lus @@ -61,7 +61,7 @@ let tel node top(e1, e2, e3, e4, e5, e6, e7, e8 : bool; i_invalid : int) returns( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var invalid, dirty, exclusive, shared : int; env : bool; let diff --git a/offline_tests/FIREFLY_8_e2_1711_e2_2673.lus b/offline_tests/FIREFLY_8_e2_1711_e2_2673.lus index 43be3054..da4f57a9 100644 --- a/offline_tests/FIREFLY_8_e2_1711_e2_2673.lus +++ b/offline_tests/FIREFLY_8_e2_1711_e2_2673.lus @@ -61,7 +61,7 @@ let tel node top(e1, e2, e3, e4, e5, e6, e7, e8 : bool; i_invalid : int) returns( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var invalid, dirty, exclusive, shared : int; env : bool; let diff --git a/offline_tests/FIREFLY_8_e2_1711_e3_1753.lus b/offline_tests/FIREFLY_8_e2_1711_e3_1753.lus index 0d8759d4..d5a6332a 100644 --- a/offline_tests/FIREFLY_8_e2_1711_e3_1753.lus +++ b/offline_tests/FIREFLY_8_e2_1711_e3_1753.lus @@ -61,7 +61,7 @@ let tel node top(e1, e2, e3, e4, e5, e6, e7, e8 : bool; i_invalid : int) returns( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var invalid, dirty, exclusive, shared : int; env : bool; let diff --git a/offline_tests/FIREFLY_9.lus b/offline_tests/FIREFLY_9.lus index 922b470a..2c70da55 100644 --- a/offline_tests/FIREFLY_9.lus +++ b/offline_tests/FIREFLY_9.lus @@ -82,7 +82,7 @@ tel node top(e1, e2, e3, e4, e5, e6, e7, e8 : bool; i_invalid : int) returns( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var invalid, dirty, exclusive, shared : int; env : bool; procs : int; diff --git a/offline_tests/FIREFLY_a3.lus b/offline_tests/FIREFLY_a3.lus index 075bbd76..b2989e34 100644 --- a/offline_tests/FIREFLY_a3.lus +++ b/offline_tests/FIREFLY_a3.lus @@ -82,7 +82,7 @@ tel node top(e1, e2, e3, e4, e5, e6, e7, e8 : bool; i_invalid : int) returns( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var invalid, dirty, exclusive, shared : int; R4, A1, A2, A3 : bool; procs : int; diff --git a/offline_tests/FIREFLY_a3_e1_3233_e2_2392.lus b/offline_tests/FIREFLY_a3_e1_3233_e2_2392.lus index 19261f28..885bd8bb 100644 --- a/offline_tests/FIREFLY_a3_e1_3233_e2_2392.lus +++ b/offline_tests/FIREFLY_a3_e1_3233_e2_2392.lus @@ -65,7 +65,7 @@ let tel node top(e1, e2, e3, e4, e5, e6, e7, e8 : bool; i_invalid : int) returns( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var invalid, dirty, exclusive, shared : int; R4, A1, A2, A3 : bool; procs : int; diff --git a/offline_tests/FIREFLY_a3_e1_3233_e3_2970.lus b/offline_tests/FIREFLY_a3_e1_3233_e3_2970.lus index 906f371b..4713f8f7 100644 --- a/offline_tests/FIREFLY_a3_e1_3233_e3_2970.lus +++ b/offline_tests/FIREFLY_a3_e1_3233_e3_2970.lus @@ -65,7 +65,7 @@ let tel node top(e1, e2, e3, e4, e5, e6, e7, e8 : bool; i_invalid : int) returns( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var invalid, dirty, exclusive, shared : int; R4, A1, A2, A3 : bool; procs : int; diff --git a/offline_tests/FIREFLY_a3_e2_2086_e1_3235.lus b/offline_tests/FIREFLY_a3_e2_2086_e1_3235.lus index 46927ade..215db0a0 100644 --- a/offline_tests/FIREFLY_a3_e2_2086_e1_3235.lus +++ b/offline_tests/FIREFLY_a3_e2_2086_e1_3235.lus @@ -65,7 +65,7 @@ let tel node top(e1, e2, e3, e4, e5, e6, e7, e8 : bool; i_invalid : int) returns( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var invalid, dirty, exclusive, shared : int; R4, A1, A2, A3 : bool; procs : int; diff --git a/offline_tests/FIREFLY_a3_e2_2086_e2_2689.lus b/offline_tests/FIREFLY_a3_e2_2086_e2_2689.lus index 863abe15..22ea7851 100644 --- a/offline_tests/FIREFLY_a3_e2_2086_e2_2689.lus +++ b/offline_tests/FIREFLY_a3_e2_2086_e2_2689.lus @@ -65,7 +65,7 @@ let tel node top(e1, e2, e3, e4, e5, e6, e7, e8 : bool; i_invalid : int) returns( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var invalid, dirty, exclusive, shared : int; R4, A1, A2, A3 : bool; procs : int; diff --git a/offline_tests/FIREFLY_a3_e2_2086_e3_2542.lus b/offline_tests/FIREFLY_a3_e2_2086_e3_2542.lus index adb9d84c..264163f1 100644 --- a/offline_tests/FIREFLY_a3_e2_2086_e3_2542.lus +++ b/offline_tests/FIREFLY_a3_e2_2086_e3_2542.lus @@ -65,7 +65,7 @@ let tel node top(e1, e2, e3, e4, e5, e6, e7, e8 : bool; i_invalid : int) returns( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var invalid, dirty, exclusive, shared : int; R4, A1, A2, A3 : bool; procs : int; diff --git a/offline_tests/FIREFLY_a3_e2_2952.lus b/offline_tests/FIREFLY_a3_e2_2952.lus index 10608fc8..18d65e94 100644 --- a/offline_tests/FIREFLY_a3_e2_2952.lus +++ b/offline_tests/FIREFLY_a3_e2_2952.lus @@ -65,7 +65,7 @@ let tel node top(e1, e2, e3, e4, e5, e6, e7, e8 : bool; i_invalid : int) returns( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var invalid, dirty, exclusive, shared : int; R4, A1, A2, A3 : bool; procs : int; diff --git a/offline_tests/FIREFLY_a3_e3_314_e2_2812.lus b/offline_tests/FIREFLY_a3_e3_314_e2_2812.lus index 4422064d..6f1cc5ac 100644 --- a/offline_tests/FIREFLY_a3_e3_314_e2_2812.lus +++ b/offline_tests/FIREFLY_a3_e3_314_e2_2812.lus @@ -65,7 +65,7 @@ let tel node top(e1, e2, e3, e4, e5, e6, e7, e8 : bool; i_invalid : int) returns( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var invalid, dirty, exclusive, shared : int; R4, A1, A2, A3 : bool; procs : int; diff --git a/offline_tests/FIREFLY_all.lus b/offline_tests/FIREFLY_all.lus index e280dd7d..74bab4f8 100644 --- a/offline_tests/FIREFLY_all.lus +++ b/offline_tests/FIREFLY_all.lus @@ -82,7 +82,7 @@ tel node top(e1, e2, e3, e4, e5, e6, e7, e8 : bool; i_invalid : int) returns( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var invalid, dirty, exclusive, shared : int; env : bool; procs : int; diff --git a/offline_tests/FIREFLY_all_e1_1207_e2_3220.lus b/offline_tests/FIREFLY_all_e1_1207_e2_3220.lus index 1d947a54..24057f2a 100644 --- a/offline_tests/FIREFLY_all_e1_1207_e2_3220.lus +++ b/offline_tests/FIREFLY_all_e1_1207_e2_3220.lus @@ -65,7 +65,7 @@ let tel node top(e1, e2, e3, e4, e5, e6, e7, e8 : bool; i_invalid : int) returns( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var invalid, dirty, exclusive, shared : int; env : bool; procs : int; diff --git a/offline_tests/FIREFLY_all_e2_2924_e1_768.lus b/offline_tests/FIREFLY_all_e2_2924_e1_768.lus index d8425493..b8038eb9 100644 --- a/offline_tests/FIREFLY_all_e2_2924_e1_768.lus +++ b/offline_tests/FIREFLY_all_e2_2924_e1_768.lus @@ -65,7 +65,7 @@ let tel node top(e1, e2, e3, e4, e5, e6, e7, e8 : bool; i_invalid : int) returns( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var invalid, dirty, exclusive, shared : int; env : bool; procs : int; diff --git a/offline_tests/FIREFLY_luke_1b.lus b/offline_tests/FIREFLY_luke_1b.lus index 71fc0a5d..4b4f0f6e 100644 --- a/offline_tests/FIREFLY_luke_1b.lus +++ b/offline_tests/FIREFLY_luke_1b.lus @@ -77,7 +77,7 @@ tel node top(e1, e2, e3, e4, e5, e6, e7, e8 : bool; i_invalid : int) returns( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var invalid, dirty, exclusive, shared : int; env : bool; let diff --git a/offline_tests/FIREFLY_luke_1b_e1_1139_e2_2893.lus b/offline_tests/FIREFLY_luke_1b_e1_1139_e2_2893.lus index aef254d6..a16e823b 100644 --- a/offline_tests/FIREFLY_luke_1b_e1_1139_e2_2893.lus +++ b/offline_tests/FIREFLY_luke_1b_e1_1139_e2_2893.lus @@ -61,7 +61,7 @@ let tel node top(e1, e2, e3, e4, e5, e6, e7, e8 : bool; i_invalid : int) returns( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var invalid, dirty, exclusive, shared : int; env : bool; let diff --git a/offline_tests/FIREFLY_luke_1b_e2_3049_e1_946.lus b/offline_tests/FIREFLY_luke_1b_e2_3049_e1_946.lus index 484221be..99964953 100644 --- a/offline_tests/FIREFLY_luke_1b_e2_3049_e1_946.lus +++ b/offline_tests/FIREFLY_luke_1b_e2_3049_e1_946.lus @@ -61,7 +61,7 @@ let tel node top(e1, e2, e3, e4, e5, e6, e7, e8 : bool; i_invalid : int) returns( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var invalid, dirty, exclusive, shared : int; env : bool; let diff --git a/offline_tests/FIREFLY_luke_1b_e3_671_e6_1974.lus b/offline_tests/FIREFLY_luke_1b_e3_671_e6_1974.lus index bb2bf3ba..030326ed 100644 --- a/offline_tests/FIREFLY_luke_1b_e3_671_e6_1974.lus +++ b/offline_tests/FIREFLY_luke_1b_e3_671_e6_1974.lus @@ -61,7 +61,7 @@ let tel node top(e1, e2, e3, e4, e5, e6, e7, e8 : bool; i_invalid : int) returns( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var invalid, dirty, exclusive, shared : int; env : bool; let diff --git a/offline_tests/FIREFLY_luke_1b_e7_3191_e8_2830.lus b/offline_tests/FIREFLY_luke_1b_e7_3191_e8_2830.lus index bb2bf3ba..030326ed 100644 --- a/offline_tests/FIREFLY_luke_1b_e7_3191_e8_2830.lus +++ b/offline_tests/FIREFLY_luke_1b_e7_3191_e8_2830.lus @@ -61,7 +61,7 @@ let tel node top(e1, e2, e3, e4, e5, e6, e7, e8 : bool; i_invalid : int) returns( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var invalid, dirty, exclusive, shared : int; env : bool; let diff --git a/offline_tests/FIREFLY_luke_rt.lus b/offline_tests/FIREFLY_luke_rt.lus index 1476497c..147cdda7 100644 --- a/offline_tests/FIREFLY_luke_rt.lus +++ b/offline_tests/FIREFLY_luke_rt.lus @@ -81,7 +81,7 @@ tel node top(e1, e2, e3, e4, e5, e6, e7, e8 : bool; i_invalid : int) returns( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var invalid, dirty, exclusive, shared : int; env : bool; let diff --git a/offline_tests/FIREFLY_luke_rt_e1_913_e2_3353.lus b/offline_tests/FIREFLY_luke_rt_e1_913_e2_3353.lus index 17b18451..f5aa1a15 100644 --- a/offline_tests/FIREFLY_luke_rt_e1_913_e2_3353.lus +++ b/offline_tests/FIREFLY_luke_rt_e1_913_e2_3353.lus @@ -64,7 +64,7 @@ let tel node top(e1, e2, e3, e4, e5, e6, e7, e8 : bool; i_invalid : int) returns( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var invalid, dirty, exclusive, shared : int; env : bool; let diff --git a/offline_tests/FIREFLY_luke_rt_e2_3460_e1_1455.lus b/offline_tests/FIREFLY_luke_rt_e2_3460_e1_1455.lus index c56c6f8f..5fb7577c 100644 --- a/offline_tests/FIREFLY_luke_rt_e2_3460_e1_1455.lus +++ b/offline_tests/FIREFLY_luke_rt_e2_3460_e1_1455.lus @@ -64,7 +64,7 @@ let tel node top(e1, e2, e3, e4, e5, e6, e7, e8 : bool; i_invalid : int) returns( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var invalid, dirty, exclusive, shared : int; env : bool; let diff --git a/offline_tests/ILLINOIS_1.lus b/offline_tests/ILLINOIS_1.lus index 4b40938e..fccf963a 100644 --- a/offline_tests/ILLINOIS_1.lus +++ b/offline_tests/ILLINOIS_1.lus @@ -73,7 +73,7 @@ tel node top(e1, e2, e3, e4, e5, e6, e7, e8, e9 : bool; init_invalid : int) returns( OK : bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var invalid, dirty, exclusive, shared : int; env : bool; let diff --git a/offline_tests/ILLINOIS_2.lus b/offline_tests/ILLINOIS_2.lus index b5fcabf0..40ecc2da 100644 --- a/offline_tests/ILLINOIS_2.lus +++ b/offline_tests/ILLINOIS_2.lus @@ -73,7 +73,7 @@ tel node top(e1, e2, e3, e4, e5, e6, e7, e8, e9 : bool; init_invalid : int) returns( OK : bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var invalid, dirty, exclusive, shared : int; env : bool; let diff --git a/offline_tests/ILLINOIS_2_e1_834_e2_3395.lus b/offline_tests/ILLINOIS_2_e1_834_e2_3395.lus index 6549ace0..09e5a4cd 100644 --- a/offline_tests/ILLINOIS_2_e1_834_e2_3395.lus +++ b/offline_tests/ILLINOIS_2_e1_834_e2_3395.lus @@ -64,7 +64,7 @@ let tel node top(e1, e2, e3, e4, e5, e6, e7, e8, e9 : bool; init_invalid : int) returns( OK : bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var invalid, dirty, exclusive, shared : int; env : bool; let diff --git a/offline_tests/ILLINOIS_2_e2_2367_e1_3182.lus b/offline_tests/ILLINOIS_2_e2_2367_e1_3182.lus index 0643e786..bb940dcf 100644 --- a/offline_tests/ILLINOIS_2_e2_2367_e1_3182.lus +++ b/offline_tests/ILLINOIS_2_e2_2367_e1_3182.lus @@ -64,7 +64,7 @@ let tel node top(e1, e2, e3, e4, e5, e6, e7, e8, e9 : bool; init_invalid : int) returns( OK : bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var invalid, dirty, exclusive, shared : int; env : bool; let diff --git a/offline_tests/ILLINOIS_3.lus b/offline_tests/ILLINOIS_3.lus index 28d58e7b..e689df9e 100644 --- a/offline_tests/ILLINOIS_3.lus +++ b/offline_tests/ILLINOIS_3.lus @@ -81,7 +81,7 @@ tel node top(e1, e2, e3, e4, e5, e6, e7, e8, e9 : bool; init_invalid : int) returns( OK : bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var invalid, dirty, exclusive, shared : int; env : bool; let diff --git a/offline_tests/ILLINOIS_4.lus b/offline_tests/ILLINOIS_4.lus index 5e82c228..31ccc974 100644 --- a/offline_tests/ILLINOIS_4.lus +++ b/offline_tests/ILLINOIS_4.lus @@ -74,7 +74,7 @@ tel -- Not provable in luke-bitvec node top(e1, e2, e3, e4, e5, e6, e7, e8, e9 : bool; init_invalid : int) returns( OK : bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var invalid, dirty, exclusive, shared : int; env : bool; let diff --git a/offline_tests/ILLINOIS_5.lus b/offline_tests/ILLINOIS_5.lus index 923e84e4..d82d5ed8 100644 --- a/offline_tests/ILLINOIS_5.lus +++ b/offline_tests/ILLINOIS_5.lus @@ -73,7 +73,7 @@ tel node top(e1, e2, e3, e4, e5, e6, e7, e8, e9 : bool; init_invalid : int) returns( OK : bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var invalid, dirty, exclusive, shared : int; env : bool; let diff --git a/offline_tests/ILLINOIS_all.lus b/offline_tests/ILLINOIS_all.lus index 6d4bc58e..c2a893b1 100644 --- a/offline_tests/ILLINOIS_all.lus +++ b/offline_tests/ILLINOIS_all.lus @@ -81,7 +81,7 @@ tel node top(e1, e2, e3, e4, e5, e6, e7, e8, e9 : bool; init_invalid : int) returns( OK : bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var invalid, dirty, exclusive, shared : int; env : bool; let diff --git a/offline_tests/MESI_1.lus b/offline_tests/MESI_1.lus index d43afddb..cc85a37a 100644 --- a/offline_tests/MESI_1.lus +++ b/offline_tests/MESI_1.lus @@ -55,7 +55,7 @@ let tel node top( etat_me1, etat_me2, etat_me3, etat_me4 : bool ) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var modified_me, exclusive_me, shared_me, invalid_me : int; env : bool; let diff --git a/offline_tests/MESI_2.lus b/offline_tests/MESI_2.lus index fe1f91f7..bfb903a8 100644 --- a/offline_tests/MESI_2.lus +++ b/offline_tests/MESI_2.lus @@ -55,7 +55,7 @@ let tel node top( etat_me1, etat_me2, etat_me3, etat_me4 : bool ) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var modified_me, exclusive_me, shared_me, invalid_me : int; env : bool; let diff --git a/offline_tests/MESI_3.lus b/offline_tests/MESI_3.lus index 631718f6..f6405f41 100644 --- a/offline_tests/MESI_3.lus +++ b/offline_tests/MESI_3.lus @@ -61,7 +61,7 @@ tel -- Only provable in nbac node top( etat_me1, etat_me2, etat_me3, etat_me4 : bool ) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var modified_me, exclusive_me, shared_me, invalid_me : int; env : bool; let diff --git a/offline_tests/MESI_3_e1_2517_e8_2163.lus b/offline_tests/MESI_3_e1_2517_e8_2163.lus index ce6a14da..43df9739 100644 --- a/offline_tests/MESI_3_e1_2517_e8_2163.lus +++ b/offline_tests/MESI_3_e1_2517_e8_2163.lus @@ -50,7 +50,7 @@ let pre invalid_me; tel node top( etat_me1, etat_me2, etat_me3, etat_me4 : bool ) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var modified_me, exclusive_me, shared_me, invalid_me : int; env : bool; let diff --git a/offline_tests/MESI_3_e2_819_e1_1145.lus b/offline_tests/MESI_3_e2_819_e1_1145.lus index 394323de..95852e6c 100644 --- a/offline_tests/MESI_3_e2_819_e1_1145.lus +++ b/offline_tests/MESI_3_e2_819_e1_1145.lus @@ -50,7 +50,7 @@ let pre invalid_me; tel node top( etat_me1, etat_me2, etat_me3, etat_me4 : bool ) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var modified_me, exclusive_me, shared_me, invalid_me : int; env : bool; let diff --git a/offline_tests/MESI_3_e2_819_e4_1595.lus b/offline_tests/MESI_3_e2_819_e4_1595.lus index 635c8783..f767daa6 100644 --- a/offline_tests/MESI_3_e2_819_e4_1595.lus +++ b/offline_tests/MESI_3_e2_819_e4_1595.lus @@ -50,7 +50,7 @@ let pre invalid_me; tel node top( etat_me1, etat_me2, etat_me3, etat_me4 : bool ) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var modified_me, exclusive_me, shared_me, invalid_me : int; env : bool; let diff --git a/offline_tests/MESI_3_e2_819_e6_1459.lus b/offline_tests/MESI_3_e2_819_e6_1459.lus index 468cc09c..678f84c0 100644 --- a/offline_tests/MESI_3_e2_819_e6_1459.lus +++ b/offline_tests/MESI_3_e2_819_e6_1459.lus @@ -50,7 +50,7 @@ let pre invalid_me; tel node top( etat_me1, etat_me2, etat_me3, etat_me4 : bool ) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var modified_me, exclusive_me, shared_me, invalid_me : int; env : bool; let diff --git a/offline_tests/MESI_3_e3_2669.lus b/offline_tests/MESI_3_e3_2669.lus index 937a7da5..618413d2 100644 --- a/offline_tests/MESI_3_e3_2669.lus +++ b/offline_tests/MESI_3_e3_2669.lus @@ -50,7 +50,7 @@ let pre invalid_me; tel node top( etat_me1, etat_me2, etat_me3, etat_me4 : bool ) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var modified_me, exclusive_me, shared_me, invalid_me : int; env : bool; let diff --git a/offline_tests/MESI_4.lus b/offline_tests/MESI_4.lus index f42ecc65..80bf9ea5 100644 --- a/offline_tests/MESI_4.lus +++ b/offline_tests/MESI_4.lus @@ -55,7 +55,7 @@ let tel node top( etat_me1, etat_me2, etat_me3, etat_me4 : bool ) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var modified_me, exclusive_me, shared_me, invalid_me : int; env : bool; let diff --git a/offline_tests/MESI_all.lus b/offline_tests/MESI_all.lus index c05de509..0c2561cd 100644 --- a/offline_tests/MESI_all.lus +++ b/offline_tests/MESI_all.lus @@ -56,7 +56,7 @@ tel node top( etat_me1, etat_me2, etat_me3, etat_me4 : bool ) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var modified_me, exclusive_me, shared_me, invalid_me : int; env : bool; let diff --git a/offline_tests/MOESI_1.lus b/offline_tests/MOESI_1.lus index c1a567a1..7e5da704 100644 --- a/offline_tests/MOESI_1.lus +++ b/offline_tests/MOESI_1.lus @@ -62,7 +62,7 @@ tel node top( init_invalid_mo : int; etat_mo1, etat_mo2, etat_mo3, etat_mo4 : bool ) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var modified_mo, exclusive_mo, shared_mo, invalid_mo, owned_mo: int; erreur_mo : bool; let diff --git a/offline_tests/MOESI_2.lus b/offline_tests/MOESI_2.lus index e6c252c5..614fb526 100644 --- a/offline_tests/MOESI_2.lus +++ b/offline_tests/MOESI_2.lus @@ -61,7 +61,7 @@ tel node top( init_invalid_mo : int; etat_mo1, etat_mo2, etat_mo3, etat_mo4 : bool ) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var modified_mo, exclusive_mo, shared_mo, invalid_mo, owned_mo: int; erreur_mo : bool; env : bool; diff --git a/offline_tests/MOESI_2_e1_1753.lus b/offline_tests/MOESI_2_e1_1753.lus index 3533482a..b2490695 100644 --- a/offline_tests/MOESI_2_e1_1753.lus +++ b/offline_tests/MOESI_2_e1_1753.lus @@ -50,7 +50,7 @@ let tel node top( init_invalid_mo : int; etat_mo1, etat_mo2, etat_mo3, etat_mo4 : bool ) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var modified_mo, exclusive_mo, shared_mo, invalid_mo, owned_mo: int; erreur_mo : bool; env : bool; diff --git a/offline_tests/MOESI_2_e2_155.lus b/offline_tests/MOESI_2_e2_155.lus index e44090ab..c1ab3d7f 100644 --- a/offline_tests/MOESI_2_e2_155.lus +++ b/offline_tests/MOESI_2_e2_155.lus @@ -50,7 +50,7 @@ let tel node top( init_invalid_mo : int; etat_mo1, etat_mo2, etat_mo3, etat_mo4 : bool ) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var modified_mo, exclusive_mo, shared_mo, invalid_mo, owned_mo: int; erreur_mo : bool; env : bool; diff --git a/offline_tests/MOESI_2_e2_1599.lus b/offline_tests/MOESI_2_e2_1599.lus index e44090ab..c1ab3d7f 100644 --- a/offline_tests/MOESI_2_e2_1599.lus +++ b/offline_tests/MOESI_2_e2_1599.lus @@ -50,7 +50,7 @@ let tel node top( init_invalid_mo : int; etat_mo1, etat_mo2, etat_mo3, etat_mo4 : bool ) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var modified_mo, exclusive_mo, shared_mo, invalid_mo, owned_mo: int; erreur_mo : bool; env : bool; diff --git a/offline_tests/MOESI_2_e2_1599_e8_1334.lus b/offline_tests/MOESI_2_e2_1599_e8_1334.lus index 568cdc47..da8237d6 100644 --- a/offline_tests/MOESI_2_e2_1599_e8_1334.lus +++ b/offline_tests/MOESI_2_e2_1599_e8_1334.lus @@ -50,7 +50,7 @@ let tel node top( init_invalid_mo : int; etat_mo1, etat_mo2, etat_mo3, etat_mo4 : bool ) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var modified_mo, exclusive_mo, shared_mo, invalid_mo, owned_mo: int; erreur_mo : bool; env : bool; diff --git a/offline_tests/MOESI_2_e3_1523.lus b/offline_tests/MOESI_2_e3_1523.lus index a76d0801..3d89e013 100644 --- a/offline_tests/MOESI_2_e3_1523.lus +++ b/offline_tests/MOESI_2_e3_1523.lus @@ -50,7 +50,7 @@ let tel node top( init_invalid_mo : int; etat_mo1, etat_mo2, etat_mo3, etat_mo4 : bool ) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var modified_mo, exclusive_mo, shared_mo, invalid_mo, owned_mo: int; erreur_mo : bool; env : bool; diff --git a/offline_tests/MOESI_2_e3_929.lus b/offline_tests/MOESI_2_e3_929.lus index a76d0801..3d89e013 100644 --- a/offline_tests/MOESI_2_e3_929.lus +++ b/offline_tests/MOESI_2_e3_929.lus @@ -50,7 +50,7 @@ let tel node top( init_invalid_mo : int; etat_mo1, etat_mo2, etat_mo3, etat_mo4 : bool ) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var modified_mo, exclusive_mo, shared_mo, invalid_mo, owned_mo: int; erreur_mo : bool; env : bool; diff --git a/offline_tests/MOESI_2_e3_929_e4_578.lus b/offline_tests/MOESI_2_e3_929_e4_578.lus index e186f946..5dd3f792 100644 --- a/offline_tests/MOESI_2_e3_929_e4_578.lus +++ b/offline_tests/MOESI_2_e3_929_e4_578.lus @@ -50,7 +50,7 @@ let tel node top( init_invalid_mo : int; etat_mo1, etat_mo2, etat_mo3, etat_mo4 : bool ) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var modified_mo, exclusive_mo, shared_mo, invalid_mo, owned_mo: int; erreur_mo : bool; env : bool; diff --git a/offline_tests/MOESI_2_e3_929_e5_1826.lus b/offline_tests/MOESI_2_e3_929_e5_1826.lus index ca32ed1a..ede5e0f4 100644 --- a/offline_tests/MOESI_2_e3_929_e5_1826.lus +++ b/offline_tests/MOESI_2_e3_929_e5_1826.lus @@ -50,7 +50,7 @@ let tel node top( init_invalid_mo : int; etat_mo1, etat_mo2, etat_mo3, etat_mo4 : bool ) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var modified_mo, exclusive_mo, shared_mo, invalid_mo, owned_mo: int; erreur_mo : bool; env : bool; diff --git a/offline_tests/MOESI_2_e3_929_e6_2707.lus b/offline_tests/MOESI_2_e3_929_e6_2707.lus index c6555bfc..c596df46 100644 --- a/offline_tests/MOESI_2_e3_929_e6_2707.lus +++ b/offline_tests/MOESI_2_e3_929_e6_2707.lus @@ -50,7 +50,7 @@ let tel node top( init_invalid_mo : int; etat_mo1, etat_mo2, etat_mo3, etat_mo4 : bool ) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var modified_mo, exclusive_mo, shared_mo, invalid_mo, owned_mo: int; erreur_mo : bool; env : bool; diff --git a/offline_tests/MOESI_2_e3_929_e8_1167.lus b/offline_tests/MOESI_2_e3_929_e8_1167.lus index fb1e2055..5c4635ff 100644 --- a/offline_tests/MOESI_2_e3_929_e8_1167.lus +++ b/offline_tests/MOESI_2_e3_929_e8_1167.lus @@ -50,7 +50,7 @@ let tel node top( init_invalid_mo : int; etat_mo1, etat_mo2, etat_mo3, etat_mo4 : bool ) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var modified_mo, exclusive_mo, shared_mo, invalid_mo, owned_mo: int; erreur_mo : bool; env : bool; diff --git a/offline_tests/MOESI_2_e7_2910_e8_2590.lus b/offline_tests/MOESI_2_e7_2910_e8_2590.lus index c6555bfc..c596df46 100644 --- a/offline_tests/MOESI_2_e7_2910_e8_2590.lus +++ b/offline_tests/MOESI_2_e7_2910_e8_2590.lus @@ -50,7 +50,7 @@ let tel node top( init_invalid_mo : int; etat_mo1, etat_mo2, etat_mo3, etat_mo4 : bool ) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var modified_mo, exclusive_mo, shared_mo, invalid_mo, owned_mo: int; erreur_mo : bool; env : bool; diff --git a/offline_tests/MOESI_2_e8_101.lus b/offline_tests/MOESI_2_e8_101.lus index 8d20b92d..f6895a96 100644 --- a/offline_tests/MOESI_2_e8_101.lus +++ b/offline_tests/MOESI_2_e8_101.lus @@ -50,7 +50,7 @@ let tel node top( init_invalid_mo : int; etat_mo1, etat_mo2, etat_mo3, etat_mo4 : bool ) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var modified_mo, exclusive_mo, shared_mo, invalid_mo, owned_mo: int; erreur_mo : bool; env : bool; diff --git a/offline_tests/MOESI_2_e8_926.lus b/offline_tests/MOESI_2_e8_926.lus index 8d20b92d..f6895a96 100644 --- a/offline_tests/MOESI_2_e8_926.lus +++ b/offline_tests/MOESI_2_e8_926.lus @@ -50,7 +50,7 @@ let tel node top( init_invalid_mo : int; etat_mo1, etat_mo2, etat_mo3, etat_mo4 : bool ) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var modified_mo, exclusive_mo, shared_mo, invalid_mo, owned_mo: int; erreur_mo : bool; env : bool; diff --git a/offline_tests/MOESI_2_e8_926_e1_1065.lus b/offline_tests/MOESI_2_e8_926_e1_1065.lus index d3125beb..e156c050 100644 --- a/offline_tests/MOESI_2_e8_926_e1_1065.lus +++ b/offline_tests/MOESI_2_e8_926_e1_1065.lus @@ -50,7 +50,7 @@ let tel node top( init_invalid_mo : int; etat_mo1, etat_mo2, etat_mo3, etat_mo4 : bool ) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var modified_mo, exclusive_mo, shared_mo, invalid_mo, owned_mo: int; erreur_mo : bool; env : bool; diff --git a/offline_tests/MOESI_2_e8_926_e2_349.lus b/offline_tests/MOESI_2_e8_926_e2_349.lus index 568cdc47..da8237d6 100644 --- a/offline_tests/MOESI_2_e8_926_e2_349.lus +++ b/offline_tests/MOESI_2_e8_926_e2_349.lus @@ -50,7 +50,7 @@ let tel node top( init_invalid_mo : int; etat_mo1, etat_mo2, etat_mo3, etat_mo4 : bool ) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var modified_mo, exclusive_mo, shared_mo, invalid_mo, owned_mo: int; erreur_mo : bool; env : bool; diff --git a/offline_tests/MOESI_2_e8_926_e3_1758.lus b/offline_tests/MOESI_2_e8_926_e3_1758.lus index fb1e2055..5c4635ff 100644 --- a/offline_tests/MOESI_2_e8_926_e3_1758.lus +++ b/offline_tests/MOESI_2_e8_926_e3_1758.lus @@ -50,7 +50,7 @@ let tel node top( init_invalid_mo : int; etat_mo1, etat_mo2, etat_mo3, etat_mo4 : bool ) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var modified_mo, exclusive_mo, shared_mo, invalid_mo, owned_mo: int; erreur_mo : bool; env : bool; diff --git a/offline_tests/MOESI_2_e8_926_e8_2138.lus b/offline_tests/MOESI_2_e8_926_e8_2138.lus index 4781b350..8a7df27c 100644 --- a/offline_tests/MOESI_2_e8_926_e8_2138.lus +++ b/offline_tests/MOESI_2_e8_926_e8_2138.lus @@ -50,7 +50,7 @@ let tel node top( init_invalid_mo : int; etat_mo1, etat_mo2, etat_mo3, etat_mo4 : bool ) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var modified_mo, exclusive_mo, shared_mo, invalid_mo, owned_mo: int; erreur_mo : bool; env : bool; diff --git a/offline_tests/MOESI_all.lus b/offline_tests/MOESI_all.lus index e1d26049..ae1abaaf 100644 --- a/offline_tests/MOESI_all.lus +++ b/offline_tests/MOESI_all.lus @@ -62,7 +62,7 @@ tel node top( init_invalid_mo : int; etat_mo1, etat_mo2, etat_mo3, etat_mo4 : bool ) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var modified_mo, exclusive_mo, shared_mo, invalid_mo, owned_mo: int; erreur_mo : bool; env : bool; diff --git a/offline_tests/PRODUCER_CONSUMER_1.lus b/offline_tests/PRODUCER_CONSUMER_1.lus index 3e6d2102..a38ec0a3 100644 --- a/offline_tests/PRODUCER_CONSUMER_1.lus +++ b/offline_tests/PRODUCER_CONSUMER_1.lus @@ -40,7 +40,7 @@ tel -- Not provable with luke-bitvec node top(etat1, etat2, etat3 : bool; a_init : int) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var i, b, a, o1, o2 : int; env : bool; let diff --git a/offline_tests/PRODUCER_CONSUMER_2.lus b/offline_tests/PRODUCER_CONSUMER_2.lus index f7297297..1adf15aa 100644 --- a/offline_tests/PRODUCER_CONSUMER_2.lus +++ b/offline_tests/PRODUCER_CONSUMER_2.lus @@ -39,7 +39,7 @@ let tel node top(etat1, etat2, etat3 : bool; a_init : int) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var i, b, a, o1, o2 : int; env : bool; let diff --git a/offline_tests/PRODUCER_CONSUMER_3.lus b/offline_tests/PRODUCER_CONSUMER_3.lus index 5ee072ad..c619b794 100644 --- a/offline_tests/PRODUCER_CONSUMER_3.lus +++ b/offline_tests/PRODUCER_CONSUMER_3.lus @@ -49,7 +49,7 @@ let tel node top(etat1, etat2, etat3 : bool; a_init : int) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var i, b, a, o1, o2 : int; env : bool; let diff --git a/offline_tests/PRODUCER_CONSUMER_all.lus b/offline_tests/PRODUCER_CONSUMER_all.lus index d05526e7..27a901a5 100644 --- a/offline_tests/PRODUCER_CONSUMER_all.lus +++ b/offline_tests/PRODUCER_CONSUMER_all.lus @@ -49,7 +49,7 @@ let tel node top(etat1, etat2, etat3 : bool; a_init : int) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var i, b, a, o1, o2 : int; env : bool; let diff --git a/offline_tests/SYNAPSE_1.lus b/offline_tests/SYNAPSE_1.lus index fc673e0b..7bc737ff 100644 --- a/offline_tests/SYNAPSE_1.lus +++ b/offline_tests/SYNAPSE_1.lus @@ -44,7 +44,7 @@ tel node top(e_s1, e_s2, e_s3 : bool; init_invalid_s : int) returns( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var invalid_s, valid_s, dirty_s : int; mem_init_s : int; env : bool; let diff --git a/offline_tests/SYNAPSE_123.lus b/offline_tests/SYNAPSE_123.lus index 9de6067c..24357e42 100644 --- a/offline_tests/SYNAPSE_123.lus +++ b/offline_tests/SYNAPSE_123.lus @@ -49,7 +49,7 @@ tel node top(e_s1, e_s2, e_s3 : bool; init_invalid_s : int) returns( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var invalid_s, valid_s, dirty_s : int; mem_init_s : int; R1, R2, R3 : bool; env : bool; diff --git a/offline_tests/SYNAPSE_123_e8_953.lus b/offline_tests/SYNAPSE_123_e8_953.lus index 4bbf3ed2..e0b9084d 100644 --- a/offline_tests/SYNAPSE_123_e8_953.lus +++ b/offline_tests/SYNAPSE_123_e8_953.lus @@ -37,7 +37,7 @@ let tel node top(e_s1, e_s2, e_s3 : bool; init_invalid_s : int) returns( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var invalid_s, valid_s, dirty_s : int; mem_init_s : int; R1, R2, R3 : bool; env : bool; diff --git a/offline_tests/SYNAPSE_123_e8_953_e8_941.lus b/offline_tests/SYNAPSE_123_e8_953_e8_941.lus index 89d0be60..0db434db 100644 --- a/offline_tests/SYNAPSE_123_e8_953_e8_941.lus +++ b/offline_tests/SYNAPSE_123_e8_953_e8_941.lus @@ -37,7 +37,7 @@ let tel node top(e_s1, e_s2, e_s3 : bool; init_invalid_s : int) returns( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var invalid_s, valid_s, dirty_s : int; mem_init_s : int; R1, R2, R3 : bool; env : bool; diff --git a/offline_tests/SYNAPSE_2.lus b/offline_tests/SYNAPSE_2.lus index 6cb24a14..21af8a45 100644 --- a/offline_tests/SYNAPSE_2.lus +++ b/offline_tests/SYNAPSE_2.lus @@ -44,7 +44,7 @@ tel node top(e_s1, e_s2, e_s3 : bool; init_invalid_s : int) returns( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var invalid_s, valid_s, dirty_s : int; mem_init_s : int; env : bool; let diff --git a/offline_tests/SYNAPSE_2_e8_1118_e7_1043.lus b/offline_tests/SYNAPSE_2_e8_1118_e7_1043.lus index 84ae2878..c72d0d7a 100644 --- a/offline_tests/SYNAPSE_2_e8_1118_e7_1043.lus +++ b/offline_tests/SYNAPSE_2_e8_1118_e7_1043.lus @@ -34,7 +34,7 @@ let tel node top(e_s1, e_s2, e_s3 : bool; init_invalid_s : int) returns( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var invalid_s, valid_s, dirty_s : int; mem_init_s : int; env : bool; let diff --git a/offline_tests/SYNAPSE_2_e8_1118_e8_1177.lus b/offline_tests/SYNAPSE_2_e8_1118_e8_1177.lus index 76add05a..c1b97ec2 100644 --- a/offline_tests/SYNAPSE_2_e8_1118_e8_1177.lus +++ b/offline_tests/SYNAPSE_2_e8_1118_e8_1177.lus @@ -34,7 +34,7 @@ let tel node top(e_s1, e_s2, e_s3 : bool; init_invalid_s : int) returns( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var invalid_s, valid_s, dirty_s : int; mem_init_s : int; env : bool; let diff --git a/offline_tests/SYNAPSE_2_e8_656.lus b/offline_tests/SYNAPSE_2_e8_656.lus index cdb22969..2fc1a0f1 100644 --- a/offline_tests/SYNAPSE_2_e8_656.lus +++ b/offline_tests/SYNAPSE_2_e8_656.lus @@ -34,7 +34,7 @@ let tel node top(e_s1, e_s2, e_s3 : bool; init_invalid_s : int) returns( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var invalid_s, valid_s, dirty_s : int; mem_init_s : int; env : bool; let diff --git a/offline_tests/SYNAPSE_3.lus b/offline_tests/SYNAPSE_3.lus index 51559f07..3300c2d3 100644 --- a/offline_tests/SYNAPSE_3.lus +++ b/offline_tests/SYNAPSE_3.lus @@ -48,7 +48,7 @@ tel node top(e_s1, e_s2, e_s3 : bool; init_invalid_s : int) returns( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var invalid_s, valid_s, dirty_s : int; mem_init_s : int; env : bool; let diff --git a/offline_tests/SYNAPSE_3_e8_1329_e8_320.lus b/offline_tests/SYNAPSE_3_e8_1329_e8_320.lus index 7d8173eb..fb7b0a9e 100644 --- a/offline_tests/SYNAPSE_3_e8_1329_e8_320.lus +++ b/offline_tests/SYNAPSE_3_e8_1329_e8_320.lus @@ -37,7 +37,7 @@ let tel node top(e_s1, e_s2, e_s3 : bool; init_invalid_s : int) returns( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var invalid_s, valid_s, dirty_s : int; mem_init_s : int; env : bool; let diff --git a/offline_tests/SYNAPSE_3_e8_1708.lus b/offline_tests/SYNAPSE_3_e8_1708.lus index c1a948a6..b717c8b4 100644 --- a/offline_tests/SYNAPSE_3_e8_1708.lus +++ b/offline_tests/SYNAPSE_3_e8_1708.lus @@ -37,7 +37,7 @@ let tel node top(e_s1, e_s2, e_s3 : bool; init_invalid_s : int) returns( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var invalid_s, valid_s, dirty_s : int; mem_init_s : int; env : bool; let diff --git a/offline_tests/SYNAPSE_4.lus b/offline_tests/SYNAPSE_4.lus index 446522c7..26937607 100644 --- a/offline_tests/SYNAPSE_4.lus +++ b/offline_tests/SYNAPSE_4.lus @@ -44,7 +44,7 @@ tel node top(e_s1, e_s2, e_s3 : bool; init_invalid_s : int) returns( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var invalid_s, valid_s, dirty_s : int; mem_init_s : int; env : bool; let diff --git a/offline_tests/SYNAPSE_4_e8_420_e7_572.lus b/offline_tests/SYNAPSE_4_e8_420_e7_572.lus index ff4242ea..5bd99024 100644 --- a/offline_tests/SYNAPSE_4_e8_420_e7_572.lus +++ b/offline_tests/SYNAPSE_4_e8_420_e7_572.lus @@ -34,7 +34,7 @@ let tel node top(e_s1, e_s2, e_s3 : bool; init_invalid_s : int) returns( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 4-induction; var invalid_s, valid_s, dirty_s : int; mem_init_s : int; env : bool; let diff --git a/offline_tests/SYNAPSE_4_e8_420_e8_1525.lus b/offline_tests/SYNAPSE_4_e8_420_e8_1525.lus index 0c4ac350..b77bed28 100644 --- a/offline_tests/SYNAPSE_4_e8_420_e8_1525.lus +++ b/offline_tests/SYNAPSE_4_e8_420_e8_1525.lus @@ -34,7 +34,7 @@ let tel node top(e_s1, e_s2, e_s3 : bool; init_invalid_s : int) returns( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var invalid_s, valid_s, dirty_s : int; mem_init_s : int; env : bool; let diff --git a/offline_tests/SYNAPSE_4_e8_974.lus b/offline_tests/SYNAPSE_4_e8_974.lus index b4ab9e44..e589b510 100644 --- a/offline_tests/SYNAPSE_4_e8_974.lus +++ b/offline_tests/SYNAPSE_4_e8_974.lus @@ -34,7 +34,7 @@ let tel node top(e_s1, e_s2, e_s3 : bool; init_invalid_s : int) returns( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var invalid_s, valid_s, dirty_s : int; mem_init_s : int; env : bool; let diff --git a/offline_tests/SYNAPSE_all.lus b/offline_tests/SYNAPSE_all.lus index 5cedce95..242cd743 100644 --- a/offline_tests/SYNAPSE_all.lus +++ b/offline_tests/SYNAPSE_all.lus @@ -48,7 +48,7 @@ tel node top(e_s1, e_s2, e_s3 : bool; init_invalid_s : int) returns( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var invalid_s, valid_s, dirty_s : int; mem_init_s : int; env : bool; let diff --git a/offline_tests/SYNAPSE_all_e8_251.lus b/offline_tests/SYNAPSE_all_e8_251.lus index 04e45355..401f4b4e 100644 --- a/offline_tests/SYNAPSE_all_e8_251.lus +++ b/offline_tests/SYNAPSE_all_e8_251.lus @@ -37,7 +37,7 @@ let tel node top(e_s1, e_s2, e_s3 : bool; init_invalid_s : int) returns( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var invalid_s, valid_s, dirty_s : int; mem_init_s : int; env : bool; let diff --git a/offline_tests/_6counters_e8_371_e2_80.lus b/offline_tests/_6counters_e8_371_e2_80.lus index a66d91cc..e2bde05b 100644 --- a/offline_tests/_6counters_e8_371_e2_80.lus +++ b/offline_tests/_6counters_e8_371_e2_80.lus @@ -17,7 +17,7 @@ let tel node top (x:bool) returns (OK:bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 1-induction; var a,b:bool; let OK = a=b; diff --git a/offline_tests/car_1.lus b/offline_tests/car_1.lus index 4a91ae6b..7724d512 100644 --- a/offline_tests/car_1.lus +++ b/offline_tests/car_1.lus @@ -35,7 +35,7 @@ let tel node top(m, s : bool) returns (OK : bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var toofast, stop, bump: bool; dist, speed, time: int; move: bool; second, meter: bool; diff --git a/offline_tests/car_2.lus b/offline_tests/car_2.lus index cc9667b2..29cff96d 100644 --- a/offline_tests/car_2.lus +++ b/offline_tests/car_2.lus @@ -37,7 +37,7 @@ tel node top(m, s : bool) returns (OK : bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var toofast, stop, bump: bool; dist, speed, time: int; move: bool; second, meter: bool; diff --git a/offline_tests/car_3.lus b/offline_tests/car_3.lus index 73d2a280..c2db03c2 100644 --- a/offline_tests/car_3.lus +++ b/offline_tests/car_3.lus @@ -37,7 +37,7 @@ tel node top(m, s : bool) returns (OK : bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var toofast, stop, bump: bool; dist, speed, time: int; move: bool; second, meter: bool; diff --git a/offline_tests/car_3_e2_695.lus b/offline_tests/car_3_e2_695.lus index 76670ccc..b06a55f5 100644 --- a/offline_tests/car_3_e2_695.lus +++ b/offline_tests/car_3_e2_695.lus @@ -27,7 +27,7 @@ let bump = dist = 10; tel node top(m, s : bool) returns (OK : bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var toofast, stop, bump: bool; dist, speed, time: int; move: bool; second, meter: bool; diff --git a/offline_tests/car_3_e2_777.lus b/offline_tests/car_3_e2_777.lus index 76670ccc..b06a55f5 100644 --- a/offline_tests/car_3_e2_777.lus +++ b/offline_tests/car_3_e2_777.lus @@ -27,7 +27,7 @@ let bump = dist = 10; tel node top(m, s : bool) returns (OK : bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var toofast, stop, bump: bool; dist, speed, time: int; move: bool; second, meter: bool; diff --git a/offline_tests/car_3_e7_626.lus b/offline_tests/car_3_e7_626.lus index 21500249..c7da573c 100644 --- a/offline_tests/car_3_e7_626.lus +++ b/offline_tests/car_3_e7_626.lus @@ -27,7 +27,7 @@ let bump = dist = 10; tel node top(m, s : bool) returns (OK : bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var toofast, stop, bump: bool; dist, speed, time: int; move: bool; second, meter: bool; diff --git a/offline_tests/car_3_e8_33.lus b/offline_tests/car_3_e8_33.lus index 56781633..88720c0e 100644 --- a/offline_tests/car_3_e8_33.lus +++ b/offline_tests/car_3_e8_33.lus @@ -27,7 +27,7 @@ let bump = dist = 10; tel node top(m, s : bool) returns (OK : bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var toofast, stop, bump: bool; dist, speed, time: int; move: bool; second, meter: bool; diff --git a/offline_tests/car_3_e8_33_e2_1010.lus b/offline_tests/car_3_e8_33_e2_1010.lus index 1fb08969..a9a4d34c 100644 --- a/offline_tests/car_3_e8_33_e2_1010.lus +++ b/offline_tests/car_3_e8_33_e2_1010.lus @@ -27,7 +27,7 @@ let bump = dist = 10; tel node top(m, s : bool) returns (OK : bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var toofast, stop, bump: bool; dist, speed, time: int; move: bool; second, meter: bool; diff --git a/offline_tests/car_3_e8_33_e7_220.lus b/offline_tests/car_3_e8_33_e7_220.lus index 8c28326b..ad0186de 100644 --- a/offline_tests/car_3_e8_33_e7_220.lus +++ b/offline_tests/car_3_e8_33_e7_220.lus @@ -27,7 +27,7 @@ let bump = dist = 10; tel node top(m, s : bool) returns (OK : bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 3-induction; var toofast, stop, bump: bool; dist, speed, time: int; move: bool; second, meter: bool; diff --git a/offline_tests/car_4.lus b/offline_tests/car_4.lus index 6a085bfd..6057cd46 100644 --- a/offline_tests/car_4.lus +++ b/offline_tests/car_4.lus @@ -35,7 +35,7 @@ let tel node top(m, s : bool) returns (OK : bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var toofast, stop, bump: bool; dist, speed, time: int; move: bool; second, meter: bool; diff --git a/offline_tests/car_4_e3_57_e4_1047.lus b/offline_tests/car_4_e3_57_e4_1047.lus index f0f7b4e1..97990ede 100644 --- a/offline_tests/car_4_e3_57_e4_1047.lus +++ b/offline_tests/car_4_e3_57_e4_1047.lus @@ -27,7 +27,7 @@ let bump = dist = 10; tel node top(m, s : bool) returns (OK : bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var toofast, stop, bump: bool; dist, speed, time: int; move: bool; second, meter: bool; diff --git a/offline_tests/car_4_e3_57_e6_784.lus b/offline_tests/car_4_e3_57_e6_784.lus index 3a7dadc6..60809ce9 100644 --- a/offline_tests/car_4_e3_57_e6_784.lus +++ b/offline_tests/car_4_e3_57_e6_784.lus @@ -27,7 +27,7 @@ let bump = dist = 10; tel node top(m, s : bool) returns (OK : bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var toofast, stop, bump: bool; dist, speed, time: int; move: bool; second, meter: bool; diff --git a/offline_tests/car_4_e7_592.lus b/offline_tests/car_4_e7_592.lus index f9f0bc1e..8322086f 100644 --- a/offline_tests/car_4_e7_592.lus +++ b/offline_tests/car_4_e7_592.lus @@ -27,7 +27,7 @@ let bump = dist = 10; tel node top(m, s : bool) returns (OK : bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var toofast, stop, bump: bool; dist, speed, time: int; move: bool; second, meter: bool; diff --git a/offline_tests/car_4_e8_118.lus b/offline_tests/car_4_e8_118.lus index 63450434..9ee81887 100644 --- a/offline_tests/car_4_e8_118.lus +++ b/offline_tests/car_4_e8_118.lus @@ -27,7 +27,7 @@ let bump = dist = 10; tel node top(m, s : bool) returns (OK : bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var toofast, stop, bump: bool; dist, speed, time: int; move: bool; second, meter: bool; diff --git a/offline_tests/car_all.lus b/offline_tests/car_all.lus index fdc9a994..b1be79aa 100644 --- a/offline_tests/car_all.lus +++ b/offline_tests/car_all.lus @@ -31,7 +31,7 @@ let tel node top(m, s : bool) returns (OK : bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var toofast, stop, bump: bool; dist, speed, time: int; move: bool; second, meter: bool; diff --git a/offline_tests/car_all_e2_142.lus b/offline_tests/car_all_e2_142.lus index 793b4511..a4fe26d4 100644 --- a/offline_tests/car_all_e2_142.lus +++ b/offline_tests/car_all_e2_142.lus @@ -27,7 +27,7 @@ let bump = dist = 10; tel node top(m, s : bool) returns (OK : bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var toofast, stop, bump: bool; dist, speed, time: int; move: bool; second, meter: bool; diff --git a/offline_tests/car_all_e3_1068_e4_275.lus b/offline_tests/car_all_e3_1068_e4_275.lus index 817b90f3..228d9bb0 100644 --- a/offline_tests/car_all_e3_1068_e4_275.lus +++ b/offline_tests/car_all_e3_1068_e4_275.lus @@ -27,7 +27,7 @@ let bump = dist = 10; tel node top(m, s : bool) returns (OK : bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var toofast, stop, bump: bool; dist, speed, time: int; move: bool; second, meter: bool; diff --git a/offline_tests/car_all_e8_856.lus b/offline_tests/car_all_e8_856.lus index 9b9984bd..0d08f572 100644 --- a/offline_tests/car_all_e8_856.lus +++ b/offline_tests/car_all_e8_856.lus @@ -27,7 +27,7 @@ let bump = dist = 10; tel node top(m, s : bool) returns (OK : bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var toofast, stop, bump: bool; dist, speed, time: int; move: bool; second, meter: bool; diff --git a/offline_tests/car_all_e8_856_e2_585.lus b/offline_tests/car_all_e8_856_e2_585.lus index 748bb844..418f81c0 100644 --- a/offline_tests/car_all_e8_856_e2_585.lus +++ b/offline_tests/car_all_e8_856_e2_585.lus @@ -27,7 +27,7 @@ let bump = dist = 10; tel node top(m, s : bool) returns (OK : bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var toofast, stop, bump: bool; dist, speed, time: int; move: bool; second, meter: bool; diff --git a/offline_tests/ccp02.lus b/offline_tests/ccp02.lus index 4c4780b7..203645ad 100644 --- a/offline_tests/ccp02.lus +++ b/offline_tests/ccp02.lus @@ -8,7 +8,7 @@ node top(onOff: bool; carGear: int ; carSpeed: real; validInputs: bool) returns (OK: bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var mode_: int ; cruiseThrottle: real; diff --git a/offline_tests/ccp03.lus b/offline_tests/ccp03.lus index c09270de..74887a35 100644 --- a/offline_tests/ccp03.lus +++ b/offline_tests/ccp03.lus @@ -9,7 +9,7 @@ node top(onOff: bool; carSpeed: real; validInputs: bool) returns (OK: bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var mode_: int ; cruiseThrottle: real; diff --git a/offline_tests/ccp04.lus b/offline_tests/ccp04.lus index 67af0df1..c010cb42 100644 --- a/offline_tests/ccp04.lus +++ b/offline_tests/ccp04.lus @@ -8,7 +8,7 @@ node top(onOff: bool; carSpeed: real; validInputs: bool) returns (OK: bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var mode_: int ; cruiseThrottle: real; diff --git a/offline_tests/ccp05.lus b/offline_tests/ccp05.lus index b9e523fe..83a3eccb 100644 --- a/offline_tests/ccp05.lus +++ b/offline_tests/ccp05.lus @@ -8,7 +8,7 @@ node top(onOff: bool; carSpeed: real; validInputs: bool) returns (OK: bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 1-induction; var mode_: int ; cruiseThrottle: real; diff --git a/offline_tests/ccp06.lus b/offline_tests/ccp06.lus index 64752e0a..a11e2451 100644 --- a/offline_tests/ccp06.lus +++ b/offline_tests/ccp06.lus @@ -9,7 +9,7 @@ node top(onOff: bool; carSpeed: real; validInputs: bool) returns (OK: bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 1-induction; var mode_: int ; cruiseThrottle: real; diff --git a/offline_tests/ccp07.lus b/offline_tests/ccp07.lus index 6b76d4b7..c22dea3c 100644 --- a/offline_tests/ccp07.lus +++ b/offline_tests/ccp07.lus @@ -9,7 +9,7 @@ node top(onOff: bool; carSpeed: real; validInputs: bool) returns (OK: bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 1-induction; var mode_: int ; cruiseThrottle: real; diff --git a/offline_tests/ccp09.lus b/offline_tests/ccp09.lus index d34ca65c..93e240eb 100644 --- a/offline_tests/ccp09.lus +++ b/offline_tests/ccp09.lus @@ -9,7 +9,7 @@ node top(onOff: bool; carSpeed: real; validInputs: bool) returns (OK: bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 1-induction; var mode_: int ; cruiseThrottle: real; diff --git a/offline_tests/ccp15.lus b/offline_tests/ccp15.lus index 1816a1bf..ef1dadd9 100644 --- a/offline_tests/ccp15.lus +++ b/offline_tests/ccp15.lus @@ -9,7 +9,7 @@ node top(onOff: bool; carSpeed: real; validInputs: bool) returns (OK: bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 1-induction; var mode_: int ; cruiseThrottle: real; diff --git a/offline_tests/ccp16.lus b/offline_tests/ccp16.lus index 49dc938a..f46f87e3 100644 --- a/offline_tests/ccp16.lus +++ b/offline_tests/ccp16.lus @@ -9,7 +9,7 @@ node top(onOff: bool; carSpeed: real; validInputs: bool) returns (OK: bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 1-induction; var mode_: int ; cruiseThrottle: real; diff --git a/offline_tests/ccp19.lus b/offline_tests/ccp19.lus index 593c5a10..bf480be0 100644 --- a/offline_tests/ccp19.lus +++ b/offline_tests/ccp19.lus @@ -9,7 +9,7 @@ node top(onOff: bool; carSpeed: real; validInputs: bool) returns (OK: bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 1-induction; var mode_: int ; cruiseThrottle: real; diff --git a/offline_tests/cd.lus b/offline_tests/cd.lus index d8a6aaa3..ec4e03d0 100644 --- a/offline_tests/cd.lus +++ b/offline_tests/cd.lus @@ -31,7 +31,7 @@ let tel node top(diff:int) returns (OK: bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 10-induction; var speed: int; plus,minus,realistic: bool; let diff --git a/offline_tests/counters.lus b/offline_tests/counters.lus index 722ef6a9..50fbd314 100644 --- a/offline_tests/counters.lus +++ b/offline_tests/counters.lus @@ -45,7 +45,7 @@ tel node top (x:bool) returns (OK:bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 5-induction; var a,b,d:bool; s:int; OK1,OK2,OK3: bool; diff --git a/offline_tests/cruise_controller_01.lus b/offline_tests/cruise_controller_01.lus index bb73b0a7..d7487fdf 100644 --- a/offline_tests/cruise_controller_01.lus +++ b/offline_tests/cruise_controller_01.lus @@ -10,7 +10,7 @@ node top(onOff: bool; validInputs: bool) returns (OK:bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var mode_: int; cruiseThrottle: real; diff --git a/offline_tests/cruise_controller_02.lus b/offline_tests/cruise_controller_02.lus index db58987b..f0d02c50 100644 --- a/offline_tests/cruise_controller_02.lus +++ b/offline_tests/cruise_controller_02.lus @@ -10,7 +10,7 @@ node top(onOff: bool; validInputs: bool) returns (OK:bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var mode_: int; cruiseThrottle: real; diff --git a/offline_tests/cruise_controller_03.lus b/offline_tests/cruise_controller_03.lus index c0a9c73d..e4b00e9f 100644 --- a/offline_tests/cruise_controller_03.lus +++ b/offline_tests/cruise_controller_03.lus @@ -10,7 +10,7 @@ node top(onOff: bool; validInputs: bool) returns (OK:bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var mode_: int; cruiseThrottle: real; diff --git a/offline_tests/cruise_controller_04.lus b/offline_tests/cruise_controller_04.lus index b80f933b..0cbe8e63 100644 --- a/offline_tests/cruise_controller_04.lus +++ b/offline_tests/cruise_controller_04.lus @@ -10,7 +10,7 @@ node top(onOff: bool; validInputs: bool) returns (OK:bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var mode_: int; cruiseThrottle: real; diff --git a/offline_tests/cruise_controller_05.lus b/offline_tests/cruise_controller_05.lus index 3720463d..f211180f 100644 --- a/offline_tests/cruise_controller_05.lus +++ b/offline_tests/cruise_controller_05.lus @@ -10,7 +10,7 @@ node top(onOff: bool; validInputs: bool) returns (OK:bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 1-induction; var mode_: int; cruiseThrottle: real; diff --git a/offline_tests/cruise_controller_06.lus b/offline_tests/cruise_controller_06.lus index 433fe208..4af58247 100644 --- a/offline_tests/cruise_controller_06.lus +++ b/offline_tests/cruise_controller_06.lus @@ -10,7 +10,7 @@ node top(onOff: bool; validInputs: bool) returns (OK:bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 1-induction; var mode_: int; cruiseThrottle: real; diff --git a/offline_tests/cruise_controller_07.lus b/offline_tests/cruise_controller_07.lus index 7730678e..521d44e8 100644 --- a/offline_tests/cruise_controller_07.lus +++ b/offline_tests/cruise_controller_07.lus @@ -10,7 +10,7 @@ node top(onOff: bool; validInputs: bool) returns (OK:bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 1-induction; var mode_: int; cruiseThrottle: real; diff --git a/offline_tests/cruise_controller_11.lus b/offline_tests/cruise_controller_11.lus index 92cb8ed7..b9cfbf5d 100644 --- a/offline_tests/cruise_controller_11.lus +++ b/offline_tests/cruise_controller_11.lus @@ -10,7 +10,7 @@ node top(onOff: bool; validInputs: bool) returns (OK:bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 1-induction; var mode_: int; cruiseThrottle: real; diff --git a/offline_tests/cruise_controller_13.lus b/offline_tests/cruise_controller_13.lus index b8c0be1e..a688b0b1 100644 --- a/offline_tests/cruise_controller_13.lus +++ b/offline_tests/cruise_controller_13.lus @@ -10,7 +10,7 @@ node top(onOff: bool; validInputs: bool) returns (OK:bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 1-induction; var mode_: int; cruiseThrottle: real; diff --git a/offline_tests/durationThm_1_e2_3.lus b/offline_tests/durationThm_1_e2_3.lus index 6870dfe4..45bae14c 100644 --- a/offline_tests/durationThm_1_e2_3.lus +++ b/offline_tests/durationThm_1_e2_3.lus @@ -8,7 +8,7 @@ let age_of_p = 0 -> if pre(p) then pre(age_of_p) -1+ 1 else 0; tel node top (ik, im: int; p, q, r : bool) returns (OK: bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 3-induction; var k,m : int; env : bool; let diff --git a/offline_tests/durationThm_1_e3_389_e4_294.lus b/offline_tests/durationThm_1_e3_389_e4_294.lus index 7c9ae780..d0e84ee4 100644 --- a/offline_tests/durationThm_1_e3_389_e4_294.lus +++ b/offline_tests/durationThm_1_e3_389_e4_294.lus @@ -8,7 +8,7 @@ let age_of_p = 0 -> if pre(p) then pre(age_of_p) +1- 1 else 0; tel node top (ik, im: int; p, q, r : bool) returns (OK: bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 3-induction; var k,m : int; env : bool; let diff --git a/offline_tests/durationThm_1_e7_217_e2_352.lus b/offline_tests/durationThm_1_e7_217_e2_352.lus index 29596418..3af57bdb 100644 --- a/offline_tests/durationThm_1_e7_217_e2_352.lus +++ b/offline_tests/durationThm_1_e7_217_e2_352.lus @@ -8,7 +8,7 @@ let age_of_p = 0 -> if pre(p) then pre(age_of_p) -1+ 1 else 0; tel node top (ik, im: int; p, q, r : bool) returns (OK: bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 7-induction; var k,m : int; env : bool; let diff --git a/offline_tests/durationThm_2_e2_63.lus b/offline_tests/durationThm_2_e2_63.lus index 11fcf68c..44d06ff2 100644 --- a/offline_tests/durationThm_2_e2_63.lus +++ b/offline_tests/durationThm_2_e2_63.lus @@ -8,7 +8,7 @@ let age_of_p = 0 -> if pre(p) then pre(age_of_p) -1+ 1 else 0; tel node top (k0: int; p, q, r, t : bool) returns (OK: bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 3-induction; var k: int; env : bool; let diff --git a/offline_tests/durationThm_2_e3_329_e4_1.lus b/offline_tests/durationThm_2_e3_329_e4_1.lus index 5bd482a0..bf9a367f 100644 --- a/offline_tests/durationThm_2_e3_329_e4_1.lus +++ b/offline_tests/durationThm_2_e3_329_e4_1.lus @@ -8,7 +8,7 @@ let age_of_p = 0 -> if pre(p) then pre(age_of_p) +1- 1 else 0; tel node top (k0: int; p, q, r, t : bool) returns (OK: bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 3-induction; var k: int; env : bool; let diff --git a/offline_tests/durationThm_2_e7_145_e2_169.lus b/offline_tests/durationThm_2_e7_145_e2_169.lus index d9e7cded..a5c0dd84 100644 --- a/offline_tests/durationThm_2_e7_145_e2_169.lus +++ b/offline_tests/durationThm_2_e7_145_e2_169.lus @@ -8,7 +8,7 @@ let age_of_p = 0 -> if pre(p) then pre(age_of_p) -1+ 1 else 0; tel node top (k0: int; p, q, r, t : bool) returns (OK: bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 8-induction; var k: int; env : bool; let diff --git a/offline_tests/durationThm_3_e2_148.lus b/offline_tests/durationThm_3_e2_148.lus index 5243cc18..6a28c7c6 100644 --- a/offline_tests/durationThm_3_e2_148.lus +++ b/offline_tests/durationThm_3_e2_148.lus @@ -8,7 +8,7 @@ let age_of_p = 0 -> if pre(p) then pre(age_of_p) -1+ 1 else 0; tel node top (k0, m0: int; p, q : bool) returns (OK: bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var k,m: int; env : bool; let diff --git a/offline_tests/durationThm_3_e2_63.lus b/offline_tests/durationThm_3_e2_63.lus index 5243cc18..6a28c7c6 100644 --- a/offline_tests/durationThm_3_e2_63.lus +++ b/offline_tests/durationThm_3_e2_63.lus @@ -8,7 +8,7 @@ let age_of_p = 0 -> if pre(p) then pre(age_of_p) -1+ 1 else 0; tel node top (k0, m0: int; p, q : bool) returns (OK: bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var k,m: int; env : bool; let diff --git a/offline_tests/durationThm_3_e3_207.lus b/offline_tests/durationThm_3_e3_207.lus index 37773db0..0e4f6c2d 100644 --- a/offline_tests/durationThm_3_e3_207.lus +++ b/offline_tests/durationThm_3_e3_207.lus @@ -8,7 +8,7 @@ let age_of_p = 0 -> if pre(p) then pre(age_of_p) - 1 else 0; tel node top (k0, m0: int; p, q : bool) returns (OK: bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var k,m: int; env : bool; let diff --git a/offline_tests/durationThm_3_e3_442.lus b/offline_tests/durationThm_3_e3_442.lus index 37773db0..0e4f6c2d 100644 --- a/offline_tests/durationThm_3_e3_442.lus +++ b/offline_tests/durationThm_3_e3_442.lus @@ -8,7 +8,7 @@ let age_of_p = 0 -> if pre(p) then pre(age_of_p) - 1 else 0; tel node top (k0, m0: int; p, q : bool) returns (OK: bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var k,m: int; env : bool; let diff --git a/offline_tests/durationThm_3_e3_442_e4_165.lus b/offline_tests/durationThm_3_e3_442_e4_165.lus index 39f63ca0..a416e58f 100644 --- a/offline_tests/durationThm_3_e3_442_e4_165.lus +++ b/offline_tests/durationThm_3_e3_442_e4_165.lus @@ -8,7 +8,7 @@ let age_of_p = 0 -> if pre(p) then pre(age_of_p) +1- 1 else 0; tel node top (k0, m0: int; p, q : bool) returns (OK: bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var k,m: int; env : bool; let diff --git a/offline_tests/durationThm_3_e3_442_e5_260.lus b/offline_tests/durationThm_3_e3_442_e5_260.lus index 649de53e..6ef577a6 100644 --- a/offline_tests/durationThm_3_e3_442_e5_260.lus +++ b/offline_tests/durationThm_3_e3_442_e5_260.lus @@ -8,7 +8,7 @@ let age_of_p = 0 -> if pre(p) then pre(age_of_p) -1- 1 else 0; tel node top (k0, m0: int; p, q : bool) returns (OK: bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var k,m: int; env : bool; let diff --git a/offline_tests/durationThm_3_e7_334_e2_62.lus b/offline_tests/durationThm_3_e7_334_e2_62.lus index fb3000b6..5bf36dd2 100644 --- a/offline_tests/durationThm_3_e7_334_e2_62.lus +++ b/offline_tests/durationThm_3_e7_334_e2_62.lus @@ -8,7 +8,7 @@ let age_of_p = 0 -> if pre(p) then pre(age_of_p) -1+ 1 else 0; tel node top (k0, m0: int; p, q : bool) returns (OK: bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 4-induction; var k,m: int; env : bool; let diff --git a/offline_tests/ex3_e7_590_e7_590.lus b/offline_tests/ex3_e7_590_e7_590.lus index ac5941b3..0c8868d4 100644 --- a/offline_tests/ex3_e7_590_e7_590.lus +++ b/offline_tests/ex3_e7_590_e7_590.lus @@ -20,7 +20,7 @@ let else (diff <= -10); tel node top(beacon,second:bool) returns (OK:bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var late,early: bool; let (late,early) = speed(beacon,second); diff --git a/offline_tests/ex3_e7_655.lus b/offline_tests/ex3_e7_655.lus index 9320f6c7..e7e1dffb 100644 --- a/offline_tests/ex3_e7_655.lus +++ b/offline_tests/ex3_e7_655.lus @@ -20,7 +20,7 @@ let else (diff <= -10); tel node top(beacon,second:bool) returns (OK:bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var late,early: bool; let (late,early) = speed(beacon,second); diff --git a/offline_tests/ex3_e8_381.lus b/offline_tests/ex3_e8_381.lus index 397a66a1..693fc6ae 100644 --- a/offline_tests/ex3_e8_381.lus +++ b/offline_tests/ex3_e8_381.lus @@ -20,7 +20,7 @@ let else (diff <= -10); tel node top(beacon,second:bool) returns (OK:bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var late,early: bool; let (late,early) = speed(beacon,second); diff --git a/offline_tests/ex3_e8_381_e7_224.lus b/offline_tests/ex3_e8_381_e7_224.lus index 709872be..ed76cdb1 100644 --- a/offline_tests/ex3_e8_381_e7_224.lus +++ b/offline_tests/ex3_e8_381_e7_224.lus @@ -20,7 +20,7 @@ let else (diff <= -10); tel node top(beacon,second:bool) returns (OK:bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var late,early: bool; let (late,early) = speed(beacon,second); diff --git a/offline_tests/ex3_e8_381_e8_477.lus b/offline_tests/ex3_e8_381_e8_477.lus index 90ec6cb4..db939b2f 100644 --- a/offline_tests/ex3_e8_381_e8_477.lus +++ b/offline_tests/ex3_e8_381_e8_477.lus @@ -20,7 +20,7 @@ let else (diff <= -10); tel node top(beacon,second:bool) returns (OK:bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 3-induction; var late,early: bool; let (late,early) = speed(beacon,second); diff --git a/offline_tests/fast_1.lus b/offline_tests/fast_1.lus index 0cc5333a..adf76040 100644 --- a/offline_tests/fast_1.lus +++ b/offline_tests/fast_1.lus @@ -127,7 +127,7 @@ tel node top (igsw, ccd, cconoff, bpa, cccanc, battok, gearok, qfok, sdok, accok, ccseti, ccsetd, ccr: bool; vs: int) returns (OK : bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var ccont, cca: bool; env : bool; diff --git a/offline_tests/fast_1_e8_747_e8_1041.lus b/offline_tests/fast_1_e8_747_e8_1041.lus index 6a52b5ac..c3078830 100644 --- a/offline_tests/fast_1_e8_747_e8_1041.lus +++ b/offline_tests/fast_1_e8_747_e8_1041.lus @@ -72,7 +72,7 @@ tel node top (igsw, ccd, cconoff, bpa, cccanc, battok, gearok, qfok, sdok, accok, ccseti, ccsetd, ccr: bool; vs: int) returns (OK : bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var ccont, cca: bool; env : bool; diff --git a/offline_tests/fast_1_e8_751.lus b/offline_tests/fast_1_e8_751.lus index 7f6342e7..36ed799d 100644 --- a/offline_tests/fast_1_e8_751.lus +++ b/offline_tests/fast_1_e8_751.lus @@ -72,7 +72,7 @@ tel node top (igsw, ccd, cconoff, bpa, cccanc, battok, gearok, qfok, sdok, accok, ccseti, ccsetd, ccr: bool; vs: int) returns (OK : bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var ccont, cca: bool; env : bool; diff --git a/offline_tests/fast_2.lus b/offline_tests/fast_2.lus index 2c1dd082..e13821c1 100644 --- a/offline_tests/fast_2.lus +++ b/offline_tests/fast_2.lus @@ -128,7 +128,7 @@ tel node top (igsw, ccd, cconoff, bpa, cccanc, battok, gearok, qfok, sdok, accok, ccseti, ccsetd, ccr: bool; vs: int) returns (OK: bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var p1, p2, p3, p4: bool; ccont, cca: bool; diff --git a/offline_tests/fast_2_e8_460_e8_1920.lus b/offline_tests/fast_2_e8_460_e8_1920.lus index 112226e4..3cee21b4 100644 --- a/offline_tests/fast_2_e8_460_e8_1920.lus +++ b/offline_tests/fast_2_e8_460_e8_1920.lus @@ -72,7 +72,7 @@ tel node top (igsw, ccd, cconoff, bpa, cccanc, battok, gearok, qfok, sdok, accok, ccseti, ccsetd, ccr: bool; vs: int) returns (OK: bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var p1, p2, p3, p4: bool; ccont, cca: bool; diff --git a/offline_tests/fast_2_e8_976.lus b/offline_tests/fast_2_e8_976.lus index a75e8768..4a82683a 100644 --- a/offline_tests/fast_2_e8_976.lus +++ b/offline_tests/fast_2_e8_976.lus @@ -72,7 +72,7 @@ tel node top (igsw, ccd, cconoff, bpa, cccanc, battok, gearok, qfok, sdok, accok, ccseti, ccsetd, ccr: bool; vs: int) returns (OK: bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var p1, p2, p3, p4: bool; ccont, cca: bool; diff --git a/offline_tests/heater4.lus b/offline_tests/heater4.lus index 4f09bceb..5e75eacc 100644 --- a/offline_tests/heater4.lus +++ b/offline_tests/heater4.lus @@ -1,5 +1,5 @@ node top(millisecond : bool) returns (open_light : bool) -(*@ contract guarantee open_light; *) +(*@ contract guarantee open_light by 2-induction; *) let automaton command_control state Open : @@ -11,5 +11,5 @@ let let open_light = false; tel - + --%PROPERTY open_light; tel diff --git a/offline_tests/hysteresis_1.lus b/offline_tests/hysteresis_1.lus index a83d56cb..c741b3ea 100644 --- a/offline_tests/hysteresis_1.lus +++ b/offline_tests/hysteresis_1.lus @@ -27,7 +27,7 @@ let tel node top( beacon, second : bool ) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 1-induction; var late, early : bool; let ( late, early ) = speed( beacon, second ); diff --git a/offline_tests/hysteresis_2.lus b/offline_tests/hysteresis_2.lus index fce911b6..c3c93cde 100644 --- a/offline_tests/hysteresis_2.lus +++ b/offline_tests/hysteresis_2.lus @@ -27,7 +27,7 @@ let tel node top( beacon, second : bool ) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var late, early : bool; let ( late, early ) = speed( beacon, second ); diff --git a/offline_tests/hysteresis_3.lus b/offline_tests/hysteresis_3.lus index 3b6e8acc..8c98a641 100644 --- a/offline_tests/hysteresis_3.lus +++ b/offline_tests/hysteresis_3.lus @@ -27,7 +27,7 @@ let tel node top( beacon, second : bool ) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var late, early : bool; let ( late, early ) = speed( beacon, second ); diff --git a/offline_tests/hysteresis_all.lus b/offline_tests/hysteresis_all.lus index 70df17dc..83b0f86e 100644 --- a/offline_tests/hysteresis_all.lus +++ b/offline_tests/hysteresis_all.lus @@ -27,7 +27,7 @@ let tel node top( beacon, second : bool ) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var late, early : bool; let ( late, early ) = speed( beacon, second ); diff --git a/offline_tests/ignored b/offline_tests/ignored index df606713..9718c5a5 100644 --- a/offline_tests/ignored +++ b/offline_tests/ignored @@ -1,285 +1,697 @@ -DRAGON_10_e1_3587_e3_2749.lus -DRAGON_10_e1_3587_e7_872.lus -DRAGON_10_e1_998.lus -DRAGON_10_e2_2785_e3_1744.lus -DRAGON_10_e2_402.lus -DRAGON_10_e3_144_e5_2046.lus -DRAGON_10_e3_144_e7_523.lus -DRAGON_10_e3_3429.lus -DRAGON_10_e7_3861_e2_1020.lus -DRAGON_10_e7_3861_e7_2180.lus -DRAGON_10.lus -DRAGON_11_e1_2450_e1_5887.lus -DRAGON_11_e1_2450_e2_1483.lus -DRAGON_11_e1_2450_e3_2330.lus -DRAGON_11_e1_2450_e7_5791.lus -DRAGON_11_e1_2450.lus -DRAGON_11_e2_1678_e1_3565.lus -DRAGON_11_e2_5396_e3_282.lus -DRAGON_11_e3_382_e1_505.lus -DRAGON_11_e3_382_e4_4421.lus -DRAGON_11.lus -DRAGON_12_e1_4640_e7_128.lus -DRAGON_12_e2_1618_e1_6030.lus -DRAGON_12_e2_1618_e2_138.lus -DRAGON_12_e2_1618_e3_2012.lus -DRAGON_12_e2_1618_e7_4732.lus -DRAGON_12_e2_1618.lus -DRAGON_12.lus -DRAGON_13_e3_1418_e3_2761.lus -DRAGON_13_e7_2336_e1_541.lus -DRAGON_13_e7_2336_e2_1255.lus -DRAGON_13_e7_2336_e3_3117.lus -DRAGON_13_e7_2336_e7_685.lus -DRAGON_13_e7_2336.lus -DRAGON_13.lus -DRAGON_14_e1_5710.lus -DRAGON_14_e2_3606.lus -DRAGON_14_e3_1259_e1_5798.lus -DRAGON_14_e3_5120.lus -DRAGON_14_e7_3162_e1_3998.lus -DRAGON_14_e7_3162_e2_753.lus -DRAGON_14_e7_3162_e3_4298.lus -DRAGON_14_e7_3162_e7_3528.lus -DRAGON_14_e7_3162.lus -DRAGON_14.lus -DRAGON_1_e1_14612_e1_268_e7_501.lus -DRAGON_1_e1_14612_e2_2653_e7_4370.lus -DRAGON_1_e1_3184_e7_1888.lus -DRAGON_1_e1_5070.lus -DRAGON_1_e2_1997_e7_3613_e2_3409.lus -DRAGON_1_e2_1997.lus -DRAGON_1_e3_11891_e7_4569_e4_4881.lus -DRAGON_1.lus -DRAGON_2_e1_2316.lus -DRAGON_2_e2_3183_e1_2644.lus -DRAGON_2_e2_3183_e2_3580.lus -DRAGON_2_e2_3183_e3_5972.lus -DRAGON_2_e2_4481.lus -DRAGON_2_e7_25_e1_154.lus -DRAGON_2_e7_25_e2_5340.lus -DRAGON_2_e7_25_e3_829.lus -DRAGON_2_e7_25_e7_4469.lus -DRAGON_2_e7_25_e8_3171.lus -DRAGON_2_e7_25.lus -DRAGON_2.lus -DRAGON_3_e1_4783_e1_3755.lus -DRAGON_3_e1_4783_e2_158.lus -DRAGON_3_e1_4783_e3_511.lus -DRAGON_3_e1_4783_e7_4070.lus -DRAGON_3_e1_4783.lus -DRAGON_3_e2_5343_e1_988.lus -DRAGON_3_e3_3846.lus -DRAGON_3_e3_5422_e1_2288.lus -DRAGON_3_e3_5422_e2_3135.lus -DRAGON_3_e7_4884.lus -DRAGON_3.lus -DRAGON_4_e1_4312.lus -DRAGON_4_e2_2799_e1_1303.lus -DRAGON_4_e2_2799_e2_2251.lus -DRAGON_4_e2_2799_e3_1915.lus -DRAGON_4_e2_2799_e7_2499.lus -DRAGON_4_e2_2799.lus -DRAGON_4_e3_1540_e1_5048.lus -DRAGON_4_e3_4133.lus -DRAGON_4_e7_2329_e3_4574.lus -DRAGON_4_e7_2329_e7_3856.lus -DRAGON_4_e7_2329.lus -DRAGON_4.lus -DRAGON_5_e1_1835.lus -DRAGON_5_e2_3018_e2_936.lus -DRAGON_5_e7_2017_e1_5832.lus -DRAGON_5_e7_2017_e2_664.lus -DRAGON_5_e7_2017_e3_1763.lus -DRAGON_5_e7_2017_e7_2326.lus -DRAGON_5_e7_2017.lus -DRAGON_5.lus -DRAGON_6_e7_5046_e7_3623.lus -DRAGON_6.lus -DRAGON_7_e2_2872_e2_5844.lus -DRAGON_7_e2_2872_e3_2640.lus -DRAGON_7_e7_3157_e2_2082.lus -DRAGON_7.lus -DRAGON_8_e2_3896_e3_3125.lus -DRAGON_8_e3_786_e7_4541.lus -DRAGON_8_e3_786.lus -DRAGON_8_e7_3752.lus -DRAGON_8.lus -DRAGON_9_e7_1843_e1_5434.lus -DRAGON_9_e7_1843_e2_1145.lus -DRAGON_9_e7_1843_e3_5316.lus -DRAGON_9_e7_1843_e7_2225.lus -DRAGON_9_e7_1843.lus -DRAGON_9.lus -DRAGON_all2_e2_2073_e8_3691.lus -DRAGON_all2_e3_4612_e1_6463.lus -DRAGON_all2_e3_4612_e2_5774.lus -DRAGON_all2_e3_4612_e3_1543.lus -DRAGON_all2_e3_4612_e4_3719.lus -DRAGON_all2_e3_4612_e5_3642.lus -DRAGON_all2_e3_4612_e8_5861.lus -DRAGON_all2_e7_5406_e1_6690.lus -DRAGON_all2_e7_5406_e2_3084.lus -DRAGON_all2_e7_5406_e3_506.lus -DRAGON_all2_e7_5406_e7_6697.lus -DRAGON_all2_e7_5406.lus -DRAGON_all2_e8_4626.lus -DRAGON_all2_e8_5504_e1_4719.lus -DRAGON_all2_e8_5504_e2_1598.lus -DRAGON_all2_e8_5504_e7_579.lus -DRAGON_all2_e8_5504.lus -DRAGON_all2.lus -DRAGON_all_e1_4022_e1_1759.lus -DRAGON_all_e1_4022_e2_267.lus -DRAGON_all_e1_4022_e3_3628.lus -DRAGON_all_e1_4022_e7_2886.lus -DRAGON_all_e1_4037.lus -DRAGON_all_e2_6104_e1_6205.lus -DRAGON_all_e2_6104_e2_3308.lus -DRAGON_all_e2_6104_e3_2607.lus -DRAGON_all_e2_6104.lus -DRAGON_all_e3_4821_e1_1318.lus -DRAGON_all_e3_4821_e2_1089.lus -DRAGON_all_e3_4821_e4_1791.lus -DRAGON_all_e3_4821_e5_1536.lus -DRAGON_all_e3_5957.lus -DRAGON_all_e7_1941_e2_6086.lus -DRAGON_all_e7_4065.lus -DRAGON_all.lus -Delay2_PP.LUSTREC.lus -Delay5_PP.LUSTREC.lus -DelayBus_PP.LUSTREC.lus -FIREFLY_10_e7_919_e2_3192.lus -FIREFLY_10.lus -FIREFLY_11_e1_3457.lus -FIREFLY_11_e3_2076_e1_1270.lus -FIREFLY_11.lus -FIREFLY_1_e1_1092_e1_1486.lus -FIREFLY_1_e1_1092_e2_1853.lus -FIREFLY_1_e1_1092_e3_389.lus -FIREFLY_1_e1_1092_e7_1119.lus -FIREFLY_1_e1_1092.lus -FIREFLY_1.lus -FIREFLY_2_e3_151_e3_1540.lus -FIREFLY_2.lus -FIREFLY_3_e2_2236_e1_2305.lus -FIREFLY_3_e2_2236_e2_1058.lus -FIREFLY_3_e2_2236_e3_2657.lus -FIREFLY_3_e2_2236_e7_3681.lus -FIREFLY_3_e2_2236.lus -FIREFLY_3.lus -FIREFLY_4_e3_3511_e1_2375.lus -FIREFLY_4_e3_3511_e2_1923.lus -FIREFLY_4_e3_3511_e3_422.lus -FIREFLY_4_e3_3511_e4_1464.lus -FIREFLY_4_e3_3511_e5_3248.lus -FIREFLY_4_e3_3511_e7_3568.lus -FIREFLY_4_e3_3511.lus -FIREFLY_4.lus -FIREFLY_5_e1_2552_e7_1169.lus -FIREFLY_5_e2_2229.lus -FIREFLY_5_e2_2884_e1_2678.lus -FIREFLY_5_e2_2884_e2_1492.lus -FIREFLY_5_e2_2884_e3_1882.lus -FIREFLY_5_e2_2884_e7_3594.lus -FIREFLY_5_e2_2884.lus -FIREFLY_5.lus -FIREFLY_6_e2_3302.lus -FIREFLY_6.lus -FIREFLY_7.lus -FIREFLY_8_e2_1711_e1_1489.lus -FIREFLY_8_e2_1711_e2_2673.lus -FIREFLY_8_e2_1711_e3_1753.lus -FIREFLY_8_e2_1711_e7_1962.lus -FIREFLY_8_e2_1711.lus -FIREFLY_8.lus -FIREFLY_9_e7_170_e3_3647.lus -FIREFLY_9.lus -FIREFLY_a3_e1_3233_e1_3123.lus -FIREFLY_a3_e1_3233_e2_2392.lus -FIREFLY_a3_e1_3233_e3_2970.lus -FIREFLY_a3_e1_3233_e7_906.lus -FIREFLY_a3_e1_3233.lus -FIREFLY_a3_e2_2086_e1_3235.lus -FIREFLY_a3_e2_2086_e2_2689.lus -FIREFLY_a3_e2_2086_e3_2542.lus -FIREFLY_a3_e2_2086_e7_2614.lus -FIREFLY_a3_e2_2952.lus -FIREFLY_a3_e3_314_e1_1979.lus -FIREFLY_a3_e3_314_e2_2812.lus -FIREFLY_a3_e3_314_e4_897.lus -FIREFLY_a3.lus -FIREFLY_all_e1_1207_e1_1201.lus -FIREFLY_all_e1_1207_e2_3220.lus -FIREFLY_all_e1_1207_e3_1928.lus -FIREFLY_all_e1_1207_e7_156.lus -FIREFLY_all_e1_3406.lus -FIREFLY_all_e2_2924_e1_768.lus -FIREFLY_all_e2_2924_e2_1767.lus -FIREFLY_all_e2_2924_e3_3946.lus -FIREFLY_all_e2_2924_e7_3371.lus -FIREFLY_all_e2_3678.lus -FIREFLY_all_e3_1600_e1_667.lus -FIREFLY_all_e3_1600_e2_676.lus -FIREFLY_all_e3_1600_e3_2055.lus -FIREFLY_all_e3_1600_e4_2415.lus -FIREFLY_all_e3_1600_e5_84.lus -FIREFLY_all_e3_1600_e7_1607.lus -FIREFLY_all_e3_3496.lus -FIREFLY_all_e7_1909.lus -FIREFLY_all.lus -FIREFLY_luke_1a_e2_284_e1_2924.lus -FIREFLY_luke_1a_e2_284_e2_2755.lus -FIREFLY_luke_1a_e2_284_e3_3091.lus -FIREFLY_luke_1a_e2_284_e7_998.lus -FIREFLY_luke_1a_e7_3042_e3_1213.lus -FIREFLY_luke_1a.lus -FIREFLY_luke_1b_e1_1139_e1_1565.lus -FIREFLY_luke_1b_e1_1139_e2_2893.lus -FIREFLY_luke_1b_e1_1139_e3_1839.lus -FIREFLY_luke_1b_e1_1691.lus -FIREFLY_luke_1b_e2_3049_e1_946.lus -FIREFLY_luke_1b_e2_3049_e2_698.lus -FIREFLY_luke_1b_e2_3049_e3_2697.lus -FIREFLY_luke_1b_e2_3049.lus -FIREFLY_luke_1b_e3_671_e1_725.lus -FIREFLY_luke_1b_e3_671_e2_2131.lus -FIREFLY_luke_1b_e3_671_e3_941.lus -FIREFLY_luke_1b_e3_671_e4_147.lus -FIREFLY_luke_1b_e3_671_e5_1637.lus -FIREFLY_luke_1b_e3_671_e6_1974.lus -FIREFLY_luke_1b_e3_671_e7_1882.lus -FIREFLY_luke_1b_e3_671.lus -FIREFLY_luke_1b_e7_2574.lus -FIREFLY_luke_1b_e7_3191_e1_1303.lus -FIREFLY_luke_1b_e7_3191_e2_1864.lus -FIREFLY_luke_1b_e7_3191_e3_1250.lus -FIREFLY_luke_1b_e7_3191_e7_2146.lus -FIREFLY_luke_1b_e7_3191_e8_2830.lus -FIREFLY_luke_1b_e7_3191.lus -FIREFLY_luke_1b.lus -FIREFLY_luke_2_e2_1375_e1_418.lus -FIREFLY_luke_2_e7_1826_e8_126.lus -FIREFLY_luke_2.lus -FIREFLY_luke_3_e1_2217_e3_1200.lus -FIREFLY_luke_3.lus -FIREFLY_luke_4_e2_325.lus -FIREFLY_luke_4.lus -FIREFLY_luke_5.lus -FIREFLY_luke_rt_e1_913_e1_1993.lus -FIREFLY_luke_rt_e1_913_e2_3353.lus -FIREFLY_luke_rt_e1_913_e3_2128.lus -FIREFLY_luke_rt_e1_913_e7_1403.lus -FIREFLY_luke_rt_e1_913.lus -FIREFLY_luke_rt_e2_3460_e1_1455.lus -FIREFLY_luke_rt_e2_3460_e2_2670.lus -FIREFLY_luke_rt_e2_3460_e3_1333.lus -FIREFLY_luke_rt_e2_3460_e7_471.lus -FIREFLY_luke_rt_e2_3460.lus -FIREFLY_luke_rt_e3_1549.lus -FIREFLY_luke_rt.lus -FIREFLY_rt_e3_1770_e2_637.lus -FIREFLY_rt.lus -FIREFLY_u1_e2_3403_e2_957.lus -FIREFLY_u1_e7_3318.lus -FIREFLY_u1.lus +DRAGON_1 +DRAGON_10 +DRAGON_10_e1_3587_e3_2749 +DRAGON_10_e1_3587_e7_872 +DRAGON_10_e1_998 +DRAGON_10_e2_2785_e3_1744 +DRAGON_10_e2_402 +DRAGON_10_e3_144_e5_2046 +DRAGON_10_e3_144_e7_523 +DRAGON_10_e3_3429 +DRAGON_10_e7_3861_e2_1020 +DRAGON_10_e7_3861_e7_2180 +DRAGON_11 +DRAGON_11_e1_2450 +DRAGON_11_e1_2450_e1_5887 +DRAGON_11_e1_2450_e2_1483 +DRAGON_11_e1_2450_e3_2330 +DRAGON_11_e1_2450_e7_5791 +DRAGON_11_e2_1678_e1_3565 +DRAGON_11_e2_5396_e3_282 +DRAGON_11_e3_382_e1_505 +DRAGON_11_e3_382_e4_4421 +DRAGON_12 +DRAGON_12_e1_4640_e7_128 +DRAGON_12_e2_1618 +DRAGON_12_e2_1618_e1_6030 +DRAGON_12_e2_1618_e2_138 +DRAGON_12_e2_1618_e3_2012 +DRAGON_12_e2_1618_e7_4732 +DRAGON_13 +DRAGON_13_e3_1418_e3_2761 +DRAGON_13_e7_2336 +DRAGON_13_e7_2336_e1_541 +DRAGON_13_e7_2336_e2_1255 +DRAGON_13_e7_2336_e3_3117 +DRAGON_13_e7_2336_e7_685 +DRAGON_14 +DRAGON_14_e1_5710 +DRAGON_14_e2_3606 +DRAGON_14_e3_1259_e1_5798 +DRAGON_14_e3_5120 +DRAGON_14_e7_3162 +DRAGON_14_e7_3162_e1_3998 +DRAGON_14_e7_3162_e2_753 +DRAGON_14_e7_3162_e3_4298 +DRAGON_14_e7_3162_e7_3528 +DRAGON_1_e1_14612_e1_268_e7_501 +DRAGON_1_e1_14612_e2_2653_e7_4370 +DRAGON_1_e1_3184_e7_1888 +DRAGON_1_e1_5070 +DRAGON_1_e2_1997 +DRAGON_1_e2_1997_e7_3613_e2_3409 +DRAGON_1_e3_11891_e7_4569_e4_4881 +DRAGON_2 +DRAGON_2_e1_2316 +DRAGON_2_e2_3183_e1_2644 +DRAGON_2_e2_3183_e2_3580 +DRAGON_2_e2_3183_e3_5972 +DRAGON_2_e2_4481 +DRAGON_2_e7_25 +DRAGON_2_e7_25_e1_154 +DRAGON_2_e7_25_e2_5340 +DRAGON_2_e7_25_e3_829 +DRAGON_2_e7_25_e7_4469 +DRAGON_2_e7_25_e8_3171 +DRAGON_3 +DRAGON_3_e1_4783 +DRAGON_3_e1_4783_e1_3755 +DRAGON_3_e1_4783_e2_158 +DRAGON_3_e1_4783_e3_511 +DRAGON_3_e1_4783_e7_4070 +DRAGON_3_e2_5343_e1_988 +DRAGON_3_e3_3846 +DRAGON_3_e3_5422_e1_2288 +DRAGON_3_e3_5422_e2_3135 +DRAGON_3_e7_4884 +DRAGON_4 +DRAGON_4_e1_4312 +DRAGON_4_e2_2799 +DRAGON_4_e2_2799_e1_1303 +DRAGON_4_e2_2799_e2_2251 +DRAGON_4_e2_2799_e3_1915 +DRAGON_4_e2_2799_e7_2499 +DRAGON_4_e3_1540_e1_5048 +DRAGON_4_e3_4133 +DRAGON_4_e7_2329 +DRAGON_4_e7_2329_e3_4574 +DRAGON_4_e7_2329_e7_3856 +DRAGON_5 +DRAGON_5_e1_1835 +DRAGON_5_e2_3018_e2_936 +DRAGON_5_e7_2017 +DRAGON_5_e7_2017_e1_5832 +DRAGON_5_e7_2017_e2_664 +DRAGON_5_e7_2017_e3_1763 +DRAGON_5_e7_2017_e7_2326 +DRAGON_6 +DRAGON_6_e7_5046_e7_3623 +DRAGON_7 +DRAGON_7_e2_2872_e2_5844 +DRAGON_7_e2_2872_e3_2640 +DRAGON_7_e7_3157_e2_2082 +DRAGON_8 +DRAGON_8_e2_3896_e3_3125 +DRAGON_8_e3_786 +DRAGON_8_e3_786_e7_4541 +DRAGON_8_e7_3752 +DRAGON_9 +DRAGON_9_e7_1843 +DRAGON_9_e7_1843_e1_5434 +DRAGON_9_e7_1843_e2_1145 +DRAGON_9_e7_1843_e3_5316 +DRAGON_9_e7_1843_e7_2225 +DRAGON_all +DRAGON_all2 +DRAGON_all2_e2_2073_e8_3691 +DRAGON_all2_e3_4612_e1_6463 +DRAGON_all2_e3_4612_e2_5774 +DRAGON_all2_e3_4612_e3_1543 +DRAGON_all2_e3_4612_e4_3719 +DRAGON_all2_e3_4612_e5_3642 +DRAGON_all2_e3_4612_e8_5861 +DRAGON_all2_e7_5406 +DRAGON_all2_e7_5406_e1_6690 +DRAGON_all2_e7_5406_e2_3084 +DRAGON_all2_e7_5406_e3_506 +DRAGON_all2_e7_5406_e7_6697 +DRAGON_all2_e8_4626 +DRAGON_all2_e8_5504 +DRAGON_all2_e8_5504_e1_4719 +DRAGON_all2_e8_5504_e2_1598 +DRAGON_all2_e8_5504_e7_579 +DRAGON_all_e1_4022_e1_1759 +DRAGON_all_e1_4022_e2_267 +DRAGON_all_e1_4022_e3_3628 +DRAGON_all_e1_4022_e7_2886 +DRAGON_all_e1_4037 +DRAGON_all_e2_6104 +DRAGON_all_e2_6104_e1_6205 +DRAGON_all_e2_6104_e2_3308 +DRAGON_all_e2_6104_e3_2607 +DRAGON_all_e3_4821_e1_1318 +DRAGON_all_e3_4821_e2_1089 +DRAGON_all_e3_4821_e4_1791 +DRAGON_all_e3_4821_e5_1536 +DRAGON_all_e3_5957 +DRAGON_all_e7_1941_e2_6086 +DRAGON_all_e7_4065 +FIREFLY_1 +FIREFLY_10 +FIREFLY_10_e7_919_e2_3192 +FIREFLY_11 +FIREFLY_11_e1_3457 +FIREFLY_11_e3_2076_e1_1270 +FIREFLY_1_e1_1092 +FIREFLY_1_e1_1092_e1_1486 +FIREFLY_1_e1_1092_e2_1853 +FIREFLY_1_e1_1092_e3_389 +FIREFLY_1_e1_1092_e7_1119 +FIREFLY_2 +FIREFLY_2_e3_151_e3_1540 +FIREFLY_3 +FIREFLY_3_e2_2236 +FIREFLY_3_e2_2236_e1_2305 +FIREFLY_3_e2_2236_e2_1058 +FIREFLY_3_e2_2236_e3_2657 +FIREFLY_3_e2_2236_e7_3681 +FIREFLY_4 +FIREFLY_4_e3_3511 +FIREFLY_4_e3_3511_e1_2375 +FIREFLY_4_e3_3511_e2_1923 +FIREFLY_4_e3_3511_e3_422 +FIREFLY_4_e3_3511_e4_1464 +FIREFLY_4_e3_3511_e5_3248 +FIREFLY_4_e3_3511_e7_3568 +FIREFLY_5 +FIREFLY_5_e1_2552_e7_1169 +FIREFLY_5_e2_2229 +FIREFLY_5_e2_2884 +FIREFLY_5_e2_2884_e1_2678 +FIREFLY_5_e2_2884_e2_1492 +FIREFLY_5_e2_2884_e3_1882 +FIREFLY_5_e2_2884_e7_3594 +FIREFLY_6 +FIREFLY_6_e2_3302 +FIREFLY_7 +FIREFLY_8 +FIREFLY_8_e2_1711 +FIREFLY_8_e2_1711_e1_1489 +FIREFLY_8_e2_1711_e2_2673 +FIREFLY_8_e2_1711_e3_1753 +FIREFLY_8_e2_1711_e7_1962 +FIREFLY_9 +FIREFLY_9_e7_170_e3_3647 +FIREFLY_a3 +FIREFLY_a3_e1_3233 +FIREFLY_a3_e1_3233_e1_3123 +FIREFLY_a3_e1_3233_e2_2392 +FIREFLY_a3_e1_3233_e3_2970 +FIREFLY_a3_e1_3233_e7_906 +FIREFLY_a3_e2_2086_e1_3235 +FIREFLY_a3_e2_2086_e2_2689 +FIREFLY_a3_e2_2086_e3_2542 +FIREFLY_a3_e2_2086_e7_2614 +FIREFLY_a3_e2_2952 +FIREFLY_a3_e3_314_e1_1979 +FIREFLY_a3_e3_314_e2_2812 +FIREFLY_a3_e3_314_e4_897 +FIREFLY_all +FIREFLY_all_e1_1207_e1_1201 +FIREFLY_all_e1_1207_e2_3220 +FIREFLY_all_e1_1207_e3_1928 +FIREFLY_all_e1_1207_e7_156 +FIREFLY_all_e1_3406 +FIREFLY_all_e2_2924_e1_768 +FIREFLY_all_e2_2924_e2_1767 +FIREFLY_all_e2_2924_e3_3946 +FIREFLY_all_e2_2924_e7_3371 +FIREFLY_all_e2_3678 +FIREFLY_all_e3_1600_e1_667 +FIREFLY_all_e3_1600_e2_676 +FIREFLY_all_e3_1600_e3_2055 +FIREFLY_all_e3_1600_e4_2415 +FIREFLY_all_e3_1600_e5_84 +FIREFLY_all_e3_1600_e7_1607 +FIREFLY_all_e3_3496 +FIREFLY_all_e7_1909 +FIREFLY_luke_1a +FIREFLY_luke_1a_e2_284_e1_2924 +FIREFLY_luke_1a_e2_284_e2_2755 +FIREFLY_luke_1a_e2_284_e3_3091 +FIREFLY_luke_1a_e2_284_e7_998 +FIREFLY_luke_1a_e7_3042_e3_1213 +FIREFLY_luke_1b +FIREFLY_luke_1b_e1_1139_e1_1565 +FIREFLY_luke_1b_e1_1139_e2_2893 +FIREFLY_luke_1b_e1_1139_e3_1839 +FIREFLY_luke_1b_e1_1691 +FIREFLY_luke_1b_e2_3049 +FIREFLY_luke_1b_e2_3049_e1_946 +FIREFLY_luke_1b_e2_3049_e2_698 +FIREFLY_luke_1b_e2_3049_e3_2697 +FIREFLY_luke_1b_e3_671 +FIREFLY_luke_1b_e3_671_e1_725 +FIREFLY_luke_1b_e3_671_e2_2131 +FIREFLY_luke_1b_e3_671_e3_941 +FIREFLY_luke_1b_e3_671_e4_147 +FIREFLY_luke_1b_e3_671_e5_1637 +FIREFLY_luke_1b_e3_671_e6_1974 +FIREFLY_luke_1b_e3_671_e7_1882 +FIREFLY_luke_1b_e7_2574 +FIREFLY_luke_1b_e7_3191 +FIREFLY_luke_1b_e7_3191_e1_1303 +FIREFLY_luke_1b_e7_3191_e2_1864 +FIREFLY_luke_1b_e7_3191_e3_1250 +FIREFLY_luke_1b_e7_3191_e7_2146 +FIREFLY_luke_1b_e7_3191_e8_2830 +FIREFLY_luke_2 +FIREFLY_luke_2_e2_1375_e1_418 +FIREFLY_luke_2_e7_1826_e8_126 +FIREFLY_luke_3 +FIREFLY_luke_3_e1_2217_e3_1200 +FIREFLY_luke_4 +FIREFLY_luke_4_e2_325 +FIREFLY_luke_5 +FIREFLY_luke_rt +FIREFLY_luke_rt_e1_913 +FIREFLY_luke_rt_e1_913_e1_1993 +FIREFLY_luke_rt_e1_913_e2_3353 +FIREFLY_luke_rt_e1_913_e3_2128 +FIREFLY_luke_rt_e1_913_e7_1403 +FIREFLY_luke_rt_e2_3460 +FIREFLY_luke_rt_e2_3460_e1_1455 +FIREFLY_luke_rt_e2_3460_e2_2670 +FIREFLY_luke_rt_e2_3460_e3_1333 +FIREFLY_luke_rt_e2_3460_e7_471 +FIREFLY_luke_rt_e3_1549 +FIREFLY_rt +FIREFLY_rt_e3_1770_e2_637 +FIREFLY_u1 +FIREFLY_u1_e2_3403_e2_957 +FIREFLY_u1_e7_3318 +Gas +ILLINOIS_1 +ILLINOIS_2 +ILLINOIS_2_e1_834 +ILLINOIS_2_e1_834_e1_1895 +ILLINOIS_2_e1_834_e2_3395 +ILLINOIS_2_e1_834_e3_2931 +ILLINOIS_2_e1_834_e7_3738 +ILLINOIS_2_e2_2367_e1_3182 +ILLINOIS_2_e2_2367_e2_1561 +ILLINOIS_2_e2_2367_e3_1601 +ILLINOIS_2_e2_2367_e7_2728 +ILLINOIS_2_e2_876 +ILLINOIS_3 +ILLINOIS_3_e3_2581 +ILLINOIS_3_e3_2581_e1_1130 +ILLINOIS_3_e3_2581_e2_2545 +ILLINOIS_3_e3_2581_e3_979 +ILLINOIS_3_e3_2581_e4_958 +ILLINOIS_3_e3_2581_e5_4006 +ILLINOIS_3_e3_2581_e7_3447 +ILLINOIS_4 +ILLINOIS_4_e7_2651_e7_2847 +ILLINOIS_5 +ILLINOIS_5_e7_692_e7_2865 +ILLINOIS_a1 +ILLINOIS_all +ILLINOIS_r4a +MESI_1_e2_162_e7_1545 +MESI_3_e2_819 +MESI_3_e2_819_e2_562 +MESI_3_e2_819_e3_2698 +MESI_3_e2_819_e5_2554 +MESI_3_e2_819_e7_1665 +MESI_3_e2_819_e8_1896 +MESI_4_e7_1140_e7_433 +MESI_all_e4_1147_e7_497 +MESI_i1 +MESI_i1_e2_1758_e8_12 +MESI_i1_e2_2656 +MESI_i1_e3_2145 +MESI_i1_e3_2145_e1_2667 +MESI_i1_e3_2145_e2_2228 +MESI_i1_e3_2145_e3_977 +MESI_i1_e3_2145_e4_1717 +MESI_i1_e3_2145_e5_2391 +MESI_i1_e3_2145_e7_1847 +MESI_i1_e3_2145_e8_2325 +MESI_i1_e4_1986 +MESI_i1_e4_1986_e1_1519 +MESI_i2 +MESI_i3 +MESI_i3_e1_447 +MESI_i3_e1_447_e1_1292 +MESI_i3_e1_447_e2_1098 +MESI_i3_e1_447_e3_1180 +MESI_i3_e1_447_e5_2444 +MESI_i3_e1_447_e6_2281 +MESI_i3_e1_447_e7_2194 +MESI_i4 +MESI_i4_e4_1689 +MESI_i4_e6_2175 +MESI_i4_e7_1017_e6_1132 +MESI_i4_e8_1381_e1_1837 +MESI_i4_e8_1381_e4_313 +MOESI_1_e2_982_e7_492 +MOESI_1_e3_1884_e7_1875 +MOESI_2_e1_1753_e1_1510 +MOESI_2_e1_1753_e2_615 +MOESI_2_e1_1753_e3_2021 +MOESI_2_e2_1599_e1_2383 +MOESI_2_e2_1599_e2_1815 +MOESI_2_e2_1599_e3_1658 +MOESI_2_e3_929_e1_2319 +MOESI_2_e3_929_e2_2421 +MOESI_2_e3_929_e3_2294 +MOESI_2_e3_929_e7_619 +MOESI_2_e7_2607 +MOESI_2_e7_2910 +MOESI_2_e7_2910_e1_1021 +MOESI_2_e7_2910_e2_611 +MOESI_2_e7_2910_e3_2002 +MOESI_2_e7_2910_e7_1804 +MOESI_2_e8_926_e7_961 +MOESI_all_e3_2032_e3_2788 +PRODUCER_CONSUMER_vt +PRODUCER_CONSUMER_vt_e2_1352 +PRODUCER_CONSUMER_vt_e3_507 +PRODUCER_CONSUMER_vt_e7_1059_e8_1111 +PRODUCER_CONSUMMER_luke_1 +PRODUCER_CONSUMMER_luke_2 +PRODUCER_CONSUMMER_luke_2_e7_1068_e8_1019 +SYNAPSE_123_e2_1653 +SYNAPSE_123_e3_302 +SYNAPSE_123_e3_302_e1_1141 +SYNAPSE_123_e7_837_e2_1394 +SYNAPSE_123_e7_837_e3_135 +SYNAPSE_123_e7_837_e7_1262 +SYNAPSE_123_e7_856 +SYNAPSE_123_e8_953_e1_1128 +SYNAPSE_123_e8_953_e2_458 +SYNAPSE_123_e8_953_e3_271 +SYNAPSE_123_e8_953_e7_1465 +SYNAPSE_2_e1_1239 +SYNAPSE_2_e1_1239_e1_1331 +SYNAPSE_2_e1_1239_e2_74 +SYNAPSE_2_e3_216 +SYNAPSE_2_e8_1118_e1_667 +SYNAPSE_2_e8_1118_e2_237 +SYNAPSE_2_e8_1118_e3_1216 +SYNAPSE_3_e1_1416 +SYNAPSE_3_e1_1416_e1_1675 +SYNAPSE_3_e1_1416_e2_753 +SYNAPSE_3_e1_1416_e3_1191 +SYNAPSE_3_e1_1416_e7_193 +SYNAPSE_3_e3_1041 +SYNAPSE_3_e7_1444_e7_638 +SYNAPSE_3_e7_425 +SYNAPSE_3_e8_1329_e1_1270 +SYNAPSE_3_e8_1329_e2_236 +SYNAPSE_3_e8_1329_e3_421 +SYNAPSE_3_e8_1329_e7_1062 +SYNAPSE_5 +SYNAPSE_5_e1_811 +SYNAPSE_5_e1_811_e1_823 +SYNAPSE_5_e1_811_e2_1026 +SYNAPSE_5_e2_1525 +SYNAPSE_6 +SYNAPSE_6_e2_1439_e1_954 +SYNAPSE_6_e3_1666_e5_1558 +SYNAPSE_6_e7_938_e2_1012 +SYNAPSE_6_e8_1147_e2_1326 +SYNAPSE_all_e3_1750 +SYNAPSE_all_e3_1864_e3_495 +SYNAPSE_all_e3_1864_e4_34 +SYNAPSE_all_e3_1864_e5_1637 +SYNAPSE_all_e3_1864_e7_251 +SYNAPSE_all_e7_907 +SYNAPSE_all_e7_907_e7_1363 +SYNAPSE_all_e8_251_e1_1852 +SYNAPSE_all_e8_251_e2_1053 +SYNAPSE_all_e8_251_e3_1472 +SYNAPSE_i1 +_6counter +_6counter2 +_6countern +_6counters +_6counters_e3_140_e8_149 +_6counters_e8_371_e1_448 +_6counters_e8_371_e3_224 +_6counters_e8_371_e7_304 +car_1_e7_184_e3_299 +car_2_e7_1027_e1_1047 +car_2_e7_1027_e7_359 +car_2_e8_491_e7_826 +car_3_e1_586 +car_3_e1_924 +car_3_e7_626_e1_305 +car_3_e8_33_e1_856 +car_4_e3_556 +car_4_e3_57 +car_4_e3_57_e5_999 +car_4_e7_592_e3_442 +car_4_e7_592_e7_265 +car_4_e8_118_e3_514 +car_4_e8_118_e7_178 +car_5 +car_5_e2_405_e2_1083 +car_5_e2_405_e3_473 +car_5_e2_405_e8_1055 +car_5_e3_11_e1_429 +car_5_e3_11_e5_24 +car_5_e3_661 +car_5_e7_244 +car_5_e7_244_e1_823 +car_5_e7_244_e2_693 +car_5_e7_244_e3_1071 +car_6 +car_6_e1_152 +car_6_e1_152_e1_391 +car_6_e2_589_e2_506 +car_6_e2_589_e3_349 +car_6_e2_893 +car_6_e3_294_e1_956 +car_6_e3_294_e3_47 +car_6_e3_294_e5_979 +car_all_e1_618 +car_all_e1_618_e3_303 +car_all_e2_142_e7_209 +car_all_e3_1068 +car_all_e3_1068_e1_178 +car_all_e3_1068_e2_13 +car_all_e3_1068_e3_163 +car_all_e3_1068_e5_882 +car_all_e7_188_e7_743 +car_all_e8_856_e1_217 +car_all_e8_856_e3_180 +car_all_e8_856_e7_578 +ccp08 +ccp10 +ccp11 +ccp12 +ccp13 +ccp14 +ccp17 +ccp18 +ccp20 +ccp21 +ccp22 +ccp23 +ccp24 +cd_e7_621_e7_669 +cd_e7_8 +cruise_controller_08 +cruise_controller_09 +cruise_controller_10 +cruise_controller_12 +cruise_controller_14 +cruise_controller_15 +cruise_controller_16 +cruise_controller_17 +cruise_controller_18 +cruise_controller_19 +cruise_controller_20 +cruise_controller_21 +cruise_controller_22 +cruise_controller_23 +cruise_controller_24 +durationThm_1 +durationThm_1_e1_350 +durationThm_1_e3_389 +durationThm_1_e3_389_e5_5 +durationThm_1_e7_217 +durationThm_1_e7_217_e1_89 +durationThm_1_e7_217_e3_132 +durationThm_1_e7_217_e7_31 +durationThm_2 +durationThm_2_e1_301 +durationThm_2_e3_329_e5_124 +durationThm_2_e3_99 +durationThm_2_e7_145_e1_343 +durationThm_2_e7_145_e3_222 +durationThm_2_e7_145_e7_154 +durationThm_2_e7_145_e8_73 +durationThm_2_e7_149 +durationThm_3 +durationThm_3_e1_36 +durationThm_3_e1_71 +durationThm_3_e7_334 +durationThm_3_e7_334_e1_431 +durationThm_3_e7_334_e3_42 +durationThm_3_e7_334_e7_118 +ex8_e7_74 +ex8_e7_74_e7_740 +ex8_e7_74_e8_302 +ex8_e8_220 +ex8_e8_220_e7_249 +ex8_e8_376 +fast_1_e7_2044 +fast_1_e7_2044_e7_1287 +fast_1_e8_747_e7_692 +fast_2_e7_2526 +fast_2_e7_2526_e7_2736 +fast_2_e8_460_e7_43 +metros_2 +metros_2_e1_1116 +metros_2_e1_1116_e1_556 +metros_2_e1_1116_e3_287 +metros_2_e1_1116_e7_1440 +metros_2_e1_190 +metros_2_e2_704_e1_389 +metros_2_e2_704_e3_76 +metros_2_e2_704_e7_810 +metros_2_e2_968 +metros_2_e3_112 +metros_3 +metros_3_e3_1275 +metros_3_e3_1275_e1_1350 +metros_3_e3_1275_e4_164 +metros_3_e3_1275_e5_846 +metros_3_e3_1275_e6_1315 +metros_3_e3_1275_e7_529 +metros_3_e4_987 +metros_3_e4_987_e2_80 +metros_3_e4_987_e3_291 +metros_4 +metros_4_e1_821_e5_911 +metros_4_e1_917 +metros_4_e2_968 +metros_4_e2_968_e1_956 +metros_4_e2_968_e4_801 +metros_4_e2_968_e5_991 +metros_4_e2_968_e6_236 +metros_4_e2_968_e7_860 +metros_4_e3_1025 +metros_4_e3_1091 +metros_4_e3_1091_e1_1044 +metros_4_e3_1091_e4_232 +metros_4_e5_1150 +metros_4_e6_239_e2_307 +metros_5 +metros_5_e4_1208_e1_337 +microwave06 +microwave07 +microwave08 +microwave09 +microwave10 +microwave11 +microwave12 +microwave13 +microwave14 +microwave17 +microwave18 +microwave19 +microwave20 +microwave21 +microwave22 +microwave23 +microwave24 +microwave25 +microwave27 +microwave28 +microwave30 +microwave31 +microwave32 +microwave33 +microwave34 +microwave35 +microwave36 +microwave37 +microwave38 +microwave39 +microwave40 +peterson_1 +peterson_1_e7_4234 +peterson_2 +peterson_3 +peterson_4 +peterson_all +peterson_vt +readwrit +rtp_1 +rtp_10 +rtp_10_e7_106_e7_2564 +rtp_2 +rtp_3 +rtp_4 +rtp_5 +rtp_5_e7_3972 +rtp_6 +rtp_7 +rtp_8 +rtp_9 +rtp_all +rtp_all_e7_2500 +rtp_vt +stalmark_e8_48 +stalmark_e8_64 +stalmark_e8_64_e7_80 +stalmark_e8_64_e8_207 +swimmingpool_1 +swimmingpool_1_e7_1621 +swimmingpool_2 +swimmingpool_3 +swimmingpool_4 +swimmingpool_4_e7_2197 +swimmingpool_5 +swimmingpool_6 +swimmingpool_6_e7_10_e7_341 +swimmingpool_6_e7_399 +swimmingpool_7 +swimmingpool_8 +swimmingpool_9 +switch +switch2 +ticket3i_1 +ticket3i_1_e7_1669 +ticket3i_2 +ticket3i_3 +ticket3i_3_e7_1312 +ticket3i_3_e7_1312_e7_1495 +ticket3i_3_e7_1312_e8_1916 +ticket3i_3_e7_99 +ticket3i_3_e8_1703 +ticket3i_3_e8_1703_e7_3491 +ticket3i_3_e8_1703_e8_2560 +ticket3i_3_e8_1788 +ticket3i_4 +ticket3i_4_e7_1775_e7_3320 +ticket3i_5 +ticket3i_5_e7_3307 +ticket3i_6 +ticket3i_6_e7_1096_e7_2688 +ticket3i_7 +ticket3i_7_e1_2192_e1_1852 +ticket3i_7_e2_2724_e7_524 +ticket3i_7_e3_59_e7_2122 +ticket3i_7_e7_3176 +ticket3i_7_e7_3176_e1_2924 +ticket3i_7_e8_2126_e7_78 +ticket3i_all +ticket3i_all_e1_2706_e7_1776 +ticket3i_all_e2_1117_e7_553 +ticket3i_all_e3_557_e7_3464 +ticket3i_all_e7_1837 +ticket3i_all_e7_591 +ticket3i_all_e8_505_e7_2450 +traffic_e7_46 +traffic_e7_46_e7_171 +twisted_counters +two_counters_e1_268 +two_counters_e2_3 +two_counters_e3_325 +two_counters_e7_222 +ums_e7_1700 diff --git a/offline_tests/metros_1.lus b/offline_tests/metros_1.lus index 80d577e5..41f972be 100644 --- a/offline_tests/metros_1.lus +++ b/offline_tests/metros_1.lus @@ -46,7 +46,7 @@ tel node top(B0, B1 : bool; S : bool) returns (OK:bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 3-induction; var nB0, nB1 : int; nS : int; diff0, diff1 :int; diff --git a/offline_tests/metros_1_e1_846_e1_1317.lus b/offline_tests/metros_1_e1_846_e1_1317.lus index 48bee70f..c6a13c06 100644 --- a/offline_tests/metros_1_e1_846_e1_1317.lus +++ b/offline_tests/metros_1_e1_846_e1_1317.lus @@ -40,7 +40,7 @@ let tel node top(B0, B1 : bool; S : bool) returns (OK:bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 3-induction; var nB0, nB1 : int; nS : int; diff0, diff1 :int; diff --git a/offline_tests/metros_1_e1_846_e2_1394.lus b/offline_tests/metros_1_e1_846_e2_1394.lus index 78d61fe8..66c7b8a4 100644 --- a/offline_tests/metros_1_e1_846_e2_1394.lus +++ b/offline_tests/metros_1_e1_846_e2_1394.lus @@ -40,7 +40,7 @@ let tel node top(B0, B1 : bool; S : bool) returns (OK:bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 3-induction; var nB0, nB1 : int; nS : int; diff0, diff1 :int; diff --git a/offline_tests/metros_1_e1_846_e3_1060.lus b/offline_tests/metros_1_e1_846_e3_1060.lus index c5483b33..8d571bbc 100644 --- a/offline_tests/metros_1_e1_846_e3_1060.lus +++ b/offline_tests/metros_1_e1_846_e3_1060.lus @@ -40,7 +40,7 @@ let tel node top(B0, B1 : bool; S : bool) returns (OK:bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 3-induction; var nB0, nB1 : int; nS : int; diff0, diff1 :int; diff --git a/offline_tests/metros_1_e1_846_e7_397.lus b/offline_tests/metros_1_e1_846_e7_397.lus index 035e9424..edfda059 100644 --- a/offline_tests/metros_1_e1_846_e7_397.lus +++ b/offline_tests/metros_1_e1_846_e7_397.lus @@ -40,7 +40,7 @@ let tel node top(B0, B1 : bool; S : bool) returns (OK:bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 3-induction; var nB0, nB1 : int; nS : int; diff0, diff1 :int; diff --git a/offline_tests/metros_1_e2_1102_e1_317.lus b/offline_tests/metros_1_e2_1102_e1_317.lus index 00a46455..ea437fea 100644 --- a/offline_tests/metros_1_e2_1102_e1_317.lus +++ b/offline_tests/metros_1_e2_1102_e1_317.lus @@ -40,7 +40,7 @@ let tel node top(B0, B1 : bool; S : bool) returns (OK:bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 3-induction; var nB0, nB1 : int; nS : int; diff0, diff1 :int; diff --git a/offline_tests/metros_1_e2_1102_e2_943.lus b/offline_tests/metros_1_e2_1102_e2_943.lus index 3ffca1fb..837d0e1e 100644 --- a/offline_tests/metros_1_e2_1102_e2_943.lus +++ b/offline_tests/metros_1_e2_1102_e2_943.lus @@ -40,7 +40,7 @@ let tel node top(B0, B1 : bool; S : bool) returns (OK:bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 3-induction; var nB0, nB1 : int; nS : int; diff0, diff1 :int; diff --git a/offline_tests/metros_1_e2_1102_e3_961.lus b/offline_tests/metros_1_e2_1102_e3_961.lus index 26bec51f..abe4e2ea 100644 --- a/offline_tests/metros_1_e2_1102_e3_961.lus +++ b/offline_tests/metros_1_e2_1102_e3_961.lus @@ -40,7 +40,7 @@ let tel node top(B0, B1 : bool; S : bool) returns (OK:bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 3-induction; var nB0, nB1 : int; nS : int; diff0, diff1 :int; diff --git a/offline_tests/metros_1_e2_1102_e7_1163.lus b/offline_tests/metros_1_e2_1102_e7_1163.lus index b6d02122..a06dc573 100644 --- a/offline_tests/metros_1_e2_1102_e7_1163.lus +++ b/offline_tests/metros_1_e2_1102_e7_1163.lus @@ -40,7 +40,7 @@ let tel node top(B0, B1 : bool; S : bool) returns (OK:bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 3-induction; var nB0, nB1 : int; nS : int; diff0, diff1 :int; diff --git a/offline_tests/metros_1_e2_627.lus b/offline_tests/metros_1_e2_627.lus index e29631b8..cca69555 100644 --- a/offline_tests/metros_1_e2_627.lus +++ b/offline_tests/metros_1_e2_627.lus @@ -40,7 +40,7 @@ let tel node top(B0, B1 : bool; S : bool) returns (OK:bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 3-induction; var nB0, nB1 : int; nS : int; diff0, diff1 :int; diff --git a/offline_tests/metros_1_e7_1255_e7_12.lus b/offline_tests/metros_1_e7_1255_e7_12.lus index d390eb1c..a950e14d 100644 --- a/offline_tests/metros_1_e7_1255_e7_12.lus +++ b/offline_tests/metros_1_e7_1255_e7_12.lus @@ -40,7 +40,7 @@ let tel node top(B0, B1 : bool; S : bool) returns (OK:bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 3-induction; var nB0, nB1 : int; nS : int; diff0, diff1 :int; diff --git a/offline_tests/metros_1_e7_606.lus b/offline_tests/metros_1_e7_606.lus index 0c0cbf32..fc7d050b 100644 --- a/offline_tests/metros_1_e7_606.lus +++ b/offline_tests/metros_1_e7_606.lus @@ -40,7 +40,7 @@ let tel node top(B0, B1 : bool; S : bool) returns (OK:bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 3-induction; var nB0, nB1 : int; nS : int; diff0, diff1 :int; diff --git a/offline_tests/metros_1_e8_725.lus b/offline_tests/metros_1_e8_725.lus index 8a7c713c..7fda7aac 100644 --- a/offline_tests/metros_1_e8_725.lus +++ b/offline_tests/metros_1_e8_725.lus @@ -40,7 +40,7 @@ let tel node top(B0, B1 : bool; S : bool) returns (OK:bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var nB0, nB1 : int; nS : int; diff0, diff1 :int; diff --git a/offline_tests/metros_1_e8_725_e1_919.lus b/offline_tests/metros_1_e8_725_e1_919.lus index 8cf00463..dd3fdd4f 100644 --- a/offline_tests/metros_1_e8_725_e1_919.lus +++ b/offline_tests/metros_1_e8_725_e1_919.lus @@ -40,7 +40,7 @@ let tel node top(B0, B1 : bool; S : bool) returns (OK:bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var nB0, nB1 : int; nS : int; diff0, diff1 :int; diff --git a/offline_tests/metros_1_e8_725_e2_1144.lus b/offline_tests/metros_1_e8_725_e2_1144.lus index 14f55753..5b28df89 100644 --- a/offline_tests/metros_1_e8_725_e2_1144.lus +++ b/offline_tests/metros_1_e8_725_e2_1144.lus @@ -40,7 +40,7 @@ let tel node top(B0, B1 : bool; S : bool) returns (OK:bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var nB0, nB1 : int; nS : int; diff0, diff1 :int; diff --git a/offline_tests/metros_1_e8_725_e3_556.lus b/offline_tests/metros_1_e8_725_e3_556.lus index 9a3f5acf..a2a55716 100644 --- a/offline_tests/metros_1_e8_725_e3_556.lus +++ b/offline_tests/metros_1_e8_725_e3_556.lus @@ -40,7 +40,7 @@ let tel node top(B0, B1 : bool; S : bool) returns (OK:bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var nB0, nB1 : int; nS : int; diff0, diff1 :int; diff --git a/offline_tests/metros_2_e1_1116_e2_617.lus b/offline_tests/metros_2_e1_1116_e2_617.lus index 4574dca5..e82e9f80 100644 --- a/offline_tests/metros_2_e1_1116_e2_617.lus +++ b/offline_tests/metros_2_e1_1116_e2_617.lus @@ -40,7 +40,7 @@ let tel node top(B0, B1 : bool; S : bool) returns (OK:bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 3-induction; var nB0, nB1 : int; nS : int; diff0,diff1:int; diff --git a/offline_tests/metros_2_e2_704_e2_13.lus b/offline_tests/metros_2_e2_704_e2_13.lus index 3d98232d..a0df140a 100644 --- a/offline_tests/metros_2_e2_704_e2_13.lus +++ b/offline_tests/metros_2_e2_704_e2_13.lus @@ -40,7 +40,7 @@ let tel node top(B0, B1 : bool; S : bool) returns (OK:bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 3-induction; var nB0, nB1 : int; nS : int; diff0,diff1:int; diff --git a/offline_tests/metros_3_e3_1275_e2_454.lus b/offline_tests/metros_3_e3_1275_e2_454.lus index 23b7c3ef..6db4ffbb 100644 --- a/offline_tests/metros_3_e3_1275_e2_454.lus +++ b/offline_tests/metros_3_e3_1275_e2_454.lus @@ -40,7 +40,7 @@ let tel node top(B0, B1 : bool; S : bool) returns (OK:bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 3-induction; var nB0,nB1 : int; nS : int; diff0,diff1:int; diff --git a/offline_tests/metros_3_e3_1275_e3_640.lus b/offline_tests/metros_3_e3_1275_e3_640.lus index 05e2cc6c..f153e8ef 100644 --- a/offline_tests/metros_3_e3_1275_e3_640.lus +++ b/offline_tests/metros_3_e3_1275_e3_640.lus @@ -40,7 +40,7 @@ let tel node top(B0, B1 : bool; S : bool) returns (OK:bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 3-induction; var nB0,nB1 : int; nS : int; diff0,diff1:int; diff --git a/offline_tests/metros_4_e2_968_e2_1166.lus b/offline_tests/metros_4_e2_968_e2_1166.lus index f9b45f04..e0a5a289 100644 --- a/offline_tests/metros_4_e2_968_e2_1166.lus +++ b/offline_tests/metros_4_e2_968_e2_1166.lus @@ -40,7 +40,7 @@ let tel node top(B0,B1 : bool; S : bool) returns (OK:bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 3-induction; var nB0,nB1 : int; nS : int; diff0,diff1:int; diff --git a/offline_tests/metros_4_e2_968_e3_931.lus b/offline_tests/metros_4_e2_968_e3_931.lus index 3143486c..5bde5408 100644 --- a/offline_tests/metros_4_e2_968_e3_931.lus +++ b/offline_tests/metros_4_e2_968_e3_931.lus @@ -40,7 +40,7 @@ let tel node top(B0,B1 : bool; S : bool) returns (OK:bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 3-induction; var nB0,nB1 : int; nS : int; diff0,diff1:int; diff --git a/offline_tests/metros_4_e3_1091_e2_1317.lus b/offline_tests/metros_4_e3_1091_e2_1317.lus index 927fb422..3ac8b39b 100644 --- a/offline_tests/metros_4_e3_1091_e2_1317.lus +++ b/offline_tests/metros_4_e3_1091_e2_1317.lus @@ -40,7 +40,7 @@ let tel node top(B0,B1 : bool; S : bool) returns (OK:bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 3-induction; var nB0,nB1 : int; nS : int; diff0,diff1:int; diff --git a/offline_tests/metros_4_e3_1091_e3_522.lus b/offline_tests/metros_4_e3_1091_e3_522.lus index 0011d234..c6ccf1ed 100644 --- a/offline_tests/metros_4_e3_1091_e3_522.lus +++ b/offline_tests/metros_4_e3_1091_e3_522.lus @@ -40,7 +40,7 @@ let tel node top(B0,B1 : bool; S : bool) returns (OK:bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 3-induction; var nB0,nB1 : int; nS : int; diff0,diff1:int; diff --git a/offline_tests/microwave01.lus b/offline_tests/microwave01.lus index 2976a5d4..c6ed6fe5 100644 --- a/offline_tests/microwave01.lus +++ b/offline_tests/microwave01.lus @@ -14,7 +14,7 @@ node top(KP_START: bool; ) returns (OK:bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var LEFT_DIGIT: int; SETUP: bool; diff --git a/offline_tests/microwave02.lus b/offline_tests/microwave02.lus index 40270311..a3c31a94 100644 --- a/offline_tests/microwave02.lus +++ b/offline_tests/microwave02.lus @@ -14,7 +14,7 @@ node top(KP_START: bool; ) returns (OK:bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 1-induction; var LEFT_DIGIT: int; SETUP: bool; diff --git a/offline_tests/microwave03.lus b/offline_tests/microwave03.lus index 1c6797ec..552baf18 100644 --- a/offline_tests/microwave03.lus +++ b/offline_tests/microwave03.lus @@ -14,7 +14,7 @@ node top(KP_START: bool; ) returns (OK:bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 1-induction; var LEFT_DIGIT: int; SETUP: bool; diff --git a/offline_tests/microwave04.lus b/offline_tests/microwave04.lus index e965affd..5a0720e5 100644 --- a/offline_tests/microwave04.lus +++ b/offline_tests/microwave04.lus @@ -14,7 +14,7 @@ node top(KP_START: bool; ) returns (OK:bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 1-induction; var LEFT_DIGIT: int; SETUP: bool; diff --git a/offline_tests/microwave05.lus b/offline_tests/microwave05.lus index 6d38c766..5b88b1b5 100644 --- a/offline_tests/microwave05.lus +++ b/offline_tests/microwave05.lus @@ -14,7 +14,7 @@ node top(KP_START: bool; ) returns (OK:bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 25-induction; var LEFT_DIGIT: int; SETUP: bool; diff --git a/offline_tests/microwave15.lus b/offline_tests/microwave15.lus index 7a915ee9..a3ab42af 100644 --- a/offline_tests/microwave15.lus +++ b/offline_tests/microwave15.lus @@ -14,7 +14,7 @@ node top(KP_START: bool; ) returns (OK:bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 1-induction; var LEFT_DIGIT: int; SETUP: bool; diff --git a/offline_tests/microwave16.lus b/offline_tests/microwave16.lus index 6d52e9a6..7fbd2152 100644 --- a/offline_tests/microwave16.lus +++ b/offline_tests/microwave16.lus @@ -14,7 +14,7 @@ node top(KP_START: bool; ) returns (OK:bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 1-induction; var LEFT_DIGIT: int; SETUP: bool; diff --git a/offline_tests/peterson_1.lus b/offline_tests/peterson_1.lus index 9db23a52..3d9c3603 100644 --- a/offline_tests/peterson_1.lus +++ b/offline_tests/peterson_1.lus @@ -121,7 +121,7 @@ tel node top(e01, e02, e03, e04, e05, e06, e07, e08, e09, e10, e11, e12 : bool) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13 : int; env : bool; let diff --git a/offline_tests/peterson_2.lus b/offline_tests/peterson_2.lus index 0809775e..f8cd8460 100644 --- a/offline_tests/peterson_2.lus +++ b/offline_tests/peterson_2.lus @@ -121,7 +121,7 @@ tel node top(e01, e02, e03, e04, e05, e06, e07, e08, e09, e10, e11, e12 : bool) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13 : int; env : bool; let diff --git a/offline_tests/peterson_3.lus b/offline_tests/peterson_3.lus index 09b8f74c..688e0f77 100644 --- a/offline_tests/peterson_3.lus +++ b/offline_tests/peterson_3.lus @@ -121,7 +121,7 @@ tel node top(e01, e02, e03, e04, e05, e06, e07, e08, e09, e10, e11, e12 : bool) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13 : int; env : bool; let diff --git a/offline_tests/peterson_4.lus b/offline_tests/peterson_4.lus index aced6216..fce518bf 100644 --- a/offline_tests/peterson_4.lus +++ b/offline_tests/peterson_4.lus @@ -121,7 +121,7 @@ tel node top(e01, e02, e03, e04, e05, e06, e07, e08, e09, e10, e11, e12 : bool) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13 : int; env : bool; let diff --git a/offline_tests/peterson_all.lus b/offline_tests/peterson_all.lus index 75ef951b..ec996d39 100644 --- a/offline_tests/peterson_all.lus +++ b/offline_tests/peterson_all.lus @@ -121,7 +121,7 @@ tel node top(e01, e02, e03, e04, e05, e06, e07, e08, e09, e10, e11, e12 : bool) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13 : int; env : bool; let diff --git a/offline_tests/readwrit.lus b/offline_tests/readwrit.lus index 14fe29df..0f6c45f0 100644 --- a/offline_tests/readwrit.lus +++ b/offline_tests/readwrit.lus @@ -109,7 +109,7 @@ tel node top(etat1, etat2, etat3, etat4, etat5, etat6, etat7, etat8, etat9 : bool) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12 : int; env : bool; let diff --git a/offline_tests/rtp_1.lus b/offline_tests/rtp_1.lus index e81e71bb..71461444 100644 --- a/offline_tests/rtp_1.lus +++ b/offline_tests/rtp_1.lus @@ -97,7 +97,7 @@ tel node top( e01, e02, e03, e04, e05, e06, e07, e08, e09, e10, e11, e12 : bool ) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var X1, X2, X3, X4, X5, X6, X7, X8, X9 : int; erreur : bool; let diff --git a/offline_tests/rtp_10.lus b/offline_tests/rtp_10.lus index e176eb30..7e7c7693 100644 --- a/offline_tests/rtp_10.lus +++ b/offline_tests/rtp_10.lus @@ -97,7 +97,7 @@ tel node top( e01, e02, e03, e04, e05, e06, e07, e08, e09, e10, e11, e12 : bool ) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var X1, X2, X3, X4, X5, X6, X7, X8, X9 : int; erreur : bool; env : bool; diff --git a/offline_tests/rtp_2.lus b/offline_tests/rtp_2.lus index 42ba8ee0..99d54f78 100644 --- a/offline_tests/rtp_2.lus +++ b/offline_tests/rtp_2.lus @@ -97,7 +97,7 @@ tel node top( e01, e02, e03, e04, e05, e06, e07, e08, e09, e10, e11, e12 : bool ) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var X1, X2, X3, X4, X5, X6, X7, X8, X9 : int; erreur : bool; env : bool; diff --git a/offline_tests/rtp_3.lus b/offline_tests/rtp_3.lus index 4589bb27..83b11f2a 100644 --- a/offline_tests/rtp_3.lus +++ b/offline_tests/rtp_3.lus @@ -97,7 +97,7 @@ tel node top( e01, e02, e03, e04, e05, e06, e07, e08, e09, e10, e11, e12 : bool ) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var X1, X2, X3, X4, X5, X6, X7, X8, X9 : int; erreur : bool; env : bool; diff --git a/offline_tests/rtp_4.lus b/offline_tests/rtp_4.lus index b2aaa8ca..c60e8df3 100644 --- a/offline_tests/rtp_4.lus +++ b/offline_tests/rtp_4.lus @@ -97,7 +97,7 @@ tel node top( e01, e02, e03, e04, e05, e06, e07, e08, e09, e10, e11, e12 : bool ) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var X1, X2, X3, X4, X5, X6, X7, X8, X9 : int; erreur : bool; env : bool; diff --git a/offline_tests/rtp_5.lus b/offline_tests/rtp_5.lus index af6ecb24..51511bf0 100644 --- a/offline_tests/rtp_5.lus +++ b/offline_tests/rtp_5.lus @@ -97,7 +97,7 @@ tel node top( e01, e02, e03, e04, e05, e06, e07, e08, e09, e10, e11, e12 : bool ) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var X1, X2, X3, X4, X5, X6, X7, X8, X9 : int; erreur : bool; env : bool; diff --git a/offline_tests/rtp_6.lus b/offline_tests/rtp_6.lus index aec94646..3b164f82 100644 --- a/offline_tests/rtp_6.lus +++ b/offline_tests/rtp_6.lus @@ -97,7 +97,7 @@ tel node top( e01, e02, e03, e04, e05, e06, e07, e08, e09, e10, e11, e12 : bool ) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var X1, X2, X3, X4, X5, X6, X7, X8, X9 : int; erreur : bool; env : bool; diff --git a/offline_tests/rtp_7.lus b/offline_tests/rtp_7.lus index 4b288e5a..914f501d 100644 --- a/offline_tests/rtp_7.lus +++ b/offline_tests/rtp_7.lus @@ -97,7 +97,7 @@ tel node top( e01, e02, e03, e04, e05, e06, e07, e08, e09, e10, e11, e12 : bool ) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var X1, X2, X3, X4, X5, X6, X7, X8, X9 : int; erreur : bool; env : bool; diff --git a/offline_tests/rtp_8.lus b/offline_tests/rtp_8.lus index 2e890742..40ba06ea 100644 --- a/offline_tests/rtp_8.lus +++ b/offline_tests/rtp_8.lus @@ -97,7 +97,7 @@ tel node top( e01, e02, e03, e04, e05, e06, e07, e08, e09, e10, e11, e12 : bool ) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var X1, X2, X3, X4, X5, X6, X7, X8, X9 : int; erreur : bool; env : bool; diff --git a/offline_tests/rtp_9.lus b/offline_tests/rtp_9.lus index 498fecbd..aaf814b2 100644 --- a/offline_tests/rtp_9.lus +++ b/offline_tests/rtp_9.lus @@ -97,7 +97,7 @@ tel node top( e01, e02, e03, e04, e05, e06, e07, e08, e09, e10, e11, e12 : bool ) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var X1, X2, X3, X4, X5, X6, X7, X8, X9 : int; erreur : bool; env : bool; diff --git a/offline_tests/rtp_all.lus b/offline_tests/rtp_all.lus index 45566ba4..3d3c507c 100644 --- a/offline_tests/rtp_all.lus +++ b/offline_tests/rtp_all.lus @@ -97,7 +97,7 @@ tel node top( e01, e02, e03, e04, e05, e06, e07, e08, e09, e10, e11, e12 : bool ) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var X1, X2, X3, X4, X5, X6, X7, X8, X9 : int; erreur : bool; env : bool; diff --git a/offline_tests/speed2.lus b/offline_tests/speed2.lus index fce86d47..2d9aa5cc 100644 --- a/offline_tests/speed2.lus +++ b/offline_tests/speed2.lus @@ -23,7 +23,7 @@ let tel --subrange [0, 2] of int node top(beacon,second:bool) returns (OK:bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var late,early: bool; let (late,early) = speed(beacon,second); diff --git a/offline_tests/speed2_e7_223_e7_213.lus b/offline_tests/speed2_e7_223_e7_213.lus index 8a9d5d0e..3420216c 100644 --- a/offline_tests/speed2_e7_223_e7_213.lus +++ b/offline_tests/speed2_e7_223_e7_213.lus @@ -20,7 +20,7 @@ let else (diff <= -10); tel node top(beacon,second:bool) returns (OK:bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var late,early: bool; let (late,early) = speed(beacon,second); diff --git a/offline_tests/speed2_e7_223_e8_329.lus b/offline_tests/speed2_e7_223_e8_329.lus index bf091859..e291c2ed 100644 --- a/offline_tests/speed2_e7_223_e8_329.lus +++ b/offline_tests/speed2_e7_223_e8_329.lus @@ -20,7 +20,7 @@ let else (diff <= -10); tel node top(beacon,second:bool) returns (OK:bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var late,early: bool; let (late,early) = speed(beacon,second); diff --git a/offline_tests/speed2_e7_496.lus b/offline_tests/speed2_e7_496.lus index 4c53edb8..9411f057 100644 --- a/offline_tests/speed2_e7_496.lus +++ b/offline_tests/speed2_e7_496.lus @@ -20,7 +20,7 @@ let else (diff <= -10); tel node top(beacon,second:bool) returns (OK:bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var late,early: bool; let (late,early) = speed(beacon,second); diff --git a/offline_tests/speed2_e8_449.lus b/offline_tests/speed2_e8_449.lus index 3f71579c..37a00e2d 100644 --- a/offline_tests/speed2_e8_449.lus +++ b/offline_tests/speed2_e8_449.lus @@ -20,7 +20,7 @@ let else (diff <= -10); tel node top(beacon,second:bool) returns (OK:bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var late,early: bool; let (late,early) = speed(beacon,second); diff --git a/offline_tests/speed2_e8_449_e7_353.lus b/offline_tests/speed2_e8_449_e7_353.lus index 29bb5258..84a354ed 100644 --- a/offline_tests/speed2_e8_449_e7_353.lus +++ b/offline_tests/speed2_e8_449_e7_353.lus @@ -20,7 +20,7 @@ let else (diff <= -10); tel node top(beacon,second:bool) returns (OK:bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var late,early: bool; let (late,early) = speed(beacon,second); diff --git a/offline_tests/speed2_e8_449_e8_517.lus b/offline_tests/speed2_e8_449_e8_517.lus index 6252de12..3e7c7b70 100644 --- a/offline_tests/speed2_e8_449_e8_517.lus +++ b/offline_tests/speed2_e8_449_e8_517.lus @@ -20,7 +20,7 @@ let else (diff <= -10); tel node top(beacon,second:bool) returns (OK:bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 3-induction; var late,early: bool; let (late,early) = speed(beacon,second); diff --git a/offline_tests/speed2_e8_750.lus b/offline_tests/speed2_e8_750.lus index 3f71579c..37a00e2d 100644 --- a/offline_tests/speed2_e8_750.lus +++ b/offline_tests/speed2_e8_750.lus @@ -20,7 +20,7 @@ let else (diff <= -10); tel node top(beacon,second:bool) returns (OK:bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var late,early: bool; let (late,early) = speed(beacon,second); diff --git a/offline_tests/speed_e7_207.lus b/offline_tests/speed_e7_207.lus index f906c026..050a8dec 100644 --- a/offline_tests/speed_e7_207.lus +++ b/offline_tests/speed_e7_207.lus @@ -20,7 +20,7 @@ let else (diff <= -10); tel node top(beacon,second:bool) returns (OK:bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 1-induction; var late,early: bool; let OK = not (late and early); diff --git a/offline_tests/speed_e7_207_e7_538.lus b/offline_tests/speed_e7_207_e7_538.lus index 60ba0c85..8e4de02a 100644 --- a/offline_tests/speed_e7_207_e7_538.lus +++ b/offline_tests/speed_e7_207_e7_538.lus @@ -20,7 +20,7 @@ let else (diff <= -10); tel node top(beacon,second:bool) returns (OK:bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 1-induction; var late,early: bool; let OK = not (late and early); diff --git a/offline_tests/speed_e7_207_e8_507.lus b/offline_tests/speed_e7_207_e8_507.lus index cb9c81ff..d3c6d238 100644 --- a/offline_tests/speed_e7_207_e8_507.lus +++ b/offline_tests/speed_e7_207_e8_507.lus @@ -20,7 +20,7 @@ let else (diff <= -10); tel node top(beacon,second:bool) returns (OK:bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 1-induction; var late,early: bool; let OK = not (late and early); diff --git a/offline_tests/speed_e7_492.lus b/offline_tests/speed_e7_492.lus index f906c026..050a8dec 100644 --- a/offline_tests/speed_e7_492.lus +++ b/offline_tests/speed_e7_492.lus @@ -20,7 +20,7 @@ let else (diff <= -10); tel node top(beacon,second:bool) returns (OK:bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 1-induction; var late,early: bool; let OK = not (late and early); diff --git a/offline_tests/speed_e8_649.lus b/offline_tests/speed_e8_649.lus index ed11ce89..119e6c19 100644 --- a/offline_tests/speed_e8_649.lus +++ b/offline_tests/speed_e8_649.lus @@ -20,7 +20,7 @@ let else (diff <= -10); tel node top(beacon,second:bool) returns (OK:bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 1-induction; var late,early: bool; let OK = not (late and early); diff --git a/offline_tests/speed_e8_649_e7_709.lus b/offline_tests/speed_e8_649_e7_709.lus index ace6d99e..7d951c8e 100644 --- a/offline_tests/speed_e8_649_e7_709.lus +++ b/offline_tests/speed_e8_649_e7_709.lus @@ -20,7 +20,7 @@ let else (diff <= -10); tel node top(beacon,second:bool) returns (OK:bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 1-induction; var late,early: bool; let OK = not (late and early); diff --git a/offline_tests/stalmark.lus b/offline_tests/stalmark.lus index 1f066a13..80d9f13e 100644 --- a/offline_tests/stalmark.lus +++ b/offline_tests/stalmark.lus @@ -1,5 +1,5 @@ node top (x:bool) returns (OK:bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var a,b,c:bool; let a = true -> pre(c); diff --git a/offline_tests/stalmark_e7_27.lus b/offline_tests/stalmark_e7_27.lus index bf49288d..091d6a16 100644 --- a/offline_tests/stalmark_e7_27.lus +++ b/offline_tests/stalmark_e7_27.lus @@ -1,5 +1,5 @@ node top (x:bool) returns (OK:bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 4-induction; var a,b,c:bool; let a = true -> pre(c); diff --git a/offline_tests/stalmark_e7_27_e7_31.lus b/offline_tests/stalmark_e7_27_e7_31.lus index 527d29bf..4c2b21f4 100644 --- a/offline_tests/stalmark_e7_27_e7_31.lus +++ b/offline_tests/stalmark_e7_27_e7_31.lus @@ -1,5 +1,5 @@ node top (x:bool) returns (OK:bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 4-induction; var a,b,c:bool; let a = true -> pre(c); diff --git a/offline_tests/stalmark_e7_76.lus b/offline_tests/stalmark_e7_76.lus index 15a0e39d..b8a6698a 100644 --- a/offline_tests/stalmark_e7_76.lus +++ b/offline_tests/stalmark_e7_76.lus @@ -1,5 +1,5 @@ node top (x:bool) returns (OK:bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 4-induction; var a,b,c:bool; let a = true -> pre(c); diff --git a/offline_tests/steam_boiler_no_arr2_e6_3003_e4_15091.lus b/offline_tests/steam_boiler_no_arr2_e6_3003_e4_15091.lus index 8de28af6..7a0e2507 100644 --- a/offline_tests/steam_boiler_no_arr2_e6_3003_e4_15091.lus +++ b/offline_tests/steam_boiler_no_arr2_e6_3003_e4_15091.lus @@ -629,7 +629,7 @@ node top( q:int; pump_state_0,pump_state_1,pump_state_2,pump_state_3:int) returns(OK:bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var op_mode_ :int; mode__normal_then_water_level_ok, diff --git a/offline_tests/switch.lus b/offline_tests/switch.lus index 934205f9..e63fa7c8 100644 --- a/offline_tests/switch.lus +++ b/offline_tests/switch.lus @@ -1,23 +1,23 @@ -node SWITCH1 (set,reset,initial:bool) returns (level:bool); +node SWITCH1 (set,reset,init:bool) returns (level:bool); let - level = initial -> if set then true - else if reset then false - else pre(level); + level = init -> if set then true + else if reset then false + else pre(level); tel -node SWITCH (set,reset,initial:bool) returns (level:bool); +node SWITCH (set,reset,init:bool) returns (level:bool); let - level = initial -> if set and not pre(level) then true - else if reset then false - else pre(level); + level = init -> if set and not pre(level) then true + else if reset then false + else pre(level); tel -node top(set, treset, initial:bool) returns (OK:bool); +node top(set, treset, init:bool) returns (OK:bool); --@ contract guarantee OK; var level,level1:bool; let - level = SWITCH(set,treset,initial); - level1 = SWITCH1(set,treset,initial); + level = SWITCH(set,treset,init); + level1 = SWITCH1(set,treset,init); OK = if (not(set and treset)) then (level = level1) else true; diff --git a/offline_tests/switch2.lus b/offline_tests/switch2.lus index 8e6c0b02..88971703 100644 --- a/offline_tests/switch2.lus +++ b/offline_tests/switch2.lus @@ -1,24 +1,24 @@ -node SWITCH1 (set,reset,initial:bool) returns (level:bool); +node SWITCH1 (set,reset,init:bool) returns (level:bool); let - level = initial -> if set then true - else if reset then false - else pre(level); + level = init -> if set then true + else if reset then false + else pre(level); tel -node SWITCH (set,reset,initial:bool) returns (level:bool); +node SWITCH (set,reset,init:bool) returns (level:bool); let - level = initial -> if set and not pre(level) then true - else if reset then false - else pre(level); + level = init -> if set and not pre(level) then true + else if reset then false + else pre(level); tel --requires assert to be true -node top(set, treset, initial:bool) returns (OK:bool); +node top(set, treset, init:bool) returns (OK:bool); --@ contract guarantee OK; var level,level1:bool; let - level = SWITCH(set,treset,initial); - level1 = SWITCH1(set,treset,initial); + level = SWITCH(set,treset,init); + level1 = SWITCH1(set,treset,init); OK = if not(set and treset) then(level = level1) else true; -- assert not(set and treset); --%PROPERTY OK=true; diff --git a/offline_tests/test.ml b/offline_tests/test.ml index 347b3759..de399d33 100644 --- a/offline_tests/test.ml +++ b/offline_tests/test.ml @@ -159,6 +159,7 @@ let config_format_tags = let mark_open_stag = function | String_tag "bold" -> "\x1b[1m" | String_tag "red" -> "\x1b[31m" + | String_tag "magenta" -> "\x1b[35m" | String_tag "green" -> "\x1b[32m" | _ -> "" in @@ -287,7 +288,7 @@ let rec verify report timeout fs = ("KO" ^ if already then " (A)" else "\n" ^ read_whole_file err_f), fs in let tm r f : _ * _ * _ * _ format * _ * _ = - r, ok, ko + 1, "@{<red>%s@}", "TO", f :: fs + r, ok, ko + 1, "@{<magenta>%s@}", "TO", f :: fs in let report, ok, ko, fmt_str, check, fs = if is_verified report f' then success ~already:true report @@ -343,8 +344,10 @@ let () = in let report = parse_report () in let report = compile report lustrec lus_fs in - print_ignored (List.map (fun f -> Filename.remove_extension f ^ ".c") ignored_fs); + print_ignored (List.map (fun f -> f ^ ".c") ignored_fs); let lus_fs = - List.(sort_uniq compare (filter (fun f -> not (mem f ignored_fs)) lus_fs)) + List.(sort_uniq compare + (filter (fun f -> + not (mem (Filename.chop_extension f) ignored_fs)) lus_fs)) in verify report (next_timeout report) lus_fs diff --git a/offline_tests/ticket3i_1.lus b/offline_tests/ticket3i_1.lus index 09e6d24b..0ab84126 100644 --- a/offline_tests/ticket3i_1.lus +++ b/offline_tests/ticket3i_1.lus @@ -84,7 +84,7 @@ tel node top( e1, e2, e3, e4, e5, e6, e7, e8, e9 : bool; init_a1, init_a2, init_a3, init_t : int ) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var p1, p2, p3, t, s, a1, a2, a3 : int; erreur_ticket3i : bool; let diff --git a/offline_tests/ticket3i_2.lus b/offline_tests/ticket3i_2.lus index d7a9b3eb..f374aa2c 100644 --- a/offline_tests/ticket3i_2.lus +++ b/offline_tests/ticket3i_2.lus @@ -85,7 +85,7 @@ tel node top( e1, e2, e3, e4, e5, e6, e7, e8, e9 : bool; init_a1, init_a2, init_a3, init_t : int ) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var p1, p2, p3, t, s, a1, a2, a3 : int; erreur_ticket3i : bool; env : bool; diff --git a/offline_tests/ticket3i_3.lus b/offline_tests/ticket3i_3.lus index 77a05fe9..df650502 100644 --- a/offline_tests/ticket3i_3.lus +++ b/offline_tests/ticket3i_3.lus @@ -85,7 +85,7 @@ tel node top( e1, e2, e3, e4, e5, e6, e7, e8, e9 : bool; init_a1, init_a2, init_a3, init_t : int ) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var p1, p2, p3, t, s, a1, a2, a3 : int; erreur_ticket3i : bool; env : bool; diff --git a/offline_tests/ticket3i_3_e7_1312_e8_1916.lus b/offline_tests/ticket3i_3_e7_1312_e8_1916.lus index f9551d56..be1def0a 100644 --- a/offline_tests/ticket3i_3_e7_1312_e8_1916.lus +++ b/offline_tests/ticket3i_3_e7_1312_e8_1916.lus @@ -70,7 +70,7 @@ tel node top( e1, e2, e3, e4, e5, e6, e7, e8, e9 : bool; init_a1, init_a2, init_a3, init_t : int ) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var p1, p2, p3, t, s, a1, a2, a3 : int; erreur_ticket3i : bool; env : bool; diff --git a/offline_tests/ticket3i_3_e8_1703.lus b/offline_tests/ticket3i_3_e8_1703.lus index 5da7a5e0..960aab00 100644 --- a/offline_tests/ticket3i_3_e8_1703.lus +++ b/offline_tests/ticket3i_3_e8_1703.lus @@ -70,7 +70,7 @@ tel node top( e1, e2, e3, e4, e5, e6, e7, e8, e9 : bool; init_a1, init_a2, init_a3, init_t : int ) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var p1, p2, p3, t, s, a1, a2, a3 : int; erreur_ticket3i : bool; env : bool; diff --git a/offline_tests/ticket3i_3_e8_1703_e8_2560.lus b/offline_tests/ticket3i_3_e8_1703_e8_2560.lus index 168f4198..02e8c1d2 100644 --- a/offline_tests/ticket3i_3_e8_1703_e8_2560.lus +++ b/offline_tests/ticket3i_3_e8_1703_e8_2560.lus @@ -70,7 +70,7 @@ tel node top( e1, e2, e3, e4, e5, e6, e7, e8, e9 : bool; init_a1, init_a2, init_a3, init_t : int ) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var p1, p2, p3, t, s, a1, a2, a3 : int; erreur_ticket3i : bool; env : bool; diff --git a/offline_tests/ticket3i_3_e8_1788.lus b/offline_tests/ticket3i_3_e8_1788.lus index 5da7a5e0..960aab00 100644 --- a/offline_tests/ticket3i_3_e8_1788.lus +++ b/offline_tests/ticket3i_3_e8_1788.lus @@ -70,7 +70,7 @@ tel node top( e1, e2, e3, e4, e5, e6, e7, e8, e9 : bool; init_a1, init_a2, init_a3, init_t : int ) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var p1, p2, p3, t, s, a1, a2, a3 : int; erreur_ticket3i : bool; env : bool; diff --git a/offline_tests/ticket3i_4.lus b/offline_tests/ticket3i_4.lus index 6a64f8c0..228d75d0 100644 --- a/offline_tests/ticket3i_4.lus +++ b/offline_tests/ticket3i_4.lus @@ -84,7 +84,7 @@ tel node top( e1, e2, e3, e4, e5, e6, e7, e8, e9 : bool; init_a1, init_a2, init_a3, init_t : int ) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var p1, p2, p3, t, s, a1, a2, a3 : int; erreur_ticket3i : bool; env : bool; diff --git a/offline_tests/ticket3i_5.lus b/offline_tests/ticket3i_5.lus index 8186719b..16345d9f 100644 --- a/offline_tests/ticket3i_5.lus +++ b/offline_tests/ticket3i_5.lus @@ -84,7 +84,7 @@ tel node top( e1, e2, e3, e4, e5, e6, e7, e8, e9 : bool; init_a1, init_a2, init_a3, init_t : int ) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var p1, p2, p3, t, s, a1, a2, a3 : int; erreur_ticket3i : bool; env : bool; diff --git a/offline_tests/ticket3i_6.lus b/offline_tests/ticket3i_6.lus index 5c186239..cbd691bf 100644 --- a/offline_tests/ticket3i_6.lus +++ b/offline_tests/ticket3i_6.lus @@ -84,7 +84,7 @@ tel node top( e1, e2, e3, e4, e5, e6, e7, e8, e9 : bool; init_a1, init_a2, init_a3, init_t : int ) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var p1, p2, p3, t, s, a1, a2, a3 : int; erreur_ticket3i : bool; env : bool; diff --git a/offline_tests/ticket3i_7_e1_2192_e1_1852.lus b/offline_tests/ticket3i_7_e1_2192_e1_1852.lus index b772b0c9..be141b26 100644 --- a/offline_tests/ticket3i_7_e1_2192_e1_1852.lus +++ b/offline_tests/ticket3i_7_e1_2192_e1_1852.lus @@ -70,7 +70,7 @@ tel node top( e1, e2, e3, e4, e5, e6, e7, e8, e9 : bool; init_a1, init_a2, init_a3, init_t : int ) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 4-induction; var p1, p2, p3, t, s, a1, a2, a3 : int; erreur_ticket3i : bool; env : bool; diff --git a/offline_tests/ticket3i_all.lus b/offline_tests/ticket3i_all.lus index 9acc3334..bf2b31cf 100644 --- a/offline_tests/ticket3i_all.lus +++ b/offline_tests/ticket3i_all.lus @@ -84,7 +84,7 @@ tel node top( e1, e2, e3, e4, e5, e6, e7, e8, e9 : bool; init_a1, init_a2, init_a3, init_t : int ) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var p1, p2, p3, t, s, a1, a2, a3 : int; erreur_ticket3i : bool; env : bool; diff --git a/offline_tests/traffic.lus b/offline_tests/traffic.lus index 0d0bf54c..61a15f0c 100644 --- a/offline_tests/traffic.lus +++ b/offline_tests/traffic.lus @@ -21,7 +21,7 @@ let tel node top( Delta : int ) returns ( OK : bool ); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var Total : int; let Total = Store( Delta ); diff --git a/offline_tests/tramway.lus b/offline_tests/tramway.lus index 165e3b25..3d47ca04 100644 --- a/offline_tests/tramway.lus +++ b/offline_tests/tramway.lus @@ -142,7 +142,7 @@ tel -- [explain] +------------+ node top(request_door, warning_start, in_station, door_is_open: bool) returns (OK: bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 7-induction; var env_always_ok, prop_ok: bool; open_door, close_door, door_ok: bool; diff --git a/offline_tests/tramway_e7_1834.lus b/offline_tests/tramway_e7_1834.lus index 44d0784d..6680b30f 100644 --- a/offline_tests/tramway_e7_1834.lus +++ b/offline_tests/tramway_e7_1834.lus @@ -78,7 +78,7 @@ let tel node top(request_door, warning_start, in_station, door_is_open: bool) returns (OK: bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var env_always_ok, prop_ok: bool; open_door, close_door, door_ok: bool; diff --git a/offline_tests/tramway_e7_1834_e7_2363.lus b/offline_tests/tramway_e7_1834_e7_2363.lus index fbda9403..80982aa0 100644 --- a/offline_tests/tramway_e7_1834_e7_2363.lus +++ b/offline_tests/tramway_e7_1834_e7_2363.lus @@ -78,7 +78,7 @@ let tel node top(request_door, warning_start, in_station, door_is_open: bool) returns (OK: bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var env_always_ok, prop_ok: bool; open_door, close_door, door_ok: bool; diff --git a/offline_tests/tramway_e7_1834_e8_3192.lus b/offline_tests/tramway_e7_1834_e8_3192.lus index 5c915be4..74f0a68a 100644 --- a/offline_tests/tramway_e7_1834_e8_3192.lus +++ b/offline_tests/tramway_e7_1834_e8_3192.lus @@ -78,7 +78,7 @@ let tel node top(request_door, warning_start, in_station, door_is_open: bool) returns (OK: bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 7-induction; var env_always_ok, prop_ok: bool; open_door, close_door, door_ok: bool; diff --git a/offline_tests/tramway_e7_3304.lus b/offline_tests/tramway_e7_3304.lus index 44d0784d..6680b30f 100644 --- a/offline_tests/tramway_e7_3304.lus +++ b/offline_tests/tramway_e7_3304.lus @@ -78,7 +78,7 @@ let tel node top(request_door, warning_start, in_station, door_is_open: bool) returns (OK: bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var env_always_ok, prop_ok: bool; open_door, close_door, door_ok: bool; diff --git a/offline_tests/two_counters.lus b/offline_tests/two_counters.lus index 60e10745..1886c4a5 100644 --- a/offline_tests/two_counters.lus +++ b/offline_tests/two_counters.lus @@ -18,7 +18,7 @@ tel node top (x:bool) returns (OK:bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 5-induction; var b,d:bool; let b = greycounter(x); diff --git a/offline_tests/ums.lus b/offline_tests/ums.lus index 1e4c64da..560729b7 100644 --- a/offline_tests/ums.lus +++ b/offline_tests/ums.lus @@ -55,7 +55,7 @@ tel node top(on_A, on_B, on_C, ack_AB, ack_BC: bool) returns(OK: bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 2-induction; var grant_access, grant_exit: bool; do_AB, do_BC: bool; diff --git a/offline_tests/ums_e8_1032.lus b/offline_tests/ums_e8_1032.lus index 3e1035f4..a03d25c6 100644 --- a/offline_tests/ums_e8_1032.lus +++ b/offline_tests/ums_e8_1032.lus @@ -43,7 +43,7 @@ let tel node top(on_A, on_B, on_C, ack_AB, ack_BC: bool) returns(OK: bool); ---@ contract guarantee OK; +--@ contract guarantee OK by 4-induction; var grant_access, grant_exit: bool; do_AB, do_BC: bool; diff --git a/src/backends/C/c_backend_spec.ml b/src/backends/C/c_backend_spec.ml index 5b55f474..73699153 100644 --- a/src/backends/C/c_backend_spec.ml +++ b/src/backends/C/c_backend_spec.ml @@ -500,7 +500,7 @@ module PrintSpec = struct | _ -> false - let has_memory m = function Val v -> has_memory_val m v | _ -> false + let has_memory_expr m = function Val v -> has_memory_val m v | _ -> false let pp_spec mode m fmt f = let rec pp_spec mode fmt f = @@ -512,7 +512,7 @@ module PrintSpec = struct let mem_reset = mk_mem_reset m in match mode with | MemoryPackMode -> - self, self, true, mem, mem, false + self, mem, true, mem, mem, false | TransitionMode -> mem_in, mem_in, false, mem_out, mem_out, false | TransitionFootprintMode -> @@ -525,7 +525,7 @@ module PrintSpec = struct let mem = "(*" ^ mem ^ ")" in self, mem_reset, false, mem, mem, false in - let pp_expr fmt e = pp_expr m mem_out fmt e in + let pp_expr fmt e = pp_expr m mem_in' fmt e in let pp_spec' = pp_spec mode in match f with | True -> @@ -545,7 +545,7 @@ module PrintSpec = struct fmt (Spec_common.type_of_value a, val_of_expr a, val_of_expr b) in - if has_memory m b then + if has_memory_expr m b then let inst = find_arrow Location.dummy m in pp_print_option ~none:pp_eq @@ -582,7 +582,19 @@ module PrintSpec = struct | Forall (xs, a) -> pp_forall (pp_locals m) pp_spec' fmt (xs, a) | Ternary (e, a, b) -> - pp_ite pp_expr pp_spec' pp_spec' fmt (e, a, b) + let pp_ite fmt () = pp_ite pp_expr pp_spec' pp_spec' fmt (e, a, b) in + if has_memory_expr m e then + let inst = find_arrow Location.dummy m in + pp_print_option + ~none:pp_ite + (fun fmt inst -> + pp_paren + (pp_implies (pp_not (pp_initialization pp_access')) pp_ite) + fmt + ((Arrow.arrow_id, (mem_in, inst)), ())) + fmt + inst + else pp_ite fmt () | Predicate p -> pp_predicate mode m mem_in mem_in' mem_out mem_out' fmt p | StateVarPack ResetFlag -> -- GitLab