| gstore2[n] = groupblock(gndx, lax, m), # ax0 + # lax < # gndx, inv(gstore2), n ∈ gstore2 ⊦ gndx = [], n ∈ ginval |
gstore2[n] = groupblock(gndx, lax, m), # ax0 + # lax < # gndx, inv(groupblock(gndx, lax, m)), inv(gstore2), n ∈ gstore2 ⊦ gndx = [], n ∈ ginval
Used simplifier rules: ⊦ # gndx = 0 ↔ gndx = []; (s)%fwd-inv-gblock: ⊦ inv(gstore) ∧ n ∈ gstore ∧ gstore[n] = gblock → inv(gblock); (forward) from specification apersistence-base%f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic