| 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 = ∅) ⊦ rk0 ∈ st1 ↔ rk0 = rk ∨ rk0 ∈ st0 ∨ rk0 ∈ st, ∃ st. st1 = (st ∪ st0)[rk, st1[rk]] ∧ st .keys ∩ (st0 .keys ++ rk) = ∅ |
⊦ st1 = st2 ↔ (∀ rk. (rk ∈ st1 ↔ rk ∈ st2) ∧ st1[rk] = st2[rk])
st0 .keys ∩ st .keys = ∅, ∀ rk0. (rk0 ∈ st1[rk, st0[rk]] ↔ rk0 ∈ st ∪ st0) ∧ (st1[rk, st0[rk]][rk0]) = (st ∪ st0)[rk0], 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 = ∅) ⊦ rk0 ∈ st1 ↔ rk0 = rk ∨ rk0 ∈ st0 ∨ rk0 ∈ st, ∃ st. st1 = (st ∪ st0)[rk, st1[rk]] ∧ st .keys ∩ (st0 .keys ++ rk) = ∅
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (st ∪ st0, st1[rk, st0[rk]])]]