Conditions and Assumptions for Constraint-based Causal Structure Learning