1 / 49

IFF Category Theory Ontology

IFF Category Theory Ontology. IJCAI 2001 Workshop on the IEEE Standard Upper Ontology. http://suo.ieee.org/Kent-IFF.pdf. Sections. Introduction (6 slides) The Core Namespace (6 slides) The Category Theory Ontology (11 slides) Examples – some with logical code (16 slides)

Download Presentation

IFF Category Theory Ontology

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. IFF Category Theory Ontology IJCAI 2001 Workshop on the IEEE Standard Upper Ontology http://suo.ieee.org/Kent-IFF.pdf

  2. Sections • Introduction (6 slides) • The Core Namespace (6 slides) • The Category Theory Ontology (11 slides) • Examples – some with logical code (16 slides) • Summary & Future Work ~ IFF Category Theory Ontology ~

  3. Table of Contents: Introduction • Origins and Influences • Possible outcomes of the SUO Effort • The Truth Classification & Truth Concept Lattice • Components of Logic • Architecture • The Category Theory Principle ~ IFF Category Theory Ontology ~

  4. Category Theory: the study of structures and structure morphisms; starts with the observation that many properties of mathematical systems can be unified and simplified by a presentation with diagrams of arrows. Information Flow: the logic of distributed systems; a mathematically rigorous, philosophically sound foundation for a science of information. Formal Concept Analysis: advocates methods and instruments of conceptual knowledge processing that support people in their rational thinking, judgments and actions. IFF Foundation Ontology Origins and Influences ~ IFF Category Theory Ontology ~

  5. Hayes A single, usable, well-designed, universal upper ontology is created … . A ‘standard’ upper ontology is created which is a shambles … . The whole enterprise is eventually abandoned … . Sowa A framework is created which can support an open-ended number of theories (potentially infinite) organized in a lattice together with systematic metalevel techniques for moving from one to another, for testing their adequacy for any given problem, and for mixing, matching, combining, and transforming them to whatever form is appropriate for whatever problem anyone is trying to solve. Kent (the IFF Foundation Ontology) A framework is created for the truth concept lattice of a first-order language L generated from the truth classification of the language. Replace of the theories of outcome 4 with the concepts in the truth concept lattice. Suitable set-theoretic foundational concerns are covered in the IFF Category Theory Ontology (discussed here), a subontology of the IFF Foundation Ontology. Proposal: Use the IFF Foundation Ontology as a structuring methodology for the SUO metalevel. This will provide a principled approach to John Sowa’s framework. Possible outcomes of the SUO Effort ~ IFF Category Theory Ontology ~

  6. ⊤= all structures, true sentences  c = extent(c), intent(c) 1st-order sentence ⊥ = no structures, all sentences 1st-order structure The Truth Classification & Truth Concept Lattice • Truth classification of 1st-order language L • Instances are L-structures. • Types are L-sentences. • Incidence is satisfaction: M ⊨L when  is true in M. • Truth concept lattice of L • In the IFF approach, this is the appropriate “lattice of ontological theories.” • Formal concept is a pair c = extent, intent(c) where: • The intent(c) is a closed theory (set of sentences). • The extent(c) is the collection of all models for that theory. • Lattice order is the opposite of theory inclusion. • The join or supremum of two theories is the intersection of the theories. • The meet or infimum of two theories is the theory of the common models. • Both L-structures and L-sentences generate formal truth concepts (theories). • An object concept is the theory of a model. • An attribute concept is the models of a sentence. ~ IFF Category Theory Ontology ~

  7. Components of Logic ~ IFF Category Theory Ontology ~

  8. IFF Foundation Ontology IFF Category Theory (sub)Ontology core namespace upper metalevel IFF Model Theory (sub)Ontology lower ֻ object level ֻ ֻ Domain Ontology Middle Ontologyn Upper Ontology Upper Ontology Middle Ontology Domain Ontologyp Middle Ontology Domain Ontology Upper Ontologym Architecture • Lower metalevel • Declare, define, axiomatize and reason about categories, functors, natural transformations, adjunctions, colimits, monads, etc. • Categories include Set, Classification, IF-Logic, Top, Rel, Gph, Lang, etc. • Functors include inst, typ, inst-pow, typ-pow, etc. • Object level • Declare, define, populate and reason about objects and morphisms. • Objects may be sets, partial orders, topological spaces, classifications, hypergraphs, languages, models, etc. • Morphisms may be functions, continuous maps, infomorphisms, 1st-order interpretations, model morphisms, etc. ~ IFF Category Theory Ontology ~

  9. The Lower Metalevel • The lower metalevel makes heavy use of the upper metalevel for both representation and reasoning. • The following module will be placed on the lower metalevel in a later version of the IFF Foundation Ontology (version 2.0 or 3.0): • IF Model Theory Ontology • Other possible modules on the lower metalevel include the following: • Module for categorical model theory • Modules for modal, tense and linear logic • Modules for rough and fuzzy sets • Module for semiotics • etcetera ~ IFF Category Theory Ontology ~

  10. The Categorical Design Principle • Principle: A central goal in modeling the lower metalevel is to abide by the following categorical property. • [strictly category-theoretic] all axioms are expressed in terms of category-theoretic notions, such as the composition and identity of large/small functions or the pullback of diagrams of large/small functions. • [no KIF] no axioms use explicit KIF connectives or quantification. • [no basic KIF ontology] no axioms use terms from the basic KIF ontology, other than pair bracketing '[-]' or pair projection '(- 1)', '(- 2)'. • This principle is an ideal that has proven very useful in the design of the IF Model Theory Ontology. All modules that satisfy this property should (i) be easier to design and (ii) provide the basis for simpler proof techniques. • This design principle would seem to extend to all ontologies for true categories (not quasi-categories) – those categories whose object and morphism collections are classes (not conglomerates). All ontologies that reside at the lower metalevel will be centered on true categories. ~ IFF Category Theory Ontology ~

  11. Table of Contents: The Core Namespace • Collection Hierarchy • Kinds of Specific Collections • Core Conglomerates and Functions • Principal Terms at the Core • Sub-namespaces in the Core Namespace • Terms introduced in the Core Namespace ~ IFF Category Theory Ontology ~

  12. Conglomerate Class large classes Individual atomic things, a.k.a. ur elements Set small classes Collection Hierarchy ~ IFF Category Theory Ontology ~

  13. Kinds of Specific Collections • Conglomerates • The collections of classes, functions, opspans and binary cones • The collections of large categories and functors between large categories • The collections of natural transformations and adjunctions • Classes • The object and morphism collections in any large category • The collections of algebras and homomorphisms of a monad (e.g. groups) • The collections of diagrams and cocones for finite colimits in a category • Sets • Sets as collections and the extent of their functions • The instance and type sets of classifications and the instance and type functions of infomorphisms ~ IFF Category Theory Ontology ~

  14. Natural Transformation unit component counit Adjunction source target left underlying morphism Graph Morphism right Functor Function inclusion object Graph 2-cell source source target source target source target target eta mu morphism Category Class Graph underlying object Core Conglomerates and Functions ~ IFF Category Theory Ontology ~

  15. CNG conglomerate (possibly n-ary) function (binary) relation SET class (binary) function source target (binary) relation set (small) set (binary) function source target (binary) relation subcollection subclass (function) restriction f X Y Č ↪ C f F D ↪ Ď Principal Terms at the Core ~ IFF Category Theory Ontology ~

  16. Sub-namespaces in the Core Namespace • The Core Namespace – (SET) • Classes • Functions – (SET.FTN) • Finite Completeness – (SET.LIM) • The Terminal Class • Binary Products – (SET.LIM.PRD) • Equalizers – (SET.LIM.EQU) • Subequalizers – (SET.LIM.SEQU) • Pullbacks – (SET.LIM.PBK) • Topos Structure – (SET.TOP) ~ IFF Category Theory Ontology ~

  17. Currently there are 11 terms in the conglomerate namespace and about 130 terms in the core namespace. About 100 of these 130 terms are for finite limits, especially pullbacks. Eventually the core namespace will grow to contain several hundred terms. Terms introduced in the Core Namespace ~ IFF Category Theory Ontology ~

  18. Table of Contents: Category Theory Ontology • Category Theory • Sub-namespaces in the Category Theory Ontology • Terms introduced in the Category Theory Ontology • Formal definition of a category C • KIF Formalism for Category • KIF Formalism for Graph Multiplication • Formal definition of a functor F • Monad Theory • Formal Definition of a Monad M • Formal Definition of an M-algebra • Limits/Colimits ~ IFF Category Theory Ontology ~

  19. Category Theory • Started in 1945 with Eilenberg & Mac Lane’s paper entitled "General Theory of Natural Equivalences." • It is a general mathematical theory of structures and systems of structures. • Reveals how structures of different kinds are related to one another (morphisms), as well as the universal components of a family of structures of a given kind (limits/colimits). • It is considered by many as being an alternative to set theory as a foundation for mathematics. ~ IFF Category Theory Ontology ~

  20. The Namespace of Graphs – (GPH) Graphs Graph Morphisms – (GPH.MOR) The Namespace of Categories – (CAT) The Namespace of Functors – (FUNC) The Namespace of Natural Transformations – (NAT) The Namespace of Adjunctions – (ADJ) The Namespace of Monads – (MND) Monads and Monad Morphisms Algebras and Freeness – (MND.ALG) The Namespace of Colimits – (COL) Initial Objects Binary Coproducts – (COL.PRD) Coequalizers – (COL.COEQU) Pushouts – (COL.PSH) The Namespace of Kan Extensions – (KAN) The Namespace of Classifications – (CLS) IF Theories – (CLS.TH) IF Logics – (CLS.LOG) The Namespace of Concept Lattices – (LAT) The Namespace of Topoi – (TOP) Sub-namespaces in the Category Theory Ontology ~ IFF Category Theory Ontology ~

  21. Currently there about 170 terms in the category theory subontology. When the base-line terminology is complete, there may be 250+ terms. Eventually it will grow to contain thousands of terms. Terms introduced in the Category Theory Ontology ~ IFF Category Theory Ontology ~

  22. src(C) mor(C) obj(C) tgt(C) idC(a) f a a a b f•Cg f c Formal definition of a category C • C is a graph. • There are two classes: the objects obj(C) and the morphisms mor(C). • Any morphism fmor(C) has a source and target object f : a  b. • C has monoidal structure. • For any composable pair of morphisms f : a  b and g : a  b, there is a composition morphism (f•Cg) : a  c. • For every object a obj(C), there is a morphism idC(a) : a  a called the identity on a. • Associativity and identity laws hold. • If f : a  b, g : b  c and h : c  d, then f•C (g•Ch) = (f•Cg) •Ch. • If f : a  b, then (idC(a) •Cf) = f and (f•CidC(b)) = f. ~ IFF Category Theory Ontology ~

  23. KIF Formalism for Category (1) (CNG$conglomerate category) (2) (CNG$function underlying) (CNG$signature underlying category GPH$graph) (3) (CNG$function mu) (CNG$signature mu category GPH.MOR$2-cell) (forall (?c (category ?c)) (and (= (GPH.MOR$source (mu ?c)) (GPH$multiplication (underlying ?c) (underlying ?c))) (= (GPH.MOR$target (mu ?c)) (underlying ?c)))) (4) (CNG$function composition) (CNG$signature composition category SET.FTN$function) (forall (?c (category ?c)) (= (composition ?c) (GPH.MOR$morphism (mu ?c)))) (5) (CNG$function eta) (CNG$signature eta category GPH.MOR$2-cell) (forall (?c (category ?c)) (and (= (GPH.MOR$source (eta ?c)) (GPH$unit (GPH$object (underlying ?c)))) (= (GPH.MOR$target (eta ?c)) (underlying ?c)))) (6) (CNG$function identity) (CNG$signature identity category SET$function) (forall (?c (category ?c)) (= (identity ?c) (GPH.MOR$morphism (eta ?c)))) ~ IFF Category Theory Ontology ~

  24. mor(G) objmor(G) 1st 2nd mor(G) mor(G) src(G) tgt(G) src(G) tgt(G) obj obj obj KIF Formalism for Graph Multiplication (1) (CNG$function multiplication-opspan)    (CNG$signature multiplication-opspan graph graph SET.LIM.PBK$opspan) (forall (?g0 (graph ?g0) ?g1 (graph ?g1))          (<=> (exists (?s (SET.LIM.PBK$opspan ?s))                   (= (multiplication-opspan ?g0 ?g1) ?s))               (= (object ?g0) (object ?g1)))) (forall (?g0 (graph ?g0) ?g1 (graph ?g1))          (=> (= (object ?g0) (object ?g1))              (and (= (SET.LIM.PBK$opvertex (multiplication-opspan ?g0 ?g1))                      (object ?g0))                   (= (SET.LIM.PBK$opfirst (multiplication-opspan ?g0 ?g1))                      (target ?g0))                   (= (SET.LIM.PBK$opsecond (multiplication-opspan ?g0 ?g1))                      (source ?g1))))) (2) (CNG$function multiplication)    (CNG$signature multiplication graph graph graph) (forall (?g0 (graph ?g0) ?g1 (graph ?g1))        (<=> (exists (?g (graph ?g))                  (= (multiplication ?g0 ?g1) ?g))             (= (object ?g0) (object ?g1)))) (forall (?g0 (graph ?g0) ?g1 (graph ?g1))        (=> (= (object ?g0) (object ?g1))            (and (= (object (multiplication ?g0 ?g1))                    (object ?g0))                 (= (morphism (multiplication ?g0 ?g1))                    (SET.LIM.PBK$pullback (multiplication-opspan ?g0 ?g1)))                 (= (source (multiplication ?g0 ?g1))                    (SET$composition                        (SET.LIM.PBK$projection1 (multiplication-opspan ?g0 ?g1))                        (source ?g0)))                 (= (target (multiplication ?g0 ?g1))                    (SET$composition                        (SET.LIM.PBK$projection2 (multiplication-opspan ?g0 ?g1))                        (target ?g1)))))) ~ IFF Category Theory Ontology ~

  25. IdA F A A A B F◦G G C Formal definition of a functor F • F is a graph morphism. • There is a source and a target category: src(F) = A and tgt(F) = B, F : AB. • There are two functions: the object function obj(F) : obj(A) obj(B) and the morphism function mor(F) : mor(A) mor(B). • These are compatible w.r.t. source/target: for any A-morphism f : a  b, src(B)(mor(F)(f)) = obj(F)(src(A)(f)) and tgt(B)(mor(F)(f)) = obj(F)(tgt(A)(f)). • F preserves monoidal structure. • For any composable pair of A-morphisms f : a  b and g : a  b, the images are composable and mor(F)(f•Ag) = mor(F)(f) •B mor(F)(g). • For every object a obj(C), there is a morphism idC(a) : a  a called the identity on a. • Associativity and identity laws hold for functor composition. • If F : A  B, G : B  C and H : C  D, then F◦ (G◦H) = (F◦G) ◦H. • If F : A  B, then IdA◦F = F and F◦IdB = F. ~ IFF Category Theory Ontology ~

  26. Monad Theory • Relates universal algebra with adjunctions • For each type of algebra or equational presentation τ =   with • category Algτ of τ-algebras and τ-homomorphisms. • underlying functor Uτ : AlgτSet • free functor Fτ : SetAlgτ • adjunction Fτ⊣Uτ • with “insertion of variables” natural transformation ητ: IdSetFτ · Uτ • with “evaluation” natural transformation ετ: Uτ · FτIdAlgτ there is a monad Tτ ητ μτ over the category Set, where • Tτ = Fτ ◦ Uτ : SetSet “equationally equivalent terms” • μτ = F ◦ ε ◦U multiplication (substitution) of terms into terms. ~ IFF Category Theory Ontology ~

  27. M = Tημ underlying endofunctor T : AA natural transformation η : IdAT natural transformation μ : T ◦ TT IdT◦ μ T T μ ◦ IdT μ T T μ η ◦ IdT IdT◦ η T = IdA ◦ T T T ◦ IdA = T μ IdT IdT T Formal Definition of a Monad M ~ IFF Category Theory Ontology ~

  28. Assume M = Tημ is a monad over categoryA. An M-algebra a ξ consists of an underlying object aobj(A), a structure map ξ : Taa that satisfies the associative and unit laws. An M-homomorphism h : a ξa ξ consists of an A-morphism h : a  a that preserves structure. unit law Tξ Ta Ta μa ξ Ta a ξ Ta ηa associative law ξ a ξ Ta a a ida Th h Ta a ξ structure preservation Formal Definition of an M-algebra ~ IFF Category Theory Ontology ~

  29. Limits Notions of producting, and-ing and matching A large part of the core namespace (100 of the 130 terms) Finite kinds Terminal object (unit class in core) Binary product Equalizer Subequalizer Pullback (core pullback is heavily used in Category Theory Ontology) Colimits Notions of summing, or-ing, and fusion. No terms in the core namespace Axiomatized in the colimit namespace of the Category Theory Ontology Finite kinds Initial object Binary coproduct Coequalizer Pushout AA ABA   E A    f f A A A A B f f B Limits/Colimits ~ IFF Category Theory Ontology ~

  30. Table of Contents: Examples • Categories • The ordinal category ord3 • The category Set • The category Classification • Monads and Algebras • The instance and instance power functors • The inst ⊣ pow adjunction • Data Structures as Initial Algebras (stacks) • Data Structures as Initial Algebras (s-expressions & binary trees) • Data Structures as Initial Algebras (trees-forests) • Object level logical code [Domain Ontology – ieee namespace] • Lower metalevel logical code [Model Theory (sub)Ontology – classification namespace] • Upper metalevel logical code [core namespace & Category Theory (sub)Ontology – graph & category namespace] • Use of SET finite limits by namespaces in the Category Theory (sub)Ontology: pullback • Use of SET finite limits by namespaces in the Category Theory (sub)Ontology: equalizer • Use of SET finite limits by namespaces in the Category Theory (sub)Ontology: subequalizer ~ IFF Category Theory Ontology ~

  31. Categories • Almost every known example of a mathematical structure with the appropriate structure preserving map yields a category. • Sets with functions between them. • Groups with group homomorphisms. • Topological spaces with continuous maps. • Vector spaces and linear transformations. • Any class itself is a category with only identity morphisms. • Any monoid is a one-object category with elements being morphisms. • Any preordered class is a category with morphisms being pair orderings. • Classifications and infomorphisms (or bonds, or bonding pairs). • Hypergraphs and their morphisms. • Models and their morphisms. • Concept lattices and concept lattice morphisms. • Complete lattices and adjoint morphisms (or complete homomorphisms). ~ IFF Category Theory Ontology ~

  32. Obj(ord3) = {0, 1, 2}; Mor(ord3) = {00, 11, 22, 01, 12, 02}; one nontrivial composition 01 • 12 = 02. The code on the right defines the category ord3 by populating it using terminology from the Category Theory Ontology. 1 2 0 The ordinal category ord3 ((SET.TOP$element SET.TOP$natural-numbers) ord3$0) ((SET.TOP$element SET.TOP$natural-numbers) ord3$1) ((SET.TOP$element SET.TOP$natural-numbers) ord3$2) (= ord3$0 SET.TOP$zero) (= ord3$1 (SET.FTN$composition ord3$0 SET.TOP$successor)) (= ord3$2 (SET.FTN$composition ord3$1 SET.TOP$successor)) (CAT$category ord3)((CAT$object ord3) ord3$0) ((CAT$object ord3) ord3$1) ((CAT$object ord3) ord3$2) ((CAT$morphism ord3) ord3$00) ((CAT$morphism ord3) ord3$11) ((CAT$morphism ord3) ord3$22) ((CAT$morphism ord3) ord3$01) ((CAT$morphism ord3) ord3$12) ((CAT$morphism ord3) ord3$02) (= ((CAT$source ord3) ord3$01) ord3$0) (= ((CAT$target ord3) ord3$01) ord3$1) (= ((CAT$source ord3) ord3$12) ord3$1) (= ((CAT$target ord3) ord3$12) ord3$2) (= ((CAT$source ord3) ord3$02) ord3$0) (= ((CAT$target ord3) ord3$02) ord3$2) (= ((CAT$identity ord3) ord3$0) ord3$00) (= ((CAT$identity ord3) ord3$1) ord3$11) (= ((CAT$identity ord3) ord3$2) ord3$22) (= ((CAT$composition ord3) ord3$01 ord3$12) ord3$02) ~ IFF Category Theory Ontology ~

  33. Objects in Obj(Set) are (small) sets. Morphisms in Mor(Set) are (unary) functions between (small) sets. The code below makes the following assertion using terminology from both the Category Theory Ontology and the (Small) Set Ontology in an external namespace “There is a KIF axiomatization for the Set category in the ‘set’ namespace.” Some theorem-proving is involved here. The category Set (CAT$category set)(= (CAT$underlying set) set.ftn$set-graph) (= (CAT$object set) set$set) (= (CAT$morphism set) set.ftn$function) (= (CAT$source set) set.ftn$source) (= (CAT$target set) set.ftn$target) (= (CAT$composable set) set.ftn$composable) (= (CAT$composition set) set.ftn$composition) (= (CAT$identity set) set.ftn$identity) ~ IFF Category Theory Ontology ~

  34. Objects in Obj(Classification) are classifications. Morphisms in Mor(Classification) are infomorphisms. The code below (front diagram) makes the following assertion using terminology from both the Category Theory Ontology and the (Small) Classification Ontology in an external namespace “There is a KIF axiomatization for the Classification category in the ‘if.cls’ namespace.” Some theorem-proving is involved here. IFF Category Theory (sub)Ontology core namespace IFF Model Theory (sub)Ontology (SET$class classification) (= classification rel$relation) (SET.FTN$function instance) (= (SET.FTN$source instance) classification) (= (SET.FTN$target instance) set$set) (= instance rel$object1) (SET.FTN$function type) (= (SET.FTN$source type) classification) (= (SET.FTN$target type) set$set) (= type rel$object2) (SET.FTN$function incidence) (= (SET.FTN$source incidence) classification) (= (SET.FTN$target incidence) set$relation) (= incidence rel$extent) (CAT$category classification)(= (CAT$underlying classification) if.cls.info$classification-graph) (= (CAT$object classification) if.cls$classification) (= (CAT$morphism classification) if.cls.info$infomorphism) (= (CAT$source classification) if.cls.info$source) (= (CAT$target classification) if.cls.info$target) (= (CAT$composable classification) if.cls.info$composable) (= (CAT$composition classification) if.cls.info$composition) (= (CAT$identity classification) if.cls.info$identity) The category Classification ~ IFF Category Theory Ontology ~

  35. IFF Model Theory (sub)Ontology Int-Vb Tr-Vb Noun Adj    bet   eat     fit Domain Ontology   friend    square … … The Webster Classification (if.cls$Classification Webster)((if.cls$type Webster) Noun)((if.cls$type Webster) Intransitive-Verb)((if.cls$type Webster) Transitive-Verb)((if.cls$type Webster) Adjective) ((if.cls$instance Webster) bet)((if.cls$instance Webster) eat)((if.cls$instance Webster) fit)((if.cls$instance Webster) friend)((if.cls$instance Webster) square)...((if.cls$incidence Webster) [bet Noun])((if.cls$incidence Webster) [bet Intransitive-Verb])((if.cls$incidence Webster) [bet Transitive-Verb])(not ((if.cls$incidence Webster) [bet Adjective]))(not ((if.cls$incidence Webster) [eat Noun]))((if.cls$incidence Webster) [eat Intransitive-Verb])((if.cls$incidence Webster) [eat Transitive-Verb])(not ((if.cls$incidence Webster) [fit Adjective]))((if.cls$incidence Webster) [fit Noun])((if.cls$incidence Webster) [fit Intransitive-Verb])((if.cls$incidence Webster) [fit Transitive-Verb])((if.cls$incidence Webster) [fit Adjective])((if.cls$incidence Webster) [friend Noun])(not ((if.cls$incidence Webster) [friend Intransitive-Verb]))((if.cls$incidence Webster) [friend Transitive-Verb])(not ((if.cls$incidence Webster) [friend Adjective]))((if.cls$incidence Webster) [square Noun])(not ((if.cls$incidence Webster) [square Intransitive-Verb]))((if.cls$incidence Webster) [square Transitive-Verb])((if.cls$incidence Webster) [square Adjective])... • This is the Webster classification on page 70 of the text Information Flow: The Logic of Distributed Systems by Barwise and Seligman. • This classification is (a small part of) the classification of English words according to parts of speech as given in Webster’s dictionary. ~ IFF Category Theory Ontology ~

  36. Monads and Algebras • Universal Algebra: Each type (equational presentation) τ = Einduces a monad Mτ = Tτητμτ over Set with E-algebras equivalent to Mτ-algebras. • Closure: If the underlying category is a preorder, then a monad is a closure operator and an algebra is a closed element. • Monoid action: Any monoid M e ◦ defines a monad on Set • TM(A) = AM • ηM: AAM : a ↦ (a, e) • μM: AMMAM : (a, m, m) ↦ (a, m ◦ m) and an algebra A δ: AMA is called an M-action (A-automaton) • δ(a, m ◦ m) = δ(δ(a, m), m) • δ(a, e) = a • Module: Any ring R defines a monad on Ab (abelian groups) • TR(A) = AR • ηA: AAR : a ↦ (a, 1) • μA: ARRAR : (a, r, r) ↦ (a, r ◦ r) and an algebra is a right R-module ~ IFF Category Theory Ontology ~

  37. The instance functor inst  Classification  Setop forgets type information. The power functor pow  Setop Classification adds subsets and inverse image. The code below makes the following assertion using terminology from both the Category Theory Ontology and the (Small) Classification Ontology in an external namespace: “There is a KIF axiomatization for the instance and instance-power functors in the ‘if.cls’ namespace.” Some theorem-proving is involved here. The instance and instance power functors (FUNC$functor instance) (= (FUNC$source instance) classification) (= (FUNC$target instance) (CAT$opposite set)) (= (FUNC$underlying instance) if.cls.info$instance-graph-morphism) (= (FUNC$object instance) if.cls$instance) (= (FUNC$morphism instance) if.cls.info$instance) (FUNC$functor instance-power) (= (FUNC$source instance-power) (CAT$opposite set)) (= (FUNC$target instance-power) classification) (= (FUNC$underlying instance-power) if.cls.info$instance-power-graph-morphism) (= (FUNC$object instance-power) if.cls$instance-power) (= (FUNC$morphism instance-power) if.cls.info$instance-power) ~ IFF Category Theory Ontology ~

  38. There is a natural transformation : IdClassificationinst • pow whose component at any classification is the extent infomorphism associated with that classification. The code below makes the following assertion in an external namespace using terminology from both the Category Theory Ontology and the (Small) Classification Ontology : “Appropriate code in the ‘if.cls’ namespace represents the fact that the underlying instance functor is left adjoint to the instance power functor with  being the unit of this adjunction and the counit being the identity.” The inst⊣pow adjunction (NAT$natural-transformation eta) (= (NAT$source eta) (FUNC$identity Classification)) (= (NAT$target eta) (FUNC$composition [instance instance-power])) (= (NAT$component eta) if.cls$extent) (FUNC$composable [instance instance-power]) (= (FUNC$composition [instance-power instance]) (FUNC$identity set)) (ADJ$adjunction inst-pow) (= (ADJ$underlying-category inst-pow) Classification) (= (ADJ$free-category inst-pow) Set) (= (ADJ$left-adjoint inst-pow) instance) (= (ADJ$right-adjoint inst-pow) instance-power) (= (ADJ$unit inst-pow) eta) (= (ADJ$counit inst-pow) (NAT$identity (FUNC$identity Set))) ~ IFF Category Theory Ontology ~

  39.  1 + Stack(A)A Stack(A) id1+idA@ @ 1 + QA Q  unique F-homomorphism Data Structures as Initial Algebras (stacks) • Stacks over atoms A • Solution to recursive equation X  1 + XA • Endofunctor F : Set  Set : Q ↦1 + QA • F-algebras are A-automata Q : QA Q • Stack(A) is the initial F-algebra over A with  unfolding to ‘empty-stack’ and ‘push’. Also,  : 1 + Stack(A)A  Stack(A) is an isomorphism (bijection), with inverse being (‘is-empty’, ‘pop-top’). • Initial algebraStack(A) defined via the -colimit of the following iteration diagram in Set:   F  …  Fn  … F = 1 + A = 1 F2 = FF = F1 = 1 + 1A = A2 F3 = FF2 = 1 + 1+1AA = 1 + 1A + 1AA = A3 … • Unique homomorphism to Q is the run map for the automaton @ : Stack(A) Q ~ IFF Category Theory Ontology ~

  40. Data Structures as Initial Algebras (s-expressions & binary trees) • S-expressions over atoms A • Solution to recursive equation S  1 + A + SS • Endofunctor F : Set  Set : Q ↦1 + A + QQ • Sexp(A) is the initial F-algebra over A with  unfolding to ‘empty-s-expression’, ‘atom-as-sexp’ and ‘cons’. Also,  : 1 + A + Sexp(A)Sexp(A)  Sexp(A) is an isomorphism with inverse being (‘is-null’, ‘is-atom’, ‘car-cdr’). • Initial algebraSexp(A) defined via the -colimit of the following iteration diagram in Set:   F  …  Fn  … • Binary trees over atoms A • Solution to recursive equation B  1 + BBA • Endofunctor F : Set  Set : Q ↦1 + QQA • BinTree(A) is the initial F-algebra over A with  unfolding to ‘empty-bintree’ and ‘make-bintree’. Also,  : 1 + BinTree(A)BinTree(A)A BinTree(A) is an isomorphism (bijection), with inverse being (‘is-empty’, ‘left-right-atom’). • Initial algebraBinTree(A) defined via the -colimit of the following iteration diagram in Set:   F  …  Fn  … ~ IFF Category Theory Ontology ~

  41.  a …   … Data Structures as Initial Algebras (trees-forests) • Trees and Forests • Solution to pair of recursive equations T  FA, F 1 + FT • Endofunctor TF : SetSet  SetSet : P, Q↦ QA,1 + QP • TF-algebras are function pairs P, Q : QA P : 1 + QP Q • Tree(A) Forest(A)   is the initial TF-algebra over A with  : Forest(A)ATree(A) being ‘make-tree’, and  : 1 + Forest(A)Tree(A) Forest(A) unfolding to ‘empty-forest’ and ‘push-tree’. Also,  : Forest(A)A  Tree(A) and  : 1 + Forest(A)Tree(A)  Forest(A) are isomorphisms (bijections), with inverse being (‘data’, ‘forest’) and (‘is-empty’, ‘pop-top’), respectively. • Isomorphism: Forests  Binary trees • Substitute T into F-equation: • F  1 + FT 1 + F(FA) 1 + FFA ~ IFF Category Theory Ontology ~

  42. Lower metalevel terms: ‘if.log$logic’, ‘if.log$theory’, ‘if.log$classification’, ‘if.th$subtype’, ‘if.cls$type’, ‘if.cls$object’, ‘if.cls$incidence’, … Object level terms: ‘ieee$logic’, ‘ieee$theory’, ‘ieee$classification’, ‘ieee$organization’, ‘ieee$technical-society’, ‘ieee$region’, … IFF Model Theory (sub)Ontology ieee$technical-society Domain Ontology ieee$circuits-and-systems-society ieee$computer-society   Object level logical code[Domain Ontology – ieee namespace] • (if.log$logic ieee$logic) • (= (if.log$theory ieee$logic) ieee$theory) • (= (if.log$classification ieee$logic) ieee$classification) • ((if.cls$type ieee$classification) ieee$organization) • ((if.cls$type ieee$classification) ieee$technical-society) • ((if.cls$type ieee$classification) ieee$region) • ((if.th$subtype ieee$theory) [ieee$region ieee$organization]) • ((if.th$subtype ieee$theory) [ieee$technical-society ieee$organization]) • ((if.cls$object ieee$classification) ieee$circuits-and-systems-society) • ((if.cls$object ieee$classification) ieee$computer-society) • ((if.cls$incidence ieee$classification) • [ieee$circuits-and-systems-society ieee$technical-society]) • ((if.cls$incidence ieee$classification) • [ieee$computer-society ieee$technical-society]) • … ~ IFF Category Theory Ontology ~

  43. Upper metalevel terms: Core namespace ‘SET$class’, ‘SET.FTN$function’, ‘SET.FTN$source’, ‘SET.FTN$target’, … Category Theory (sub)Ontology – graph & category namespaces ‘GPH$graph’, ‘GPH$object’, ‘GPH$morphism’, ‘GPH$source’ , ‘GPH$target’, ‘CAT$category’, ‘CAT$underlying’ , ‘CAT$composable’ , ‘CAT$composition’ , ‘CAT$identity’ Lower metalevel terms: ‘if.cls$classification’, ‘if.cls$type’, ‘if.cls$object’, ‘if.cls$incidence’ ‘if.info$infomorphism’ , ‘if.info$source’ , ‘if.info$target’ , ‘if.info$composable’ , ‘if.info$composition’ , ‘if.info$identity’, … • (SET$class classification) • (SET.FTN$function instance) • (= (SET.FTN$source instance) classification) (= (SET.FTN$target instance) set$set) • (SET.FTN$function type) • (= (SET.FTN$source type) classification) (= (SET.FTN$target type) set$set) • (SET.FTN$function incidence) • (= (SET.FTN$source incidence) classification) (= (SET.FTN$target incidence) rel$relation) • … (GPH$graph classification-graph)(= (GPH$object classification-graph) if.cls$classification) (= (GPH$morphism classification-graph) if.info$infomorphism) (= (GPH$source classification-graph) if.info$source) (= (GPH$target classification-graph) if.info$target) (CAT$category classification)(= (CAT$underlying classification) classification-graph) (= (CAT$composable classification) if.info$composable) (= (CAT$composition classification) if.info$composition) (= (CAT$identity classification) if.info$identity) Lower metalevel logical code[Model Theory (sub)Ontology – classification namespace] ~ IFF Category Theory Ontology ~

  44. Upper metalevel terms: Conglomerate & Core namespaces ‘CNG$conglomerate’, ‘CNG$function’ , ‘CNG$signature’ , ‘SET$class’, ‘SET.FTN$function’, … Category Theory (sub)Ontology – graph & category namespaces ‘GPH$graph’, ‘GPH$multiplication’, ‘GPH.MOR$2-cell’, ‘GPH.MOR$source’,, ‘GPH.MOR$target’, ‘CAT$category’, ‘CAT$underlying’ , ‘CAT$mu’ , ‘CAT$composition’ , … • (CNG$conglomerate category) • (CNG$function underlying) • (CNG$signature underlying category GPH$graph) • (CNG$function mu) • (CNG$signature mu category GPH.MOR$2-cell) • (forall (?c (category ?c)) • (and (= (GPH.MOR$source (mu ?c)) • (GPH$multiplication (underlying ?c) (underlying ?c))) • (= (GPH.MOR$target (mu ?c)) • (underlying ?c)))) • (CNG$function composition) • (CNG$signature composition category SET.FTN$function) • (forall (?c (category ?c)) • (= (composition ?c) • (GPH.MOR$morphism (mu ?c)))) • … • (KIF$class collection) • (forall (?c (collection ?c)) (KIF$class ?c)) • (collection conglomerate) • (forall (?c (conglomerate ?c)) (collection ?c)) • (not (conglomerate conglomerate)) • … • (CNG$conglomerate class) • (forall (?c (class ?c)) (CNG$conglomerate ?c)) • (not (class class)) • … • (CNG$conglomerate function) • (forall (?f (function ?f)) (CNG$function ?f)) • (CNG$function source) • (CNG$signature source function SET$class) • … Upper metalevel logical code[core namespace & Category Theory (sub)Ontology – graph & category namespace] ~ IFF Category Theory Ontology ~

  45. IFF Category Theory (sub)Ontology core namespace Use of SET finite limits by namespaces in the Category Theory (sub)Ontology: pullback • SET.LIM.PBK$pullback • Two morphisms of a category are composable when the target of the first is identical to the source of the second. (CNG$function composable-opspan) (CNG$signature composable-opspan category SET.LIM.PBK$opspan) (forall (?c (category ?c)) (= (composable-opspan ?c) (GPH$multiplication-opspan (underlying ?c) (underlying ?c)))) (CNG$function composable) (CNG$signature composable category SET$class) (forall (?c (category ?c)) (= (composable ?c) (GPH$morphism (GPH$multiplication (underlying ?c) (underlying ?c))))) ~ IFF Category Theory Ontology ~

  46. Use of SET finite limits by namespaces in the Category Theory (sub)Ontology: equalizer • SET.LIM.EQU$equalizer • A classification is extensional when any two coextensive types are identical. (SET.FTN$function coextensive) (= (SET.FTN$source coextensive) classification) (= (SET.FTN$target coextensive) rel$relation) (= (SET.FTN$composition coextensive rel$object) type) (= coextensive rel$equivalence2) (SET.LIM.EQU$parallel-pair extensional-parallel-pair) (= (SET.LIM.EQU$source extensional-parallel-pair) classification) (= (SET.LIM.EQU$target extensional-parallel-pair) rel$relation) (= (SET.LIM.EQU$function1 extensional-parallel-pair) coextensive) (= (SET.LIM.EQU$function2 extensional-parallel-pair) (SET.FTN$composition type rel$identity)) (SET$class extensional) (SET$subclass extensional classification) (= extensional (SET.LIM.EQU$equalizer extensional-parallel-pair)) ~ IFF Category Theory Ontology ~

  47. (CNG$conglomerate reflexive) (CNG$subconglomerate reflexive endorelation) (forall (?r (endorelation ?r)) (<=> (reflexive ?r) (forall (?x ((class ?r) ?x)) ((extent ?r) [?x ?x])))) (forall (?r (endorelation ?r)) (<=> (reflexive ?r) (subendorelation (rel$identity (class ?r)) ?r))) (SET.LIM.SEQU$lax-parallel-pair reflexive-lax-diagram) (= (SET.LIM.SEQU$order reflexive-lax-diagram) subendorelation) (= (SET.LIM.SEQU$source reflexive-lax-diagram) endorelation) (= (SET.LIM.SEQU$function1 reflexive-lax-diagram) (SET.FTN$composition class identity)) (= (SET.LIM.SEQU$function2 reflexive-lax-diagram) (SET.FTN$identity endorelation)) (= reflexive (SET.LIM.SEQU$subequalizer reflexive-lax-diagram)) Use of SET finite limits by namespaces in the Category Theory (sub)Ontology: subequalizer • SET.LIM.SEQU$subequalizer • An endorelation is reflexive when it contains the identity relation on its class. ~ IFF Category Theory Ontology ~

  48. Summary • I propose that the IFF Foundation Ontology be used to represent the metalevel structure of the SUO. • The IFF Foundation Ontology is founded on category theory – more strongly, the upper level of the IFF Foundation Ontology represents Category Theory. • The two levels of the IFF Foundation Ontology represent the large/small distinction. • The upper metalevel consists of the Category Theory Ontology anchored at the core namespace. • It is strongly recommended that the object level and the metalevel have a distinct and obvious boundary. ~ IFF Category Theory Ontology ~

  49. Future Work • Future versions • Version 2.0: add terminology/axioms for the IFF Model Theory (sub)Ontology. • Namespaces: small sets, small relations, small classifications, spans and hypergraphs, models, and 1st-order interpretations. • Version 3.0 etc. • Namespaces: limits, Kan extensions, large classifications & concept lattices, topoi and fibrations. • Applications • Kestrel Institute’s Specware • Semantics for DAML-OIL • Category Theory Review • Initial reviewers • Ross Street, a category-theorist who has interest in applications; see his link to Category Theory at The Boeing Company, which refers to the Specware software mentioned in Michael Uschold’s message Composing Ontologies using morphisms and colimits. • Colin McLarty, who gave the challenge topos axioms, and has written a topos-theory book "Elementary Categories, Elementary Toposes". • Bill Lawvere, who is one of the primary creators of topos theory, and whose interest in applications (although a theorist) is indicated in the very detailed response that he gave to a question of Mike Healy's on the category list. • Submit to the category list at large for review, comments and criticisms. ~ IFF Category Theory Ontology ~

More Related