Rev | Line | |
---|
[11] | 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.