| lpt[n1] = mklp(m, m0, lpf, m1), lpt[n2] = mklp(m2, m3, lpf0, m4), n2 < # lpt ⊦ key-index(n0, n1) ∈ (¬ n2 ∈ nx ∧ lpf0 = LP_GROUP_NODES ⊃ ∅ ++ key-index(m2, n2);∅) ↔ ¬ n2 < n1 ∧ ¬ n1 ∈ nx ∧ m = n0 ∧ lpf = LP_GROUP_NODES, key-index(n0, n1) ∈ gc-heap(lpt, nx, n2), n1 < n2 ∧ ¬ n1 ∈ nx ∧ m = n0 ∧ lpf = LP_GROUP_NODES |
Used simplifier rules: ⊦ m < n ↔ ¬ n ≤ m; (ss)% ⊦ m ≤ n → (n ≤ m ↔ m = n); (s)%fle-01: ⊦ m ≤ n ∧ n < n0 → m < n0; (forward) from specification nat% ⊦ m ≤ m; (s)%⊦ mklp(m, m0, lpf, m1) = mklp(m2, m3, lpf0, m4) ↔ m = m2 ∧ m0 = m3 ∧ lpf = lpf0 ∧ m1 = m4; (ws)% ⊦ ki ∈ ∅ ++ ki0 ↔ ki = ki0; (s)%⊦ key-index(natkey, m) = key-index(natkey0, m0) ↔ natkey = natkey0 ∧ m = m0; (ws)%ne-01: ⊦ ki ∈ gchs → gchs ≠ ∅; (forward) from specification set-basic[gc-heap-rename-gc-heap-base-keyindex-set]% ⊦ ∅ ≠ gchs ++ ki; (s)%lf-02: ⊦ m < n ∧ m = n0 → n0 < n; (forward) from specification nat-basic%f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic%lf-01: ⊦ m < n ∧ n = n0 → m < n0; (forward) from specification nat-basic% ⊦ m < n → n ≠ 0; (s)% ⊦ ¬ n < n; (s)% ⊦ m < n → m ≤ n; (s)%lf: ⊦ m < n ∧ n < n0 → m +1 < n0; (forward) from specification nat-basic% ⊦ m +1 = m + 1; (s) Used formulas: key-index(n0, n1) ∈ (¬ n2 ∈ nx ∧ lpf0 = LP_GROUP_NODES ⊃ ∅ ++ key-index(m2, n2);∅)