• Top
    • Documentation
    • Books
    • Boolean-reasoning
    • Projects
    • Debugging
    • Community
    • Std
    • Proof-automation
    • Macro-libraries
    • ACL2
    • Interfacing-tools
    • Hardware-verification
    • Software-verification
      • Kestrel-books
        • Crypto-hdwallet
        • Apt
        • Error-checking
        • Fty-extensions
        • Isar
        • Kestrel-utilities
        • Set
        • C
          • Syntax-for-tools
            • Formalized-subset
            • Mapping-to-language-definition
            • Input-files
            • Compilation-database
            • Printer
            • Output-files
            • Abstract-syntax-operations
            • Implementation-environments
            • Abstract-syntax
              • Abstract-syntax-trees
              • Abstract-syntax-irrelevants
                • Irr-amb?-declor/absdeclor
                • Irr-typequal/attribspec
                • Irr-transunit-ensemble
                • Irr-declor/absdeclor
                • Irr-asm-stmt
                • Irr-amb?-expr/tyname
                • Irr-amb?-decl/stmt
                • Irr-struni-spec
                • Irr-struct-declor
                • Irr-struct-declon
                • Irr-stringlit
                • Irr-stor-spec
                • Irr-statassert
                • Irr-spec/qual
                • Irr-param-declor
                • Irr-param-declon
                • Irr-member-designor
                • Irr-initdeclor
                • Irr-ident
                • Irr-hex-quad
                • Irr-header-name
                • Irr-fundef
                • Irr-expr/tyname
                • Irr-enum-spec
                • Irr-dirdeclor
                • Irr-dirabsdeclor
                • Irr-desiniter
                • Irr-decl/stmt
                • Irr-decl-spec
                • Irr-dec-expo-prefix
                • Irr-dec-expo
                • Irr-const-expr
                • Irr-comp-stmt
                • Irr-bin-expo-prefix
                • Irr-bin-expo
                • Irr-attrib-spec
                • Irr-attrib-name
                • Irr-asm-output
                • Irr-asm-name-spec
                • Irr-asm-input
                • Irr-asm-clobber
                • Irr-align-spec
                • Irr-absdeclor
                • Irr-unop
                • Irr-type-spec
                • Irr-type-qual
                • Irr-tyname
                • Irr-transunit
                • Irr-stmt
                • Irr-label
                • Irr-initer
                • Irr-iconst
                • Irr-genassoc
                • Irr-fun-spec
                • Irr-extdecl
                • Irr-expr
                • Irr-escape
                • Irr-enumer
                • Irr-designor
                • Irr-declor
                • Irr-decl
                • Irr-const
                • Irr-block-item
                • Irr-binop
                • Irr-attrib
                • Irr-asm-qual
              • Type-specifier-lists
              • Ascii-identifiers
              • Abstraction-mapping
              • Standard
              • Storage-specifier-lists
              • Code-ensembles
              • Purity
              • Make-self-code-ensemble
            • Concrete-syntax
            • Disambiguation
            • Validation
            • Gcc-builtins
            • Preprocessing
            • Parsing
          • Atc
          • Transformation-tools
          • Language
          • Representation
          • Insertion-sort
          • Pack
        • Soft
        • Bv
        • Imp-language
        • Ethereum
        • Event-macros
        • Java
        • Riscv
        • Bitcoin
        • Zcash
        • Yul
        • ACL2-programming-language
        • Prime-fields
        • Json
        • Syntheto
        • File-io-light
        • Cryptography
        • Number-theory
        • Axe
        • Lists-light
        • Builtins
        • Solidity
        • Helpers
        • Htclient
        • Typed-lists-light
        • Arithmetic-light
      • X86isa
      • Axe
      • Execloader
    • Math
    • Testing-utilities
  • Abstract-syntax

Abstract-syntax-irrelevants

Irrelevant values of the abstract syntax fixtypes.

These are nullary operations that return ``irrelevant'' values of the fixtypes that form the abstract syntax, i.e. values that are never actually used. For instance, an ACL2 function that returns multiple results, the first one of which is an error indication, while the other results include abstract syntax entities, could return irrelevant values as the latter results when the first result indicates an error.

