• Top
    • Documentation
    • Books
    • Boolean-reasoning
    • Projects
    • Debugging
    • Std
    • Community
    • Proof-automation
      • Gl
      • Witness-cp
      • Ccg
      • Install-not-normalized
      • Rewrite$
      • 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-counterexamples
          • Def-ctrex-rule
          • Fgl-counterexample-implementation-details
            • Cgraph
              • Cgraph-p
              • Ctrex-rule
                • Ctrex-rule-fix
                • Make-ctrex-rule
                • Ctrex-rule-p
                • Ctrex-rule-equiv
                • Ctrex-rule->dep-success-vars
                • Change-ctrex-rule
                • Ctrex-rule->unify-subst
                • Ctrex-rule->ruletype
                • Ctrex-rule->priority
                • Ctrex-rule->value
                • Ctrex-rule->target
                • Ctrex-rule->success
                • Ctrex-rule->match
                • Ctrex-rule->deps
                • Ctrex-rule->order
                • Ctrex-rule->name
              • Cgraph-fix
              • Cgraph-equiv
            • Cgraph-derive-assignments-for-vars
            • Cgraph-derive-assignments-obj
            • Cgraph-derive-assignments-bindings
        • Fgl-interpreter-overview
        • 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-fast-alist-support
        • Fgl-array-support
        • Advanced-equivalence-checking-with-fgl
        • Fgl-fty-support
        • Fgl-internals
      • Removable-runes
      • Efficiency
      • Rewrite-bounds
      • Bash
      • Def-dag-measure
      • 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
    • Math
    • Testing-utilities
  • Cgraph

Ctrex-rule

Internal structure of a counterexample generation rule

This is a product type introduced by defprod.

Fields
name — symbolp
match — pseudo-term
Pattern to be matched in order to trigger this rule
unify-subst — fgl-object-bindings
Initial substitution for unifying with match -- usually nil
target — pseudo-term
Term representing the object that will be assigned a value based on this rule
deps — cmr::pseudo-term-subst
Substitution giving the dependencies of the rule
dep-success-vars — cmr::pseudo-term-subst
Pairs such as (a-success . a) where a is one of the keys of deps. Vars such as a-success may then be used in the success/priority/value formulas.
success — pseudo-term
Term evaluated to determine whether the formula was successful
priority — pseudo-term
Term evaluated to determine the priority of the formula application
value — pseudo-term
Term evaluated to compute the value of the target
order — natp
Relative ordering, for determining which formulas to evaluate first/last -- use constants *ctrex-order-first*, *ctrex-order-mid*, *ctrex-order-last*.
ruletype — ctrex-ruletype-p

As discussed in cgraph, this is the format in which a rule is stored. This rule has one match pattern, determining the objects on which the rule triggers. A rule definition form may create more than one ctrex-rule (of the same name) to accomodate different patterns that might match.

Subtopics

Ctrex-rule-fix
Fixing function for ctrex-rule structures.
Make-ctrex-rule
Basic constructor macro for ctrex-rule structures.
Ctrex-rule-p
Recognizer for ctrex-rule structures.
Ctrex-rule-equiv
Basic equivalence relation for ctrex-rule structures.
Ctrex-rule->dep-success-vars
Get the dep-success-vars field from a ctrex-rule.
Change-ctrex-rule
Modifying constructor for ctrex-rule structures.
Ctrex-rule->unify-subst
Get the unify-subst field from a ctrex-rule.
Ctrex-rule->ruletype
Get the ruletype field from a ctrex-rule.
Ctrex-rule->priority
Get the priority field from a ctrex-rule.
Ctrex-rule->value
Get the value field from a ctrex-rule.
Ctrex-rule->target
Get the target field from a ctrex-rule.
Ctrex-rule->success
Get the success field from a ctrex-rule.
Ctrex-rule->match
Get the match field from a ctrex-rule.
Ctrex-rule->deps
Get the deps field from a ctrex-rule.
Ctrex-rule->order
Get the order field from a ctrex-rule.
Ctrex-rule->name
Get the name field from a ctrex-rule.