• Top
    • Documentation
    • Books
    • Boolean-reasoning
    • Projects
      • Apt
      • Zfc
      • Acre
      • Milawa
      • Smtlink
      • Abnf
      • Vwsim
      • Isar
      • Wp-gen
      • Dimacs-reader
      • Pfcs
        • Proof-support
        • Abstract-syntax
        • R1cs-subset
        • Semantics
          • Semantics-deeply-embedded
          • Lifting
          • Semantics-shallowly-embedded
            • Name-list-to-symbol-list
            • Name-to-symbol
            • Sesem-definition
            • Sesem-expression
            • Sesem-constraint
            • Sesem-gen-fep-terms
            • Sesem-expression-list
            • Sesem-definition-list
            • Sesem-constraint-list
            • Name-set-to-symbol-list
        • Abstract-syntax-operations
        • Indexed-names
        • Well-formedness
        • 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
      • Bitcoin
      • Riscv
      • 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
      • Bigmems
      • Builtins
      • Execloader
      • Aleo
      • Solidity
      • Paco
      • Concurrent-programs
      • Bls12-377-curves
    • Debugging
    • Std
    • Proof-automation
    • Macro-libraries
    • ACL2
    • Interfacing-tools
    • Hardware-verification
    • Software-verification
    • Math
    • Testing-utilities
  • Semantics

Semantics-shallowly-embedded

Shallowly embedded semantics of PFCSes.

The semantics informally described in semantics can be formalized in a shallowly embedded way, by defining ACL2 functions that turn expressions and constraints into ACL2 terms and functions that express the semantics.

In the names of the ACL2 functions defined below, the prefix sesem stands for `shallowly embedded semantics'.

Subtopics

Name-list-to-symbol-list
Turn a list of PFCS relation or variable names into a list of ACL2 symbols.
Name-to-symbol
Turn a PFCS relation or variable name into an ACL2 symbol.
Sesem-definition
Shallowly embedded semantics of a definition.
Sesem-expression
Shallowly embedded semantics of expressions.
Sesem-constraint
Shallowly embedded semantics of a constraint.
Sesem-gen-fep-terms
Generate a list of terms (fep x1 p), ..., (fep xn p) from a list of variables x1, ..., xn.
Sesem-expression-list
Shallowly embedded semantics of lists of expressions.
Sesem-definition-list
Shallowly embedded semanics of a list of definitions.
Sesem-constraint-list
Shallowly embedded semantics of a list of constraints.
Name-set-to-symbol-list
Lift name-to-symbol to a mapping from sets of strings to lists of symbols.