1
#|-*-Lisp-*-=================================================================|#
3
#| coi: Computational Object Inference |#
5
#|===========================================================================|#
1
; Computational Object Inference
2
; Copyright (C) 2005-2014 Kookamara LLC
7
; 11410 Windermere Meadows
8
; Austin, TX 78759, USA
9
; http://www.kookamara.com/
11
; License: (An MIT/X11-style license)
13
; Permission is hereby granted, free of charge, to any person obtaining a
14
; copy of this software and associated documentation files (the "Software"),
15
; to deal in the Software without restriction, including without limitation
16
; the rights to use, copy, modify, merge, publish, distribute, sublicense,
17
; and/or sell copies of the Software, and to permit persons to whom the
18
; Software is furnished to do so, subject to the following conditions:
20
; The above copyright notice and this permission notice shall be included in
21
; all copies or substantial portions of the Software.
23
; THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
24
; IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
25
; FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
26
; AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
27
; LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
28
; FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
29
; DEALINGS IN THE SOFTWARE.
7
32
; cert_param: (non-acl2r)
8
33
(include-book "../records/defrecord")
213
238
(if (consp (car spec))
214
239
(and (not (memberx (caar spec) (keys (cdr spec))))
215
(implies (sconsp (cdar spec))
240
(implies (sconsp (cdar spec))
216
241
(unique-spec (cdar spec)))
217
242
(unique-spec (cdr spec)))
218
243
(unique-spec (cdr spec)))
257
282
(let ((v1 (g (caar spec) r1))
258
283
(v2 (g (caar spec) r2))
259
284
(v3 (g (caar spec) r3)))
260
(let ((v (if (sconsp (cdar spec))
261
(c*-c*-induction (cdar spec) v1 v2 v3)
285
(let ((v (if (sconsp (cdar spec))
286
(c*-c*-induction (cdar spec) v1 v2 v3)
263
288
(let ((v1 (car v))
384
;; Note that proving the following should allow us to conclude
409
;; Note that proving the following should allow us to conclude
386
;; (= (z* spec (goo r)) (z* spec r))
411
;; (= (z* spec (goo r)) (z* spec r))
388
413
;; for any spec of which (type-b-spec) is a subset (subbag-p?). (yay)
956
981
;; (def list) and (use list) might be used extract these lists of
957
982
;; keys. Intersect and Difference compare two lists and create a u/d
958
;; list based on the results.
983
;; list based on the results.
960
985
;; We will often want identity mappings (u==d). In such case, we might
961
986
;; want the function (ud list), such that (use (ud list)) = list and (def
1133
1158
(equal (c* (dia seg) st1 nil)
1134
1159
(c* (dia seg) st2 nil))
1135
1160
(equal (c* (dia seg) (step (c* use st2 nil)) nil)
1136
(c* (dia seg) (step (c* use st2 nil)) nil))))
1161
(c* (dia seg) (step (c* use st2 nil)) nil))))
1138
1163
;; Boom .. done.
b'\\ No newline at end of file'