| ⊦ rely(a, rs, f, g, rs0, f0, g0) → (owns-none(a, rs, g) ↔ owns-none(a, rs0, g0)) |
¬(owns-none(a, rs, g) ↔ owns-none(a, rs0, g0)), rely(a, rs, f, g, rs0, f0, g0) ⊦
| ¬(owns-none(a, rs, g) ↔ owns-none(a, rs0, g0)), rely(a, rs, f, g, rs0, f0, g0) ⊦ |
∀ r. (g(r) = a ∧ r ∈ rs ↔ g0(r) = a ∧ r ∈ rs0) ∧ (g(r) = a ∧ r ∈ rs → f(r) = f0(r)) ⊦ (∀ r. r ∈ rs → g(r) ≠ a) ↔ (∀ r. r ∈ rs0 → g0(r) ≠ a)
Used simplifier rules: owns-none: ⊦ owns-none(a, rs, g) ↔ (∀ r. r ∈ rs → g(r) ≠ a); rely: ⊦ rely(a, rs0, f0, g0, rs1, f1, g1) ↔ (∀ r. (g0(r) = a ∧ r ∈ rs0 ↔ g1(r) = a ∧ r ∈ rs1) ∧ (g0(r) = a ∧ r ∈ rs0 → f0(r) = f1(r)));
| ∀ r. (g(r) = a ∧ r ∈ rs ↔ g0(r) = a ∧ r ∈ rs0) ∧ (g(r) = a ∧ r ∈ rs → f(r) = f0(r)) ⊦ (∀ r. r ∈ rs → g(r) ≠ a) ↔ (∀ r. r ∈ rs0 → g0(r) ≠ a) |
∀ r. (g(r) = a ∧ r ∈ rs ↔ g0(r) = a ∧ r ∈ rs0) ∧ (g(r) = a ∧ r ∈ rs → f(r) = f0(r)), ∀ r. r ∈ rs → g(r) ≠ a ⊦ ∀ r. r ∈ rs0 → g0(r) ≠ a
∀ r. (g(r) = a ∧ r ∈ rs ↔ g0(r) = a ∧ r ∈ rs0) ∧ (g(r) = a ∧ r ∈ rs → f(r) = f0(r)), ∀ r. r ∈ rs0 → g0(r) ≠ a ⊦ ∀ r. r ∈ rs → g(r) ≠ a
| ∀ r. (g(r) = a ∧ r ∈ rs ↔ g0(r) = a ∧ r ∈ rs0) ∧ (g(r) = a ∧ r ∈ rs → f(r) = f0(r)), ∀ r. r ∈ rs → g(r) ≠ a ⊦ ∀ r. r ∈ rs0 → g0(r) ≠ a |
r ∈ rs0, ∀ r0. r0 ∈ rs → g(r0) ≠ g0(r), ∀ r0. (g(r0) = g0(r) ∧ r0 ∈ rs ↔ g0(r0) = g0(r) ∧ r0 ∈ rs0) ∧ (g(r0) = g0(r) ∧ r0 ∈ rs → f(r0) = f0(r0)) ⊦
| r ∈ rs0, ∀ r0. r0 ∈ rs → g(r0) ≠ g0(r), ∀ r0. (g(r0) = g0(r) ∧ r0 ∈ rs ↔ g0(r0) = g0(r) ∧ r0 ∈ rs0) ∧ (g(r0) = g0(r) ∧ r0 ∈ rs → f(r0) = f0(r0)) ⊦ |
g(r) = g0(r) ∧ r ∈ rs ↔ g0(r) = g0(r) ∧ r ∈ rs0, r ∈ rs0, g(r) = g0(r) ∧ r ∈ rs → f(r) = f0(r), ∀ r0. (g(r0) = g0(r) ∧ r0 ∈ rs ↔ g0(r0) = g0(r) ∧ r0 ∈ rs0) ∧ (g(r0) = g0(r) ∧ r0 ∈ rs → f(r0) = f0(r0)), ∀ r0. r0 ∈ rs → g(r0) ≠ g0(r) ⊦
Used terms: r
| g(r) = g0(r) ∧ r ∈ rs ↔ g0(r) = g0(r) ∧ r ∈ rs0, r ∈ rs0, g(r) = g0(r) ∧ r ∈ rs → f(r) = f0(r), ∀ r0. (g(r0) = g0(r) ∧ r0 ∈ rs ↔ g0(r0) = g0(r) ∧ r0 ∈ rs0) ∧ (g(r0) = g0(r) ∧ r0 ∈ rs → f(r0) = f0(r0)), ∀ r0. r0 ∈ rs → g(r0) ≠ g0(r) ⊦ |
f(r) = f0(r), g(r) = g0(r), r ∈ rs0, r ∈ rs, ∀ r0. r0 ∈ rs → g(r0) ≠ g0(r), ∀ r0. (g(r0) = g0(r) ∧ r0 ∈ rs ↔ g0(r0) = g0(r) ∧ r0 ∈ rs0) ∧ (g(r0) = g0(r) ∧ r0 ∈ rs → f(r0) = f0(r0)) ⊦
| f(r) = f0(r), g(r) = g0(r), r ∈ rs0, r ∈ rs, ∀ r0. r0 ∈ rs → g(r0) ≠ g0(r), ∀ r0. (g(r0) = g0(r) ∧ r0 ∈ rs ↔ g0(r0) = g0(r) ∧ r0 ∈ rs0) ∧ (g(r0) = g0(r) ∧ r0 ∈ rs → f(r0) = f0(r0)) ⊦ |
Used terms: r
| ∀ r. (g(r) = a ∧ r ∈ rs ↔ g0(r) = a ∧ r ∈ rs0) ∧ (g(r) = a ∧ r ∈ rs → f(r) = f0(r)), ∀ r. r ∈ rs0 → g0(r) ≠ a ⊦ ∀ r. r ∈ rs → g(r) ≠ a |
r ∈ rs, ∀ r0. r0 ∈ rs0 → g0(r0) ≠ g(r), ∀ r0. (g(r0) = g(r) ∧ r0 ∈ rs ↔ g0(r0) = g(r) ∧ r0 ∈ rs0) ∧ (g(r0) = g(r) ∧ r0 ∈ rs → f(r0) = f0(r0)) ⊦
| r ∈ rs, ∀ r0. r0 ∈ rs0 → g0(r0) ≠ g(r), ∀ r0. (g(r0) = g(r) ∧ r0 ∈ rs ↔ g0(r0) = g(r) ∧ r0 ∈ rs0) ∧ (g(r0) = g(r) ∧ r0 ∈ rs → f(r0) = f0(r0)) ⊦ |
g(r) = g(r) ∧ r ∈ rs ↔ g0(r) = g(r) ∧ r ∈ rs0, r ∈ rs, g(r) = g(r) ∧ r ∈ rs → f(r) = f0(r), ∀ r0. (g(r0) = g(r) ∧ r0 ∈ rs ↔ g0(r0) = g(r) ∧ r0 ∈ rs0) ∧ (g(r0) = g(r) ∧ r0 ∈ rs → f(r0) = f0(r0)), ∀ r0. r0 ∈ rs0 → g0(r0) ≠ g(r) ⊦
Used terms: r
| g(r) = g(r) ∧ r ∈ rs ↔ g0(r) = g(r) ∧ r ∈ rs0, r ∈ rs, g(r) = g(r) ∧ r ∈ rs → f(r) = f0(r), ∀ r0. (g(r0) = g(r) ∧ r0 ∈ rs ↔ g0(r0) = g(r) ∧ r0 ∈ rs0) ∧ (g(r0) = g(r) ∧ r0 ∈ rs → f(r0) = f0(r0)), ∀ r0. r0 ∈ rs0 → g0(r0) ≠ g(r) ⊦ |
f(r) = f0(r), g0(r) = g(r), r ∈ rs, r ∈ rs0, ∀ r0. r0 ∈ rs0 → g0(r0) ≠ g(r), ∀ r0. (g(r0) = g(r) ∧ r0 ∈ rs ↔ g0(r0) = g(r) ∧ r0 ∈ rs0) ∧ (g(r0) = g(r) ∧ r0 ∈ rs → f(r0) = f0(r0)) ⊦
| f(r) = f0(r), g0(r) = g(r), r ∈ rs, r ∈ rs0, ∀ r0. r0 ∈ rs0 → g0(r0) ≠ g(r), ∀ r0. (g(r0) = g(r) ∧ r0 ∈ rs ↔ g0(r0) = g(r) ∧ r0 ∈ rs0) ∧ (g(r0) = g(r) ∧ r0 ∈ rs → f(r0) = f0(r0)) ⊦ |
Used terms: r
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.