The definitions are mostly boilerplate, except that in some places we put something conveying irrelevance, e.g. in the definition of irr-ident. However, this is really unnecessary, and it should be possible to define all of these according to boilerplate. This could be an extension of the FTY library; perhaps every fixtype definition could also generate some kind of ``default'' value of the fixtype, which could be used as an irrelevant value in the sense explained above.

For now, we collect these nullary functions in this file and XDOC topic, to keep the file and XDOC topic of the abstract syntax tidier.

Note that some fixtypes do not have an irrelevant value defined here, because there are already very short built-in values that can be used, such as nil for list and option types.

Subtopics

Irr-amb?-declor/absdeclor
An irrelevant possibly ambiguous declarators or abstract declarators.
Irr-typequal/attribspec
An irrelevant type qualifier or attribute specifier.
Irr-transunit-ensemble
An irrelevant ensemble of translation units.
Irr-declor/absdeclor
An irrelevant declarator or abstract declarator.
Irr-asm-stmt
An irrelevant assembler statement.
Irr-amb?-expr/tyname
An irrelevant possibly ambiguous expression or type name.
Irr-amb?-decl/stmt
An irrelevant possibly ambiguous declaration or statement.
Irr-struni-spec
An irrelevant structure or union specifier.
Irr-struct-declor
An irrelevant structure declarator.
Irr-struct-declon
An irrelevant structure declaration.
Irr-stringlit
An irrelevant string literal.
Irr-stor-spec
An irrelevant storage class specifier.
Irr-statassert
An irrelevant static assertion declaration.
Irr-spec/qual
An irrelevant type specifier or type qualifier.
Irr-param-declor
An irrelevant parameter declarator.
Irr-param-declon
An irrelevant parameter declaration.
Irr-member-designor
An irrelevant member designator.
Irr-initdeclor
An irrelevant initializer declarator.
Irr-ident
An irrelevant identifier.
Irr-hex-quad
An irrelevant quadruple of hexadecimal digits.
Irr-header-name
An irrelevant header name.
Irr-fundef
An irrelevant function definition.
Irr-expr/tyname
An irrelevant expression or type name.
Irr-enum-spec
An irrelevant enumeration specifier.
Irr-dirdeclor
An irrelevant direct declarator.
Irr-dirabsdeclor
An irrelevant direct abstract declarator.
Irr-desiniter
An irrelevant initializer with optional designation.
Irr-decl/stmt
An irrelevant declaration or statement.
Irr-decl-spec
An irrelevant declaration specifier.
Irr-dec-expo-prefix
An irrelevant decimal exponent prefix.
Irr-dec-expo
An irrelevant decimal exponent.
Irr-const-expr
An irrelevant constant expression.
Irr-comp-stmt
An irrelevant compound statement.
Irr-bin-expo-prefix
An irrelevant binary exponent prefix.
Irr-bin-expo
An irrelevant binary exponent.
Irr-attrib-spec
An irrelevant attribute specifier.
Irr-attrib-name
An irrelevant attribute name.
Irr-asm-output
An irrelevant assembler output operand.
Irr-asm-name-spec
An irrelevant assembler name specifier.
Irr-asm-input
An irrelevant assembler input operand.
Irr-asm-clobber
An irrelevant assembler clobber.
Irr-align-spec
An irrelevant alignment specifier.
Irr-absdeclor
An irrelevant abstract declarator.
Irr-unop
An irrelevant unary operator.
Irr-type-spec
An irrelevant type specifier.
Irr-type-qual
An irrelevant type qualifier.
Irr-tyname
An irrelevant type name.
Irr-transunit
An irrelevant translation unit.
Irr-stmt
An irrelevant statement.
Irr-label
An irrelevant label.
Irr-initer
An irrelevant initializer.
Irr-iconst
An irrelevant integer constant.
Irr-genassoc
An irrelevant generic association.
Irr-fun-spec
An irrelevant function specifier.
Irr-extdecl
An irrelevant external declaration.
Irr-expr
An irrelevant expression.
Irr-escape
An irrelevant escape.
Irr-enumer
An irrelevant enumerator.
Irr-designor
An irrelevant designator.
Irr-declor
An irrelevant declarator.
Irr-decl
An irrelevant declaration.
Irr-const
An irrelevant constant.
Irr-block-item
An irrelevant block item.
Irr-binop
An irrelevant binary operator.
Irr-attrib
An irrelevant attribute.
Irr-asm-qual
An irrelevant assembler qualifier.