| ⊦ read-gblock-inv(m, n, ax, gndx, ax0, gndx0, buf, boolvar) ↔ (∃ gndx1, gndx2, lax1, lax2, buf0, buf1. ax = ax0 + lax1.to-adr(m) ∧ gndx = gndx0 + gndx1 ∧ buf = buf0 + buf1 ∧ # buf0 = n ∧ abs-nodes(buf0, gndx1, lax1, false) ∧ abs-nodes(buf1, # buf0, gndx2, lax2, true) ∧ (boolvar → gndx2 = [] ∧ lax2 = [])) |