Lemma cut2_exists {A: Type}: forall (h: stream A) (P: A -> Prop),
(exists h1 h2,
is_fin_stream h1 /\
h = stream_app h1 h2 /\
(forall n a, h1 n = Some a -> ~ P a) /\
(exists a, h2 0 = Some a /\ P a)) \/
(forall n a, h n = Some a -> ~ P a).