• Top
    • Documentation
    • Books
    • Boolean-reasoning
    • Projects
    • Debugging
    • Std
    • Proof-automation
    • Macro-libraries
      • B*
      • Defunc
      • Fty
        • Deftagsum
        • Defprod
        • Defflexsum
        • Defbitstruct
        • Deflist
        • Defalist
        • Defbyte
        • Deffixequiv
        • Defresult
        • Deffixtype
        • Defoption
        • Fty-discipline
        • Fold
        • Fty-extensions
          • Defbyte
          • Defresult
          • Fold
          • Defsubtype
          • Defset
          • Specific-types
          • Defflatsum
          • Deflist-of-len
          • Pos-list
          • Defbytelist
          • Defomap
          • Defbyte-standard-instances
          • Deffixtype-alias
          • Defbytelist-standard-instances
          • Defunit
          • Byte-list
          • Byte
          • Database
            • Components-of-flexoption-with-name
            • Flextype-with-name
            • Flextype-with-recognizer
            • Flextype-names-in-flextypes-with-names
            • Flextypes-with-name
            • Flextype->name
            • Flexprod-listp
            • Flexprod-field-listp
            • Flextype-list->name-list
            • Flexprod-list->kind-list
          • Pos-option
          • Nibble
          • Nat-option
          • String-option
          • Byte-list20
          • Byte-list32
          • Byte-list64
          • Pseudo-event-form
          • Natoption/natoptionlist
          • Nati
          • Character-list
          • Nat/natlist
          • Maybe-string
          • Nibble-list
          • Natoption/natoptionlist-result
          • Nat/natlist-result
          • Nat-option-list-result
          • Set
          • String-result
          • String-list-result
          • Nat-result
          • Nat-option-result
          • Nat-list-result
          • Maybe-string-result
          • Integer-result
          • Character-result
          • Character-list-result
          • Boolean-result
          • Map
          • Bag
          • Pos-set
          • Hex-digit-char-list
          • Dec-digit-char-list
          • Pseudo-event-form-list
          • Nat-option-list
          • Symbol-set
          • String-set
          • Nat-set
          • Oct-digit-char-list
          • Bin-digit-char-list
          • Bit-list
        • Defsubtype
        • Defset
        • Deftypes
        • Specific-types
        • Defflatsum
        • Deflist-of-len
        • Defbytelist
        • Fty::basetypes
        • Defomap
        • Defvisitors
        • Deffixtype-alias
        • Deffixequiv-sk
        • Defunit
        • Multicase
        • Deffixequiv-mutual
        • Fty::baselists
        • Def-enumcase
        • Defmap
      • Apt
      • Std/util
      • Defdata
      • Defrstobj
      • Seq
      • Match-tree
      • Defrstobj
      • With-supporters
      • Def-partial-measure
      • Template-subst
      • Soft
      • Defthm-domain
      • Event-macros
      • Def-universal-equiv
      • Def-saved-obligs
      • With-supporters-after
      • Definec
      • Sig
      • Outer-local
      • Data-structures
    • ACL2
      • Theories
      • Rule-classes
      • Proof-builder
      • Recursion-and-induction
      • Hons-and-memoization
      • Events
      • Parallelism
      • History
      • Programming
      • Operational-semantics
      • Real
      • Start-here
      • Debugging
      • Miscellaneous
      • Output-controls
      • Macros
        • Make-event
        • Defmacro
        • Untranslate-patterns
        • Tc
        • Trans*
        • Macro-aliases-table
        • Macro-args
        • Defabbrev
        • User-defined-functions-table
        • Trans
        • Untranslate-for-execution
        • Add-macro-fn
        • Check-vars-not-free
        • Safe-mode
        • Macro-libraries
          • B*
          • Defunc
          • Fty
            • Deftagsum
            • Defprod
            • Defflexsum
            • Defbitstruct
            • Deflist
            • Defalist
            • Defbyte
            • Deffixequiv
            • Defresult
            • Deffixtype
            • Defoption
            • Fty-discipline
            • Fold
            • Fty-extensions
              • Defbyte
              • Defresult
              • Fold
              • Defsubtype
              • Defset
              • Specific-types
              • Defflatsum
              • Deflist-of-len
              • Pos-list
              • Defbytelist
              • Defomap
              • Defbyte-standard-instances
              • Deffixtype-alias
              • Defbytelist-standard-instances
              • Defunit
              • Byte-list
              • Byte
              • Database
                • Components-of-flexoption-with-name
                • Flextype-with-name
                • Flextype-with-recognizer
                • Flextype-names-in-flextypes-with-names
                • Flextypes-with-name
                • Flextype->name
                • Flexprod-listp
                • Flexprod-field-listp
                • Flextype-list->name-list
                • Flexprod-list->kind-list
              • Pos-option
              • Nibble
              • Nat-option
              • String-option
              • Byte-list20
              • Byte-list32
              • Byte-list64
              • Pseudo-event-form
              • Natoption/natoptionlist
              • Nati
              • Character-list
              • Nat/natlist
              • Maybe-string
              • Nibble-list
              • Natoption/natoptionlist-result
              • Nat/natlist-result
              • Nat-option-list-result
              • Set
              • String-result
              • String-list-result
              • Nat-result
              • Nat-option-result
              • Nat-list-result
              • Maybe-string-result
              • Integer-result
              • Character-result
              • Character-list-result
              • Boolean-result
              • Map
              • Bag
              • Pos-set
              • Hex-digit-char-list
              • Dec-digit-char-list
              • Pseudo-event-form-list
              • Nat-option-list
              • Symbol-set
              • String-set
              • Nat-set
              • Oct-digit-char-list
              • Bin-digit-char-list
              • Bit-list
            • Defsubtype
            • Defset
            • Deftypes
            • Specific-types
            • Defflatsum
            • Deflist-of-len
            • Defbytelist
            • Fty::basetypes
            • Defomap
            • Defvisitors
            • Deffixtype-alias
            • Deffixequiv-sk
            • Defunit
            • Multicase
            • Deffixequiv-mutual
            • Fty::baselists
            • Def-enumcase
            • Defmap
          • Apt
          • Std/util
          • Defdata
          • Defrstobj
          • Seq
          • Match-tree
          • Defrstobj
          • With-supporters
          • Def-partial-measure
          • Template-subst
          • Soft
          • Defthm-domain
          • Event-macros
          • Def-universal-equiv
          • Def-saved-obligs
          • With-supporters-after
          • Definec
          • Sig
          • Outer-local
          • Data-structures
        • Trans1
        • Defmacro-untouchable
        • Set-duplicate-keys-action
        • Add-macro-alias
        • Magic-macroexpand
        • Defmacroq
        • Trans!
        • Remove-macro-fn
        • Remove-macro-alias
        • Add-binop
        • Untrans-table
        • Trans*-
        • Remove-binop
        • Tcp
        • Tca
      • Interfacing-tools
    • Interfacing-tools
    • Hardware-verification
    • Software-verification
    • Math
    • Testing-utilities
  • Fty-extensions

