Predicative programming
Method of computer program specification
Predicative programming is the original name of a formal method for program specification and refinement, more recently called a Practical Theory of Programming, invented by Eric Hehner. The central idea is that each specification is a binary (boolean) expression that is true of acceptable computer behaviors and false of unacceptable behaviors.
Nº Q7239635 ★
Commune · Savoirs
Predicative programming
Method of computer program specification
Predicative programming is the original name of a formal method for program specification and refinement, more recently called a Practical Theory of Programming, invented by Eric Hehner. The central idea is that each specification is a binary (boolean) expression that is true of acceptable computer behaviors and false of unacceptable behaviors.
Sur Wikipédia
Texte en anglais Pas encore d'article dans ta langue : extrait en anglais.
Predicative programming is the original name of a formal method for program specification and refinement, more recently called a Practical Theory of Programming, invented by Eric Hehner. The central idea is that each specification is a binary (boolean) expression that is true of acceptable computer behaviors and false of unacceptable behaviors. It follows that refinement is just implication. This is the simplest formal method, and the most general, applying to sequential, parallel, stand-alone, communicating, terminating, nonterminating, natural-time, real-time, deterministic, and probabilistic programs, and includes time and space bounds. Commands in a programming language are considered to be a special case of specification—those specifications that are compilable. For example, if the program variables are x {\displaystyle x} , y {\displaystyle y} , and z {\displaystyle z} , the command x {\displaystyle x} := y {\displaystyle y} +1 is equivalent to the specification (binary expression) x ′ {\displaystyle x'} = y {\displaystyle y} +1 ∧ y ′ {\displaystyle y'} = y {\displaystyle y} ∧ z ′ {\displaystyle z'} = z {\displaystyle z} in which x {\displaystyle x} , y {\displaystyle y} , and z {\displaystyle z} represent the values of the program variables before the assignment, and x ′ {\displaystyle x'} , y ′ {\displaystyle y'} , and z ′ {\displaystyle z'} represent the values of the program variables after the assignment. If the specification is x ′ {\displaystyle x'} > y {\displaystyle y} , we easily prove ( x {\displaystyle x} := y {\displaystyle y} +1) ⇒ ( x ′ {\displaystyle x'} > y {\displaystyle y} ), which says that x {\displaystyle x} := y {\displaystyle y} +1 implies, or refines, or implements x ′ {\displaystyle x'} > y {\displaystyle y} . Loop proofs are greatly simplified. For example, if x {\displaystyle x} is an integer variable, to prove that while...
Texte : Wikipédia en anglais, CC BY-SA 4.0. ·
Cartes voisines
-
F
Forth (langage)
Langage de programmation informatique
Nº Q275472 ★★
Pas en vente
-
L
Logique intuitionniste
Logique formelle constructive
Nº Q176786 ★★
Pas en vente
-
A
Algorithme glouton
Principe de réalisation du meilleur choix optimum local, étape par étape, afin d'obtenir un résultat optimum global
Nº Q504353 ★★★
Pas en vente
-
m
méthode d'Euler implicite
Numerical method for solving differential equations
Nº Q2736820 ★★
Pas en vente
-
A
Agent-oriented programming
Programming paradigm centred on the concept of software agents
Nº Q139008 ★
Pas en vente
-
Raisonnement rétrograde
Nº Q968642 ★
Pas en vente
-
S
Système F
Lambda-calcul typé
Nº Q2552799 ★
Pas en vente
-
Programmation par copier-coller
Nº Q5169171 ★
Pas en vente
-
Maintenance prévisionnelle
Détermination de l'état de l'équipement en service afin d'estimer quand la maintenance doit être effectuée
Nº Q3182448 ★
Pas en vente
-
A
Algorithme de Risch
Algorithme de calcul de primitives
Nº Q1382512 ★
Pas en vente
-
Problème SAT
Problème de décision, qui détermine si une formule Booléenne est vrai.
Nº Q875276 ★★
Pas en vente
-
B
Buddy memory allocation
Memory allocation algorithm
Nº Q1001112 ★
Pas en vente
-
M
Méthode de Brent
Nº Q905988 ★
Pas en vente
-
C
Concepts (C++)
Compile-time predicate on C++ template parameters
Nº Q5158429 ★
Pas en vente
-
PP (complexité)
Classe de complexité
Nº Q1563053 ★
Pas en vente
-
Elvis operator
Binary operator in computer programming
Nº Q22682021 ★
Pas en vente
-
Idempotence
Propriété d'un opérateur qui, appliqué à un objet, conserve celui-ci
Nº Q368988 ★★★★
Pas en vente
-
M
Method chaining
Programming syntax
Nº Q6823694 ★
Pas en vente