I am developing “Aristotle’s World”, an interactive tutorial on Aristotelian logic for Mathematica 13 and Wolfram Cloud. The mathematical and philosophical foundations of this project are presented in Claus Brillowski (2026), An Algebraic Model for the Syllogistic, ResearchGate. https://doi.org/10.13140/RG.2.2.24345.17767​
The notebook introduces the four AEIO judgment forms, represents them in tensor form, and develops Aristotelian deduction rules as a combinatoric closure process. The square of judgments is then connected to the fixed-point behaviour of the system.
The project is designed as a hands-on notebook rather than a purely theoretical text, so users can directly explore how judgments, tensors, and deductions interact.
I would be glad to hear feedback from the Wolfram community on the basic ideas, notebook design, and possible improvements.
​Notebooks for individual chapters: https://www.wolframcloud.com/obj/brillowski/Published/Aristotles-World.nb
Preface
Aristotelian logic is fundamentally different from the mathematical logic taught in most textbooks. Three features set it apart:
1. It is a philosophical logic, not only a mathematical one. Its sentences are called judgments and aim to describe reality and formal structures.
2. It works with incomplete information. You do not need to know everything about the world to draw valid conclusions.
3. It is paraconsistent. Contradictory observations do not make everything explode into contradictions.
These three features are deeply interconnected, and they shape the entire system.

Philosophical vs. Mathematical Truth

In mathematics, a sentence is true if it can be derived from axioms using valid deduction rules. The axioms are true by definition, and deduction preserves truth. This gives mathematical logic an unusual clarity: contradictions cannot happen unless the system itself is broken. If you encounter a contradiction, you stop.
Aristotelian logic does not have that luxury. Its truth criterion is different:
A sentence is true if and only if it corresponds to a real situation.
This shifts everything. Deduction alone cannot guarantee truth. The world is independent of our reasoning about it. Information comes primarily from perception, and perception is partial, contextual, and sometimes conflicting.

An Example: The Bent Stick

A straight stick is half-submerged in water. Looking at it, you perceive it as bent at the water's surface. You pull it out. Now you perceive it as straight.
The two perceptions are inconsistent: the stick cannot be both bent and straight. Yet both perceptions are genuine. Each faithfully reports a real sensory situation.
In classical mathematical logic, this would be disastrous. Once you have a contradiction, the principle of explosion allows you to derive anything. The system becomes trivial.
But perception-based reasoning cannot afford explosion. The contradiction is not a failure of logic - it is a signal that your information is incomplete. The solution is not to reject one perception or embrace both as "simultaneously true." Instead, you add context: the stick is straight, but light refracts at the water's surface. The conflict dissolves through additional information, not through choosing sides.

Paraconsistency: Three Approaches

