Connecteur logiqueEn logique, un connecteur logique est un opérateur booléen utilisé dans le calcul des propositions. Comme dans toute approche logique, il faut distinguer un aspect syntaxique et un aspect sémantique. D'un point de vue syntaxique, les connecteurs sont des opérateurs dans un langage formel pour lesquels un certain nombre de règles définissent leur usage, au besoin complétées par une sémantique. Si l'on se place dans la logique classique, l'interprétation des variables se fait dans les booléens ou dans une extension multivalente de ceux-ci.
Formule logiqueEn logique on dit d’une suite finie de lettres qu’elle est une formule, ou parfois formule bien formée, d'un langage logique donné lorsqu’elle peut être construite en appliquant une combinaison des règles de la grammaire formelle associée, on parle de la syntaxe du langage. Informellement les formules sont les assemblages de lettres auxquels il est possible de donner une signification en termes de valeur de vérité (Vrai, ou Faux). Les formules logiques sont l'équivalent des phrases du langage naturel.
Disjonction logiqueLa disjonction logique, ou disjonction non exclusive, de deux assertions est une façon d'affirmer qu'au moins une de ces deux assertions est vraie (la première, la deuxième, ou les deux). Dans le langage logique ou mathématique, et dans les domaines techniques qui l'emploient, elle se traduit par le OU logique, un opérateur logique dans le calcul des propositions. La proposition obtenue en reliant deux propositions par cet opérateur s'appelle également leur disjonction ou leur somme logique.
Conjonction logiqueEn logique, la conjonction est une opération mise en œuvre par le connecteur binaire et. Le connecteur et est donc un opérateur binaire qui lie deux propositions pour en faire une autre. Si on admet chacune des deux propositions, alors on admettra la proposition qui en est la conjonction. En logique mathématique, le connecteur de conjonction est noté soit &, soit ∧. En théorie de la démonstration, plus particulièrement en calcul des séquents, la conjonction est régie par des règles d'introduction et des règles d'élimination.
Déduction logiqueLa déduction logique est un type de relation que l'on rencontre en logique mathématique. Elle relie des propositions dites prémisses à une proposition dite conclusion et préserve la vérité. Prémisses et conclusion qui sont ainsi reliées par une règle de déduction, assurent que si la règle est valide et si les prémisses sont vraies, la conclusion est elle aussi vraie. On dit alors que la conclusion est une conséquence des prémisses, ou parfois que la conclusion vient des prémisses.
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.
Formule atomiqueEn logique mathématique, une formule atomique ou atome est une formule qui ne contient pas de sous-formules propres. La structure d'une formule atomique dépend de la logique considérée, p. ex. en logique des propositions, les formules atomiques sont les variables propositionnelles. Les atomes sont les formules les plus simples dans un système logique et servent à construire les formules les plus générales.
Vérité logiqueLa vérité logique est l'un des concepts les plus fondamentaux de la logique. D'une manière générale, une vérité logique est une proposition qui est vraie indépendamment de la vérité ou la fausseté de ses propositions constitutives. En d'autres termes, une vérité logique est une affirmation qui n'est pas seulement vraie, mais qui est vraie sous toutes les interprétations de ses composants logiques (autres que ses constantes logiques). Ainsi, des vérités logiques telles que "si p, alors p" peuvent être considérées comme des tautologies.
Arithmétique de PresburgerEn logique mathématique, l'arithmétique de Presburger est la théorie du premier ordre des nombres entiers naturels munis de l'addition. Elle a été introduite en 1929 par Mojżesz Presburger. Il s'agit de l'arithmétique de Peano sans la multiplication, c’est-à-dire avec seulement l'addition, en plus du zéro et de l'opération successeur. Contrairement à l'arithmétique de Peano, l'arithmétique de Presburger est décidable. Cela signifie qu'il existe un algorithme qui détermine si un énoncé du langage de l'arithmétique de Presburger est démontrable à partir des axiomes de l'arithmétique de Presburger.
Méthode formelle (informatique)En informatique, les méthodes formelles sont des techniques permettant de raisonner rigoureusement, à l'aide de logique mathématique, sur un programme informatique ou du matériel électronique numérique, afin de démontrer leur validité par rapport à une certaine spécification. Elles reposent sur les sémantiques des programmes, c'est-à-dire sur des descriptions mathématiques formelles du sens d'un programme donné par son code source (ou, parfois, son code objet).
Équivalence logiqueEn logique classique, deux propositions P et Q sont dites logiquement équivalentes ou simplement équivalentes quand il est possible de déduire Q à partir de P et de déduire P à partir de Q. En calcul des propositions, cela revient à dire que P et Q ont même valeur de vérité : P et Q sont soit toutes les deux vraies, soit toutes les deux fausses. L'équivalence logique s'exprime souvent sous la forme si et seulement si, dans des cadres comme l'enseignement ou la métamathématique pour parler des propriétés de la logique elle-même, et non du connecteur logique qui lie deux propositions.
Formal specificationIn computer science, formal specifications are mathematically based techniques whose purpose are to help with the implementation of systems and software. They are used to describe a system, to analyze its behavior, and to aid in its design by verifying key properties of interest through rigorous and effective reasoning tools. These specifications are formal in the sense that they have a syntax, their semantics fall within one domain, and they are able to be used to infer useful information.
Démonstration automatique de théorèmesLa démonstration automatique de théorèmes (DAT) est l'activité d'un logiciel qui démontre une proposition qu'on lui soumet, sans l'aide de l'utilisateur. Les démonstrateurs automatiques de théorème ont résolu des conjectures intéressantes difficiles à établir, certaines ayant échappé aux mathématiciens pendant longtemps ; c'est le cas, par exemple, de la , démontrée en 1996 par le logiciel EQP.
Program analysisIn computer science, program analysis is the process of automatically analyzing the behavior of computer programs regarding a property such as correctness, robustness, safety and liveness. Program analysis focuses on two major areas: program optimization and program correctness. The first focuses on improving the program’s performance while reducing the resource usage while the latter focuses on ensuring that the program does what it is supposed to do.
Arithmétique du second ordreEn logique mathématique, l'arithmétique du second ordre est une théorie des entiers naturels et des ensembles d'entiers naturels. Elle a été introduite par David Hilbert et Paul Bernays dans leur livre Grundlagen der Mathematik. L'axiomatisation usuelle de l'arithmétique du second ordre est notée Z2. L'arithmétique de second ordre a pour conséquence les théorèmes de l'arithmétique de Peano (du premier ordre), mais elle est à la fois plus forte et plus expressive que celle-ci.
Runtime verificationRuntime verification is a computing system analysis and execution approach based on extracting information from a running system and using it to detect and possibly react to observed behaviors satisfying or violating certain properties. Some very particular properties, such as datarace and deadlock freedom, are typically desired to be satisfied by all systems and may be best implemented algorithmically. Other properties can be more conveniently captured as formal specifications.
Élimination des quantificateursEn logique mathématique, ou plus précisément en théorie des modèles, l'élimination des quantificateurs est l'action consistant à trouver une formule sans quantificateur équivalente à une formule donnée contenant éventuellement des quantificateurs dans la théorie considérée d'un certain langage.
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.
Raisonnement automatisévignette|Visualisation commune du réseau de neurones artificiels avec puce NOTOC Le raisonnement automatisé est un domaine de l'informatique consacré à la compréhension des différents aspects du raisonnement de manière à permettre la création de logiciels qui permettraient aux ordinateurs de « raisonner » de manière automatique, ou presque. Il est considéré habituellement comme un sous-domaine de l'intelligence artificielle, mais possède aussi de fortes connexions avec l'Informatique théorique et même avec la philosophie.
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.