| lax0.to-adr(n) = lax.to-adr(n) + @(n, m0, m1) ', @(m0, m1) ∈ lax0 ⊦ lax0 = lax + @(m0, m1) ' |
(ladr + lax1).to-adr(n) = lax.to-adr(n) + @(n, m0, m1) ', @(m0, m1) ∈ ladr + lax1, ∀ n, lax, m0, m1. lax1.to-adr(n) = lax.to-adr(n) + @(n, m0, m1) ' ∧ @(m0, m1) ∈ lax1 → lax1 = lax + @(m0, m1) ' ⊦ ladr + lax1 = lax + @(m0, m1) '
Used simplifier rules: adrs-empty: ⊦ ([]).to-adr(n) = [];%to-adrs-eq-empty: ⊦ lax.to-adr(n) = [] ↔ lax = [];%laddress-list freely generated by [], +;;% ⊦ ax + ax0 = [] ↔ ax = [] ∧ ax0 = []; (as)% ⊦ adr ' ≠ []; (s)%a: ⊦ (ax + ax0) + ax1 = ax + ax0 + ax1; from specification list[address-list-set]