| gblock.gndlist = gstore[n].gndlist, gblock.ladrlist = gstore[n].ladrlist, nodes-cons(ax, ndx, gstore, ginval) ⊦ nodes-cons(ax, ndx, gstore[n, gblock], ginval) |
# ax = # ndx, gblock.gndlist = gstore[n].gndlist, gblock.ladrlist = gstore[n].ladrlist, n0 < # ndx, ∀ n. n < # ndx → ax[n] ∈ gstore ∧ ¬ ax[n].lnum ∈ ginval ∧ gstore[ax[n]].nd = ndx[n] ⊦ ndx = [], ax[n0] ∈ gstore[n, gblock] ∧ ¬ ax[n0].lnum ∈ ginval ∧ gstore[n, gblock][ax[n0]].nd = ndx[n0]
Used simplifier rules: nodes-cons: ⊦ nodes-cons(ax, ndx, gstore, ginval) ↔ # ax = # ndx ∧ (∀ n. n < # ax → ax[n] ∈ gstore ∧ ¬ ax[n].lnum ∈ ginval ∧ gstore[ax[n]].nd = ndx[n]);% ⊦ # ndx = 0 ↔ ndx = []; (s)%lf-01: ⊦ m < n ∧ n = n0 → m < n0; (forward) from specification nat-basic%f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic