Catégories / Syllodonnées

De JFCM
Aller à : navigation, rechercher

Romuald THION

La théorie des catégories

  • maths contemporaines (post Bourbaki)
  • cadre assez peu connu, voire ésotérique
  • intellectuellement séduisant

Intérêt pour les informaticiens

  • cadre fortement typé
  • démarche constructive
  • spécification versus implémentation

Un outil majeur de l'informatique théorique ... Qui aurait sa place en bases de données ?



Présentation informelle[modifier]

Une catégorie comme :

  • une structure algébrique
  • un cadre où faire des mathématiques
  • une alternative aux ensembles

Dana S. Scott - Relating theories of the \-calculus (1980)
What we are probably seeking is a "purer" view of functions : a theory of functions in themselves, not a theory of functions derived from sets.
What, then, is a pure theory of functions ?
Answer : category theory.

Introduction[modifier]

Une catégorie C

  • d'une collection d 'objets : A,B,C ...
  • d'une collection de morphismes (ou flèches) : f,g,h ...
  • pour chaque morphisme, un domaine (dom) et un codomaine (cod) \ f : A —> B (fortement typé)
  • d'une opération de composition associant à chaque paire de morphismes / et g telles que cod(f) = dom(g) un morphisme go f : dom(f) cod(g)

Satisfaisant les deux conditions suivantes

  • la composition est associative : (h o g) o f = h o (g o f)
  • pour chaque objet A, un morphisme identité id A : A ^ A t.q. pour tout / : A -s- B on ait ids ° f = f et / o idA — f

Et rien d'autre . . .

Exemples

Bestiaire Catégorie Set Pfn Rel Mon Grp Q-Alg Pos CPO

Objets ensembles ensembles ensembles monoïdes groupes O-algèbres posets posets complets

Morphismes fonctions totales fonctions partielles relations binaires homomorphismes de monoïdes homomorphismes de groupes O-homomorphismes fonctions de monotones fonctions continues

Des implémentations de la définition de catégorie

Toutes ces catégories sont concrètes : les objets sont des ensembles munis de structures.

Pour ou contre ?[modifier]

En défaveur :

  • trop abstrait (abstract nonsense)
  • poids notationnel accablant
  • rien de plus que dans Set (fondamentalement)

En faveur

  • se débarasser des « détails » de Set
  • « penser transformations »
  • généraliser et réutiliser des constructions

Pratique des catégories[modifier]

Particularités de la pratique

  • définition et raisonnement sur les morphismes
  • rôle de l'unicité (l'universalité, la canonicité, l'optimalité . . . )
  • utilisation de diagrammes pour décrire les propriétés
  • abstraction de constructions ou propriétés sur des objets connus

Processus de catégorisation

Passer de = (en algèbre) à = (via morphismes)

La construction est « réussie » si on retrouve les mêmes lois

1. Raisonner sur les morphismes[modifier]

Démarche constructive On ne considère jamais l'égalité entre objets, seulement entre les morphismes.

Objet terminal

Un C-objet 1 est terminal si, pour tout C-objet A il existe un unique morphisme noté ! : A 1

On caractérise un objet via ses morphismes.

Isomorphisme

/ : A -> B est un isomorphisme si il existe g : B -» A tel que fog = ids et 50 / = idA-

Intuitivement, une transformation réversible qui préserve la structure.

2. Rôle de l'unicité[modifier]

Proposition : Les objets terminaux d'une catégorie sont isomorphes.

(Preuve) Soient A et B terminaux, et U : A -> B et \b • B ->•A les uniques morphismes entre ces objets.

U et \B sont composables : l ^ o ! ^ : A -> A. Or id a • A -> A existe (axiome) et est l'unique morphisme A -> A, car A est terminal. Donc, •B°-A = idA-

Similairement pour •.. •.. = ids'- A sont B' isomorphes.

Il n'y a (catégoriquement) aucun intérêt à distinguer les terminaux entre eux.

3. Diagrammes commutatifs[modifier]

