Proof using.
unfold correspond.
break_let.
simpl in *. tuple_inversion. auto.
Qed.

(* Specifications: *)
Lemma inputs_1_invert_app :
forall tr tr' x,
inputs_1 tr = tr' ++ [x] ->
exists y z,
tr = y ++ [z] /\
inputs_1 y = tr' /\
inputs_1 [z] = [x].