fact: Fixpoint fullmulB n1 n2 : BITS n1 -> BITS n2 -> BITS (n1+n2) := if n1 is n.+1 return BITS n1 -> BITS n2 -> BITS (n1+n2) then (fun p1 p2 => let (p,b) := eta_expand (splitlsb p1) in if b then addB (joinlsb (fullmulB p p2, false)) (zeroExtendAux n.+1 p2) else joinlsb (fullmulB p p2, false)) else (fun p1 p2 => #0).
imports: mathcomp.ssreflect.ssreflect mathcomp(ssrfun ssrbool eqtype ssrnat seq tuple) spec