FA VA GA F(f) G(f) FB V B GB Le carré commute G(f) °riA=riB° F(f) 4. Intuition dans Set Produit cartésien : A x B = {(a, b) | a E A A b e B} Comment définir le produit sans faire intervenir G, en considérant uniquement des transformations (fonctions) entre objets (ensembles)?

  • première projection m : A x B ->• A 9 seconde projection 7r 2 : A x B ->• B
  • la structure (A x B, m, m) est optimale
  • quelques soient / : C A et g : C ->• B on peut construire

(f,g) :C ->• A x B définie par {f,g)(x) = (f(x),g(x)) 7T1 . 7T 2 A ^ i x B ^ B A I / I </>0> I C ^ La pratique Q Conclusion A categorical manifesto (Joseph Goguen) "This paper tries to explain why and how category theory is useful in

computing science, by guiving guidelines for applying seven basic categorical concepts : category, functor, natural transformation, limit, adjoint, colimit and comma category. Somes examples, intuition, and references are given for each concept, but completeness is not attempted." Utilisations

  • théorie des graphes (catégorie « algèbre des chemins)
  • théorie des automates (systèmes et comportement, bisimulation) o théorie des types (polymorphisme)
  • programmation fonctionnelle (modèles du A - c a l c u l , effets) 9 substitutions de variables et unification 9 systèmes de réécriture

Une application « grand public » Catégories et programmation fonctionnelle a objet = type e.g., Bool, Int, Unit a morphismes = fonctions e.g., not : Bool —> Bool

  • morphismes 1 A = constantes de type A

e.g., true, false : Unit —>• Bool a équations = même fonctions d'après la sémantique du language e.g., false = not o true

  • endo-foncteurs = constructeurs de types

e.g., List ! C — y C

  • transformations naturelles = fonctions polymorphiques

e.g., rev a • List(À)—ïList(À) Notions of computation and monads (Eugenio Moggi)

  • monade : une construction catégorique

F ; C —' C , Tj : 1 c~^F, fx F o F—^F >

  • utilisé dans le langage Haskell
  • un sucre spécifique, commun à toutes les instances

Effets en programmation fonctionnelle

  • partialité : F (A) = A + 1
  • exceptions : F E (A) = A + E 9 non-déterminisme : F (A) = A*
  • gestion d'états : F S (A) = {S x A ) s 9 lecteur : F E (A) = A E

Quid des bases de données ? Data Base Mappings and Monads : (Co)lnduction (Zoran Majkic)

Thus DB category, as a base category for the semantics of databases and mappings between them, is different from the Set category used dominantly for such issues, and needs the full investigation of its properties. Simplicial Databases (David I. Spivak) "The theory of relational databases is generally formulated within mathematical logic. V\/e provide a more modern and more flexible approach using methods from category theory and algebraic topology [...] Using an inefficient language can hamper ones ability to implement, work with, and reason about a subject."

Un goût de catégorification . . . gratuite

A calculus for collections and aggregates (Lellahi, Tannen) " This paper proposes a calculus for programming with collection data types and aggregate operations on such collections. From a philosophical perspective, such a calculus should play for database query languages the role that the lambda calculus plays for functional programming languages. From a practical perspective, such a calculus can form the foundation of an intermediate language : the surface syntax of queries can gets translated into terms of the calculus and the equational theory of the calculus derives program equivalences used in optimization.'"

Constructions catégoriques

  • proposition d'un calcul sur les collections (cf. Nested Relational Calculus), dont la sémantique est donnée à l'aide de catégories,
  • notion générale de collection : monades,
  • notion générale d'aggrégats : algèbres sur un endo-foncteur, 9 théorèmes vérifiés dans les structures : pour l ' o p t i m i s a t i o n .

» un vocabulaire de concepts et de constructions, 9 une façon de penser morphismes,

  • généraliser et transférer entre domaines.

Intérêt des catégories en BD ?

  • Abstraire les constructions/transformations classiques des bases de données relationnelles e.g., contraintes d'intégrité, chase, réécriture ...
  • Pour les appliquer/instancier sur de nouvelles structures e.g., graphes RDF, arbres XML, BD objets, NRC ...

Références

  • Deutsch, A. ; Nash, A. & Remmel, J. B. The chase revisited. 2008. PODS sur l'universalité du chase
  • Pierce, B. C. Basic Category Theory for Computer Scientists. 1991. Livre d'introduction de référence
  • Lellahi, S. K. & Tannen, V. A Calculus for Collections and Aggregates. 1997. Un équivalent du X-calcul pour les BD
  • Rydeheard, D. E. & Burstall, R. M. A Categorical Unification Algorithm. 1986. Algo de Martelli & Montanari décrit catégoriquement
  • Rutten, J. J. M. M. Universal coalgebra : a theory of systems. 2000. Transpositions de concepts algébriques aux automates
  • Moggi, E. Notions of computation and monads. 1991. Formalisation de la notion d'effet
  • Liang, S. & Hudak, R Modular Monadic Semantics. 1998. Combiner modulairement les effets
  • Goguen, J. A. A Categorical Manifesto. 1991.



Introduction Applications informatiques

Conclusion

L A T H É O R I E DES C A T É G O R I E S

Q U ' E S T - C E QUE C ' E S T ? Q U E L INTÉRÊT EN INFORMATIQUE ?

R o m u a l d THION

Liris - Équipe BD

Vendredi 22 avril 2011

a a

e

n S

a *

nnees

R. Thion Théorie des catégories 1


Page 1-----------------------------------------------------

� Introduction Les catégories La pratique Applications informatiques Conclusion

Plan

O Introduction

Q Les catégories

Q La pratique

Q Applications informatiques

§ Conclusion

R. Thion Théorie des catégories


Page 2-----------------------------------------------------

� Introduction Les catégories La pratique Applications informatiques Conclusion

O Introduction

Q Les catégories

^ La pratique

Applications informatiques

§ Conclusion

R. Thion Théorie des catégories


Page 3-----------------------------------------------------

� Introduction Les catégories La pratique Applications informatiques Conclusion

Disclaimer

R. Thion Théorie des catégories


Page 4-----------------------------------------------------

� Introduction Les catégories La pratique Applications informatiques Conclusion

Pourquoi cet exposé ?

La théorie des catégories

o maths contemporaines (post Bourbaki) o cadre assez peu connu, voire ésotérique » intellectuellement séduisant

R. Thion Théorie des catégories


Page 5-----------------------------------------------------

� Introduction Les catégories La pratique Applications informatiques Conclusion

Pourquoi cet exposé ?

La théorie des catégories

o maths contemporaines (post Bourbaki) o cadre assez peu connu, voire ésotérique » intellectuellement séduisant

Intérêt pour les informaticiens

o cadre fortement typé ® démarche constructive

o spécification versus implémentation

R. Thion Théorie des catégories


Page 6-----------------------------------------------------

� Introduction Les catégories La pratique

Applications informatiques

Conclusion

Pourquoi cet exposé ?

La théorie des catégories

o maths contemporaines (post Bourbaki) o cadre assez peu connu, voire ésotérique » intellectuellement séduisant

Intérêt pour les informaticiens

o cadre fortement typé ® démarche constructive

o spécification versus implémentation

Un outil majeur de l'informatique t h é o r i q u e . . . ... Qui aurait sa place en bases de données  ?

R. Thion Théorie des catégories


Page 7-----------------------------------------------------

� Introduction Les catégories La pratique Applications informatiques Conclusion

Présentation informelle

Une catégorie c o m m e . . . 9 une structure algébrique

® un cadre où faire des mathématiques ® une alternative aux ensembles

R. Thion Théorie des catégories


Page 8-----------------------------------------------------

� Introduction Les catégories La pratique Applications informatiques Conclusion

Présentation informelle

Une catégorie c o m m e . . . 9 une structure algébrique

® un cadre où faire des mathématiques ® une alternative aux ensembles

Dana S. Scott - Relating theories of the \-calculus (1980) What we are probably seeking is a "purer" view of functions : a theory of functions in themselves, not a theory of functions derived from sets.

What, then, is a pure theory of functions ?

Answer : category theory.

R. Thion Théorie des catégories


Page 9-----------------------------------------------------

� Introduction Les catégories La pratique Applications informatiques Conclusion

^ Introduction

Q Les catégories

^ La pratique

Applications informatiques

§ Conclusion

R. Thion Théorie des catégories


Page 10-----------------------------------------------------

� Introduction

Les catégories          La pratique          Applications informatiques          Conclusion

Une catégorie C

® d'une collection d 'objets : A,B,C ...

9 d'une collection de morphismes (ou flèches) : f,g,h ...

9 pour chaque morphisme, un domaine ( dom ) et un codomaine

(cod) \ f : A —? B (fortement typé)

9 d'une opération de composition associant à chaque paire de morphismes / et g telles que cod(f) = dom(g) un morphisme

go f : dom(f) cod(g)

Satisfaisant les deux conditions suivantes

9 la composition est associative : (h o g) o f = h o (g o f)

O pour chaque objet A, un morphisme identité id A : A ^ A t.q.

pour tout / : A -s- B on ait ids ° f = f et / o idA — f

R. Thion Théorie des catégories


Page 11-----------------------------------------------------

� Introduction

Les catégories          La pratique          Applications informatiques          Conclusion

Une catégorie C

® d'une collection d 'objets : A,B,C ...

9 d'une collection de morphismes (ou flèches) : f,g,h ...

o pour chaque morphisme, un domaine ( dom ) et un codomaine

(cod) \ f : A —? B (fortement typé)

9 d'une opération de composition associant à chaque paire de morphismes / et g telles que cod(f) = dom(g) un morphisme

go f : dom(f) cod(g)

Satisfaisant les deux conditions suivantes

O la composition est associative : (h o g) o f = h o (g o f)

O pour chaque objet A, un morphisme identité id A : A ^ A t.q.

pour tout / : A -s- B on ait ids ° f = f et / o idA — f

Et rien d'autre . . .

R. Thion Théorie des catégories


Page 12-----------------------------------------------------

� Introduction

Les catégories          La pratique          Applications informatiques          Conclusion

Exemples

Bestiaire

Catégorie Objets Morphismes

Set

Pfn Rel

Mon Grp

Q-Alg Pos

CPO

ensembles ensembles ensembles monoïdes groupes

O-algèbres posets

posets complets

fonctions totales

fonctions partielles relations binaires

homomorphismes de monoïdes homomorphismes de groupes O-homomorphismes

fonctions de monotones fonctions continues

R. Thion Théorie des catégories


Page 13-----------------------------------------------------

� Introduction

Les catégories          La pratique          Applications informatiques          Conclusion

Exemples

Bestiaire

Catégorie Objets Morphismes

Set

Pfn Rel

Mon Grp

ensembles ensembles ensembles monoïdes groupes

fonctions totales

fonctions partielles relations binaires

homomorphismes de monoïdes homomorphismes de groupes

Q-Alg O-algèbres

O-homomorphismes

Pos

posets

fonctions de monotones

CPO posets complets

fonctions continues

Des implémentations de la définition de catégorie

Toutes ces catégories sont concrètes :

les objets sont des ensembles munis de structures.

R. Thion Théorie des catégories


Page 14-----------------------------------------------------

� Introduction

Les catégories          La pratique          Applications informatiques          Conclusion

Pour ou contre ?

En défaveur

» trop abstrait ( abstract nonsense) 9 poids notationnel accablant

9 rien de plus que dans S e t (fondamentalement)

R. Thion Théorie des catégories


Page 15-----------------------------------------------------

� Introduction

Les catégories          La pratique          Applications informatiques          Conclusion

Pour ou contre ?

En défaveur

» trop abstrait ( abstract nonsense) 9 poids notationnel accablant

9 rien de plus que dans S e t (fondamentalement)

En faveur

9 se débarasser des « détails » de S e t 9 « penser transformations »

9 généraliser et réutiliser des constructions

R. Thion Théorie des catégories

J


Page 16-----------------------------------------------------

� Introduction Les catégories La pratique Applications informatiques Conclusion

