| lpt[n] = mklp(n0, n1, LP_GROUP_NODES, n2), n < # lpt, log-group-block(nx, lpt) ⊦ log-group-block(nx, lpt[n, mklp(m0, m1, LP_GROUP_NODES, m2)]) |
lpt[n] = mklp(n0, n1, LP_GROUP_NODES, n2), n < # lpt, n3 ∈ nx, ∀ n. n ∈ nx → n < # lpt ∧ lpt[n].flags = LP_GROUP_NODES ⊦ n3 < # lpt ∧ lpt[n, mklp(m0, m1, LP_GROUP_NODES, m2)][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)