When using MiniSat as C++ library, every new variable can be created as either a decision var or a non-decision var.
My rough understanding of this is that when the solver decides on which variable to use next during branching, non-decision vars are not considered. However, in my project, I ran into trouble when non-decision vars were on the left side of implication, instead of being in an equivalence relationship, as the solver returned SAT, even though the formula was actually UNSAT.
Further experimentation shows, that this only happens when the non-decision vars are in a formula that is longer than 2 variables (I guess 2-variable-formula path is a special cased in the solver, so it behaves differently).