| f(r) = (mk(rs0, f0, g0) ∪ mk(rs1, f1, g1))[r]o, g(r) = (mk(rs0, f0, g0) ∪ mk(rs1, f1, g1))[r]a, rs0 ∩ rs1 = ∅, P0(mk(rs0, f0)), P1(mk(rs1, f1)), r ∈ rs, mk(rs0, f0, g0) ⊥ mk(rs1, f1, g1), r ∈ rs0 → g0(r) = a, r ∈ rs1 → g1(r) = a, ∀ r0. (r0 ∈ rs ↔ r0 ∈ mk(rs0, f0, g0) ∪ mk(rs1, f1, g1)) ∧ (r0 ∈ rs → f(r0) = (mk(rs0, f0, g0) ∪ mk(rs1, f1, g1))[r0]o ∧ g(r0) = (mk(rs0, f0, g0) ∪ mk(rs1, f1, g1))[r0]a), ∀ r. r ∈ rs1 → g1(r) = a, ∀ r. r ∈ rs0 → g0(r) = a, r ∈ mk(rs0, f0, g0) ∨ r ∈ mk(rs1, f1, g1) ⊦ # rs = 0, g(r) = a, rs = ∅ |
f(r) = (r ∈ rs0 ⊃ f0(r);mk(rs1, f1, g1)[r]o), g(r) = (r ∈ rs0 ⊃ g0(r);mk(rs1, f1, g1)[r]a), rs0 ∩ rs1 = ∅, P0(mk(rs0, f0)), P1(mk(rs1, f1)), r ∈ rs, r ∈ rs1 → g1(r) = a, r ∈ rs0 → g0(r) = a, ∀ r. r ∈ rs0 → g0(r) = a, ∀ r. r ∈ rs1 → g1(r) = a, ∀ r0. (r0 ∈ rs ↔ r0 ∈ mk(rs0, f0, g0) ∪ mk(rs1, f1, g1)) ∧ (r0 ∈ rs → f(r0) = (mk(rs0, f0, g0) ∪ mk(rs1, f1, g1))[r0]o ∧ g(r0) = (mk(rs0, f0, g0) ∪ mk(rs1, f1, g1))[r0]a), r ∈ rs0 ∨ r ∈ rs1 ⊦ # rs = 0, g(r) = a, rs = ∅
Used simplifier rules: ⊦ mk(rs0, f, g) ⊥ mk(rs1, f0, g0) ↔ rs0 ∩ rs1 = ∅; (s)% ⊦ r ∈ rs → mk(rs, f, g)[r]o = f(r); (s)%r ∈ Ha0 ∪ Ha1 ⊦ Ha0 ⊥ Ha1 → (Ha0 ∪ Ha1)[r]o = (r ∈ Ha0 ⊃ Ha0[r]o;Ha1[r]o); (s)% ⊦ r ∈ rs → mk(rs, f, g)[r]a = g(r); (s)% ⊦ r ∈ mk(rs, f, g) ↔ r ∈ rs; (s)%r ∈ Ha0 ∪ Ha1 ⊦ Ha0 ⊥ Ha1 → (Ha0 ∪ Ha1)[r]a = (r ∈ Ha0 ⊃ Ha0[r]a;Ha1[r]a); (s)% ⊦ Ha0 ⊥ Ha1 → (r ∈ Ha0 ∪ Ha1 ↔ r ∈ Ha0 ∨ r ∈ Ha1); (s)