proposition: Lemma bool_rect_flatten {b t f} : bool_rect (fun _ : bool => bool) t f b = ((b && t) || (negb b && f))%bool.
proof: Proof. destruct b, t, f; reflexivity. Qed.
imports: Coq.Strings.String Coq.Strings.Ascii Coq.Arith.Arith Coq.ZArith.BinInt Coq.NArith.BinNat Coq.Bool.Bool Coq.Classes.Morphisms Fiat.Common.Coq__8_4__8_5__Compat