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 ★
Comum · Saberes
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.
Na Wikipédia
Texto em inglês Ainda não há artigo no seu idioma: trecho em inglês.
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...
Texto: Wikipédia em inglês, CC BY-SA 4.0. ·
Cartas próximas
-
D (linguagem de programação)
Linguagem de programação
Nº Q319268 ★★
Sem ofertas
-
The Art of Computer Programming
Nº Q82438 ★★★
Sem ofertas
-
Differential evolution
Method of mathematical optimization
Nº Q2662197 ★
Sem ofertas
-
Tarjan's strongly connected components algorithm
Graph theory algorithm
Nº Q1972285 ★
Sem ofertas
-
P
PEARL
Linguagem de programação
Nº Q2043979 ★
Sem ofertas
-
A
A.L.I.C.E.
Chatterbot de processamento de linguagem natural
Nº Q278333 ★
Sem ofertas
-
L
LINPACK benchmarks
Software
Nº Q6458761 ★
Sem ofertas
-
A
ABC (linguagem de programação)
Linguagem de programação
Nº Q1057802 ★
Sem ofertas
-
T
Teoria da Inferência Indutiva de Solomonoff
Nº Q14947941 ★
Sem ofertas
-
Conexionismo
Nº Q203790 ★
Sem ofertas
-
N
Notação de Knuth
Nº Q908427 ★★★
Sem ofertas
-
A
Algoritmo de Thompson
Nº Q7795667 ★
Sem ofertas
-
Ciclo PDCA
Nº Q820214 ★★★★
Sem ofertas
-
Princípio da substituição de Liskov
Nº Q957386 ★★
Sem ofertas
-
Parametron
Logic circuit
Nº Q7135236 ★★★
Sem ofertas
-
C
Command
Nº Q386776 ★
Sem ofertas
-
Problema do cálculo econômico
Obstáculo para a eficiência econômica em sistemas de planejamento central
Nº Q1629575 ★★★
Sem ofertas
-
C
Curiously recurring template pattern
Software design pattern
Nº Q5194797 ★★
Sem ofertas