Modern logic has developed paraconsistent systems - formal logics that do not explode in the presence of contradictions. Two main approaches are well known (https://plato.stanford.edu/entries/logic-paraconsistent/).
(a) Da Costa's C-systems restrict the structural rules of inference so contradictions do not propagate.
(b) Priest's dialetheism accepts some contradictions as genuinely true.
Aristotelian logic follows a third path:
(c) Contradictions signal over-determination due to incomplete information. They are resolved not by restricting inference or embracing paradox, but by adding information and integrating partial observations into a coherent framework of scientific explanation .
This is precisely what the formal machinery in this tutorial is designed to handle: reasoning under incomplete and potentially conflicting information, guided by deductive structure.

Why "Aristotle's World"?

This tutorial is modeled in spirit after Barwise and Etchemendy’s Tarski’s World, the classic interactive introduction to first-order logic. But the starting point is fundamentally different.
Tarski's World assumes a fully known, mathematically precise universe. You see all objects, all their properties, all their relations. Truth is verification against a complete model.
Aristotle's World assumes the opposite: a partially known reality, accessed through perception and structured by learning. Individuals may be known only through some of their properties. Predicates may apply in some cases and remain unknown in others. Contradictions may arise and await resolution. Truth is correspondence to situations you do not fully control.
Chapter 1 — Predicates and Individuals
The file ArTensorLogic . wl is attached at the end of the post
In[]:=
CloudGet["ArTensorLogic.wl"]
Before we can reason about the world, we need to decide what the world contains and what we want to say about it. Aristotelian logic is built on a single fundamental notion: the predicate. Individuals are special predicates.

1.1 Predicates

A predicate is a general term that expresses a property, a kind, or a category. Predicates can apply to other predicates, or to individuals.
Examples of predicates:
​
• is mortal
• is a mammal
• is warm-blooded
• can fly
• is a bird
Notice that predicates can be nested: “every bird is a vertebrate” applies the predicate “is a vertebrate” to all things falling under “is a bird”. This is the normal case in Aristotelian logic: the subject of a judgment is itself a predicate.

1.2 Individuals

An individual is a limiting case of a predicate — one that applies to exactly one thing. Terms name predicates and singular terms name individuals. For example: “Socrates” names a predicate that picks out exactly one individual, Socrates.
Examples of individuals (as singular predicates):
​
• Socrates (this particular person)
• This dog in front of me (this particular animal)
• The oak tree in my garden (this particular tree)
• A unique, particular triangle or number
In our formal model, both predicates and individuals are represented by the same set of numbers: 1, 2, 3, … up to n. Individuals are those numbers that are designated as “atomic” — they appear only on the subject side of judgments, never as predicates of others.

1.3 Partial Knowledge

Here is what makes Aristotelian logic philosophically distinctive: we do not need to know everything about all predicates and individuals. We only know what we have learned so far.
Imagine you are a naturalist exploring a new island. You have observed some animals and learned some things about them — but not everything. You have partial knowledge. Aristotelian logic lets you reason with exactly that partial knowledge, draw conclusions from it, and extend it step by step as you learn more.
This is fundamentally different from classical mathematical logic, which assumes a complete, determined `Tarskian World’ where every statement is either true or false. In Aristotle’s World, truth is something that accumulates through learning.

1.4 Your First World: An Example

Let us build a small world with three predicates and two individuals.
World: Animals on an Island
​
Predicates: 1 = is a bird, 2 = can fly, 3 = lives in water
Individuals: 4 = penguin, 5 = eagle
​
What do we know so far?
​
• A penguin is a bird. (individual 4 falls under predicate 1)
• An eagle is a bird. (individual 5 falls under predicate 1)
• An eagle can fly. (individual 5 falls under predicate 2)
This is our starting point: three facts about two animals. Notice what we do NOT know yet: Can a penguin fly? Does a bird always live on land? and many other possible facts we have not mentioned. Aristotelian logic works with exactly this kind of partial knowledge.
In the next chapter, we will learn how to express these facts formally using the four Aristotelian judgment forms A, E, I, O.

Interactive: Build Your Own World

Move the sliders to choose how many predicates and individuals your world contains. The table shows all terms: predicates (P1, P2, ...) appear in both rows and columns; individuals (a1, a2, ...) appear in rows only.
Out[]=
​
Predicates
3
Individuals
2
3 predicates (P1…P3) + 2 individuals (a1…a2)
S \ P
P1
P2
P3
P1
□
□
□
P2
□
□
□
P3
□
□
□
a1
□
□
□
a2
□
□
□
Reflection
​
The rows show subjects (S), the columns show predicates (P). A filled cell would mean: “S falls under P”. Notice that individuals (a1, a2, …) appear as rows only — they cannot themselves be predicated of anything. Predicates (P1, P2, …) appear in both rows and columns.
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

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
Two dimensions structure these four forms:
​
• 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

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”.
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

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.
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

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[]=
​
Number of terms (n)
4
Empty tensor: 4 terms, 4 judgment types
A
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
E
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
I
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
O
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Each matrix shows one judgment type. Rows = subject S, Columns = predicate P. Entry 1 = judgment known.
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.
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]
Evaluate the cell above (Shift+Enter) to see the four judgment matrices for our initial knowledge state.

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)
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).

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.
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

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?
Chapter 3 - Tensor andDeduction
In the previous chapters we introduced predicates and individuals, the four judgment forms A, E, I, and O, and the tensor representation implemented in ArTensorLogic.wl. So far, however, we have used the function fixedPointTensorAEIO without explaining how it arises. In this chapter we make the underlying idea explicit. We study minimal Aristotelian deduction rules and interpret these rules as transformations of tensors. The fixed point construction will then appear as the closure of a tensor under repeated rule application.

3.1 Building a Tensor

To keep the examples executable and close to ArTensorLogic.wl, we use the actual package convention for judgments. A judgment is represented as a triple {r,j,c}, where r is a row index, j is one of the four judgment sections, and c is a column index. The tensor itself has number of terms n, yielding a tensor of shape <n,4,n> that is created by createArTensor[n].
We begin with a small tensor of <3,4,3>. This gives us room for several judgment positions while keeping the display easy to read.
The tensor t0 is empty. It contains the four judgment sections A, E, I, and O in tensor form. A single judgment can now be inserted by addJudgment.

Example 3.2.1: Adding One Judgment

The command below adds a single judgment at row 1, judgment section A, column 2.
The triple {1, "A", 2} means: row 1, judgment section A, column 2. In this notation, the package works directly with tensor positions rather than with symbolic placeholders such as S and P inside executable code.

Example 3.2.2: Checking Membership

The predicate inT can be used to check whether a given judgment is already present in the tensor.
The first query checks whether the A-judgment at position (1,2) is present. The second query checks the corresponding I-position. This is useful when we want to study how deduction rules change the tensor.

3.2 Judgment Sections and Local Rules

Since the tensor is organized into four judgment sections, it is often useful to inspect one section at a time. The function matJ[t,j] returns the matrix corresponding to the judgment section j.
This separation into judgment sections makes it natural to think of deduction rules as local tensor transformations. A rule may inspect one section, add a judgment to another section, or test whether a related position is already occupied.
For example, the subalternation relation between A(S,P) and I(S,P) suggests that an A-entry at a given tensor position may support the corresponding I-entry at the same position. Likewise, the subalternation relation between E(S,P) and O(S,P) suggests a propagation from E to O.

3.3 From One Step to Closure

A single rule application is only the beginning. Aristotelian closure arises when such local steps are applied repeatedly until the tensor no longer changes. This is the point at which the fixed point idea enters the picture.
The package function fixedPointTensorAEIO[t] computes exactly this kind of stable result. Starting from a tensor t, it derives an Aristotelian closed tensor by iterating the relevant deduction behavior.

Example 3.4.1: Closing a Tensor

We now apply the fixed point construction to the tensor t1.
The passage from t1 to t2 should be read as a passage from an initial tensor to its closure under Aristotelian deduction rules. This is why fixedPointTensorAEIO should not be treated as a black box. It expresses the stable result of repeated rule application.

3.4 Sets of Judgments and Reconstruction

The tensor formalism can also be related to explicit lists of judgments. This is useful when we want to move between a set-theoretic description and its tensor representation.
Conversely, tensorToPset[t] derives the list of judgments represented by a tensor, and tensorToMinimalPset[t] produces a minimized list. These operations help us compare the explicit and the tensorial presentation of Aristotelian judgment data.
Move the slider downward to remove judgments from the end of the explicit list. This shows how the same tensor formalism can be reconstructed from shorter or longer judgment prefixes, and how the recovered full and minimal lists change accordingly.

3.5 Transition to the Next Chapter

We can now describe the role of fixedPointTensorAEIO in conceptual terms. We begin with an initial tensor that contains some AEIO judgments. We then apply Aristotelian deduction rules repeatedly. Some rules propagate judgment forms along subalternation relations. Other rules register oppositional patterns in the tensor. The process continues until further rule applications no longer change the tensor.
The stable result can be viewed as a fixed point of the combined deduction rules. In the next chapter we will introduce the square of judgments and show how the interaction between the square and fixed points leads to the paraconsistent behavior of Aristotle's World.
Chapter 4 - The Square of Judgments and Fixedpoints
In the previous chapter we studied Aristotelian deduction rules and their realization on AEIO tensors. The fixed point construction was introduced as the closure of a tensor under repeated rule application. In this chapter we add a second structural component: the square of judgments. Our aim is to understand how the square interacts with the fixed point behavior and how this interaction leads to a paraconsistent reading of Aristotle's World.

4.1 The Square of Judgments

We work with the four judgment forms A, E, I, and O as before. In Aristotle's World these forms are connected by structural relations. The square of judgments is a diagram that records these relations for one pair of subject and predicate, (S,P).
The relations are:
- A(S,P) and I(S,P) stand in a subalternation relation.
- E(S,P) and O(S,P) stand in a subalternation relation.
- A(S,P) and E(S,P) stand in a contrary relation.
- I(S,P) and O(S,P) stand in a subcontrary relation.
- A(S,P) and O(S,P) stand in a contradictory opposition.
- E(S,P) and I(S,P) stand in a contradictory opposition.

Example 4.1.1: A Schematic Square Diagram

This example is schematic pseudo-code for a graphics cell that draws the square of judgments. It is not essential for the tensor logic itself, but it helps to keep the structure in mind.

4.2 The Square Inside the Tensor

In the tensor representation used by ArTensorLogic.wl, the four judgment forms are organized into four judgment sections. For a tensor t, the call matJ[t, "A"] returns the matrix corresponding to the A-section, and similarly for "E", "I", and "O".
In this small example, the tensor t2 contains both an A-entry and an I-entry at the same row and column indices. In traditional terminology, this corresponds to the subalternation relation between A(S,P) and I(S,P) for one fixed pair S,P. In the tensor, this relation becomes visible as the simultaneous occupation of positions in the A- and I-sections.
More generally, whenever we speak of A(S,P), E(S,P), I(S,P), and O(S,P) for one pair (S,P), we can think of the row and column indices as encoding this pair. The four judgment sections then record which combinations of forms are present at that tensor position.

4.3 Ten Aristotelian Basic Inferences

In addition to the square of judgments, Aristotelian logic is characterized by canonical syllogistic inferences. Aristotle presents a small collection of basic syllogisms from which further inferences can be derived. In this chapter we focus on ten such syllogistic patterns as abstract deduction schemes between AEIO judgments.
The following list gives ten well known Aristotelian syllogisms in AEIO notation. The letters S, P, and M are schematic subject, predicate, and middle terms:
1. I-Conversion: I(S,P) => I(P,S)
2. E-Conversion: E(S,P) => E(P,S)
3. A-Subalternation: A(S,P) => I(S,P)
4. E-Subalternation: E(S,P) => O(S,P)
5. Barbara: A(M,P), A(S,M) => A(S,P)
6. Celarent: E(M,P), A(S,M) => E(S,P)
7. Darii: A(M,P), I(S,M) => I(S,P)
8. Ferio: E(M,P), I(S,M) => O(S,P)
9. Baroco: A(P,M), O(S,M) => O(S,P)
10. Bocardo: O(M,P), A(M,S) => O(S,P)
◼
  • In Aristotle's World, when the premises 1-10 are given, the conclusions 1-10 follow by necessity.
  • Each item on this list can be read as a pattern of movement in the AEIO space. Starting from a configuration of premises of types A, E, I, and O, and using the middle term M as a connector, we are led to a conclusion of a specific AEIO form about S and P. The fixed point construction on tensors can be seen as the cumulative effect of closing a configuration under such syllogistic patterns.

    4.4 Fixed Points as Syllogistic Closure

    The function fixedPointTensorAEIO[t] turns an initial tensor t into a closed tensor under Aristotelian deduction rules. Conceptually, this means that all consequences that can be generated by the relevant syllogistic patterns, such as the ten basic inferences listed above, are already present in the resulting tensor.
    From a practical point of view, the process can be summarized as follows:
    ​
    1. Start from an initial tensor t0 representing a finite list of AEIO judgments.
    2. Apply local deduction behavior that reflects the Aristotelian rules (including the canonical syllogisms).
    3. Repeat this proce ss until the tensor no longer changes.
    4. The resulting tensor t* is a fixed point of the deduction behavior and can be regarded as syllogistically closed.

    Example 4.4.1: Closing a Tensor under FixedPointTensorAEIO

    We illustrate the idea with a small example. We begin with a set of judgments in pset-form and translate it into a tensor. Then we apply the fixed point construction and finally translate back to a list of judgments.
    This computation can be read as follows. The initial list pset0 describes some AEIO judgments at selected tensor positions. The tensor t0 encodes this information in a tensorial form. The call fixedPointTensorAEIO[t0] then performs the closure under Aristotelian deduction rules, yielding a tensor t1 in which all relevant consequences are present.
    To compare the initial and the closed configuration in list form, we can use tensorToPset and tensorToMinimalPset.
    The list produced by tensorToMinimalPset[t1] can be viewed as a compressed representation of the fixed point configuration. It has been closed under the Aristotelian rules encoded in fixedPointTensorAEIO, including those patterns that correspond to the ten basic syllogisms described earlier. n this way, the interaction between the square of judgments and the fixed point construction leads to a paraconsistent behavior. Inconsistent AEIO configurations do not immediately explode into complete triviality. They are contained and structured by the tensor representation and by the Aristotelian deduction rules implemented in ArTensorLogic.wl.
    We illustrate the idea with a small interactive example. The slider n controls the number of terms. For each value of n, the Aristotelian tensor has shape <n,4,n>, where the middle component records the four judgment sections A, E, I, and O. The second slider keeps only the first k judgments from a fixed initial list. In this way we can watch how the fixed point grows step by step as more judgments are admitted into the initial configuration.
    This computation can be read dynamically. The slider for k changes the initial AEIO configuration by admitting more or fewer judgments from the fixed list. The slider for n changes the number of available terms and therefore the shape of the Aristotelian tensor <n,4,n>. For each setting, fixedPointTensorAEIO produces the syllogistic closure of the resulting initial tensor.

    4.5 The Twenty-four Aristotelian Syllogisms

    In traditional presentations of Aristotelian logic, the core of the syllogistic calculus is often summarized as the twenty-four ‘perfect’ syllogisms in the first, second, third, and fourth figures. In Aristotle’s World, these syllogisms are not added as a separate proof calculus on top of the tensor representation. Instead, they appear as special instances of the deduction behavior already encoded in the AEIO tensor and in the function fixedPointTensorAEIO.
    Conceptually, each of the twenty-four syllogisms can be seen as a pattern of movement in AEIO space. A configuration of premises about a subject S, a predicate P, and a middle term M is inserted into the tensor at the corresponding positions. The fixed point construction then propagates information through the A-, E-, I-, and O-sections until all relevant consequences are present. A familiar syllogistic conclusion appears exactly when the corresponding tensor position is occupied in the closed tensor.
    The code below implements this idea for the full list of twenty-four syllogisms. For each syllogistic figure, we construct an initial list of AEIO judgments for the premises, translate this list into an Aristotelian tensor of shape <n,4,n>, and apply fixedPointTensorAEIO. The result is a closed tensor in which we can test whether the expected conclusion is present at the appropriate tensor position.

    4.5.1 Proof Construction

    4.5.1.1 Standard Order of Judgments for Judgment and Figure Generation

    4.5.1.2 Syllogistic Figure Configuration

    4.5.1.3 Valid Figure Condition

    Glashoff’s standard enumeration ranges over all 256 combinatorial syllogistic rules determined by the four figures and the four judgment forms A, E, I, and O. The proof vector selects exactly those indices for which the target conclusion W is derivable from the premises U and V in the intended interpretation. In particular, the twenty-four traditional syllogisms form a distinguished subfamily of these 256 rules, and the so-called ‘perfect’ syllogisms constitute a proper subset of this family.
    When we say that the Aristotelian tensor proves ‘the twenty-four syllogisms’, this should therefore be read as follows: the tensor closure agrees with Glashoff’s proof vector on which of the 256 combinatorial labels are valid syllogistic rules. The perfect syllogisms appear among these twenty-four as especially simple cases, but they do not exhaust the full set of tensor-confirmed syllogistic inferences.

    4.5.2 Proof Execution

    The proof execution checks, if each of the 256 constallations is a valid inference.
    The following button executes the proof and tests all 256 syllogistic constalations. It computes the tensor-based proof vector, compares the result with Glashoff’s standard proof vector, and displays whether the two coincide.
    In this way the tensor formalism serves as a uniform proof environment for the syllogistic calculus. The same closure mechanism that realizes the ten basic inferences from Section 4.3 also verifies the twenty-four canonical syllogisms. No additional proof rules are needed. The classical list of syllogisms thus appears as a derived consequence of the AEIO structure, the square of judgments, and the fixed point behavior of Aristotelian tensors.
    At the same time, the tensor representation does more than reproduce the standard twenty-four syllogisms. Because inconsistent AEIO configurations are contained rather than exploded into triviality, the fixed point tensor can encode syllogistic structure even in the presence of tension between A, E, I, and O. The twenty-four syllogisms are therefore best viewed as a classical fragment inside a richer paraconsistent dynamics of Aristotelian tensors.
    We have reached the end of the tutorial on the syntax of Aristotle’s logic. Finally, a few words on the role of the tensor under the semantic dimension.

    4.6 Semantic Outlook

    The ten syllogistic deduction rules compute necessary consequences from given premises. One question remains: wherein is the necessity of this system of ten rules (or of any equivalent system) grounded? This question has two complementary answers.
    The philosophical answer is that the necessity derives from the formal structure of the predicates we actually employ while navigating the ocean of our cognition. Aristotle described this in great detail, and I reconstructed his description in my paper. For us moderns, however, the philosophical answer alone is no longer entirely satisfactory. We also have mathematics as a pillar of scientific knowlege. And in mathematics necessity is tied to conditions or axioms that are, or must be, satisfied.
    The question therefore becomes: what are the mathematical conditions under which the Aristotelian rules are satisfied? In contemporary logic this leads into the field of \emph{formal semantics}. On this level we have found the desired conditions once we know what mathematical objects correspond to AEIO-closures, and what mathematical objects behave according to the ten basic rules.
    The answer developed in my paper is that AEIO-closures correspond to abstract spaces called domains. The Aristotelian predicates themselves correspond to basic elements of these spaces, namely to neighbourhoods in such domains. The algebraic behaviour of AEIO-tensors reflects the way in which neighbourhoods can be combined and transformed inside a domain.
    The Tensor in ArTensorLogic.wl defines basic algebraic operations for the continuous, stepwise construction and modification of domains. In this sense, the fixed point construction on AEIO-tensors has a direct semantic counterpart in the closure behaviour of neighbourhoods in a domain.

    CITE THIS NOTEBOOK

    Aristotelian logic via AEIO tensors & fixed-point syllogistic closure: an interactive logic tutorial​
    by Claus Brillowski​
    Wolfram Community, STAFF PICKS, June 15, 2026
    ​https://community.wolfram.com/groups/-/m/t/3728616