---- MODULE Service ----
EXTENDS TLC
VARIABLES http, status
Init ==
http = 0 /\ status = "null"
Success ==
/\ http = 0
/\ http' = 200
/\ status = "null"
/\ status' = "successful"
BadRequest ==
/\ http = 0
/\ http' = 400
/\ status = "null"
/\ status' = "SpecificError"
InternalError ==
/\ http = 0
/\ http' = 500
/\ UNCHANGED <<status>>
Next ==
\/ Success
\/ BadRequest
\/ InternalError
Spec == Init /\ [][Next]_<<http, status>>
Done ==
\/ http = 200 /\ status # "null"
\/ http # 200 /\ status = "null"
----
THEOREM Spec => <>[]Done