Requests for comment/organize wiki pages into syllogistic form

I propose a new extension that will enable wiki users to adhere to strict syllogistic form, thereby organizing wiki pages into a hierarchy of major-premises / minor-premises / conclusions.

Request for comment (RFC)
organize wiki pages into syllogistic form
Component General
Creation date
Author(s) Geremia
Document status in draft

For example, suppose someone creates a page called "All men are risible," which is based on the subjects men and risible. Men would be a shortcut to a page called, e.g., "Some men are animals;" risible would be a shortcut to a page called, e.g., "No risible beings are laughing." etc.

At the top of every page there would be a "Prove/disprove." button. Clicking it would bring up a page with the following form:
(where "_____" = text fields; [x] = distinguish checkbox; [ ] = 4 radio buttons)


Prove/disprove form

  1. Major premise: [A/E/I/O]: new/existing subject [x] is/isn't/are/aren't new/existing subject [x].
  2. Minor premise: [A/E/I/O]: new/existing subject [x] is/isn't/are/aren't new/existing subject [x].
  3. Conclusion: [A/E/I/O]: new/existing subject (default in this case: "Men") [x] is/isn't/are/aren't new/existing subject (default in this case: "risible") [x].
    • Submit button

A/E/I/O are from the square of opposition:

"Square of Opposition"

It will automatically check that a valid syllogism is selected.

Checking a distinguish checkbox [x] will append a distinguishing number to the subject, perhaps "Men_D1," where *_Dn would mean the nth distinction. "Men_D1" would be a shortcut to, e.g., "Some men are not risible." When a new subject is typed into a field, the distinguish checkbox will be disabled. Distinguishing can be thought of as branching in Git.

Creating a new page would bring up a simpler form:


New-page form

  • [A/E/I/O]: new/existing subject [x] is/isn't/are/aren't new/existing subject [x].
    • Submit button

Phase 1:

  1. Creating a logical/hierarchical data structure of all these syllogisms. All pages are conclusions of a syllogism, and they would have to keep track of which syllogism(s) they pertain to. Since I am new to MediaWiki extension development, I do not know if it is possible to store these syllogism data structures in particular pages, or if there is a better way to store them in the wiki database.

Phase 2:

  1. Searching syllogisms
  2. Finding a shortest path from a specified premise to a specified conclusion
  3. Hierarchical diagrams of the relationships between premises and conclusions

Phase 3 (future):

  1. Incorporate non-linear editing into the distinguish (or "branching") functionality.
  2. Decentralize distinctions, perhaps even storing them in browser's local cache.

Comments / suggestions / ideas on how to implement at least phase 1 appreciated.
thank you

(migrated from here)