| n < # lpt, m0 ≤ LEB_SIZE, ∀ n. n < # lpt → lpt[n].size ≤ LEB_SIZE ⊦ (∀ n0. n0 < # lpt → lpt[n, mklp(m, m0, lpf, m1)][n0].size ≤ LEB_SIZE) ↔ m0 ≤ LEB_SIZE |
m0 < lpt[n0].size, n < # lpt, n0 < # lpt, LEB_SIZE < lpt[n, mklp(m, m0, lpf, m1)][n0].size, m0 ≤ LEB_SIZE, ∀ n. n < # lpt → lpt[n].size ≤ LEB_SIZE ⊦
Used simplifier rules: ⊦ m < n → n ≠ 0; (s)% ⊦ m ≤ n → (n < m ↔ false); (s)% ⊦ ¬ n < n; (s)% ⊦ mklp(n2, n3, lpf, m).size = n3; (s)% ⊦ m < # lpt → lpt[m, lp][m] = lp; (s)%fle-01: ⊦ m ≤ n ∧ n < n0 → m < n0; (forward) from specification nat%f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic% ⊦ m ≤ n ↔ ¬ n < m; (ss)%m ≠ n ⊦ lpt[m, lp][n] = lpt[n]; (s)