| lpt[n] = mklp(n0, n1, lpf, n2), n < # lpt, log-group-block(nx, lpt) ⊦ lpf = LP_GROUP_NODES, log-group-block(nx, lpt[n, lp]) |
lpt[n] = mklp(n0, n1, lpf, n2), n < # lpt, n3 ∈ nx, ∀ n. n ∈ nx → n < # lpt ∧ lpt[n].flags = LP_GROUP_NODES ⊦ lpf = LP_GROUP_NODES, n3 < # lpt ∧ lpt[n, lp][n3].flags = LP_GROUP_NODES
Used simplifier rules: log-group-block: ⊦ log-group-block(nx, lpt) ↔ (∀ n. n ∈ nx → n < # lpt ∧ lpt[n].flags = LP_GROUP_NODES);% ⊦ m < n → n ≠ 0; (s)%f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic% ⊦ # lpt[n, lp] = # lpt; (s)