Commit Graph
133 Commits
Author SHA1 Message Date
patrick d72e2af49a Fix proof direction check 2020-05-28 06:30:14 +02:00
patrick 870fdd048c Handle input predicates correctly 2020-05-28 06:29:57 +02:00
patrick 1e55f733d0 Minor clean-up 2020-05-28 05:03:57 +02:00
patrick fe277b6773 Minor refactoring 2020-05-28 05:03:57 +02:00
patrick 1b827edd45 Clean-up 2020-05-28 05:03:56 +02:00
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