Théorie des typesEn mathématiques, logique et informatique, une théorie des types est une classe de systèmes formels, dont certains peuvent servir d'alternatives à la théorie des ensembles comme fondation des mathématiques. Ils ont été historiquement introduits pour résoudre le paradoxe d'un axiome de compréhension non restreint. En théorie des types, il existe des types de base et des constructeurs (comme celui des fonctions ou encore celui du produit cartésien) qui permettent de créer de nouveaux types à partir de types préexistant.
Intuitionistic type theoryIntuitionistic type theory (also known as constructive type theory, or Martin-Löf type theory) is a type theory and an alternative foundation of mathematics. Intuitionistic type theory was created by Per Martin-Löf, a Swedish mathematician and philosopher, who first published it in 1972. There are multiple versions of the type theory: Martin-Löf proposed both intensional and extensional variants of the theory and early impredicative versions, shown to be inconsistent by Girard's paradox, gave way to predicative versions.
Type systemIn computer programming, a type system is a logical system comprising a set of rules that assigns a property called a type (for example, integer, floating point, string) to every "term" (a word, phrase, or other set of symbols). Usually the terms are various constructs of a computer program, such as variables, expressions, functions, or modules. A type system dictates the operations that can be performed on a term. For variables, the type system determines the allowed values of that term.
Type dépendantEn Informatique et en Logique, un type dépendant est un type qui peut dépendre d'une valeur définie dans le langage typé. Les langages Agda et Gallina (de l'assistant de preuve Coq) sont des exemples de langages à type dépendant. Les types dépendants permettent par exemple de définir le type des listes à n éléments. Voici un exemple en Coq. Inductive Vect (A: Type): nat -> Type := | nil: Vect A 0 | cons (n: nat) (x: A) (t: Vect A n): Vect A (S n).
Structure algébriqueEn mathématiques, une structure algébrique est définie axiomatiquement par une ou plusieurs opérations sur un ensemble (dites internes), éventuellement muni d’autres opérations (externes) dépendant d’autres ensembles, toutes ces opérations satisfaisant certaines relations telles que l’associativité, la commutativité ou la distributivité. La structure de groupe qui émerge progressivement au , avec une seule opération interne et quelques propriétés se formalise au début du avec une kyrielle de structures d’algèbre générale moins restrictives (monoïde) ou au contraire enrichies par une seconde opération (anneau, corps, algèbre de Boole.
Assistant de preuveEn informatique (ou en mathématiques assistées par informatique), un assistant de preuve est un logiciel permettant la vérification de preuves mathématiques, soit sur des théorèmes au sens usuel des mathématiques, soit sur des assertions relatives à l'exécution de programmes informatiques. Beaucoup de projets ont été lancés pour formaliser les mathématiques, en 1966, Nicolaas de Bruijn lance le projet Automath, suivi par d'autres projets.
Structure de donnéesEn informatique, une structure de données est une manière d'organiser les données pour les traiter plus facilement. Une structure de données est une mise en œuvre concrète d'un type abstrait. Pour prendre un exemple de la vie quotidienne, on peut présenter des numéros de téléphone par département, par nom, par profession (comme les Pages jaunes), par numéro téléphonique (comme les annuaires destinés au télémarketing), par rue et/ou une combinaison quelconque de ces classements.
Démonstration (logique et mathématiques)vignette| : un des plus vieux fragments des Éléments d'Euclide qui montre une démonstration mathématique. En mathématiques et en logique, une démonstration est un ensemble structuré d'étapes correctes de raisonnement. Dans une démonstration, chaque étape est soit un axiome (un fait acquis), soit l'application d'une règle qui permet d'affirmer qu'une proposition, la conclusion, est une conséquence logique d'une ou plusieurs autres propositions, les prémisses de la règle.
Théorie des types homotopiquesvignette| Couverture de la Théorie des types homotopiques : Fondations univalentes des mathématiques. Dans la logique mathématique et de l’informatique, la théorie des types homotopiques (en anglais : Homotopy Type Theory HoTT) fait référence à différentes lignes de développement de la théorie des types intuitionnistes, basée sur l’interprétation des types comme des objets auxquels l’intuition de la théorie de l’homotopie s’applique.
Type (informatique)vignette|Présentation des principaux types de données. En programmation informatique, un type de donnée, ou simplement un type, définit la nature des valeurs que peut prendre une donnée, ainsi que les opérateurs qui peuvent lui être appliqués. La plupart des langages de programmation de haut niveau offrent des types de base correspondant aux données qui peuvent être traitées directement — à savoir : sans conversion ou formatage préalable — par le processeur.
Structure de données persistanteEn informatique, une structure de données persistante est une structure de données qui préserve ses versions antérieures lorsqu'elle est modifiée ; une telle structure est immuable, car ses opérations ne la modifient pas en place (de manière visible) mais renvoient au contraire de nouvelles structures. Une structure est partiellement persistante si seule sa version la plus récente peut être modifiée, les autres n'étant accessibles qu'en lecture. La structure est dite totalement persistante si chacune de ses versions peut être lue ou modifiée.
Action de groupe (mathématiques)En mathématiques, une action d'un groupe sur un ensemble est une loi de composition externe du groupe sur l'ensemble, vérifiant des conditions supplémentaires. Plus précisément, c'est la donnée, pour chaque élément du groupe, d'une permutation de l'ensemble, de telle manière que toutes ces bijections se composent de façon compatible avec la loi du groupe. Étant donné un ensemble E et un groupe G, dont la loi est notée multiplicativement et dont l'élément neutre est noté e, une action (ou opération) de G sur E est une application : vérifiant chacune des 2 propriétés suivantes : On dit également que G opère (ou agit) sur l'ensemble E.
Structure (mathématiques)En mathématiques, une structure est une théorie plus forte que la théorie des ensembles, c'est-à-dire une théorie qui en contient tous les axiomes, signes et règles. C'est donc une théorie fondée sur la théorie des ensembles, mais contenant également des contraintes supplémentaires, qui lui sont propres, et qui permettent également de définir de nouvelles structures qu'elle inclut. Cette notion est ainsi une puissante contribution à l'hypothèse selon laquelle la théorie des ensembles fournit le fondement des mathématiques.
Groupe abélienEn mathématiques, plus précisément en algèbre, un groupe abélien (du nom de Niels Abel), ou groupe commutatif, est un groupe dont la loi de composition interne est commutative. Vu autrement, un groupe commutatif peut aussi être défini comme un module sur l'anneau commutatif des entiers relatifs ; l'étude des groupes abéliens apparaît alors comme un cas particulier de la théorie des modules. On sait classifier de façon simple et explicite les groupes abéliens de type fini à isomorphisme près, et en particulier décrire les groupes abéliens finis.
Groupe (mathématiques)vignette|Les manipulations possibles du Rubik's Cube forment un groupe. En mathématiques, un groupe est une des structures algébriques fondamentales de l'algèbre générale. C'est un ensemble muni d'une loi de composition interne associative admettant un élément neutre et, pour chaque élément de l'ensemble, un élément symétrique. La structure de groupe est commune à de nombreux ensembles de nombres — par exemple les nombres entiers relatifs, munis de la loi d'addition.
Espace métriqueEn mathématiques et plus particulièrement en topologie, un espace métrique est un ensemble au sein duquel une notion de distance entre les éléments de l'ensemble est définie. Les éléments seront, en général, appelés des points. Tout espace métrique est canoniquement muni d'une topologie. Les espaces métrisables sont les espaces topologiques obtenus de cette manière. L'exemple correspondant le plus à notre expérience intuitive de l'espace est l'espace euclidien à trois dimensions.
Lean (assistant de preuve)Lean est un assistant de preuve et un langage de programmation. Il repose sur le principe de calcul des constructions avec types inductifs. Lean possède un certain nombre de fonctionnalités notables qui le distinguent des autres logiciels d'assistance à la preuve. Lean peut être compilé vers du JavaScript, et est ainsi accessible dans un navigateur Web. Il prend en charge nativement les caractères Unicode des symboles mathématiques, qui peuvent être saisis grâce à des raccourcis rappelant la syntaxe de LaTeX (par exemple, "×" s'obtient en tapant "\times").
Metrizable topological vector spaceIn functional analysis and related areas of mathematics, a metrizable (resp. pseudometrizable) topological vector space (TVS) is a TVS whose topology is induced by a metric (resp. pseudometric). An LM-space is an inductive limit of a sequence of locally convex metrizable TVS.
Démonstration formelleUne démonstration formelle est une séquence finie de propositions (appelées formules bien formées dans le cas d'un langage formel) dont chacun est un axiome, une hypothèse, ou résulte des propositions précédentes dans la séquence par une règle d'inférence. La dernière proposition de la séquence est un théorème d'un système formel. La notion de théorème n'est en général pas effective, donc n'existe pas de méthode par laquelle nous pouvons à chaque fois trouver une démonstration d'une proposition donnée ou de déterminer s'il y en a une.
Complete topological vector spaceIn functional analysis and related areas of mathematics, a complete topological vector space is a topological vector space (TVS) with the property that whenever points get progressively closer to each other, then there exists some point towards which they all get closer. The notion of "points that get progressively closer" is made rigorous by or , which are generalizations of , while "point towards which they all get closer" means that this Cauchy net or filter converges to The notion of completeness for TVSs uses the theory of uniform spaces as a framework to generalize the notion of completeness for metric spaces.