. Cas-du-cast, A) a 0 :: A 0 ; A 0 avec: (H 1 ) : Infer(G; ; A) M; X (H 2 ) : Coerce SORT(G; ; M; X) A 0 ; s (H 3 ), Nous avons Infer(G Infer(G Coerce(G, issue.4 0

. Cas and . Lam, Nous avons`xavons`avons`x : A]b : (x : A)B avec: (H 1 ) : ` A : s 1 (H 2 ) : ; x : A ` b : B (H 3 ) : (B 2 A o _ B 6 2 S) ^ hs 1 ; s 2 ; s 3 i 2 R

. Par-r-ecurrence, (; x : A); b) b; Y (H 7 ) : B = Y Nous avons: (H 8 ) : Coerce SORT(G; ; A; X) A; s 1 car, ) (H 9 ) : (Whnf (Y ) 2 A o _ Whnf (Y ) 6 2 S) ^ hs 1 ; s 2 ; s 3 i 2 R car (H 3 ) + (H 7

L. Monotonie, inf erence Infer souure d'un d efaut assez invalidant. Il n'est pas monotone , c'est a dire un terme bien typ e dans un graphe G ne l'est pas forc

. Le-terme-implicite, Dans le graphe etendu G + q = p : A 00 --A; q : A 0, en eeet Infer(G Infer(G, issue.f

. Pire-encore, (f a) est mal typ e dans G + r = p : A 00 --A; r : A 0, La raison est simple

L. Ext_equiv, Equivalence Ext) @Definition Map_setoid : Setoid := Ext_equiv. End maps

:. Variable-f, Definition Map2_congl_law := (b1,b2:B)(a:A) (b1 =_S b2) -> (f a b1) =_S (f a b2

L. Derni-ere-composante-d, une cat egorie est, pour tout objet a, un morphisme identit e Id a : a ! a, qui est l'identit e pour la composition. Plus explicitement, les deux equations suivantes doivent ^ etre satisfaites pour tout morphisme f : a ! b

U. Moralement and . Op, erateur de composition n'est rien d'autre qu'une fonction binaire v eriiant les lois de congruence pour chacun de ses arguments. Nous fournissons ainsi une m ethode g en erale permettant de construire un op erateur de composition a partir d'une telle fonction

. Toute-propri-et-e-ou, Pour illustrer ce principe, nous allons d eenir la notion duale de morphisme universel, que nous appelons morphisme co-universel de b vers F (cette appellation n'est pas tr es r epandue, les cat egoriciens pr ef erent plut^ ot parler de morphisme universel de F vers b) Le couple ha : A; u : F(a) ! bi est dit morphisme co-universel de b vers F si et seulement si ha : A ; u : b ! F (a)i est un morphisme universel de b vers F

E. Islimit_def, Structure >Limit : Type := {Lim : C

H. On-dit-qu-'un-foncteur, C ! D pr eserve les limites d'un foncteur F : J ! C lorsque tout c^ one limite de F est transform e par composition avec H en un c^ one limite de F H, c'est--a-dire si hlim F; i est une limite de F alors hH(lim F)

F. Nous-construisons-un-foncteur, ^ I ! C par F(i) = a i pour tout i : I, et F(f) = Id a i pour i; j : I et f : i ! j, car f ne peut ^ etre que l'identit e, i et j etant identiques

. Le-produit-de-la-famille-fa-i, C j i : Ig d'objets de C

V. Eriions-maintenant-la-propri-et-e-d, unicit e pour ce produit Soit f i : c ! a i une autre famille de projections d'un objet c : C. On construit le morphisme hfi i:I en s'appuyant sur l'universalit e de l. Plus pr ecis ement, hfi i:I = # avec

D. Soit, D a un objet initial si et seulement si elle v eriie la condition sui- vante

S. La, L'ensemble I est le type singleton ffg et la famille se r

D. Comme, elle admet en particulier tous les produits et tous les egalisateurs. Soit w = i:I k i

. Comme-e, egalisateur de s e 1 e et Id w , on a e s e 1 e = e Id w = Id v e. Or on a vu plus haut que e est monic, d'o u e s e 1 = Id v

A. Soient, G. Et-x-un-objet-de, and X. , La cat egorie Comma (x # G) est celle dont les objets sont les morphismes de X de la forme x ! G(a) o u a est un objet de A. Plus exactement donc, ses objets sont des couples ha

F. :. Hom-foncteurs-contravariants-soient-deux-foncteurs, Le foncteur Hom(F; ) : D C ! SET est d eeni par Hom(F; )(hd; ci) = Hom(F(d); c) et

. Hom, (hf; gi) = F(f) h g avec f : d 2 ! d 1 , g : c 1 ! c 2 et h : F(d 1

. Hom, et Hom(; G)(hf; gi) = f hG(g) avec f : d 2 ! d 1 , g : c 1 ! c 2

. Hom, est une application de SET. On peut donc l'appliquer a tout el ement de l'ensemble Hom(F(d); c) Si f : F(d) ! c, alors hd;ci (f) : d ! G(c)

F. Si-ad-est-une-adjonction-entre and G. , ApAphi ad f) et (ApAphi inv ad g) repr esentent respectivement (f) et 1 (g)

D. Adj1 and V. Adj, Partant d'une adjonction entre F et G d eenie par l'unit e et la co-unit e , il nous faut construire un isomorphisme entre Hom(F; ) et Hom(; G) Nous posons (f) = d G(f) pour tout f : F(d) ! c et 1 (g) = F(g) c pour tout g : d ! G(c)

. Local and . Elt, Local t : (a i)-->r := (ApAphi_inv la h)

. Le and . Lui, Il consiste en une s equence de d eenitions, de th eor emes et de sch emas avec leur preuve. Les d eenitions incluent les d eenitions de fonctions, de pr edicats et de structures Une structure est une entit e regroupant plusieurs champs accessibles par des s electeurs (projections), Une structure peut avoir plusieurs hh anc^ etres ii dont elle h erite les champs (on doit tout de m^ eme recopier ces champs dans la nouvelles structure)

. Struct-catstr-<<objects, Morphisms -> non empty set Cod -> (Function of the Morphisms, The Objetcs, Comp -> (PartFunc of : the Morphisms, the Morphisms :], the Morphisms), Id -> Function of the Objetcs, the Morphisms >>

H. Dans and . Peu, ces notions sont formalis ees en th eorie des types et dans la th eorie des ensembles (elle-m^ eme formalis ee dans HOL)

U. Dans-mizar, ] sont consacr es a la formalisation de la th eorie des cat egories. Nous y remarquons beaucoup d'exemples de cat egories mais peu de notions avanc ees telles que les limites et les adjonctions

S. Ennn and I. Beylin, Dybjerr24] ont v erii e le th eor eme de coh erence pour les cat egories mono dales dans respectivement HOL et ALF

P. Aczel, Galois: A Theory Development Project. Turin workshop on the representation of mathematics in Logical Frameworks, 1993.

P. Aczel, A notion of class for theory development in algebra (in a predicative type theory) Presented at Workshop of Types for Proofs and Programs, 1994.

P. Aczel, Simple overloading for type theories, Privately circulated notes, 1994.

S. Agerholm, Experiments in formalizing basic category theory in higher order logic and set theory. Draft, decembre, 1995.

S. Agerholm, Formalising a proof of coherence for monoidal categories. Draft, d ecembre, 1995.

S. Agerholm, I. Beylin, and P. Dybjer, A comparison of HOL and ALF formalizations of a categorical coherence theorem, TPHOL'96 proceedings, 1996.
DOI : 10.1007/BFb0105394

R. Amadio and L. Cardelli, Subtyping Recursive Types, ACM-TOPLAS, pp.575-631, 1993.
DOI : 10.1145/155183.155231

URL : https://hal.archives-ouvertes.fr/inria-00070035

J. A. Altucher and P. Panangaden, A mechanically assisted constructive proof in category theory, p.449, 1990.
DOI : 10.1007/3-540-52885-7_110

R. Asperti and G. Longo, Categories, Types, and Structures, 1991.

D. Aspinall and A. Compagnoni, Subtyping dependent types, proceedings LICS96, 1996.
DOI : 10.1109/lics.1996.561307

URL : http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.144.229

A. Bailey, Representing algebra in Lego, 1993.

A. Bailey, Coercion synthesis in computer implementations of type-theoretic frameworks, TYPES'96 proceedings
DOI : 10.1007/BFb0097784

M. Barr and C. Wells, Category Theory for Computer Science. International Series in Computer Science, 1990.

G. Barthe, Implicit coercions in type systems, TYPES'95 proceedings, 1996.
DOI : 10.1007/3-540-61780-9_58

H. P. Barendregt, The lambda calculus: its syntax and semantics, Logic and the Foundations of Mathematics. North-Holland, edition r evis ee, 1984.

H. P. Barendregt, Typed Lambda calculi In Handbook of Logic in Computer Science, pp.117-309, 1992.

H. P. Barendregt, The quest of correctness, Draft, 1996.

D. Basin, Building Problem Solving Environments in Constructive Type Theory, 1989.

J. B. Enabou, Fibred Categories and the foundations of Naive Category Theory, J. Symbolic Logic, vol.50, issue.1, pp.10-37, 1985.

G. Betarte, Classes and overloading in type theory with record types, 1995.

I. Beylin and P. Dybjer, Extracting a proof of coherence for monoidal categories from a formal proof of normalization for monoids, Types'95 proccedings, 1996.

E. Bishop, Foundation of constructive analysis, 1967.

N. Bourbaki, Th eorie des ensembles, fascicule de r esultats, 1968.

S. Boutin, Reeexions sur les quotients, Th ese, 1997.

V. Breazu-tannen, C. Gunter, T. Coquand, and A. Scedrov, Inheritance as implicit coercion, Information and Computation, vol.93, issue.1, pp.172-221, 1991.
DOI : 10.1016/0890-5401(91)90055-7

URL : http://doi.org/10.1016/0890-5401(91)90055-7

C. Byli-nski and A. Darmochwal, Comma Category, In Formalized Mathematics journal, vol.4, 1992.

L. Cardelli, A polymorphic lambda calculus with Type:Type. Rapport technique, 1986.

G. Chen and G. Longo, Subtypin parametric and dependent types, an introduction. Draft, 1996.

A. Church, A formulation of the simple theory of types, The Journal of Symbolic Logic, vol.1, issue.02, pp.56-68, 1940.
DOI : 10.2307/2371199

L. Colson, Repr esentation intensionnelles d'algorithmes dans les syst emes fonctionnels: une etude de cas, Th ese de doctorat, 1991.

R. Constable, Implementing mathematics with NuPrl proof development system, 1986.

. Th and . Coquand, An analysis of Girard's paradox, Proceedings of LICS, 1986.

T. Coquand and G. Huet, Concepts math ematiques et informatiques dans le calcul des constructions . Logic Colloquium'85, 1987.
DOI : 10.1016/s0049-237x(09)70551-8

URL : https://hal.inria.fr/inria-00076039/document

. Th and . Coquand, Une th eorie des Constructions, Th ese de troisi eme cycle, 1985.

. Th, G. Coquand, G. Dowek, . Huet, and . Ch, Paulin-Mohring. The calculus of constructions: documentation and user's guide. Rapport technique, projet Formel INRIA, 1989.

. Th, C. Coquand, and . Paulin-mohring, Inductively deened types, Proceedings of the International Conference on Computer Logic, P. Martin-LL of, G. Mints Eds, pp.50-66, 1988.

C. Coquand and G. Huet, The calculus of constructions, Information and Computation, vol.76, issue.2-3, pp.95-120, 1988.
DOI : 10.1016/0890-5401(88)90005-3

URL : https://hal.archives-ouvertes.fr/inria-00076024

C. Cornes, J. Courant, J. Filliatre, G. Huet, P. Manoury et al., The Coq Proof Assistant Reference Manual, 1995.
URL : https://hal.archives-ouvertes.fr/inria-00069994

C. Cornes and D. Terasse, Automating inversion of inductive predicates in Coq, Proceedings of TYPES Workshop, 1995.
DOI : 10.1007/3-540-61780-9_64

C. Cornes, Conception d'un langage de haut niveau de rep esentation de preuves: R ecurrence par ltrage de motifs, Uniication en pr esence de types inductifs primitifs et Synth ese de lemmes d'inversion, 1997.

R. L. Crole, Categories for Types. Cambridge Mathematical Textbooks, 1993.

P. Curien, Categorical combinators, sequential algorithms and functional programming. Progression in theorical computer science, Birkhh auser, 1993.
DOI : 10.1007/978-1-4612-0317-9

L. Damas and R. Milner, Principal type-schemes for functional programs, Proceedings of the 9th ACM SIGPLAN-SIGACT symposium on Principles of programming languages , POPL '82, pp.207-212, 1982.
DOI : 10.1145/582153.582176

E. Dennis-jones and D. E. Rydeheard, Categorical ML ? Category-theoretic modular programming, Formal Aspects of Computing, vol.14, issue.3, pp.337-366, 1993.
DOI : 10.1007/BF01212406

G. Dowek, D emonstration automatique dans le Calcul des Constructions, 1991.

G. Dowek, La Logique. Flammarions, coll. Dominos, 1995.
URL : https://hal.archives-ouvertes.fr/inria-00150707

M. Dummet, Elements of intuitionnism. Oxford Logic Series, 1977.

P. Dybjer and V. Gaspes, Implementing a category of sets in ALF. Draft, 1994.

R. Dyckhoo, Category theory as an extension of Martin-LL of type theory, Internal Report CS, vol.853

P. Freyd, Abelian categories: an introduction to the theory of functors, 1964.

W. Gehrke, Decidability results for Categorical notions related to Monads by rewriting techniques, 1995.

W. D. Goldfarb, The undecidability of the second-order unification problem, Theoretical Computer Science, vol.13, issue.2, pp.225-230, 1981.
DOI : 10.1016/0304-3975(81)90040-2

M. J. Gordon and T. F. Melham, Introduction to HOL: a theorem proving environment for higher-order logic, 1993.

A. Grabowski, On the Category of Posets, In Formalized Mathematics journal, vol.8, 1996.

A. Grabowski, Examples of Category Structures, In Formalized Mathematics journal, vol.8, 1996.

M. Hagiya and Y. Toda, On implicit arguments, 1995.
DOI : 10.1007/BFb0032392

R. Harper and R. Pollack, Type checking with universes, Theoretical Computer Science, vol.89, issue.1, 1991.
DOI : 10.1016/0304-3975(90)90108-T

URL : http://doi.org/10.1016/0304-3975(90)90108-t

J. Harrison, Metatheory and reeection in theorem proving: a survey and critique. Rapport technique CRC-053, SRI Cambridge, 1995.

J. Harrison, Formalized mathematics. Draft, 1996.

J. Harrison, A mizar mode for HOL, 96 proceedings, 1996.
DOI : 10.1007/BFb0105406

J. Harrison, Proof style. Dans TYPES'96 proceedings, a para^ tre
DOI : 10.1007/bfb0097791

J. Harrison, Theorem proving with the real numbers, 1997.
DOI : 10.1007/978-1-4471-1591-5

M. Hofmann and T. Streicher, A groupo d model refutes uniqueness of identity proofs, proceddings of the 9th symposium on Logic in Computer Science (LICS), 1994.

M. Hofmann, Elimination of extensionality in Martin-LL of type theory, Proceedings of workshop TYPES'93 \Types for Proofs and Programs Barendregt and T. Nipkow, 1993.

D. W. Howard, The formula-as-types notion of construction, Seldin and Hindleyy142], pp.479-490

G. Huet, A unification algorithm for typed ??-calculus, Theoretical Computer Science, vol.1, issue.1, pp.27-57, 1975.
DOI : 10.1016/0304-3975(75)90011-0

G. Huet, Connuent reductions: abstract properties and applications to term rewriting, Journal of the Association for Computing Machinery, vol.24, issue.1, pp.797-821, 1980.
DOI : 10.1109/sfcs.1977.9

G. Huet and D. C. Oppen, Equations and Rewrite rules: A Survey Formal Languages: Perspectives and Open problems, 1980.

G. Huet, A complete proof of correctness of the Knuth-Bendix completion algorithm, Journal of Computer and System Sciences, vol.23, issue.1, pp.11-21, 1981.
DOI : 10.1016/0022-0000(81)90002-7

URL : https://hal.archives-ouvertes.fr/inria-00076536

G. Huet, Initiation a la Th eorie des Cat egories. Notes de Cours, 1985.

G. Huet, Formal structures for computation and deduction, Papier de travail pour International Summer School on Logic of Programming and Calculi of Discrete Design, 1986.

G. Huet, Extending the calculus of constructions with Type:Type, 1987.

G. Huet, The constructive engine. A Perspective in Theorical Computer Science, Commemorative volume for Gift Siromoney, 1989.

G. Huet, Cartesian closed categories and lambda-calculus In Logical Foundations of Functional Programming. University of Texas at Austin Programming Series, pp.7-23, 1990.

G. Huet, A uniform approach to type theory. Logic Foundation of Functional Programming, G. Huet Ed, pp.337-397, 1990.
URL : https://hal.archives-ouvertes.fr/inria-00075756

G. Huet and A. Sa-bi, Constructive Category Theory

P. B. Jackson, Enhancing the NuPRL proof development system and applying it to computational abstract algebra, 1995.

P. B. Jackson, Exploring abstract algebra in constructive type theory, the proceedings of CADE-12, LNAI 814, 1994.
DOI : 10.1007/3-540-58156-1_43

W. Jaksch and C. Zinn, Basic Properties about Functor Structures, In Formalized Mathematics journal, vol.8, 1996.

D. E. Knuth and P. B. Bendix, Simple Word Problems in Universal Algebras, Leech editor, Computational Problems in Abstract Algebra, pp.263-297, 1970.
DOI : 10.1007/978-3-642-81955-1_23

A. Kornilowicz, On the Baire Category Theorem, In Formalized Mathematics journal, vol.9, 1997.

A. Kornilowicz, On the categories without the uniqueness of cod and dom. Some properties of morphisms and functors, In Formalized Mathematics journal, vol.9, 1997.

A. Kornilowicz, The composition of functors and transformations in alternative categories, In Formalized Mathematics journal, vol.10, 1998.

Y. Lafont, Equational reasoning with 2-dimensional diagrams. Rapport technique, 1993.

J. Lambek and P. J. Scott, Introduction to higher-order categorical logic. Number 7 in Cambridge Studies in Advanced Mathematics, 1986.

J. Largeault, Presse universitaire de France, coll. hh Que sais-je? ii, 1992.

X. Leroy, Typage polymorphe d'un langage algorithmique, 1992.
URL : https://hal.archives-ouvertes.fr/tel-01499951

X. Leroy and P. Weis, Le langage Caml, 1993.

G. Longo, Notes on the foundation of Mathematics and of Computer Science, 1990.

G. Longo, K. Milsted, and S. Soloviev, logic of subtyping, extended abstract, proccedings of LICS'95, 1995.

Z. Luo, Coercive subtyping, proccedings of CSL'96, 1996.
DOI : 10.1093/logcom/9.1.105

URL : https://hal.archives-ouvertes.fr/hal-01130574

Z. Luo, Computation and reasoning: a type theory for computer science. No. 11 in International Series of Monographs on Computer Science, 1994.

Z. Luo and R. Pollack, LEGO proof development system: user's manual, 1992.

D. Mackenzie, The automation of proof: a historical and sociological exploration, IEEE Annals of the History of Computing, vol.17, issue.3, pp.7-29, 1995.
DOI : 10.1109/85.397057

S. and M. Lane, Categories for the working mathematician, 1971.
DOI : 10.1007/978-1-4612-9839-7

L. Magnusson and B. , Nordstrr om. The Alf proof editor and its proof engine, the proceedings of Types for Proofs and Programs, 1993.

P. Martin, An intuitionistic theory of types, Bibliopolis, 1984.

D. Miller, A Logic Programming Language with Lambda-Abstraction, Function Variables, and Simple Unification, Journal of Logic and Computation, vol.1, issue.4, pp.497-536, 1991.
DOI : 10.1093/logcom/1.4.497

R. Milner, M. Tofte, and R. Harper, The Deenition of Standard ML, 1991.

T. Mohri, On formalization of category theory. A senior thesis, university of Tokyo, 1995.

M. Muzalewski, Categories of Groups, In Formalized Mathematics journal, vol.3, 1991.

M. Muzalewski, Category of Rings, In Formalized Mathematics journal, vol.3, 1991.

M. Muzalewski, Category of Left Modules, In Formalized Mathematics journal, vol.3, 1991.

R. Nieszczerzewski, Category of Functors between Alternative Categories, In Formalized Mathematics journal, vol.9, 1997.

B. Nordstrr-om, K. Petersson, and J. Smith, Programming in Martin-LL of's type theory, 1990.

S. Owre, N. Shankar, and J. M. Rushby, The PVS Speciication Language, 1993.

. Ch and . Paulin-mohring, Inductive Deenitions in the System Coq -Rules and Properties, Proceedings TLCA 93, pp.328-345

. Ch and . Paulin-mohring, Extraction de programmes dans le Calcul des Constructions, Th ese de Doctorat, 1989.

L. C. Paulson, A higher-order implementation of rewriting, Science of Computer Programming, vol.3, issue.2, pp.119-149, 1983.
DOI : 10.1016/0167-6423(83)90008-4

L. C. Paulson, Introduction to Isabelle. Rapport technique 280, 1993.

F. Pfenning, Elf: A language for logic deenition and veriied metaprogramming, proceedings of the Fourth Annual Symposium on LICS, 1989.

F. Pfenning, Logic programming in the LF logical framework, proceedings of the rst workshop on Logical Frameworks, 1991.
DOI : 10.1017/CBO9780511569807.008

F. Pfenning, Uniication and anti-uniication ine the Calculus of Constructions, proceedins of Logic In Computer Science, 1991.

F. Pfenning, Reenement types for logical frameworks, Informal Proceedings of the Workshop on Types for Proofs and Programs, 1993.

B. Pierce, Basic Category Theory for Computer Scientists, Foundations of Computing, 1991.

A. Pitts, Categorical logic, Handbook of Logic in Computer science

A. Poign-e, Basic Category Theory, Handbook of Logic in Computer Science, pp.413-641, 1992.

E. Poll and P. Severi, Pure type systems with deenitions, Proceedings of LFCS'94, pp.316-328

R. Pollack, The theory of LEGO: a proof checker for the Extended Calculus of Constructions, 1994.

R. Pollack, What is the meaning of a machine-checked proof? Draft, 1996.

R. Pollack, On extensibility of proof checkers, TYPES'94 proceedings, volume LNCS 996, pp.140-161
DOI : 10.1007/3-540-60579-7_8

P. Rudnicki, An overview of the MIZAR project Disponible dans le r epertoire pub/Mizar par ftp a l'adresse menaik, 1992.

D. E. Rydeheard and R. M. Burstall, Computational Category Theory, 1988.

A. Sa-bi, Axiomatization of a -calculus with explicit substitutions in Coq, LNCS 996, 1994.

A. Sa-bi, Typing algorithm in type theory with inheritance, proccedings of POPL'97

A. Sa-bi, Formalisation constructive de la th eorie des cat egories. En pr eparation

P. G. Severi, Normalisation in Lambda Calculus and its relation to type inference, Th ese de doctorat de l'universit e de Eindhoven, 1996.

A. Tasistro, Extension of Martin-LL of theory of types with record types and subtyping, 1993.

A. S. Toelestra and D. Van-dalen, Constructivism in mathematics, an introduction, 1986.

A. Trybulec, Natural transformations. Discrete categories, In Formalized Mathematics journal, vol.2, 1990.

A. Trybulec, Isomorphisms of Categories, In Formalized Mathematics journal, vol.3, 1991.

A. Trybulec, Some Isomorphisms Between Functor Categories, In Formalized Mathematics journal, vol.4, 1992.

A. Trybulec, Categories without Uniqueness of cod and dom, In Formalized Mathematics journal, vol.7, 1995.

A. Trybulec, Examples of Category Structures, In Formalized Mathematics journal, vol.8, 1996.

A. Trybulec, Functors for Alternative Categories, In Formalized Mathematics journal, vol.8, 1996.

L. S. Van-benthem-jutting, J. Mckinna, and R. Pollack, Checking algorithms for Pure Type Systems, TYPES'93 proceedings, pp.19-61, 1994.
DOI : 10.1007/3-540-58085-9_71

L. S. Van-benthem and . Jutting, Checking Landau's "Grundlagen" in the Automath system

D. Ww-atjan and W. Struckmann, An algorithm for verifying equations of morphisms in a category, Information Processing Letters, vol.14, issue.3, pp.104-108, 1982.

B. Werner, Une th eorie des Constructions Inductives, 1995.

B. Werner, The encoding of Zermelo-Fraenkel set theory in Coq, TACS'97 proceedings, 1997.

A. N. Whitehead and B. , Principia mathematica, 1925.