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 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264
|
(UNSET-WATERFALL-PARALLELISM)
(ASSIGN SCRIPT-MODE T)
T
(SET-LD-PROMPT T STATE)
T
ACL2 !>>(SET-INHIBITED-SUMMARY-TYPES '(TIME STEPS))
(TIME STEPS)
ACL2 !>>(SET-INHIBIT-OUTPUT-LST '(PROOF-TREE))
(PROOF-TREE)
ACL2 !>>(IN-PACKAGE "ACL2")
"ACL2"
ACL2 !>>(SET-INHIBIT-OUTPUT-LST '(PROVE PROOF-TREE))
(PROVE PROOF-TREE)
ACL2 !>>(SET-GAG-MODE NIL)
<state>
ACL2 !>>(IN-THEORY (DISABLE REVERSE))
Summary
Form: ( IN-THEORY (DISABLE ...))
Rules: NIL
:CURRENT-THEORY-UPDATED
ACL2 !>>(SAVING-EVENT-DATA (LD "test2.lisp"))
ACL2 !>>>(IN-PACKAGE "ACL2")
"ACL2"
ACL2 !>>>(INCLUDE-BOOK "std/util/define"
:DIR :SYSTEM)
Summary
Form: ( INCLUDE-BOOK "std/util/define" ...)
Rules: NIL
(:SYSTEM . "std/util/define.lisp")
ACL2 !>>>(THM (IMPLIES (CONSP (APPEND Y X))
(CONSP (APPEND X Y))))
Summary
Form: ( THM ...)
Rules: ((:DEFINITION BINARY-APPEND)
(:DEFINITION ENDP)
(:DEFINITION NOT)
(:FAKE-RUNE-FOR-TYPE-SET NIL)
(:INDUCTION BINARY-APPEND)
(:TYPE-PRESCRIPTION BINARY-APPEND))
ACL2 !>>>(DEFINE FOO ((X TRUE-LISTP))
:VERIFY-GUARDS
NIL (APPEND (REVERSE X) X)
/// (VERIFY-GUARDS FOO))
Since FOO is non-recursive, its admission is trivial. We observe that
the type of FOO is described by the theorem
(OR (CONSP (FOO X)) (EQUAL (FOO X) X)). We used the :type-prescription
rule BINARY-APPEND.
Summary
Form: ( DEFUN FOO ...)
Rules: ((:TYPE-PRESCRIPTION BINARY-APPEND))
ACL2 !>>>>(VERIFY-GUARDS FOO)
Computing the guard conjecture for FOO....
The non-trivial part of the guard conjecture for FOO is
Goal
(IMPLIES (TRUE-LISTP X)
(AND (OR (TRUE-LISTP X) (STRINGP X))
(TRUE-LISTP (REVERSE X)))).
ACL2 Error in ( VERIFY-GUARDS FOO): The proof of the guard conjecture
for FOO has failed. You may wish to avoid specifying a guard, or to
supply option :VERIFY-GUARDS NIL with the :GUARD. Otherwise, you may
wish to specify :GUARD-DEBUG T; see :DOC verify-guards.
Summary
Form: ( VERIFY-GUARDS FOO)
Rules: ((:DEFINITION NOT)
(:DEFINITION TRUE-LISTP)
(:ELIM CAR-CDR-ELIM)
(:EXECUTABLE-COUNTERPART CONSP)
(:EXECUTABLE-COUNTERPART NOT)
(:EXECUTABLE-COUNTERPART REVERSE)
(:FAKE-RUNE-FOR-TYPE-SET NIL)
(:INDUCTION TRUE-LISTP)
(:TYPE-PRESCRIPTION REVERSE))
---
The key checkpoint goals, below, may help you to debug this failure.
See :DOC failure and see :DOC set-checkpoint-summary-limit.
---
*** Key checkpoint at the top level: ***
Goal''
(IMPLIES (AND (TRUE-LISTP X)
(NOT (CONSP (REVERSE X))))
(NOT (REVERSE X)))
*** Key checkpoints under a top-level induction: ***
Subgoal *1/3'
(IMPLIES (AND (CONSP X)
(NOT (REVERSE (CDR X)))
(TRUE-LISTP (CDR X))
(NOT (CONSP (REVERSE X))))
(NOT (REVERSE X)))
Subgoal *1/2'
(IMPLIES (AND (CONSP X)
(CONSP (REVERSE (CDR X)))
(TRUE-LISTP (CDR X))
(NOT (CONSP (REVERSE X))))
(NOT (REVERSE X)))
ACL2 Error [Failure] in ( VERIFY-GUARDS FOO): The proof of the guard
conjecture for FOO has failed; see the discussion above about :VERIFY-GUARDS
and :GUARD-DEBUG. See :DOC failure.
******** FAILED ********
Summary
Form: ( PROGN (VERIFY-GUARDS FOO) ...)
Rules: NIL
ACL2 Error [Failure] in ( PROGN (VERIFY-GUARDS FOO) ...): See :DOC
failure.
******** FAILED ********
(:STOP-LD 3)
ACL2 !>>(RUNES-DIFF "test1.lisp")
((:OLD ((:FORWARD-CHAINING ALISTP-FORWARD-TO-TRUE-LISTP)
(:TYPE-PRESCRIPTION ALISTP)
(:TYPE-PRESCRIPTION TRUE-LISTP-REVERSE)))
(:NEW ((:DEFINITION NOT)
(:DEFINITION TRUE-LISTP)
(:ELIM CAR-CDR-ELIM)
(:EXECUTABLE-COUNTERPART CONSP)
(:EXECUTABLE-COUNTERPART NOT)
(:EXECUTABLE-COUNTERPART REVERSE)
(:FAKE-RUNE-FOR-TYPE-SET NIL)
(:INDUCTION TRUE-LISTP))))
ACL2 !>>(IN-THEORY (DISABLE (:T APPEND)))
Summary
Form: ( IN-THEORY (DISABLE ...))
Rules: NIL
:CURRENT-THEORY-UPDATED
ACL2 !>>(SAVING-EVENT-DATA (LD "test2.lisp"))
ACL2 !>>>(IN-PACKAGE "ACL2")
"ACL2"
ACL2 !>>>(INCLUDE-BOOK "std/util/define"
:DIR :SYSTEM)
The event ( INCLUDE-BOOK "std/util/define" ...) is redundant. See
:DOC redundant-events.
Summary
Form: ( INCLUDE-BOOK "std/util/define" ...)
Rules: NIL
:REDUNDANT
ACL2 !>>>(THM (IMPLIES (CONSP (APPEND Y X))
(CONSP (APPEND X Y))))
Summary
Form: ( THM ...)
Rules: ((:DEFINITION BINARY-APPEND)
(:DEFINITION ENDP)
(:DEFINITION NOT)
(:ELIM CAR-CDR-ELIM)
(:FAKE-RUNE-FOR-TYPE-SET NIL)
(:INDUCTION BINARY-APPEND))
ACL2 !>>>(DEFINE FOO ((X TRUE-LISTP))
:VERIFY-GUARDS
NIL (APPEND (REVERSE X) X)
/// (VERIFY-GUARDS FOO))
Since FOO is non-recursive, its admission is trivial. We could deduce
no constraints on the type of FOO.
Summary
Form: ( DEFUN FOO ...)
Rules: NIL
ACL2 !>>>>(VERIFY-GUARDS FOO)
Computing the guard conjecture for FOO....
The non-trivial part of the guard conjecture for FOO is
Goal
(IMPLIES (TRUE-LISTP X)
(AND (OR (TRUE-LISTP X) (STRINGP X))
(TRUE-LISTP (REVERSE X)))).
ACL2 Error in ( VERIFY-GUARDS FOO): The proof of the guard conjecture
for FOO has failed. You may wish to avoid specifying a guard, or to
supply option :VERIFY-GUARDS NIL with the :GUARD. Otherwise, you may
wish to specify :GUARD-DEBUG T; see :DOC verify-guards.
Summary
Form: ( VERIFY-GUARDS FOO)
Rules: ((:DEFINITION NOT)
(:DEFINITION TRUE-LISTP)
(:ELIM CAR-CDR-ELIM)
(:EXECUTABLE-COUNTERPART CONSP)
(:EXECUTABLE-COUNTERPART NOT)
(:EXECUTABLE-COUNTERPART REVERSE)
(:FAKE-RUNE-FOR-TYPE-SET NIL)
(:INDUCTION TRUE-LISTP)
(:TYPE-PRESCRIPTION REVERSE))
---
The key checkpoint goals, below, may help you to debug this failure.
See :DOC failure and see :DOC set-checkpoint-summary-limit.
---
*** Key checkpoint at the top level: ***
Goal''
(IMPLIES (AND (TRUE-LISTP X)
(NOT (CONSP (REVERSE X))))
(NOT (REVERSE X)))
*** Key checkpoints under a top-level induction: ***
Subgoal *1/3'
(IMPLIES (AND (CONSP X)
(NOT (REVERSE (CDR X)))
(TRUE-LISTP (CDR X))
(NOT (CONSP (REVERSE X))))
(NOT (REVERSE X)))
Subgoal *1/2'
(IMPLIES (AND (CONSP X)
(CONSP (REVERSE (CDR X)))
(TRUE-LISTP (CDR X))
(NOT (CONSP (REVERSE X))))
(NOT (REVERSE X)))
ACL2 Error [Failure] in ( VERIFY-GUARDS FOO): The proof of the guard
conjecture for FOO has failed; see the discussion above about :VERIFY-GUARDS
and :GUARD-DEBUG. See :DOC failure.
******** FAILED ********
Summary
Form: ( PROGN (VERIFY-GUARDS FOO) ...)
Rules: NIL
ACL2 Error [Failure] in ( PROGN (VERIFY-GUARDS FOO) ...): See :DOC
failure.
******** FAILED ********
(:STOP-LD 3)
ACL2 !>>(RUNES-DIFF "test2.lisp" :NAME NIL)
((:OLD ((:TYPE-PRESCRIPTION BINARY-APPEND)))
(:NEW ((:ELIM CAR-CDR-ELIM))))
ACL2 !>>Bye.
|