| validrefs(str, refs, mkclasstype(`java.lang.Object' .class), st) ⊦ refs .first = jvmref, refs = [], is_valid_ref(str, refs .first, st) |
⊦ ¬ is_valid_ref(str, r, st) → (validrefs(str, r ' + refs, ty, st) ↔ r = jvmref ∧ refs = [])
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ r + refs = r ' + refs], [CSIMPSEQ : ⊦ r ' + refs ≠ []], [CSIMPSEQ : ⊦ (refs + refs0) + refs1 = refs + refs0 + refs1], [CSIMPELIM : refs ≠ [] ⊦ r = refs .first ∧ refs0 = refs .rest ↔ refs = r + refs0])], [EXTRATERMS : (refs, r, refs0)]]