Proof using.
induction l; intros; simpl in *.
- auto.
- repeat break_match; subst; unfold acknowledged_op in *;
(exfalso + idtac); solve [intuition eauto].
Qed.

Lemma before_head_op :
forall l h ir,
(forall k1 k2,
In (I k2) l ->
before (O k1) (I k2) l ->
before (IRO k1) (IRI k2) (IRI h :: ir)) ->
forall x,
In (I h) l ->
before x (I h) l ->
exists k,
x = I k.