Skip to content

Implementation of a simple imperative language called "while" using the Lean theorem prover.

License

Notifications You must be signed in to change notification settings

sergiodguezc/while

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

while

This repository contains an implementation of a simple imperative language called "while" using Lean. The language has basic control structures such as conditionals, loops, and assignments.

The implementation aims to capture the semantics of the language and provide a framework for proving various properties about the language, such as termination, and correctness of various program transformations.

The implementation is grounded in the principles and techniques outlined in several books, including "Semantics with Applications: An Appetizer" by Hanne Riis Nielson and Flemming Nielson, as well as "The Formal Semantics of Programming Languages: An Introduction" by Glynn Winskel.

Language features

The "while" language has the following features:

  • Integers as the only data type
  • Variables and assignments
  • Conditionals (if-then-else statements)
  • Loops (while statements)
  • Basic arithmetic operations (addition, subtraction, multiplication, and division)

About

Implementation of a simple imperative language called "while" using the Lean theorem prover.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages