- DOGgy Style Programming
- Half-Truth Tables and Abnormal Forms: The Hitchhiker's Guide To Logic
#### Software

#### Documentation

#### Applicants

- Work Package for Applicants
- Applicant 1: repository documentation application
- Applicant 2: repository documentation application
- Applicant 3: repository documentation application
- Applicant 4: repository documentation application
- Applicant 5: repository documentation application
- Applicant 6: repository documentation application
- Applicant 7: repository documentation application
- Applicant 8: repository documentation application
- Applicant 9: repository documentation application
- Applicant 10: repository documentation application
- Applicant 11: repository documentation application

#### Sudoku

- The World's Hardest
Sudoku describes an IDDFS algorithm for solving
sudokus.

It is suitable for humans with paper, pencil and a copy machine or a computer program.

The depth does not exceed 3 hypotheses for any given sudoku. - Automated Sudoku
Documentations

The hardest sudokus are in level very deep. - HDP Sudoku - Hypothesis/Disproof/Proof helper for Sudokus.
- Linux (pyinstaller archive)

Try`HDPSudoku --help`for batch options.

Optional OS packages:`sudo apt-get install graphviz`

- Windows (pyinstaller archive)

Try`HDPSudoku.exe --help`for batch options.

Optional OS packages: GraphViz - Python
(AdHoc'ed archive)

Use`python HDPSudoku.py --help`to see batch options.

Needs OS packages: `sudo apt-get install python-qt4 python-docutils python-pymongo python-sqlalchemy`Needs python packages: `pip install ws_docutils`Optional OS packages: `sudo apt-get install graphviz``python HDPSudoku.py --explode`to view/modify source code.

- Linux (pyinstaller archive)

- The World's Hardest
Sudoku describes an IDDFS algorithm for solving
sudokus.

#### Satoku Matrix

- Structural Single State Mutinex Logic (PDF) -- Satoku Matrix in a nut-shell. Describes an inverted adjacency matrix as a formalized state relation matrix.
- Satoku Matrix Principle -- what Structural Logic aims at, and where it will arrive one day
- Generalization of CNF and Consequences for DNF of Implicants under Distributive Expansion (PDF) -- Precursor to the Satoku Matrix
- CDCL and Direct Encoding -- SAT solver experiments
- Rationale for the Satoku Matrix -- Abstract Drafts and Notes
- Satoku package (Emacs Lisp, Python, examples) (18Mb)

#### Other Satoku Matrix Material

- Partial Distributive Expansion of CNF Problems - The Foundation of the Satoku Matrix
- 2-SAT Algorithm For Complete Set of Solutions (PDF, almost finished)
- Satoku Matrix: Mapping a Logical Problem
- Satoku Matrix: 2-SAT Solutions
- Satoku Matrix: Row Updates
- Satoku Matrix: Variables, Truth Table, Resolution and Expansion
- Satoku Matrix: Indirect Conflicts
- Satoku Matrix: Problem Encoding
- Satoku Matrix: XOR - Gauss-Jordan Elimination
- Satoku (general, in permanent flux)
#### Examples (included in package)

#### Examples (not included in package)

- Pick-A-Puck -- the difference between setting propositional variables to true or false and making a selection from a clause

#### Experimental (links may or may not work, so don't bookmark)

- Rants

#### The "deprecated" warning dilemma

**and**a new system?

Now, do I have to write it twice, if I do not appreciate the stupid warnings?*new stuff*in terms of the*old stuff*:

`(unless (fboundp 'new-stuff) (defun new-stuff() (in terms of old-stuff)))`This would also be the Python

`from __future__ import new-stuff`principle, if only`import from __future__`did work all the way back to version 0.0.#### The "cut-and-paste" conundrum (also: the library misconception)

The rules for code procreation by `cut-and-paste' are simple:

- If the copy is given up for adoption (i.e., nobody cares
what becomes of it):
- Copy as much as possible, since everything copied contains no additional typos.
- Modify the copy to your heart's content.

- If the clones may have to be re-educated at a later time:
- Keep the original for reference and modification.
- Prominently mark the beginning of the copied section and never ever modify it after pasting (anchor for diff(1)).
- Generally avoid modification after pasting. Instead, modify the original and regenerate the clone(s) at your earliest convenience. Or when hell freezes over. Whichever comes first.

This results in the concept of a single-step library.

A Library of text snippets, which is used with diff(1) to update copies manually, semi-automatically or fully automatically.- If the copy is given up for adoption (i.e., nobody cares
what becomes of it):