Proof using.
intros.
find_apply_lem_hyp refl_trans_1n_n1_trace.
prep_induction H.
induction H; intros.
- auto using NOABT_nil.
- subst. repeat concludes.
apply NOABT_app; auto.
invc H1; simpl in *.
+ find_apply_lem_hyp PB_net_defn'.
intuition; subst; repeat find_rewrite;
auto using NOABT_singleton_inr_nil, NOABT_singleton_primary.
+ rewrite cons_cons_app. apply NOABT_app.
* auto using NOABT_singleton_inl.
* find_apply_lem_hyp PB_input_handler_defn.
intuition; break_exists; intuition; subst;
auto using NOABT_singleton_inr_nil, NOABT_singleton_inr_read_response.
Qed.
Definition zero_or_one_outputs_per_step {A B C} t :=
forall y, @snd A _  t = @inr B _ y -> y = [] \/ exists z : C, y = [z].
Definition zero_or_one_outputs_per_step_trace {A B C} tr :=
forall x, In x tr -> @zero_or_one_outputs_per_step A B C x.

(* Specifications: *)
Lemma ZOOOPST_nil :
forall A B C,
@zero_or_one_outputs_per_step_trace A B C [].