535c714b47
Remove yields and switch to depth-based gas.
...
This considerably speeds up forward inference, but we do get lost when
trying to prove more difficult things, or doing backwards search.
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
2023-12-21 16:47:56 -08:00
fd301806c6
Add sections to the language syntax
...
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
2023-12-21 13:31:53 -08:00
18d524a0d2
Avoid checking for out-of-gas on each 'andThen'
...
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
2023-12-02 23:46:24 -08:00
1fca9171b1
Unify conclusion before instantiating premises to save some time
...
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
2023-12-01 23:40:29 -08:00
12fa4dc1fd
WIP: Use bergamot to render inference rules.
...
Not the proof trees yet, but it should be about the same.
2023-12-01 23:31:43 -08:00
549527d0cc
Add a 'call' primitive
...
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
2023-12-01 18:15:32 -08:00
a1ae15d84c
Add a new builtin to identify symbols
...
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
2023-12-01 16:56:27 -08:00
012c1b0d0c
Extract common utility functions and convert symbols to strings
...
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
2023-12-01 16:40:39 -08:00
1e12dc8032
Ensure metavariables aren't re-used in rules and queries
...
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
2023-12-01 16:35:22 -08:00
f4619672a9
Implement more builtins
...
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
2023-12-01 16:26:34 -08:00
e659172320
Add a builtin rule for string concatenation
...
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
2023-12-01 13:10:51 -08:00
e1c6e5e83f
Use 'gas' instead of yields to limit recursion
...
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
2023-11-26 21:28:27 -08:00
ff1ea05784
Add yielding to help proof search
...
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
2023-11-26 17:17:10 -08:00
e123f24af0
Add support for reifying proof trees
...
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
2023-11-26 13:14:44 -08:00
985be53367
Add an interactive 'can this query be satisfied' interface
2023-11-26 12:47:05 -08:00
9f7b59c65d
Instantiate the query-to-be-proven as well
...
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
2023-11-26 12:32:28 -08:00
2f1cb79013
Clean up the search and proving code somewhat
2023-11-26 12:27:44 -08:00
6271dd8c2b
Add an initial implementation of proof search
...
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
2023-11-26 00:45:05 -08:00