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
-
B
BPP
Nº Q796890 ★
Sem ofertas
-
L
Loop unrolling
Loop transformation technique
Nº Q1869750 ★
Sem ofertas
-
Π
Π-calculus
Process calculus
Nº Q602886 ★
Sem ofertas
-
C
Continuation-passing style
Programming style
Nº Q749893 ★
Sem ofertas
-
B
B, C, K, W system
Combinatory logic system
Nº Q845546 ★
Sem ofertas
-
F
Futures and promises
In concurrent programming, an object serves as a placeholder for a result that is initially unknown because the computation is incomplete (such an object is crucial in representing the final result during ongoing or not-yet-started computations)
Nº Q1426138 ★
Sem ofertas
-
T
Template metaprogramming
Programming paradigm that uses compile-time metaprogramming
Nº Q773763 ★
Sem ofertas
-
P
PL/0
Linguagem de programação
Nº Q1719128 ★
Sem ofertas
-
F
Fibonacci coding
Universal code
Nº Q2633 ★★
Sem ofertas
-
Sub-rotina
Nº Q190686 ★★
Sem ofertas
-
R
Refal
Linguagem de programação
Nº Q2626418 ★★
Sem ofertas
-
Programação imperativa
Nº Q275596 ★★★
Sem ofertas
-
História das linguagens de programação
Nº Q1068652 ★★★
Sem ofertas
-
C
Cálculo de sequentes
Nº Q1771121 ★
Sem ofertas
-
C
Concurrent logic programming
Logic programming paradigm
Nº Q17008825 ★
Sem ofertas
-
Alistair Cockburn
Nº Q93058 ★
Sem ofertas
-
C
Constant folding
Compiler optimization that replaces expressions with computed results at compile time
Nº Q2342581 ★
Sem ofertas
-
BASIC
Linguagem de programação
Nº Q42979 ★★★
Sem ofertas