• Top
    • Documentation
    • Books
    • Boolean-reasoning
    • Projects
    • Debugging
    • Std
    • Proof-automation
    • Macro-libraries
    • ACL2
      • Theories
      • Rule-classes
      • Proof-builder
      • Recursion-and-induction
      • Hons-and-memoization
      • Events
      • Parallelism
      • History
      • Programming
        • Defun
        • Declare
        • System-utilities
        • Stobj
        • State
        • Mutual-recursion
        • Memoize
        • Mbe
        • Io
        • Defpkg
        • Apply$
        • Loop$
        • Programming-with-state
        • Arrays
        • Characters
        • Time$
        • Defmacro
        • Loop$-primer
        • Fast-alists
        • Defconst
        • Evaluation
        • Guard
        • Equality-variants
        • Compilation
        • Hons
        • ACL2-built-ins
        • Developers-guide
        • System-attachments
        • Advanced-features
        • Set-check-invariant-risk
        • Numbers
        • Efficiency
        • Irrelevant-formals
        • Introduction-to-programming-in-ACL2-for-those-who-know-lisp
        • Redefining-programs
        • Lists
        • Invariant-risk
        • Errors
        • Defabbrev
        • Conses
        • Alists
        • Set-register-invariant-risk
        • Strings
          • Std/strings
            • Pretty-printing
            • Printtree
            • Base64
            • Charset-p
            • Strtok!
            • Cases
            • Concatenation
            • Html-encoding
            • Character-kinds
            • Substrings
            • Strtok
            • Equivalences
            • Url-encoding
            • Lines
            • Explode-implode-equalities
              • Ordering
              • Numbers
              • Pad-trim
              • Coercion
                • Explode
                  • Explode-implode-equalities
                    • Implode-explode-inversion
                  • Implode
                  • Std/strings/make-character-list
                  • Std/strings/coerce
                • Std/strings/digit-to-char
                • Substitution
                • Symbols
              • String-listp
              • Stringp
              • Length
              • Search
              • Remove-duplicates
              • Position
              • Coerce
              • Concatenate
              • Reverse
              • String
              • Subseq
              • Substitute
              • String-upcase
              • String-downcase
              • Count
              • Char
              • String<
              • String-equal
              • String-utilities
              • String-append
              • String>=
              • String<=
              • String>
              • Hex-digit-char-theorems
              • String-downcase-gen
              • String-upcase-gen
            • Program-wrapper
            • Get-internal-time
            • Basics
            • Packages
            • Oracle-eval
            • Defmacro-untouchable
            • <<
            • Primitive
            • Revert-world
            • Unmemoize
            • Set-duplicate-keys-action
            • Symbols
            • Def-list-constructor
            • Easy-simplify-term
            • Defiteration
            • Fake-oracle-eval
            • Defopen
            • Sleep
          • Operational-semantics
          • Real
          • Start-here
          • Debugging
          • Miscellaneous
          • Output-controls
          • Macros
          • Interfacing-tools
        • Interfacing-tools
        • Hardware-verification
        • Software-verification
        • Math
        • Testing-utilities
      • Std/strings
      • Explode
      • Implode

      Explode-implode-equalities

      Theorems about equalities involving explode and implode.

      Definitions and Theorems

      Theorem: equal-of-implode-left-to-equal-of-explode-right

      (defthm equal-of-implode-left-to-equal-of-explode-right
        (implies (and (character-listp a) (stringp b))
                 (equal (equal (implode a) b)
                        (equal a (explode b)))))

      Theorem: equal-of-implode-right-to-equal-of-explode-left

      (defthm equal-of-implode-right-to-equal-of-explode-left
        (implies (and (character-listp a) (stringp b))
                 (equal (equal a (implode b))
                        (equal (explode a) b))))

      Theorem: equal-of-explode-left-to-equal-of-implode-right

      (defthm equal-of-explode-left-to-equal-of-implode-right
        (implies (and (character-listp a) (stringp b))
                 (equal (equal (explode a) b)
                        (equal a (implode b)))))

      Theorem: equal-of-explode-right-to-equal-of-implode-left

      (defthm equal-of-explode-right-to-equal-of-implode-left
        (implies (and (character-listp a) (stringp b))
                 (equal (equal a (explode b))
                        (equal (implode a) b))))