proposition: Lemma divbdiv : forall n d : nat, Divides d n <-> bDivides d n.
proof: Proof. unfold Divides in |- *. unfold bDivides in |- *. split. case n. left. reflexivity. right. elim H. intro q. case d. simpl in |- *. intros. discriminate H0. intro d1. intros. split with q. split. rewrite H0. unfold lt in |- *. apply le_n_S. apply le_n_mn. assumption. intros. elim H. intros. rewrite H0. split with 0. rewrite <- (mult_n_O d). reflexivity. elim H. intros. rewrite H0. split with 0. rewrite <- (mult_n_O d). reflexivity. intros. elim H0. intros. split with x. elim H2. intros. assumption. Qed.
imports: ZArith Wf_nat lemmas natZ dec exp