fact: Fixpoint games n d s gl v ms b st := match ms with | m :: ms1 => let nb := next_board n s gl v m b in match nb with | iresult => Invalid_Move | lresult => Lost | wresult => Won ms1 | vresult s1 b1 => games n d s1 gl v ms1 b1 (b2s d n b1) end | _ => Lost end.
imports: Ascii String List EqNat NArith