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
-
B
BPP (complexité)
Classe de complexité
Nº Q796890 ★
Pas en vente
-
D
Déroulage de boucle
Nº Q1869750 ★
Pas en vente
-
P
Pi-calcul
Nº Q602886 ★
Pas en vente
-
C
Continuation-passing style
Programming style
Nº Q749893 ★
Pas en vente
-
B
B, C, K, W system
Combinatory logic system
Nº Q845546 ★
Pas en vente
-
F
Futures (informatique)
Nº Q1426138 ★
Pas en vente
-
M
Métaprogrammation avec des patrons
Nº Q773763 ★
Pas en vente
-
P
PL/0
Langage de programmation
Nº Q1719128 ★
Pas en vente
-
C
Codage de Fibonacci
Codage entropique
Nº Q2633 ★★
Pas en vente
-
Sous-programme
Sous-ensemble du programme dans sa hiérarchie fonctionnelle
Nº Q190686 ★★
Pas en vente
-
R
Refal
Langage de programmation
Nº Q2626418 ★★
Pas en vente
-
Programmation impérative
Paradigme de programmation qui décrit les opérations en séquences d'instructions exécutées par l'ordinateur pour modifier l'état du programme
Nº Q275596 ★★★
Pas en vente
-
Histoire des langages de programmation
Qui a inventé la programmation
Nº Q1068652 ★★★
Pas en vente
-
C
Calcul des séquents
Système de déduction mathématique
Nº Q1771121 ★
Pas en vente
-
C
Concurrent logic programming
Logic programming paradigm
Nº Q17008825 ★
Pas en vente
-
Alistair Cockburn
Informaticien américain
Nº Q93058 ★
Pas en vente
-
C
Constant folding
Nº Q2342581 ★
Pas en vente
-
Basic (langage)
Langage de programmation informatique, pour l’amateur ou le débutant
Nº Q42979 ★★★
Pas en vente