Fixpoint predta_ref_ok_check_0 (d : preDTA) : preDTA -> bool :=
fun d' : preDTA =>
match d with
| M0 => true
| M1 a s => state_ref_ok_check s d'
| M2 x y => predta_ref_ok_check_0 x d' && predta_ref_ok_check_0 y d'
end.
Definition predta_ref_ok_check (d : preDTA) : bool :=
predta_ref_ok_check_0 d d.

Lemma predta_ref_ok_check_correct_0 :
forall d d' : preDTA,
preDTA_ref_ok_distinct d d' -> predta_ref_ok_check_0 d d' = true.