• Top
    • Documentation
    • Books
    • Recursion-and-induction
    • Boolean-reasoning
    • Projects
    • Debugging
    • Std
    • Proof-automation
      • Gl
      • Witness-cp
      • Ccg
      • Install-not-normalized
      • Rewrite$
      • Removable-runes
      • Efficiency
      • Rewrite-bounds
      • Bash
      • Def-dag-measure
      • Fgl
        • Fgl-rewrite-rules
        • Fgl-function-mode
        • Fgl-object
        • Fgl-solving
        • Fgl-handling-if-then-elses
        • Fgl-getting-bits-from-objects
        • Fgl-primitive-and-meta-rules
        • Fgl-interpreter-overview
        • Fgl-counterexamples
        • Fgl-correctness-of-binding-free-variables
        • Fgl-debugging
        • Fgl-testbenches
        • Def-fgl-boolean-constraint
        • Fgl-stack
        • Fgl-rewrite-tracing
        • Def-fgl-param-thm
        • Def-fgl-thm
          • Fgl-config
            • Fgl-config-fix
            • Make-fgl-config
              • Fgl-config-p
              • Fgl-config-equiv
              • Fgl-config->skip-toplevel-sat-check
              • Change-fgl-config
              • Fgl-config->skip-vacuity-check
              • Fgl-config->function-modes
              • Fgl-config->trace-rewrites
              • Fgl-config->prof-enabledp
              • Fgl-config->reclimit
              • Fgl-config->make-ites
              • Fgl-config->sat-config-vacuity
              • Fgl-config->rewrite-rule-table
              • Fgl-config->branch-merge-rules
              • Fgl-config->sat-config
          • Fgl-fast-alist-support
          • Advanced-equivalence-checking-with-fgl
          • Fgl-array-support
          • Fgl-internals
        • Bdd
        • Remove-hyps
        • Contextual-rewriting
        • Simp
        • Rewrite$-hyps
        • Bash-term-to-dnf
        • Use-trivial-ancestors-check
        • Minimal-runes
        • Clause-processor-tools
        • Fn-is-body
        • Without-subsumption
        • Rewrite-equiv-hint
        • Def-bounds
        • Rewrite$-context
        • Try-gl-concls
        • Hint-utils
      • Macro-libraries
      • ACL2
      • Interfacing-tools
      • Hardware-verification
      • Software-verification
      • Testing-utilities
      • Math
    • Fgl-config

    Make-fgl-config

    Basic constructor macro for fgl-config structures.

    Syntax
    (make-fgl-config [:trace-rewrites <trace-rewrites>] 
                     [:reclimit <reclimit>] 
                     [:make-ites <make-ites>] 
                     [:rewrite-rule-table <rewrite-rule-table>] 
                     [:branch-merge-rules <branch-merge-rules>] 
                     [:function-modes <function-modes>] 
                     [:prof-enabledp <prof-enabledp>] 
                     [:sat-config <sat-config>] 
                     [:sat-config-vacuity <sat-config-vacuity>] 
                     [:skip-toplevel-sat-check <skip-toplevel-sat-check>] 
                     [:skip-vacuity-check <skip-vacuity-check>]) 
    

    This is the usual way to construct fgl-config structures. It simply conses together a structure with the specified fields.

    This macro generates a new fgl-config structure from scratch. See also change-fgl-config, which can "change" an existing structure, instead.

    Definition

    This is an ordinary make- macro introduced by defprod.

    Macro: make-fgl-config

    (defmacro make-fgl-config (&rest args)
              (std::make-aggregate 'fgl-config
                                   args
                                   '((:trace-rewrites)
                                     (:reclimit . 1000000)
                                     (:make-ites)
                                     (:rewrite-rule-table)
                                     (:branch-merge-rules)
                                     (:function-modes)
                                     (:prof-enabledp . t)
                                     (:sat-config)
                                     (:sat-config-vacuity)
                                     (:skip-toplevel-sat-check)
                                     (:skip-vacuity-check))
                                   'make-fgl-config
                                   nil))

    Function: fgl-config

    (defun
     fgl-config
     (trace-rewrites reclimit make-ites
                     rewrite-rule-table branch-merge-rules
                     function-modes prof-enabledp
                     sat-config sat-config-vacuity
                     skip-toplevel-sat-check
                     skip-vacuity-check)
     (declare
          (xargs :guard (and (booleanp trace-rewrites)
                             (posp reclimit)
                             (booleanp make-ites)
                             (fgl-function-mode-alist-p function-modes)
                             (booleanp prof-enabledp)
                             (booleanp skip-toplevel-sat-check)
                             (booleanp skip-vacuity-check))))
     (declare (xargs :guard t))
     (let
      ((__function__ 'fgl-config))
      (declare (ignorable __function__))
      (b*
       ((trace-rewrites (mbe :logic (bool-fix trace-rewrites)
                             :exec trace-rewrites))
        (reclimit (mbe :logic (pos-fix reclimit)
                       :exec reclimit))
        (make-ites (mbe :logic (bool-fix make-ites)
                        :exec make-ites))
        (function-modes
             (mbe :logic (fgl-function-mode-alist-fix function-modes)
                  :exec function-modes))
        (prof-enabledp (mbe :logic (bool-fix prof-enabledp)
                            :exec prof-enabledp))
        (skip-toplevel-sat-check
             (mbe :logic (bool-fix skip-toplevel-sat-check)
                  :exec skip-toplevel-sat-check))
        (skip-vacuity-check (mbe :logic (bool-fix skip-vacuity-check)
                                 :exec skip-vacuity-check)))
       (std::prod-cons
        (std::prod-cons
           (std::prod-cons trace-rewrites reclimit)
           (std::prod-cons
                make-ites
                (std::prod-cons rewrite-rule-table branch-merge-rules)))
        (std::prod-cons
             (std::prod-cons function-modes
                             (std::prod-cons prof-enabledp sat-config))
             (std::prod-cons sat-config-vacuity
                             (std::prod-cons skip-toplevel-sat-check
                                             skip-vacuity-check)))))))