• Top
    • Documentation
    • Books
    • Recursion-and-induction
    • Boolean-reasoning
    • Projects
    • Debugging
    • Std
    • Proof-automation
    • Macro-libraries
    • ACL2
      • Theories
      • Rule-classes
      • Proof-builder
        • Instructions
        • Proof-builder-commands
          • ACL2-pc::rewrite
          • ACL2-pc::apply-linear
          • ACL2-pc::sequence
          • Proof-builder-commands-short-list
          • ACL2-pc::=
          • ACL2-pc::s
          • ACL2-pc::exit
          • ACL2-pc::type-alist
            • ACL2-pc::in-theory
            • ACL2-pc::equiv
            • ACL2-pc::comm
            • ACL2-pc::casesplit
            • ACL2-pc::add-abbreviation
            • ACL2-pc::dv
            • ACL2-pc::hyps
            • ACL2-pc::prove-termination
            • ACL2-pc::prove-guard
            • ACL2-pc::x
            • ACL2-pc::fancy-use
            • ACL2-pc::dive
            • ACL2-pc::generalize
            • ACL2-pc::lisp
            • ACL2-pc::show-rewrites
            • ACL2-pc::claim
            • ACL2-pc::put
            • ACL2-pc::split
            • ACL2-pc::geneqv
            • ACL2-pc::prove
            • ACL2-pc::help
            • ACL2-pc::save
            • ACL2-pc::do-all
            • ACL2-pc::demote
            • ACL2-pc::wrap1
            • ACL2-pc::show-abbreviations
            • ACL2-pc::promote
            • ACL2-pc::retrieve
            • ACL2-pc::reduce
            • ACL2-pc::forwardchain
            • ACL2-pc::doc
            • ACL2-pc::bash
            • ACL2-pc::p-top
            • ACL2-pc::print
            • ACL2-pc::expand
            • ACL2-pc::bk
            • ACL2-pc::wrap
            • ACL2-pc::remove-abbreviations
            • ACL2-pc::reduce-by-induction
            • ACL2-pc::induct
            • ACL2-pc::unsave
            • ACL2-pc::undo
            • ACL2-pc::top
            • ACL2-pc::restore
            • ACL2-pc::replay
            • ACL2-pc::psog
            • ACL2-pc::p
            • ACL2-pc::nx
            • ACL2-pc::noise
            • ACL2-pc::contrapose
            • ACL2-pc::wrap-induct
            • ACL2-pc::pso!
            • ACL2-pc::pso
            • ACL2-pc::up
            • ACL2-pc::then
            • ACL2-pc::th
            • ACL2-pc::sl
            • ACL2-pc::show-type-prescriptions
            • ACL2-pc::bdd
            • ACL2-pc::repeat
            • ACL2-pc::pr
            • ACL2-pc::pl
            • ACL2-pc::finish
            • ACL2-pc::commands
            • ACL2-pc::change-goal
            • ACL2-pc::use
            • ACL2-pc::show-linears
            • ACL2-pc::s-prop
            • ACL2-pc::runes
            • ACL2-pc::protect
            • ACL2-pc::instantiate
            • ACL2-pc::insist-all-proved
            • ACL2-pc::fail
            • ACL2-pc::clause-processor
            • ACL2-pc::bookmark
            • ACL2-pc::retain
            • ACL2-pc::quiet!
            • ACL2-pc::pro
            • ACL2-pc::orelse
            • ACL2-pc::goals
            • ACL2-pc::drop
            • ACL2-pc::do-strict
            • ACL2-pc::print-all-concs
            • ACL2-pc::do-all-no-prompt
            • ACL2-pc::x-dumb
            • ACL2-pc::succeed
            • ACL2-pc::print-all-goals
            • ACL2-pc::pp
            • ACL2-pc::noise!
            • ACL2-pc::nil
            • ACL2-pc::negate
            • ACL2-pc::illegal
            • ACL2-pc::elim
            • ACL2-pc::sls
            • ACL2-pc::quiet
            • ACL2-pc::claim-simple
            • ACL2-pc::cg
            • ACL2-pc::pro-or-skip
            • ACL2-pc::ex
            • ACL2-pc::comment
            • ACL2-pc::ACL2-wrap
            • ACL2-pc::when-not-proved
            • ACL2-pc::skip
            • ACL2-pc::retain-or-skip
            • ACL2-pc::repeat-until-done
            • ACL2-pc::free
            • ACL2-pc::drop-or-skip
            • ACL2-pc::cg-or-skip
            • ACL2-pc::by
            • ACL2-pc::split-in-theory
            • ACL2-pc::st
            • ACL2-pc::sr
            • ACL2-pc::print-main
            • ACL2-pc::lemmas-used
            • ACL2-pc::cl-proc
            • ACL2-pc::al
            • ACL2-pc::run-instr-on-new-goals
            • ACL2-pc::run-instr-on-goal
            • ACL2-pc::repeat-rec
            • ACL2-pc::r
            • ACL2-pc::contradict
          • Proof-builder-commands-short-list
          • Dive-into-macros-table
          • Verify
          • Define-pc-macro
          • Macro-command
          • Define-pc-help
          • Toggle-pc-macro
          • Define-pc-meta
          • Retrieve
          • Unsave
          • Proof-checker
        • Hons-and-memoization
        • Events
        • History
        • Parallelism
        • Programming
        • Start-here
        • Real
        • Debugging
        • Miscellaneous
        • Output-controls
        • Macros
        • Interfacing-tools
      • Interfacing-tools
      • Hardware-verification
      • Software-verification
      • Testing-utilities
      • Math
    • Proof-builder-commands

    ACL2-pc::type-alist

    (macro) display the type-alist from the current context

    Examples:
    (type-alist nil t nil) ; display type-alist based on governors (default)
    type-alist             ; same as (type-alist nil t) -- governors only
    (type-alist t t)       ; display type-alist based on conclusion and governors
    (type-alist t t t)     ; as above, but also display forward-chaining report
    type-alist             ; same as (type-alist nil t) -- governors only
    (type-alist nil)       ; same as (type-alist nil t) -- governors only
    (type-alist t)         ; same as (type-alist t nil) -- conclusion only
    (type-alist nil nil)   ; based on neither conclusion nor governors
    (type-alist nil t nil nil)  ; same as type-alist (default) -- governors only
    (type-alist nil t nil :raw) ; governors only, raw alist format
    (type-alist nil t nil t)    ; governors only, simple alist format
    
    General Form:
    (type-alist &optional concl-flg govs-flg fc-report-flg alistp)

    where if govs-flg is omitted then it defaults to (not concl-flg), and each of the other optional arguments defaults to nil.

    Display the current assumptions as a type-alist. Note that this display includes the result of forward chaining. When fc-report-flg is supplied a non-nil value, the display also includes a forward-chaining report; otherwise,the presence or absence of such a report is controlled by the usual global settings (see forward-chaining-reports). By default, the display is organized by type, with terms shown of each type; but when alistp is :raw then the underlying type-alist structure is shown, which is made more user-friendly when any other non-nil value of alistp is provided.

    There are two basic reasons contemplated for using this command.

    1. The theorem prover has failed (either outside the interactive proof-builder or using a proof-builder command such as bash or reduce and you want to debug by getting an idea of what the prover knows about the context.

    a. You really are interested in the context for the current term. Include hypotheses and governors (i.e., accounting for tests of surrounding if-expressions that must be true or false) but not the current conclusion (which the theorem prover's heuristics would generally ignore for contextual information). Command:

    (type-alist nil t) ; equivalently, type-alist or (type-alist nil)

    b. You are not thinking in particular about the current term; you just want to get an idea of the context that the prover would build at the top-level, for forward-chaining. Incorporate the conclusion but not the governors. Command:

    (type-alist t nil) ; equivalently, (type-alist t)

    2. You intend to use one of the interactive proof-builder-commands that does simplification, such as s or x, and you want to see the context. Then include the surrounding if-term governors but not the goal's conclusion. Command:

    (type-alist nil t) ; equivalently, type-alist or (type-alist nil)

    See type-set (also see type-prescription) for information about ACL2's type system, which can assist in understanding the output of the type-alist command.