Line | |
---|
1 | #PASS: Light is not green both directions at the same time |
---|
2 | AG ( !((farm_light = GREEN) * (hwy_light = GREEN)) ); |
---|
3 | |
---|
4 | #PASS: If car is present on farm road, and timer is long, then eventually the |
---|
5 | #farm light will turn green. |
---|
6 | AG(((car_present = YES) * (timer.state = LONG)) -> AF(farm_light = GREEN)); |
---|
7 | |
---|
8 | #PASS: Regardless of what happens on the farm road, the highway will always be |
---|
9 | #green in the future. |
---|
10 | AG(AF(hwy_light = GREEN)); |
---|
11 | |
---|
12 | #PASS: Even if a car is present on farm road, this does not guarantee that |
---|
13 | #eventually the farm light will turn green. It could be that a car approaches, |
---|
14 | #and then backs away, all before the timer goes long. Having the system satisfy |
---|
15 | #this property is not necessary for safety, it just maximizes the time that |
---|
16 | #the highway light is green. |
---|
17 | !(AG((car_present = YES) -> AF(farm_light = GREEN))); |
---|
18 | |
---|
19 | #FAIL: The opposite of the above formula. Demonstrates the fair CTL debugger. |
---|
20 | AG((car_present = YES) -> AF(farm_light = GREEN)); |
---|
Note: See
TracBrowser
for help on using the repository browser.