• Top
    • Documentation
    • Books
    • Boolean-reasoning
    • Projects
    • Debugging
    • 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
        • Soft
        • C
        • Bv
        • Imp-language
        • Event-macros
        • Java
        • Bitcoin
        • Ethereum
        • Yul
        • Zcash
        • ACL2-programming-language
        • Prime-fields
        • Json
        • Syntheto
          • Process-syntheto-toplevel-fn
          • Translation
          • Language
            • Static-semantics
            • Abstract-syntax
              • Expression
              • Expression-sum-field-list
              • Type
              • Binary-op
              • Expression-product-field-list
              • Abstract-syntax-operations
              • Function-definition-list->header-list
              • Type-definition-list->name-list
              • Initializer-list->value-list
              • Function-header-list->name-list
              • Typed-variable-list->type-list
              • Typed-variable-list->name-list
              • Branch-list->condition-list
              • Alternative-list->name-list
              • Function-specifier
              • Expression-variable-list
              • Type-subset
              • Field-list->type-list
              • Field-list->name-list
              • Function-specification
              • Identifier
              • Toplevel
              • Function-definer
              • Function-header
                • Function-header-fix
                • Function-header-equiv
                • Make-function-header
                • Function-header->outputs
                • Function-header->name
                • Function-header->inputs
                • Change-function-header
                • Function-headerp
              • Type-definer
              • Literal
              • Type-product
              • Function-definition
              • Type-sum
              • Maybe-expression
              • Transform-argument-value
              • Transform
              • Theorem
              • Quantifier
              • Maybe-function-specification
              • Maybe-typed-variable
              • Maybe-type-definition
              • Maybe-function-header
              • Maybe-function-definition
              • Maybe-type-sum
              • Maybe-type-subset
              • Maybe-type-product
              • Maybe-type-definer
              • Maybe-theorem
              • Maybe-type
              • Initializer
              • Type-definition
              • Alternative
              • Unary-op
              • Typed-variable
              • Branch
              • Field
              • Transform-argument
              • Type-recursion
              • Program
              • Function-recursion
              • Typed-variable-list
              • Toplevel-name
              • Toplevel-list
              • Initializer-list
              • Expression-fixtypes
              • Toplevel-fn-names
              • Lookup-transform-argument
              • Function-definition-names
              • Type-definition-list
              • Transform-argument-list
              • Function-header-list
              • Function-definition-list
              • Alternative-list
              • Type-list
              • Identifier-set
              • Identifier-list
              • Field-list
              • Expression-list
              • Branch-list
              • Extract-default-param-alist
              • Create-arg-defaults-table
            • Outcome
            • Abstract-syntax-operations
            • Outcome-list
            • Outcomes
          • Process-syntheto-toplevel
          • Shallow-embedding
        • File-io-light
        • Cryptography
        • Number-theory
        • Lists-light
        • Axe
        • Builtins
        • Solidity
        • Helpers
        • Htclient
        • Typed-lists-light
        • Arithmetic-light
      • X86isa
      • Axe
      • Execloader
    • Math
    • Testing-utilities
  • Abstract-syntax

Function-header

Fixtype of Syntheto function headers.

This is a product type introduced by fty::defprod.

Fields
name — identifier
inputs — typed-variable-list
outputs — typed-variable-list

A function header consists of the name of the function, its inputs (a list of typed variables), and its outputs (a list of typed variables.

It is useful to introduce this notion because in Syntheto not all functions are defined; some are specified, sometimes intentionally under-specified, and the goal of the synthesis process is to generate definitions that provably meet the specifications.

Subtopics

Function-header-fix
Fixing function for function-header structures.
Function-header-equiv
Basic equivalence relation for function-header structures.
Make-function-header
Basic constructor macro for function-header structures.
Function-header->outputs
Get the outputs field from a function-header.
Function-header->name
Get the name field from a function-header.
Function-header->inputs
Get the inputs field from a function-header.
Change-function-header
Modifying constructor for function-header structures.
Function-headerp
Recognizer for function-header structures.