This file is indexed.

/usr/share/acl2-6.3/books/meta/pseudo-termp-lemmas.lisp is in acl2-books-source 6.3-5.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
; By John Cowles, modified by Matt Kaufmann.

(in-package "ACL2")

(include-book "term-lemmas" :load-compiled-file nil)

(defthm pseudo-termp-cadr
  (implies (and (pseudo-termp x)
                (consp x)
                (not (equal (car x) 'quote)))
           (pseudo-termp (cadr x)))
  :hints (("Goal" :expand (pseudo-termp x)))
  :rule-classes (:rewrite
                 (:forward-chaining
                  :trigger-terms
                  ((pseudo-termp (cadr x))))))

(defthm pseudo-termp-caddr
  (implies (and (pseudo-termp x)
                (consp x)
                (not (equal (car x) 'quote)))
           (pseudo-termp (caddr x)))
  :hints (("Goal" :expand (pseudo-termp x)))
  :rule-classes (:rewrite
                 (:forward-chaining
                  :trigger-terms
                  ((pseudo-termp (caddr x))))))

(defthm pseudo-termp-term-list-to-type-term
  (implies (and (pseudo-term-listp x)
		(symbolp unary-op-name))
           (pseudo-termp (term-list-to-type-term unary-op-name x))))

(defthm pseudo-termp-opener
  (implies (and (consp x)
                (symbolp (car x))
                (not (equal (car x) 'quote)))
           (equal (pseudo-termp x)
                  (pseudo-term-listp (cdr x)))))

(defthm pseudo-term-listp-opener
  (and (implies (atom x)
                (equal (pseudo-term-listp x)
                       (equal x nil)))
       (implies (consp x)
                (equal (pseudo-term-listp x)
                       (and (pseudo-termp (car x))
                            (pseudo-term-listp (cdr x)))))))

(defthm pseudo-termp-list-cdr
  (implies (pseudo-term-listp x)
           (pseudo-term-listp (cdr x)))
  :rule-classes
  (:rewrite :forward-chaining))

(defthm pseudo-termp-car
  (implies (pseudo-term-listp x)
           (pseudo-termp (car x)))
  :rule-classes
  (:rewrite :forward-chaining))

(defthm pseudo-termp-cadr-from-pseudo-term-listp
  (implies (pseudo-term-listp x)
           (pseudo-termp (cadr x)))
  :rule-classes
  (:rewrite :forward-chaining))

(defthm pseudo-term-listp-del
  (implies (pseudo-term-listp x)
           (pseudo-term-listp (del a x))))

(defthm pseudo-term-listp-append
  (implies (and (pseudo-term-listp x)
                (pseudo-term-listp y))
           (pseudo-term-listp (append x y))))

(defthm pseudo-term-listp-bagdiff
  (implies (pseudo-term-listp x)
           (pseudo-term-listp (bagdiff x y))))

(defthm pseudo-term-listp-bagint
  (implies (pseudo-term-listp x)
           (pseudo-term-listp (bagint x y))))

(defthm pseudo-term-listp-binary-op_fringe
  (implies (and (symbolp binary-op-name)
		(not (equal binary-op-name 'quote))
		(pseudo-termp x))
           (pseudo-term-listp (binary-op_fringe binary-op-name x))))

(defthm psuedo-termp-binary-op_tree
  (implies (and (pseudo-term-listp l)
		(symbolp binary-op-name)
                (symbolp fix-name)
                (not (equal binary-op-name 'quote))
		(atom constant-name))
           (pseudo-termp (binary-op_tree binary-op-name constant-name fix-name l)))
  :rule-classes
  (:rewrite
   (:forward-chaining
    :trigger-terms
    ((binary-op_tree binary-op-name constant-name fix-name l)))))

(defthm
  pseudo-term-listp-remove-duplicates-memb
  (implies (pseudo-term-listp lst)
	   (pseudo-term-listp (remove-duplicates-memb lst))))