(J Introduction

Q Les catégories

Q La pratique

Applications informatiques

§ Conclusion

R. Thion Théorie des catégories


Page 17-----------------------------------------------------

� Introduction La pratique

Applications informatiques          Conclusion

Pratique des catégories

Particularités de la pratique

O définition et raisonnement sur les morphismes

Q rô le de l'unicité (l'universalité, la canonicité, l'optimalité . . . ) O utilisation de diagrammes pour décrire les propriétés

O abstraction de constructions ou propriétés sur des objets connus

Processus de catégorisation

Passer de = (en algèbre) à = (via morphismes)

La construction est « réussie » si on retrouve les mêmes lois

R. Thion Théorie des catégories


Page 18-----------------------------------------------------

� Introduction La pratique

Applications informatiques          Conclusion

1. Raisonner sur les morphismes

Démarche constructive

On ne considère jamais l'égalité entre objets,

seulement entre les morphismes.

R. Thion Théorie des catégories


Page 19-----------------------------------------------------

� Introduction La pratique

Applications informatiques          Conclusion

1. Raisonner sur les morphismes

Démarche constructive

On ne considère jamais l'égalité entre objets,

seulement entre les morphismes.

Objet terminal

Un C-objet 1 est terminal si, pour tout C-objet A il existe un unique morphisme noté ! : A 1

On caractérise un objet via ses morphismes.

Isomorphisme

/ : A -> B est un isomorphisme si il existe g : B -» A tel que fog = ids et 5 0 / = id A -

Intuitivement, une transformation réversible qui préserve la structure.

R. Thion Théorie des catégories


Page 20-----------------------------------------------------

� Introduction Applications informatiques

2. Rôle de l'unicité

Conclusion

Proposition

Les objets terminaux d'une catégorie sont isomorphes.

(Preuve ) Soient A et B terminaux, et U : A -> B et \ b • B ->• A les uniques morphismes entre ces objets.

U et \ B sont composables : l ^ o ! ^ : A -> A. Or id a • A -> A existe (axiome) et est l'unique morphisme A -> A, car A est terminal. Donc, •B°-A = idA-

Similairement pour = ids'- A sont B isomorphes.

Il n'y a (catégoriquement) aucun intérêt à distinguer les terminaux

entre eux.

R. Thion Théorie des catégories

]


Page 21-----------------------------------------------------

� Introduction Les catégories La pratique Applications informatiques Conclusion

3. Diagrammes commutatifs

FA

VA GA

F(f) G(f)

FB

V B

GB

R. Thion Théorie des catégories


Page 22-----------------------------------------------------

� Introduction Les catégories La pratique Applications informatiques Conclusion

3. Diagrammes commutatifs

FA

VA GA

F(f) G(f)

FB

V B

GB

Le carré commute

G(f) °riA=riB° F(f)

]

R. Thion Théorie des catégories


Page 23-----------------------------------------------------

� Introduction Applications informatiques

Conclusion

4. Intuition dans Set

Produit cartésien : A x B = {(a, b) | a E A A b e B}

Comment définir le produit sans faire intervenir G, en considérant uniquement des transformations (fonctions) entre objets (ensembles)?

o première projection m : A x B ->• A 9 seconde projection 7r 2 : A x B ->• B

9 la structure (A x B, m, m) est optimale

9 quelques soient / : C A et g : C ->• B on peut construire

(f,g)  :C ->• A x B définie par {f,g)(x) = (f(x),g(x))

7T1 . 7T 2

A ^ i x B ^ B

A

I

/ I

</>0>

I C

R. Thion Théorie des catégories


Page 24-----------------------------------------------------

� Introduction Les catégories La pratique Applications informatiques Conclusion

