Set Implicit Arguments.
Require qs_definitions.
Require qs_parts.
Require U.
Section contents.
Variables (ee: E) (ol: list ee).

(* Specifications: *)
Lemma NeTree_In_Node_inv (A: Set) (r: A) (l: ne_list.L (ne_tree.T A)):
ne_tree.In r (ne_tree.Node l) -> ne_tree.InL r l.
Lemma pair_eq_inv (X Y: Set) (x x': X) (y y': Y): (x, y) = (x', y') -> x' = x /\ y' = y.
Let qs := @U.qs ee ol.
Theorem qs_sound_cmps_2: forall l,
forall r, ne_tree.In r (qs l) ->
forall i j, In (i, j) (fst r) -> IndexIn i l /\ IndexIn j l.