| ∀ gstore, as, n. abs-log(nx0, gstore).toSet ∩ (as | n) = ∅ ∨ n ∈ nx0 ⊦ abs-log(lnum + nx0, gstore).toSet ∩ (as | n) = ∅, n ∈ lnum + nx0 |
∀ gstore, as, n. abs-log(nx0, gstore).toSet ∩ (as | n) = ∅ ∨ n ∈ nx0 ⊦ #(((gstore[lnum].ladrlist.to-adr(lnum)).toSet ∪ abs-log(nx0, gstore).toSet) ∩ (as | n)) = 0, n = lnum, ((gstore[lnum].ladrlist.to-adr(lnum)).toSet ∪ abs-log(nx0, gstore).toSet) ∩ (as | n) = ∅, n ∈ nx0
Used simplifier rules: abs-log-rec: ⊦ abs-log(n ' + nx, gstore) = gstore[n].ladrlist.to-adr(n) + abs-log(nx, gstore);%size-zero: ⊦ # as ≠ 0 → as ≠ ∅; (forward) from specification set-basic[node-store]%size-zero-01: ⊦ as ≠ ∅ → # as ≠ 0; (forward) from specification set-basic[node-store]% ⊦ n ∈ n0 ' + nx ↔ ¬(n ≠ n0 ∧ ¬ n ∈ nx); (ss)%a: ⊦ (ax + ax0) + ax1 = ax + ax0 + ax1; from specification list[address-list-set]% ⊦ (ax + ax0).toSet = ax.toSet ∪ ax0.toSet; (s)%a: ⊦ (nx + nx0) + nx1 = nx + nx0 + nx1; from specification list[nat-list-set]% ⊦ n + nx = n ' + nx; (s)