Böhm–Jacopini theorem

E385272

The Böhm–Jacopini theorem is a foundational result in computer science stating that any computer program can be written using only sequence, selection, and iteration constructs, without requiring goto statements.

All labels observed (2)

Label Occurrences
Böhm–Jacopini theorem canonical 1
structured program theorem 1

How this entity was disambiguated

Statements (43)

Predicate Object
instanceOf result in computer science
theorem
alsoKnownAs Böhm–Jacopini theorem
surface form: structured program theorem
assumes deterministic programs
category theorem in programming theory
theorem in theoretical computer science
concerns control flow
flowcharts
program structure
coreConstruct iteration
selection
sequence
excludesConstruct goto
field computer science
programming language theory
theoretical computer science
formalizes sufficiency of structured control constructs
hasLimitation does not address program readability or maintainability directly
original form applies to deterministic flowcharts, not directly to all modern language features
historicalContext early development of structured programming in the 1960s
implies every deterministic program can be written without goto
structured programming is sufficient for expressing arbitrary deterministic computations
influenced arguments against unrestricted goto use
design of structured programming languages
namedAfter Corrado Böhm
Giuseppe Jacopini NERFINISHED
originalFormulationLanguage flowcharts
proofTechnique flowchart normalization
program transformation
publishedIn Communications of the ACM
relatedConcept Turing completeness
control structures
goto elimination
structured programming
relatedWork "Go To Statement Considered Harmful"
surface form: Edsger W. Dijkstra's "Go To Statement Considered Harmful"
shows three basic control structures are sufficient for deterministic computation
states any deterministic flowchart program can be transformed into an equivalent program using only sequence, selection, and iteration
goto statements are not necessary for expressing the control flow of deterministic programs
supportsClaim goto is not necessary for program expressiveness
typicalControlStructures if-then-else
sequence of statements
while loop
yearProved 1966

How these facts were elicited

Referenced by (2)

Full triples — surface form annotated when it differs from this entity's canonical label.

"Go To Statement Considered Harmful" relatedConcept Böhm–Jacopini theorem
subject surface form: Go To Statement Considered Harmful
Böhm–Jacopini theorem alsoKnownAs Böhm–Jacopini theorem
this entity surface form: structured program theorem