| refs .first = jvmref, validrefs(str, refs, st[jvmref -- _type] .type, st), dups(refs) ⊦ |
⊦ validrefs(str, [], ty, st)
⊦ validrefs(str, jvmref ' + refs, ty, st) ↔ refs = []
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ r + refs = r ' + refs], [CSIMPSEQ : ⊦ r ' + refs ≠ []], [CSIMPSEQ : ⊦ (refs + refs0) + refs1 = refs + refs0 + refs1], [CSIMPSEQ : ⊦ dups(r ' + refs) ↔ ¬ ¬ (r ∈ refs ∨ dups(refs))], [CSIMPSEQ : ⊦ ¬ r ∈ []], [CSIMPSEQ : ⊦ ¬ dups([])], [CSIMPELIM : refs ≠ [] ⊦ r = refs .first ∧ refs0 = refs .rest ↔ refs = r + refs0])], [EXTRATERMS : (refs, r, refs0)]]