• Top
    • Documentation
    • Books
    • Boolean-reasoning
    • Projects
      • Apt
      • Zfc
      • Acre
      • Milawa
      • Smtlink
      • Abnf
      • Vwsim
      • Isar
      • Wp-gen
      • Dimacs-reader
      • Pfcs
      • Legacy-defrstobj
      • C
      • Proof-checker-array
      • Soft
      • Farray
      • Rp-rewriter
      • Instant-runoff-voting
      • Imp-language
      • Sidekick
      • Ethereum
      • Leftist-trees
      • Java
        • Atj
          • Atj-implementation
            • Atj-types
            • Atj-java-primitive-array-model
            • Atj-java-abstract-syntax
            • Atj-input-processing
              • Atj-collect-fns-in-term
              • Atj-worklist-iterate
              • Atj-process-test
              • Atj-process-inputs
              • Atj-process-test-input-jprim-value
              • Atj-process-output-subdir
              • Atj-process-test-input
              • Atj-process-output-dir
              • Atj-process-test-input-jprim-values
              • Atj-fns-to-translate
              • Atj-process-test-inputs
                • Atj-process-tests
                • Atj-process-targets
                • Atj-process-no-aij-types
                • Atj-pkgs-to-translate
                • Atj-process-java-class
                • Atj-process-java-package
                • *atj-default-java-class*
                • *atj-allowed-options*
              • Atj-java-pretty-printer
              • Atj-code-generation
              • Atj-java-primitives
              • Atj-java-primitive-arrays
              • Atj-type-macros
              • Atj-java-syntax-operations
              • Atj-fn
              • Atj-library-extensions
              • Atj-java-input-types
              • Atj-test-structures
              • Aij-notions
              • Atj-macro-definition
            • Atj-tutorial
          • Aij
          • Language
        • Riscv
        • Taspi
        • Bitcoin
        • Zcash
        • Des
        • X86isa
        • Sha-2
        • Yul
        • Proof-checker-itp13
        • Regex
        • ACL2-programming-language
        • Json
        • Jfkr
        • Equational
        • Cryptography
        • Axe
        • Poseidon
        • Where-do-i-place-my-book
        • Aleo
        • Bigmems
        • Builtins
        • Execloader
        • Solidity
        • Paco
        • Concurrent-programs
        • Bls12-377-curves
      • Debugging
      • Community
      • Std
      • Proof-automation
      • Macro-libraries
      • ACL2
      • Interfacing-tools
      • Hardware-verification
      • Software-verification
      • Math
      • Testing-utilities
    • Atj-input-processing

    Atj-process-test-inputs

    Lift atj-process-test-input to lists.

    Signature
    (atj-process-test-inputs inputs 
                             types fn call deep$ guards$ ctx state) 
     
      → 
    (mv erp test-inputs state)
    Arguments
    inputs — Guard (pseudo-term-listp inputs).
    types — Guard (atj-type-listp types).
    fn — Just for error messages.
        Guard (symbolp fn).
    call — Just for error messages.
        Guard (pseudo-termp call).
    deep$ — Guard (booleanp deep$).
    guards$ — Guard (booleanp guards$).
    ctx — Guard (ctxp ctx).
    Returns
    test-inputs — Type (atj-test-value-listp test-inputs).

    This is used to process all the inputs of a test.

    Definitions and Theorems

    Function: atj-process-test-inputs

    (defun atj-process-test-inputs
           (inputs types fn call deep$ guards$ ctx state)
     (declare (xargs :stobjs (state)))
     (declare (xargs :guard (and (pseudo-term-listp inputs)
                                 (atj-type-listp types)
                                 (symbolp fn)
                                 (pseudo-termp call)
                                 (booleanp deep$)
                                 (booleanp guards$)
                                 (ctxp ctx))))
     (declare (xargs :guard (= (len types) (len inputs))))
     (let ((__function__ 'atj-process-test-inputs))
       (declare (ignorable __function__))
       (b* (((when (endp inputs)) (value nil))
            ((mv erp test-input state)
             (atj-process-test-input (car inputs)
                                     (car types)
                                     fn call deep$ guards$ ctx state))
            ((when erp) (mv t nil state))
            ((er test-inputs)
             (atj-process-test-inputs (cdr inputs)
                                      (cdr types)
                                      fn call deep$ guards$ ctx state)))
         (value (cons test-input test-inputs)))))

    Theorem: atj-test-value-listp-of-atj-process-test-inputs.test-inputs

    (defthm atj-test-value-listp-of-atj-process-test-inputs.test-inputs
      (b* (((mv ?erp ?test-inputs acl2::?state)
            (atj-process-test-inputs
                 inputs
                 types fn call deep$ guards$ ctx state)))
        (atj-test-value-listp test-inputs))
      :rule-classes :rewrite)