You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/tutorial/tutorial.md
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -116,7 +116,7 @@ Let's start with the simplest rule, Wf-Kind:
116
116
wf(G, T, k_star) :- wf(G, T, k_base).
117
117
```
118
118
119
-
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.
119
+
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.
120
120
Identifiers beginning with an uppercase letter are logic programming variables, which are implicitly universally quantified across the entire rule.
121
121
122
122
Wf-Fun is not too bad to encode either:
@@ -154,7 +154,7 @@ We can then encode the rule for boolean literals:
154
154
pred_wf(_G, p_bool(_B), b_bool).
155
155
```
156
156
157
-
The rules for most the other constructs is straightforward:
157
+
The rules are straightforward for most of the other constructs:
The leaves us just handling variables; to do so, we need to define what it means to look up a variable in an environment.
185
+
That leaves us just handling variables; to do so, we need to define what it means to look up a variable in an environment.
186
186
Formulog's first-order functional programming comes in handy for defining this type of helper function:
187
187
188
188
```
@@ -772,4 +772,4 @@ As we mentioned earlier, please raise a [GitHub issue](https://github.com/Harvar
772
772
773
773
[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
774
774
775
-
[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
775
+
[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 commit comments