| ⊦ ((⌜bv⌝ ∧ P0) * P1)[rs, f] ↔ bv ∧ (P0 * P1)[rs, f] |
Used simplifier rules: apply: ⊦ P[rs, f] ↔ P(mk(rs, f));% ⊦ (true ∧ P) = P; (s)% ⊦ ⌜true⌝ = true; (s)% ⊦ ⌜bv⌝ (H) ↔ bv; (s)% ⊦ ((P0 ∧ P1))(H) ↔ P0(H) ∧ P1(H); (s)%sep-com: ⊦ P0 * P1 = P1 * P0; from specification heap-sep%sep-ass: ⊦ (P0 * P1) * P2 = P0 * P1 * P2; from specification heap-sep%and-com: ⊦ (P0 ∧ P1) = (P1 ∧ P0); from specification heap-sep%and-ass: ⊦ ((P0 ∧ P1) ∧ P2) = (P0 ∧ P1 ∧ P2); from specification heap-sep% ⊦ (⌜bv⌝ ∧ P0) * P1 = (⌜bv⌝ ∧ P0 * P1); (s)