| gstore[lnum] = groupblock(gndx, lax, m), abs-log(nx0, gstore).toSet ∩ (as | n) = ∅ ∨ n ∈ nx0 ⊦ #(((lax.to-adr(lnum)).toSet ∪ abs-log(nx0, gstore).toSet) ∩ (as | n)) = 0, n = lnum, ((lax.to-adr(lnum)).toSet ∪ abs-log(nx0, gstore).toSet) ∩ (as | n) = ∅, n ∈ nx0 |
gstore[lnum] = groupblock(gndx, lax, m), abs-log(nx0, gstore).toSet ∩ (as | n) = ∅ ⊦ #((as | n) ∩ (lax.to-adr(lnum)).toSet) = 0, #(((lax.to-adr(lnum)).toSet ∪ abs-log(nx0, gstore).toSet) ∩ (as | n)) = 0, n = lnum, (as | n) ∩ (lax.to-adr(lnum)).toSet = ∅, n ∈ nx0
Used simplifier rules: 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]%unc: ⊦ as ∪ as0 = as0 ∪ as; from specification set-union[node-store]%una: ⊦ (as ∪ as0) ∪ as1 = as ∪ as0 ∪ as1; from specification set-union[node-store]% ⊦ as ∩ (as0 ∪ as1) = ∅ ↔ as ∩ as0 = ∅ ∧ as ∩ as1 = ∅; (ws)%int-c: ⊦ as ∩ as0 = as0 ∩ as; from specification set-union[node-store]%int-a: ⊦ (as ∩ as0) ∩ as1 = as ∩ as0 ∩ as1; from specification set-union[node-store]