Skip to content

Commit 31d8eac

Browse files
committed
doc: small implementation notes
1 parent 6ef1d36 commit 31d8eac

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

presentation/presentation.typ

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,9 +71,12 @@ type Term = HashConsed<RawTerm>;
7171
][
7272
Similar to @terms:
7373
- fully shared with a term bank for meta data
74+
- $->$ small memory footprint
75+
- $->$ $O(1)$ equality with pointer equality
7476
- RC for memory management
7577
- pre-computed values:
76-
- hash for $O(1)$ hashing $->$ $O(1)$ term caches
78+
- hash for $O(1)$ hashing
79+
- $->$ $O(1)$ term caches
7780
- symbol/variable counts for weights
7881
- bloom filter for substitution
7982
]
@@ -177,7 +180,7 @@ pub struct ClauseQueue {
177180
][
178181
Based on @queue, uses `10SC11/FIFO-PI`:
179182
- select ratio of 10:1 between:
180-
- symbol weight queue with weight 1 for functions and terms
183+
- symbol weight queue with weight 1 for functions and variables
181184
- FIFO queue
182185
- both with bias for initial clauses
183186
]
@@ -203,6 +206,7 @@ Knuth Bendix Order:
203206
Unification:
204207
- the naive algorithm from the lecture
205208
- key component for enforcing well sortedness
209+
- optimization: for ground terms just check equality (both $O(1)$)
206210

207211
== Generating Inferences
208212
Uses the rules and side conditions from @braniac:

0 commit comments

Comments
 (0)