Proposition #1

Open
opened 2026-05-27 12:54:14 +00:00 by bemmesr · 2 comments
Owner

Create a data structure which has the task of holding a single proposition of truth‐functional logic. Its instantiation should be as efficient as feasible, and it should be able to hold arbitrarily sized propositions (as limited by the computer's hardware). Specifically, propositions are formed of the following connectives:

  • ¬

Though no consideration needs to be given to a user interface, so each of these connectives may well be treated as a unique integer. So long as they remain distinguishable.

To pass, there ought to be a suite of tests showing that each connective alone and in combination can be used to define a proposition in this data structure, and that upon reading the structure the same proposition is preserved. That is, basic read and write into this structure should work as expected.

Create a data structure which has the task of holding a single proposition of truth‐functional logic. Its instantiation should be as efficient as feasible, and it should be able to hold arbitrarily sized propositions (as limited by the computer's hardware). Specifically, propositions are formed of the following connectives: - → - ∧ - ∨ - ¬ Though no consideration needs to be given to a user interface, so each of these connectives may well be treated as a unique integer. So long as they remain distinguishable. To pass, there ought to be a suite of tests showing that each connective alone and in combination can be used to define a proposition in this data structure, and that upon reading the structure the same proposition is preserved. That is, basic read and write into this structure should work as expected.
bemmesr self-assigned this 2026-05-27 13:26:36 +00:00
bemmesr added reference 001-proposition 2026-05-27 13:28:33 +00:00
Author
Owner

When it comes to the matter of ‘reading’ propositions, as there is no UI in the making yet, it seems to make more sense to simply evaluate. As such, in order to properly test even this issue on its own there must be an evaluation function. The alternative would be to create a printing function just for the purpose of testing, which would seem a shame.

For this reason, this issue will now encompass the creation of propositions as well as their evaluation plus anything else necessary in relation to these. The tests will rely on the evaluation function in order to identify if the other functions are working as expected.

When it comes to the matter of ‘reading’ propositions, as there is no UI in the making yet, it seems to make more sense to simply evaluate. As such, in order to properly test even this issue on its own there must be an evaluation function. The alternative would be to create a printing function just for the purpose of testing, which would seem a shame. For this reason, this issue will now encompass the creation of propositions as well as their evaluation plus anything else necessary in relation to these. The tests will rely on the evaluation function in order to identify if the other functions are working as expected.
Author
Owner

Based on above comment, bemmesr/liblogic#2 is no longer needed.

Based on above comment, bemmesr/liblogic#2 is no longer needed.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
bemmesr/liblogic#1
No description provided.