• Top
    • Documentation
    • Books
    • Boolean-reasoning
    • Projects
    • Debugging
    • Std
    • Community
    • Proof-automation
      • Gl
      • Witness-cp
      • Ccg
      • Install-not-normalized
      • Rewrite$
      • Fgl
      • 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
        • Rp-rewriter
          • Rp-ruleset
          • Defthmrp
          • Rp-rewriter/meta-rules
          • Rp-utilities
            • Defthmrp
            • Show-rules
            • Def-rw-opener-error
            • Valid-sc
              • Set-rp-backchain-limit
              • Fetch-new-theory
              • Ex-from-rp
              • Rp-other-utilities
              • Rp-equal
              • Preserve-current-theory
              • Set-rw-step-limit
              • Rp-termp
              • Include-fnc
              • Set-rp-backchain-limit-throws-error
              • Defwarrant-rp
              • Create-case-match-macro
            • Rp-rewriter-demo
            • Rp-rewriter/debugging
            • Rp-rewriter/applications
        • Fn-is-body
        • Without-subsumption
        • Rewrite-equiv-hint
        • Def-bounds
        • Rewrite$-context
        • Try-gl-concls
        • Hint-utils
      • ACL2
      • Macro-libraries
      • Interfacing-tools
      • Hardware-verification
      • Software-verification
      • Math
      • Testing-utilities
    • Rp-utilities

    Valid-sc

    A function that checks the side-conditions in a term is correct

    (valid-sc term a) traverses the term and evaluates the side-conditions. Whenever it encounters a term of the form (rp ''prop x), it calls (rp-evlt `(prop ,x) a). Whenever it encounters a term of the form (if test then else), it recursively calls valid-sc for the test; and 'then' and 'else' cases under the context of (rp-evlt test a)

    For every step that RP-Rewriter takes, we prove that valid-sc on terms are maintained. Therefore, users have to prove that meta-rules also retains this invariance.