Commit Graph
100 Commits
Author SHA1 Message Date
patrick 491a255811 Require supertight programs for backward proof 2020-05-28 05:03:56 +02:00
patrick 9b7895a032 Don’t append variable ID if there is only one 2020-05-22 19:43:41 +02:00
patrick 499fa0c667 Add option to specify output color choice 2020-05-22 19:33:06 +02:00
patrick 739cae1f7c Rename “assert” statement to “spec” 2020-05-22 18:34:59 +02:00
patrick 116f74f63e Minor clean-up 2020-05-22 18:17:00 +02:00
patrick 0578e99dc2 Finish basic simplifications 2020-05-22 18:14:56 +02:00
patrick 3b3f9017ba Determine variable IDs correctly 2020-05-22 02:42:38 +02:00
patrick 81ddfd450a Use custom foliage flavor
With this patch, properties specific to variable, function, and
predicate declarations are directly stored within those objects rather
than external maps that need to be queried via traits. This greatly
simplifies many parts of the logic.

This is made possible by implementing a custom foliage flavor, which
makes it possible to swap the built-in declaration types for extended
versions of those types that fulfill certain requirements.
2020-05-22 02:25:00 +02:00
patrick b62c379b97 Properly handle input/output errors 2020-05-19 13:10:31 +02:00
patrick efe354faad Clean up unused struct 2020-05-19 13:02:12 +02:00
patrick efa5656e39 Clean up unused struct 2020-05-19 13:01:04 +02:00
patrick d88ac89b01 Add prime number example 2020-05-19 12:57:09 +02:00
patrick 86d2857494 Start implementation of simplifications 2020-05-19 12:56:46 +02:00
patrick d77c7648b3 Ensure that statements are proven in right order 2020-05-19 12:56:21 +02:00
patrick 34b8dce9be Ignore built-in predicates in completion 2020-05-19 12:54:51 +02:00
patrick 7020bc0bf0 Address unused variable 2020-05-19 12:53:37 +02:00
patrick 0229adef78 Add to-do notes 2020-05-19 12:49:57 +02:00
patrick c1038b398c Improve warning when using private predicates in specification 2020-05-19 12:47:24 +02:00
patrick 3bf981236a Only warn if private predicates are used in specification 2020-05-19 12:18:11 +02:00
patrick 4de4cc21da Fix gross bug in translation of division 2020-05-18 05:21:27 +02:00
patrick 80d39c8c0a Check that only input/output predicates are used in specification 2020-05-18 02:17:30 +02:00
patrick e2281042c9 Rename example files for consistency 2020-05-18 01:46:16 +02:00
patrick ce51d14a9e Minor formatting 2020-05-18 01:29:30 +02:00
patrick 58d89b4d07 Detect cyclic dependencies when hiding predicates 2020-05-18 01:19:59 +02:00
patrick c0bfbc923c Do not add type declarations for built-ins 2020-05-18 01:19:46 +02:00
patrick 0cce3bf54d Rename status message for clarity 2020-05-18 01:19:00 +02:00
patrick 7361084eaf Rename variable in example for consistency 2020-05-18 01:09:15 +02:00
patrick 82422cc28f Support hiding auxiliary predicates 2020-05-13 08:02:04 +02:00
patrick 84031c483b Revert logic for building completed definitions 2020-05-13 03:27:47 +02:00
patrick b308847ebd Add to-do note 2020-05-13 03:17:37 +02:00
patrick d35d0d1d98 Use statement kind over section kind 2020-05-13 03:17:33 +02:00
patrick 0dbf30bb1b Work in progress 2020-05-13 02:24:13 +02:00
patrick 4d00fbeb97 Minor formatting 2020-05-13 01:40:44 +02:00
patrick 07fc6a7f85 Add to-do note 2020-05-13 01:28:25 +02:00
patrick 37f0fff09f Add comments to exact cover example 2020-05-12 06:39:50 +02:00
patrick f39393ebce Add comments to example 2 2020-05-12 06:10:59 +02:00
patrick 9621cb1e0c Add to-do note 2020-05-12 06:10:52 +02:00
patrick 8153352b66 Support comments in specification file 2020-05-12 06:08:50 +02:00
patrick e42fd92d4b Add parser support for output statements 2020-05-12 05:27:51 +02:00
patrick 32b18e2b63 Refactor parsing formulas 2020-05-12 05:20:48 +02:00
patrick 2f48e51244 Refactor parsing input statement terminator 2020-05-12 05:09:13 +02:00
patrick 0d63a721c7 Refactor parsing input statements 2020-05-12 05:05:49 +02:00
patrick e5d8a8a96b Refactor parsing domain specifiers 2020-05-12 04:51:52 +02:00
patrick 222f8b535e Add specification for example 1 2020-05-12 04:51:52 +02:00
patrick 9ffd987e10 Add specification for example 0 2020-05-12 04:51:52 +02:00
patrick 7d06601c17 Color output 2020-05-12 04:51:51 +02:00
patrick 2de8a59b63 New output format 2020-05-11 05:03:59 +02:00
patrick eab3520e44 Minor formatting 2020-05-11 04:15:05 +02:00
patrick fed095ba5c Remove obsolete example 2020-05-11 04:09:52 +02:00
patrick 78935f7c4a Remove unnecessary lemma 2020-05-11 04:08:38 +02:00
patrick 674cee0e87 Remove obsolete to-do note 2020-05-11 04:00:51 +02:00
patrick 2ed1e6d89d Rename function 2020-05-11 04:00:06 +02:00
patrick ab7c6d1828 Rename ScopedFormula to OpenFormula 2020-05-11 03:58:30 +02:00
patrick 2dff164d90 Add to-do note 2020-05-11 03:54:32 +02:00
patrick b5d049a82a Move InputConstantDeclarationDomains to problem module 2020-05-11 03:48:14 +02:00
patrick e0b8b1c854 Minor formatting 2020-05-11 03:46:20 +02:00
patrick 0d51053b88 Move ProofDirection type to separate module 2020-05-11 03:46:11 +02:00
patrick 7c36c4b239 Move closure functions to separate module 2020-05-11 03:41:33 +02:00
patrick 0011fd9d4c Add to-do note 2020-05-11 03:40:27 +02:00
patrick 2c660ff902 Remove unused code 2020-05-11 03:39:09 +02:00
patrick cede63b7e4 Remove unused code 2020-05-11 03:37:57 +02:00
patrick 7a6fab59ef Minor refactoring 2020-05-11 03:23:25 +02:00
patrick 6bf01db51a Minor formatting 2020-05-11 03:21:51 +02:00
patrick 7832f18ffd Minor reformatting 2020-05-11 03:18:11 +02:00
patrick ee1539e2ab Rename variable for consistency 2020-05-11 03:15:27 +02:00
patrick 17d2373e0d Refactor proof output 2020-05-11 03:11:10 +02:00
patrick e03628ec66 Remove unused code 2020-05-11 02:46:52 +02:00
patrick 37f1b301b5 Remove unused variable reference 2020-05-11 02:45:58 +02:00
patrick 91765a7a15 Remove duplicate match arm 2020-05-11 02:45:44 +02:00
patrick c075f99093 Remove unused code 2020-05-11 02:43:42 +02:00
patrick d44c3995b7 Fix induction axiom in example 2 2020-05-11 02:21:24 +02:00
patrick c787a5881b Bump version number 2020-05-07 17:20:07 +02:00
patrick 753cc3e5a8 Improve output 2020-05-07 17:19:42 +02:00
patrick 5469f7d7b2 Improve output 2020-05-07 03:02:11 +02:00
patrick a9ca72891c Add exact cover problem example 2020-05-07 02:54:13 +02:00
patrick b55bc82b1d Add option for proof direction 2020-05-07 02:53:48 +02:00
patrick b4339bfcb3 Add examples 2020-05-06 21:39:04 +02:00
patrick 70bef152a4 Improve proof output 2020-05-06 21:38:48 +02:00
patrick 15769d58b3 Add missing file 2020-05-06 21:30:27 +02:00
patrick b14f620235 Implement proof mechanism 2020-05-06 00:13:43 +02:00
patrick e118442e16 Work in progress 2020-05-05 19:40:57 +02:00
patrick 07322f041c Use foliage traits 2020-04-17 04:10:23 +02:00
patrick e6cf79ad1e Remove unneeded indirection 2020-04-17 03:37:53 +02:00
patrick eb60bd7520 Refactor variable declaration stack usage 2020-04-17 03:28:18 +02:00
patrick 84bec338ae Use foliage’s built-in variable declaration stack 2020-04-17 01:45:41 +02:00
patrick becd8d4c19 Upgrade to foliage 0.2 development version 2020-04-17 00:09:44 +02:00
patrick f83695b5dc Move closure functions to utils module 2020-02-09 10:26:24 +07:00
patrick c3860c1bf1 Check variable declaration stack before using it 2020-02-09 10:22:08 +07:00
patrick f6f423e307 Add axioms for order of symbolic constants 2020-02-05 20:19:22 +01:00
patrick ca5cca8701 Default to 0-ary predicates when omitting arity 2020-02-05 19:42:53 +01:00
patrick b6ecf37211 Add option for input constants 2020-02-05 19:40:21 +01:00
patrick 844f81f5b5 Count program and integer variable IDs separately 2020-02-05 18:50:48 +01:00
patrick cd7129a3fa Add missing files 2020-02-05 04:28:02 +01:00
patrick 3c485c949c Use upstream foliage crate 2020-02-05 03:36:24 +01:00
patrick 26c1bde49b Move variable declaration stack from foliage crate 2020-02-05 02:30:17 +01:00
patrick 2bc084d799 Finish implementing TPTP output 2020-02-05 02:14:47 +01:00
patrick 9a519abb0d Fix typo in TPTP output 2020-02-05 02:14:38 +01:00
patrick caab0a618e Add option for input predicates 2020-02-05 01:10:33 +01:00
patrick 6d489e457f Minor restructuring 2020-02-04 23:35:42 +01:00
patrick ce19860325 Make all terms compatible in TPTP 2020-02-04 23:33:59 +01:00