Proof using.
unfold zero_or_one_outputs_per_step_trace, zero_or_one_outputs_per_step.
simpl.
intuition; subst; simpl in *; try discriminate; eauto.
Qed.

Lemma ZOOOPST_app :
forall A B C xs ys,
@zero_or_one_outputs_per_step_trace A B C xs ->
zero_or_one_outputs_per_step_trace ys ->
zero_or_one_outputs_per_step_trace (xs ++ ys).