Zulip Chat Archive

Stream: PhysLean

Topic: Elastic collisions in 1d


Joseph Tooby-Smith (Aug 25 2025 at 05:16):

I was thinking about 1d elastic collisions and how one would formalize them into Lean.

Consider you have nn-particles, p1,,pnp_1, \ldots, p_n, living in 1-dimensions, having masses m1,,mnm_1, \ldots, m_n, and at t=0t=0 positions x1xnx_1 \le \ldots \leq x_n, velocities v1,,vnv_1, \ldots, v_n. Suppose these undergo elastic collisions. So far this is easy to formalize into Lean, one could define a structure e.g. OneDimensionCollisions which would contain all of this data.

Now let x(t)\vec x(t) be the nn-vector of the particles positions at time tt. My question is, what is the correct definition of x(t)\vec x(t) in Lean?

I'm thinking something along the lines of, the unique vector such that

  1. Overall energy is conserved
  2. Overall momentum is conserved
  3. The order of the particles remains the same.
  4. For a given xi(t)x_i(t) if the interval [t1,t2][t_1, t_2] does not contain a collision involving pip_i then xi(t)x_i(t) within [t1,t2][t_1, t_2] is smooth and satisfies Newton's second law.

But I'm not entirely sure that this uniquely defines x(t)\vec x(t), and given (3) it does not generalize to higher dimensions (which may be tricky for now anyway).

Joseph Tooby-Smith (Aug 25 2025 at 05:54):

But I'm not entirely sure that this uniquely defines x(t)\vec x(t),

Actually I think uniqueness is not guaranteed here, but I also think there is nothing one can do about it. The reason being, that if you have 3 or more particles colliding simultaneously, this model breaks down, see this physics stack exchange answer.

What should be true is that if in the time interval [0,τ)[0, \tau) there are at most 22-body collisions and x\vec x and y\vec y both satisfy the conditions above then x(t)=y(t)\vec x(t) = \vec y(t) for t[0,τ)t \in [0, \tau).


Last updated: Dec 20 2025 at 21:32 UTC