| fs ' = _length, validrefs(str, r ' + refs + r0 ', st[r -- _type] .type, st), is_arraytype(st[r0 -- _type] .type), contains(str, st[r -- _type] .type, st[r0 -- _type] .type), is_valid_ref(str, r, st) ⊦ r = r0, r0 = jvmref, r = jvmref, contains(str, st[r -- _type] .type, fs) |
⊦ contains(str, ty, ty0) ↔ (∃ tys. contains(str, ty ' + (tys + ty0)))
fs ' = _length, validrefs(str, r ' + refs + r0 ', st[r -- _type] .type, st), is_arraytype(st[r0 -- _type] .type), ∃ tys. contains(str, st[r -- _type] .type ' + (tys + st[r0 -- _type] .type)), is_valid_ref(str, r, st) ⊦ r = r0, r0 = jvmref, r = jvmref, contains(str, st[r -- _type] .type, fs)
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (st[r0 -- _type] .type, st[r -- _type] .type, str)]]