| ⊦ tys = [], (∃ ty. is_arraytype(ty) ∧ ty .type = short_type ∧ type∃(str, ty) ∧ tys .first ≤ ty .type ∧ contains(str, tys)) ↔ tys = short_type ' |
tys = ty0 + tys0 ⊦ tys = [], (∃ ty. is_arraytype(ty) ∧ ty .type = short_type ∧ type∃(str, ty) ∧ ty0 ≤ ty .type ∧ contains(str, tys)) ↔ tys = short_type '
[[CONCRETESIMPRULES : ([CSIMPELIM : tys ≠ [] ⊦ ty = tys .first ∧ tys0 = tys .rest ↔ tys = ty + tys0])], [EXTRATERMS : (tys, ty0, tys0)]]