Section inner.
Variable client : clientId.
Variable id : nat.
Variable client' : clientId.
Variable id' : nat.

Lemma output_before_input_not_key_in_input_trace :
forall tr tr' s s',
~ output_before_input client id client' id' tr ->
step_failure s s' tr' ->
output_before_input client id client' id' (tr ++ tr') ->
~ exists i, in_input_trace client' id' i (tr ++ tr').