(* correction : appartenance de l'état final *)

(* Specifications: *)
Lemma union_DTA_main_state_correct_invar :
forall d0 d1 : DTA,
DTA_main_state_correct d0 ->
DTA_main_state_correct d1 -> DTA_main_state_correct (union d0 d1).
Lemma inter_DTA_main_state_correct_invar :
forall d0 d1 : DTA,
DTA_main_state_correct d0 ->
DTA_main_state_correct d1 -> DTA_main_state_correct (inter d0 d1).
Lemma inter_DTA_main_state_correct_invar :
forall d : DTA,
DTA_main_state_correct d ->
DTA_main_state_correct (DTA_kill (dta_states_non_empty d) d).
Lemma inter_DTA_main_state_correct_invar_lazy :
forall d : DTA,
DTA_main_state_correct d ->
DTA_main_state_correct (DTA_kill_empty_states_lazy d).
Lemma dta_kill_non_coacc_correct_main_state :
forall d : DTA,
DTA_ref_ok d ->
DTA_main_state_correct d -> DTA_main_state_correct (dta_kill_non_coacc d).
Lemma dta_kill_non_coacc_lazy_correct_main_state :
forall d : DTA,
DTA_ref_ok d ->
DTA_main_state_correct d ->
DTA_main_state_correct (dta_kill_non_coacc_lazy d).