fact: Fixpoint mult_bool_step (a b: list bool) (res: list bool) (k k': nat) : list bool := let ak := List.firstn (S k') a in let b' := and_with_bool ak (nth k b false) in let res' := mult_bool_step_k_h res b' false (Z.of_nat k) in match k' with | O => res' | S pk' => mult_bool_step a b res' (S k) pk' end.
imports: List Bool NArith Psatz Int63 Nnat ZArith Misc ProofIrrelevance