Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8129397
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 6, 20262026-06-06T08:17:42+00:00 2026-06-06T08:17:42+00:00

What is the relationship between recursion and proof by induction? Let’s say fn(n) ,

  • 0

What is the relationship between recursion and proof by induction?

Let’s say fn(n),

recursion is fn(n) calls itself until meet base condition;

induction is when base condition is meet, try to prove (base case + 1) is also correct.

It seems recursion and induction are in different direction. One starts from n to base case, the other is start from base case to infinite.

Could someone explain the idea in details?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-06T08:17:43+00:00Added an answer on June 6, 2026 at 8:17 am

    Recursion and induction are very much the same thing! This becomes obvious if you use a programming language with dependent types, such as Agda, but it can be demonstrated to some extent without them too.

    Remember, that due to the Curry-Howard correspondence, types are propositions and programs are proofs. When you are writing a function of type Nat -> Nat (I will use Haskell notation), you are trying to prove that, given a natural number, your program will terminate and produce another natural number. Now we may have a definition like this:

    f 0 = 1
    f (1 + n) = n * f n
    

    which is both a recursive definition of f and an inductive proof of its termination at the same time!

    You can read it as a proof in a following way:

    Let’s prove that f x terminates for any x.

    • Base case: we have f 0 constant by definition so it terminates.
    • Inductive case: if we assume f n termiates, f (1 + n) terminates too (because all the functions it calls terminate).

    Note that as recursion is not limited to a function decrementing its counter, induction is not limited to natural numbers either. There is also structural induction, corresponding to structural recursion, both of which are very popular in mathematics/programming. These are to be used when trying to prove things/define functions on more complex data structures (lists/trees/etc.).

    Now, to address your concern about the “direction” of the recursion/induction. It is helpful to consider “direction of demand” and “direction of supply” here, which are opposite.

    When you define recursive function, the demand (method calls) flows from larger values to base case. On the other hand, the supply (the return values) flow from the base case to the larger values of parameter. “definedness” is another way way of thinking about supply. It starts at the base case and propagates to infinity via the recursive case.

    Now, when you are doing inductive proofs, theorems are your supply while goals are your demand. You can make a theorem T 0 out of the base case and then improve to however large T n you like using inductive case: your supply flows from 0 to infinity. Now if you have a goal G n, you can make a smaller goals G (n-k) out of it using the inductive step until you reach zero. This way your demand goes from n to 0.

    As you can see, the direction of supply is “to infinity” in both cases and the direction of demand is “to zero” in both cases.

    You can also reverse the apparent order in the descriptions of induction and recursion without changing their meaning:

    Induction is when to prove that P n holds you need to first reduce your goal to P 0 by repeatedly applying the inductive case and then prove the resulting goal using the base case.

    Similarly, recursion is when you first define a base case and then define the further values in terms of the previous ones. See, the directions are easily swapped!

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

What is the relationship between bandwidth and CDN in Windows Azure? Let's say I
I have a relationship between two base classes: public abstract class RecruiterBase<T> { //
My relationship between the parent and child is that they are connected by an
Possible Duplicate: Relationship between JSP and Java EE I am working with JSP and
I have a relationship between two models, Registers and Competitions . I have a
Is there any relationship between anonymous session ( where random identifier is generated for
What is the relationship between IIS settings HTTP Keep-Alives Enabled and Connection Timeout ?
I can set the relationship between View Model and view through following DataContext syntax:
What is the relationship between the OpenID sreg and ax extensions? How does a
I am modeling a 'friends' relationship between the user of my micro-blog app. It

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.