Attempted to check if the value:
[p1 |-> {}, p2 |-> {}, p3 |-> {}, p4 |-> {}, p5 |-> {}]
is an element of the function [ p1 |-> {{}, {"f1"}, {"f5"}, {"f1", "f5"}},
p2 |-> {{}, {"f1"}, {"f2"}, {"f1", "f2"}},
p3 |-> {{}, {"f2"}, {"f3"}, {"f2", "f3"}},
p4 |-> {{}, {"f3"}, {"f4"}, {"f3", "f4"}},
p5 |-> {{}, {"f4"}, {"f5"}, {"f4", "f5"}} ]
While working on the initial state:
/\ philosopherDoing = [ p1 |-> "PutLFork",
p2 |-> "PutLFork",
p3 |-> "PutLFork",
p4 |-> "PutLFork",
p5 |-> "PutLFork" ]
/\ hasForks = [p1 |-> {}, p2 |-> {}, p3 |-> {}, p4 |-> {}, p5 |-> {}]
/\ availableForks = [f1 |-> TRUE, f2 |-> TRUE, f3 |-> TRUE, f4 |-> TRUE, f5 |-> TRUE]
The error occurred when TLC was evaluating the nested
expressions at the following positions:
0. Line 17, column 9 to line 19, column 59 in DiningProblem
1. Line 17, column 12 to line 17, column 74 in DiningProblem
2. Line 18, column 12 to line 18, column 58 in DiningProblem
3. Line 19, column 12 to line 19, column 59 in DiningProblem
4. Line 34, column 18 to line 36, column 97 in DiningProblem
5. Line 36, column 21 to line 36, column 97 in DiningProblem
I don't know what I'm missing in that expression.