| elems nx3 ∩ ginval = ∅, elems nx2 ∩ ginval = ∅, nx3 ≠ [], inv(gstore2), elems nx3 ⊆ dom gstore2, elems nx2 ⊆ dom gstore2 ⊦ ⟪gjournal_remove_nonend_blocks#(nx3.head, fi0, fi, ginval, gstore2, gstore, nx, pmaxino, p_os, jvalid; log; err); nx0 := nx3.tail⟫ (elems nx0 ⊆ dom gstore2 ∧ elems nx0 ∩ ginval = ∅ ∧ # nx0 < # nx3) |
nx3 = n + nx1, elems nx2 ∩ ginval = ∅, elems nx3 ∩ ginval = ∅, inv(gstore2), elems nx2 ⊆ dom gstore2, elems nx3 ⊆ dom gstore2 ⊦ ⟪gjournal_remove_nonend_blocks#(n, fi0, fi, ginval, gstore2, gstore, nx, pmaxino, p_os, jvalid; log; err); nx0 := nx1⟫ (elems nx0 ⊆ dom gstore2 ∧ elems nx0 ∩ ginval = ∅ ∧ # nx0 < # nx3), nx3 = []
Used simplifier rules: nx ≠ [] ⊦ n = nx.head ∧ nx0 = nx.tail ↔ nx = n + nx0; (elim) Used terms: nx3, n, nx1