induction a.
intros.
destruct pf1. auto.
intros.
unfold lognat in *.
rewrite (factor_s_conv pf1).
apply log2_monotonic_b.
Qed.
(* for good measure, we will define exponentiation for nat and prove that lognat is correct *)
Fixpoint expnat(a e : nat) : nat :=
match e with
| 0 => 1
| (S e') => a * (expnat a e')
end.

Lemma mult_ne : forall a b,
a <> 0 -> b <> 0 -> a * b <> 0.