| (ladr + lax).to-adr(n) = lax1.to-adr(n), ∀ n, lax1. lax.to-adr(n) = lax1.to-adr(n) → lax = lax1 ⊦ ladr + lax = lax1 |
@(n, ladr.off, ladr.size) ' + lax.to-adr(n) = lax1.to-adr(n), @(ladr.off, ladr.size) ∈ lax1, ∀ n, lax1. lax.to-adr(n) = lax1.to-adr(n) → lax = lax1 ⊦ ladr ' + lax = lax1
Used simplifier rules: adrs-rec: ⊦ (ladr ' + lax).to-adr(n) = @(n, ladr.off, ladr.size) + lax.to-adr(n);%to-adrs-in: ⊦ @(m, m0, m1) ∈ lax.to-adr(n) ↔ m = n ∧ @(m0, m1) ∈ lax;%a: ⊦ (ax + ax0) + ax1 = ax + ax0 + ax1; from specification list[address-list-set]%in-14: ⊦ adr ' + ax = ax0 → adr ∈ ax0; (forward) from specification list[address-list-set]%a: ⊦ (lax + lax0) + lax1 = lax + lax0 + lax1; from specification list[laddress-list]% ⊦ adr + ax = adr ' + ax; (s)% ⊦ ladr + lax = ladr ' + lax; (s)