[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[tlaplus] An issue about coverage information
On 06.11.18 05:01, Xingchen Yi wrote:
> Hello,
>
> Recently I'm learning prophecy variables in the paper "Auxiliary
> Variables in TLA+", and I check the module SendInt1P in the Section 4.1.
>
> Part of the module is
>
> ---------------------MODULE SendInt1P--------------------
>
> EXTENDS SendInt1, TLC
>
> Pi == Int
>
> PreSend(i) == x' = i
>
> VARIABLE p
>
> varsP == <<x, p>>
>
> InitP == Init /\ (p \in Pi)
>
> TypeOKP == TypeOK /\ (p \in Pi)
>
> SendP == Send /\ PredSend(p) /\ (p' \in Pi)
>
> RcvP == Rcv /\ (p' = p)
>
> NextP == SendP \/ RcvP
>
> SpecP == InitP /\ [][NextP]_varsP
>
> ----------------------------------------------------------------------------
>
> And the action "Send" inSendInt1 is
>
> Send == /\ x = NotInt
> /\ x' \in Int
>
> In the module check result of the module, the coverage information of
> "x' = i" in the actionPreSend(i) is 0.
> But actually I think this expression has been executed.
>
> Expand the Action SendP,
>
> SendP == /\ x = NotInt
> /\ x' \in Int
> /\ x' = p
> /\ p' \in Pi
>
> The coverage information of the second is non-zero, the coverage
> information of "x' = p" should also be non-zero.
>
> How can I solve the issue?
>
> Best regards,
> Xingchen Yi
Hi Xingchen,
what you describe appears to be another variant of
https://github.com/tlaplus/tlaplus/issues/92. We plan to fix #92 with
the next TLC/Toolbox release.
Thanks
Markus