#define p in?[red] #define q out?[red] #define r (BS[a_id]@progress || BS[p_id]@progress) /* * Formula As Typed: (![]<>(r)) -> [](<>p -> <>q) * The Never Claim Below Corresponds * To The Negated Formula !((![]<>(r)) -> [](<>p -> <>q)) * (formalizing violations of the original) */ never { /* !((![]<>(r)) -> [](<>p -> <>q)) */ T0_init: if :: (! ((q)) && ! ((r)) && (p)) -> goto accept_S8 :: (! ((q)) && ! ((r))) -> goto T0_S17 :: (! ((q)) && (p)) -> goto T0_S44 :: (! ((q))) -> goto T0_S58 :: (! ((r))) -> goto T0_S91 :: (1) -> goto T0_init fi; accept_S8: if :: (! ((q)) && ! ((r))) -> goto accept_S8 fi; T0_S17: if :: (! ((q)) && ! ((r)) && (p)) -> goto accept_S8 :: (! ((q)) && ! ((r))) -> goto T0_S17 fi; T0_S44: if :: (! ((q)) && ! ((r))) -> goto accept_S8 :: (! ((q))) -> goto T0_S44 fi; T0_S58: if :: (! ((q)) && ! ((r)) && (p)) -> goto accept_S8 :: (! ((q)) && ! ((r))) -> goto T0_S17 :: (! ((q)) && (p)) -> goto T0_S44 :: (! ((q))) -> goto T0_S58 fi; T0_S91: if :: (! ((q)) && ! ((r)) && (p)) -> goto accept_S8 :: (! ((q)) && ! ((r))) -> goto T0_S17 :: (! ((r))) -> goto T0_S91 fi; } #ifdef NOTES Use Load to open a file or a template. #endif #ifdef RESULT warning: for p.o. reduction to be valid the never claim must be stutter-closed (never claims generated from LTL formulae are stutter-closed) (Spin Version 3.4.0 -- 7 August 2000) + Partial Order Reduction Full statespace search for: never-claim + assertion violations + (if within scope of claim) acceptance cycles + (fairness disabled) invalid endstates - (disabled by never-claim) State-vector 128 byte, depth reached 1833, errors: 0 44455 states, stored (48719 visited) 137737 states, matched 186456 transitions (= visited+matched) 241 atomic steps hash conflicts: 8962 (resolved) (max size 2^19 states) Stats on memory usage (in Megabytes): 6.046 equivalent memory usage for states (stored*(State-vector + overhead)) 3.379 actual memory usage for states (compression: 55.89%) State-vector as stored = 68 byte + 8 byte overhead 2.097 memory used for hash-table (-w19) 0.240 memory used for DFS stack (-m10000) 5.819 total actual memory usage unreached in proctype CC line 49, state 25, "-end-" (1 of 25 states) unreached in proctype HC line 56, state 6, "-end-" (1 of 6 states) unreached in proctype MSC (0 of 4 states) unreached in proctype BS line 95, state 31, "-end-" (1 of 31 states) unreached in proctype MS line 108, state 14, "-end-" (1 of 14 states) unreached in proctype P (0 of 4 states) unreached in proctype Q (0 of 4 states) unreached in proctype System (0 of 4 states) unreached in proctype top line 143, state 7, "-end-" (1 of 7 states) unreached in proctype bot line 149, state 7, "-end-" (1 of 7 states) 5.1u 0.1s 5r ./pan -X -m10000 -w19 -a ... #endif