| zh[r] = mkznode(r0, zbrar, false, boolvar0, m), zh[r2] = mkznode(r1, zbrar0, boolvar1, true, m0), zbrar[n] = mkzbranch(key, adr, r2), n < m, r ∈ zh, r2 ∈ zh, ∀ n0. n0 < m ∧ ¬ n < n0 ∧ zbrar[n0].branch? ∧ zbrar[n0].child ∈ zh → ¬ zh[zbrar[n0].child].dirty, ∀ n0. n0 < m ∧ n0 < n ∧ zbrar[n0].branch? ∧ zbrar[n0].child ∈ zh → ¬ zh[zbrar[n0].child].dirty ⊦ |
Used simplifier rules: ⊦ ¬ n < n; (s)% ⊦ mkzbranch(key, adr, r).branch?; (s)% ⊦ mkzbranch(key, adr, r).child = r; (s)% ⊦ mkznode(r, zbrar, boolvar, boolvar0, m).dirty ↔ boolvar0; (s) Used terms: n