Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Mathematical induction
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
=== Prefix induction === The most common form of proof by mathematical induction requires proving in the induction step that <math display="block">\forall k \, (P(k) \to P(k+1))</math> whereupon the induction principle "automates" {{mvar|n}} applications of this step in getting from {{math|''P''(0)}} to {{math|''P''(''n'')}}. This could be called "predecessor induction" because each step proves something about a number from something about that number's predecessor. A variant of interest in [[computational complexity]] is "prefix induction", in which one proves the following statement in the induction step: <math display="block">\forall k\, (P(k) \to P(2k) \land P(2k+1))</math> or equivalently <math display="block">\forall k\, \left( P\!\left(\left\lfloor \frac{k}{2} \right\rfloor \right) \to P(k) \right)</math> The induction principle then "automates" [[binary logarithm|log<sub>2</sub>]] ''n'' applications of this inference in getting from {{math|''P''(0)}} to {{math|''P''(''n'')}}. In fact, it is called "prefix induction" because each step proves something about a number from something about the "prefix" of that number β as formed by truncating the low bit of its [[binary representation]]. It can also be viewed as an application of traditional induction on the length of that binary representation. If traditional predecessor induction is interpreted computationally as an {{mvar|n}}-step loop, then prefix induction would correspond to a log-{{mvar|n}}-step loop. Because of that, proofs using prefix induction are "more feasibly constructive" than proofs using predecessor induction. Predecessor induction can trivially simulate prefix induction on the same statement. Prefix induction can simulate predecessor induction, but only at the cost of making the statement more syntactically complex (adding a [[bounded quantifier|bounded]] [[universal quantifier]]), so the interesting results relating prefix induction to [[polynomial-time]] computation depend on excluding unbounded quantifiers entirely, and limiting the alternation of bounded universal and [[existential quantifier|existential]] quantifiers allowed in the statement.<ref name=Buss:BA>{{cite book | last=Buss|first=Samuel | title=Bounded Arithmetic | date=1986 | publisher=Bibliopolis | location=Naples}}</ref> One can take the idea a step further: one must prove <math display="block">\forall k \, \left( P\!\left( \left\lfloor \sqrt{k} \right\rfloor \right) \to P(k) \right)</math> whereupon the induction principle "automates" {{math|log log ''n''}} applications of this inference in getting from {{math|''P''(0)}} to {{math|''P''(''n'')}}. This form of induction has been used, analogously, to study log-time parallel computation.{{citation needed|date=January 2018}}
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)