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