﻿Prove that the following recursive function terminates on all non-negative integer inputs:

`python
def collatz_steps(n):
    if n <= 1:
        return 0
    elif n % 2 == 0:
        return 1 + collatz_steps(n // 2)
    else:
        return 1 + collatz_steps(3 * n + 1)
`
