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).