• Top
    • Documentation
    • Books
    • Boolean-reasoning
    • Projects
    • Debugging
    • Community
    • Std
    • Proof-automation
    • Macro-libraries
    • ACL2
      • Theories
      • Rule-classes
      • Proof-builder
      • Recursion-and-induction
        • R-and-i-annotated-bibliography
        • R-and-i-definitions-revisited
        • R-and-i-terms
        • R-and-i-structural-induction
        • R-and-i-relations-between-recursion-and-induction
        • R-and-i-ordinals
        • R-and-i-inadequacies-of-structural-recursion
        • R-and-i-axioms
        • R-and-i-abbreviations-for-terms
        • R-and-i-terms-as-formulas
        • R-and-i-more-problems
        • R-and-i-still-more-problems
        • R-and-i-definitional-principle
        • R-and-i-function-definitions
        • R-and-i-introduction
        • R-and-i-table-of-contents
        • R-and-i-substitutions
        • R-and-i-arithmetic
        • R-and-i-induction-principle
          • R-and-i-data-types
          • R-and-i-more-inadequacies-of-the-definitional-principle
        • Hons-and-memoization
        • Events
        • Parallelism
        • History
        • Programming
        • Operational-semantics
        • Real
        • Start-here
          • Gentle-introduction-to-ACL2-programming
          • ACL2-tutorial
          • About-ACL2
            • Recursion-and-induction
              • R-and-i-annotated-bibliography
              • R-and-i-definitions-revisited
              • R-and-i-terms
              • R-and-i-structural-induction
              • R-and-i-relations-between-recursion-and-induction
              • R-and-i-ordinals
              • R-and-i-inadequacies-of-structural-recursion
              • R-and-i-axioms
              • R-and-i-abbreviations-for-terms
              • R-and-i-terms-as-formulas
              • R-and-i-more-problems
              • R-and-i-still-more-problems
              • R-and-i-definitional-principle
              • R-and-i-function-definitions
              • R-and-i-introduction
              • R-and-i-table-of-contents
              • R-and-i-substitutions
              • R-and-i-arithmetic
              • R-and-i-induction-principle
                • R-and-i-data-types
                • R-and-i-more-inadequacies-of-the-definitional-principle
              • Operational-semantics
              • Soundness
              • Release-notes
              • Workshops
              • ACL2-tutorial
              • Version
              • How-to-contribute
              • Acknowledgments
              • Using-ACL2
              • Releases
              • Pre-built-binary-distributions
              • Common-lisp
              • Installation
              • Mailing-lists
              • Git-quick-start
              • Copyright
              • ACL2-help
          • Miscellaneous
          • Output-controls
          • Bdd
          • Macros
          • Installation
          • Mailing-lists
        • Interfacing-tools
        • Hardware-verification
        • Software-verification
        • Math
        • Testing-utilities
      • Recursion-and-induction

      R-and-i-induction-principle

      Recursion and Induction: The Induction Principle

      The Induction Principle allows one to derive an arbitrary formula, ψ, from

      • Base Case : (implies (and (not q_1) … (not q_k)) ψ), and

      • Induction Step(s) : For each 1≤i≤k,
        (implies (and q_i ψ/σ_{i,1} … ψ/σ_{i,h_i})
                 ψ),

      provided that for terms m, q_1,...q_k, and substitutions σ_{i,j}  (1≤i≤k, 1≤j≤h_i), the following are theorems:

      • Ordinal Conjecture : (o-p m), and

      • Measure Conjecture(s) : For each 1≤i≤k and 1≤j≤h_i,
        (implies q_i (o< m/σ_{i,j}  m)).

      Next: Relations Between Recursion and Induction (or Table of Contents)