fact: Definition step1 : Z`2 -> (bool * (seq Z)`2) -> bool * (seq Z)`2 := fun cr '(restOK, updowns) => let (thisOK, updowns') := test cr updowns in (thisOK && restOK, updowns').
imports: ZArith mathcomp(all_ssreflect) infotheo(ssrZ) monae_lib hierarchy monad_lib fail_lib state_lib