Skip to content

Commit 95bff44

Browse files
committed
Document probabilistic logic in valence overview
1 parent 4386f31 commit 95bff44

4 files changed

Lines changed: 57 additions & 8 deletions

File tree

.gitkeep

Lines changed: 0 additions & 4 deletions
This file was deleted.

README.md

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -79,10 +79,10 @@ RML (Relative Meta-Logic, formerly Associative-Dependent Logic / ADL) is a minim
7979
| 1 | Unary (trivial) | `{any}` (no quantization) | `{any}` (no quantization) | [Many-valued logic](https://en.wikipedia.org/wiki/Many-valued_logic) |
8080
| 2 | Binary / [Boolean](https://en.wikipedia.org/wiki/Boolean_algebra) | `{0, 1}` (false, true) | `{-1, 1}` (false, true) | [Classical logic](https://en.wikipedia.org/wiki/Classical_logic) |
8181
| 3 | Ternary / [Three-valued](https://en.wikipedia.org/wiki/Three-valued_logic) | `{0, 0.5, 1}` (false, unknown, true) | `{-1, 0, 1}` (false, unknown, true) | [Kleene logic](https://en.wikipedia.org/wiki/Three-valued_logic#Kleene_and_Priest_logics), [Łukasiewicz logic](https://en.wikipedia.org/wiki/%C5%81ukasiewicz_logic), [Balanced ternary](https://en.wikipedia.org/wiki/Balanced_ternary) |
82-
| 4 | Quaternary | `{0, ⅓, ⅔, 1}` | `{-1, -⅓, ⅓, 1}` | [Belnap's four-valued logic](https://en.wikipedia.org/wiki/Many-valued_logic) |
82+
| 4 | Quaternary / [Four-valued](https://en.wikipedia.org/wiki/Four-valued_logic) | `{0, ⅓, ⅔, 1}` | `{-1, -⅓, ⅓, 1}` | [Belnap's four-valued logic](https://en.wikipedia.org/wiki/Four-valued_logic#Belnap) |
8383
| 5 | Quinary | `{0, 0.25, 0.5, 0.75, 1}` | `{-1, -0.5, 0, 0.5, 1}` | [Many-valued logic](https://en.wikipedia.org/wiki/Many-valued_logic) |
84-
| N | N-valued | N evenly-spaced levels | N evenly-spaced levels | [Many-valued logic](https://en.wikipedia.org/wiki/Many-valued_logic) |
85-
| 0/∞ | Continuous / [Fuzzy](https://en.wikipedia.org/wiki/Fuzzy_logic) | Any value in `[0, 1]` | Any value in `[-1, 1]` | [Fuzzy logic](https://en.wikipedia.org/wiki/Fuzzy_logic), [Łukasiewicz ∞-valued](https://en.wikipedia.org/wiki/%C5%81ukasiewicz_logic) |
84+
| N | [Finite-valued](https://en.wikipedia.org/wiki/Finite-valued_logic) / N-valued | N evenly-spaced levels | N evenly-spaced levels | [Many-valued logic](https://en.wikipedia.org/wiki/Many-valued_logic), [Finite-valued logic](https://en.wikipedia.org/wiki/Finite-valued_logic) |
85+
| 0/∞ | Continuous / [Probabilistic](https://en.wikipedia.org/wiki/Probabilistic_logic) / [Fuzzy](https://en.wikipedia.org/wiki/Fuzzy_logic) | Any value in `[0, 1]` | Any value in `[-1, 1]` | [Probabilistic logic](https://en.wikipedia.org/wiki/Probabilistic_logic) (probability logic), [Fuzzy logic](https://en.wikipedia.org/wiki/Fuzzy_logic), [Infinite-valued logic](https://en.wikipedia.org/wiki/Infinite-valued_logic), [Łukasiewicz ∞-valued](https://en.wikipedia.org/wiki/%C5%81ukasiewicz_logic) |
8686

8787
## Quick Start
8888

@@ -1101,7 +1101,10 @@ with this file so any new violation fails the build.
11011101
- [Boolean algebra](https://en.wikipedia.org/wiki/Boolean_algebra) — classical 2-valued logic
11021102
- [Three-valued logic](https://en.wikipedia.org/wiki/Three-valued_logic) — ternary logics (Kleene, Łukasiewicz, Bochvar)
11031103
- [Łukasiewicz logic](https://en.wikipedia.org/wiki/%C5%81ukasiewicz_logic) — N-valued and infinite-valued extensions
1104+
- [Finite-valued logic](https://en.wikipedia.org/wiki/Finite-valued_logic) — discrete many-valued logic with finitely many truth values
1105+
- [Infinite-valued logic](https://en.wikipedia.org/wiki/Infinite-valued_logic) — continuous-valued many-valued logic families
11041106
- [Fuzzy logic](https://en.wikipedia.org/wiki/Fuzzy_logic) — continuous-valued logic with degrees of truth
1107+
- [Probabilistic logic](https://en.wikipedia.org/wiki/Probabilistic_logic) — probability and logic for reasoning under uncertainty
11051108
- [Balanced ternary](https://en.wikipedia.org/wiki/Balanced_ternary) — ternary system using {-1, 0, 1}
11061109
- [Four-valued logic (Belnap)](https://en.wikipedia.org/wiki/Four-valued_logic#Belnap) — extends classical logic with "both" (contradiction) and "neither" (gap)
11071110
- [Liar paradox](https://en.wikipedia.org/wiki/Liar_paradox) — "this statement is false" and its resolution in many-valued logics

docs/CONFIGURABILITY.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,8 @@ RML reverses this priority. Its design goals demand:
4040
1. **Many-valued by default.** RML supports unary, Boolean, ternary
4141
([Kleene](https://en.wikipedia.org/wiki/Three-valued_logic#Kleene_and_Priest_logics)),
4242
N-valued, [Belnap four-valued](https://en.wikipedia.org/wiki/Four-valued_logic#Belnap),
43-
and continuous [fuzzy](https://en.wikipedia.org/wiki/Fuzzy_logic) /
43+
and continuous [probabilistic](https://en.wikipedia.org/wiki/Probabilistic_logic),
44+
[fuzzy](https://en.wikipedia.org/wiki/Fuzzy_logic), and
4445
[Łukasiewicz ∞-valued](https://en.wikipedia.org/wiki/%C5%81ukasiewicz_logic) logics.
4546
No single fixed `and`/`or` works across all of these; min, max, average,
4647
product, and probabilistic-sum are all the right answer somewhere.

scripts/docs.test.mjs

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -140,6 +140,55 @@ describe('compatibility and release documentation', () => {
140140
});
141141
});
142142

143+
describe('supported logic type overview documentation', () => {
144+
function readmeTableRow(prefix) {
145+
const readme = read('README.md');
146+
return readme.split('\n').find(line => line.startsWith(prefix));
147+
}
148+
149+
it('mentions probabilistic logic in the continuous valence row', () => {
150+
const row = readmeTableRow('| 0/∞ |');
151+
152+
assert.ok(row, 'README must include the continuous valence row');
153+
for (const expected of [
154+
'[Probabilistic](https://en.wikipedia.org/wiki/Probabilistic_logic)',
155+
'[Probabilistic logic](https://en.wikipedia.org/wiki/Probabilistic_logic)',
156+
'probability logic',
157+
'[Infinite-valued logic](https://en.wikipedia.org/wiki/Infinite-valued_logic)',
158+
]) {
159+
assert.ok(row.includes(expected), `continuous row missing ${expected}`);
160+
}
161+
});
162+
163+
it('uses specific Wikipedia references for finite and four-valued logic rows', () => {
164+
const quaternary = readmeTableRow('| 4 |');
165+
const nValued = readmeTableRow('| N |');
166+
167+
assert.ok(quaternary, 'README must include the quaternary valence row');
168+
assert.ok(nValued, 'README must include the N-valued valence row');
169+
assert.ok(
170+
quaternary.includes('https://en.wikipedia.org/wiki/Four-valued_logic'),
171+
'quaternary row must link four-valued logic',
172+
);
173+
assert.ok(
174+
nValued.includes('https://en.wikipedia.org/wiki/Finite-valued_logic'),
175+
'N-valued row must link finite-valued logic',
176+
);
177+
});
178+
179+
it('keeps the expanded logic references in the README bibliography', () => {
180+
const readme = read('README.md');
181+
182+
for (const expected of [
183+
'[Probabilistic logic](https://en.wikipedia.org/wiki/Probabilistic_logic)',
184+
'[Finite-valued logic](https://en.wikipedia.org/wiki/Finite-valued_logic)',
185+
'[Infinite-valued logic](https://en.wikipedia.org/wiki/Infinite-valued_logic)',
186+
]) {
187+
assert.ok(readme.includes(expected), `README references missing ${expected}`);
188+
}
189+
});
190+
});
191+
143192
describe('self-bootstrap tutorial documentation', () => {
144193
it('is linked from the README', () => {
145194
const readme = read('README.md');

0 commit comments

Comments
 (0)