tlaplus
https://groups.google.com/d/forum/tlaplus
A discussion group for users of the TLA+ specification language and PlusCal algorithm language. For more information see <a href="http://research.microsoft.com/en-us/um/people/lamport/tla/tla.html">http://research.microsoft.com/en-us/um/people/lamport/tla/tla.html</a> .enTLA+ for Visual Studio Code
https://groups.google.com/d/msg/tlaplus/77z3fy5JZUc/YXqHfA8cBgAJ
Recently, I've been working on an extension that adds support for TLA+ to VS Code. After several preview versions it now seems ready for its first major release: TLA+ for Visual Studio Code <https://marketplace.visualstudio.com/items?itemName=alygin.vscode-tlaplus> It lacks Toolbox advancedhttps://groups.google.com/d/topic/tlaplus/77z3fy5JZUc
Andrew LyginSun, 15 Sep 2019 15:17:47 UTCCould it be possible to check the variable starting alphabet
https://groups.google.com/d/msg/tlaplus/XiVpdI7CPH8/gI0YDuTUAAAJ
If I want to check that my variable must start with specific letter would it be possible. Variable myletter = 'Alpha' And condition is myletter must start with 'A' and ends on 'a' Thanks in advancehttps://groups.google.com/d/topic/tlaplus/XiVpdI7CPH8
andro...@gmail.comThu, 12 Sep 2019 20:25:59 UTCUsing TLAPS for industrial stuff?
https://groups.google.com/d/msg/tlaplus/CQm1h4_QeUk/evDCVnM3BQAJ
This is a more generic question, but I had a bit of trouble finding concrete answers on this. You can find a bunch of examples of industry usage of people using TLA+ with TLC to verify their designs, and that's really cool, but it made me wonder; does anyone know of any examples of using thehttps://groups.google.com/d/topic/tlaplus/CQm1h4_QeUk
Thomas GebertThu, 12 Sep 2019 17:28:27 UTCMerging EXCEPT statements
https://groups.google.com/d/msg/tlaplus/35F5YiVxWHQ/qDyO16mwAgAJ
Hello, Suppose I have a function a, that has domain Z. Suppose x and y are in Z. I'm writing an action where both a[x] and a[y] must be changed. I have one line of the following form: a' = [a EXCEPT ![x] = ...] and another like so:https://groups.google.com/d/topic/tlaplus/35F5YiVxWHQ
jacky....@gmail.comTue, 10 Sep 2019 17:03:20 UTCVariables must contain some specific value
https://groups.google.com/d/msg/tlaplus/bTr9-Lz4PxM/UHLbgEiqAgAJ
I have to check the variable values by using TLA+ in TLC. For example Res_Word == {"_","N"} variables my_variable = "Some_valueONE" Check == my_variable \in Res_Word \* means check it if variable contains some of the specific value as required in set.https://groups.google.com/d/topic/tlaplus/bTr9-Lz4PxM
jansh...@gmail.comTue, 10 Sep 2019 15:06:24 UTCHow to modify an element of Sequence
https://groups.google.com/d/msg/tlaplus/UeZJ42LVe_s/QINw7ppfCQAJ
Dear friends: I have variable defined as a Sequnce in my Spec , and I need to modify the value of one of its element (with the index m) in the next step . So I think the expression below is possible: Queue' = SubSeq(Queue, 1, m-1) \o << NewValue of m>> \o SubSeq(Queue, m+1, Len(s)) Morehttps://groups.google.com/d/topic/tlaplus/UeZJ42LVe_s
LUMING DONGTue, 10 Sep 2019 14:37:48 UTCProblem about Ad Hoc mode of ToolBox
https://groups.google.com/d/msg/tlaplus/hHfoSuG_b80/TuSX5A43CQAJ
Dear all: To imporove the performance of my Spec validation. I use two computer in a LAN to bulid a distributed swarm to run TLC, one is master and another is slave. During the system run, something wrong happened as the log listed below. Any one can give me some hint btw, The running Spechttps://groups.google.com/d/topic/tlaplus/hHfoSuG_b80
LUMING DONGTue, 10 Sep 2019 02:14:46 UTCspecify two different elements in a set
https://groups.google.com/d/msg/tlaplus/p8grrCS7VhM/bV32oTLQAQAJ
Hi, What's the proper way of specifying any two different elements from a set? Currently I am doing something like this (i.e. check x = y in addition to real conditions) Inv == /\ \A x, y \in Nodes: (x = y \/ values[x] \cap values[y] = {}) (values is not relevant here) I'm curious, Ishttps://groups.google.com/d/topic/tlaplus/p8grrCS7VhM
HanThu, 05 Sep 2019 22:01:34 UTCStuck on an obvious proof [TLAPS]
https://groups.google.com/d/msg/tlaplus/4PGjVzg4Wfg/4OKCis1PAAAJ
Hi, I have been working on a proof using TLAPS, but I seem to be stuck at a simple step which should be very obvious. So the following is a snippet from my proof : <2>3a. \A Q \in Quorum: \E a \in Q : maxVBal[a] \geq b OMITTED <2>3b. b \geq 0https://groups.google.com/d/topic/tlaplus/4PGjVzg4Wfg
Saswata PaulThu, 29 Aug 2019 17:23:07 UTCTemporal logic model checking algorithm
https://groups.google.com/d/msg/tlaplus/bOmiHhNd_hE/aPO29vBKAAAJ
Are there any good resources on the algorithm TLC uses to model-check temporal properties? Safety invariants are easy enough (just BFS/DFS through all states) but temporal properties seem like they have a ton of edge cases. I'm looking for something with enough detail that I could implement thehttps://groups.google.com/d/topic/tlaplus/bOmiHhNd_hE
Andrew HelwerThu, 29 Aug 2019 15:54:02 UTCScaling up model checking
https://groups.google.com/d/msg/tlaplus/D96Cop_EcN0/YvhTq1gbBAAJ
So I got my model to a point where it catches a lot of the things I want to catch. Modeling a single "slot" and two processes (never mind what that means) takes about 1 minute 20 seconds. Making it 2 slots and 3 processes has so far taken my 8-thread workstation about 12 hours; and to be surehttps://groups.google.com/d/topic/tlaplus/D96Cop_EcN0
dun...@gmail.comTue, 27 Aug 2019 16:38:31 UTCHow to express liveness in my spec?Why TLC cannot handle this temporal formula?
https://groups.google.com/d/msg/tlaplus/7u58nu9SlGY/RE7BLsD5AQAJ
hello, I am writing a spec to describe a network with many nodes, CONSTANTS Replica \* the set of nodes here are some variable meanings. VARIABLES uset, \* uset[r]: the set of updates seen by replica r \in Replica doset, \* doset[r]: the set of updates made by replica r \inhttps://groups.google.com/d/topic/tlaplus/7u58nu9SlGY
AlenMon, 26 Aug 2019 15:01:54 UTCNew Videos
https://groups.google.com/d/msg/tlaplus/5Ok4ed95duc/nMteuFhpAQAJ
Videos of two 1.5-hour lectures I gave this summer on the Paxos consensus algorithm are now on the Web. The algorithm is developed through a sequence of TLA+ specs. No prior knowledge of the algorithm or TLA+ is assumed. The videos constitute a crash course on TLA+. Links to the videos,https://groups.google.com/d/topic/tlaplus/5Ok4ed95duc
Leslie LamportSat, 24 Aug 2019 18:55:40 UTCConfusions about setting variant to NAT then getting it overriden
https://groups.google.com/d/msg/tlaplus/yzJ_YMpjYdM/JJWrjj7dAgAJ
Hi, Recently I were viewing Paxos implementation in https://github.com/tlaplus/Examples/blob/master/specifications/Paxos/Paxos.tla , in which there is a statement as `Ballot == Nat`. Since `Nat` is non-enumerable, the toolbox would raise an error if I didn't override `Ballot`. So I amhttps://groups.google.com/d/topic/tlaplus/yzJ_YMpjYdM
Yanchen SHIFri, 23 Aug 2019 15:29:14 UTCCreating an array of structures whose elements have different starting conditions
https://groups.google.com/d/msg/tlaplus/Iyy6pGnHrXY/HAt0q403AgAJ
I'm working on modeling a "typed" refcounting system. One of the things the refcounting system has to do, before granting a type on the page, is look at the page and determine if the contents of the page are suitable for the type. Right now I have "page array" structure that looks somethinghttps://groups.google.com/d/topic/tlaplus/Iyy6pGnHrXY
dun...@gmail.comWed, 21 Aug 2019 12:52:55 UTC