Suppose that you want to prove the biconditional proposition $p\iff q.$ How do we do that? Well, the most common way to prove it has two steps: first, assume $p$ and use that assumption to prove $q$ then, assume $q$ and use that assumption to prove $p.$ Hmm, wait. Isn't this circular reasoning? After all, in one type of circular reasoning, we use $A$ to prove $B$ and use $B$ to prove $A.$ In the biconditional proof, we are doing the same thing.
Yet we know that proofs of biconditional statements are valid, and not considered circular reasoning. What's wrong with my reasoning?