The library documents itself · Diagramming & graphs
stzMathSubstance
23 own methods · 10 forms written with extensions, listed under their method
the source: base/graph/stzMathDiagram.ring(opens in a new tab) · All classes · The area reference: Diagramming & graphs
Under each method, its extensions (Q CS XT Z ZZ IB W U): bold and ticked, it exists; struck, it does not. The extensions and what they mean
Examples: 0 come from the library's tests; 4 were composed from each method's signature and run for this page, on a fresh object, for example o1 = new stzMathSubstance(StzDotDomain()). 19 methods have none yet. Examples run on 2026-10-03 20:23 inside the library at commit 0e72e2e2c.
Method
Explanation, as the source carries it
init
(no comment in the source: the name reads as a sentence) initno extension
DomainQ
(no comment in the source: the name reads as a sentence) domain qno extension
Declare
objectsQCSXTZZZIBWUMany
DeclareAll
"Set A, B, C"QCSXTZZZIBWU
HasObject
(no comment in the source: the name reads as a sentence) has objectno extension
composed example
o1 = new stzMathSubstance(StzDotDomain())
? o1.HasObject("a")
#--> 0composed from the signature, run for this pageTypeOf
(no comment in the source: the name reads as a sentence) type ofno extension
Objects
(no comment in the source: the name reads as a sentence) objectsno extension
ObjectNames
(no comment in the source: the name reads as a sentence) object namesno extension
ObjectsOfType
(no comment in the source: the name reads as a sentence) objects of typeno extension
Assert
relations ------------------------------------------------------------ Assert("Subset", [ "B", "A" ]) -- typechecked against the domain, because a relation over the wrong kind of object is a statement about nothing, and the earlier it is refused the nearer the refusal is to the line that made it.QCSXTZZZIBWU
Relations
(no comment in the source: the name reads as a sentence) relationsno extension
Holds
Does the substance state pcPredicate over exactly these objects? Order matters unless the domain declared the predicate symmetric.no extension
composed example
o1 = new stzMathSubstance(StzDotDomain())
? o1.Holds("a", [ 2, 3 ])
#--> 0composed from the signature, run for this pageDefine
function applications ------------------------------------------------ Define("u", "addV", [ "v", "w" ]): u is declared as the function's output type and remembered as its result. Typechecked like Assert.QCSXTZZZIBWU
Definitions
(no comment in the source: the name reads as a sentence) definitionsno extension
SetData
data ------------------------------------------------------------------ A NUMBER ON AN OBJECT. Penrose's Substance carries no numbers, and for a set or a point that is right: the content is the relation, not the coordinate. A table is different -- a cell IS its row, its column and its value -- and a heatmap is nothing but numbers. SetData puts one on an object under a key; any Style expression reads it as "x.key", to drive a position or, through a colour rule, a fill.QCSXTZZZIBWU
SetDataFrom
(no comment in the source: the name reads as a sentence) set data fromQCSXTZZZIBWU
HasData
(no comment in the source: the name reads as a sentence) has datano extension
composed example
o1 = new stzMathSubstance(StzDotDomain())
? o1.HasData("a", "a")
#--> 0composed from the signature, run for this pageDataOf
(no comment in the source: the name reads as a sentence) data ofno extension
ToGraph
stzGraph folds node ids to lower case, and a substance's names are case-sensitive (DN7b). The true name rides as a node property, and two names that differ only by case are refused here, with the reason.QCSXTZZZIBWU
IsDefinedAs
Is pcName defined as pcFunction over exactly these objects, in order?no extension
composed example
o1 = new stzMathSubstance(StzDotDomain())
? o1.IsDefinedAs("a", "a", [ 2, 3 ])
#--> 0composed from the signature, run for this pageLabel
labelsQCSXTZZZIBWU
AutoLabelAll
(no comment in the source: the name reads as a sentence) auto label allno extension
LabelOf
The label an object carries: the one given, else its own name when AutoLabel is on, else "".no extension