Database

Extensions for the FTY database.

The file [books]/centaur/fty/database.lisp defines aggregates that encode fixtype information in the fixtype table. Here we define some extensions of these aggregates, e.g. lists of some of those types, and we also define operations on those aggregates.

The FTY table is the table of all (fix)types (except some built-in ones, such as nat), i.e. the table flextypes-table. The format is defined in [books]/centaur/fty/database.lisp. It has one entry for each mutually recursive clique of types, with singly recursive or non-recursive types being in singleton cliques.

Subtopics

Components-of-flexoption-with-name
Components of a named option type.
Flextype-with-name
Find, in the FTY table, the information for a type with a given name.
Flextype-with-recognizer
Look up, in the FTY table, the information for a type with a given recognizer.
Flextype-names-in-flextypes-with-names
Collect, from the FTY table, all the type names from the named cliques.
Flextypes-with-name
Find, in the FTY table, the information for a type clique with a given name.
Flextype->name
Name of a sum, list, alist, transparent sum, set, or omap type, given the information associated to the type.
Flexprod-listp
Recognize lists of flexprod values.
Flexprod-field-listp
Recognize lists of flexprod-field-p values.
Flextype-list->name-list
Lift flextype->name to lists.
Flexprod-list->kind-list
Lift flexprod->kind to lists.