• Top
    • Documentation
    • Books
    • Boolean-reasoning
    • Projects
    • Debugging
    • Std
    • Proof-automation
    • Macro-libraries
    • ACL2
      • Theories
        • Rune
        • In-theory
        • Disable
        • Enable
        • Theories-and-primitives
        • Deftheory
        • Theory-functions
          • Disable
          • Enable
          • Current-theory
          • Syntactically-clean-lambda-objects-theory
          • Hands-off-lambda-objects-theory
          • Rewrite-lambda-objects-theory
          • Theory
          • Universal-theory
          • E/d
          • Executable-counterpart-theory
          • Function-theory
          • Set-difference-theories
          • Minimal-theory
            • Ground-zero
            • Union-theories
            • Intersection-theories
          • Deftheory-static
          • Current-theory
          • Syntactically-clean-lambda-objects-theory
          • Hands-off-lambda-objects-theory
          • Rewrite-lambda-objects-theory
          • Rulesets
          • Theory
          • Disabledp
          • Universal-theory
          • Using-enabled-rules
          • E/d
          • Active-runep
          • Executable-counterpart-theory
          • Function-theory
          • Set-difference-theories
          • Minimal-theory
            • Ground-zero
            • Union-theories
            • Intersection-theories
            • Incompatible
            • Defthy
            • Incompatible!
            • Active-or-non-runep
            • Rule-names
          • Rule-classes
          • Proof-builder
          • Recursion-and-induction
          • Hons-and-memoization
          • Events
          • Parallelism
          • History
          • Programming
          • Operational-semantics
          • Real
          • Start-here
          • Debugging
          • Miscellaneous
          • Output-controls
          • Macros
          • Interfacing-tools
        • Interfacing-tools
        • Hardware-verification
        • Software-verification
        • Math
        • Testing-utilities
      • Theories
      • Theory-functions

      Minimal-theory

      A minimal theory to enable

      This theory (see theories) enables only a few built-in functions and executable-counterparts. It can be useful when you want to formulate lemmas that rather immediately imply the theorem to be proved, by way of a :use hint (see hints), for example as follows.

      :use (lemma-1 lemma-2 lemma-3)
      :in-theory (union-theories '(f1 f2) (theory 'minimal-theory))

      In this example, we expect the current goal to follow from lemmas lemma-1, lemma-2, and lemma-3 together with rules f1 and f2 and some obvious facts about built-in functions (such as the definition of implies and the :executable-counterpart of car). The :in-theory hint above is intended to speed up the proof by turning off all inessential rules.