tlaplus / tlapm_alternative_parser_experiment

The rewrite of TLAPM, the TLAPS proof manager
Other
0 stars 0 forks source link

Improving support for functions of multiple arguments #7

Open johnyf opened 7 years ago

johnyf commented 7 years ago

This is a known issue (related to tuples) mentioned here in order to document it and associate to other issues. Examples for tlapm v1.4.3:

------------------------------- MODULE test --------------------------------
CONSTANT S

(* `tlapm` cannot prove the following theorem. *)
g == [a, b \in S |-> TRUE]
THEOREM g = [a, b \in S |-> TRUE]
    BY DEF g

(* For comparison, `tlapm` can prove the following claims: *)
h == [a \in S |-> TRUE]
THEOREM h = [a \in S |-> TRUE]
    BY DEF h

p == [t \in S \X S |-> << t[1], t[2] >> ]
THEOREM p = [t \in S \X S |-> << t[1], t[2] >> ]
    BY DEF p
================================================================================

tla2sany test.tla confirms that the module test is well formed, but tlapm raises:

Error: Could not prove or check:
         ASSUME NEW CONSTANT S,
                g == [a, b \in S |-> TRUE]
         PROVE  g = [a, b \in S |-> TRUE]

This issue appears to be relevant to #5 and #6.