Imagine proofs as methods, while definitions as your objects and classes.
When you learn to code, you can't just learn the methods in the standard library, you have to learn the skill of building your own high level structures.
You need to design the architecture of your app not just how to coding certain algorithmic procedures.
2/