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 ★
Common · Knowledge
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.
From Wikipedia
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...
Text: Wikipédia, CC BY-SA 4.0. ·
Related cards
-
Delphi method
Structured forecasting and consensus method
Nº Q841602 ★★★
Not listed
-
R
Resolution (logic)
In logic, rule of inference
Nº Q1051925 ★★
Not listed
-
S
Scott's trick
Set theory method
Nº Q7435833 ★
Not listed
-
J
Joy (programming language)
Programming language
Nº Q1265107 ★
Not listed
-
B
Basic Linear Algebra Subprograms
Routines for performing common linear algebra operations
Nº Q810007 ★
Not listed
-
D
Dataflow programming
Programming paradigm that models program as a directed graph of data flow between operations
Nº Q1172543 ★
Not listed
-
P
Precision Time Protocol
Network time synchronization protocol
Nº Q1143243 ★★
Not listed
-
Linguistic prescription
Attempt to lay down norms defining preferred or "correct" use of language
Nº Q1321978 ★★
Not listed
-
C
Circuit (computer science)
Model of computation
Nº Q5121567 ★★
Not listed
-
K
Kosambi–Karhunen–Loève theorem
Theory of stochastic processes
Nº Q2046647 ★
Not listed
-
F
Fundamental theorem of software engineering
Term in the field of software engineering
Nº Q5508974 ★
Not listed
-
U
Upwind scheme
Discretization method for differential equations
Nº Q7899499 ★
Not listed
-
F
First normal form
Minimum requirement in database normalization
Nº Q1366465 ★★
Not listed
-
15 (software engineer)
American programmer and creator of 15.ai
Nº Q136259819 ★★
Not listed
-
Logical biconditional
Term
Nº Q204355 ★★
Not listed
-
L
Learning with errors
Problem in machine learning that is conjectured to be hard to solve. Introduced by Oded Regev in 2005, it is a generalization of the parity learning problem
Nº Q6510239 ★
Not listed
-
P
Pseudoprime
Positive integer which is a false positive on a heuristic or probabilistic primality test
Nº Q1136176 ★★
Not listed
-
O
Octuple-precision floating-point format
256-bit computer number format
Nº Q25109769 ★
Not listed