Functional Programming In Lean