| ¬ r ∈ h, r ≠ null ⊦ ¬ r ∈ rs → (h ++ r)(r := o) \ rs = ((h \ rs) ++ r)(r := o) |
(h ++ r)(r := o) \ rs ≠ ((h \ rs) ++ r)(r := o), r ≠ null, ¬ r ∈ rs, ¬ r ∈ h ⊦
| (h ++ r)(r := o) \ rs ≠ ((h \ rs) ++ r)(r := o), r ≠ null, ¬ r ∈ rs, ¬ r ∈ h ⊦ |
(h ++ r)(r := o) \ rs ≠ ((h \ rs) ++ r)(r := o), r ≠ null, ¬ r ∈ rs, ¬ r ∈ h ⊦
| (h ++ r)(r := o) \ rs ≠ ((h \ rs) ++ r)(r := o), r ≠ null, ¬ r ∈ rs, ¬ r ∈ h ⊦ |
⊦ h0 = h1 ↔ (∀ r. (r ∈ h0 ↔ r ∈ h1) ∧ (r ∈ h0 → h0(r) = h1(r)))
r ≠ null, ¬ r ∈ rs, ¬ r ∈ h, ∃ r0. ¬ ( (r0 ∈ (h ++ r)(r := o) \ rs ↔ r0 ∈ ((h \ rs) ++ r)(r := o)) ∧ (r0 ∈ (h ++ r)(r := o) \ rs → ((h ++ r)(r := o) \ rs)(r0) = ((h \ rs) ++ r)(r := o)(r0))) ⊦
Used terms: ((h \ rs) ++ r)(r := o), (h ++ r)(r := o) \ rs
| ⊦ h0 = h1 ↔ (∀ r. (r ∈ h0 ↔ r ∈ h1) ∧ (r ∈ h0 → h0(r) = h1(r))) |
| r ≠ null, ¬ r ∈ rs, ¬ r ∈ h, ∃ r0. ¬ ( (r0 ∈ (h ++ r)(r := o) \ rs ↔ r0 ∈ ((h \ rs) ++ r)(r := o)) ∧ (r0 ∈ (h ++ r)(r := o) \ rs → ((h ++ r)(r := o) \ rs)(r0) = ((h \ rs) ++ r)(r := o)(r0))) ⊦ |
r ≠ null, ¬ r ∈ rs, ¬ r ∈ h ⊦ (r0 ∈ (h ++ r)(r := o) \ rs ↔ r0 ∈ (h \ rs) ++ r) ∧ (r0 ∈ (h ++ r)(r := o) \ rs → ((h ++ r)(r := o) \ rs)(r0) = (r0 = r ∧ r ∈ (h \ rs) ++ r ⊃ o;((h \ rs) ++ r)(r0)))
Used simplifier rules: in-write: ⊦ r ∈ h(r0 := o) ↔ r ∈ h; at-write: ⊦ h(r0 := o)(r) = (r = r0 ∧ r0 ∈ h ⊃ o;h(r));
| r ≠ null, ¬ r ∈ rs, ¬ r ∈ h ⊦ (r0 ∈ (h ++ r)(r := o) \ rs ↔ r0 ∈ (h \ rs) ++ r) ∧ (r0 ∈ (h ++ r)(r := o) \ rs → ((h ++ r)(r := o) \ rs)(r0) = (r0 = r ∧ r ∈ (h \ rs) ++ r ⊃ o;((h \ rs) ++ r)(r0))) |
⊦ r ∈ h \ rs ↔ r ∈ h ∧ ¬ r ∈ rs
r ≠ null, ¬ r ∈ rs, ¬ r ∈ h ⊦ (r0 ∈ (h ++ r)(r := o) ∧ ¬ r0 ∈ rs ↔ r0 ∈ (h \ rs) ++ r) ∧ (r0 ∈ (h ++ r)(r := o) ∧ ¬ r0 ∈ rs → ((h ++ r)(r := o) \ rs)(r0) = (r0 = r ∧ r ∈ (h \ rs) ++ r ⊃ o;((h \ rs) ++ r)(r0)))
Used terms: r0, (h ++ r)(r := o), rs
| ⊦ r ∈ h \ rs ↔ r ∈ h ∧ ¬ r ∈ rs |
| r ≠ null, ¬ r ∈ rs, ¬ r ∈ h ⊦ (r0 ∈ (h ++ r)(r := o) ∧ ¬ r0 ∈ rs ↔ r0 ∈ (h \ rs) ++ r) ∧ (r0 ∈ (h ++ r)(r := o) ∧ ¬ r0 ∈ rs → ((h ++ r)(r := o) \ rs)(r0) = (r0 = r ∧ r ∈ (h \ rs) ++ r ⊃ o;((h \ rs) ++ r)(r0))) |
r ≠ null, ¬ r ∈ rs, ¬ r ∈ h ⊦ ((r0 = r ∨ r0 ∈ h) ∧ ¬ r0 ∈ rs ↔ r0 ∈ (h \ rs) ++ r) ∧ ((r0 = r ∨ r0 ∈ h) ∧ ¬ r0 ∈ rs → ((h ++ r)(r := o) \ rs)(r0) = (r0 = r ∧ r ∈ (h \ rs) ++ r ⊃ o;((h \ rs) ++ r)(r0)))
Used simplifier rules: in-write: ⊦ r ∈ h(r0 := o) ↔ r ∈ h; in-alloc: r0 ≠ null, ¬ r0 ∈ h ⊦ r ∈ h ++ r0 ↔ r = r0 ∨ r ∈ h;
| r ≠ null, ¬ r ∈ rs, ¬ r ∈ h ⊦ ((r0 = r ∨ r0 ∈ h) ∧ ¬ r0 ∈ rs ↔ r0 ∈ (h \ rs) ++ r) ∧ ((r0 = r ∨ r0 ∈ h) ∧ ¬ r0 ∈ rs → ((h ++ r)(r := o) \ rs)(r0) = (r0 = r ∧ r ∈ (h \ rs) ++ r ⊃ o;((h \ rs) ++ r)(r0))) |
r0 ≠ null, ¬ r0 ∈ h ⊦ r ∈ h ++ r0 ↔ r = r0 ∨ r ∈ h
r ≠ null, ¬ r ∈ rs, ¬ r ∈ h ⊦ r ≠ null ∧ ¬ r ∈ h \ rs, ((r0 = r ∨ r0 ∈ h) ∧ ¬ r0 ∈ rs ↔ r0 ∈ (h \ rs) ++ r) ∧ ((r0 = r ∨ r0 ∈ h) ∧ ¬ r0 ∈ rs → ((h ++ r)(r := o) \ rs)(r0) = (r0 = r ∧ r ∈ (h \ rs) ++ r ⊃ o;((h \ rs) ++ r)(r0)))
r ≠ null, ¬ r ∈ h \ rs, ¬ r ∈ rs, ¬ r ∈ h ⊦ ((r0 = r ∨ r0 ∈ h) ∧ ¬ r0 ∈ rs ↔ r0 = r ∨ r0 ∈ h \ rs) ∧ ((r0 = r ∨ r0 ∈ h) ∧ ¬ r0 ∈ rs → ((h ++ r)(r := o) \ rs)(r0) = (r0 = r ∧ r ∈ (h \ rs) ++ r ⊃ o;((h \ rs) ++ r)(r0)))
Used terms: r, h \ rs, r0
| r0 ≠ null, ¬ r0 ∈ h ⊦ r ∈ h ++ r0 ↔ r = r0 ∨ r ∈ h |
| r ≠ null, ¬ r ∈ rs, ¬ r ∈ h ⊦ r ≠ null ∧ ¬ r ∈ h \ rs, ((r0 = r ∨ r0 ∈ h) ∧ ¬ r0 ∈ rs ↔ r0 ∈ (h \ rs) ++ r) ∧ ((r0 = r ∨ r0 ∈ h) ∧ ¬ r0 ∈ rs → ((h ++ r)(r := o) \ rs)(r0) = (r0 = r ∧ r ∈ (h \ rs) ++ r ⊃ o;((h \ rs) ++ r)(r0))) |
r ∈ h \ rs, ¬ r ∈ rs, ¬ r ∈ h ⊦ ((r0 = r ∨ r0 ∈ h) ∧ ¬ r0 ∈ rs ↔ r0 ∈ (h \ rs) ++ r) ∧ ((r0 = r ∨ r0 ∈ h) ∧ ¬ r0 ∈ rs → ((h ++ r)(r := o) \ rs)(r0) = (r0 = r ∧ r ∈ (h \ rs) ++ r ⊃ o;((h \ rs) ++ r)(r0)))
Used simplifier rules: nonnull: ⊦ r ∈ h → r ≠ null;
| r ∈ h \ rs, ¬ r ∈ rs, ¬ r ∈ h ⊦ ((r0 = r ∨ r0 ∈ h) ∧ ¬ r0 ∈ rs ↔ r0 ∈ (h \ rs) ++ r) ∧ ((r0 = r ∨ r0 ∈ h) ∧ ¬ r0 ∈ rs → ((h ++ r)(r := o) \ rs)(r0) = (r0 = r ∧ r ∈ (h \ rs) ++ r ⊃ o;((h \ rs) ++ r)(r0))) |
⊦ r ∈ h \ rs ↔ r ∈ h ∧ ¬ r ∈ rs
Used terms: r, h, rs
| ⊦ r ∈ h \ rs ↔ r ∈ h ∧ ¬ r ∈ rs |
| r ≠ null, ¬ r ∈ h \ rs, ¬ r ∈ rs, ¬ r ∈ h ⊦ ((r0 = r ∨ r0 ∈ h) ∧ ¬ r0 ∈ rs ↔ r0 = r ∨ r0 ∈ h \ rs) ∧ ((r0 = r ∨ r0 ∈ h) ∧ ¬ r0 ∈ rs → ((h ++ r)(r := o) \ rs)(r0) = (r0 = r ∧ r ∈ (h \ rs) ++ r ⊃ o;((h \ rs) ++ r)(r0))) |
r ≠ null, ¬ r ∈ rs, ¬ r ∈ h ⊦ ((r0 = r ∨ r0 ∈ h) ∧ ¬ r0 ∈ rs ↔ r0 = r ∨ r0 ∈ h \ rs) ∧ ((r0 = r ∨ r0 ∈ h) ∧ ¬ r0 ∈ rs → ((h ++ r)(r := o) \ rs)(r0) = (r0 = r ∧ r ∈ (h \ rs) ++ r ⊃ o;((h \ rs) ++ r)(r0)))
Used simplifier rules: in-diffs: ⊦ r ∈ h \ rs ↔ r ∈ h ∧ ¬ r ∈ rs;
| r ≠ null, ¬ r ∈ rs, ¬ r ∈ h ⊦ ((r0 = r ∨ r0 ∈ h) ∧ ¬ r0 ∈ rs ↔ r0 = r ∨ r0 ∈ h \ rs) ∧ ((r0 = r ∨ r0 ∈ h) ∧ ¬ r0 ∈ rs → ((h ++ r)(r := o) \ rs)(r0) = (r0 = r ∧ r ∈ (h \ rs) ++ r ⊃ o;((h \ rs) ++ r)(r0))) |
⊦ r ∈ h \ rs ↔ r ∈ h ∧ ¬ r ∈ rs
r ≠ null, ¬ r ∈ rs, ¬ r ∈ h ⊦ ((r0 = r ∨ r0 ∈ h) ∧ ¬ r0 ∈ rs ↔ r0 = r ∨ r0 ∈ h ∧ ¬ r0 ∈ rs) ∧ ((r0 = r ∨ r0 ∈ h) ∧ ¬ r0 ∈ rs → ((h ++ r)(r := o) \ rs)(r0) = (r0 = r ∧ r ∈ (h \ rs) ++ r ⊃ o;((h \ rs) ++ r)(r0)))
Used terms: r0, h, rs
| ⊦ r ∈ h \ rs ↔ r ∈ h ∧ ¬ r ∈ rs |
| r ≠ null, ¬ r ∈ rs, ¬ r ∈ h ⊦ ((r0 = r ∨ r0 ∈ h) ∧ ¬ r0 ∈ rs ↔ r0 = r ∨ r0 ∈ h ∧ ¬ r0 ∈ rs) ∧ ((r0 = r ∨ r0 ∈ h) ∧ ¬ r0 ∈ rs → ((h ++ r)(r := o) \ rs)(r0) = (r0 = r ∧ r ∈ (h \ rs) ++ r ⊃ o;((h \ rs) ++ r)(r0))) |
r ≠ null, ¬ r ∈ rs, ¬ r ∈ h ⊦ (r0 = r ∨ r0 ∈ h ∧ ¬ r0 ∈ rs → (r0 = r ∨ r0 ∈ h) ∧ ¬ r0 ∈ rs) ∧ ((r0 = r ∨ r0 ∈ h) ∧ ¬ r0 ∈ rs → ((h ++ r)(r := o) \ rs)(r0) = (r0 = r ∧ r ∈ (h \ rs) ++ r ⊃ o;((h \ rs) ++ r)(r0)))
| r ≠ null, ¬ r ∈ rs, ¬ r ∈ h ⊦ (r0 = r ∨ r0 ∈ h ∧ ¬ r0 ∈ rs → (r0 = r ∨ r0 ∈ h) ∧ ¬ r0 ∈ rs) ∧ ((r0 = r ∨ r0 ∈ h) ∧ ¬ r0 ∈ rs → ((h ++ r)(r := o) \ rs)(r0) = (r0 = r ∧ r ∈ (h \ rs) ++ r ⊃ o;((h \ rs) ++ r)(r0))) |
r0 ≠ null, ¬ r0 ∈ h ⊦ r ∈ h ++ r0 ↔ r = r0 ∨ r ∈ h
r ≠ null, ¬ r ∈ rs, ¬ r ∈ h ⊦ r ≠ null ∧ ¬ r ∈ h \ rs, (r0 = r ∨ r0 ∈ h ∧ ¬ r0 ∈ rs → (r0 = r ∨ r0 ∈ h) ∧ ¬ r0 ∈ rs) ∧ ((r0 = r ∨ r0 ∈ h) ∧ ¬ r0 ∈ rs → ((h ++ r)(r := o) \ rs)(r0) = (r0 = r ∧ r ∈ (h \ rs) ++ r ⊃ o;((h \ rs) ++ r)(r0)))
r ≠ null, ¬ r ∈ h \ rs, ¬ r ∈ rs, ¬ r ∈ h ⊦ (r0 = r ∨ r0 ∈ h ∧ ¬ r0 ∈ rs → (r0 = r ∨ r0 ∈ h) ∧ ¬ r0 ∈ rs) ∧ ((r0 = r ∨ r0 ∈ h) ∧ ¬ r0 ∈ rs → ((h ++ r)(r := o) \ rs)(r0) = (r0 = r ∧ (r = r ∨ r ∈ h \ rs) ⊃ o;((h \ rs) ++ r)(r0)))
Used terms: r, h \ rs, r
| r0 ≠ null, ¬ r0 ∈ h ⊦ r ∈ h ++ r0 ↔ r = r0 ∨ r ∈ h |
| r ≠ null, ¬ r ∈ rs, ¬ r ∈ h ⊦ r ≠ null ∧ ¬ r ∈ h \ rs, (r0 = r ∨ r0 ∈ h ∧ ¬ r0 ∈ rs → (r0 = r ∨ r0 ∈ h) ∧ ¬ r0 ∈ rs) ∧ ((r0 = r ∨ r0 ∈ h) ∧ ¬ r0 ∈ rs → ((h ++ r)(r := o) \ rs)(r0) = (r0 = r ∧ r ∈ (h \ rs) ++ r ⊃ o;((h \ rs) ++ r)(r0))) |
r ∈ h \ rs, ¬ r ∈ rs, ¬ r ∈ h ⊦ (r0 = r ∨ r0 ∈ h ∧ ¬ r0 ∈ rs → (r0 = r ∨ r0 ∈ h) ∧ ¬ r0 ∈ rs) ∧ ((r0 = r ∨ r0 ∈ h) ∧ ¬ r0 ∈ rs → ((h ++ r)(r := o) \ rs)(r0) = (r0 = r ∧ r ∈ (h \ rs) ++ r ⊃ o;((h \ rs) ++ r)(r0)))
Used simplifier rules: nonnull: ⊦ r ∈ h → r ≠ null;
| r ∈ h \ rs, ¬ r ∈ rs, ¬ r ∈ h ⊦ (r0 = r ∨ r0 ∈ h ∧ ¬ r0 ∈ rs → (r0 = r ∨ r0 ∈ h) ∧ ¬ r0 ∈ rs) ∧ ((r0 = r ∨ r0 ∈ h) ∧ ¬ r0 ∈ rs → ((h ++ r)(r := o) \ rs)(r0) = (r0 = r ∧ r ∈ (h \ rs) ++ r ⊃ o;((h \ rs) ++ r)(r0))) |
⊦ r ∈ h \ rs ↔ r ∈ h ∧ ¬ r ∈ rs
Used terms: r, h, rs
| ⊦ r ∈ h \ rs ↔ r ∈ h ∧ ¬ r ∈ rs |
| r ≠ null, ¬ r ∈ h \ rs, ¬ r ∈ rs, ¬ r ∈ h ⊦ (r0 = r ∨ r0 ∈ h ∧ ¬ r0 ∈ rs → (r0 = r ∨ r0 ∈ h) ∧ ¬ r0 ∈ rs) ∧ ((r0 = r ∨ r0 ∈ h) ∧ ¬ r0 ∈ rs → ((h ++ r)(r := o) \ rs)(r0) = (r0 = r ∧ (r = r ∨ r ∈ h \ rs) ⊃ o;((h \ rs) ++ r)(r0))) |
r ≠ null, ¬ r ∈ rs, ¬ r ∈ h ⊦ (r0 = r ∨ r0 ∈ h ∧ ¬ r0 ∈ rs → (r0 = r ∨ r0 ∈ h) ∧ ¬ r0 ∈ rs) ∧ ((r0 = r ∨ r0 ∈ h) ∧ ¬ r0 ∈ rs → ((h ++ r)(r := o) \ rs)(r0) = (r0 = r ⊃ o;((h \ rs) ++ r)(r0)))
Used simplifier rules: in-diffs: ⊦ r ∈ h \ rs ↔ r ∈ h ∧ ¬ r ∈ rs;
| r ≠ null, ¬ r ∈ rs, ¬ r ∈ h ⊦ (r0 = r ∨ r0 ∈ h ∧ ¬ r0 ∈ rs → (r0 = r ∨ r0 ∈ h) ∧ ¬ r0 ∈ rs) ∧ ((r0 = r ∨ r0 ∈ h) ∧ ¬ r0 ∈ rs → ((h ++ r)(r := o) \ rs)(r0) = (r0 = r ⊃ o;((h \ rs) ++ r)(r0))) |
r ≠ null, ¬ r ∈ rs, ¬ r ∈ h, ¬ r0 ∈ rs ⊦ (r0 = r ∨ r0 ∈ h ∧ ¬ r0 ∈ rs → (r0 = r ∨ r0 ∈ h) ∧ ¬ r0 ∈ rs) ∧ ((r0 = r ∨ r0 ∈ h) ∧ ¬ r0 ∈ rs → ((h ++ r)(r := o) \ rs)(r0) = (r0 = r ⊃ o;((h \ rs) ++ r)(r0)))
Used formulas: r0 ∈ rs
| r ≠ null, ¬ r ∈ rs, ¬ r ∈ h, ¬ r0 ∈ rs ⊦ (r0 = r ∨ r0 ∈ h ∧ ¬ r0 ∈ rs → (r0 = r ∨ r0 ∈ h) ∧ ¬ r0 ∈ rs) ∧ ((r0 = r ∨ r0 ∈ h) ∧ ¬ r0 ∈ rs → ((h ++ r)(r := o) \ rs)(r0) = (r0 = r ⊃ o;((h \ rs) ++ r)(r0))) |
((h ++ r)(r := o) \ rs)(r0) ≠ (r0 = r ⊃ o;((h \ rs) ++ r)(r0)), r ≠ null, ¬ r ∈ rs, ¬ r ∈ h, ¬ r0 ∈ rs, r0 = r ∨ r0 ∈ h ⊦
| ((h ++ r)(r := o) \ rs)(r0) ≠ (r0 = r ⊃ o;((h \ rs) ++ r)(r0)), r ≠ null, ¬ r ∈ rs, ¬ r ∈ h, ¬ r0 ∈ rs, r0 = r ∨ r0 ∈ h ⊦ |
r0 = r, ((h ++ r)(r := o) \ rs)(r0) ≠ (r0 = r ⊃ o;((h \ rs) ++ r)(r0)), r ≠ null, ¬ r ∈ rs, ¬ r ∈ h, ¬ r0 ∈ rs, r0 = r ∨ r0 ∈ h ⊦
((h ++ r)(r := o) \ rs)(r0) ≠ (r0 = r ⊃ o;((h \ rs) ++ r)(r0)), r ≠ null, r0 ≠ r, ¬ r ∈ rs, ¬ r ∈ h, ¬ r0 ∈ rs, r0 = r ∨ r0 ∈ h ⊦
Used formulas: r0 = r
| r0 = r, ((h ++ r)(r := o) \ rs)(r0) ≠ (r0 = r ⊃ o;((h \ rs) ++ r)(r0)), r ≠ null, ¬ r ∈ rs, ¬ r ∈ h, ¬ r0 ∈ rs, r0 = r ∨ r0 ∈ h ⊦ |
((h ++ r)(r := o) \ rs)(r) ≠ o, r ≠ null, ¬ r ∈ h, ¬ r ∈ rs ⊦
| ((h ++ r)(r := o) \ rs)(r) ≠ o, r ≠ null, ¬ r ∈ h, ¬ r ∈ rs ⊦ |
⊦ r ∈ h ∧ ¬ r ∈ rs → (h \ rs)(r) = h(r)
Used simplifier rules: in-write: ⊦ r ∈ h(r0 := o) ↔ r ∈ h; in-alloc: r0 ≠ null, ¬ r0 ∈ h ⊦ r ∈ h ++ r0 ↔ r = r0 ∨ r ∈ h; at-write: ⊦ h(r0 := o)(r) = (r = r0 ∧ r0 ∈ h ⊃ o;h(r)); in-alloc: r0 ≠ null, ¬ r0 ∈ h ⊦ r ∈ h ++ r0 ↔ r = r0 ∨ r ∈ h; Used terms: r, (h ++ r)(r := o), rs
| ⊦ r ∈ h ∧ ¬ r ∈ rs → (h \ rs)(r) = h(r) |
| ((h ++ r)(r := o) \ rs)(r0) ≠ (r0 = r ⊃ o;((h \ rs) ++ r)(r0)), r ≠ null, r0 ≠ r, ¬ r ∈ rs, ¬ r ∈ h, ¬ r0 ∈ rs, r0 = r ∨ r0 ∈ h ⊦ |
((h ++ r)(r := o) \ rs)(r0) ≠ ((h \ rs) ++ r)(r0), r ≠ null, r0 ≠ r, r0 ∈ h, ¬ r ∈ rs, ¬ r ∈ h, ¬ r0 ∈ rs ⊦
| ((h ++ r)(r := o) \ rs)(r0) ≠ ((h \ rs) ++ r)(r0), r ≠ null, r0 ≠ r, r0 ∈ h, ¬ r ∈ rs, ¬ r ∈ h, ¬ r0 ∈ rs ⊦ |
⊦ r ∈ h ∧ ¬ r ∈ rs → (h \ rs)(r) = h(r)
(h ++ r)(r := o)(r0) ≠ ((h \ rs) ++ r)(r0), r ≠ null, r0 ≠ r, r0 ∈ h, r0 ∈ (h ++ r)(r := o), ¬ r ∈ rs, ¬ r ∈ h, ¬ r0 ∈ rs ⊦
Used simplifier rules: in-write: ⊦ r ∈ h(r0 := o) ↔ r ∈ h; in-alloc: r0 ≠ null, ¬ r0 ∈ h ⊦ r ∈ h ++ r0 ↔ r = r0 ∨ r ∈ h; Used terms: r0, (h ++ r)(r := o), rs
| ⊦ r ∈ h ∧ ¬ r ∈ rs → (h \ rs)(r) = h(r) |
| (h ++ r)(r := o)(r0) ≠ ((h \ rs) ++ r)(r0), r ≠ null, r0 ≠ r, r0 ∈ h, r0 ∈ (h ++ r)(r := o), ¬ r ∈ rs, ¬ r ∈ h, ¬ r0 ∈ rs ⊦ |
h(r0) ≠ ((h \ rs) ++ r)(r0), r ≠ null, r0 ≠ r, r0 ∈ h, ¬ r ∈ rs, ¬ r ∈ h, ¬ r0 ∈ rs ⊦
Used simplifier rules: at-write-other: ⊦ r ≠ r0 → h(r0 := o)(r) = h(r); at-alloc: r ∈ h, r0 ≠ null, ¬ r0 ∈ h ⊦ r ≠ r0 → (h ++ r0)(r) = h(r); in-write: ⊦ r ∈ h(r0 := o) ↔ r ∈ h; in-alloc: r0 ≠ null, ¬ r0 ∈ h ⊦ r ∈ h ++ r0 ↔ r = r0 ∨ r ∈ h;
| h(r0) ≠ ((h \ rs) ++ r)(r0), r ≠ null, r0 ≠ r, r0 ∈ h, ¬ r ∈ rs, ¬ r ∈ h, ¬ r0 ∈ rs ⊦ |
r ∈ h, r0 ≠ null, ¬ r0 ∈ h ⊦ r ≠ r0 → (h ++ r0)(r) = h(r)
h(r0) ≠ ((h \ rs) ++ r)(r0), r ≠ null, r0 ≠ r, r0 ∈ h, ¬ r ∈ rs, ¬ r ∈ h, ¬ r0 ∈ rs ⊦ r0 ∈ h \ rs ∧ r ≠ null ∧ ¬ r ∈ h \ rs ∧ r0 ≠ r
Used simplifier rules: at-diffs: ⊦ r ∈ h ∧ ¬ r ∈ rs → (h \ rs)(r) = h(r); Used terms: r0, h \ rs, r
| r ∈ h, r0 ≠ null, ¬ r0 ∈ h ⊦ r ≠ r0 → (h ++ r0)(r) = h(r) |
| h(r0) ≠ ((h \ rs) ++ r)(r0), r ≠ null, r0 ≠ r, r0 ∈ h, ¬ r ∈ rs, ¬ r ∈ h, ¬ r0 ∈ rs ⊦ r0 ∈ h \ rs ∧ r ≠ null ∧ ¬ r ∈ h \ rs ∧ r0 ≠ r |
h(r0) ≠ ((h \ rs) ++ r)(r0), r0 ≠ r, r ∈ h \ rs, r0 ∈ h, r0 ∈ h \ rs, ¬ r ∈ h, ¬ r ∈ rs, ¬ r0 ∈ rs ⊦
Used simplifier rules: in-diffs: ⊦ r ∈ h \ rs ↔ r ∈ h ∧ ¬ r ∈ rs; nonnull: ⊦ r ∈ h → r ≠ null;
| h(r0) ≠ ((h \ rs) ++ r)(r0), r0 ≠ r, r ∈ h \ rs, r0 ∈ h, r0 ∈ h \ rs, ¬ r ∈ h, ¬ r ∈ rs, ¬ r0 ∈ rs ⊦ |
⊦ r ∈ h \ rs ↔ r ∈ h ∧ ¬ r ∈ rs
Used terms: r, h, rs
| ⊦ r ∈ h \ rs ↔ r ∈ h ∧ ¬ r ∈ rs |
The following image shows the proof tree of sequent calculus. The proved goal is at the bottom. You can click on the nodes to view additional rules. See here for details on colors in a proof tree.