Expanding PrintT to TRUE in proofs?

13 views
Skip to first unread message

JosEdu Solsona

unread,
Apr 27, 2020, 6:34:27 PM4/27/20
to tla...@googlegroups.com
Hello,


TLAPS has no built-in knowledge of (most of) the operators defined in the TLC standard module, and it cannot use their definitions either.

So, when trying to prove an obligation containing PrintT operator (which is defined to be TRUE in TLC module), TLAPS cant prove it unless the same PrintT was already in assumptions.

Should i comment out PrintT statements from specs when doing proofs?, or there is a better way?

Thanks

EDIT: I think i found a better way. Declare something like:  AXIOM PrintIsTautology == \A str : PrintT(str) = TRUE

Stephan Merz

unread,
Apr 28, 2020, 3:02:39 AM4/28/20
to tla...@googlegroups.com
Yes, you should comment out PrintT for proofs. Since PrintT is evaluated only for its side effect, expanding the definition would probably be harmless. But this is not the case for other operators defined in the TLC module. For example, TLC evaluates x \in Any to TRUE, for any x, but this could not be proved based on the definition of Any and even worse, adding the axiom "\A x : x \in Any" would make the logic of TLA+ inconsistent. (It is harmless for finite domains that TLC is based on.)

But you are raising an interesting question. We should probably reconsider which operators could and should be supported in proofs.

Regards,
Stephan

On 28 Apr 2020, at 00:34, JosEdu Solsona <josedu...@gmail.com> wrote:

Hello,


TLAPS has no built-in knowledge of (most of) the operators defined in the TLC standard module, and it cannot use their definitions either.

So, when trying to prove an obligation containing PrintT operator (which is defined to be TRUE in TLC module), TLAPS cant prove it unless the same PrintT was already in assumptions.

Should i comment out PrintT statements from specs when doing proofs?, or there is a better way?

Thanks

--
You received this message because you are subscribed to the Google Groups "tlaplus" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tlaplus+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/tlaplus/e1933e9f-0b9a-4658-a3c3-9fb74b8fdcb0%40googlegroups.com.

Reply all
Reply to author
Forward
0 new messages