| inv(gstore \ ns), valid-journal-head(nx, gstore, ns) ⊦ inv(gstore[nx.last, gblock] \ ns) ↔ inv(gblock), nx = [] |
⊦ valid-journal-head(nx, gstore, ginval) ↔ nx ≠ [] ∧ nx.last ∈ gstore ∧ ¬ nx.last ∈ ginval ∧ (gstore[nx.last].gndlist = [] ∨ gstore[nx.last].gndlist.last.end)
Used simplifier rules: ⊦ inv(gstore \ ns) → (inv(gstore[n, gblock] \ ns) ↔ n ∈ ns ∨ inv(gblock)); (ws) Used terms: ns, gstore, nx