(J Introduction

Q Les catégories

^ La pratique

Q Applications informatiques

Q Conclusion

R. Thion Théorie des catégories


Page 25-----------------------------------------------------

� Introduction

Les catégories          La pratique          Applications informatiques          Conclusion

Applications informatiques

A categorical manifesto (Joseph Goguen)

"This paper tries to explain why and how category theory is useful in

computing science, by guiving guidelines for applying seven basic categorical concepts : category, functor, natural transformation, limit, adjoint, colimit and comma category. Somes examples, intuition, and references are given for each concept, but completeness is not attempted."

R. Thion Théorie des catégories


Page 26-----------------------------------------------------

� Introduction

Les catégories          La pratique          Applications informatiques          Conclusion

Applications informatiques

A categorical manifesto (Joseph Goguen)

"This paper tries to explain why and how category theory is useful in

computing science, by guiving guidelines for applying seven basic categorical concepts : category, functor, natural transformation, limit, adjoint, colimit and comma category. Somes examples, intuition, and references are given for each concept, but completeness is not attempted."

Utilisations

o théorie des graphes (catégorie « algèbre des chemins)

® théorie des automates (systèmes et comportement, bisimulation) o théorie des types (polymorphisme)

o programmation fonctionnelle (modèles du A - c a l c u l , effets) 9 substitutions de variables et unification 9 systèmes de réécriture

R. Thion Théorie des catégories

J


Page 27-----------------------------------------------------

� Introduction

Les catégories          La pratique          Applications informatiques          Conclusion

Une application « grand public »

Catégories et programmation fonctionnelle

a objet = type

e.g., Bool, Int, Unit

a morphismes = fonctions

e.g., not : Bool —> Bool

9 morphismes 1 A = constantes de type A

e.g., true, false : Unit —>• Bool

a équations = même fonctions d'après la sémantique du language

e.g., false = not o true

9 endo-foncteurs = constructeurs de types

e.g., List ! C — y C

9 transformations naturelles = fonctions polymorphiques

e.g., rev a • List(À)—ïList(À)

R. Thion Théorie des catégories


Page 28-----------------------------------------------------

� Introduction

Les catégories          La pratique          Applications informatiques          Conclusion

Une application « grand public »

Notions of computation and monads (Eugenio Moggi)

® monade : une construction catégorique

F ; C —' C , Tj : 1 c~^F, fx F o F—^F >

® utilisé dans le langage Haskell

9 un sucre spécifique, commun à toutes les instances

R. Thion Théorie des catégories


Page 29-----------------------------------------------------

� Introduction

Les catégories          La pratique          Applications informatiques          Conclusion

Une application « grand public »

Notions of computation and monads (Eugenio Moggi)

® monade : une construction catégorique

F ; C —' C , Tj : 1 c~^F, fx F o F—^F >

® utilisé dans le langage Haskell

9 un sucre spécifique, commun à toutes les instances

Effets en programmation fonctionnelle

9 partialité : F (A) = A + 1

9 exceptions : F E (A) = A + E 9 non-déterminisme : F (A) = A*

9 gestion d'états : F S (A) = {S x A ) s 9 lecteur : F E (A) = A E

R. Thion Théorie des catégories


Page 30-----------------------------------------------------

� Introduction Les catégories La pratique Applications informatiques Conclusion

(J Introduction

Q Les catégories

^ La pratique

Applications informatiques

§ Conclusion

R. Thion Théorie des catégories


Page 31-----------------------------------------------------

� Introduction

Les catégories          La pratique          Applications informatiques          Conclusion

Quid des bases de données ?

Data Base Mappings and Monads : (Co)lnduction (Zoran Majkic)

" Thus DB category, as a base category for the semantics of databases and mappings between them, is different from the Set category used dominantly for such issues, and needs the full investigation of its properties."

Simplicial Databases (David I. Spivak)

"The theory of relational databases is generally formulated within

mathematical logic. V\/e provide a more modern and more flexible approach using methods from category theory and algebraic topology [...] Using an inefficient language can hamper ones ability to implement, work with, and reason about a subject."

R. Thion Théorie des catégories


Page 32-----------------------------------------------------

� Introduction

Les catégories          La pratique          Applications informatiques          Conclusion

Quid des bases de données ?

Data Base Mappings and Monads : (Co)lnduction (Zoran Majkic)

" Thus DB category, as a base category for the semantics of databases and mappings between them, is different from the Set category used dominantly for such issues, and needs the full investigation of its properties."

Simplicial Databases (David I. Spivak)

"The theory of relational databases is generally formulated within

mathematical logic. V\/e provide a more modern and more flexible approach using methods from category theory and algebraic topology [...] Using an inefficient language can hamper ones ability to implement, work with, and reason about a subject."

Un goût de catégorification . . . gratuite

R. Thion Théorie des catégories


Page 33-----------------------------------------------------

� Introduction

Les catégories          La pratique          Applications informatiques          Conclusion

A calculus for collections and aggregates (Lellahi, Tannen)

" This paper proposes a calculus for programming with collection data types and aggregate operations on such collections. From a philosophical

perspective, such a calculus should play for database query languages the role that the lambda calculus plays for functional programming languages. From a practical perspective, such a calculus can form the foundation of an intermediate language : the surface syntax of queries can gets translated into terms of the calculus and the equational theory of the calculus derives program equivalences used in optimization.'"

R. Thion Théorie des catégories


Page 34-----------------------------------------------------

� Introduction

Les catégories          La pratique          Applications informatiques          Conclusion

A calculus for collections and aggregates (Lellahi, Tannen)

" This paper proposes a calculus for programming with collection data types and aggregate operations on such collections. From a philosophical

perspective, such a calculus should play for database query languages the role that the lambda calculus plays for functional programming languages. From a practical perspective, such a calculus can form the foundation of an intermediate language : the surface syntax of queries can gets translated into terms of the calculus and the equational theory of the calculus derives program equivalences used in optimization.'"

Constructions catégoriques

® proposition d'un calcul sur les collections (cf. Nested Relational Calculus), dont la sémantique est donnée à l'aide de catégories,

9 notion générale de collection : monades,

9 notion générale d'aggrégats : algèbres sur un endo-foncteur, 9 théorèmes vérifiés dans les structures : pour l ' o p t i m i s a t i o n .

R. Thion Théorie des catégories


Page 35-----------------------------------------------------

� Introduction

Les catégories          La pratique          Applications informatiques          Conclusion

La théorie des catégories

» un vocabulaire de concepts et de constructions, 9 une façon de penser morphismes,

9 généraliser et transférer entre domaines.

R. Thion Théorie des catégories


Page 36-----------------------------------------------------

� Introduction

Les catégories          La pratique          Applications informatiques          Conclusion

La théorie des catégories

» un vocabulaire de concepts et de constructions, 9 une façon de penser morphismes,

9 généraliser et transférer entre domaines.

Intérêt des catégories en BD ?

9 Abstraire les constructions/transformations classiques des bases

de données relationnelles

e.g., contraintes d'intégrité, chase, réécriture ...

9 Pour les appliquer/instancier sur de nouvelles structures

e.g., graphes RDF, arbres XML, BD objets, NRC ...

R. Thion Théorie des catégories


Page 37-----------------------------------------------------

� Introduction Applications informatiques

Conclusion

o

o

o< •o

o o

• • / \

o o o

0

O O'

//

o

O

O •

o

O

Cec/' n'est pas une catégorie (R. Magritte)

R. Thion Théorie des catégories


Page 38-----------------------------------------------------

� Introduction Applications informatiques

Conclusion

Références

9 Deutsch, A. ; Nash, A. & Remmel, J. B. The chase revisited. 2008.

PODS sur l'universalité du chase

9 Pierce, B. C. Basic Category Theory for Computer Scientists. 1991.

Livre d'introduction de référence

9 Lellahi, S. K. & Tannen, V. A Calculus for Collections and Aggregates.

1997. Un équivalent du X-calcul pour les BD

9 Rydeheard, D. E. & Burstall, R. M. A Categorical Unification Algorithm.

1986. Algo de Martelli & Montanari décrit catégoriquement

9 Rutten, J. J. M. M. Universal coalgebra : a theory of systems. 2000.

Transpositions de concepts algébriques aux automates

9 Moggi, E. Notions of computation and monads. 1991. Formalisation de

la notion d'effet

9 Liang, S. & Hudak, R Modular Monadic Semantics. 1998. Combiner

modulairement les effets

9 Goguen, J. A. A Categorical Manifesto. 1991.

R. Thion Théorie des catégories


Page 39-----------------------------------------------------