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_str : forall (s0 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).