Zulip Chat Archive

Stream: Lean for teaching

Topic: from algorithms to proofs


Alexandre Rademaker (May 02 2020 at 15:52):

I am thinking about how to make the connection between a course on introduction to programming (I am using SICP book) to a course using Lean to "solve problems". I am not talking about a course on formal methods to prove properties of programs, that is one approach. I am talking about two different perspectives on how to solve simple problems like https://codeforces.com/problemset/problem/791/A. A program to solve this problem is quite simple, a common lisp solution would be given by the enumeration below to the input (4,9):

(loop for x = 4 then (* x 3)
      for y = 9 then (* y 2)
      until (> x y)
      collect (cons x y))

but how we can explore this problem from an ITP perspective?

Mario Carneiro (May 02 2020 at 15:56):

well, you could define that as a lean function and prove that it has a given value

Mario Carneiro (May 02 2020 at 15:57):

although that program doesn't terminate when x = 0

Kevin Buzzard (May 02 2020 at 15:58):

In the question you're given that the inputs are >=1


Last updated: Dec 20 2023 at 11:08 UTC