GNU EmacsGNU Emacs est l’une des deux versions les plus populaires de l’éditeur de texte Emacs (l’autre version est XEmacs). Ces deux versions sont majoritairement compatibles et ont de très nombreux points communs, décrits dans l’article Emacs. Dans le manuel, on peut lire qu'il est l’. GNU Emacs, développé par Richard Stallman depuis 1984 dans le cadre du projet GNU, s’appuie sur le langage Emacs Lisp. GNU Emacs fait partie du projet GNU. En 1984, Stallman commence le projet sur les systèmes Unix.
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.
C (langage)C est un langage de programmation impératif, généraliste et de bas niveau. Inventé au début des années 1970 pour réécrire Unix, C est devenu un des langages les plus utilisés, encore de nos jours. De nombreux langages plus modernes comme C++, C#, Java et PHP ou JavaScript ont repris une syntaxe similaire au C et reprennent en partie sa logique. C offre au développeur une marge de contrôle importante sur la machine (notamment sur la gestion de la mémoire) et est de ce fait utilisé pour réaliser les « fondations » (compilateurs, interpréteurs.
Branching quantifierIn logic a branching quantifier, also called a Henkin quantifier, finite partially ordered quantifier or even nonlinear quantifier, is a partial ordering of quantifiers for Q ∈ {∀,∃}. It is a special case of generalized quantifier. In classical logic, quantifier prefixes are linearly ordered such that the value of a variable ym bound by a quantifier Qm depends on the value of the variables y1, ..., ym−1 bound by quantifiers Qy1, ..., Qym−1 preceding Qm. In a logic with (finite) partially ordered quantification this is not in general the case.
Langage de programmation de bas niveauvignette|Language de programmation Un langage de programmation de bas niveau ne fournit que peu d'abstraction par rapport au jeu d'instructions du processeur de la machine. Les langages de bas niveau sont à opposer aux langages de haut niveau, qui permettent de créer un programme sans tenir compte des caractéristiques particulières (registres, etc) de l'ordinateur censé exécuter le programme. Le langage machine et le langage d'assemblage sont les archétypes de langages de bas niveau, puisqu'ils permettent de manipuler explicitement des registres, des adresses mémoires, des instructions machines.
LogiqueLa logique — du grec , qui est un terme dérivé de signifiant à la fois « raison », « langage » et « raisonnement » — est, dans une première approche, l'étude de l'inférence, c'est-à-dire des règles formelles que doit respecter toute argumentation correcte. Le terme aurait été utilisé pour la première fois par Xénocrate. La logique antique se décompose d'abord en dialectique et rhétorique. Elle est depuis l'Antiquité l'une des grandes disciplines de la philosophie, avec l'éthique (philosophie morale) et la physique (science de la nature).
System programming languageA system programming language is a programming language used for system programming; such languages are designed for writing system software, which usually requires different development approaches when compared with application software. Edsger Dijkstra refers to these languages as machine oriented high order languages, or mohol. General-purpose programming languages tend to focus on generic features to allow programs written in the language to use the same code on different platforms.
XEmacsXEmacs is a graphical- and console-based text editor which runs on almost any Unix-like operating system as well as Microsoft Windows. XEmacs is a fork, based on a version of GNU Emacs from the late 1980s. Any user can download, use, and modify XEmacs as free software available under the GNU General Public License version 2 or any later version. Between 1987 and 1993 significant delays occurred in bringing out a new version of GNU Emacs (presumed to be version 19). In the late 1980s, Richard P. Gabriel's Lucid Inc.
MicroEMACSMicroEMACS est un éditeur de texte de la famille Emacs. MicroEMACS a été conçu fin 1985, début 1986 par Dave Conroy pour son usage privé. De nombreuses personnes lui ont alors demandé une copie du programme, et le code source fut distribué sans se soucier du droit d'auteur comme il était encore d'usage à cette époque dans le milieu hacker. Daniel M. Lawrence obtint alors une copie du programme, et le transforma en logiciel très populaire. C'est son travail qui le rendit très populaire.
Unicité (mathématiques)En mathématiques, l'unicité d'un objet satisfaisant certaines propriétés est le fait que tout objet satisfaisant les mêmes propriétés lui est égal. Autrement dit, il ne peut exister deux objets différents satisfaisant ces mêmes propriétés. Cependant, une démonstration de l'unicité ne suffit pas a priori pour en déduire l'existence de l'objet. La conjonction de l'existence et de l'unicité est usuellement notée à l'aide du quantificateur « ∃! ».
MatitaMatita is an experimental proof assistant under development at the Computer Science Department of the University of Bologna. It is a tool aiding the development of formal proofs by man-machine collaboration, providing a programming environment where formal specifications, executable algorithms and automatically verifiable correctness certificates naturally coexist. Matita is based on a dependent type system known as the Calculus of (Co)Inductive Constructions (a derivative of Calculus of Constructions), and is compatible, to some extent, with Coq.
Système de gestion d'exceptionsDans le contexte des langages de programmation fonctionnels et impératifs, un système de gestion d'exceptions ou SGE permet de gérer les conditions exceptionnelles pendant l'exécution du programme. Lorsqu'une exception se produit, l'exécution normale du programme est interrompue et l'exception est traitée. Les erreurs/exceptions les plus courantes sont probablement l'accès non autorisé à une zone mémoire (erreur de manipulation de pointeur) et la division par zéro (on ne prévoit pas le cas où le diviseur est nul).