| ⊦ r ≠ null ∧ ¬ r ∈ rs → (hR[rs, f, g] ↔ (a[r =>_] * hR)[rs ++ r, f, g(r; a)]) |
¬(hR[rs, f, g] ↔ (a[r =>_] * hR)[rs ++ r, f, g(r; a)]), r ≠ null, ¬ r ∈ rs ⊦
| ¬(hR[rs, f, g] ↔ (a[r =>_] * hR)[rs ++ r, f, g(r; a)]), r ≠ null, ¬ r ∈ rs ⊦ |
¬(hR[rs, f, g] ↔ (a[r =>_] * hR)[rs ++ r, f, g(r; a)]), r ≠ null, ¬ r ∈ rs ⊦
| ¬(hR[rs, f, g] ↔ (a[r =>_] * hR)[rs ++ r, f, g(r; a)]), r ≠ null, ¬ r ∈ rs ⊦ |
¬ r ∈ rs, r ≠ null ⊦ hR[rs, f, g] ↔ (r ==>_ * hR)[rs ++ r, f, g]
¬((r ==>_ * hR)[rs ++ r, f, g] ↔ (a[r =>_] * hR)[rs ++ r, f, g(r; a)]), r ≠ null, ¬ r ∈ rs ⊦
Used terms: hR, r, rs, g, f
| ¬ r ∈ rs, r ≠ null ⊦ hR[rs, f, g] ↔ (r ==>_ * hR)[rs ++ r, f, g] |
| ¬((r ==>_ * hR)[rs ++ r, f, g] ↔ (a[r =>_] * hR)[rs ++ r, f, g(r; a)]), r ≠ null, ¬ r ∈ rs ⊦ |
¬((r ==>_ * hR)[rs ++ r, f, g] ↔ (a[r =>_] * hR)[rs ++ r, f, g(r; a)]), r ≠ null, ¬ r ∈ rs ⊦
| ¬((r ==>_ * hR)[rs ++ r, f, g] ↔ (a[r =>_] * hR)[rs ++ r, f, g(r; a)]), r ≠ null, ¬ r ∈ rs ⊦ |
⊦ (r ==>_ * hR)[rs, f, g] ↔ (∃ a. (a[r =>_] * hR)[rs, f, g])
r ≠ null, ¬ r ∈ rs ⊦ (∃ a. (a[r =>_] * hR)[rs ++ r, f, g]) ↔ (a[r =>_] * hR)[rs ++ r, f, g(r; a)]
Used terms: hR, r, rs ++ r, g, f
| ⊦ (r ==>_ * hR)[rs, f, g] ↔ (∃ a. (a[r =>_] * hR)[rs, f, g]) |
| r ≠ null, ¬ r ∈ rs ⊦ (∃ a. (a[r =>_] * hR)[rs ++ r, f, g]) ↔ (a[r =>_] * hR)[rs ++ r, f, g(r; a)] |
r ≠ null, ¬ (a[r =>_] * hR)[rs ++ r, f, g(r; a)], ¬ r ∈ rs, ∃ a. (a[r =>_] * hR)[rs ++ r, f, g] ⊦
r ≠ null, (a[r =>_] * hR)[rs ++ r, f, g(r; a)], ¬ r ∈ rs ⊦ ∃ a. (a[r =>_] * hR)[rs ++ r, f, g]
| r ≠ null, ¬ (a[r =>_] * hR)[rs ++ r, f, g(r; a)], ¬ r ∈ rs, ∃ a. (a[r =>_] * hR)[rs ++ r, f, g] ⊦ |
r ≠ null, (a0[r =>_] * hR)[rs ++ r, f, g], ¬ (a[r =>_] * hR)[rs ++ r, f, g(r; a)], ¬ r ∈ rs ⊦
| r ≠ null, (a0[r =>_] * hR)[rs ++ r, f, g], ¬ (a[r =>_] * hR)[rs ++ r, f, g(r; a)], ¬ r ∈ rs ⊦ |
⊦ (a0[r =>_] * hR)[rs, f, g] ↔ (a1[r =>_] * hR)[rs, f, g(r; a1)] ∧ g(r) = a0
Used terms: hR, a0, r, rs ++ r, a, g, f
| ⊦ (a0[r =>_] * hR)[rs, f, g] ↔ (a1[r =>_] * hR)[rs, f, g(r; a1)] ∧ g(r) = a0 |
| r ≠ null, (a[r =>_] * hR)[rs ++ r, f, g(r; a)], ¬ r ∈ rs ⊦ ∃ a. (a[r =>_] * hR)[rs ++ r, f, g] |
r ≠ null, (a[r =>_] * hR)[rs ++ r, f, g(r; a)], ¬ (g(r)[r =>_] * hR)[rs ++ r, f, g], ¬ r ∈ rs ⊦
Used terms: g(r)
| r ≠ null, (a[r =>_] * hR)[rs ++ r, f, g(r; a)], ¬ (g(r)[r =>_] * hR)[rs ++ r, f, g], ¬ r ∈ rs ⊦ |
⊦ (a0[r =>_] * hR)[rs, f, g] ↔ (a1[r =>_] * hR)[rs, f, g(r; a1)] ∧ g(r) = a0
Used terms: hR, g(r), r, rs ++ r, a, g, f
| ⊦ (a0[r =>_] * hR)[rs, f, g] ↔ (a1[r =>_] * hR)[rs, f, g(r; a1)] ∧ g(r) = a0 |
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.