Overview
The core component of the type namespace of the IFF metashell (IFF-TYPE) is a medium-sized namespace (~ 450 terms, with ~ 230 terms in the kernel) located directly below the IFF-IFF namespace and directly above the core component of the IFF-META namespace. It enables declarations of all core component (and some structural component) meta things. Below we list the complete terminology for the core component of the IFF-TYPE namespace (emphasized terms were previously introduced in the IFF-IFF namspace). Look into the linked PDF files for more detailed comments and the axiomatization. The core component of the IFF-TYPE namespace consists of three nested namespaces: kernel, finite diagrams and finite limits namespaces.
- kernel
-
The kernel nested namespace continues the axiomatization for the basic collections of sets and functions, and initiates the axiomatization for the other core concepts. By introducing basic terminology, it defines at the type level a finitely-complete category Set of Cantorian featureless sets and functions enriched with factorization and subobjects. In a standard fashion, the finitely-complete category Set defines the bicategory Span = spn(Set) of sets and spans, the ordered category Rel = rel(Set) of sets and (binary) relations, and their categorical connections. The category Set embeds into the other two (Figure 1), and there is an adjunctive structure Φ ⊣ Λ linking the embedding Λ and flattening Φ passages between Span and Rel: any relation is a span and any span flattens to a relation.
As Table 1 indicates, the type kernel implicitly specifies the various categorical, functorial and adjunctive structures illustrated in Figure 1.
Figure 1: Span-Relation Connection -
IFF Term Concept Set, the category of sets and functions type.set:set obj(Set) = set, the object set of Set type.ftn:function mor(Set) = ftn, the morphism set of Set Spn, the bicategory of sets and spans type.set:set obj(Spn) = set, the object set of Spn type.spn:span mor(Spn) = spn, the morphism set of Spn Rel, the ordered category of sets and relations type.set:set obj(Rel) = set, the object set of Rel type.rel:relation mor(Rel) = rel, the morphism set of Rel ∝ : Spnop → Spn, the involution implicit identity on type.set:set obj(∝), the object function of ∝ type.spn:opposite mor(∝), the morphism function of ∝ ∝ : Relop → Rel, the involution implicit identity on type.set:set obj(∝), the object function of ∝ type.rel:opposite mor(∝), the morphism function of ∝ Φ : Spn → Rel, the flattening functor implicit identity on type.set:set obj(Φ), the object function of Φ type.spn:relation mor(Φ), the morphism function of Φ Λ : Rel → Spn, the embedding functor implicit identity on type.set:set obj(Λ), the object function of Λ type.rel:span mor(Λ), the morphism function of Λ η : 1 ⇒ Φ ∘ Λ, the unit natural transformation type.spn:unit cmp(η), the component function of η Table 1: IFF Representation of Mathematical Concepts -
In addition to canonical functionality for finite limits, Set has factorizations and subobjects. The kernel namespace introduces the concepts and basic terminology for subobjects, and it also introduces the categorical approach to membership and inclusion. The fundamental relations in the kernel namespace are (Figure 2) function and span belonging (⇒), predicate and relation inclusion (⊆), function-predicate and span-relation membership (∈) with associated proof operation (⊢), function-set and span-set-pair elementhood (:).
As Table 2 indicates, the type kernel explicitly specifies the various subobject structures illustrated in Figure 2.
Figure 2: Subobject Architecture -
IFF Term Concept (ftn, ⇒), function belonging preorder type.ftn:belonging ext(⇒), extent set of ⇒ type.ftn:element0 π0 : ext(⇒) → ftn, the 0th projection function of ⇒ type.ftn:element1 π1 : ext(⇒) → ftn, the 1th projection function of ⇒ (spn, ⇒), span belonging preorder type.spn:belonging ext(⇒), the extent set of ⇒ type.spn:element0 π0 : ext(⇒) → spn, the 0th projection function of ⇒ type.spn:element1 π1 : ext(⇒) → spn, the 1th projection function of ⇒ (pred, ⊆), predicate inclusion (subset) order type.pred:inclusion-relation ext(⊆), the extent set of ⊆ type.pred:part0 π0 : ext(⊆) → pred, the 0th projection function of ⊆ type.pred:part1 π1 : ext(⊆) → pred, the 1th projection function of ⊆ (rel, ⊆), relation inclusion (subset) order type.rel:inclusion-relation ext(⊆), the extent set of ⊆ type.rel:part0 π0 : ext(⊆) → rel, the 0th projection function of ⊆ type.rel:part1 π1 : ext(⊆) → rel, the 1th projection function of ⊆ ∈ : ftn ⇁ pred, function-predicate membership relation type.pred:membership ext(∈), the extent set of ∈ type.pred:element π0 : ext(∈) → ftn, the 0th projection function of ∈ type.pred:part π1 : ext(∈) → pred, the 1th projection function of ∈ type.pred:proof ⊢ : ext(∈) → ftn, the proof function of ∈ ∈ : spn ⇁ rel, span-relation membership relation type.rel:membership ext(∈), the extent set of ∈ type.rel:element π0 : ext(∈) → spn, the 0th projection function of ∈ type.rel:part π1 : ext(∈) → rel, the 1th projection function of ∈ type.rel:proof ⊢ : ext(∈) → ftn, the proof function of ∈ Table 2: IFF Representation of Mathematical Concepts -
As illustrated in Figure 3, the type kernel namespace consists of five nested namespaces: set, function, span, predicate and relation.
Figure 3: Namespaces (type) set (unary) ftn pred (binary) spn rel (element) (part) -
IFF Set IFF Function .set basics set isomorphic-relation
[in]finite-set
binary-(union | intersection) differenceinstances zero = initial = empty
one = terminal two threeconstant-zero constant-one
counique uniquesubobject subset-relation smaller larger inclusion predicate
power power-pair
leq bottom top binary-(join | meet)
minus complement implication
singleton union = join intersection = meetexists = power inverse-image forall Technical Prefix: type.krnl
Recommended Prefix: typeTable 3: The Type Set Namespace - The function namespace terminology is listed in Table 4. This consists of 57 terms and concepts representing the concepts of function, function (optimal-)restriction order, composition functionality, element, application functionality, factorization, conversion to other kinds, function morphism and belonging order.
-
IFF Set IFF Function .ftn basics function
[optimal-]restriction-relationsource target
[optimal-](smaller | larger)element
constant-functionset
constant-element constructioncategory theory composable-pair factor0 factor1 composition identity appliable-pair element-factor function-factor
applicationfactorization
injection
surjection
bijectionrange kernel coimage
injective-factor coapplication
surjective-factor coequalizer
inverseconversion predicate span relation fiber unit instances initial terminal counique unique .ftn.mor basics 2-cell
belonging
equivalence isomorphismsource target function
element0 element1category theory composable-pair factor0 factor1 composition identity Technical Prefix: type.krnl
Recommended Prefix: typeTable 4: The Type Function Namespace -
- The spannamespace terminology is listed in Table 5. This consists of 72 terms representing 69 concepts (3 synonyms) of span, span abridgment order, composition functionality, factorization, conversion to other kinds, span morphism and belonging order.
-
IFF Set IFF Function .spn basics span
abridgment-relationset = vertex set0 set1 set-pair
function0 function1 function-pair
smaller largercategory theory composable-pair factor0 factor1 opspan composition identity combinable-pair component0 component1 combination factorization
injection
surjection
bijectionextent = range kernel coimage
injective-factor coapplication
surjective-factor coequalizerconversion opposite function relation unit instances initial terminal counique unique basics endospan set order theory reflexive-span
transitive-span
symmetric-spanproto-category
equivalence-span.spn.mor basics 2-cell
belonging
equivalence isomorphismsource target function = vertex set0 set1
element0 element1conversion function-2-cell .spn.mor.vrt composable-pair factor0 factor1 composition identity .spn.mor.hrz composable-pair factor0 factor1 composition identity
opspan-morphismTechnical Prefix: type.krnl
Recommended Prefix: typeTable 5: The Type Span Namespace -
- The predicatenamespace terminology is listed in Table 6. This consists of 18 terms and 17 concepts (1 synonym) representing the predicate basic collection and its components, predicate delimitation order, conversion maps, subobject order, and the membership relation (with proof operator) between generalized elements (functions) and parts (predicates).
-
IFF Set IFF Function .pred basics predicate
strict-predicate canon
delimitation-relationgenus differentia
smaller largerconversion function subordinate injection subobject inclusion-relation
equivalence = isomorphismpart0 part1 membership element part proof Technical Prefix: type.krnl
Recommended Prefix: typeTable 6: The Type Predicate Namespace -
- The relation namespace terminology is listed in Table 7. This consists of 43 terms and 42 concepts (1 synonym) representing the relation basic collection and its components, relation abridgment order, category theory, conversion maps, subobject order, the membership relation (with proof operator) between generalized element pairs (spans) and binary parts (relations), and endorelation subtypes.
-
IFF Set IFF Function .rel basics relation
strict-relation canon
abridgment-relationextent set0 set1 set-pair
projection0 projection1
smaller largercategory theory composable-pair factor0 factor1 composition identity conversion function predicate span injection
opposite fiber01 fiber10subobject inclusion-relation
equivalence = isomorphismpart0 part1 membership element part proof basics endorelation set order theory reflexive-relation
transitive-relation
antisymmetric-relation
symmetric-relationpreorder partial-order
equivalence-relation
respects-relation
quotient canonTechnical Prefix: type.krnl
Recommended Prefix: typeTable 7: The Type Relation Namespace - finite diagrams
- The finite diagram nested namespace essentially defines four categories of diagrams (Figure 4): the category Set2 of set pairs and function pairs (diagrams for binary products), the category Set3 of set triples and function triples (diagrams for ternary products), the (comma) category Ppr = (Δ, Δ) of parallel pairs and parallel pair morphisms (diagrams for equalizers), and the (comma) category Ospn = (1, Δ) of opspans and opspan morphisms (diagrams for pullbacks).
As Table 9 indicates, the type kernel implicitly specifies the various diagram and limit structures illustrated in Figures 3.
Figure 4: Categories of Diagrams -
IFF Term Concept type.dgm Set2, the category of set pairs and function pairs .pr.obj:set-pair obj(Set2) = set2, the object set of Set2 .pr.mor:function-pair mor(Set2) = ftn2, the morphism set of Set2 Set3, the category of set triples and function triples .trp.obj:set-triple obj(Set3) = set3, the object set of Set3 .trp.mor:function-triple mor(Set3) = ftn3, the morphism set of Set3 Ppr, the category of parallel pairs and their morphisms .ppr.obj:parallel-pair obj(Ppr) = ppr, the object set of Ppr .ppr.mor:parallel-pair-morphism mor(Ppr), the morphism set of Ppr Ospn, the category of opspans and their morphisms .ospn.obj:opspan obj(Ospn) = Ospn, the object set of Ospn .ospn.mor:opspan-morphism mor(Ospn), the morphism set of Ospn C = Set2, Set3, Ppr or Ospn pre = pr, trp, ppr, ospn Δ : Set → C, the constant functor .pre.obj:constant obj(Δ), the object function of Δ .pre.mor:constant mor(Δ), the morphism function of Δ gph = • •, • • •, • ⇉ • or • → • ← • C = Set2, Set3, Ppr or Ospn pre = pr, trp, ppr, ospn πk : C → Set, the kth projection functor, k ∈ node(gph) .pre.obj:set(0 | 1) obj(πk), the object function of πk .pre.mor:function(0 | 1) mor(πk), the morphism function of πk E : Ospn → Ppr, the op-pairing functor .opsn.obj:parallel-pair obj(E), the object function of E .opsn.mor:parallel-pair-morphism mor(E), the morphism function of E Table 3: IFF Representation of Mathematical Concepts - The diagram namespace terminology is listed in Table 8. This consists of 91 terms and 85 concepts (6 synonyms) representing the four basic types of things (Set2, Set3, Ppr, Ospn) and their components, category theory, and conversion maps.
-
IFF Set IFF Function .pr.obj basics set-pair set0 set1 conversion opspan opposite constant .pr.mor basics function-pair source target function0 function1 conversion opspan-morphism opposite constant category theory composable-pair factor0 factor1 composition identity .trp.obj basics set-triple set0 set1 set2 = set set-pair conversion constant .trp.mor basics function-triple source target
function0 function1 function2 = function function-pairconversion constant category theory composable-pair factor0 factor1 composition identity .ppr.obj basics parallel-pair function0 function1 function-pair set0 set1 set-pair conversion constant .ppr.mor basics parallel-pair-morphism source target function0 function1 function-pair conversion constant category theory composable-pair factor0 factor1 composition identity .ospn.obj basics opspan function0 = opzeroth function1 = opfirst function-pair
set0 set1 set = opvertex set-pairconversion parallel-pair relation opposite constant .ospn.mor basics opspan-morphism source target
function0 function1 function = opvertex function-pairconversion parallel-pair-morphism opposite constant category theory composable-pair factor0 factor1 composition identity Technical and Recommended Prefix: type.dgm Table 8: The Type Finite Diagram Namespace - finite limits
- The nested namespace for finite limits essentially defines four adjunctions (Figure 5) between the constant functor and “the” limit functor*: binary products on pairs of sets and their functions, ternary products on triples of sets and their functions, equalizers on parallel pairs (of functions) and their morphisms, and pullbacks on opspans and their morphisms. It uses the first order expression of adjunctive style axiomatization. The terminology of this namespace, which is listed in Table 9, consists of 131 terms and 131 concepts (with no synonyms). There are six types of limit according to diagram shape: binary and ternary products and their power variants, equalizers and pullbacks.
As Table 9 indicates, the type kernel implicitly specifies the various diagram and limit structures illustrated in Figure 4.
Figure 5: Constant-Limit Adjunctions - *The definite article is in quotes, since the limit functor is unique only up to isomorphism. Theoretically, this is well understood and immediately dismissed. But practically, this issue is important, since it affects the axiomatization. The use of a strict category-theoretic axiomatization, such as the adjunctive-style axiomatization for limits and exponents that is favored in the IFF specification, does not give a concrete limit, and hence can be regarded as an under-specified axiomatization. An additional axiom is needed for a full concrete specification. In the IFF, this additional axiom is added, not at the point where the limit is initially axiomatized, such as in this namespace, but at a lower metalevel, where the limit is used.
-
IFF Set IFF Function .prd2.obj cone set function-pair function0 function1 cone-set-pair opposite mediator mediator-set function set-pair delta-cone delta delta-function projection-mediator projection product projection-function-pair
projection0 projection1
tau-conepacking pairing unpacking components
tau.prd2.mor product .pwr2.obj cone set function-pair function0 function1 cone-set power projection-function-pair
projection0 projection1 pairing.pwr2.mor power .prd3.obj cone set function-triple function0 function1 function2 cone-set-triple mediator mediator-set function set-triple delta-cone delta delta-function projection-mediator projection product projection-function-triple
projection0 projection1 projection2packing tripling unpacking components .prd3.mor product .pwr3.obj cone set function-triple function0 function1 function2 cone-set power projection-function-triple
projection0 projection1 projection2 tripling.pwr3.mor power .equ.obj cone set parallel-pair-morphism function0 cone-parallel-pair mediator mediator-set function parallel-pair delta-cone delta delta-function projection-mediator projection equalizer projection-parallel-pair-morphism
projection-function-pair projection0packing parting unpacking .equ.mor equalizer .pbk.obj cone set opspan-morphism function0 function1 cone-opspan opposite mediator mediator-set function opspan delta-cone delta delta-function projection-mediator projection pullback projection-opspan-morphism
projection-function-pair projection0 projection1
tau-cone injection-cone injectionpacking pairing unpacking components
tau.pbk.mor pullback Technical and Recommended Prefix: type.lim Table 9: The Type Finite Limit Namespace