fact: Fixpoint process_eval_rec3 (eval : state -> state -> board -> state) alpha beta res l : state := if l is i :: l1 then let res1 := eval alpha beta i in if res <= res1 then process_eval_rec3 eval alpha beta res l1 else if beta <= res1 then process_eval_rec3 eval alpha beta res1 l1 else let beta := res1 in if beta <= alpha then sflip res1 else process_eval_rec3 eval alpha beta res1 l1 else sflip res.
imports: HB(structures) mathcomp(all_ssreflect) mathcomp(all_algebra)