This file is indexed.

/usr/share/acl2-6.3/books/paco/utilities.acl2 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
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
(ld "acl2-customization.lsp") ; adds the :paco keyword command

(in-package "ACL2")

(defpkg "PACO"
  '(
    
; ACL2 primitives:

    ACL2-NUMBERP BAD-ATOM BAD-ATOM<=
    BINARY-* BINARY-+ UNARY-- UNARY-/ < CAR CDR
    CHAR-CODE CHARACTERP CODE-CHAR COMPLEX COMPLEX-RATIONALP COERCE
    CONS CONSP DENOMINATOR EQUAL IF IMAGPART INTEGERP
    INTERN-IN-PACKAGE-OF-SYMBOL NUMERATOR RATIONALP REALPART STRINGP
    SYMBOL-NAME SYMBOL-PACKAGE-NAME SYMBOLP NOT EQ LENGTH ATOM ACONS
    ENDP NULL = /= ZP ZIP NTH CHAR CONJUGATE
    STANDARD-CHAR-P STRING ALPHA-CHAR-P UPPER-CASE-P LOWER-CASE-P
    CHAR-UPCASE CHAR-DOWNCASE STRING-DOWNCASE STRING-UPCASE CHAR-EQUAL
    STRING-EQUAL KEYWORDP IDENTITY REVAPPEND
    REVERSE

; At one point I deleted from this list all the symbols that used
; EQLABLEP in their guards.  I was then going to do the same for all
; symbols that used EQ.  But then I realized that true-listp uses EQ.
; Deleting it would mean defining my own TRUE-LISTP-EQUAL which annoys
; me.  I've decided to live in an ACL2-like world: logically there is
; no distinction between EQ and EQUAL and guards exist but are largely
; ignored.

   EQL MEMBER ASSOC RASSOC REMOVE REMOVE-DUPLICATES POSITION
   SUBSTITUTE SUBSETP SUBLIS SUBST

; These were omitted from the Posse East list.

    floor ceiling truncate round mod rem evenp oddp zerop
    plusp minusp min max abs signum lognot expt binary-append
                     
    nfix e0-ordinalp e0-ord-<

    CHAR< CHAR> CHAR<= CHAR>= STRING< STRING> STRING<=
    STRING>= ZPF INTEGER-LENGTH LOGNAND
    LOGORC1 LOGORC2 LOGANDC1 LOGANDC2 LOGNOR LOGTEST SUBSEQ BUTLAST
    ACL2-COUNT

; Primitives that must be in ACL2 to be recognized by the ACL2 rule
; builders.  These were omitted from the Posse East list.

    implies
    iff
    true-listp
    len
; From *expandable-boot-strap-non-rec-fns*:
    synp listp prog2$ force case-split

; Macros and constants that are imported into Paco so that they
; can be expanded into primitives:

    quote
    nil
    t
    lambda
    declare
    ignore
    xargs
    otherwise

    int=
    digit-char-p
    intern
    append
    concatenate
    first
    second
    third
    fourth
    fifth
    sixth
    seventh
    eighth
    ninth
    tenth
    rest
    list*
    the-fixnum
    make-list
    the-mv
    the2s
    i-limited
    gc$

    + * - / > >= <= 1- 1+
    logand
    logeqv
    logior
    logxor

    let
    let*
    list
    cond
    case
    caaaar caaadr caaar caadar caaddr caadr caar cadaar cadadr cadar caddar
    cadddr caddr cadr cdaaar cdaadr cdaar cdadar cdaddr cdadr cdar cddaar
    cddadr cddar cdddar cddddr cdddr cddr
    mv
    mv-let
    mv-nth

    and or
    &rest

    progn
    the
    integer

; System level functions so the user can build an ACL2 logical world.

    trace
    untrace
    lp
    *main-lisp-package-name*
    *common-lisp-symbols-from-main-lisp-package*
    *common-lisp-specials-and-constants*

    mutual-recursion
    defun
    defthm
    defconst
    defmacro
    deflabel
    in-package
    verify-guards
    in-theory
    disable
    enable

; These symbols are used in :do-not hints.  Paco translates those
; hints with ACL2's translation mechanism, so these symbols are
; expected.  Paco may not support all these processes, but detects the
; supported hint after translation.

    preprocess
    simplify
    eliminate-destructors
    fertilize
    generalize
    eliminate-irrelevance

    ld
    value
    include-book
    thm
    local
    encapsulate

; Used in the nume tracker

    wormhole
    wormhole-eval
    wormhole-input
    wormhole-status
    make-wormhole-status
    wormhole-data
    set-wormhole-data
    er-progn
    assign
    @
    cw
    msg

    ))
    
(set-verify-guards-eagerness 0)
(certify-book "utilities" ? t)