libtlafmt 0.4.1

A formatter library for TLA+ specs, core of tlafmt
Documentation
---
source: libtlafmt/tests/format.rs
expression: output
input_file: libtlafmt/tests/corpus/RealTime_SS.tla
---
------------------------------ MODULE RealTime_SS ------------------------------
EXTENDS Reals
VARIABLE now

RTBound(A, v, D, E) ==
    LET TNext(t) == t' = IF <<A>>_v \/ ~(ENABLED <<A>>_v) '
    THEN 0
    ELSE t + (now' - now)

        Timer(t) == (t = 0) /\ [][TNext(t)]_<< t, v, now >>

        MaxTime(t) == [](t <= E)

        MinTime(t) == [][A => t \geq D]_v
    IN \EE t : Timer(t) /\ MaxTime(t) /\ MinTime(t)
--------------------------------------------------------------------------------
RTnow(v) == LET NowNext ==
        /\ now' \in {r \in Real: r > now}
        /\ UNCHANGED v
    IN
    /\ now \in Real
    /\ [][NowNext]_now
    /\ \A r \in Real: WF_now(NowNext /\ (now' > r))
================================================================================