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