|
f964a60412
|
Perform metavariable substitution from quoting
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2023-12-02 00:06:33 -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 |
|
|
905b760dd7
|
Fix a few bugs with encoding / decoding strings
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2023-12-01 18:15:17 -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 |
|
|
faa65ff77b
|
Don't encode '\n' for now
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2023-12-01 16:26:08 -08:00 |
|
|
66fbfd1962
|
Add necessary escape characters for LaTeX and pretty printing
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2023-12-01 16:25:39 -08:00 |
|
|
22f3937523
|
Fix a parser bug to parse '1' as IntLit
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2023-12-01 16:24:19 -08:00 |
|
|
3232d80376
|
Add syntax sugar for lists
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2023-12-01 14:11:40 -08:00 |
|
|
a8f07dd422
|
Tweak pretty printing of LaTeX
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2023-12-01 14:09:12 -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 |
|
|
546265f2e6
|
Add string literals to the term language
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2023-12-01 12:55:11 -08:00 |
|
|
45a04cc59c
|
Add a mode for entering the object language to parse
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2023-12-01 11:31:38 -08:00 |
|
|
51c78af138
|
Add an initial parser for the Bergamot 'object language'
|
2023-11-30 22:44:20 -08:00 |
|
|
d9f9522365
|
Add a tab to switch between editor and rendered view
|
2023-11-30 21:29:37 -08:00 |
|
|
bb18c8bd8c
|
Tweak the HTML tags generated by Bergamot.
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2023-11-29 22:20:55 -08:00 |
|
|
524796d74f
|
More strictly control what goes into elm.nix
|
2023-11-30 04:22:02 +00:00 |
|
|
cd2d6366b0
|
Add a flake file to build the project
|
2023-11-30 04:02:58 +00:00 |
|
|
a34e143408
|
Add Nix-specific generated dependencies
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2023-11-29 19:47:30 -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 |
|
|
9d287a37d5
|
Add flags for setting rules and query before starting
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2023-11-26 20:53:31 -08:00 |
|
|
f30752a2c6
|
Minor tweaks to pretty printing and CSS
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2023-11-26 20:48:48 -08:00 |
|
|
e0532fb581
|
Fix the parser and add more syntax pretty printing
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2023-11-26 20:44: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 |
|
|
4deb7bc556
|
Minor tweaks to style and rule rendering
|
2023-11-26 16:32:27 -08:00 |
|
|
33c3f87564
|
Add some styling (still very early stages)
|
2023-11-26 16:25:23 -08:00 |
|
|
250dbb4ee8
|
Add an index.html file that includes the web component
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2023-11-26 15:54:17 -08:00 |
|
|
acc769e799
|
Add LaTeX support for rendering rules
|
2023-11-26 15:54:01 -08:00 |
|
|
7cc5d05e9c
|
Add a way to print the rules as LaTeX
|
2023-11-26 14:34:52 -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 |
|
|
a24fbad249
|
Make Metavariable and UnificationVar newtypes to help type safety
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2023-11-26 12:58:38 -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 |
|
|
efe0efbee7
|
Add a (debug) interactive demo
|
2023-11-26 11:58:20 -08:00 |
|
|
800c96dc7b
|
Add an initial Main.elm file
|
2023-11-26 11:43:38 -08:00 |
|
|
95c30b6891
|
Also parse whole programs
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2023-11-26 11:42:46 -08:00 |
|
|
295c93e38a
|
Add a parser for the tiny language
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2023-11-26 11:40:15 -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 |
|
|
7d78db96d6
|
Add a useful helper function to the instantiation state
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2023-11-26 00:44:43 -08:00 |
|
|
b13cdea15d
|
Add a few more convenient operations to Search.elm
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2023-11-26 00:44:24 -08:00 |
|
|
2cc1012a09
|
Add an initial 'lazy list' for doing backtracking
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2023-11-25 23:33:48 -08:00 |
|
|
ed34302627
|
Add a function to substitute all variables for their values
|
2023-11-25 23:19:36 -08:00 |
|
|
3269e37ef3
|
Add some convenience exports to Syntax.elm
|
2023-11-25 23:15:00 -08:00 |
|
|
f4fba66f8b
|
Add instantiating terms of metavariables with variables
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2023-11-25 23:08:21 -08:00 |
|
|
824b19123e
|
Fix a bug in unification (lol)
|
2023-11-25 23:08:05 -08:00 |
|