| ¬ null ∈ h, ¬ null ∈ h0 ⊦ ⟨r := alloc#(; h)⟩ (h = h0 ∧ r = r0) ↔ ⟨r := choose r0 with ¬ r0 ∈ h ∧ r0 ≠ null in {h := h +h r0; r0} ifnone null⟩ (h = h0 ∧ r = r0) |
⟨r := alloc#(; h)⟩ (h = h0 ∧ r = r0), ¬ null ∈ h, ¬ null ∈ h0 ⊦ ⟨r := choose r0 with ¬ r0 ∈ h ∧ r0 ≠ null in {h := h +h r0; r0} ifnone null⟩ (h = h0 ∧ r = r0)
⟨r := choose r0 with ¬ r0 ∈ h ∧ r0 ≠ null in {h := h +h r0; r0} ifnone null⟩ (h = h0 ∧ r = r0), ¬ null ∈ h, ¬ null ∈ h0 ⊦ ⟨r := alloc#(; h)⟩ (h = h0 ∧ r = r0)
| ⟨r := alloc#(; h)⟩ (h = h0 ∧ r = r0), ¬ null ∈ h, ¬ null ∈ h0 ⊦ ⟨r := choose r0 with ¬ r0 ∈ h ∧ r0 ≠ null in {h := h +h r0; r0} ifnone null⟩ (h = h0 ∧ r = r0) |
⟨r := alloc#(; h)⟩ (h = h0 ∧ r = r1), ¬ null ∈ h, ¬ null ∈ h0 ⊦ (∀ r0. ¬(¬ r0 ∈ h ∧ r0 ≠ null)) ∧ ⟨r := null⟩ (h = h0 ∧ r = r1), ∃ r0. (¬ r0 ∈ h ∧ r0 ≠ null) ∧ ⟨r := {h := h +h r0; r0}⟩ (h = h0 ∧ r = r1)
| ⟨r := alloc#(; h)⟩ (h = h0 ∧ r = r1), ¬ null ∈ h, ¬ null ∈ h0 ⊦ (∀ r0. ¬(¬ r0 ∈ h ∧ r0 ≠ null)) ∧ ⟨r := null⟩ (h = h0 ∧ r = r1), ∃ r0. (¬ r0 ∈ h ∧ r0 ≠ null) ∧ ⟨r := {h := h +h r0; r0}⟩ (h = h0 ∧ r = r1) |
⟨r := alloc#(; h)⟩ (h = h0 ∧ r = r1), ¬ null ∈ h, ¬ null ∈ h0 ⊦ (r0 ∈ h ∨ r0 = null) ∧ ⟨r := null⟩ (h = h0 ∧ r = r1), ∃ r2. ¬ r2 ∈ h ∧ r2 ≠ null ∧ ⟨r := {h := h +h r2; r2}⟩ (h = h0 ∧ r = r1)
| ⟨r := alloc#(; h)⟩ (h = h0 ∧ r = r1), ¬ null ∈ h, ¬ null ∈ h0 ⊦ (r0 ∈ h ∨ r0 = null) ∧ ⟨r := null⟩ (h = h0 ∧ r = r1), ∃ r2. ¬ r2 ∈ h ∧ r2 ≠ null ∧ ⟨r := {h := h +h r2; r2}⟩ (h = h0 ∧ r = r1) |
⟨r := choose r0 with ¬ r0 ∈ h ∧ r0 ≠ null in {h := h +h r0; r0} ifnone null⟩ (h = h0 ∧ r = r1), ¬ null ∈ h, ¬ null ∈ h0 ⊦ (r0 ∈ h ∨ r0 = null) ∧ ⟨r := null⟩ (h = h0 ∧ r = r1), ∃ r2. ¬ r2 ∈ h ∧ r2 ≠ null ∧ ⟨r := {h := h +h r2; r2}⟩ (h = h0 ∧ r = r1)
Used simplifier rules: decl: alloc#(; h){choose r0 with ¬ r0 ∈ h ∧ r0 ≠ null in {h := h +h r0; r0} ifnone null};
| ⟨r := choose r0 with ¬ r0 ∈ h ∧ r0 ≠ null in {h := h +h r0; r0} ifnone null⟩ (h = h0 ∧ r = r1), ¬ null ∈ h, ¬ null ∈ h0 ⊦ (r0 ∈ h ∨ r0 = null) ∧ ⟨r := null⟩ (h = h0 ∧ r = r1), ∃ r2. ¬ r2 ∈ h ∧ r2 ≠ null ∧ ⟨r := {h := h +h r2; r2}⟩ (h = h0 ∧ r = r1) |
⟨r := {h := h +h r0; r0}⟩ (h = h0 ∧ r = r1), r0 ≠ null, ¬ null ∈ h, ¬ null ∈ h0, ¬ r0 ∈ h ⊦ (r3 ∈ h ∨ r3 = null) ∧ ⟨r := null⟩ (h = h0 ∧ r = r1), ∃ r2. ¬ r2 ∈ h ∧ r2 ≠ null ∧ ⟨r := {h := h +h r2; r2}⟩ (h = h0 ∧ r = r1)
⟨r := null⟩ (h = h0 ∧ r = r1), ¬ null ∈ h, ¬ null ∈ h0, ∀ r0. ¬(¬ r0 ∈ h ∧ r0 ≠ null) ⊦ (r0 ∈ h ∨ r0 = null) ∧ ⟨r := null⟩ (h = h0 ∧ r = r1), ∃ r2. ¬ r2 ∈ h ∧ r2 ≠ null ∧ ⟨r := {h := h +h r2; r2}⟩ (h = h0 ∧ r = r1)
| ⟨r := {h := h +h r0; r0}⟩ (h = h0 ∧ r = r1), r0 ≠ null, ¬ null ∈ h, ¬ null ∈ h0, ¬ r0 ∈ h ⊦ (r3 ∈ h ∨ r3 = null) ∧ ⟨r := null⟩ (h = h0 ∧ r = r1), ∃ r2. ¬ r2 ∈ h ∧ r2 ≠ null ∧ ⟨r := {h := h +h r2; r2}⟩ (h = h0 ∧ r = r1) |
⟨r := r0⟩ (h +h r0 = h0 ∧ r = r1), r0 ≠ null, ¬ null ∈ h, ¬ null ∈ h0, ¬ r0 ∈ h ⊦ (r3 ∈ h ∨ r3 = null) ∧ ⟨r := null⟩ (h = h0 ∧ r = r1), ∃ r2. ¬ r2 ∈ h ∧ r2 ≠ null ∧ ⟨r := {h := h +h r2; r2}⟩ (h = h0 ∧ r = r1)
| ⟨r := r0⟩ (h +h r0 = h0 ∧ r = r1), r0 ≠ null, ¬ null ∈ h, ¬ null ∈ h0, ¬ r0 ∈ h ⊦ (r3 ∈ h ∨ r3 = null) ∧ ⟨r := null⟩ (h = h0 ∧ r = r1), ∃ r2. ¬ r2 ∈ h ∧ r2 ≠ null ∧ ⟨r := {h := h +h r2; r2}⟩ (h = h0 ∧ r = r1) |
h +h r0 = h0, r0 = r1, r0 ≠ null, ¬ null ∈ h, ¬ null ∈ h0, ¬ r0 ∈ h ⊦ (r3 ∈ h ∨ r3 = null) ∧ ⟨r := null⟩ (h = h0 ∧ r = r1), ∃ r2. ¬ r2 ∈ h ∧ r2 ≠ null ∧ ⟨r := {h := h +h r2; r2}⟩ (h = h0 ∧ r = r1)
| h +h r0 = h0, r0 = r1, r0 ≠ null, ¬ null ∈ h, ¬ null ∈ h0, ¬ r0 ∈ h ⊦ (r3 ∈ h ∨ r3 = null) ∧ ⟨r := null⟩ (h = h0 ∧ r = r1), ∃ r2. ¬ r2 ∈ h ∧ r2 ≠ null ∧ ⟨r := {h := h +h r2; r2}⟩ (h = h0 ∧ r = r1) |
h +h r1 = h0, r1 ≠ null, ¬ null ∈ h, ¬ r1 ∈ h ⊦ (r3 ∈ h ∨ r3 = null) ∧ ⟨r := null⟩ (h = h0 ∧ r = r1), ∃ r2. ¬ r2 ∈ h ∧ r2 ≠ null ∧ ⟨r := {h := h +h r2; r2}⟩ (h = h0 ∧ r = r1)
Used simplifier rules: ¬ r ∈ h, r ≠ null ⊦ r0 ∈ h +h r ↔ r0 ∈ h ∨ r0 = r; (s)
| h +h r1 = h0, r1 ≠ null, ¬ null ∈ h, ¬ r1 ∈ h ⊦ (r3 ∈ h ∨ r3 = null) ∧ ⟨r := null⟩ (h = h0 ∧ r = r1), ∃ r2. ¬ r2 ∈ h ∧ r2 ≠ null ∧ ⟨r := {h := h +h r2; r2}⟩ (h = h0 ∧ r = r1) |
h +h r1 = h0, r1 ≠ null, ¬ null ∈ h, ¬ r1 ∈ h ⊦ ¬ r1 ∈ h ∧ r1 ≠ null ∧ ⟨r := {h := h +h r1; r1}⟩ (h = h0 ∧ r = r1), (r3 ∈ h ∨ r3 = null) ∧ ⟨r := null⟩ (h = h0 ∧ r = r1)
Used terms: r1
| h +h r1 = h0, r1 ≠ null, ¬ null ∈ h, ¬ r1 ∈ h ⊦ ¬ r1 ∈ h ∧ r1 ≠ null ∧ ⟨r := {h := h +h r1; r1}⟩ (h = h0 ∧ r = r1), (r3 ∈ h ∨ r3 = null) ∧ ⟨r := null⟩ (h = h0 ∧ r = r1) |
h +h r1 = h0, r1 ≠ null, ¬ null ∈ h, ¬ r1 ∈ h ⊦ (r3 ∈ h ∨ r3 = null) ∧ ⟨r := null⟩ (h = h0 ∧ r = r1), ⟨r := {h := h +h r1; r1}⟩ (h = h0 ∧ r = r1)
| h +h r1 = h0, r1 ≠ null, ¬ null ∈ h, ¬ r1 ∈ h ⊦ (r3 ∈ h ∨ r3 = null) ∧ ⟨r := null⟩ (h = h0 ∧ r = r1), ⟨r := {h := h +h r1; r1}⟩ (h = h0 ∧ r = r1) |
h +h r1 = h0, r1 ≠ null, ¬ null ∈ h, ¬ r1 ∈ h ⊦ ⟨r := r1⟩ (h +h r1 = h0 ∧ r = r1), (r3 ∈ h ∨ r3 = null) ∧ ⟨r := null⟩ (h = h0 ∧ r = r1)
| h +h r1 = h0, r1 ≠ null, ¬ null ∈ h, ¬ r1 ∈ h ⊦ ⟨r := r1⟩ (h +h r1 = h0 ∧ r = r1), (r3 ∈ h ∨ r3 = null) ∧ ⟨r := null⟩ (h = h0 ∧ r = r1) |
| ⟨r := null⟩ (h = h0 ∧ r = r1), ¬ null ∈ h, ¬ null ∈ h0, ∀ r0. ¬(¬ r0 ∈ h ∧ r0 ≠ null) ⊦ (r0 ∈ h ∨ r0 = null) ∧ ⟨r := null⟩ (h = h0 ∧ r = r1), ∃ r2. ¬ r2 ∈ h ∧ r2 ≠ null ∧ ⟨r := {h := h +h r2; r2}⟩ (h = h0 ∧ r = r1) |
h = h0, null = r1, ¬ null ∈ h, ¬ null ∈ h0, ∀ r0. ¬(¬ r0 ∈ h ∧ r0 ≠ null) ⊦ (r0 ∈ h ∨ r0 = null) ∧ ⟨r := null⟩ (h = h0 ∧ r = r1), ∃ r2. ¬ r2 ∈ h ∧ r2 ≠ null ∧ ⟨r := {h := h +h r2; r2}⟩ (h = h0 ∧ r = r1)
| h = h0, null = r1, ¬ null ∈ h, ¬ null ∈ h0, ∀ r0. ¬(¬ r0 ∈ h ∧ r0 ≠ null) ⊦ (r0 ∈ h ∨ r0 = null) ∧ ⟨r := null⟩ (h = h0 ∧ r = r1), ∃ r2. ¬ r2 ∈ h ∧ r2 ≠ null ∧ ⟨r := {h := h +h r2; r2}⟩ (h = h0 ∧ r = r1) |
h = h0, null = r1, ¬ null ∈ h0, ∀ r2. r2 ∈ h0 ∨ r2 = null ⊦ ∃ r2. ¬ r2 ∈ h0 ∧ r2 ≠ null ∧ ⟨r := {h := h +h r2; r2}⟩ (h = h0 ∧ r = r1), (r0 ∈ h0 ∨ r0 = null) ∧ ⟨r := null⟩ (r = r1)
| h = h0, null = r1, ¬ null ∈ h0, ∀ r2. r2 ∈ h0 ∨ r2 = null ⊦ ∃ r2. ¬ r2 ∈ h0 ∧ r2 ≠ null ∧ ⟨r := {h := h +h r2; r2}⟩ (h = h0 ∧ r = r1), (r0 ∈ h0 ∨ r0 = null) ∧ ⟨r := null⟩ (r = r1) |
h = h0, null = r1, r0 ≠ null, ¬ null ∈ h0, ¬ r0 ∈ h0, ∀ r2. r2 ∈ h0 ∨ r2 = null ⊦ ∃ r2. ¬ r2 ∈ h0 ∧ r2 ≠ null ∧ ⟨r := {h := h +h r2; r2}⟩ (h = h0 ∧ r = r1)
h = h0, null = r1, ¬ null ∈ h0, ∀ r2. r2 ∈ h0 ∨ r2 = null ⊦ ⟨r := null⟩ (r = r1), ∃ r2. ¬ r2 ∈ h0 ∧ r2 ≠ null ∧ ⟨r := {h := h +h r2; r2}⟩ (h = h0 ∧ r = r1)
| h = h0, null = r1, r0 ≠ null, ¬ null ∈ h0, ¬ r0 ∈ h0, ∀ r2. r2 ∈ h0 ∨ r2 = null ⊦ ∃ r2. ¬ r2 ∈ h0 ∧ r2 ≠ null ∧ ⟨r := {h := h +h r2; r2}⟩ (h = h0 ∧ r = r1) |
Used terms: r0
| h = h0, null = r1, ¬ null ∈ h0, ∀ r2. r2 ∈ h0 ∨ r2 = null ⊦ ⟨r := null⟩ (r = r1), ∃ r2. ¬ r2 ∈ h0 ∧ r2 ≠ null ∧ ⟨r := {h := h +h r2; r2}⟩ (h = h0 ∧ r = r1) |
| ⟨r := choose r0 with ¬ r0 ∈ h ∧ r0 ≠ null in {h := h +h r0; r0} ifnone null⟩ (h = h0 ∧ r = r0), ¬ null ∈ h, ¬ null ∈ h0 ⊦ ⟨r := alloc#(; h)⟩ (h = h0 ∧ r = r0) |
⟨r := {h := h +h r0; r0}⟩ (h = h0 ∧ r = r1), r0 ≠ null, ¬ null ∈ h, ¬ null ∈ h0, ¬ r0 ∈ h ⊦ ⟨r := alloc#(; h)⟩ (h = h0 ∧ r = r1)
⟨r := null⟩ (h = h0 ∧ r = r0), ¬ null ∈ h, ¬ null ∈ h0, ∀ r0. ¬(¬ r0 ∈ h ∧ r0 ≠ null) ⊦ ⟨r := alloc#(; h)⟩ (h = h0 ∧ r = r0)
| ⟨r := {h := h +h r0; r0}⟩ (h = h0 ∧ r = r1), r0 ≠ null, ¬ null ∈ h, ¬ null ∈ h0, ¬ r0 ∈ h ⊦ ⟨r := alloc#(; h)⟩ (h = h0 ∧ r = r1) |
⟨r := r0⟩ (h +h r0 = h0 ∧ r = r1), r0 ≠ null, ¬ null ∈ h, ¬ null ∈ h0, ¬ r0 ∈ h ⊦ ⟨r := alloc#(; h)⟩ (h = h0 ∧ r = r1)
| ⟨r := r0⟩ (h +h r0 = h0 ∧ r = r1), r0 ≠ null, ¬ null ∈ h, ¬ null ∈ h0, ¬ r0 ∈ h ⊦ ⟨r := alloc#(; h)⟩ (h = h0 ∧ r = r1) |
h +h r0 = h0, r0 = r1, r0 ≠ null, ¬ null ∈ h, ¬ null ∈ h0, ¬ r0 ∈ h ⊦ ⟨r := alloc#(; h)⟩ (h = h0 ∧ r = r1)
| h +h r0 = h0, r0 = r1, r0 ≠ null, ¬ null ∈ h, ¬ null ∈ h0, ¬ r0 ∈ h ⊦ ⟨r := alloc#(; h)⟩ (h = h0 ∧ r = r1) |
h +h r1 = h0, r1 ≠ null, ¬ null ∈ h, ¬ r1 ∈ h ⊦ ⟨r := alloc#(; h)⟩ (h = h0 ∧ r = r1)
Used simplifier rules: ¬ r ∈ h, r ≠ null ⊦ r0 ∈ h +h r ↔ r0 ∈ h ∨ r0 = r; (s)
| h +h r1 = h0, r1 ≠ null, ¬ null ∈ h, ¬ r1 ∈ h ⊦ ⟨r := alloc#(; h)⟩ (h = h0 ∧ r = r1) |
h +h r1 = h0, r1 ≠ null, ¬ null ∈ h, ¬ r1 ∈ h ⊦ ⟨r := choose r0 with ¬ r0 ∈ h ∧ r0 ≠ null in {h := h +h r0; r0} ifnone null⟩ (h = h0 ∧ r = r1)
Used simplifier rules: decl: alloc#(; h){choose r0 with ¬ r0 ∈ h ∧ r0 ≠ null in {h := h +h r0; r0} ifnone null};
| h +h r1 = h0, r1 ≠ null, ¬ null ∈ h, ¬ r1 ∈ h ⊦ ⟨r := choose r0 with ¬ r0 ∈ h ∧ r0 ≠ null in {h := h +h r0; r0} ifnone null⟩ (h = h0 ∧ r = r1) |
h +h r1 = h0, r1 ≠ null, ¬ null ∈ h, ¬ r1 ∈ h ⊦ (∀ r0. ¬(¬ r0 ∈ h ∧ r0 ≠ null)) ∧ ⟨r := null⟩ (h = h0 ∧ r = r1), ∃ r0. (¬ r0 ∈ h ∧ r0 ≠ null) ∧ ⟨r := {h := h +h r0; r0}⟩ (h = h0 ∧ r = r1)
| h +h r1 = h0, r1 ≠ null, ¬ null ∈ h, ¬ r1 ∈ h ⊦ (∀ r0. ¬(¬ r0 ∈ h ∧ r0 ≠ null)) ∧ ⟨r := null⟩ (h = h0 ∧ r = r1), ∃ r0. (¬ r0 ∈ h ∧ r0 ≠ null) ∧ ⟨r := {h := h +h r0; r0}⟩ (h = h0 ∧ r = r1) |
h +h r1 = h0, r1 ≠ null, ¬ null ∈ h, ¬ r1 ∈ h ⊦ (r0 ∈ h ∨ r0 = null) ∧ ⟨r := null⟩ (h = h0 ∧ r = r1), ∃ r2. ¬ r2 ∈ h ∧ r2 ≠ null ∧ ⟨r := {h := h +h r2; r2}⟩ (h = h0 ∧ r = r1)
| h +h r1 = h0, r1 ≠ null, ¬ null ∈ h, ¬ r1 ∈ h ⊦ (r0 ∈ h ∨ r0 = null) ∧ ⟨r := null⟩ (h = h0 ∧ r = r1), ∃ r2. ¬ r2 ∈ h ∧ r2 ≠ null ∧ ⟨r := {h := h +h r2; r2}⟩ (h = h0 ∧ r = r1) |
h +h r1 = h0, r1 ≠ null, ¬ null ∈ h, ¬ r1 ∈ h ⊦ ¬ r1 ∈ h ∧ r1 ≠ null ∧ ⟨r := {h := h +h r1; r1}⟩ (h = h0 ∧ r = r1), (r0 ∈ h ∨ r0 = null) ∧ ⟨r := null⟩ (h = h0 ∧ r = r1)
Used terms: r1
| h +h r1 = h0, r1 ≠ null, ¬ null ∈ h, ¬ r1 ∈ h ⊦ ¬ r1 ∈ h ∧ r1 ≠ null ∧ ⟨r := {h := h +h r1; r1}⟩ (h = h0 ∧ r = r1), (r0 ∈ h ∨ r0 = null) ∧ ⟨r := null⟩ (h = h0 ∧ r = r1) |
h +h r1 = h0, r1 ≠ null, ¬ null ∈ h, ¬ r1 ∈ h ⊦ (r0 ∈ h ∨ r0 = null) ∧ ⟨r := null⟩ (h = h0 ∧ r = r1), ⟨r := {h := h +h r1; r1}⟩ (h = h0 ∧ r = r1)
| h +h r1 = h0, r1 ≠ null, ¬ null ∈ h, ¬ r1 ∈ h ⊦ (r0 ∈ h ∨ r0 = null) ∧ ⟨r := null⟩ (h = h0 ∧ r = r1), ⟨r := {h := h +h r1; r1}⟩ (h = h0 ∧ r = r1) |
h +h r1 = h0, r1 ≠ null, ¬ null ∈ h, ¬ r1 ∈ h ⊦ ⟨r := r1⟩ (h +h r1 = h0 ∧ r = r1), (r0 ∈ h ∨ r0 = null) ∧ ⟨r := null⟩ (h = h0 ∧ r = r1)
| h +h r1 = h0, r1 ≠ null, ¬ null ∈ h, ¬ r1 ∈ h ⊦ ⟨r := r1⟩ (h +h r1 = h0 ∧ r = r1), (r0 ∈ h ∨ r0 = null) ∧ ⟨r := null⟩ (h = h0 ∧ r = r1) |
| ⟨r := null⟩ (h = h0 ∧ r = r0), ¬ null ∈ h, ¬ null ∈ h0, ∀ r0. ¬(¬ r0 ∈ h ∧ r0 ≠ null) ⊦ ⟨r := alloc#(; h)⟩ (h = h0 ∧ r = r0) |
h = h0, null = r0, ¬ null ∈ h, ¬ null ∈ h0, ∀ r0. ¬(¬ r0 ∈ h ∧ r0 ≠ null) ⊦ ⟨r := alloc#(; h)⟩ (h = h0 ∧ r = r0)
| h = h0, null = r0, ¬ null ∈ h, ¬ null ∈ h0, ∀ r0. ¬(¬ r0 ∈ h ∧ r0 ≠ null) ⊦ ⟨r := alloc#(; h)⟩ (h = h0 ∧ r = r0) |
h = h0, null = r0, ¬ null ∈ h0, ∀ r1. r1 ∈ h0 ∨ r1 = null ⊦ ⟨r := alloc#(; h)⟩ (h = h0 ∧ r = r0)
| h = h0, null = r0, ¬ null ∈ h0, ∀ r1. r1 ∈ h0 ∨ r1 = null ⊦ ⟨r := alloc#(; h)⟩ (h = h0 ∧ r = r0) |
h = h0, null = r0, ¬ null ∈ h0, ∀ r1. r1 ∈ h0 ∨ r1 = null ⊦ ⟨r := choose r0 with ¬ r0 ∈ h ∧ r0 ≠ null in {h := h +h r0; r0} ifnone null⟩ (h = h0 ∧ r = r0)
Used simplifier rules: decl: alloc#(; h){choose r0 with ¬ r0 ∈ h ∧ r0 ≠ null in {h := h +h r0; r0} ifnone null};
| h = h0, null = r0, ¬ null ∈ h0, ∀ r1. r1 ∈ h0 ∨ r1 = null ⊦ ⟨r := choose r0 with ¬ r0 ∈ h ∧ r0 ≠ null in {h := h +h r0; r0} ifnone null⟩ (h = h0 ∧ r = r0) |
h = h0, null = r2, ¬ null ∈ h0, ∀ r1. r1 ∈ h0 ∨ r1 = null ⊦ (∀ r0. ¬(¬ r0 ∈ h ∧ r0 ≠ null)) ∧ ⟨r := null⟩ (h = h0 ∧ r = r2), ∃ r0. (¬ r0 ∈ h ∧ r0 ≠ null) ∧ ⟨r := {h := h +h r0; r0}⟩ (h = h0 ∧ r = r2)
| h = h0, null = r2, ¬ null ∈ h0, ∀ r1. r1 ∈ h0 ∨ r1 = null ⊦ (∀ r0. ¬(¬ r0 ∈ h ∧ r0 ≠ null)) ∧ ⟨r := null⟩ (h = h0 ∧ r = r2), ∃ r0. (¬ r0 ∈ h ∧ r0 ≠ null) ∧ ⟨r := {h := h +h r0; r0}⟩ (h = h0 ∧ r = r2) |
h = h0, null = r2, ¬ null ∈ h0, ∀ r1. r1 ∈ h0 ∨ r1 = null ⊦ (r0 ∈ h0 ∨ r0 = null) ∧ ⟨r := null⟩ (r = r2), ∃ r1. ¬ r1 ∈ h0 ∧ r1 ≠ null ∧ ⟨r := {h := h +h r1; r1}⟩ (h = h0 ∧ r = r2)
| h = h0, null = r2, ¬ null ∈ h0, ∀ r1. r1 ∈ h0 ∨ r1 = null ⊦ (r0 ∈ h0 ∨ r0 = null) ∧ ⟨r := null⟩ (r = r2), ∃ r1. ¬ r1 ∈ h0 ∧ r1 ≠ null ∧ ⟨r := {h := h +h r1; r1}⟩ (h = h0 ∧ r = r2) |
h = h0, null = r2, r0 ≠ null, ¬ null ∈ h0, ¬ r0 ∈ h0, ∀ r1. r1 ∈ h0 ∨ r1 = null ⊦ ∃ r1. ¬ r1 ∈ h0 ∧ r1 ≠ null ∧ ⟨r := {h := h +h r1; r1}⟩ (h = h0 ∧ r = r2)
h = h0, null = r2, ¬ null ∈ h0, ∀ r1. r1 ∈ h0 ∨ r1 = null ⊦ ⟨r := null⟩ (r = r2), ∃ r1. ¬ r1 ∈ h0 ∧ r1 ≠ null ∧ ⟨r := {h := h +h r1; r1}⟩ (h = h0 ∧ r = r2)
| h = h0, null = r2, r0 ≠ null, ¬ null ∈ h0, ¬ r0 ∈ h0, ∀ r1. r1 ∈ h0 ∨ r1 = null ⊦ ∃ r1. ¬ r1 ∈ h0 ∧ r1 ≠ null ∧ ⟨r := {h := h +h r1; r1}⟩ (h = h0 ∧ r = r2) |
Used terms: r0
| h = h0, null = r2, ¬ null ∈ h0, ∀ r1. r1 ∈ h0 ∨ r1 = null ⊦ ⟨r := null⟩ (r = r2), ∃ r1. ¬ r1 ∈ h0 ∧ r1 ≠ null ∧ ⟨r := {h := h +h r1; r1}⟩ (h = h0 ∧ r = r2) |
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.