8.2. The ontological square
-
PropertyKindCalculus.System[complete]
A system (Dybkær §3.3) is a demarcated arrangement of elements and their relationships; object (§3.3 Note 6) is given as a synonym. Specified abstractly by identity: what parts a system has is deliberately not a field, because Dybkær's own Note 5 makes the parts observer-relative — "the extent and structure of a system is essentially defined by the observer for some purpose" — so parthood arrives as a carving, below, rather than as stored structure.
Lean code for Definition8.2.1●1 definition
Associated Lean declarations
-
PropertyKindCalculus.System[complete]
-
PropertyKindCalculus.System[complete]
-
structuredefined in PropertyKindCalculus/Foundations.leancomplete
structure PropertyKindCalculus.System : Type
structure PropertyKindCalculus.System : Type
**§3.3 system** — "part or phenomenon of the perceivable or conceivable world consisting of a demarcated arrangement of a set of elements and a set of relationships or processes between these elements." Specified abstractly by identity here; the mereological structure needed for extensivity (§13.5) is added in a later module.
Fields
id : String
Terminological identity of the system/object (mirrors the OML `id`).
A one-field structure with DecidableEq; nothing to prove. The synonym
Object := System keeps the instance layer reading as "characterizes an
object".
-
PropertyKindCalculus.SortOfSystem[complete]
The sort of system — the substantial universal as against the substantial particular: plasma as against this sample, rover as against rover 1. Dybkær's dedicated kind-of-property is defined over exactly this — "kind-of-property with given sort of system and any pertinent component" (Ch. 20, quoted from the source's own definition) — and the mereological registry is keyed by it, because how parts unify into a whole is dictated by the sort of the whole.
Lean code for Definition8.2.2●1 definition
Associated Lean declarations
-
PropertyKindCalculus.SortOfSystem[complete]
-
PropertyKindCalculus.SortOfSystem[complete]
-
structuredefined in PropertyKindCalculus/Foundations.leancomplete
structure PropertyKindCalculus.SortOfSystem : Type
structure PropertyKindCalculus.SortOfSystem : Type
**§20 sort of system** — the *sort* an object belongs to, as distinct from the object itself: *plasma* as against this plasma sample, *rover* as against rover 1, *point-particle system* as against this system of five particles. Dybkær's dedicated kind-of-property is defined over exactly this — "kind-of-property with given **sort of** system and any pertinent component" — and the neo-Aristotelian reading says why the distinction earns a carrier of its own: what parts a whole has, how they unify, and which of its quantities aggregate are facts about the *sort*, not about the individual. The mereological registry (`Composite.Assembles`) is keyed by it for that reason: volume aggregates over the parts of a rigid assembly and contracts over the parts of a mixture, and a registry keyed by the kind-of-property alone cannot say so. Specified abstractly by identity, exactly as `System` is — the two are the same shape at two ontological levels. In Lowe's four-category ontology (*The Four-Category Ontology*, 2005, Fig. 7.1) the correspondence is exact: `SortOfSystem` is the **substantial universal**, his *Kinds* corner, and `System` the **substantial particular**, his *Substances*. The other column of the square is `KindOfProperty` (his *Attributes*) over `IndividualQuantity` (his *Modes*), and the calculus carries the square's edges as well as its corners: `Sorted.sortOf` below is the left *instantiated by* edge, and the other three edges live where the corners they join are defined (`IndividualQuantity`, `DedicatedKind`). The sort is also what answers a question the mereology cannot. A decomposition of a system makes a whole out of parts without settling how many entities that whole *is*; the count comes with the sortal, under whose "individuation principle" — Marmodoro, *Whole, but not One* (2018), §4, whence "[e]very science individuates its own individual subjects or substances" — a plurality is one thing of a kind. `SortOfSystem` is where a model states its own such principle, and `Composite` (with `Assembles`) is where the statement does work.
Fields
id : String
Terminological identity of the sort.
A one-field structure with DecidableEq, mirroring the system carrier one ontological level up. Sorted O is the instantiation arrow from an object type to its sorts (sortOf : O → SortOfSystem), declared per model and never derived. With these, the calculus carries all four corners of Lowe's ontological square (the correspondence is spelled out edge by edge below) — of which three were already present and the fourth was being played, by convention, by the particular. DedicatedKind.sort stores exactly what the quoted definition asks for, and dedicatedFor closes the square: dedicating a kind through an object contributes the object's sort, so two objects of one sort instantiate one catalogue entry while their quantities stay apart by type.
-
PropertyKindCalculus.IndividualQuantity[complete]
An individual quantity is a magnitude of a kind-of-property that characterizes an object (Ch. 3), with the object carried in the type alongside the kind. Its object is drawn from an arbitrary type, so a nominal system and a host library's own structural object are both admissible indices — the census of admissible shapes is the object-type chapter's subject.
Lean code for Definition8.2.3●1 definition
Associated Lean declarations
-
PropertyKindCalculus.IndividualQuantity[complete]
-
PropertyKindCalculus.IndividualQuantity[complete]
-
structuredefined in PropertyKindCalculus/IndividualQuantity.leancomplete
structure PropertyKindCalculus.IndividualQuantity.{u} {O : Type u} (o : O) (k : PropertyKindCalculus.KindOfProperty) (R : Type) : Type
structure PropertyKindCalculus.IndividualQuantity.{u} {O : Type u} (o : O) (k : PropertyKindCalculus.KindOfProperty) (R : Type) : Type
**An individual quantity.** A magnitude of kind `k`, at representation `R`, that **characterizes the object** `o` (Dybkær Ch. 3). Indexed by `o` as well as by `k`, so the type system forbids combining quantities of *different objects* — the object-aware refinement of `Quantity k R`, and the quantitative form of `IndividualProperty`.
Fields
magnitude : R
The magnitude, carried at the representation `R`.
A one-field structure IndividualQuantity {O : Type u} (o : O) (k : KindOfProperty) (R : Type). add is gated on the object, the kind, and a DifferenceKind scale witness; mul, div and recip on the object and a kind law. None of these reads o, which is why the generalization from Object to an arbitrary O changed no proof.
-
PropertyKindCalculus.Designated[complete]
A designated object type carries a map into the nominal system type, injectively, so an individual quantity of such an object can name it. The nominal type designates itself; a type whose objects are positions in a structure has no instance.
Lean code for Definition8.2.4●1 definition
Associated Lean declarations
-
PropertyKindCalculus.Designated[complete]
-
PropertyKindCalculus.Designated[complete]
-
classdefined in PropertyKindCalculus/Foundations.leancomplete
class PropertyKindCalculus.Designated.{u} (O : Type u) : Type u
class PropertyKindCalculus.Designated.{u} (O : Type u) : Type u
**An object type with terminological identity.** A map from the object type into the nominal `Object`, so an individual property can name the object it characterizes (§3.3) whatever the object type is. The injectivity field is the whole content of the class. Without it, an author facing a structural object type — physlib's particles, a mesh cell — can always satisfy the class by sending every object to one constant name, and the resulting designation is *worse than none*: it type-checks, it renders, and it silently reports two distinct objects as the same system. With it, a type whose objects carry no identity simply has no instance, which is the true answer and is the one a reader should get.
Methods
designation : O → PropertyKindCalculus.Object
The nominal designation of an object.
designation_inj : ∀ {x y : O}, PropertyKindCalculus.Designated.designation x = PropertyKindCalculus.Designated.designation y → x = y
**Distinct objects are distinctly named.** A designation that collapses two objects is not a designation; this is what makes the instance a claim rather than a formality.
A two-field class: designation : O → Object and designation_inj. The injectivity field is the whole content. Without it, any object type is satisfiable by the constant map, and the resulting designation reports two distinct objects as one system — silently, wherever it is rendered. With it, the absence of an instance is a true report about the type.
The correspondence with Lowe's four-category ontology
( (Lowe, 2005)E. J. Lowe (December 2005). “The Four-Category Ontology: A Metaphysical Foundation for Natural Science”. Oxford University Press. ., Fig. 7.1 — the ontological square) is
worth stating edge by edge, because the calculus
carries the relations of the square and not only its corners. The corners: SortOfSystem
is his Kinds (the substantial universal), the object index his Substances (the
substantial particular), KindOfProperty his Attributes (the non-substantial universal),
IndividualQuantity his Modes. The edges: Sorted.sortOf is the left instantiated by
edge — substances instantiate kinds. The right instantiated by edge — modes instantiate
attributes — is the kind index of an individual quantity, and the bottom characterized by
edge — substances characterized by modes — is its object index: both edges into the mode
are carried in the type of an individual quantity, which is what puts the arithmetic under
the type checker — two quantities disagreeing on either edge are of two different types, so
nothing combines them, and the refusal is the compiler's rather than a convention's.
The top characterized by
edge — kinds characterized by attributes — is the dedicated kind (the dedicated-kinds
chapter), refined by Dybkær's pertinent component, a refinement the square itself does not
carry.
Figure 1, up front, draws the square with the calculus's identifiers
at its corners and these mechanisms on its edges, and two things it shows are worth reading
against the correspondence just stated. The two heavy edges are the two type indices of an
individual quantity — the object index o along the bottom and the kind index k down the
right — and the plates behind the Modes corner are the carrier R, which indexes that
corner alone: R is no ontological category and has neither a corner nor an edge, so a
change of carrier stacks copies of the mode and moves nothing else. The columns and rows are
braced because the square's whole content is a two-by-two — universals over particulars,
substantial beside non-substantial — and naming the columns keeps the two senses of kind
apart: Lowe's Kinds corner is a kind of system, while the k of Quantity k R is a
kind-of-property, the Attributes corner.
A word on index, which this chapter uses throughout. In Lean's own vocabulary the
arguments of IndividualQuantity are structure parameters: a structure has no indices,
those being the arguments an inductive declares to the right of the colon and may vary from
one constructor to the next. The prose says index deliberately, because what the
correspondence needs to name is the role rather than the declaration form — each argument is
fixed in the type of any given quantity, so that two quantities differing in one of them are
of two different types, and that is the property the square's edges are identified with
here. A reader who wants the declaration's own term should read parameter wherever this
chapter writes index.
The diagonal is a structural agreement rather than a construct. Lowe's exemplified by —
a substance exemplifying an attribute — is derivative for him, factoring through either
path around the square, and the calculus likewise has no primitive object-to-kind-of-property
construct: the dispositional route (up the left edge, then across the top) is
dedicatedFor, and the occurrent route (across the bottom, then up the right) is an
inhabitant of IndividualQuantity o k R. The reading is not idiosyncratic: surveying the
square's grounding relations, Simons states the occurrent half as a definition — an object
exemplifies an attribute "when a mode which instantiates an attribute characterizes an
object" — and counts exemplification "definable in terms of instantiation, characterization,
and some logic" (Simons, 2018)Peter Simons, 2018. “Lowe, the Primacy of Metaphysics, and the Basis of Categorial Distinctions”. In Ontology, Modality, and Mind: Themes from the Metaphysics of E. J. Lowe (Oxford University Press).. Where the
calculus narrows Lowe: the attributes here are kinds-of-property specifically — quantitative
attributes carrying a scale and an examination — not attributes at large.
One stance the implementation takes silently is worth making explicit. The calculus's
universals are catalogue entries: a SortOfSystem and a KindOfProperty are data,
declared by a model, and a sort no object instantiates is idle data rather than a Platonic
surplus. That is the immanentist reading Lowe himself settled on — universals as
"abstractions from, or invariants across, particulars", incapable of existing
uninstantiated (Lowe 2012, quoted in Heil
(Heil, 2018)John Heil, 2018. “Existents and Universals”. In Ontology, Modality, and Mind: Themes from the Metaphysics of E. J. Lowe (Oxford University Press).) — and it is the only reading a
terminological ontology in Dybkær's style needs.