| ∀ str, r, ty, st. validref(str, r, ty, st) ∧ validvals(str, rkvs0, st) → validref(str, r, ty, st[rkvs0]), validref(str, r, ty, st), validvals(str, rkv + rkvs0, st) ⊦ validref(str, r, ty, st[rkv + rkvs0]) |
⊦ validvals(str, rkvs + rkvs0, st) ↔ validvals(str, rkvs, st) ∧ validvals(str, rkvs0, st)
⊦ validvals(str, rkv ', st) ↔ validval(str, rkv .1, rkv .2, st)
validref(str, r, ty, st), validval(str, rkv .1, rkv .2, st), validvals(str, rkvs0, st), ∀ str, r, ty, st. validref(str, r, ty, st) ∧ validvals(str, rkvs0, st) → validref(str, r, ty, st[rkvs0]) ⊦ validref(str, r, ty, st[rkv ' + rkvs0])
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ (rkvs + rkvs0) + rkvs1 = rkvs + rkvs0 + rkvs1], [CSIMPSEQ : ⊦ rkv + rkvs = rkv ' + rkvs])]]