Skip to content

Commit 563a806

Browse files
committed
add default target for proofs. edit readme
1 parent a3e2622 commit 563a806

File tree

2 files changed

+30
-35
lines changed

2 files changed

+30
-35
lines changed

etch4/lakefile.lean

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,5 +9,8 @@ lean_exe bench {
99
root := `Etch.Benchmark
1010
}
1111

12+
@[default_target]
13+
lean_lib Etch.Verification.Main
14+
1215
require mathlib from git
1316
"https://github.com/leanprover-community/mathlib4/"@"5ed65e18440bf46dc8dda58b5463377f938d717c"

readme.md

Lines changed: 27 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,15 @@
11
# Etch
22

3-
This repository implements indexed streams, a way to represent fused
4-
"contraction programs" like those found in sparse tensor algebra and relational
3+
This repository implements indexed streams, a representation for fused
4+
*contraction programs* like those found in sparse tensor algebra and relational
55
algebra.
66

7-
Correctness proofs are written in [Lean 3][lean3], while the compiler is
8-
written in the [Lean 4][lean4] language. We hope to port the proofs to Lean 4
9-
soon.
7+
Correctness proofs and compiler are written in the [Lean 4][lean4] language.
108

11-
[lean3]: https://github.com/leanprover-community/lean
129
[lean4]: https://github.com/leanprover/lean4
1310

1411
## Directory structure
1512

16-
### Correctness proofs
17-
18-
```
19-
.
20-
└── src
21-
   └── verification
22-
   ├── code_generation # WIP code generation proofs
23-
   │   └── ...
24-
   ├── semantics # correctness proofs
25-
   │   ├── README.md
26-
   │   └── ...
27-
   └── test.lean
28-
```
29-
3013
### Compiler and benchmarks
3114

3215
```
@@ -60,16 +43,7 @@ etch4
6043
└── taco_kernels.c
6144
```
6245

63-
## Build proofs
64-
65-
First install [Lean 3](https://leanprover-community.github.io/get_started.html).
66-
In the root directory, run
67-
```
68-
leanproject get-mathlib-cache
69-
leanproject build
70-
```
71-
72-
## Build compiler
46+
## Build compiler and proofs
7347

7448
First install [Lean 4](https://leanprover.github.io/lean4/doc/quickstart.html).
7549
In the `etch4` directory, run
@@ -155,16 +129,34 @@ steps instead.
155129

156130
## Publications
157131

158-
This repo implements indexed streams as defined in this paper:
132+
This repository implements indexed streams as defined in the paper:
159133

160134
> Scott Kovach, Praneeth Kolichala, Tiancheng Gu, and Fredrik Kjolstad. 2023.
161135
> Indexed Streams: A Formal Intermediate Representation for Fused Contraction
162136
> Programs. To appear in <em><cite>Proc. ACM Program. Lang.</cite></em> 7,
163137
> PLDI, Article 154 (June 2023), 25 pages. https://doi.org/10.1145/3591268
164138
165-
A preprint is available at https://cutfree.net/PLDI_2023_indexed_streams.pdf.
139+
## Old Correctness proofs
140+
141+
These were written originally but recently automatically ported to Lean4.
142+
143+
```
144+
.
145+
└── src
146+
   └── verification
147+
   ├── code_generation # WIP code generation proofs
148+
   │   └── ...
149+
   ├── semantics # correctness proofs
150+
   │   ├── README.md
151+
   │   └── ...
152+
   └── test.lean
153+
```
166154

167-
There's also an earlier preprint:
155+
### Build old proofs
168156

169-
> Scott Kovach and Fredrik Kjolstad. 2022. Correct Compilation of Semiring
170-
> Contractions. arXiv:[2207.13291](https://arxiv.org/abs/2207.13291) [cs.PL]
157+
First install [Lean 3](https://leanprover-community.github.io/get_started.html).
158+
In the root directory, run
159+
```
160+
leanproject get-mathlib-cache
161+
leanproject build
162+
```

0 commit comments

Comments
 (0)