In philosophy, constant conjunction is a relationship between two events, where one event is invariably followed by the other: if the occurrence of A is always followed by B, A and B are said to be constantly conjoined. A critical philosophical question concerns the relationship between constant conjunction and causation, which has implications in the philosophy of science. The philosopher David Hume used the phrase frequently in his discussion of the limits of empiricism to explain our ideas of causation and inference. In An Enquiry concerning Human Understanding and A Treatise of Human Nature, Hume proposed that the origin of our knowledge of necessary connections arises out of observation of the constant conjunction of certain impressions across many instances, so that causation is merely constant conjunction—after observing the constant conjunction between two events A and B for a duration of time, we become convinced that A causes B. However, this position raises problems, as it seems that certain kinds of constant conjunction are merely accidental and cannot be equated with causation. For example, we might observe sunrise following the crowing of rooster for a long period of time, but it would still be irrational to then believe the crowing causes the sunrise. Along these lines, a more modern conception would argue that scientific law is distinguishable from a principle that arises merely accidentally because of the constant conjunction of one thing and another, but there is considerable controversy over what this distinguishing feature might be. British empiricism and associationist philosophers elaborated on Hume's fundamental idea in many diverse ways, and metaphysicians like Immanuel Kant tried to dissipate the position. Kant was motivated to develop his philosophy by Hume's argument, which he considered to be an attack on science. The force of Hume's arguments has remained remarkably robust, and they have found unexpected support in three scientific discoveries of the 20th century: Ivan Pavlov's laws of conditioning; Hebbian neural networks; and spike-timing-dependent plasticity (STDP).