Global Information Lookup Global Information

Predicative programming information


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 , , and , the command := +1 is equivalent to the specification (binary expression) =+1 ∧ == in which , , and represent the values of the program variables before the assignment, and , , and represent the values of the program variables after the assignment. If the specification is >, we easily prove (:= +1) ⇒ (>), which says that := +1 implies, or refines, or implements >.

Loop proofs are greatly simplified. For example, if is an integer variable, to prove that

while >0 do := –1 od

refines, or implements the specification ≥0 ⇒ =0, prove

if >0 then := –1; (≥0 ⇒ =0) else fi ⇒ (≥0 ⇒ =0)

where = (=) is the empty, or do-nothing command. There is no need for a loop invariant or least fixed point. Loops with multiple intermediate shallow and deep exits work the same way. This simplified form of proof is possible because program commands and specifications can be mixed together meaningfully.

Execution time (upper bounds, lower bounds, exact time) can be proven the same way, just by introducing a time variable. To prove termination, prove the execution time is finite. To prove nontermination, prove the execution time is infinite. For example, if the time variable is , and time is measured by counting iterations, then to prove that execution of the previous while-loop takes time when is initially nonnegative, and takes forever when is initially negative, prove

if >0 then := –1; := +1; (≥0 ⇒ =+) ∧ (<0 ⇒ =∞) else fi ⇒ (≥0 ⇒ =+) ∧ (<0 ⇒ =∞)

where = (==).

and 29 Related for: Predicative programming information

Request time (Page generated in 0.8403 seconds.)

Predicative programming

Last Update:

Predicative programming is the original name of a formal method for program specification and refinement, more recently called a Practical Theory of Programming...

Word Count : 592

Predicative

Last Update:

impredicativity, without a self-referencing definition Predicative programming, a methodology for program specification and refinement This disambiguation page...

Word Count : 95

Parametric polymorphism

Last Update:

introducing ad hoc aspects. One example is C++ template specialization. In a predicative type system (also known as a prenex polymorphic system), type variables...

Word Count : 2058

List of programmers

Last Update:

translation theory, community interpreting (Critical Link) Eric Hehner – predicative programming, formal methods, quote notation, ALGOL David Heinemeier Hansson...

Word Count : 3718

Formal methods

Last Update:

Software Assistant (KBSA) Lustre mCRL2 Perfect Developer Petri nets Predicative programming Process calculi CSP LOTOS π-calculus RAISE Rebeca Modeling Language...

Word Count : 3624

Eric Hehner

Last Update:

software design. His method, initially called predicative programming, later called Practical Theory of Programming, is to consider each specification to be...

Word Count : 492

List of programming language researchers

Last Update:

list of researchers of programming language theory, design, implementation, and related areas. Martín Abadi, for the programming language Baby Modula-3...

Word Count : 5830

List of computer scientists

Last Update:

organizational theorist He Jifeng – provably correct systems Eric Hehner – predicative programming, formal methods, quote notation, ALGOL Martin Hellman – encryption...

Word Count : 5140

Clause

Last Update:

are functioning just like other predicative expressions, e.g. predicative adjectives (That was good) and predicative nominals (That was the truth). They...

Word Count : 3319

Intuitionistic type theory

Last Update:

versions, shown to be inconsistent by Girard's paradox, gave way to predicative versions. However, all versions keep the core design of constructive...

Word Count : 4710

Calculus of constructions

Last Update:

calculus of (co)inductive constructions (which adds coinduction), and the predicative calculus of inductive constructions (which removes some impredicativity)...

Word Count : 1344

Principia Mathematica

Last Update:

difference between predicative and non-predicative functions, so they introduced the axiom of reducibility, saying that for every non-predicative function there...

Word Count : 9458

Hyphen

Last Update:

cited dictionary, the hyphenation will be used in both attributive and predicative positions. For example, "A cost-effective method was used" and "The method...

Word Count : 5992

Motor program

Last Update:

cerebellar degeneration. This suggests their motor commands do not predicatively compensate for interaction torques inherent in multi-joint motion. Several...

Word Count : 2657

Udmurt language

Last Update:

the adjective is always plural when it functions as the sentence's predicative: Udmurt pronouns are inflected much in the same way that their referent...

Word Count : 1664

Ultrafinitism

Last Update:

on predicative arithmetic as bounded arithmetic theories like S12 are interpretable in Raphael Robinson's theory Q and therefore are predicative in Nelson's...

Word Count : 903

Implicit computational complexity

Last Update:

Given g , r → , s → {\displaystyle g,{\vec {r}},{\vec {s}}} , their predicative composition, f = g ∘ ( r → ; s → ) {\displaystyle f=g\circ ({\vec {r}};{\vec...

Word Count : 1348

Noun phrase

Last Update:

phrase type. Noun phrases often function as verb subjects and objects, as predicative expressions, and as complements of prepositions. One NP can be embedded...

Word Count : 2495

Constructive set theory

Last Update:

mappings with infinitely many inputs. It is worth noting that in the program of predicative arithmetic, even the mathematical induction schema has been criticized...

Word Count : 34880

Thought

Last Update:

ascribed to thinking and judging is that they are predicative experiences, in contrast to the pre-predicative experience found in immediate perception. On...

Word Count : 13689

Syntax

Last Update:

Antecedent Appositive Argument Article Aspect Attributive adjective and predicative adjective Auxiliary verb Branching c-command Category Catena Clause Closed...

Word Count : 2773

Mathematical logic

Last Update:

non-classical logic such as intuitionistic logic, as well as the study of predicative systems. An early proponent of predicativism was Hermann Weyl, who showed...

Word Count : 8329

Tunica language

Last Update:

made up of words, phrases, or clauses acting in one of the following: predicative words, independent subjects, independent objects, subject or object modifiers...

Word Count : 3718

Logical framework

Last Update:

objects, types and kinds (or type classes, or families of types). It is predicative, all well-typed terms are strongly normalizing and Church-Rosser and...

Word Count : 965

Set theory

Last Update:

that "all of scientifically applicable analysis can be developed [using predicative methods]". Ludwig Wittgenstein condemned set theory philosophically for...

Word Count : 5015

Logicism

Last Update:

seems to have considered that only predicative definitions can be allowed in mathematics: "a definition is 'predicative' and logically admissible only if...

Word Count : 11826

Inductive type

Last Update:

been extended to encode more and more structures, while still being predicative and supporting structural recursion. Inductive types usually come with...

Word Count : 1460

Khmer language

Last Update:

Khmer is a zero copula language, instead preferring predicative adjectives (and even predicative nouns) unless using a copula for emphasis or to avoid...

Word Count : 8562

Large countable ordinal

Last Update:

make precise, it is the smallest (infinite) ordinal that cannot be ("predicatively") described using smaller ordinals. It measures the strength of such...

Word Count : 5516

PDF Search Engine © AllGlobal.net