42f063408b
( #46 ) Finding models via Z3
...
Uses Z3 to find a model of a certain size for a given logic. This PR also introduces falsification rules and the ability to directly check via SMT whether a logic has VSP instead of generating models first.
2026-01-27 15:28:46 -05:00
51bf1a44d9
Small comment change
2026-01-27 15:26:16 -05:00
06cca7d32e
Refactored out valuation generation code in SMT
2026-01-27 15:22:47 -05:00
85ef364a57
Small comment change
2026-01-27 14:13:54 -05:00
51f8adcd44
Small comment change
2026-01-27 14:13:19 -05:00
bf86bfd83e
Simplified satisfiable
2026-01-27 14:11:41 -05:00
6d87793803
Updated driver file R.py to showcase SMT techinques
...
Fixed minor bugs concerning lack of falsification rules and interfaces between VSP and SMT
2026-01-27 12:48:33 -05:00
f8eca388d4
Some comment changes
2026-01-27 11:23:47 -05:00
07d7b2fdb1
Merge branch 'main' into feat/46
2026-01-27 11:14:31 -05:00
4150ac2a7a
Added logic_has_vsp which uses the SMTLogicEncoder
2026-01-15 15:03:18 -05:00
95e482a265
Cleanup
2026-01-12 17:07:44 -05:00
25bd83f032
Check VSP for non-MaGICal models via SMT
2026-01-12 16:55:37 -05:00
84f1c1fd36
Added check for falsification rules in satisfiable function
2025-12-12 18:21:29 -05:00
a5fb1b92bb
Enumerate over all models
2025-12-12 18:17:47 -05:00
51c26dd9fc
Optimization in computing meets and joins
2025-12-12 14:49:32 -05:00
bf2735023f
( #52 ) Skip model sizes 2-5 and 7 when conjunction, disjunction, and negation are defined
2025-12-12 11:38:52 -05:00
f799a1ff5d
Skip model sizes 2-5 and 7 when conjunction, disjunction, and negation are defined
2025-12-12 11:36:21 -05:00
ea0b487528
Changed output text to show matrix instead of model
2025-12-09 10:27:51 -05:00
18c2bcb673
Changed from model to matrix
2025-12-09 10:26:15 -05:00
3610335c1c
Added an initial model finder via Z3
2025-11-25 17:22:59 -05:00
2fbdf26274
( #42 ) Iterate over designated values instead of carrier set for VSP check
2025-11-05 16:55:42 -05:00
0a0b62f3a0
Iterate over designated values instead of carrier set
2025-10-29 15:15:10 -04:00
6d7fc9094a
Add flag to ignore constants during model equivalence
2025-06-17 22:05:45 -04:00
7305b358a9
Added utility scripts
2025-05-26 17:38:48 -04:00
b16376e35c
Added model equivalence check
2025-05-26 17:36:03 -04:00
94a01dd3da
Fixed misusage of Model constructor
2025-05-26 17:35:05 -04:00
bd0d836204
( #40 ) Consider less subalgebras
2025-05-14 20:37:24 -04:00
7b652f36eb
Transformed subalgebra generation from exponential to linear
2025-05-13 13:22:28 -04:00
214e9ba658
( #38 ) Redid parallel implementation
...
Queue-based parallel implementation with dedicated file reader node and dedicated VSP verifier nodes.
Additionally, cleaned up the other files.
2025-05-13 12:58:22 -04:00
ec451e007c
Removed comment
2025-05-13 12:55:24 -04:00
4cccdc85b9
Flush print
2025-05-13 12:53:46 -04:00
6639344280
Stopped bug triggered during timeout
2025-05-04 21:07:20 -04:00
cd084812cc
Removed a useless optimization and added one when negation is defined
2025-05-04 20:29:02 -04:00
01204a9551
Code cleanup
2025-05-03 16:42:15 -04:00
fa9e5026ca
[Draft] Changing OrderTable (Currently non-functional)
2025-05-03 12:54:37 -04:00
6f5074584b
Cleanup and small optimizations
2025-05-02 12:08:15 -04:00
de8637bca4
Dedicated process for file parsing
2025-04-09 13:00:08 -04:00
cb00a82c67
Attempt at keeping workers busy
2025-04-09 10:59:02 -04:00
806309b1ae
Adding more work to task queue and more detailed healthcheck
2025-04-09 09:51:19 -04:00
502252676f
Rewrote multiprocessing as the prior approach was unreliable
2025-04-08 21:10:28 -04:00
154cee0349
Switched to cpu_count
2025-03-19 09:31:25 -04:00
c554c53141
Removed dead code
2025-03-19 09:22:54 -04:00
4412b6c2da
Redid parallel implementation
...
- Made parse_matrices into a generator
- Keep track of num_proccesses results and spawn new ones when done
2025-03-18 18:08:28 -04:00
b1452ac672
( #36 ) Optimize MaGIC Input Parsing
2025-03-18 15:50:56 -04:00
1a4857429f
Use partition instead of split/join
2025-02-18 13:38:39 -05:00
2d8540f5c2
Discarding Order-Dependent Subalgebras ( #14 )
2025-02-09 11:29:57 -05:00
d431030b41
Added case for when negation is defined
2025-02-09 11:28:09 -05:00
db30799c4f
Removed unused inequality rules
2025-02-09 11:19:23 -05:00
b1a046b70b
Removed unused inequality rules
2025-02-09 11:18:52 -05:00
d76a7fc35d
Implemented feature #31
...
Skip VSP check until a certain model name is found
2025-02-09 11:16:02 -05:00