Symmetry of NP completeness
[...] an efficient algorithm for deciding X implies an efficient algorithm for deciding some known NP-complete problem like SAT.


Be careful with this! In the context of NP-completeness we work with many-one reductions, not Turing reductions. This means you are not allowed to assume the existence of an efficient algorithm for $X$; this is too strong an assumption since it would allow you arbitrary access to the algorithm deciding $X$. Rather, you must reduce SAT to an instance of $X$. In fact, it is irrelevant whether $X$ can be solved efficiently or not (or even solved at all!). This establishes NP-hardness; for NP-completeness you also need to show $X \in \textbf{NP}$.

Note it is only once you have established NP-hardness of $X$ that you can say the existence of an efficient algorithm for $X$ implies the existence of an efficient algorithm for SAT (or any problem in NP). However, this is only an implication of the NP-hardness of $X$, not the actual requirement for $X$ being NP-hard.