| disjoint(str, refs, st), st ⊆ st1, path∃(str, r0, r, st1), path∃(str, r1, r, st1), r0 ∈ refs, r1 ∈ refs, ∀ r. r ∈ refs → ¬ junkref(str, r, st) ⊦ r1 = r0, r = jvmref |
⊦ disjoint(str, refs, st) ↔ ¬ (∃ r, r0, r1. r ∈ refs ∧ r0 ∈ refs ∧ r ≠ r0 ∧ r1 ≠ jvmref ∧ path∃(str, r, r1, st) ∧ path∃(str, r0, r1, st))
∀ r, r0, r1. ¬ (r ∈ refs ∧ r0 ∈ refs ∧ r ≠ r0 ∧ r1 ≠ jvmref ∧ path∃(str, r, r1, st) ∧ path∃(str, r0, r1, st)), st ⊆ st1, path∃(str, r0, r, st1), path∃(str, r1, r, st1), r0 ∈ refs, r1 ∈ refs, ∀ r. r ∈ refs → ¬ junkref(str, r, st) ⊦ r1 = r0, r = jvmref
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (st, refs, str)]]