(* invariant sur union_mpl_0, sens direct, 1 *)
Definition union_s_prd1 (s : state) : Prop :=
forall (d : preDTA) (a : ad) (pl : prec_list) (c : ad) (tl : term_list),
mpl_compat (M1 prec_list a pl) s ->
state_reconnait d s (app c tl) ->
state_reconnait d (union_mpl_0 a pl s) (app c tl).

Lemma union_s1d_1_0 :
forall (d : preDTA) (a : ad) (pl pl0 : prec_list) (c : ad) (tl : term_list),
mpl_compat (M1 prec_list a pl) (M1 prec_list c pl0) ->
a <> c ->
state_reconnait d (M1 prec_list c pl0) (app c tl) ->
state_reconnait d (union_mpl_0 a pl (M1 prec_list c pl0)) (app c tl).