| ⊦ lls(null, r, x) = (emp ∧ ⌜r = null⌝ ∧ ⌜x = []⌝ ) |
x = a + x0 ⊦ lls(null, r, x) = (emp ∧ ⌜r = null⌝ ∧ ⌜x = []⌝ )
Used simplifier rules: lls-base: ⊦ lls(r0, r1, []) = (emp ∧ ⌜r0 = r1⌝ );%list freely generated by [], +;;% ⊦ ⌜true⌝ = true; (s)% ⊦ (true ∧ P) = P; (s)%and-ass: ⊦ ((P0 ∧ P1) ∧ P2) = (P0 ∧ P1 ∧ P2); from specification heap-sep%and-com: ⊦ (P0 ∧ P1) = (P1 ∧ P0); from specification heap-sep% ⊦ (⌜bv⌝ ∧ P0) = (⌜bv⌝ ∧ P1) ↔ bv → P0 = P1; (s)