| # lpt1 = # lpt0, ∀ n. n < # lpt0 → lpt0[n].ref-size = lpt1[n].ref-size ∧ lpt0[n].size = lpt1[n].size ∧ lpt0[n].flags = lpt1[n].flags ⊦ id-idx(lpt0[n, mklp(n0, n1, lpf, n2)], lpt1[n, mklp(n0, n1, lpf, m2)]) |
⊦ id-idx(lpt1, lpt0) ↔ # lpt0 = # lpt1 ∧ (∀ n. n < # lpt0 → lpt1[n].ref-size = lpt0[n].ref-size ∧ lpt1[n].size = lpt0[n].size ∧ lpt1[n].flags = lpt0[n].flags)
# lpt1 = # lpt0, ∀ n. n < # lpt0 → lpt0[n].ref-size = lpt1[n].ref-size ∧ lpt0[n].size = lpt1[n].size ∧ lpt0[n].flags = lpt1[n].flags ⊦ # lpt1[n, mklp(n0, n1, lpf, m2)] = # lpt0[n, mklp(n0, n1, lpf, n2)] ∧ (∀ n3. n3 < # lpt1[n, mklp(n0, n1, lpf, m2)] → lpt0[n, mklp(n0, n1, lpf, n2)][n3].ref-size = lpt1[n, mklp(n0, n1, lpf, m2)][n3].ref-size ∧ lpt0[n, mklp(n0, n1, lpf, n2)][n3].size = lpt1[n, mklp(n0, n1, lpf, m2)][n3].size ∧ lpt0[n, mklp(n0, n1, lpf, n2)][n3].flags = lpt1[n, mklp(n0, n1, lpf, m2)][n3].flags)
Used terms: lpt1[n, mklp(n0, n1, lpf, m2)], lpt0[n, mklp(n0, n1, lpf, n2)]