1 start(s0).
2 %start(state(s(s(0)),0,s(s(0)))).
3
4 prop(s0,open).
5 prop(s1,closed).
6 prop(s2,closed).
7 prop(s2,heat).
8
9 trans(close_door,s0,s1).
10 trans(open_door,s1,s0).
11 trans(start,s1,s2).
12 trans(open_door,s2,s0).
13 trans(stop,s2,s1).
14
15 prob_pragma_string('ASSERT_LTL','G ({closed} or {open})').
16 prob_pragma_string('ASSERT_CTL','AG ({closed} or {open})').
17 prob_pragma_string('ASSERT_CTL2','EF ( EG ({closed}))').
18 prob_pragma_string('ASSERT_CTL3','EF ({closed})').
19 prob_pragma_string('ASSERT_CTL4','EF ({heat})').
20
21 /*
22 ASSERT_CTL5 == "( EG ({closed}))"; // wrong
23 */