Chapter 2 — The Four Judgment Forms
In[]:=
CloudGet["ArTensorLogic.wl"]
In Chapter 1 we built a world: a set of predicates and individuals, and a blank table of what we know about them. Now we begin to fill in that table. We do so using Aristotle’s four fundamental judgment forms.
2.1 The Four Forms
2.1 The Four Forms
Aristotle observed that every categorical judgment — every statement of the form “S is related to P” — belongs to one of four types. He named them with the letters A, E, I, O:
“Every S is P” — universal affirmative
“No S is P” — universal negative
“Some S is P” — particular affirmative
“Some S is not P” — particular negative
“No S is P” — universal negative
“Some S is P” — particular affirmative
“Some S is not P” — particular negative
Two dimensions structure these four forms:
• Quantity: universal (“every” / “no”) vs. particular (“some”)
• Quality: affirmative (“is”) vs. negative (“is not”)
• Quantity: universal (“every” / “no”) vs. particular (“some”)
• Quality: affirmative (“is”) vs. negative (“is not”)
The four forms are not independent. A implies I (if every S is P, then some S is P), and E implies O (if no S is P, then some S is not P). These immediate inferences are built into the structure of the tensor.
2.2 Symmetry: A and O vs. E and I
2.2 Symmetry: A and O vs. E and I
There is a crucial asymmetry between the four forms regarding symmetry:
A and O are asymmetric: “Every bird can fly” does NOT imply “everything that can fly is a bird”. The subject S and predicate P play different roles.
E and I are symmetric: “No bird is a fish” implies “No fish is a bird”. And “Some bird can swim” implies “Something that can swim is a bird”.
E and I are symmetric: “No bird is a fish” implies “No fish is a bird”. And “Some bird can swim” implies “Something that can swim is a bird”.
In the tensor model, this is implemented directly: when you add an E or I judgment for the pair (S, P), the tensor automatically also records it for (P, S). For A and O, only the directed entry (S, P) is stored.
2.3 The Tensor Model
2.3 The Tensor Model
In ArTensorLogic, the world is represented as a three-dimensional tensor T of shape n × 4 × n:
• The first dimension (rows) = subject S
• The second dimension = judgment type (A=1, E=2, I=3, O=4)
• The third dimension (columns) = predicate P
T[S, A, P] = 1 means: the A-judgment “every S is P” is known.
T[S, E, P] = 1 means: the E-judgment “no S is P” is known.
T[S, I, P] = 1 means: the I-judgment “some S is P” is known.
T[S, O, P] = 1 means: the O-judgment “some S is not P” is known.
• The first dimension (rows) = subject S
• The second dimension = judgment type (A=1, E=2, I=3, O=4)
• The third dimension (columns) = predicate P
T[S, A, P] = 1 means: the A-judgment “every S is P” is known.
T[S, E, P] = 1 means: the E-judgment “no S is P” is known.
T[S, I, P] = 1 means: the I-judgment “some S is P” is known.
T[S, O, P] = 1 means: the O-judgment “some S is not P” is known.
A zero entry does not mean the judgment is false — it means we do not know it yet. This is the partial knowledge principle from Chapter 1: absence of evidence is not evidence of absence.
2.4 Interactive: Enter Your First Judgments
2.4 Interactive: Enter Your First Judgments
The interactive element below lets you build a small world step by step. Choose how many terms (predicates + individuals) your world has, then add judgments one at a time. The tensor displays the four judgment matrices side by side.
To use this, you need ArTensorLogic loaded. If you are working in the Wolfram Cloud, evaluate the initialization cell first. If you have Mathematica with ArTensorLogic.wl installed, use Needs["ArTensorLogic`"].
Out[]=
Step-by-step example: the Animals world
Let us revisit our island world with n = 5 terms:
1 = is a bird (predicate)
2 = can fly (predicate)
3 = is a vertebrate (predicate)
4 = penguin (individual)
5 = eagle (individual)
We know:
(4, A, 1): every penguin is a bird
(5, A, 1): every eagle is a bird
(5, A, 2): every eagle can fly
(1, A, 3): every bird is a vertebrate
(1, E, 2): no bird-kind that cannot fly exists — wait, we do NOT know this yet!
So we start with just three A-judgments.
Let us revisit our island world with n = 5 terms:
1 = is a bird (predicate)
2 = can fly (predicate)
3 = is a vertebrate (predicate)
4 = penguin (individual)
5 = eagle (individual)
We know:
(4, A, 1): every penguin is a bird
(5, A, 1): every eagle is a bird
(5, A, 2): every eagle can fly
(1, A, 3): every bird is a vertebrate
(1, E, 2): no bird-kind that cannot fly exists — wait, we do NOT know this yet!
So we start with just three A-judgments.
In[]:=
t1=createArTensor[5];t1=addJudgment[t1,{4,"A",1}];t1=addJudgment[t1,{5,"A",1}];t1=addJudgment[t1,{5,"A",2}];t1=addJudgment[t1,{1,"A",3}];displayArTensor[t1]
Out[]=
A |
E |
I |
O |
Evaluate the cell above (Shift+Enter) to see the four judgment matrices for our initial knowledge state.
2.5 What We Can Already Conclude
2.5 What We Can Already Conclude
Even from these three A-judgments, Aristotelian logic can derive further conclusions automatically. The function fixedPointTensorAEIO closes the tensor under all valid syllogistic inferences.
The most important immediate inferences from A-judgments:
• A implies I: if “every S is P” then “some S is P” (Subalternation)
• A is transitive: if “every S is P” and “every P is Q” then “every S is Q” (Barbara)
• A implies I: if “every S is P” then “some S is P” (Subalternation)
• A is transitive: if “every S is P” and “every P is Q” then “every S is Q” (Barbara)
In[]:=
t1closed=fixedPointTensorAEIO[t1];displayArTensor[t1closed]
Out[]=
A |
E |
I |
O |
What new judgments appeared?
After closing t1, you should see:
In the A-matrix:
(4, A, 3): every penguin is a vertebrate — derived via Barbara from (4,A,1) and (1,A,3)
(5, A, 3): every eagle is a vertebrate — derived via Barbara from (5,A,1) and (1,A,3)
In the I-matrix:
All A-judgments generate corresponding I-judgments (Subalternation).
I-judgments are symmetric, so (S,I,P) also gives (P,I,S).
After closing t1, you should see:
In the A-matrix:
(4, A, 3): every penguin is a vertebrate — derived via Barbara from (4,A,1) and (1,A,3)
(5, A, 3): every eagle is a vertebrate — derived via Barbara from (5,A,1) and (1,A,3)
In the I-matrix:
All A-judgments generate corresponding I-judgments (Subalternation).
I-judgments are symmetric, so (S,I,P) also gives (P,I,S).
2.6 Build and Close Interactively: A Mini Case Study
2.6 Build and Close Interactively: A Mini Case Study
In the interactive element below we build a small world and close it under all Aristotelian syllogistic inferences using the fixedPointTensorAEIO operator.
In the Preface we compared three approaches to paraconsistency. Here we look at a first concrete mini case study of the third approach: the tensor records both negative and affirmative information about the same pair of terms, and the fixed point keeps track of their consequences without collapsing into triviality.
Out[]=
Move the slider downward to remove judgments one by one from the end of the list. This lets you see exactly when the E/I tension for the pair (1,6) enters the case study and how the fixed point changes when that tension is removed again.
The default judgment list includes 1, E, 6 and 1, I, 6. This means that, for the same subject-predicate pair, we have both a universal negative and a particular affirmative judgment. Look at the E-, I-, and O-matrices in the closed tensor: the system records the consequences of both inputs, but it does not explode into arbitrary conclusions.
Reflection
Reflection
1. Which judgments in the closed tensor come directly from your input, and which appear only after closure under fixedPointTensorAEIO?
2. Focus on the pair (1,6). How do the E-, I-, and O-matrices change when both 1, E, 6 and 1, I, 6 are present?
3. Move the slider from 6 down to 4. At which step does the mini case study of paraconsistency disappear?
4. Relate this to the Preface: how does this example illustrate a paraconsistent treatment of conflicting information?

