/usr/share/acl2-4.3/books/meta/term-lemmas.lisp is in acl2-books-source 4.3-3.
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 | ; ACL2 books on arithmetic metafunctions
; Copyright (C) 1997 Computational Logic, Inc.
; This book is free software; you can redistribute it and/or modify
; it under the terms of the GNU General Public License as published by
; the Free Software Foundation; either version 2 of the License, or
; (at your option) any later version.
; This book is distributed in the hope that it will be useful,
; but WITHOUT ANY WARRANTY; without even the implied warranty of
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
; GNU General Public License for more details.
; You should have received a copy of the GNU General Public License
; along with this book; if not, write to the Free Software
; Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
; Written by: John Cowles and Matt Kaufmann
; Computational Logic, Inc.
; 1717 West Sixth Street, Suite 290
; Austin, TX 78703-4776 U.S.A.
(in-package "ACL2")
(include-book "term-defuns")
(defthm delete-non-member
(implies (not (memb x y))
(equal (del x y) y)))
(defthm member-delete
(implies (memb x (del u v))
(memb x v)))
(defthm delete-commutativity
(equal (del x (del y z))
(del y (del x z))))
(defthm subbagp-delete
(implies (subbagp x (del u y))
(subbagp x y)))
(defthm subbagp-cdr1
(implies (and (subbagp x y)
(consp x))
(subbagp (cdr x) y)))
(defthm subbagp-cdr2
(implies (and (subbagp x (cdr y))
(consp y))
(subbagp x y)))
(defthm subbagp-bagint1
(subbagp (bagint x y) x))
(defthm subbagp-bagint2
(subbagp (bagint x y) y))
(defthm memb-append
(equal (memb a (append x y))
(or (memb a x)
(memb a y))))
(defthm binary-op_tree-opener
(and (implies (not (consp lst))
(equal (binary-op_tree binary-op-name constant-name fix-name lst)
(list 'quote constant-name)))
(equal (binary-op_tree binary-op-name constant-name fix-name (cons x lst))
(cond
((not (consp lst))
(list fix-name x))
((and (consp lst)
(not (consp (cdr lst))))
(list binary-op-name x (car lst)))
(t (list binary-op-name x
(binary-op_tree binary-op-name constant-name fix-name
lst)))))))
(defthm binary-op_tree-simple-opener
(and (implies (not (consp lst))
(equal (binary-op_tree-simple binary-op-name constant-name lst)
(list 'quote constant-name)))
(equal (binary-op_tree-simple binary-op-name constant-name (cons x lst))
(cond
((not (consp lst))
x)
(t (list binary-op-name x
(binary-op_tree-simple binary-op-name constant-name
lst)))))))
(defthm fringe-occur-same-as-occur-in-fringe
(equal (fringe-occur binop arg term)
(memb arg (binary-op_fringe binop term))))
|