Closed lemmy closed 1 month ago
/cc @konnov As discussed last Friday.
Looks good to me. Thanks you for the contribution! Could you add a release note like this one, so your contribution would be visible in the next release.
Done
May I assume that you won't be releasing a new minor release with this change because of the move to the independent github org anytime soon?
May I assume that you won't be releasing a new minor release with this change because of the move to the independent github org anytime soon?
I have started a job on cutting 0.45.0. It should be fairly easy to do.
The last step of the release did not work. I will have a look into it: https://github.com/apalache-mc/apalache/issues/2951
Blast, I've found that it rewrites APARecSub
but not APARecRecSub
:
------------------------- MODULE APARecSub ------------------------------
EXTENDS Integers
VARIABLE
\* @type: Set({ p: Int });
v
TypeOK ==
v \in SUBSET [ p: Int ]
Init ==
v = { [p |-> 42] }
Next ==
UNCHANGED v
==========================================================================
------------------------- MODULE APARecRecSub -------------------------
EXTENDS Integers
VARIABLE
\* @type: { p : Set ({ t : Int }) };
v
TypeOK ==
v \in [ p : SUBSET [t : Int] ]
Init ==
v = [ p |-> [t : Int] ]
Next ==
UNCHANGED v
==========================================================================
Will investigate...
Blast, I've found that it rewrites
APARecSub
but notAPARecRecSub
:------------------------- MODULE APARecSub ------------------------------ EXTENDS Integers VARIABLE \* @type: Set({ p: Int }); v TypeOK == v \in SUBSET [ p: Nat \ {0} ] Init == v = { [p |-> 42] } Next == UNCHANGED v ==========================================================================
------------------------- MODULE APARecRecSub ------------------------- EXTENDS Integers VARIABLE \* @type: { p : Set ({ t : Int }) }; v TypeOK == v \in [ p : SUBSET [t : Int] ] Init == v = [ p |-> [t : Int] ] Next == UNCHANGED v ==========================================================================
Will investigate...
The rewrite works correctly and Apalache successfully handles a finite domain as in https://github.com/heidihoward/pbft-tlaplus/issues/5. I presume another rewrite is able to handle the simpler ∀t_4 ∈ v: ((DOMAIN t_4 = {"p"}) ∧ t_4["p"] ∈ Int)
but fails to handle ∀t_9 ∈ v["p"]: ((DOMAIN t_9 = {"t"}) ∧ t_9["t"] ∈ Int)
.
We have the release 0.45.1 cut, which includes your PR: https://github.com/apalache-mc/apalache/actions/runs/10452011929
Simplified real-world scenario:
Apalache Error:
Rewrite:
Related commits, issues, PRs:
625a1645e75a910d43759c36ad8a06291ebc55b3
785e26925a45b077e14cf79f31f834e0c0919639
https://github.com/apalache-mc/apalache/issues/723
https://github.com/apalache-mc/apalache/issues/1627
https://github.com/apalache-mc/apalache/issues/2762
https://github.com/apalache-mc/apalache/pull/1453
https://github.com/apalache-mc/apalache/pull/1629
PR hygiene
make fmt-fix
(or had formatting run automatically on all files edited)