• Stars
    star
    323
  • Rank 127,173 (Top 3 %)
  • Language Lean
  • License
    Other
  • Created over 8 years ago
  • Updated over 7 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Simple verification of Rust programs via functional purification in Lean 2(!)

electrolysis

Gitter

About

A tool for formally verifying Rust programs by transpiling them into definitions in the Lean theorem prover.

Installation

Because electrolysis uses rustc's unstable private API, you need a nightly compiler. Because the API is highly unstable, you need a very specific nightly version, for which you should use rustup.rs. After installing rustup, you can build this project by executing

electrolysis$ rustup override add $(cat rust-nightly-version)
electrolysis$ rustup component add rust-src
electrolysis$ cargo run core

This will build the project and export all code from the core crate necessary for binary_search (see also thys/core/config.toml) into thys/core/generated.lean (this file already exists in case you just want to examine the correctness proof).

More Repositories

1

Bartizan

Mod Framework for TowerFall Ascension
C#
56
star
2

nixprof

A Nix build graph profiler
Python
27
star
3

nale

Nix + Lean = Nale
C++
11
star
4

do-supplement

Supplement of the ICFP'22 paper "‘do’ Unchained: Embracing Local Imperativity in a Purely Functional Language"
Lean
10
star
5

macro-supplement

Supplemental material for the "Beyond Notations" paper
Lean
8
star
6

masters-thesis

TeX
7
star
7

HoTT-book-agda

Agda proofs of the HoTT book exercises
Agda
4
star
8

semantics-lean

Lean
3
star
9

aoc-2022

aoc-2022
Lean
3
star
10

aoc-2021

not meant as an instruction manual
Lean
3
star
11

err-sedbot

errbot plugin for executing simple sed substitute commands
Python
2
star
12

i3lock

C
2
star
13

dotfiles

.config/
Nix
2
star
14

nusski-replayer

Ein Replay-Viewer für das April-2011-Turnier der EE in CoffeeScript
JavaScript
2
star
15

syntax

Lean
1
star
16

err-cah

A Cards Against Humanity bot plugin for err-bot
Python
1
star
17

light-cycle

Quick`n`dirty 2 player game for the BlackBerry PlayBook Tablet Offer 2012
CoffeeScript
1
star
18

top-comment-err

errbot plugin that responds to posted links with the respective reddit top comment
Python
1
star
19

etc

/etc files of a Lenovo ThinkPad T430
Shell
1
star
20

nusski-cs-client

Ein C#-Client für das April-2011-Turnier der Entwickler-Ecke
C#
1
star
21

err-babble-bot

Markov chain-based Err plugin for nonsense generation
Python
1
star
22

ca-datastructs

Proseminar about implementing simple data structures in cellular automata
Haskell
1
star
23

Floyd

(Parallel) implementation of Floyd-Steinberg dithering for Programming course 2011
Java
1
star
24

isabelle-zfc

Simplistic Formalization of ZFC in Isabelle
TeX
1
star