[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

*From*: Stephan Merz <stephan.merz@xxxxxxxxx>*Date*: Tue, 23 Feb 2021 15:16:04 +0100*References*: <979b04c6-736f-4722-b986-72edea346f7bn@googlegroups.com> <45721D1C-F0C7-458F-9679-1241B12FC7BC@gmail.com> <5c61177a-49c9-4a1a-a25e-74945d9e9809n@googlegroups.com> <fa895ef0-074a-4937-9138-1d2dfe407485n@googlegroups.com>

The GitHub link is not valid anymore but it looks like you constructed a function of the form forks == [ p \in Range(Philosophers) |-> SUBSET {Left(p), Right(p)} ] and then checked the predicate hasForks \in forks. What I think you meant to write was something like /\ hasForks \in [Range(Philosophers) -> Range(Forks)] /\ \A p \in Range(Philosophers : hasForks[p] \subseteq {Left(p), Right(p)} In particular, the right-hand side of the first conjunct is a set of functions, not a single function. See also the typing invariant in the module that I posted. Stephan
You received this message because you are subscribed to the Google Groups "tlaplus" group. To unsubscribe from this group and stop receiving emails from it, send an email to tlaplus+unsubscribe@xxxxxxxxxxxxxxxx. To view this discussion on the web visit https://groups.google.com/d/msgid/tlaplus/8397D121-2322-46AF-B282-E6BCA90A4698%40gmail.com. |

**References**:**[tlaplus] Modelling the Philosophers Dining Problem***From:*Younes

**Re: [tlaplus] Modelling the Philosophers Dining Problem***From:*Stephan Merz

**Re: [tlaplus] Modelling the Philosophers Dining Problem***From:*Younes

**Re: [tlaplus] Modelling the Philosophers Dining Problem***From:*Younes

- Prev by Date:
**Re: [tlaplus] Modelling the Philosophers Dining Problem** - Next by Date:
**Re: [tlaplus] Reader Writer Problem specs : Liveness & TLC** - Previous by thread:
**Re: [tlaplus] Modelling the Philosophers Dining Problem** - Next by thread:
**Re: [tlaplus] Modelling the Philosophers Dining Problem** - Index(es):