Skip to content

Commit

Permalink
Fix typos in tutorial
Browse files Browse the repository at this point in the history
  • Loading branch information
aaronbembenek authored Oct 11, 2024
1 parent 7df0429 commit 9375e6d
Showing 1 changed file with 4 additions and 4 deletions.
8 changes: 4 additions & 4 deletions docs/tutorial/tutorial.md
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,7 @@ Let's start with the simplest rule, Wf-Kind:
wf(G, T, k_star) :- wf(G, T, k_base).
```

Horn clauses are read right to left, so this rule is saying that types that are well-formed at kind base are also well-formed at kind star.
Horn clauses are implications (read right to left), so this rule is saying that types that are well-formed at kind base are also well-formed at kind star.
Identifiers beginning with an uppercase letter are logic programming variables, which are implicitly universally quantified across the entire rule.

Wf-Fun is not too bad to encode either:
Expand Down Expand Up @@ -154,7 +154,7 @@ We can then encode the rule for boolean literals:
pred_wf(_G, p_bool(_B), b_bool).
```

The rules for most the other constructs is straightforward:
The rules are straightforward for most of the other constructs:

```
pred_wf(_G, p_int(_I), b_int).
Expand Down Expand Up @@ -182,7 +182,7 @@ pred_wf(G, p_ite(P1, P2, P3), T) :-
pred_wf(G, P3, T).
```

The leaves us just handling variables; to do so, we need to define what it means to look up a variable in an environment.
That leaves us just handling variables; to do so, we need to define what it means to look up a variable in an environment.
Formulog's first-order functional programming comes in handy for defining this type of helper function:

```
Expand Down Expand Up @@ -772,4 +772,4 @@ As we mentioned earlier, please raise a [GitHub issue](https://github.com/Harvar

[3] Yu Feng, Xinyu Wang, Isil Dillig, and Thomas Dillig. 2015. Bottom-up Context-Sensitive Pointer Analysis for Java. In Proceedings of the 13th Asian Symposium on Programming Languages and Systems. 465–484. https://doi.org/10.1007/978-3-319-26529-2_25

[4] Cristian Cadar, Daniel Dunbar, and Dawson Engler. 2008. KLEE: Unassisted and Automatic Generation of High-Coverage Tests for Complex Systems Programs. In Proceedings of the 8th USENIX Conference on Operating Systems Design and Implementation. 209–224. https://www.usenix.org/legacy/event/osdi08/tech/full_papers/cadar/cadar.pdf
[4] Cristian Cadar, Daniel Dunbar, and Dawson Engler. 2008. KLEE: Unassisted and Automatic Generation of High-Coverage Tests for Complex Systems Programs. In Proceedings of the 8th USENIX Conference on Operating Systems Design and Implementation. 209–224. https://www.usenix.org/legacy/event/osdi08/tech/full_papers/cadar/cadar.pdf

0 comments on commit 9375e6d

Please sign in to comment.