Definition union_str_def (s0 : state) : Prop :=
  forall (s1 : state) (d : preDTA) (c : ad) (tl : term_list),
  mpl_compat s0 s1 ->
  state_reconnait d (union_mpl s0 s1) (app c tl) \/
  state_reconnait d (union_mpl s1 s0) (app c tl) ->
  state_reconnait d s0 (app c tl) \/ state_reconnait d s1 (app c tl).

Lemma union_state : forall (s0 s1 : state) (d : preDTA) (t : term), mpl_compat s0 s1 -> (state_reconnait d (union_mpl s0 s1) t <-> state_reconnait d s0 t \/ state_reconnait d s1 t).