2
|
1
|
|
2
|
|
3 elevator((
|
|
4
|
|
5 []((upButton1 -> <>location1)),
|
|
6 []((upButton2 -> <>location2)),
|
|
7 []((downButton2 -> <>location2)),
|
|
8 []((downButton3 -> <>location3)),
|
|
9 []((destButton1 -> <>location1)),
|
|
10 []((destButton2 -> <>location2)),
|
|
11 []((destButton3 -> <>location3)),
|
|
12 [](((location1,<>location3) -> ( [](location2) & @ location3))),
|
|
13 [](((location3,<>location1) -> ( [](location2) & @ location1))),
|
|
14 []((
|
|
15 (location1,~ location2,~ location3);
|
|
16 (~ location1,location2,~ location3);
|
|
17 (~ location1,~ location2,location3))),
|
|
18 [](((upButton1,location1) -> (~ move , open))),
|
|
19 [](((upButton2,location2) -> (~ move , open))),
|
|
20 [](((downButton1,location1) -> (~ move , open))),
|
|
21 [](((downButton2,location2) -> (~ move , open))),
|
|
22 [](((destButton1,location1) -> (~ move , open))),
|
|
23 [](((destButton2,location2) -> (~ move , open))),
|
|
24 [](((destButton3,location3) -> (~ move , open))),
|
|
25 []((move -> ~ open)),
|
|
26 [](((openButton, ~ move) -> open)),
|
|
27 [](((closeButton, ~ openButton) -> ~ open))
|
|
28
|
|
29 )).
|
|
30
|