| st0 .keys ∩ st .keys = ∅, rk ∈ st .keys, st0 ⊆ st1[rk, st0[rk]], rk ∈ st1, st0 -- rk ⊆ st1 -- rk, ∀ st1. st0 ⊆ st1 → (∃ st2. st1 = st2 ∪ st0 ∧ st0 .keys ∩ st2 .keys = ∅), (rk0 ∈ st1 ↔ rk0 ∈ st ∪ st0) ∧ ((rk0 = rk ⊃ st0[rk]; st1[rk0])) = (st ∪ st0)[rk0], ∀ rk1. (rk1 ∈ st1 ↔ rk1 ∈ st ∪ st0) ∧ ((rk1 = rk ⊃ st0[rk]; st1[rk1])) = (st ∪ st0)[rk1] ⊦ rk0 = rk, st1[rk0] = ((st -- rk) ∪ st0)[rk0], ∃ st. st1 = (st ∪ st0)[rk, st1[rk]] ∧ st .keys ∩ (st0 .keys ++ rk) = ∅ |
⊦ ∅[rk] = noval
⊦ rk ∈ st ∪ st0 ↔ rk ∈ st ∨ rk ∈ st0
⊦ ¬ rk ∈ st0 → (st ∪ st0)[rk] = st[rk]
st0 .keys ∩ st .keys = ∅, st1[rk0] = (st ∪ st0)[rk0], rk ∈ st .keys, st0 ⊆ st1[rk, st0[rk]], rk ∈ st1, st0 -- rk ⊆ st1 -- rk, rk0 ∈ st1, rk0 ∈ st ∪ st0, ∀ st1. st0 ⊆ st1 → (∃ st2. st1 = st2 ∪ st0 ∧ st0 .keys ∩ st2 .keys = ∅), ∀ rk1. (rk1 ∈ st1 ↔ rk1 ∈ st ∪ st0) ∧ ((rk1 = rk ⊃ st0[rk]; st1[rk1])) = (st ∪ st0)[rk1] ⊦ rk0 = rk, st1[rk0] = ((st -- rk) ∪ st0)[rk0], ∃ st. st1 = (st ∪ st0)[rk, st1[rk]] ∧ st .keys ∩ (st0 .keys ++ rk) = ∅
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ rk ≠ rk0 → (st -- rk0)[rk] = st[rk]], [CSIMPSEQ : ⊦ rks ∩ rks0 = rks0 ∩ rks], [CSIMPSEQ : ⊦ (rks ∩ rks0) ∩ rks1 = rks ∩ rks0 ∩ rks1], [CSIMPSEQ : ⊦ ¬ rk ∈ st → st[rk] = ∅[rk]])]]