Definition union_s_rpl_def (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 (union_mpl_0 a pl s) (app c tl) ->
state_reconnait d (M1 prec_list a pl) (app c tl) \/
state_reconnait d s (app c tl).

(* Specifications: *)
Lemma union_s_rpl_0 : union_s_rpl_def (M0 prec_list).
Lemma union_s_rpl_1 :
forall (a : ad) (a0 : prec_list), union_s_rpl_def (M1 prec_list a a0).
Lemma union_s_rpl_2 :
forall m : state,
union_s_rpl_def m ->
forall m0 : state, union_s_rpl_def m0 -> union_s_rpl_def (M2 prec_list m m0).
Lemma union_s_rpl_3 : forall m : state, union_s_rpl_def m.
Lemma union_s_rpl :
forall (s : state) (d : preDTA) (a : ad) (pl : prec_list)
(c : ad) (tl : term_list),
mpl_compat (M1 prec_list a pl) s ->
state_reconnait d (union_mpl_0 a pl s) (app c tl) ->
state_reconnait d (M1 prec_list a pl) (app c tl) \/
state_reconnait d s (app c tl).