Why must outputs be the same for a pair of inputs for a causal system? I'm trying to get a good understanding of causality and I can't wrap my head around the first definition of it, as noted in this Wikipedia article:


  Definition 1: A system mapping $x$ to $y$ is causal if and only if,
  for any pair of input signals $x_1(t)$ and $x_2(t)$ such that 
  
  $$x_{1}(t) = x_{2}(t), \quad \forall \ t \le t_{0},$$
  
  the corresponding outputs satisfy
  
  $$y_{1}(t) = y_{2}(t), \quad \forall \ t \le t_{0}.$$


Can anyone help explain this?
So $x_1(t)$ and $x_2(t)$ are equal up to a certain time $t_0$, and diverge after that time. What this definition is saying is that, up to time $t_0$, the system will produce the exact same output, without regard for whether the input is actually $x_1(t)$ or $x_2(t)$.

If the system is non-causal, then it may "know" whether the input is actually $x_1(t)$ or $x_2(t)$, because it can "look ahead" in time beyond $t_0$, and it could modify its output accordingly, even before $t_0$.

As an example, consider a lightbulb connected to a battery and to a switch. The switch is initially on, and the lightbulb is also on. At time $t=0$, you decide whether you'll turn off the switch at time $t=60$ (one minute). The lightbulb, being causal, cannot know in advance what will happen, and will stay on at least up to $t=60$. A non-causal lightbulb will know in advance what will happen and may turn itself off at, say, $t=30&lt;60$.

I hope this makes sense -- let me know if you need more clarification.