Expression régulièrevignette|Stephen Cole Kleene, dont les travaux ont fondé le concept d'expression régulière. En informatique, une expression régulière ou expression rationnelle ou expression normale ou motif est une chaîne de caractères qui décrit, selon une syntaxe précise, un ensemble de chaînes de caractères possibles. Les expressions régulières sont également appelées regex (un mot-valise formé depuis l'anglais regular expression). Les expressions rationnelles sont issues des théories mathématiques des langages formels des années 1940.
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.
Isabelle (logiciel)The Isabelle automated theorem prover is a higher-order logic (HOL) theorem prover, written in Standard ML and Scala. As an LCF-style theorem prover, it is based on a small logical core (kernel) to increase the trustworthiness of proofs without requiring yet supporting explicit proof objects. Isabelle is available inside a flexible system framework allowing for logically safe extensions, which comprise both theories as well as implementations for code-generation, documentation, and specific support for a variety of formal methods.
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").
Coq (logiciel)Coq est un assistant de preuve utilisant le langage Gallina, développé par l'équipe PI.R2 de l’Inria au sein du laboratoire PPS du CNRS et en partenariat avec l'École polytechnique, le CNAM, l'Université Paris Diderot et l'Université Paris-Sud (et antérieurement l'École normale supérieure de Lyon). Le nom du logiciel (initialement CoC) est particulièrement adéquat car : il est français ; il est fondé sur le calcul des constructions (CoC abrégé en anglais) introduit par Thierry Coquand.
Agda (programming language)Agda is a dependently typed functional programming language originally developed by Ulf Norell at Chalmers University of Technology with implementation described in his PhD thesis. The original Agda system was developed at Chalmers by Catarina Coquand in 1999. The current version, originally known as Agda 2, is a full rewrite, which should be considered a new language that shares a name and tradition. Agda is also a proof assistant based on the propositions-as-types paradigm, but unlike Coq, has no separate tactics language, and proofs are written in a functional programming style.
Vérification formelleIn the context of hardware and software systems, formal verification is the act of proving or disproving the correctness of intended algorithms underlying a system with respect to a certain formal specification or property, using formal methods of mathematics. Formal verification can be helpful in proving the correctness of systems such as: cryptographic protocols, combinational circuits, digital circuits with internal memory, and software expressed as source code.
Variété algébriqueUne variété algébrique est, de manière informelle, l'ensemble des racines communes d'un nombre fini de polynômes en plusieurs indéterminées. C'est l'objet d'étude de la géométrie algébrique. Les schémas sont des généralisations des variétés algébriques. Il y a deux points de vue (essentiellement équivalents) sur les variétés algébriques : elles peuvent être définies comme des schémas de type fini sur un corps (langage de Grothendieck), ou bien comme la restriction d'un tel schéma au sous-ensemble des points fermés.
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).
Variété abélienneEn mathématiques, et en particulier, en géométrie algébrique et géométrie complexe, une variété abélienne A est une variété algébrique projective qui est un groupe algébrique. La condition de est l'équivalent de la compacité pour les variétés différentielles ou analytiques, et donne une certaine rigidité à la structure. C'est un objet central en géométrie arithmétique. Une variété abélienne sur un corps k est un groupe algébrique A sur k, dont la variété algébrique sous-jacente est projective, connexe et géométriquement réduite.
Variété projectiveEn géométrie algébrique, les variétés projectives forment une classe importante de variétés. Elles vérifient des propriétés de compacité et des propriétés de finitude. C'est l'objet central de la géométrie algébrique globale. Sur un corps algébriquement clos, les points d'une variété projective sont les points d'un ensemble algébrique projectif. On fixe un corps (commutatif) k. Algèbre homogène. Soit B le quotient de par un idéal homogène ( idéal engendré par des polynômes homogènes).
JavaScriptJavaScript est un langage de programmation de scripts principalement employé dans les pages web interactives et à ce titre est une partie essentielle des applications web. Avec les langages HTML et CSS, JavaScript est au cœur des langages utilisés par les développeurs web. Une grande majorité des sites web l'utilisent, et la majorité des navigateurs web disposent d'un moteur JavaScript pour l'interpréter. JavaScript est aussi employé pour les serveurs Web avec l'utilisation (par exemple) de Node.js ou de Deno.
Comparison of programming languagesProgramming languages are used for controlling the behavior of a machine (often a computer). Like natural languages, programming languages follow rules for syntax and semantics. There are thousands of programming languages and new ones are created every year. Few languages ever become sufficiently popular that they are used by more than a few people, but professional programmers may use dozens of languages in a career. Most programming languages are not standardized by an international (or national) standard, even widely used ones, such as Perl or Standard ML (despite the name).
Algorithmethumb|Algorithme de découpe d'un polygone quelconque en triangles (triangulation). Un algorithme est une suite finie et non ambiguë d'instructions et d’opérations permettant de résoudre une classe de problèmes. Le domaine qui étudie les algorithmes est appelé l'algorithmique. On retrouve aujourd'hui des algorithmes dans de nombreuses applications telles que le fonctionnement des ordinateurs, la cryptographie, le routage d'informations, la planification et l'utilisation optimale des ressources, le , le traitement de textes, la bio-informatique L' algorithme peut être mis en forme de façon graphique dans un algorigramme ou organigramme de programmation.
Chow varietyIn mathematics, particularly in the field of algebraic geometry, a Chow variety is an algebraic variety whose points correspond to effective algebraic cycles of fixed dimension and degree on a given projective space. More precisely, the Chow variety is the fine moduli variety parametrizing all effective algebraic cycles of dimension and degree in . The Chow variety may be constructed via a Chow embedding into a sufficiently large projective space.
LibreOfficeLibreOffice (parfois abrégé en LibO ou LO) est une suite bureautique libre et gratuite, dérivée du projet OpenOffice.org, créée et gérée par The Document Foundation. LibreOffice est notamment soutenue par la Fondation pour le logiciel libre et rassemble une grande partie de l'ancienne « communauté d'OpenOffice.org ». En France, LibreOffice est intégré au socle interministériel de logiciels libres de l'État. L'interface utilisateur est disponible en 114 langues.
Variété algébrique affineEn géométrie algébrique, une variété affine est un modèle local pour les variétés algébriques, c'est-à-dire que celles-ci sont obtenues par recollement de variétés affines. Grossièrement, une variété affine est un ensemble algébrique affine X avec une structure algébrique supplémentaire qui est la donnée de l'anneau des fonctions régulières sur chaque partie ouverte de X. Ensemble algébrique Le point de vue le plus simple pour décrire une variété algébrique affine est l'ensemble des solutions d'un système d'équations polynomiales à coefficients dans un corps commutatif K.
Filtrage par motifLe filtrage par motif est la vérification de la présence de constituants d'un motif par un programme informatique, ou parfois par un matériel spécialisé. Par contraste avec la reconnaissance de forme, les motifs sont complètement spécifiés. De tels motifs concernent conventionnellement des séquences ou des arbres. Par exemple "HDpdf" peut signifier : "Toute chaîne contenant HD et se terminant par pdf".
Gecko (moteur de rendu)Gecko est un logiciel moteur de rendu pour présenter des pages web. Lancé par Mozilla en 1998, open source et libre, il est incorporé dans diverses applications telles que Firefox, Thunderbird, leurs dérivés ou BlueGriffon. Il a propulsé Netscape Communicator, Netscape Navigator, AOL Explorer et Camino. Gecko offre les fondations nécessaires pour afficher des pages web à l'écran. L'objectif de Gecko est un moteur portable qui respecte les standards du web et les recommandations du W3C.
Récursion terminaleEn informatique, la récursion terminale, aussi appelée, récursion finale, est un cas particulier de récursivité assimilée à une itération. Une fonction à récursivité terminale est une fonction où l'appel récursif est la dernière instruction à être évaluée. Cette instruction est alors nécessairement « pure », c'est-à-dire qu'elle consiste en un simple appel à la fonction, et jamais à un calcul ou une composition. Par exemple, dans un langage de programmation fictif : fonction récursionTerminale(n) : // ...