/usr/share/acl2-6.3/books/tools/rulesets.cert is in acl2-books-certs 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 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 | (IN-PACKAGE "ACL2")
"ACL2 Version 6.3"
:BEGIN-PORTCULLIS-CMDS
(DEFPKG "XDOC" (SET-DIFFERENCE-EQ (UNION-EQ (UNION-EQ *ACL2-EXPORTS* *COMMON-LISP-SYMBOLS-FROM-MAIN-LISP-PACKAGE*) (QUOTE (B* QUIT EXIT VALUE DEFXDOC DEFXDOC-RAW MACRO-ARGS XDOC-EXTEND DEFSECTION DEFSECTION-PROGN CUTIL LNFIX SET-DEFAULT-PARENTS GETPROP FORMALS JUSTIFICATION DEF-BODIES CURRENT-ACL2-WORLD DEF-BODY ACCESS THEOREM UNTRANSLATED-THEOREM GUARD XDOC XDOC! UNQUOTE UNDOCUMENTED ASSERT! TOP EXPLODE IMPLODE))) (QUOTE NIL)) NIL ((:SYSTEM . "xdoc/portcullis.lisp") (:SYSTEM . "xdoc/top.lisp")) T)
:END-PORTCULLIS-CMDS
:EXPANSION-ALIST
((3 RECORD-EXPANSION (DEFXDOC RULESETS :PARENTS (THEORIES DEFTHEORY) :SHORT "Table-based alternative to ACL2's named theories." :LONG "<p>Rulesets are like @(see theories), but can be extended with
additional rules after first being defined. That is, you can build up a
ruleset incrementally, across many books, instead of having to define it all at
once and having it be forever fixed.</p>
<p>Basic usage of rulesets is just like theories. You can:</p>
<ul>
<li>Introduce rulesets with @(see def-ruleset)</li>
<li>Extend existing rulesets with @(see add-to-ruleset).</li>
<li>Enable/disable rulesets with @(see enable*), @(see disable*), and @(see
e/d*)</li>
</ul>
<p>When we define a new package @('FOO'), we often set up @('FOO::enable') as
an alias for @('enable*'), to make using rulesets more convenient.</p>
<p>Advanced users can do some nifty things with rulesets, e.g., you can have a
superior ruleset that contains other rulesets, and it will grow as you add
rules to the contained rulesets.</p>") (WITH-OUTPUT :OFF (EVENT SUMMARY) (PROGN (TABLE XDOC (QUOTE DOC) (CONS (QUOTE ((:NAME . RULESETS) (:BASE-PKG . ACL2-PKG-WITNESS) (:PARENTS THEORIES DEFTHEORY) (:SHORT . "Table-based alternative to ACL2's named theories.") (:LONG . "<p>Rulesets are like @(see theories), but can be extended with
additional rules after first being defined. That is, you can build up a
ruleset incrementally, across many books, instead of having to define it all at
once and having it be forever fixed.</p>
<p>Basic usage of rulesets is just like theories. You can:</p>
<ul>
<li>Introduce rulesets with @(see def-ruleset)</li>
<li>Extend existing rulesets with @(see add-to-ruleset).</li>
<li>Enable/disable rulesets with @(see enable*), @(see disable*), and @(see
e/d*)</li>
</ul>
<p>When we define a new package @('FOO'), we often set up @('FOO::enable') as
an alias for @('enable*'), to make using rulesets more convenient.</p>
<p>Advanced users can do some nifty things with rulesets, e.g., you can have a
superior ruleset that contains other rulesets, and it will grow as you add
rules to the contained rulesets.</p>") (:FROM . "[books]/tools/rulesets.lisp"))) (XDOC::GET-XDOC-TABLE WORLD))) (VALUE-TRIPLE (QUOTE (DEFXDOC RULESETS)))))) (17 RECORD-EXPANSION (DEFSECTION DEF-RULESET :PARENTS (RULESETS) :SHORT "@(call def-ruleset) creates a new ruleset." :LONG "<p>Examples:</p>
@({
(def-ruleset my-rules
'(append reverse))
(def-ruleset other-rules
'(member-equal my-rules revappend))
})
<p>The first example creates a new ruleset, @('my-rules'), with only the
definitions of @('append') and @('reverse').</p>
<p>The section example creates a new ruleset, @('other-rules'), with the
definitions of @('member-equal') and @('revappend'), and also a link to
@('my-rules'). When rules are added to @('my-rules'), @('other-rules')
also grows.</p>" (DEFMACRO DEF-RULESET (NAME FORM) (DECLARE (XARGS :GUARD (SYMBOLP NAME))) (CONS (QUOTE MAKE-EVENT) (CONS (CONS (QUOTE LET) (CONS (CONS (CONS (QUOTE WORLD) (CONS (CONS (QUOTE W) (CONS (QUOTE STATE) (QUOTE NIL))) (QUOTE NIL))) (CONS (CONS (QUOTE NAME) (CONS (CONS (QUOTE QUOTE) (CONS NAME (QUOTE NIL))) (QUOTE NIL))) (QUOTE NIL))) (CONS (CONS (QUOTE ER-PROGN) (CONS (CONS (QUOTE CHECK-NOT-RULESET) (CONS (QUOTE NAME) (CONS (QUOTE WORLD) (CONS (QUOTE STATE) (QUOTE NIL))))) (CONS (CONS (QUOTE LET) (CONS (CONS (CONS (QUOTE RULES) (CONS (RULESET-FORM-PREPROCESS FORM) (QUOTE NIL))) (QUOTE NIL)) (CONS (CONS (QUOTE DEF-RULESET-CORE) (CONS (QUOTE NAME) (CONS (QUOTE RULES) (CONS (QUOTE WORLD) (CONS (QUOTE STATE) (QUOTE NIL)))))) (QUOTE NIL)))) (QUOTE NIL)))) (QUOTE NIL)))) (QUOTE NIL))))) (WITH-OUTPUT :STACK :PUSH :OFF :ALL :ON ERROR (PROGN (TABLE INTRO-TABLE :MARK (QUOTE DEF-RULESET)) (WITH-OUTPUT :STACK :POP (ENCAPSULATE NIL (VALUE-TRIPLE :INVISIBLE) (DEFMACRO DEF-RULESET (NAME FORM) (DECLARE (XARGS :GUARD (SYMBOLP NAME))) (CONS (QUOTE MAKE-EVENT) (CONS (CONS (QUOTE LET) (CONS (CONS (CONS (QUOTE WORLD) (CONS (CONS (QUOTE W) (CONS (QUOTE STATE) (QUOTE NIL))) (QUOTE NIL))) (CONS (CONS (QUOTE NAME) (CONS (CONS (QUOTE QUOTE) (CONS NAME (QUOTE NIL))) (QUOTE NIL))) (QUOTE NIL))) (CONS (CONS (QUOTE ER-PROGN) (CONS (CONS (QUOTE CHECK-NOT-RULESET) (CONS (QUOTE NAME) (CONS (QUOTE WORLD) (CONS (QUOTE STATE) (QUOTE NIL))))) (CONS (CONS (QUOTE LET) (CONS (CONS (CONS (QUOTE RULES) (CONS (RULESET-FORM-PREPROCESS FORM) (QUOTE NIL))) (QUOTE NIL)) (CONS (CONS (QUOTE DEF-RULESET-CORE) (CONS (QUOTE NAME) (CONS (QUOTE RULES) (CONS (QUOTE WORLD) (CONS (QUOTE STATE) (QUOTE NIL)))))) (QUOTE NIL)))) (QUOTE NIL)))) (QUOTE NIL)))) (QUOTE NIL)))))) (RECORD-EXPANSION (MAKE-EVENT (LET* ((XDOC::NAME (QUOTE DEF-RULESET)) (XDOC::PARENTS (QUOTE (RULESETS))) (XDOC::SHORT (QUOTE "@(call def-ruleset) creates a new ruleset.")) (XDOC::EXTENSION (QUOTE NIL)) (XDOC::WRLD (W STATE)) (XDOC::TRIPS (REVERSED-WORLD-SINCE-EVENT XDOC::WRLD (QUOTE (TABLE INTRO-TABLE :MARK (QUOTE DEF-RULESET))) NIL)) (XDOC::INFO (REVERSE (NEW-FORMULA-INFO XDOC::TRIPS XDOC::WRLD NIL))) (XDOC::AUTODOC (XDOC::FORMULA-INFO-TO-DEFS (NOT XDOC::EXTENSION) XDOC::INFO)) (XDOC::LONG (CONCATENATE (QUOTE STRING) (QUOTE "<p>Examples:</p>
@({
(def-ruleset my-rules
'(append reverse))
(def-ruleset other-rules
'(member-equal my-rules revappend))
})
<p>The first example creates a new ruleset, @('my-rules'), with only the
definitions of @('append') and @('reverse').</p>
<p>The section example creates a new ruleset, @('other-rules'), with the
definitions of @('member-equal') and @('revappend'), and also a link to
@('my-rules'). When rules are added to @('my-rules'), @('other-rules')
also grows.</p>") (COERCE (LIST #\Newline #\Newline) (QUOTE STRING)) XDOC::AUTODOC))) (IF XDOC::EXTENSION (CONS (QUOTE XDOC-EXTEND) (CONS XDOC::EXTENSION (CONS XDOC::LONG (QUOTE NIL)))) (CONS (QUOTE DEFXDOC) (CONS XDOC::NAME (CONS (QUOTE :PARENTS) (CONS XDOC::PARENTS (CONS (QUOTE :SHORT) (CONS XDOC::SHORT (CONS (QUOTE :LONG) (CONS XDOC::LONG (QUOTE NIL)))))))))))) (WITH-OUTPUT :OFF (EVENT SUMMARY) (PROGN (TABLE XDOC (QUOTE DOC) (CONS (QUOTE ((:NAME . DEF-RULESET) (:BASE-PKG . ACL2-PKG-WITNESS) (:PARENTS RULESETS) (:SHORT . "@(call def-ruleset) creates a new ruleset.") (:LONG . "<p>Examples:</p>
@({
(def-ruleset my-rules
'(append reverse))
(def-ruleset other-rules
'(member-equal my-rules revappend))
})
<p>The first example creates a new ruleset, @('my-rules'), with only the
definitions of @('append') and @('reverse').</p>
<p>The section example creates a new ruleset, @('other-rules'), with the
definitions of @('member-equal') and @('revappend'), and also a link to
@('my-rules'). When rules are added to @('my-rules'), @('other-rules')
also grows.</p>
") (:FROM . "[books]/tools/rulesets.lisp"))) (XDOC::GET-XDOC-TABLE WORLD))) (VALUE-TRIPLE (QUOTE (DEFXDOC DEF-RULESET)))))) (VALUE-TRIPLE (QUOTE DEF-RULESET))))) (18 RECORD-EXPANSION (DEFSECTION ADD-TO-RULESET :PARENTS (RULESETS) :SHORT "@(call add-to-ruleset) adds additional rules to an existing
ruleset." :LONG "<p>Examples:</p>
@({
(add-to-ruleset my-rules
'(foop))
(add-to-ruleset other-rules
'(car-cons cdr-cons (force)))
})" (DEFMACRO ADD-TO-RULESET (NAME FORM) (DECLARE (XARGS :GUARD (SYMBOLP NAME))) (CONS (QUOTE MAKE-EVENT) (CONS (CONS (QUOTE LET) (CONS (CONS (CONS (QUOTE WORLD) (CONS (CONS (QUOTE W) (CONS (QUOTE STATE) (QUOTE NIL))) (QUOTE NIL))) (CONS (CONS (QUOTE NAME) (CONS (CONS (QUOTE QUOTE) (CONS NAME (QUOTE NIL))) (QUOTE NIL))) (QUOTE NIL))) (CONS (CONS (QUOTE ER-PROGN) (CONS (CONS (QUOTE CHECK-RULESET) (CONS (QUOTE NAME) (CONS (QUOTE WORLD) (CONS (QUOTE STATE) (QUOTE NIL))))) (CONS (CONS (QUOTE LET) (CONS (CONS (CONS (QUOTE RULES) (CONS (RULESET-FORM-PREPROCESS FORM) (QUOTE NIL))) (QUOTE NIL)) (CONS (CONS (QUOTE ADD-TO-RULESET-CORE) (CONS (QUOTE NAME) (CONS (QUOTE RULES) (CONS (QUOTE WORLD) (CONS (QUOTE STATE) (QUOTE NIL)))))) (QUOTE NIL)))) (QUOTE NIL)))) (QUOTE NIL)))) (QUOTE NIL))))) (WITH-OUTPUT :STACK :PUSH :OFF :ALL :ON ERROR (PROGN (TABLE INTRO-TABLE :MARK (QUOTE ADD-TO-RULESET)) (WITH-OUTPUT :STACK :POP (ENCAPSULATE NIL (VALUE-TRIPLE :INVISIBLE) (DEFMACRO ADD-TO-RULESET (NAME FORM) (DECLARE (XARGS :GUARD (SYMBOLP NAME))) (CONS (QUOTE MAKE-EVENT) (CONS (CONS (QUOTE LET) (CONS (CONS (CONS (QUOTE WORLD) (CONS (CONS (QUOTE W) (CONS (QUOTE STATE) (QUOTE NIL))) (QUOTE NIL))) (CONS (CONS (QUOTE NAME) (CONS (CONS (QUOTE QUOTE) (CONS NAME (QUOTE NIL))) (QUOTE NIL))) (QUOTE NIL))) (CONS (CONS (QUOTE ER-PROGN) (CONS (CONS (QUOTE CHECK-RULESET) (CONS (QUOTE NAME) (CONS (QUOTE WORLD) (CONS (QUOTE STATE) (QUOTE NIL))))) (CONS (CONS (QUOTE LET) (CONS (CONS (CONS (QUOTE RULES) (CONS (RULESET-FORM-PREPROCESS FORM) (QUOTE NIL))) (QUOTE NIL)) (CONS (CONS (QUOTE ADD-TO-RULESET-CORE) (CONS (QUOTE NAME) (CONS (QUOTE RULES) (CONS (QUOTE WORLD) (CONS (QUOTE STATE) (QUOTE NIL)))))) (QUOTE NIL)))) (QUOTE NIL)))) (QUOTE NIL)))) (QUOTE NIL)))))) (RECORD-EXPANSION (MAKE-EVENT (LET* ((XDOC::NAME (QUOTE ADD-TO-RULESET)) (XDOC::PARENTS (QUOTE (RULESETS))) (XDOC::SHORT (QUOTE "@(call add-to-ruleset) adds additional rules to an existing
ruleset.")) (XDOC::EXTENSION (QUOTE NIL)) (XDOC::WRLD (W STATE)) (XDOC::TRIPS (REVERSED-WORLD-SINCE-EVENT XDOC::WRLD (QUOTE (TABLE INTRO-TABLE :MARK (QUOTE ADD-TO-RULESET))) NIL)) (XDOC::INFO (REVERSE (NEW-FORMULA-INFO XDOC::TRIPS XDOC::WRLD NIL))) (XDOC::AUTODOC (XDOC::FORMULA-INFO-TO-DEFS (NOT XDOC::EXTENSION) XDOC::INFO)) (XDOC::LONG (CONCATENATE (QUOTE STRING) (QUOTE "<p>Examples:</p>
@({
(add-to-ruleset my-rules
'(foop))
(add-to-ruleset other-rules
'(car-cons cdr-cons (force)))
})") (COERCE (LIST #\Newline #\Newline) (QUOTE STRING)) XDOC::AUTODOC))) (IF XDOC::EXTENSION (CONS (QUOTE XDOC-EXTEND) (CONS XDOC::EXTENSION (CONS XDOC::LONG (QUOTE NIL)))) (CONS (QUOTE DEFXDOC) (CONS XDOC::NAME (CONS (QUOTE :PARENTS) (CONS XDOC::PARENTS (CONS (QUOTE :SHORT) (CONS XDOC::SHORT (CONS (QUOTE :LONG) (CONS XDOC::LONG (QUOTE NIL)))))))))))) (WITH-OUTPUT :OFF (EVENT SUMMARY) (PROGN (TABLE XDOC (QUOTE DOC) (CONS (QUOTE ((:NAME . ADD-TO-RULESET) (:BASE-PKG . ACL2-PKG-WITNESS) (:PARENTS RULESETS) (:SHORT . "@(call add-to-ruleset) adds additional rules to an existing
ruleset.") (:LONG . "<p>Examples:</p>
@({
(add-to-ruleset my-rules
'(foop))
(add-to-ruleset other-rules
'(car-cons cdr-cons (force)))
})
") (:FROM . "[books]/tools/rulesets.lisp"))) (XDOC::GET-XDOC-TABLE WORLD))) (VALUE-TRIPLE (QUOTE (DEFXDOC ADD-TO-RULESET)))))) (VALUE-TRIPLE (QUOTE ADD-TO-RULESET))))) (19 RECORD-EXPANSION (DEFSECTION DEF-RULESET! :PARENTS (RULESETS) :SHORT "Same as @(see def-ruleset) except that it overwrites any already
existing ruleset instead of causing an error." (DEFMACRO DEF-RULESET! (NAME FORM) (DECLARE (XARGS :GUARD (SYMBOLP NAME))) (CONS (QUOTE MAKE-EVENT) (CONS (CONS (QUOTE LET*) (CONS (CONS (CONS (QUOTE WORLD) (CONS (CONS (QUOTE W) (CONS (QUOTE STATE) (QUOTE NIL))) (QUOTE NIL))) (CONS (CONS (QUOTE NAME) (CONS (CONS (QUOTE QUOTE) (CONS NAME (QUOTE NIL))) (QUOTE NIL))) (CONS (CONS (QUOTE RULES) (CONS (RULESET-FORM-PREPROCESS FORM) (QUOTE NIL))) (QUOTE NIL)))) (CONS (CONS (QUOTE IF) (CONS (CONS (QUOTE IS-RULESET) (CONS (QUOTE NAME) (CONS (QUOTE WORLD) (QUOTE NIL)))) (CONS (CONS (QUOTE ADD-TO-RULESET-CORE) (CONS (QUOTE NAME) (CONS (QUOTE RULES) (CONS (QUOTE WORLD) (CONS (QUOTE STATE) (QUOTE NIL)))))) (CONS (CONS (QUOTE DEF-RULESET-CORE) (CONS (QUOTE NAME) (CONS (QUOTE RULES) (CONS (QUOTE WORLD) (CONS (QUOTE STATE) (QUOTE NIL)))))) (QUOTE NIL))))) (QUOTE NIL)))) (QUOTE NIL))))) (WITH-OUTPUT :STACK :PUSH :OFF :ALL :ON ERROR (PROGN (TABLE INTRO-TABLE :MARK (QUOTE DEF-RULESET!)) (WITH-OUTPUT :STACK :POP (ENCAPSULATE NIL (VALUE-TRIPLE :INVISIBLE) (DEFMACRO DEF-RULESET! (NAME FORM) (DECLARE (XARGS :GUARD (SYMBOLP NAME))) (CONS (QUOTE MAKE-EVENT) (CONS (CONS (QUOTE LET*) (CONS (CONS (CONS (QUOTE WORLD) (CONS (CONS (QUOTE W) (CONS (QUOTE STATE) (QUOTE NIL))) (QUOTE NIL))) (CONS (CONS (QUOTE NAME) (CONS (CONS (QUOTE QUOTE) (CONS NAME (QUOTE NIL))) (QUOTE NIL))) (CONS (CONS (QUOTE RULES) (CONS (RULESET-FORM-PREPROCESS FORM) (QUOTE NIL))) (QUOTE NIL)))) (CONS (CONS (QUOTE IF) (CONS (CONS (QUOTE IS-RULESET) (CONS (QUOTE NAME) (CONS (QUOTE WORLD) (QUOTE NIL)))) (CONS (CONS (QUOTE ADD-TO-RULESET-CORE) (CONS (QUOTE NAME) (CONS (QUOTE RULES) (CONS (QUOTE WORLD) (CONS (QUOTE STATE) (QUOTE NIL)))))) (CONS (CONS (QUOTE DEF-RULESET-CORE) (CONS (QUOTE NAME) (CONS (QUOTE RULES) (CONS (QUOTE WORLD) (CONS (QUOTE STATE) (QUOTE NIL)))))) (QUOTE NIL))))) (QUOTE NIL)))) (QUOTE NIL)))))) (RECORD-EXPANSION (MAKE-EVENT (LET* ((XDOC::NAME (QUOTE DEF-RULESET!)) (XDOC::PARENTS (QUOTE (RULESETS))) (XDOC::SHORT (QUOTE "Same as @(see def-ruleset) except that it overwrites any already
existing ruleset instead of causing an error.")) (XDOC::EXTENSION (QUOTE NIL)) (XDOC::WRLD (W STATE)) (XDOC::TRIPS (REVERSED-WORLD-SINCE-EVENT XDOC::WRLD (QUOTE (TABLE INTRO-TABLE :MARK (QUOTE DEF-RULESET!))) NIL)) (XDOC::INFO (REVERSE (NEW-FORMULA-INFO XDOC::TRIPS XDOC::WRLD NIL))) (XDOC::AUTODOC (XDOC::FORMULA-INFO-TO-DEFS (NOT XDOC::EXTENSION) XDOC::INFO)) (XDOC::LONG (CONCATENATE (QUOTE STRING) (QUOTE "") (COERCE (LIST #\Newline #\Newline) (QUOTE STRING)) XDOC::AUTODOC))) (IF XDOC::EXTENSION (CONS (QUOTE XDOC-EXTEND) (CONS XDOC::EXTENSION (CONS XDOC::LONG (QUOTE NIL)))) (CONS (QUOTE DEFXDOC) (CONS XDOC::NAME (CONS (QUOTE :PARENTS) (CONS XDOC::PARENTS (CONS (QUOTE :SHORT) (CONS XDOC::SHORT (CONS (QUOTE :LONG) (CONS XDOC::LONG (QUOTE NIL)))))))))))) (WITH-OUTPUT :OFF (EVENT SUMMARY) (PROGN (TABLE XDOC (QUOTE DOC) (CONS (QUOTE ((:NAME . DEF-RULESET!) (:BASE-PKG . ACL2-PKG-WITNESS) (:PARENTS RULESETS) (:SHORT . "Same as @(see def-ruleset) except that it overwrites any already
existing ruleset instead of causing an error.") (:LONG . "
") (:FROM . "[books]/tools/rulesets.lisp"))) (XDOC::GET-XDOC-TABLE WORLD))) (VALUE-TRIPLE (QUOTE (DEFXDOC DEF-RULESET!)))))) (VALUE-TRIPLE (QUOTE DEF-RULESET!))))) (24 RECORD-EXPANSION (DEFSECTION ENABLE* :PARENTS (RULESETS) :SHORT "Ruleset-aware version of @(see enable)." :LONG "<p>Examples:</p>
@({
(in-theory (enable* my-rules append car-cons))
(defthm ...
:hints ((\"Goal\" :in-theory (enable* foo ...))))
})" (DEFMACRO ENABLE* (&REST X) (CONS (QUOTE UNION-THEORIES-FN) (CONS (CONS (QUOTE CURRENT-THEORY) (CONS (QUOTE :HERE) (QUOTE NIL))) (CONS (CONS (QUOTE EXPAND-RULESET) (CONS (CONS (QUOTE QUOTE) (CONS X (QUOTE NIL))) (CONS (QUOTE WORLD) (QUOTE NIL)))) (CONS (QUOTE T) (CONS (QUOTE WORLD) (QUOTE NIL)))))))) (WITH-OUTPUT :STACK :PUSH :OFF :ALL :ON ERROR (PROGN (TABLE INTRO-TABLE :MARK (QUOTE ENABLE*)) (WITH-OUTPUT :STACK :POP (ENCAPSULATE NIL (VALUE-TRIPLE :INVISIBLE) (DEFMACRO ENABLE* (&REST X) (CONS (QUOTE UNION-THEORIES-FN) (CONS (CONS (QUOTE CURRENT-THEORY) (CONS (QUOTE :HERE) (QUOTE NIL))) (CONS (CONS (QUOTE EXPAND-RULESET) (CONS (CONS (QUOTE QUOTE) (CONS X (QUOTE NIL))) (CONS (QUOTE WORLD) (QUOTE NIL)))) (CONS (QUOTE T) (CONS (QUOTE WORLD) (QUOTE NIL))))))))) (RECORD-EXPANSION (MAKE-EVENT (LET* ((XDOC::NAME (QUOTE ENABLE*)) (XDOC::PARENTS (QUOTE (RULESETS))) (XDOC::SHORT (QUOTE "Ruleset-aware version of @(see enable).")) (XDOC::EXTENSION (QUOTE NIL)) (XDOC::WRLD (W STATE)) (XDOC::TRIPS (REVERSED-WORLD-SINCE-EVENT XDOC::WRLD (QUOTE (TABLE INTRO-TABLE :MARK (QUOTE ENABLE*))) NIL)) (XDOC::INFO (REVERSE (NEW-FORMULA-INFO XDOC::TRIPS XDOC::WRLD NIL))) (XDOC::AUTODOC (XDOC::FORMULA-INFO-TO-DEFS (NOT XDOC::EXTENSION) XDOC::INFO)) (XDOC::LONG (CONCATENATE (QUOTE STRING) (QUOTE "<p>Examples:</p>
@({
(in-theory (enable* my-rules append car-cons))
(defthm ...
:hints ((\"Goal\" :in-theory (enable* foo ...))))
})") (COERCE (LIST #\Newline #\Newline) (QUOTE STRING)) XDOC::AUTODOC))) (IF XDOC::EXTENSION (CONS (QUOTE XDOC-EXTEND) (CONS XDOC::EXTENSION (CONS XDOC::LONG (QUOTE NIL)))) (CONS (QUOTE DEFXDOC) (CONS XDOC::NAME (CONS (QUOTE :PARENTS) (CONS XDOC::PARENTS (CONS (QUOTE :SHORT) (CONS XDOC::SHORT (CONS (QUOTE :LONG) (CONS XDOC::LONG (QUOTE NIL)))))))))))) (WITH-OUTPUT :OFF (EVENT SUMMARY) (PROGN (TABLE XDOC (QUOTE DOC) (CONS (QUOTE ((:NAME . ENABLE*) (:BASE-PKG . ACL2-PKG-WITNESS) (:PARENTS RULESETS) (:SHORT . "Ruleset-aware version of @(see enable).") (:LONG . "<p>Examples:</p>
@({
(in-theory (enable* my-rules append car-cons))
(defthm ...
:hints ((\"Goal\" :in-theory (enable* foo ...))))
})
") (:FROM . "[books]/tools/rulesets.lisp"))) (XDOC::GET-XDOC-TABLE WORLD))) (VALUE-TRIPLE (QUOTE (DEFXDOC ENABLE*)))))) (VALUE-TRIPLE (QUOTE ENABLE*))))) (25 RECORD-EXPANSION (DEFSECTION DISABLE* :PARENTS (RULESETS) :SHORT "Ruleset-aware version of @(see disable)." :LONG "<p>Examples:</p>
@({
(in-theory (disable* my-rules append car-cons))
(defthm ...
:hints ((\"Goal\" :in-theory (disable* foo ...))))
})" (DEFMACRO DISABLE* (&REST X) (CONS (QUOTE SET-DIFFERENCE-THEORIES-FN) (CONS (CONS (QUOTE CURRENT-THEORY) (CONS (QUOTE :HERE) (QUOTE NIL))) (CONS (CONS (QUOTE EXPAND-RULESET) (CONS (CONS (QUOTE QUOTE) (CONS X (QUOTE NIL))) (CONS (QUOTE WORLD) (QUOTE NIL)))) (CONS (QUOTE T) (CONS (QUOTE WORLD) (QUOTE NIL)))))))) (WITH-OUTPUT :STACK :PUSH :OFF :ALL :ON ERROR (PROGN (TABLE INTRO-TABLE :MARK (QUOTE DISABLE*)) (WITH-OUTPUT :STACK :POP (ENCAPSULATE NIL (VALUE-TRIPLE :INVISIBLE) (DEFMACRO DISABLE* (&REST X) (CONS (QUOTE SET-DIFFERENCE-THEORIES-FN) (CONS (CONS (QUOTE CURRENT-THEORY) (CONS (QUOTE :HERE) (QUOTE NIL))) (CONS (CONS (QUOTE EXPAND-RULESET) (CONS (CONS (QUOTE QUOTE) (CONS X (QUOTE NIL))) (CONS (QUOTE WORLD) (QUOTE NIL)))) (CONS (QUOTE T) (CONS (QUOTE WORLD) (QUOTE NIL))))))))) (RECORD-EXPANSION (MAKE-EVENT (LET* ((XDOC::NAME (QUOTE DISABLE*)) (XDOC::PARENTS (QUOTE (RULESETS))) (XDOC::SHORT (QUOTE "Ruleset-aware version of @(see disable).")) (XDOC::EXTENSION (QUOTE NIL)) (XDOC::WRLD (W STATE)) (XDOC::TRIPS (REVERSED-WORLD-SINCE-EVENT XDOC::WRLD (QUOTE (TABLE INTRO-TABLE :MARK (QUOTE DISABLE*))) NIL)) (XDOC::INFO (REVERSE (NEW-FORMULA-INFO XDOC::TRIPS XDOC::WRLD NIL))) (XDOC::AUTODOC (XDOC::FORMULA-INFO-TO-DEFS (NOT XDOC::EXTENSION) XDOC::INFO)) (XDOC::LONG (CONCATENATE (QUOTE STRING) (QUOTE "<p>Examples:</p>
@({
(in-theory (disable* my-rules append car-cons))
(defthm ...
:hints ((\"Goal\" :in-theory (disable* foo ...))))
})") (COERCE (LIST #\Newline #\Newline) (QUOTE STRING)) XDOC::AUTODOC))) (IF XDOC::EXTENSION (CONS (QUOTE XDOC-EXTEND) (CONS XDOC::EXTENSION (CONS XDOC::LONG (QUOTE NIL)))) (CONS (QUOTE DEFXDOC) (CONS XDOC::NAME (CONS (QUOTE :PARENTS) (CONS XDOC::PARENTS (CONS (QUOTE :SHORT) (CONS XDOC::SHORT (CONS (QUOTE :LONG) (CONS XDOC::LONG (QUOTE NIL)))))))))))) (WITH-OUTPUT :OFF (EVENT SUMMARY) (PROGN (TABLE XDOC (QUOTE DOC) (CONS (QUOTE ((:NAME . DISABLE*) (:BASE-PKG . ACL2-PKG-WITNESS) (:PARENTS RULESETS) (:SHORT . "Ruleset-aware version of @(see disable).") (:LONG . "<p>Examples:</p>
@({
(in-theory (disable* my-rules append car-cons))
(defthm ...
:hints ((\"Goal\" :in-theory (disable* foo ...))))
})
") (:FROM . "[books]/tools/rulesets.lisp"))) (XDOC::GET-XDOC-TABLE WORLD))) (VALUE-TRIPLE (QUOTE (DEFXDOC DISABLE*)))))) (VALUE-TRIPLE (QUOTE DISABLE*))))) (26 RECORD-EXPANSION (DEFSECTION E/D* :PARENTS (RULESETS) :SHORT "Ruleset-aware version of @(see e/d)." :LONG "<p>Examples:</p>
@({
(in-theory (e/d* (unusual-rules append)
(expensive-rules default-car default-cdr)))
(defthm ...
:hints ((\"Goal\"
:in-theory (e/d* (unusual-rules append)
(expensive-rules default-car
default-cdr)))))
})" (DEFUN E/D*-FN (THEORY E/D-LIST ENABLE-P) (DECLARE (XARGS :GUARD (AND (TRUE-LIST-LISTP E/D-LIST) (OR (EQ ENABLE-P T) (EQ ENABLE-P NIL))))) (COND ((ATOM E/D-LIST) THEORY) (ENABLE-P (E/D*-FN (CONS (QUOTE UNION-THEORIES) (CONS THEORY (CONS (CONS (QUOTE EXPAND-RULESET) (CONS (CONS (QUOTE QUOTE) (CONS (CAR E/D-LIST) (QUOTE NIL))) (CONS (QUOTE WORLD) (QUOTE NIL)))) (QUOTE NIL)))) (CDR E/D-LIST) NIL)) (T (E/D*-FN (CONS (QUOTE SET-DIFFERENCE-THEORIES) (CONS THEORY (CONS (CONS (QUOTE EXPAND-RULESET) (CONS (CONS (QUOTE QUOTE) (CONS (CAR E/D-LIST) (QUOTE NIL))) (CONS (QUOTE WORLD) (QUOTE NIL)))) (QUOTE NIL)))) (CDR E/D-LIST) T)))) (DEFMACRO E/D** (&REST THEORIES) (DECLARE (XARGS :GUARD (TRUE-LIST-LISTP THEORIES))) (COND ((ATOM THEORIES) NIL) (T (E/D*-FN NIL THEORIES T)))) (DEFMACRO E/D* (&REST THEORIES) (DECLARE (XARGS :GUARD (TRUE-LIST-LISTP THEORIES))) (COND ((ATOM THEORIES) (QUOTE (CURRENT-THEORY :HERE))) (T (E/D*-FN (QUOTE (CURRENT-THEORY :HERE)) THEORIES T))))) (WITH-OUTPUT :STACK :PUSH :OFF :ALL :ON ERROR (PROGN (TABLE INTRO-TABLE :MARK (QUOTE E/D*)) (WITH-OUTPUT :STACK :POP (ENCAPSULATE NIL (VALUE-TRIPLE :INVISIBLE) (DEFUN E/D*-FN (THEORY E/D-LIST ENABLE-P) (DECLARE (XARGS :GUARD (AND (TRUE-LIST-LISTP E/D-LIST) (OR (EQ ENABLE-P T) (EQ ENABLE-P NIL))))) (COND ((ATOM E/D-LIST) THEORY) (ENABLE-P (E/D*-FN (CONS (QUOTE UNION-THEORIES) (CONS THEORY (CONS (CONS (QUOTE EXPAND-RULESET) (CONS (CONS (QUOTE QUOTE) (CONS (CAR E/D-LIST) (QUOTE NIL))) (CONS (QUOTE WORLD) (QUOTE NIL)))) (QUOTE NIL)))) (CDR E/D-LIST) NIL)) (T (E/D*-FN (CONS (QUOTE SET-DIFFERENCE-THEORIES) (CONS THEORY (CONS (CONS (QUOTE EXPAND-RULESET) (CONS (CONS (QUOTE QUOTE) (CONS (CAR E/D-LIST) (QUOTE NIL))) (CONS (QUOTE WORLD) (QUOTE NIL)))) (QUOTE NIL)))) (CDR E/D-LIST) T)))) (DEFMACRO E/D** (&REST THEORIES) (DECLARE (XARGS :GUARD (TRUE-LIST-LISTP THEORIES))) (COND ((ATOM THEORIES) NIL) (T (E/D*-FN NIL THEORIES T)))) (DEFMACRO E/D* (&REST THEORIES) (DECLARE (XARGS :GUARD (TRUE-LIST-LISTP THEORIES))) (COND ((ATOM THEORIES) (QUOTE (CURRENT-THEORY :HERE))) (T (E/D*-FN (QUOTE (CURRENT-THEORY :HERE)) THEORIES T)))))) (RECORD-EXPANSION (MAKE-EVENT (LET* ((XDOC::NAME (QUOTE E/D*)) (XDOC::PARENTS (QUOTE (RULESETS))) (XDOC::SHORT (QUOTE "Ruleset-aware version of @(see e/d).")) (XDOC::EXTENSION (QUOTE NIL)) (XDOC::WRLD (W STATE)) (XDOC::TRIPS (REVERSED-WORLD-SINCE-EVENT XDOC::WRLD (QUOTE (TABLE INTRO-TABLE :MARK (QUOTE E/D*))) NIL)) (XDOC::INFO (REVERSE (NEW-FORMULA-INFO XDOC::TRIPS XDOC::WRLD NIL))) (XDOC::AUTODOC (XDOC::FORMULA-INFO-TO-DEFS (NOT XDOC::EXTENSION) XDOC::INFO)) (XDOC::LONG (CONCATENATE (QUOTE STRING) (QUOTE "<p>Examples:</p>
@({
(in-theory (e/d* (unusual-rules append)
(expensive-rules default-car default-cdr)))
(defthm ...
:hints ((\"Goal\"
:in-theory (e/d* (unusual-rules append)
(expensive-rules default-car
default-cdr)))))
})") (COERCE (LIST #\Newline #\Newline) (QUOTE STRING)) XDOC::AUTODOC))) (IF XDOC::EXTENSION (CONS (QUOTE XDOC-EXTEND) (CONS XDOC::EXTENSION (CONS XDOC::LONG (QUOTE NIL)))) (CONS (QUOTE DEFXDOC) (CONS XDOC::NAME (CONS (QUOTE :PARENTS) (CONS XDOC::PARENTS (CONS (QUOTE :SHORT) (CONS XDOC::SHORT (CONS (QUOTE :LONG) (CONS XDOC::LONG (QUOTE NIL)))))))))))) (WITH-OUTPUT :OFF (EVENT SUMMARY) (PROGN (TABLE XDOC (QUOTE DOC) (CONS (QUOTE ((:NAME . E/D*) (:BASE-PKG . ACL2-PKG-WITNESS) (:PARENTS RULESETS) (:SHORT . "Ruleset-aware version of @(see e/d).") (:LONG . "<p>Examples:</p>
@({
(in-theory (e/d* (unusual-rules append)
(expensive-rules default-car default-cdr)))
(defthm ...
:hints ((\"Goal\"
:in-theory (e/d* (unusual-rules append)
(expensive-rules default-car
default-cdr)))))
})
<h3>Definitions and Theorems</h3>@(def |ACL2|::|E/D*-FN|)") (:FROM . "[books]/tools/rulesets.lisp"))) (XDOC::GET-XDOC-TABLE WORLD))) (VALUE-TRIPLE (QUOTE (DEFXDOC E/D*)))))) (VALUE-TRIPLE (QUOTE E/D*))))))
NIL
(("/usr/share/acl2-6.3/books/tools/rulesets.lisp" "rulesets" "rulesets" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 639683473) ("/usr/share/acl2-6.3/books/xdoc/top.lisp" "xdoc/top" "top" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 1214825095) ("/usr/share/acl2-6.3/books/xdoc/book-thms.lisp" "book-thms" "book-thms" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 1105796063) ("/usr/share/acl2-6.3/books/xdoc/base.lisp" "base" "base" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 454271148) ("/usr/share/acl2-6.3/books/xdoc/portcullis.lisp" "portcullis" "portcullis" ((:SKIPPED-PROOFSP) (:AXIOMSP) (:TTAGS)) . 1473208573))
358963686
|