| ((o[r => a × r0] * o[ls(r0, x1)]) * R)[rs, cf, af], ((o[r => a × r0] * o[ls(r0, x)]) * R0)[rs, cf, af], ∀ o, r, x0, R0, rs, cf, af, R. (o[ls(r, x0)] * R0)[rs, cf, af] ∧ (o[ls(r, x1)] * R)[rs, cf, af] → x1 = x0 ⊦ x1 = x |
Used simplifier rules: sep-ass: ⊦ (R0 * R1) * R2 = R0 * R1 * R2; from specification heap-sep[heap-aux]%sep-com: ⊦ R0 * R1 = R1 * R0; from specification heap-sep[heap-aux] Used terms: o, r0, x, R0 * o[r => a × r0], rs, cf, af, R * o[r => a × r0]