| n < # lpt ∧ lpt[n].flags = LP_INDEX_NODES ↔ n ∈ istore, elems nx ∩ ginval = ∅, dom gstore0 ∪ elems nx = dom gstore ∪ ginval, n ∈ gstore, n ∈ nx, n ∈ istore, n ∈ istore → abs-leb(avol[n], istore[n], lpt[n]) ∧ lpt[n].ref-size = istore[n].ref-size, ∀ n. (n < # lpt ∧ lpt[n].flags = LP_GROUP_NODES ↔ n ∈ gstore) ∧ (n ∈ gstore ∧ ¬ n ∈ ginval → abs-leb(avol[n], gstore[n], lpt[n])) ∧ (n ∈ gstore → lpt[n].ref-size = gstore[n].ref-size) ⊦ #(dom istore ∩ elems nx) = 0, n ∈ ginval |
lpt[n].flags = LP_INDEX_NODES, lpt[n].ref-size = istore[n].ref-size, elems nx ∩ ginval = ∅, dom gstore0 ∪ elems nx = dom gstore ∪ ginval, n < # lpt, abs-leb(avol[n], istore[n], lpt[n]), n ∈ gstore, n ∈ nx, n ∈ istore, ∀ n. (n < # lpt ∧ lpt[n].flags = LP_GROUP_NODES ↔ n ∈ gstore) ∧ (n ∈ gstore ∧ ¬ n ∈ ginval → abs-leb(avol[n], gstore[n], lpt[n])) ∧ (n ∈ gstore → lpt[n].ref-size = gstore[n].ref-size) ⊦ #(dom istore ∩ elems nx) = 0, n ∈ ginval
Used simplifier rules: ⊦ m < n → n ≠ 0; (s)%f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic