| ¬ ( ¬ path∃(str, (r ' + refs0) .first, r0, st) ∧ ¬ junkrefs(str, r ' + refs0, ty, st) ∧ sk ≠ _type ∧ r ' + refs0 ≠ [] ∧ (r ' + refs0) .first = (r ' + refs0) .first), junkrefs(str, r ' + refs0, ty, st[r0 -- sk, val]) ⊦ junkrefs(str, r ' + refs0, ty, st), sk = _type, path∃+(str, r, r0, st) |
junkrefs(str, r ' + refs0, ty, st[r0 -- sk, val]), path∃(str, r, r0, st) ⊦ sk = _type, junkrefs(str, r ' + refs0, ty, st), path∃+(str, r, r0, st)
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ r ' ≠ []], [CSIMPSEQ : ⊦ ¬ refs + refs0 ≠ [] ↔ refs = [] ∧ refs0 = []], [CSIMPSEQ : ⊦ (r ' + refs) .first = r], [CSIMPSEQ : ⊦ (refs + refs0) + refs1 = refs + refs0 + refs1])]]