• Top
    • Documentation
    • Books
    • Boolean-reasoning
    • Projects
      • Apt
      • Zfc
      • Acre
      • Milawa
      • Smtlink
      • Abnf
      • Vwsim
      • Isar
      • Wp-gen
      • Dimacs-reader
      • Pfcs
        • Proof-support
        • Semantics
        • Lifting
        • R1cs-subset
        • Well-formedness
        • Abstract-syntax
          • Syntax-abstraction
          • Abstract-syntax-trees
            • Expression
            • Name
              • Name-case
              • Name-fix
              • Namep
              • Name-equiv
              • Name-indexed
              • Name-simple
              • Name-kind
            • Definition
            • Constraint
            • Definition-option
            • System
            • System-result
            • Name-list-result
            • Expression-result
            • Expression-list-result
            • Definition-result
            • Definition-list-result
            • Constraint-result
            • Constraint-list-result
            • Name-result
            • Expression-list
            • Definition-list
            • Constraint-list
            • Name-set
            • Name-list
          • Abstract-syntax-operations
          • Convenience-constructors
        • Concrete-syntax
        • R1cs-bridge
        • Parser-interface
      • Legacy-defrstobj
      • Proof-checker-array
      • Soft
      • C
      • Farray
      • Rp-rewriter
      • Instant-runoff-voting
      • Imp-language
      • Sidekick
      • Leftist-trees
      • Java
      • Taspi
      • Riscv
      • Bitcoin
      • Des
      • Ethereum
      • X86isa
      • Sha-2
      • Yul
      • Zcash
      • Proof-checker-itp13
      • Regex
      • ACL2-programming-language
      • Json
      • Jfkr
      • Equational
      • Cryptography
      • Poseidon
      • Where-do-i-place-my-book
      • Axe
      • Aleo
      • Bigmems
      • Builtins
      • Execloader
      • Solidity
      • Paco
      • Concurrent-programs
      • Bls12-377-curves
    • Debugging
    • Std
    • Community
    • Proof-automation
    • ACL2
    • Macro-libraries
    • Interfacing-tools
    • Hardware-verification
    • Software-verification
    • Math
    • Testing-utilities
  • Abstract-syntax-trees

Name

Fixtype of names.

This is a tagged union type, introduced by fty::deftagsum.

Member Tags → Types
:simple → name-simple
:indexed → name-indexed

Names are used for variables and relations.

We define name as either (wrapped) strings or (wrapped) pairs consisting of a string and a natural number. The former are simple names, while the latter are indexed names. Our current concrete syntax only covers simple names, but we may extend it to also cover indexed names at some point, as part of a larger extension to add syntax for parameterized circuits. In the meanwhile, indexed names are useful to construct parameterized circuits directly in abstract syntax.

Subtopics

Name-case
Case macro for the different kinds of name structures.
Name-fix
Fixing function for name structures.
Namep
Recognizer for name structures.
Name-equiv
Basic equivalence relation for name structures.
Name-indexed
Name-simple
Name-kind
Get the kind (tag) of a name structure.