| lpt[n] = mklp(n0, m, lpf, n2), n < # lpt ⊦ lpt-ram-flash(lpt[n, mklp(m0, m, lpf, m2)], lpt0, nx) ↔ lpt-ram-flash(lpt, lpt0, nx) |
# lpt0 = # lpt, lpt[n] = mklp(n0, m, lpf, n2), n < # lpt ⊦ (∀ n1. n1 < # lpt ∧ lpt0[n1].flags = LP_GROUP_NODES ∧ lpt[n, mklp(m0, m, lpf, m2)][n1].flags = LP_GROUP_NODES ∧ ¬ n1 ∈ nx → lpt[n, mklp(m0, m, lpf, m2)][n1].size = lpt0[n1].size) ↔ (∀ n. n < # lpt ∧ lpt0[n].flags = LP_GROUP_NODES ∧ lpt[n].flags = LP_GROUP_NODES ∧ ¬ n ∈ nx → lpt[n].size = lpt0[n].size)
Used simplifier rules: lpt-ram-flash: ⊦ lpt-ram-flash(lpt1, lpt0, nx) ↔ # lpt0 = # lpt1 ∧ (∀ n. n < # lpt1 ∧ lpt0[n].flags = LP_GROUP_NODES ∧ lpt1[n].flags = LP_GROUP_NODES ∧ ¬ n ∈ nx → lpt1[n].size = lpt0[n].size);% ⊦ m < n → n ≠ 0; (s)%lf-01: ⊦ m < n ∧ n = n0 → m < n0; (forward) from specification nat-basic%f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic% ⊦ # lpt[n, lp] = # lpt; (s)