TLAgit add .
This commit is contained in:
parent
2980d41cb4
commit
61c0615e05
3
TLA+/DieHard.cfg
Normal file
3
TLA+/DieHard.cfg
Normal file
@ -0,0 +1,3 @@
|
||||
INIT Init
|
||||
NEXT Next
|
||||
INVARIANT TypeOk Impossible
|
||||
47
TLA+/DieHard.tla
Normal file
47
TLA+/DieHard.tla
Normal file
@ -0,0 +1,47 @@
|
||||
----------------------------- MODULE DieHard -----------------------------
|
||||
EXTENDS Naturals
|
||||
VARIABLES small, big
|
||||
|
||||
Init == /\ small = 0
|
||||
/\ big = 0
|
||||
|
||||
TypeOk == /\ big \in 0..5
|
||||
/\ small \in 0..3
|
||||
|
||||
FillBig == /\ big' = 5
|
||||
/\ small' = small
|
||||
|
||||
FillSmall == /\ small' = 3
|
||||
/\ big' = big
|
||||
|
||||
EmptyBig == /\ big' = 0
|
||||
/\ small' = small
|
||||
|
||||
EmptySmall == /\ small' = 0
|
||||
/\ big' = big
|
||||
|
||||
Small2Big == IF big + small > 5
|
||||
THEN /\ big' = 5
|
||||
/\ small' = (big + small) - 5
|
||||
ELSE /\ big' = big + small
|
||||
/\ small' = 0
|
||||
|
||||
Big2Small == IF big + small > 3
|
||||
THEN /\ small' = 3
|
||||
/\ big' = (big + small) - 3
|
||||
ELSE /\ small' = big + small
|
||||
/\ big' = 0
|
||||
|
||||
Next == \/ Big2Small
|
||||
\/ Small2Big
|
||||
\/ EmptyBig
|
||||
\/ EmptySmall
|
||||
\/ FillBig
|
||||
\/ FillSmall
|
||||
|
||||
Impossible == big # 4
|
||||
|
||||
=============================================================================
|
||||
\* Modification History
|
||||
\* Last modified Fri Feb 28 17:31:43 EST 2025 by danesabo
|
||||
\* Created Fri Feb 28 17:23:34 EST 2025 by danesabo
|
||||
Loading…
x
Reference in New Issue
Block a user