proposition: Theorem Correct : BV_to_nat (appbv (R1 size) (R2 size)) = BV_to_nat V2 * BV_to_nat V1.
proof: Proof. intros. rewrite <- (strip_O bool (R1 size)). replace (BV_to_nat V1) with (BV_to_nat (truncbv V1 size)). rewrite (minus_n_n size). apply Invariant. auto with arith. rewrite <- length_V1_size. rewrite (trunc_all bool). trivial with arith. Qed.
imports: Definitions LemPrelim AdderProof