https://launchpad.net/ubuntu/+source/hol88/2.02.19940316dfsg-5build3/+build/28004878 RUN: /usr/share/launchpad-buildd/bin/builder-prep Kernel version: Linux bos03-riscv64-100 6.5.0-26-generic #26.1~22.04.1-Ubuntu SMP Thu Mar 14 04:00:07 UTC 2024 riscv64 Buildd toolchain package versions: launchpad-buildd_236~650~ubuntu22.04.1 python3-lpbuildd_236~650~ubuntu22.04.1 sbuild_0.81.2ubuntu6 git-build-recipe_0.3.6 git_1:2.34.1-1ubuntu1.10 dpkg-dev_1.21.1ubuntu2.3 python3-debian_0.1.43ubuntu1.1. Syncing the system clock with the buildd NTP service... 4 Apr 13:40:01 ntpdate[2236]: adjust time server 10.211.37.1 offset -0.009804 sec RUN: /usr/share/launchpad-buildd/bin/in-target unpack-chroot --backend=chroot --series=noble --arch=riscv64 PACKAGEBUILD-28004878 --image-type chroot /home/buildd/filecache-default/20a3246b7a16d5658607d7f37229fcda30a33651 Creating target for build PACKAGEBUILD-28004878 RUN: /usr/share/launchpad-buildd/bin/in-target mount-chroot --backend=chroot --series=noble --arch=riscv64 PACKAGEBUILD-28004878 Starting target for build PACKAGEBUILD-28004878 RUN: /usr/share/launchpad-buildd/bin/in-target override-sources-list --backend=chroot --series=noble --arch=riscv64 PACKAGEBUILD-28004878 'deb http://ftpmaster.internal/ubuntu noble main universe' 'deb http://ftpmaster.internal/ubuntu noble-security main universe' 'deb http://ftpmaster.internal/ubuntu noble-updates main universe' 'deb http://ftpmaster.internal/ubuntu noble-proposed main universe' Overriding sources.list in build-PACKAGEBUILD-28004878 RUN: /usr/share/launchpad-buildd/bin/in-target update-debian-chroot --backend=chroot --series=noble --arch=riscv64 PACKAGEBUILD-28004878 Updating target for build PACKAGEBUILD-28004878 Get:1 http://ftpmaster.internal/ubuntu noble InRelease [255 kB] Get:2 http://ftpmaster.internal/ubuntu noble-security InRelease [90.7 kB] Get:3 http://ftpmaster.internal/ubuntu noble-updates InRelease [89.7 kB] Get:4 http://ftpmaster.internal/ubuntu noble-proposed InRelease [117 kB] Get:5 http://ftpmaster.internal/ubuntu noble/main riscv64 Packages [1355 kB] Get:6 http://ftpmaster.internal/ubuntu noble/main Translation-en [512 kB] Get:7 http://ftpmaster.internal/ubuntu noble/universe riscv64 Packages [15.0 MB] Get:8 http://ftpmaster.internal/ubuntu noble/universe Translation-en [6086 kB] Get:9 http://ftpmaster.internal/ubuntu noble-updates/main riscv64 Packages [667 kB] Get:10 http://ftpmaster.internal/ubuntu noble-updates/main Translation-en [242 kB] Get:11 http://ftpmaster.internal/ubuntu noble-updates/universe riscv64 Packages [4442 kB] Get:12 http://ftpmaster.internal/ubuntu noble-updates/universe Translation-en [1693 kB] Get:13 http://ftpmaster.internal/ubuntu noble-proposed/main riscv64 Packages [357 kB] Get:14 http://ftpmaster.internal/ubuntu noble-proposed/main Translation-en [123 kB] Get:15 http://ftpmaster.internal/ubuntu noble-proposed/universe riscv64 Packages [2419 kB] Get:16 http://ftpmaster.internal/ubuntu noble-proposed/universe Translation-en [1009 kB] Fetched 34.4 MB in 43s (810 kB/s) Reading package lists... Reading package lists... Building dependency tree... Reading state information... Calculating upgrade... The following packages were automatically installed and are no longer required: libnsl-dev libperl5.36 libtirpc-dev libunistring2 perl-modules-5.36 Use 'sudo apt autoremove' to remove them. The following packages will be REMOVED: libapt-pkg6.0* libdb5.3* libext2fs2* libgdbm-compat4* libgdbm6* libgnutls30* libhogweed6* libnettle8* libnpth0* libpng16-16* libreadline8* libssl3* libtirpc3* usrmerge* The following NEW packages will be installed: cpp-13-riscv64-linux-gnu cpp-riscv64-linux-gnu g++-13-riscv64-linux-gnu g++-riscv64-linux-gnu gcc-13-riscv64-linux-gnu gcc-14-base gcc-riscv64-linux-gnu libapt-pkg6.0t64 libdb5.3t64 libext2fs2t64 libgdbm-compat4t64 libgdbm6t64 libgnutls30t64 libhogweed6t64 libnettle8t64 libnpth0t64 libperl5.38t64 libpng16-16t64 libreadline8t64 libssl3t64 libtirpc3t64 libubsan1 libunistring5 perl-modules-5.38 The following packages will be upgraded: apt apt-utils base-files base-passwd bash bash-completion binutils binutils-common binutils-riscv64-linux-gnu bsdextrautils bsdutils bzip2 ca-certificates coreutils cpp cpp-13 dash debconf debconf-i18n debianutils diffutils dpkg dpkg-dev e2fsprogs fakeroot g++ g++-13 gcc gcc-13 gcc-13-base gpg gpg-agent gpgconf gpgv grep gzip hostname init init-system-helpers krb5-locales libacl1 libapparmor1 libargon2-1 libasan8 libatomic1 libattr1 libaudit-common libaudit1 libbinutils libblkid1 libbz2-1.0 libc-bin libc-dev-bin libc6 libc6-dev libcap-ng0 libcap2 libcc1-0 libcom-err2 libcrypt-dev libcrypt1 libcryptsetup12 libctf-nobfd0 libctf0 libdebconfclient0 libdevmapper1.02.1 libdpkg-perl libfakeroot libfdisk1 libffi8 libgcc-13-dev libgcc-s1 libgcrypt20 libgomp1 libgpg-error-l10n libgpg-error0 libgpm2 libgssapi-krb5-2 libidn2-0 libip4tc2 libjansson4 libk5crypto3 libkeyutils1 libkmod2 libkrb5-3 libkrb5support0 liblocale-gettext-perl liblzma5 libmd0 libmount1 libncursesw6 libnsl-dev libnsl2 libnss-nisplus libp11-kit0 libpam-modules libpam-modules-bin libpam-runtime libpam0g libpcre2-8-0 libproc2-0 libseccomp2 libselinux1 libsemanage-common libsemanage2 libsepol2 libsframe1 libsmartcols1 libsqlite3-0 libss2 libstdc++-13-dev libstdc++6 libsystemd-shared libsystemd0 libtext-charwidth-perl libtext-iconv-perl libtinfo6 libtirpc-common libtirpc-dev libudev1 libuuid1 libxxhash0 libzstd1 linux-libc-dev login logsave lto-disabled-list mawk mount ncurses-base ncurses-bin openssl optipng passwd perl perl-base pinentry-curses procps psmisc readline-common sed sensible-utils systemd systemd-dev systemd-sysv sysvinit-utils tar tzdata ubuntu-keyring util-linux uuid-runtime xz-utils zlib1g 153 upgraded, 24 newly installed, 14 to remove and 0 not upgraded. Need to get 113 MB of archives. After this operation, 70.1 MB of additional disk space will be used. Get:1 http://ftpmaster.internal/ubuntu noble/main riscv64 libnsl-dev riscv64 1.3.0-3build3 [137 kB] Get:2 http://ftpmaster.internal/ubuntu noble/main riscv64 libcrypt-dev riscv64 1:4.4.36-4 [322 kB] Get:3 http://ftpmaster.internal/ubuntu noble-proposed/main riscv64 libc6-dev riscv64 2.39-0ubuntu8 [3458 kB] Get:4 http://ftpmaster.internal/ubuntu noble-proposed/main riscv64 libc-dev-bin riscv64 2.39-0ubuntu8 [20.0 kB] Get:5 http://ftpmaster.internal/ubuntu noble/main riscv64 libtirpc-common all 1.3.4+ds-1.1build1 [8094 B] Get:6 http://ftpmaster.internal/ubuntu noble/main riscv64 libtirpc-dev riscv64 1.3.4+ds-1.1build1 [350 kB] Get:7 http://ftpmaster.internal/ubuntu noble/universe riscv64 libnss-nisplus riscv64 1.3-5build1 [23.8 kB] Get:8 http://ftpmaster.internal/ubuntu noble/main riscv64 libtirpc3t64 riscv64 1.3.4+ds-1.1build1 [92.3 kB] Get:9 http://ftpmaster.internal/ubuntu noble-proposed/main riscv64 libgssapi-krb5-2 riscv64 1.20.1-6ubuntu2 [153 kB] Get:10 http://ftpmaster.internal/ubuntu noble-proposed/main riscv64 libkrb5-3 riscv64 1.20.1-6ubuntu2 [385 kB] Get:11 http://ftpmaster.internal/ubuntu noble-proposed/main riscv64 libk5crypto3 riscv64 1.20.1-6ubuntu2 [108 kB] Get:12 http://ftpmaster.internal/ubuntu noble-proposed/main riscv64 libkrb5support0 riscv64 1.20.1-6ubuntu2 [36.7 kB] Get:13 http://ftpmaster.internal/ubuntu noble/main riscv64 libacl1 riscv64 2.3.2-1 [18.7 kB] Get:14 http://ftpmaster.internal/ubuntu noble/main riscv64 libapparmor1 riscv64 4.0.0-beta3-0ubuntu3 [51.2 kB] Get:15 http://ftpmaster.internal/ubuntu noble-proposed/main riscv64 libaudit-common all 1:3.1.2-2.1build1 [5736 B] Get:16 http://ftpmaster.internal/ubuntu noble/main riscv64 libcap-ng0 riscv64 0.8.4-2build2 [15.5 kB] Get:17 http://ftpmaster.internal/ubuntu noble-proposed/main riscv64 libaudit1 riscv64 1:3.1.2-2.1build1 [47.9 kB] Get:18 http://ftpmaster.internal/ubuntu noble-proposed/main riscv64 libblkid1 riscv64 2.39.3-9ubuntu4 [204 kB] Get:19 http://ftpmaster.internal/ubuntu noble/main riscv64 libcap2 riscv64 1:2.66-5ubuntu1 [31.7 kB] Get:20 http://ftpmaster.internal/ubuntu noble/main riscv64 libcrypt1 riscv64 1:4.4.36-4 [115 kB] Get:21 http://ftpmaster.internal/ubuntu noble/main riscv64 libgpg-error-l10n all 1.47-3build1 [8024 B] Get:22 http://ftpmaster.internal/ubuntu noble/main riscv64 libgpg-error0 riscv64 1.47-3build1 [75.7 kB] Get:23 http://ftpmaster.internal/ubuntu noble/main riscv64 libgcrypt20 riscv64 1.10.3-2 [564 kB] Get:24 http://ftpmaster.internal/ubuntu noble/main riscv64 liblzma5 riscv64 5.6.1+really5.4.5-1 [130 kB] Get:25 http://ftpmaster.internal/ubuntu noble/main riscv64 libzstd1 riscv64 1.5.5+dfsg2-2 [349 kB] Get:26 http://ftpmaster.internal/ubuntu noble/main riscv64 libkmod2 riscv64 31+20240202-2ubuntu5 [55.0 kB] Get:27 http://ftpmaster.internal/ubuntu noble/main riscv64 libpcre2-8-0 riscv64 10.42-4ubuntu1 [149 kB] Get:28 http://ftpmaster.internal/ubuntu noble/main riscv64 libselinux1 riscv64 3.5-2ubuntu2 [86.1 kB] Get:29 http://ftpmaster.internal/ubuntu noble-proposed/main riscv64 libmount1 riscv64 2.39.3-9ubuntu4 [212 kB] Get:30 http://ftpmaster.internal/ubuntu noble/main riscv64 libtext-iconv-perl riscv64 1.7-8build3 [13.5 kB] Get:31 http://ftpmaster.internal/ubuntu noble/main riscv64 libtext-charwidth-perl riscv64 0.04-11build3 [9272 B] Get:32 http://ftpmaster.internal/ubuntu noble/main riscv64 perl-modules-5.38 all 5.38.2-3.2build1 [3110 kB] Get:33 http://ftpmaster.internal/ubuntu noble/main riscv64 libdb5.3t64 riscv64 5.3.28+dfsg2-6build1 [779 kB] Get:34 http://ftpmaster.internal/ubuntu noble/main riscv64 libgdbm6t64 riscv64 1.23-5.1build1 [35.9 kB] Get:35 http://ftpmaster.internal/ubuntu noble/main riscv64 libgdbm-compat4t64 riscv64 1.23-5.1build1 [6884 B] Get:36 http://ftpmaster.internal/ubuntu noble/main riscv64 libperl5.38t64 riscv64 5.38.2-3.2build1 [4467 kB] Get:37 http://ftpmaster.internal/ubuntu noble/main riscv64 perl riscv64 5.38.2-3.2build1 [231 kB] Get:38 http://ftpmaster.internal/ubuntu noble/main riscv64 perl-base riscv64 5.38.2-3.2build1 [1833 kB] Get:39 http://ftpmaster.internal/ubuntu noble/main riscv64 liblocale-gettext-perl riscv64 1.07-6ubuntu5 [15.7 kB] Get:40 http://ftpmaster.internal/ubuntu noble/main riscv64 openssl riscv64 3.0.13-0ubuntu3 [992 kB] Get:41 http://ftpmaster.internal/ubuntu noble-proposed/main riscv64 libsystemd-shared riscv64 255.4-1ubuntu6 [2180 kB] Get:42 http://ftpmaster.internal/ubuntu noble/main riscv64 libcryptsetup12 riscv64 2:2.7.0-1ubuntu3 [274 kB] Get:43 http://ftpmaster.internal/ubuntu noble/main riscv64 libssl3t64 riscv64 3.0.13-0ubuntu3 [1735 kB] Get:44 http://ftpmaster.internal/ubuntu noble-proposed/main riscv64 systemd-dev all 255.4-1ubuntu6 [104 kB] Get:45 http://ftpmaster.internal/ubuntu noble-proposed/main riscv64 systemd-sysv riscv64 255.4-1ubuntu6 [11.9 kB] Get:46 http://ftpmaster.internal/ubuntu noble-proposed/main riscv64 systemd riscv64 255.4-1ubuntu6 [3552 kB] Get:47 http://ftpmaster.internal/ubuntu noble-proposed/main riscv64 libsystemd0 riscv64 255.4-1ubuntu6 [458 kB] Get:48 http://ftpmaster.internal/ubuntu noble/main riscv64 libpam-modules-bin riscv64 1.5.3-5ubuntu4 [55.1 kB] Get:49 http://ftpmaster.internal/ubuntu noble/main riscv64 libpam-modules riscv64 1.5.3-5ubuntu4 [284 kB] Get:50 http://ftpmaster.internal/ubuntu noble/main riscv64 libnettle8t64 riscv64 3.9.1-2.2build1 [217 kB] Get:51 http://ftpmaster.internal/ubuntu noble/main riscv64 libhogweed6t64 riscv64 3.9.1-2.2build1 [200 kB] Get:52 http://ftpmaster.internal/ubuntu noble/main riscv64 libp11-kit0 riscv64 0.25.3-4ubuntu1 [318 kB] Get:53 http://ftpmaster.internal/ubuntu noble/main riscv64 libunistring5 riscv64 1.1-2 [544 kB] Get:54 http://ftpmaster.internal/ubuntu noble/main riscv64 libgnutls30t64 riscv64 3.8.3-1.1ubuntu3 [1012 kB] Get:55 http://ftpmaster.internal/ubuntu noble-proposed/main riscv64 libapt-pkg6.0t64 riscv64 2.7.14build2 [1050 kB] Get:56 http://ftpmaster.internal/ubuntu noble-proposed/main riscv64 bzip2 riscv64 1.0.8-5.1 [35.0 kB] Get:57 http://ftpmaster.internal/ubuntu noble-proposed/main riscv64 libbz2-1.0 riscv64 1.0.8-5.1 [40.2 kB] Get:58 http://ftpmaster.internal/ubuntu noble/main riscv64 gcc-14-base riscv64 14-20240330-1ubuntu2 [47.5 kB] Get:59 http://ftpmaster.internal/ubuntu noble/main riscv64 libgcc-s1 riscv64 14-20240330-1ubuntu2 [60.7 kB] Get:60 http://ftpmaster.internal/ubuntu noble/main riscv64 libstdc++6 riscv64 14-20240330-1ubuntu2 [806 kB] Get:61 http://ftpmaster.internal/ubuntu noble-proposed/main riscv64 libudev1 riscv64 255.4-1ubuntu6 [181 kB] Get:62 http://ftpmaster.internal/ubuntu noble/main riscv64 libxxhash0 riscv64 0.8.2-2 [43.7 kB] Get:63 http://ftpmaster.internal/ubuntu noble/main riscv64 zlib1g riscv64 1:1.3.dfsg-3.1ubuntu2 [60.8 kB] Get:64 http://ftpmaster.internal/ubuntu noble/main riscv64 libffi8 riscv64 3.4.6-1 [23.0 kB] Get:65 http://ftpmaster.internal/ubuntu noble/main riscv64 libidn2-0 riscv64 2.3.7-2 [102 kB] Get:66 http://ftpmaster.internal/ubuntu noble-proposed/main riscv64 libdebconfclient0 riscv64 0.271ubuntu3 [11.2 kB] Get:67 http://ftpmaster.internal/ubuntu noble/main riscv64 base-passwd riscv64 3.6.3 [52.1 kB] Get:68 http://ftpmaster.internal/ubuntu noble/main riscv64 libsqlite3-0 riscv64 3.45.1-1ubuntu2 [739 kB] Get:69 http://ftpmaster.internal/ubuntu noble/main riscv64 gpg riscv64 2.4.4-2ubuntu16 [607 kB] Get:70 http://ftpmaster.internal/ubuntu noble/main riscv64 libreadline8t64 riscv64 8.2-4build1 [156 kB] Get:71 http://ftpmaster.internal/ubuntu noble/main riscv64 readline-common all 8.2-4build1 [56.5 kB] Get:72 http://ftpmaster.internal/ubuntu noble/main riscv64 libncursesw6 riscv64 6.4+20240113-1ubuntu1 [155 kB] Get:73 http://ftpmaster.internal/ubuntu noble/main riscv64 libtinfo6 riscv64 6.4+20240113-1ubuntu1 [108 kB] Get:74 http://ftpmaster.internal/ubuntu noble/main riscv64 gpg-agent riscv64 2.4.4-2ubuntu16 [282 kB] Get:75 http://ftpmaster.internal/ubuntu noble/main riscv64 gpgconf riscv64 2.4.4-2ubuntu16 [133 kB] Get:76 http://ftpmaster.internal/ubuntu noble-proposed/main riscv64 pinentry-curses riscv64 1.2.1-3ubuntu5 [40.6 kB] Get:77 http://ftpmaster.internal/ubuntu noble/main riscv64 init-system-helpers all 1.66ubuntu1 [39.4 kB] Get:78 http://ftpmaster.internal/ubuntu noble/main riscv64 libnpth0t64 riscv64 1.6-3.1build1 [8144 B] Get:79 http://ftpmaster.internal/ubuntu noble/main riscv64 gpgv riscv64 2.4.4-2ubuntu16 [276 kB] Get:80 http://ftpmaster.internal/ubuntu noble/main riscv64 ubuntu-keyring all 2023.11.28.1 [11.1 kB] Get:81 http://ftpmaster.internal/ubuntu noble-proposed/main riscv64 apt-utils riscv64 2.7.14build2 [226 kB] Get:82 http://ftpmaster.internal/ubuntu noble-proposed/main riscv64 apt riscv64 2.7.14build2 [1349 kB] Get:83 http://ftpmaster.internal/ubuntu noble/main riscv64 debconf-i18n all 1.5.86 [205 kB] Get:84 http://ftpmaster.internal/ubuntu noble/main riscv64 debconf all 1.5.86 [124 kB] Get:85 http://ftpmaster.internal/ubuntu noble/main riscv64 libpam0g riscv64 1.5.3-5ubuntu4 [69.0 kB] Get:86 http://ftpmaster.internal/ubuntu noble/main riscv64 libseccomp2 riscv64 2.5.5-1ubuntu3 [52.9 kB] Get:87 http://ftpmaster.internal/ubuntu noble/main riscv64 libargon2-1 riscv64 0~20190702+dfsg-4 [23.7 kB] Get:88 http://ftpmaster.internal/ubuntu noble/main riscv64 libdevmapper1.02.1 riscv64 2:1.02.185-3ubuntu3 [145 kB] Get:89 http://ftpmaster.internal/ubuntu noble-proposed/main riscv64 libuuid1 riscv64 2.39.3-9ubuntu4 [37.6 kB] Get:90 http://ftpmaster.internal/ubuntu noble-proposed/main riscv64 libfdisk1 riscv64 2.39.3-9ubuntu4 [238 kB] Get:91 http://ftpmaster.internal/ubuntu noble-proposed/main riscv64 mount riscv64 2.39.3-9ubuntu4 [152 kB] Get:92 http://ftpmaster.internal/ubuntu noble/main riscv64 libcom-err2 riscv64 1.47.0-2.4~exp1ubuntu3 [22.5 kB] Get:93 http://ftpmaster.internal/ubuntu noble/main riscv64 libkeyutils1 riscv64 1.6.3-3 [9694 B] Get:94 http://ftpmaster.internal/ubuntu noble/main riscv64 libnsl2 riscv64 1.3.0-3build3 [43.3 kB] Get:95 http://ftpmaster.internal/ubuntu noble/main riscv64 linux-libc-dev riscv64 6.8.0-20.20 [1567 kB] Get:96 http://ftpmaster.internal/ubuntu noble-proposed/main riscv64 libc6 riscv64 2.39-0ubuntu8 [2776 kB] Get:97 http://ftpmaster.internal/ubuntu noble-proposed/main riscv64 libc-bin riscv64 2.39-0ubuntu8 [609 kB] Get:98 http://ftpmaster.internal/ubuntu noble/main riscv64 base-files riscv64 13ubuntu9 [73.6 kB] Get:99 http://ftpmaster.internal/ubuntu noble/main riscv64 debianutils riscv64 5.17build1 [89.8 kB] Get:100 http://ftpmaster.internal/ubuntu noble-proposed/main riscv64 bash riscv64 5.2.21-2ubuntu4 [745 kB] Get:101 http://ftpmaster.internal/ubuntu noble-proposed/main riscv64 bsdutils riscv64 1:2.39.3-9ubuntu4 [115 kB] Get:102 http://ftpmaster.internal/ubuntu noble-proposed/main riscv64 coreutils riscv64 9.4-3ubuntu5 [1458 kB] Get:103 http://ftpmaster.internal/ubuntu noble/main riscv64 tar riscv64 1.35+dfsg-3 [269 kB] Get:104 http://ftpmaster.internal/ubuntu noble/main riscv64 dpkg riscv64 1.22.6ubuntu6 [1285 kB] Get:105 http://ftpmaster.internal/ubuntu noble/main riscv64 dash riscv64 0.5.12-6ubuntu5 [93.2 kB] Get:106 http://ftpmaster.internal/ubuntu noble/main riscv64 diffutils riscv64 1:3.10-1 [180 kB] Get:107 http://ftpmaster.internal/ubuntu noble/main riscv64 grep riscv64 3.11-4 [182 kB] Get:108 http://ftpmaster.internal/ubuntu noble/main riscv64 gzip riscv64 1.12-1ubuntu2 [102 kB] Get:109 http://ftpmaster.internal/ubuntu noble/main riscv64 hostname riscv64 3.23+nmu2ubuntu1 [11.3 kB] Get:110 http://ftpmaster.internal/ubuntu noble/main riscv64 login riscv64 1:4.13+dfsg1-4ubuntu1 [203 kB] Get:111 http://ftpmaster.internal/ubuntu noble/main riscv64 ncurses-bin riscv64 6.4+20240113-1ubuntu1 [186 kB] Get:112 http://ftpmaster.internal/ubuntu noble/main riscv64 sed riscv64 4.9-2 [211 kB] Get:113 http://ftpmaster.internal/ubuntu noble-proposed/main riscv64 util-linux riscv64 2.39.3-9ubuntu4 [1330 kB] Get:114 http://ftpmaster.internal/ubuntu noble/main riscv64 ncurses-base all 6.4+20240113-1ubuntu1 [25.4 kB] Get:115 http://ftpmaster.internal/ubuntu noble/main riscv64 sysvinit-utils riscv64 3.08-6ubuntu2 [35.0 kB] Get:116 http://ftpmaster.internal/ubuntu noble/main riscv64 logsave riscv64 1.47.0-2.4~exp1ubuntu3 [22.2 kB] Get:117 http://ftpmaster.internal/ubuntu noble/main riscv64 libext2fs2t64 riscv64 1.47.0-2.4~exp1ubuntu3 [243 kB] Get:118 http://ftpmaster.internal/ubuntu noble/main riscv64 e2fsprogs riscv64 1.47.0-2.4~exp1ubuntu3 [604 kB] Get:119 http://ftpmaster.internal/ubuntu noble-proposed/main riscv64 optipng riscv64 0.7.8+ds-1build2 [115 kB] Get:120 http://ftpmaster.internal/ubuntu noble-proposed/main riscv64 libpng16-16t64 riscv64 1.6.43-5build1 [193 kB] Get:121 http://ftpmaster.internal/ubuntu noble/main riscv64 init riscv64 1.66ubuntu1 [6190 B] Get:122 http://ftpmaster.internal/ubuntu noble-proposed/main riscv64 libsmartcols1 riscv64 2.39.3-9ubuntu4 [146 kB] Get:123 http://ftpmaster.internal/ubuntu noble-proposed/main riscv64 uuid-runtime riscv64 2.39.3-9ubuntu4 [49.2 kB] Get:124 http://ftpmaster.internal/ubuntu noble/main riscv64 libattr1 riscv64 1:2.5.2-1 [11.5 kB] Get:125 http://ftpmaster.internal/ubuntu noble/main riscv64 libmd0 riscv64 1.1.0-2 [30.6 kB] Get:126 http://ftpmaster.internal/ubuntu noble/main riscv64 libpam-runtime all 1.5.3-5ubuntu4 [40.8 kB] Get:127 http://ftpmaster.internal/ubuntu noble/main riscv64 libsemanage-common all 3.5-1build5 [10.1 kB] Get:128 http://ftpmaster.internal/ubuntu noble/main riscv64 libsepol2 riscv64 3.5-2 [312 kB] Get:129 http://ftpmaster.internal/ubuntu noble/main riscv64 libsemanage2 riscv64 3.5-1build5 [101 kB] Get:130 http://ftpmaster.internal/ubuntu noble/main riscv64 passwd riscv64 1:4.13+dfsg1-4ubuntu1 [864 kB] Get:131 http://ftpmaster.internal/ubuntu noble-proposed/main riscv64 libproc2-0 riscv64 2:4.0.4-4ubuntu3 [60.9 kB] Get:132 http://ftpmaster.internal/ubuntu noble/main riscv64 libss2 riscv64 1.47.0-2.4~exp1ubuntu3 [17.1 kB] Get:133 http://ftpmaster.internal/ubuntu noble/main riscv64 mawk riscv64 1.3.4.20240123-1 [129 kB] Get:134 http://ftpmaster.internal/ubuntu noble-proposed/main riscv64 procps riscv64 2:4.0.4-4ubuntu3 [715 kB] Get:135 http://ftpmaster.internal/ubuntu noble/main riscv64 sensible-utils all 0.0.22 [22.5 kB] Get:136 http://ftpmaster.internal/ubuntu noble/main riscv64 ca-certificates all 20240203 [159 kB] Get:137 http://ftpmaster.internal/ubuntu noble-proposed/main riscv64 krb5-locales all 1.20.1-6ubuntu2 [13.8 kB] Get:138 http://ftpmaster.internal/ubuntu noble/main riscv64 tzdata all 2024a-1ubuntu1 [273 kB] Get:139 http://ftpmaster.internal/ubuntu noble/main riscv64 bash-completion all 1:2.11-8 [180 kB] Get:140 http://ftpmaster.internal/ubuntu noble-proposed/main riscv64 bsdextrautils riscv64 2.39.3-9ubuntu4 [92.1 kB] Get:141 http://ftpmaster.internal/ubuntu noble-proposed/main riscv64 libgpm2 riscv64 1.20.7-11 [15.0 kB] Get:142 http://ftpmaster.internal/ubuntu noble/main riscv64 libip4tc2 riscv64 1.8.10-3ubuntu1 [23.9 kB] Get:143 http://ftpmaster.internal/ubuntu noble-proposed/main riscv64 libjansson4 riscv64 2.14-2build2 [34.7 kB] Get:144 http://ftpmaster.internal/ubuntu noble/main riscv64 psmisc riscv64 23.7-1build1 [177 kB] Get:145 http://ftpmaster.internal/ubuntu noble/main riscv64 xz-utils riscv64 5.6.1+really5.4.5-1 [269 kB] Get:146 http://ftpmaster.internal/ubuntu noble/main riscv64 libctf0 riscv64 2.42-4ubuntu2 [104 kB] Get:147 http://ftpmaster.internal/ubuntu noble/main riscv64 libctf-nobfd0 riscv64 2.42-4ubuntu2 [106 kB] Get:148 http://ftpmaster.internal/ubuntu noble/main riscv64 binutils-riscv64-linux-gnu riscv64 2.42-4ubuntu2 [899 kB] Get:149 http://ftpmaster.internal/ubuntu noble/main riscv64 libbinutils riscv64 2.42-4ubuntu2 [566 kB] Get:150 http://ftpmaster.internal/ubuntu noble/main riscv64 binutils riscv64 2.42-4ubuntu2 [2984 B] Get:151 http://ftpmaster.internal/ubuntu noble/main riscv64 binutils-common riscv64 2.42-4ubuntu2 [209 kB] Get:152 http://ftpmaster.internal/ubuntu noble/main riscv64 libsframe1 riscv64 2.42-4ubuntu2 [15.7 kB] Get:153 http://ftpmaster.internal/ubuntu noble/main riscv64 libgomp1 riscv64 14-20240330-1ubuntu2 [145 kB] Get:154 http://ftpmaster.internal/ubuntu noble/main riscv64 libatomic1 riscv64 14-20240330-1ubuntu2 [9490 B] Get:155 http://ftpmaster.internal/ubuntu noble/main riscv64 libasan8 riscv64 14-20240330-1ubuntu2 [2621 kB] Get:156 http://ftpmaster.internal/ubuntu noble/main riscv64 libubsan1 riscv64 14-20240330-1ubuntu2 [1076 kB] Get:157 http://ftpmaster.internal/ubuntu noble-proposed/main riscv64 g++-13 riscv64 13.2.0-23ubuntu3 [14.5 kB] Get:158 http://ftpmaster.internal/ubuntu noble-proposed/main riscv64 gcc-13 riscv64 13.2.0-23ubuntu3 [450 kB] Get:159 http://ftpmaster.internal/ubuntu noble-proposed/main riscv64 libstdc++-13-dev riscv64 13.2.0-23ubuntu3 [5666 kB] Get:160 http://ftpmaster.internal/ubuntu noble-proposed/main riscv64 libgcc-13-dev riscv64 13.2.0-23ubuntu3 [3858 kB] Get:161 http://ftpmaster.internal/ubuntu noble/main riscv64 libcc1-0 riscv64 14-20240330-1ubuntu2 [45.5 kB] Get:162 http://ftpmaster.internal/ubuntu noble-proposed/main riscv64 cpp-13 riscv64 13.2.0-23ubuntu3 [1030 B] Get:163 http://ftpmaster.internal/ubuntu noble-proposed/main riscv64 gcc-13-base riscv64 13.2.0-23ubuntu3 [48.7 kB] Get:164 http://ftpmaster.internal/ubuntu noble-proposed/main riscv64 gcc-13-riscv64-linux-gnu riscv64 13.2.0-23ubuntu3 [19.7 MB] Get:165 http://ftpmaster.internal/ubuntu noble-proposed/main riscv64 g++-13-riscv64-linux-gnu riscv64 13.2.0-23ubuntu3 [11.6 MB] Get:166 http://ftpmaster.internal/ubuntu noble-proposed/main riscv64 cpp-13-riscv64-linux-gnu riscv64 13.2.0-23ubuntu3 [10.3 MB] Get:167 http://ftpmaster.internal/ubuntu noble/main riscv64 g++ riscv64 4:13.2.0-7ubuntu1 [1082 B] Get:168 http://ftpmaster.internal/ubuntu noble/main riscv64 gcc riscv64 4:13.2.0-7ubuntu1 [5016 B] Get:169 http://ftpmaster.internal/ubuntu noble/main riscv64 cpp riscv64 4:13.2.0-7ubuntu1 [22.4 kB] Get:170 http://ftpmaster.internal/ubuntu noble/main riscv64 cpp-riscv64-linux-gnu riscv64 4:13.2.0-7ubuntu1 [5316 B] Get:171 http://ftpmaster.internal/ubuntu noble/main riscv64 gcc-riscv64-linux-gnu riscv64 4:13.2.0-7ubuntu1 [1202 B] Get:172 http://ftpmaster.internal/ubuntu noble/main riscv64 g++-riscv64-linux-gnu riscv64 4:13.2.0-7ubuntu1 [960 B] Get:173 http://ftpmaster.internal/ubuntu noble/main riscv64 dpkg-dev all 1.22.6ubuntu6 [1074 kB] Get:174 http://ftpmaster.internal/ubuntu noble/main riscv64 libdpkg-perl all 1.22.6ubuntu6 [268 kB] Get:175 http://ftpmaster.internal/ubuntu noble/main riscv64 lto-disabled-list all 47 [12.4 kB] Get:176 http://ftpmaster.internal/ubuntu noble/main riscv64 libfakeroot riscv64 1.33-1 [34.6 kB] Get:177 http://ftpmaster.internal/ubuntu noble/main riscv64 fakeroot riscv64 1.33-1 [78.4 kB] Preconfiguring packages ... Fetched 113 MB in 17s (6509 kB/s) (Reading database ... 13552 files and directories currently installed.) Preparing to unpack .../0-libnsl-dev_1.3.0-3build3_riscv64.deb ... Unpacking libnsl-dev:riscv64 (1.3.0-3build3) over (1.3.0-2build2) ... Preparing to unpack .../1-libcrypt-dev_1%3a4.4.36-4_riscv64.deb ... Unpacking libcrypt-dev:riscv64 (1:4.4.36-4) over (1:4.4.36-2) ... Preparing to unpack .../2-libc6-dev_2.39-0ubuntu8_riscv64.deb ... Unpacking libc6-dev:riscv64 (2.39-0ubuntu8) over (2.38-1ubuntu6) ... Preparing to unpack .../3-libc-dev-bin_2.39-0ubuntu8_riscv64.deb ... Unpacking libc-dev-bin (2.39-0ubuntu8) over (2.38-1ubuntu6) ... Preparing to unpack .../4-libtirpc-common_1.3.4+ds-1.1build1_all.deb ... Unpacking libtirpc-common (1.3.4+ds-1.1build1) over (1.3.3+ds-1) ... Preparing to unpack .../5-libtirpc-dev_1.3.4+ds-1.1build1_riscv64.deb ... Unpacking libtirpc-dev:riscv64 (1.3.4+ds-1.1build1) over (1.3.3+ds-1) ... Preparing to unpack .../6-libnss-nisplus_1.3-5build1_riscv64.deb ... Unpacking libnss-nisplus:riscv64 (1.3-5build1) over (1.3-0ubuntu6) ... dpkg: libtirpc3:riscv64: dependency problems, but removing anyway as you requested: libnsl2:riscv64 depends on libtirpc3 (>= 1.0.2). (Reading database ... 13555 files and directories currently installed.) Removing libtirpc3:riscv64 (1.3.3+ds-1) ... Selecting previously unselected package libtirpc3t64:riscv64. (Reading database ... 13549 files and directories currently installed.) Preparing to unpack .../0-libtirpc3t64_1.3.4+ds-1.1build1_riscv64.deb ... Adding 'diversion of /lib/riscv64-linux-gnu/libtirpc.so.3 to /lib/riscv64-linux-gnu/libtirpc.so.3.usr-is-merged by libtirpc3t64' Adding 'diversion of /lib/riscv64-linux-gnu/libtirpc.so.3.0.0 to /lib/riscv64-linux-gnu/libtirpc.so.3.0.0.usr-is-merged by libtirpc3t64' Unpacking libtirpc3t64:riscv64 (1.3.4+ds-1.1build1) ... Preparing to unpack .../1-libgssapi-krb5-2_1.20.1-6ubuntu2_riscv64.deb ... Unpacking libgssapi-krb5-2:riscv64 (1.20.1-6ubuntu2) over (1.20.1-3ubuntu1) ... Preparing to unpack .../2-libkrb5-3_1.20.1-6ubuntu2_riscv64.deb ... Unpacking libkrb5-3:riscv64 (1.20.1-6ubuntu2) over (1.20.1-3ubuntu1) ... Preparing to unpack .../3-libk5crypto3_1.20.1-6ubuntu2_riscv64.deb ... Unpacking libk5crypto3:riscv64 (1.20.1-6ubuntu2) over (1.20.1-3ubuntu1) ... Preparing to unpack .../4-libkrb5support0_1.20.1-6ubuntu2_riscv64.deb ... Unpacking libkrb5support0:riscv64 (1.20.1-6ubuntu2) over (1.20.1-3ubuntu1) ... Preparing to unpack .../5-libacl1_2.3.2-1_riscv64.deb ... Unpacking libacl1:riscv64 (2.3.2-1) over (2.3.1-3) ... Setting up libacl1:riscv64 (2.3.2-1) ... (Reading database ... 13560 files and directories currently installed.) Preparing to unpack .../libapparmor1_4.0.0-beta3-0ubuntu3_riscv64.deb ... Unpacking libapparmor1:riscv64 (4.0.0-beta3-0ubuntu3) over (4.0.0~alpha2-0ubuntu5) ... Preparing to unpack .../libaudit-common_1%3a3.1.2-2.1build1_all.deb ... Unpacking libaudit-common (1:3.1.2-2.1build1) over (1:3.1.1-1) ... Setting up libaudit-common (1:3.1.2-2.1build1) ... (Reading database ... 13560 files and directories currently installed.) Preparing to unpack .../libcap-ng0_0.8.4-2build2_riscv64.deb ... Unpacking libcap-ng0:riscv64 (0.8.4-2build2) over (0.8.3-1build2) ... Setting up libcap-ng0:riscv64 (0.8.4-2build2) ... (Reading database ... 13560 files and directories currently installed.) Preparing to unpack .../libaudit1_1%3a3.1.2-2.1build1_riscv64.deb ... Unpacking libaudit1:riscv64 (1:3.1.2-2.1build1) over (1:3.1.1-1) ... Setting up libaudit1:riscv64 (1:3.1.2-2.1build1) ... (Reading database ... 13560 files and directories currently installed.) Preparing to unpack .../libblkid1_2.39.3-9ubuntu4_riscv64.deb ... Unpacking libblkid1:riscv64 (2.39.3-9ubuntu4) over (2.39.1-4ubuntu2) ... Setting up libblkid1:riscv64 (2.39.3-9ubuntu4) ... (Reading database ... 13560 files and directories currently installed.) Preparing to unpack .../libcap2_1%3a2.66-5ubuntu1_riscv64.deb ... Unpacking libcap2:riscv64 (1:2.66-5ubuntu1) over (1:2.66-4ubuntu1) ... Setting up libcap2:riscv64 (1:2.66-5ubuntu1) ... (Reading database ... 13560 files and directories currently installed.) Preparing to unpack .../libcrypt1_1%3a4.4.36-4_riscv64.deb ... Unpacking libcrypt1:riscv64 (1:4.4.36-4) over (1:4.4.36-2) ... Setting up libcrypt1:riscv64 (1:4.4.36-4) ... (Reading database ... 13560 files and directories currently installed.) Preparing to unpack .../libgpg-error-l10n_1.47-3build1_all.deb ... Unpacking libgpg-error-l10n (1.47-3build1) over (1.47-2) ... Preparing to unpack .../libgpg-error0_1.47-3build1_riscv64.deb ... Unpacking libgpg-error0:riscv64 (1.47-3build1) over (1.47-2) ... Setting up libgpg-error0:riscv64 (1.47-3build1) ... (Reading database ... 13560 files and directories currently installed.) Preparing to unpack .../libgcrypt20_1.10.3-2_riscv64.deb ... Unpacking libgcrypt20:riscv64 (1.10.3-2) over (1.10.2-3ubuntu1) ... Setting up libgcrypt20:riscv64 (1.10.3-2) ... (Reading database ... 13560 files and directories currently installed.) Preparing to unpack .../liblzma5_5.6.1+really5.4.5-1_riscv64.deb ... Unpacking liblzma5:riscv64 (5.6.1+really5.4.5-1) over (5.4.1-0.2) ... Setting up liblzma5:riscv64 (5.6.1+really5.4.5-1) ... (Reading database ... 13560 files and directories currently installed.) Preparing to unpack .../libzstd1_1.5.5+dfsg2-2_riscv64.deb ... Unpacking libzstd1:riscv64 (1.5.5+dfsg2-2) over (1.5.5+dfsg2-1ubuntu2) ... Setting up libzstd1:riscv64 (1.5.5+dfsg2-2) ... (Reading database ... 13560 files and directories currently installed.) Preparing to unpack .../libkmod2_31+20240202-2ubuntu5_riscv64.deb ... Unpacking libkmod2:riscv64 (31+20240202-2ubuntu5) over (30+20230519-1ubuntu3) ... Preparing to unpack .../libpcre2-8-0_10.42-4ubuntu1_riscv64.deb ... Unpacking libpcre2-8-0:riscv64 (10.42-4ubuntu1) over (10.42-4) ... Setting up libpcre2-8-0:riscv64 (10.42-4ubuntu1) ... (Reading database ... 13560 files and directories currently installed.) Preparing to unpack .../libselinux1_3.5-2ubuntu2_riscv64.deb ... Unpacking libselinux1:riscv64 (3.5-2ubuntu2) over (3.5-1) ... Setting up libselinux1:riscv64 (3.5-2ubuntu2) ... (Reading database ... 13561 files and directories currently installed.) Preparing to unpack .../libmount1_2.39.3-9ubuntu4_riscv64.deb ... Unpacking libmount1:riscv64 (2.39.3-9ubuntu4) over (2.39.1-4ubuntu2) ... Setting up libmount1:riscv64 (2.39.3-9ubuntu4) ... (Reading database ... 13561 files and directories currently installed.) Preparing to unpack .../libtext-iconv-perl_1.7-8build3_riscv64.deb ... Unpacking libtext-iconv-perl:riscv64 (1.7-8build3) over (1.7-8) ... Preparing to unpack .../libtext-charwidth-perl_0.04-11build3_riscv64.deb ... Unpacking libtext-charwidth-perl:riscv64 (0.04-11build3) over (0.04-11) ... Preparing to unpack .../perl_5.38.2-3.2build1_riscv64.deb ... Unpacking perl (5.38.2-3.2build1) over (5.36.0-9ubuntu1) ... Selecting previously unselected package perl-modules-5.38. Preparing to unpack .../perl-modules-5.38_5.38.2-3.2build1_all.deb ... Unpacking perl-modules-5.38 (5.38.2-3.2build1) ... dpkg: libdb5.3:riscv64: dependency problems, but removing anyway as you requested: libperl5.36:riscv64 depends on libdb5.3. libpam-modules:riscv64 depends on libdb5.3. apt-utils depends on libdb5.3. (Reading database ... 14975 files and directories currently installed.) Removing libdb5.3:riscv64 (5.3.28+dfsg2-2) ... Selecting previously unselected package libdb5.3t64:riscv64. (Reading database ... 14969 files and directories currently installed.) Preparing to unpack .../libdb5.3t64_5.3.28+dfsg2-6build1_riscv64.deb ... Unpacking libdb5.3t64:riscv64 (5.3.28+dfsg2-6build1) ... dpkg: libgdbm6:riscv64: dependency problems, but removing anyway as you requested: libperl5.36:riscv64 depends on libgdbm6 (>= 1.21). libgdbm-compat4:riscv64 depends on libgdbm6 (>= 1.16). (Reading database ... 14975 files and directories currently installed.) Removing libgdbm6:riscv64 (1.23-3) ... Selecting previously unselected package libgdbm6t64:riscv64. (Reading database ... 14970 files and directories currently installed.) Preparing to unpack .../libgdbm6t64_1.23-5.1build1_riscv64.deb ... Unpacking libgdbm6t64:riscv64 (1.23-5.1build1) ... dpkg: libgdbm-compat4:riscv64: dependency problems, but removing anyway as you requested: libperl5.36:riscv64 depends on libgdbm-compat4 (>= 1.18-3). (Reading database ... 14976 files and directories currently installed.) Removing libgdbm-compat4:riscv64 (1.23-3) ... Selecting previously unselected package libgdbm-compat4t64:riscv64. (Reading database ... 14971 files and directories currently installed.) Preparing to unpack .../libgdbm-compat4t64_1.23-5.1build1_riscv64.deb ... Unpacking libgdbm-compat4t64:riscv64 (1.23-5.1build1) ... Selecting previously unselected package libperl5.38t64:riscv64. Preparing to unpack .../libperl5.38t64_5.38.2-3.2build1_riscv64.deb ... Unpacking libperl5.38t64:riscv64 (5.38.2-3.2build1) ... Preparing to unpack .../perl-base_5.38.2-3.2build1_riscv64.deb ... Unpacking perl-base (5.38.2-3.2build1) over (5.36.0-9ubuntu1) ... Setting up perl-base (5.38.2-3.2build1) ... (Reading database ... 15497 files and directories currently installed.) Preparing to unpack .../liblocale-gettext-perl_1.07-6ubuntu5_riscv64.deb ... Unpacking liblocale-gettext-perl (1.07-6ubuntu5) over (1.07-6) ... Preparing to unpack .../openssl_3.0.13-0ubuntu3_riscv64.deb ... Unpacking openssl (3.0.13-0ubuntu3) over (3.0.10-1ubuntu2) ... Preparing to unpack .../libsystemd-shared_255.4-1ubuntu6_riscv64.deb ... Unpacking libsystemd-shared:riscv64 (255.4-1ubuntu6) over (253.5-1ubuntu6) ... Preparing to unpack .../libcryptsetup12_2%3a2.7.0-1ubuntu3_riscv64.deb ... Unpacking libcryptsetup12:riscv64 (2:2.7.0-1ubuntu3) over (2:2.6.1-4ubuntu3) ... dpkg: libssl3:riscv64: dependency problems, but removing anyway as you requested: systemd depends on libssl3 (>= 3.0.0). (Reading database ... 15494 files and directories currently installed.) Removing libssl3:riscv64 (3.0.10-1ubuntu2) ... Selecting previously unselected package libssl3t64:riscv64. (Reading database ... 15483 files and directories currently installed.) Preparing to unpack .../libssl3t64_3.0.13-0ubuntu3_riscv64.deb ... Unpacking libssl3t64:riscv64 (3.0.13-0ubuntu3) ... Setting up libssl3t64:riscv64 (3.0.13-0ubuntu3) ... (Reading database ... 15496 files and directories currently installed.) Preparing to unpack .../systemd-dev_255.4-1ubuntu6_all.deb ... Unpacking systemd-dev (255.4-1ubuntu6) over (253.5-1ubuntu6) ... Preparing to unpack .../systemd-sysv_255.4-1ubuntu6_riscv64.deb ... Unpacking systemd-sysv (255.4-1ubuntu6) over (253.5-1ubuntu6) ... Preparing to unpack .../systemd_255.4-1ubuntu6_riscv64.deb ... Unpacking systemd (255.4-1ubuntu6) over (253.5-1ubuntu6) ... dpkg: warning: unable to delete old directory '/lib/systemd/system-preset': Directory not empty dpkg: warning: unable to delete old directory '/lib/systemd/system-generators': Directory not empty dpkg: warning: unable to delete old directory '/lib/systemd/system/user@0.service.d': Directory not empty dpkg: warning: unable to delete old directory '/lib/systemd/system/user@.service.d': Directory not empty dpkg: warning: unable to delete old directory '/lib/systemd/system/user-.slice.d': Directory not empty dpkg: warning: unable to delete old directory '/lib/systemd/system/timers.target.wants': Directory not empty dpkg: warning: unable to delete old directory '/lib/systemd/system/systemd-localed.service.d': Directory not empty dpkg: warning: unable to delete old directory '/lib/systemd/system/sysinit.target.wants': Directory not empty dpkg: warning: unable to delete old directory '/lib/systemd/system/sockets.target.wants': Directory not empty dpkg: warning: unable to delete old directory '/lib/systemd/system/rescue.target.wants': Directory not empty dpkg: warning: unable to delete old directory '/lib/systemd/system/rc-local.service.d': Directory not empty dpkg: warning: unable to delete old directory '/lib/systemd/system/multi-user.target.wants': Directory not empty dpkg: warning: unable to delete old directory '/lib/systemd/system/initrd.target.wants': Directory not empty dpkg: warning: unable to delete old directory '/lib/systemd/system/initrd-root-fs.target.wants': Directory not empty dpkg: warning: unable to delete old directory '/lib/systemd/system/initrd-root-device.target.wants': Directory not empty dpkg: warning: unable to delete old directory '/lib/systemd/system/graphical.target.wants': Directory not empty dpkg: warning: unable to delete old directory '/lib/systemd/system/getty.target.wants': Directory not empty dpkg: warning: unable to delete old directory '/lib/systemd/network': Directory not empty dpkg: warning: unable to delete old directory '/lib/systemd/journald.conf.d': Directory not empty dpkg: warning: unable to delete old directory '/lib/modprobe.d': Directory not empty Preparing to unpack .../libsystemd0_255.4-1ubuntu6_riscv64.deb ... Unpacking libsystemd0:riscv64 (255.4-1ubuntu6) over (253.5-1ubuntu6) ... Setting up libsystemd0:riscv64 (255.4-1ubuntu6) ... (Reading database ... 15658 files and directories currently installed.) Preparing to unpack .../libpam-modules-bin_1.5.3-5ubuntu4_riscv64.deb ... Unpacking libpam-modules-bin (1.5.3-5ubuntu4) over (1.5.2-6ubuntu1) ... Setting up libpam-modules-bin (1.5.3-5ubuntu4) ... (Reading database ... 15657 files and directories currently installed.) Preparing to unpack .../libpam-modules_1.5.3-5ubuntu4_riscv64.deb ... Unpacking libpam-modules:riscv64 (1.5.3-5ubuntu4) over (1.5.2-6ubuntu1) ... dpkg: warning: unable to delete old directory '/lib/riscv64-linux-gnu/security': Directory not empty Setting up libpam-modules:riscv64 (1.5.3-5ubuntu4) ... Installing new version of config file /etc/security/namespace.init ... dpkg: libhogweed6:riscv64: dependency problems, but removing anyway as you requested: libgnutls30:riscv64 depends on libhogweed6 (>= 3.6). (Reading database ... 15654 files and directories currently installed.) Removing libhogweed6:riscv64 (3.9.1-2) ... dpkg: libnettle8:riscv64: dependency problems, but removing anyway as you requested: libgnutls30:riscv64 depends on libnettle8 (>= 3.7~). Removing libnettle8:riscv64 (3.9.1-2) ... Selecting previously unselected package libnettle8t64:riscv64. (Reading database ... 15642 files and directories currently installed.) Preparing to unpack .../libnettle8t64_3.9.1-2.2build1_riscv64.deb ... Unpacking libnettle8t64:riscv64 (3.9.1-2.2build1) ... Setting up libnettle8t64:riscv64 (3.9.1-2.2build1) ... Selecting previously unselected package libhogweed6t64:riscv64. (Reading database ... 15650 files and directories currently installed.) Preparing to unpack .../libhogweed6t64_3.9.1-2.2build1_riscv64.deb ... Unpacking libhogweed6t64:riscv64 (3.9.1-2.2build1) ... Setting up libhogweed6t64:riscv64 (3.9.1-2.2build1) ... (Reading database ... 15656 files and directories currently installed.) Preparing to unpack .../libp11-kit0_0.25.3-4ubuntu1_riscv64.deb ... Unpacking libp11-kit0:riscv64 (0.25.3-4ubuntu1) over (0.25.0-4ubuntu1) ... Setting up libp11-kit0:riscv64 (0.25.3-4ubuntu1) ... Selecting previously unselected package libunistring5:riscv64. (Reading database ... 15656 files and directories currently installed.) Preparing to unpack .../libunistring5_1.1-2_riscv64.deb ... Unpacking libunistring5:riscv64 (1.1-2) ... Setting up libunistring5:riscv64 (1.1-2) ... dpkg: libgnutls30:riscv64: dependency problems, but removing anyway as you requested: apt depends on libgnutls30 (>= 3.7.5). (Reading database ... 15661 files and directories currently installed.) Removing libgnutls30:riscv64 (3.8.1-4ubuntu1) ... Selecting previously unselected package libgnutls30t64:riscv64. (Reading database ... 15651 files and directories currently installed.) Preparing to unpack .../libgnutls30t64_3.8.3-1.1ubuntu3_riscv64.deb ... Unpacking libgnutls30t64:riscv64 (3.8.3-1.1ubuntu3) ... Setting up libgnutls30t64:riscv64 (3.8.3-1.1ubuntu3) ... dpkg: libapt-pkg6.0:riscv64: dependency problems, but removing anyway as you requested: apt-utils depends on libapt-pkg6.0 (>= 2.7.3). apt depends on libapt-pkg6.0 (>= 2.7.3). (Reading database ... 15663 files and directories currently installed.) Removing libapt-pkg6.0:riscv64 (2.7.3) ... Selecting previously unselected package libapt-pkg6.0t64:riscv64. (Reading database ... 15614 files and directories currently installed.) Preparing to unpack .../libapt-pkg6.0t64_2.7.14build2_riscv64.deb ... Unpacking libapt-pkg6.0t64:riscv64 (2.7.14build2) ... Setting up libapt-pkg6.0t64:riscv64 (2.7.14build2) ... (Reading database ... 15664 files and directories currently installed.) Preparing to unpack .../bzip2_1.0.8-5.1_riscv64.deb ... Unpacking bzip2 (1.0.8-5.1) over (1.0.8-5build1) ... dpkg: warning: old file '/bin/bzip2' is the same as several new files! (both '/usr/bin/bunzip2' and '/usr/bin/bzcat') dpkg: warning: old file '/bin/bzip2' is the same as several new files! (both '/usr/bin/bzcat' and '/usr/bin/bzip2') dpkg: warning: old file '/bin/bzcat' is the same as several new files! (both '/usr/bin/bunzip2' and '/usr/bin/bzcat') dpkg: warning: old file '/bin/bzcat' is the same as several new files! (both '/usr/bin/bzcat' and '/usr/bin/bzip2') dpkg: warning: old file '/bin/bunzip2' is the same as several new files! (both '/usr/bin/bunzip2' and '/usr/bin/bzcat') dpkg: warning: old file '/bin/bunzip2' is the same as several new files! (both '/usr/bin/bzcat' and '/usr/bin/bzip2') Preparing to unpack .../libbz2-1.0_1.0.8-5.1_riscv64.deb ... Unpacking libbz2-1.0:riscv64 (1.0.8-5.1) over (1.0.8-5build1) ... Setting up libbz2-1.0:riscv64 (1.0.8-5.1) ... Selecting previously unselected package gcc-14-base:riscv64. (Reading database ... 15664 files and directories currently installed.) Preparing to unpack .../gcc-14-base_14-20240330-1ubuntu2_riscv64.deb ... Unpacking gcc-14-base:riscv64 (14-20240330-1ubuntu2) ... Setting up gcc-14-base:riscv64 (14-20240330-1ubuntu2) ... (Reading database ... 15669 files and directories currently installed.) Preparing to unpack .../libgcc-s1_14-20240330-1ubuntu2_riscv64.deb ... Unpacking libgcc-s1:riscv64 (14-20240330-1ubuntu2) over (13.2.0-4ubuntu3) ... Setting up libgcc-s1:riscv64 (14-20240330-1ubuntu2) ... (Reading database ... 15669 files and directories currently installed.) Preparing to unpack .../libstdc++6_14-20240330-1ubuntu2_riscv64.deb ... Unpacking libstdc++6:riscv64 (14-20240330-1ubuntu2) over (13.2.0-4ubuntu3) ... Setting up libstdc++6:riscv64 (14-20240330-1ubuntu2) ... (Reading database ... 15669 files and directories currently installed.) Preparing to unpack .../libudev1_255.4-1ubuntu6_riscv64.deb ... Unpacking libudev1:riscv64 (255.4-1ubuntu6) over (253.5-1ubuntu6) ... Setting up libudev1:riscv64 (255.4-1ubuntu6) ... (Reading database ... 15669 files and directories currently installed.) Preparing to unpack .../libxxhash0_0.8.2-2_riscv64.deb ... Unpacking libxxhash0:riscv64 (0.8.2-2) over (0.8.1-1) ... Setting up libxxhash0:riscv64 (0.8.2-2) ... (Reading database ... 15669 files and directories currently installed.) Preparing to unpack .../zlib1g_1%3a1.3.dfsg-3.1ubuntu2_riscv64.deb ... Unpacking zlib1g:riscv64 (1:1.3.dfsg-3.1ubuntu2) over (1:1.2.13.dfsg-1ubuntu5) ... Setting up zlib1g:riscv64 (1:1.3.dfsg-3.1ubuntu2) ... (Reading database ... 15669 files and directories currently installed.) Preparing to unpack .../libffi8_3.4.6-1_riscv64.deb ... Unpacking libffi8:riscv64 (3.4.6-1) over (3.4.4-1) ... Setting up libffi8:riscv64 (3.4.6-1) ... (Reading database ... 15669 files and directories currently installed.) Preparing to unpack .../libidn2-0_2.3.7-2_riscv64.deb ... Unpacking libidn2-0:riscv64 (2.3.7-2) over (2.3.4-1) ... Setting up libidn2-0:riscv64 (2.3.7-2) ... (Reading database ... 15669 files and directories currently installed.) Preparing to unpack .../libdebconfclient0_0.271ubuntu3_riscv64.deb ... Unpacking libdebconfclient0:riscv64 (0.271ubuntu3) over (0.270ubuntu1) ... Setting up libdebconfclient0:riscv64 (0.271ubuntu3) ... (Reading database ... 15669 files and directories currently installed.) Preparing to unpack .../base-passwd_3.6.3_riscv64.deb ... Unpacking base-passwd (3.6.3) over (3.6.1) ... Setting up base-passwd (3.6.3) ... (Reading database ... 15669 files and directories currently installed.) Preparing to unpack .../libsqlite3-0_3.45.1-1ubuntu2_riscv64.deb ... Unpacking libsqlite3-0:riscv64 (3.45.1-1ubuntu2) over (3.42.0-1) ... Preparing to unpack .../gpg_2.4.4-2ubuntu16_riscv64.deb ... Unpacking gpg (2.4.4-2ubuntu16) over (2.2.40-1.1ubuntu1) ... dpkg: libreadline8:riscv64: dependency problems, but removing anyway as you requested: gpgconf depends on libreadline8 (>= 6.0). (Reading database ... 15669 files and directories currently installed.) Removing libreadline8:riscv64 (8.2-1.3) ... Selecting previously unselected package libreadline8t64:riscv64. (Reading database ... 15657 files and directories currently installed.) Preparing to unpack .../libreadline8t64_8.2-4build1_riscv64.deb ... Adding 'diversion of /lib/riscv64-linux-gnu/libhistory.so.8 to /lib/riscv64-linux-gnu/libhistory.so.8.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/riscv64-linux-gnu/libhistory.so.8.2 to /lib/riscv64-linux-gnu/libhistory.so.8.2.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/riscv64-linux-gnu/libreadline.so.8 to /lib/riscv64-linux-gnu/libreadline.so.8.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/riscv64-linux-gnu/libreadline.so.8.2 to /lib/riscv64-linux-gnu/libreadline.so.8.2.usr-is-merged by libreadline8t64' Unpacking libreadline8t64:riscv64 (8.2-4build1) ... Preparing to unpack .../readline-common_8.2-4build1_all.deb ... Unpacking readline-common (8.2-4build1) over (8.2-1.3) ... Preparing to unpack .../libncursesw6_6.4+20240113-1ubuntu1_riscv64.deb ... Unpacking libncursesw6:riscv64 (6.4+20240113-1ubuntu1) over (6.4+20230625-2) ... Preparing to unpack .../libtinfo6_6.4+20240113-1ubuntu1_riscv64.deb ... Unpacking libtinfo6:riscv64 (6.4+20240113-1ubuntu1) over (6.4+20230625-2) ... Setting up libtinfo6:riscv64 (6.4+20240113-1ubuntu1) ... (Reading database ... 15677 files and directories currently installed.) Preparing to unpack .../gpg-agent_2.4.4-2ubuntu16_riscv64.deb ... Unpacking gpg-agent (2.4.4-2ubuntu16) over (2.2.40-1.1ubuntu1) ... Preparing to unpack .../gpgconf_2.4.4-2ubuntu16_riscv64.deb ... Unpacking gpgconf (2.4.4-2ubuntu16) over (2.2.40-1.1ubuntu1) ... Preparing to unpack .../pinentry-curses_1.2.1-3ubuntu5_riscv64.deb ... Unpacking pinentry-curses (1.2.1-3ubuntu5) over (1.2.1-1ubuntu1) ... Preparing to unpack .../init-system-helpers_1.66ubuntu1_all.deb ... Unpacking init-system-helpers (1.66ubuntu1) over (1.65.2ubuntu1) ... Setting up init-system-helpers (1.66ubuntu1) ... (Reading database ... 15676 files and directories currently installed.) Removing libnpth0:riscv64 (1.6-3build2) ... Selecting previously unselected package libnpth0t64:riscv64. (Reading database ... 15671 files and directories currently installed.) Preparing to unpack .../libnpth0t64_1.6-3.1build1_riscv64.deb ... Unpacking libnpth0t64:riscv64 (1.6-3.1build1) ... Setting up libnpth0t64:riscv64 (1.6-3.1build1) ... (Reading database ... 15677 files and directories currently installed.) Preparing to unpack .../gpgv_2.4.4-2ubuntu16_riscv64.deb ... Unpacking gpgv (2.4.4-2ubuntu16) over (2.2.40-1.1ubuntu1) ... Setting up gpgv (2.4.4-2ubuntu16) ... (Reading database ... 15677 files and directories currently installed.) Preparing to unpack .../ubuntu-keyring_2023.11.28.1_all.deb ... Unpacking ubuntu-keyring (2023.11.28.1) over (2021.03.26) ... Setting up ubuntu-keyring (2023.11.28.1) ... (Reading database ... 15677 files and directories currently installed.) Preparing to unpack .../apt-utils_2.7.14build2_riscv64.deb ... Unpacking apt-utils (2.7.14build2) over (2.7.3) ... Preparing to unpack .../apt_2.7.14build2_riscv64.deb ... Unpacking apt (2.7.14build2) over (2.7.3) ... Setting up apt (2.7.14build2) ... (Reading database ... 15677 files and directories currently installed.) Preparing to unpack .../debconf-i18n_1.5.86_all.deb ... Unpacking debconf-i18n (1.5.86) over (1.5.82) ... Preparing to unpack .../debconf_1.5.86_all.deb ... Unpacking debconf (1.5.86) over (1.5.82) ... Setting up debconf (1.5.86) ... Installing new version of config file /etc/debconf.conf ... (Reading database ... 15676 files and directories currently installed.) Preparing to unpack .../libpam0g_1.5.3-5ubuntu4_riscv64.deb ... Unpacking libpam0g:riscv64 (1.5.3-5ubuntu4) over (1.5.2-6ubuntu1) ... Setting up libpam0g:riscv64 (1.5.3-5ubuntu4) ... (Reading database ... 15675 files and directories currently installed.) Preparing to unpack .../libseccomp2_2.5.5-1ubuntu3_riscv64.deb ... Unpacking libseccomp2:riscv64 (2.5.5-1ubuntu3) over (2.5.4-1ubuntu3) ... Preparing to unpack .../libargon2-1_0~20190702+dfsg-4_riscv64.deb ... Unpacking libargon2-1:riscv64 (0~20190702+dfsg-4) over (0~20190702+dfsg-3) ... Preparing to unpack .../libdevmapper1.02.1_2%3a1.02.185-3ubuntu3_riscv64.deb ... Unpacking libdevmapper1.02.1:riscv64 (2:1.02.185-3ubuntu3) over (2:1.02.185-2ubuntu1) ... Preparing to unpack .../libuuid1_2.39.3-9ubuntu4_riscv64.deb ... Unpacking libuuid1:riscv64 (2.39.3-9ubuntu4) over (2.39.1-4ubuntu2) ... Setting up libuuid1:riscv64 (2.39.3-9ubuntu4) ... (Reading database ... 15675 files and directories currently installed.) Preparing to unpack .../0-libfdisk1_2.39.3-9ubuntu4_riscv64.deb ... Unpacking libfdisk1:riscv64 (2.39.3-9ubuntu4) over (2.39.1-4ubuntu2) ... Preparing to unpack .../1-mount_2.39.3-9ubuntu4_riscv64.deb ... Unpacking mount (2.39.3-9ubuntu4) over (2.39.1-4ubuntu2) ... Preparing to unpack .../2-libcom-err2_1.47.0-2.4~exp1ubuntu3_riscv64.deb ... Unpacking libcom-err2:riscv64 (1.47.0-2.4~exp1ubuntu3) over (1.47.0-2ubuntu1) ... Preparing to unpack .../3-libkeyutils1_1.6.3-3_riscv64.deb ... Unpacking libkeyutils1:riscv64 (1.6.3-3) over (1.6.3-2) ... Preparing to unpack .../4-libnsl2_1.3.0-3build3_riscv64.deb ... Unpacking libnsl2:riscv64 (1.3.0-3build3) over (1.3.0-2build2) ... Preparing to unpack .../5-linux-libc-dev_6.8.0-20.20_riscv64.deb ... Unpacking linux-libc-dev:riscv64 (6.8.0-20.20) over (6.5.0-9.9) ... Preparing to unpack .../6-libc6_2.39-0ubuntu8_riscv64.deb ... Unpacking libc6:riscv64 (2.39-0ubuntu8) over (2.38-1ubuntu6) ... Setting up libc6:riscv64 (2.39-0ubuntu8) ... (Reading database ... 15687 files and directories currently installed.) Preparing to unpack .../libc-bin_2.39-0ubuntu8_riscv64.deb ... Unpacking libc-bin (2.39-0ubuntu8) over (2.38-1ubuntu6) ... Setting up libc-bin (2.39-0ubuntu8) ... (Reading database ... 15687 files and directories currently installed.) Preparing to unpack .../base-files_13ubuntu9_riscv64.deb ... Unpacking base-files (13ubuntu9) over (13ubuntu3) ... Setting up base-files (13ubuntu9) ... Installing new version of config file /etc/issue ... Installing new version of config file /etc/issue.net ... Installing new version of config file /etc/lsb-release ... Installing new version of config file /etc/update-motd.d/10-help-text ... (Reading database ... 15696 files and directories currently installed.) Preparing to unpack .../debianutils_5.17build1_riscv64.deb ... Unpacking debianutils (5.17build1) over (5.8-1) ... Setting up debianutils (5.17build1) ... (Reading database ... 15695 files and directories currently installed.) Preparing to unpack .../bash_5.2.21-2ubuntu4_riscv64.deb ... Unpacking bash (5.2.21-2ubuntu4) over (5.2.15-2ubuntu1) ... Setting up bash (5.2.21-2ubuntu4) ... update-alternatives: using /usr/share/man/man7/bash-builtins.7.gz to provide /usr/share/man/man7/builtins.7.gz (builtins.7.gz) in auto mode (Reading database ... 15695 files and directories currently installed.) Preparing to unpack .../bsdutils_1%3a2.39.3-9ubuntu4_riscv64.deb ... Unpacking bsdutils (1:2.39.3-9ubuntu4) over (1:2.39.1-4ubuntu2) ... Setting up bsdutils (1:2.39.3-9ubuntu4) ... (Reading database ... 15695 files and directories currently installed.) Removing usrmerge (35ubuntu1) ... (Reading database ... 15669 files and directories currently installed.) Preparing to unpack .../coreutils_9.4-3ubuntu5_riscv64.deb ... Unpacking coreutils (9.4-3ubuntu5) over (9.1-1ubuntu2) ... Setting up coreutils (9.4-3ubuntu5) ... (Reading database ... 15674 files and directories currently installed.) Preparing to unpack .../tar_1.35+dfsg-3_riscv64.deb ... Unpacking tar (1.35+dfsg-3) over (1.34+dfsg-1.2ubuntu1) ... Setting up tar (1.35+dfsg-3) ... (Reading database ... 15674 files and directories currently installed.) Preparing to unpack .../dpkg_1.22.6ubuntu6_riscv64.deb ... Unpacking dpkg (1.22.6ubuntu6) over (1.22.0ubuntu1) ... Setting up dpkg (1.22.6ubuntu6) ... (Reading database ... 15672 files and directories currently installed.) Preparing to unpack .../dash_0.5.12-6ubuntu5_riscv64.deb ... Unpacking dash (0.5.12-6ubuntu5) over (0.5.12-6ubuntu1) ... Setting up dash (0.5.12-6ubuntu5) ... (Reading database ... 15671 files and directories currently installed.) Preparing to unpack .../diffutils_1%3a3.10-1_riscv64.deb ... Unpacking diffutils (1:3.10-1) over (1:3.8-4) ... Setting up diffutils (1:3.10-1) ... (Reading database ... 15671 files and directories currently installed.) Preparing to unpack .../grep_3.11-4_riscv64.deb ... Unpacking grep (3.11-4) over (3.11-2) ... Setting up grep (3.11-4) ... (Reading database ... 15671 files and directories currently installed.) Preparing to unpack .../gzip_1.12-1ubuntu2_riscv64.deb ... Unpacking gzip (1.12-1ubuntu2) over (1.12-1ubuntu1) ... dpkg: warning: old file '/bin/uncompress' is the same as several new files! (both '/usr/bin/gunzip' and '/usr/bin/uncompress') dpkg: warning: old file '/bin/gunzip' is the same as several new files! (both '/usr/bin/gunzip' and '/usr/bin/uncompress') Setting up gzip (1.12-1ubuntu2) ... (Reading database ... 15671 files and directories currently installed.) Preparing to unpack .../hostname_3.23+nmu2ubuntu1_riscv64.deb ... Unpacking hostname (3.23+nmu2ubuntu1) over (3.23+nmu1ubuntu1) ... Setting up hostname (3.23+nmu2ubuntu1) ... (Reading database ... 15671 files and directories currently installed.) Preparing to unpack .../login_1%3a4.13+dfsg1-4ubuntu1_riscv64.deb ... Unpacking login (1:4.13+dfsg1-4ubuntu1) over (1:4.13+dfsg1-1ubuntu1) ... Setting up login (1:4.13+dfsg1-4ubuntu1) ... Installing new version of config file /etc/login.defs ... Installing new version of config file /etc/pam.d/login ... (Reading database ... 15671 files and directories currently installed.) Preparing to unpack .../ncurses-bin_6.4+20240113-1ubuntu1_riscv64.deb ... Unpacking ncurses-bin (6.4+20240113-1ubuntu1) over (6.4+20230625-2) ... Setting up ncurses-bin (6.4+20240113-1ubuntu1) ... (Reading database ... 15671 files and directories currently installed.) Preparing to unpack .../archives/sed_4.9-2_riscv64.deb ... Unpacking sed (4.9-2) over (4.9-1) ... Setting up sed (4.9-2) ... (Reading database ... 15671 files and directories currently installed.) Preparing to unpack .../util-linux_2.39.3-9ubuntu4_riscv64.deb ... Unpacking util-linux (2.39.3-9ubuntu4) over (2.39.1-4ubuntu2) ... Setting up util-linux (2.39.3-9ubuntu4) ... (Reading database ... 15673 files and directories currently installed.) Preparing to unpack .../ncurses-base_6.4+20240113-1ubuntu1_all.deb ... Unpacking ncurses-base (6.4+20240113-1ubuntu1) over (6.4+20230625-2) ... Setting up ncurses-base (6.4+20240113-1ubuntu1) ... (Reading database ... 15673 files and directories currently installed.) Preparing to unpack .../sysvinit-utils_3.08-6ubuntu2_riscv64.deb ... Unpacking sysvinit-utils (3.08-6ubuntu2) over (3.07-1ubuntu1) ... dpkg: warning: unable to delete old directory '/lib/lsb/init-functions.d': Directory not empty dpkg: warning: unable to delete old directory '/lib/lsb': Directory not empty dpkg: warning: unable to delete old directory '/lib/init': Directory not empty Setting up sysvinit-utils (3.08-6ubuntu2) ... (Reading database ... 15671 files and directories currently installed.) Preparing to unpack .../logsave_1.47.0-2.4~exp1ubuntu3_riscv64.deb ... Unpacking logsave (1.47.0-2.4~exp1ubuntu3) over (1.47.0-2ubuntu1) ... dpkg: libext2fs2:riscv64: dependency problems, but removing anyway as you requested: e2fsprogs depends on libext2fs2 (= 1.47.0-2ubuntu1). (Reading database ... 15671 files and directories currently installed.) Removing libext2fs2:riscv64 (1.47.0-2ubuntu1) ... Selecting previously unselected package libext2fs2t64:riscv64. (Reading database ... 15664 files and directories currently installed.) Preparing to unpack .../libext2fs2t64_1.47.0-2.4~exp1ubuntu3_riscv64.deb ... Adding 'diversion of /lib/riscv64-linux-gnu/libe2p.so.2 to /lib/riscv64-linux-gnu/libe2p.so.2.usr-is-merged by libext2fs2t64' Adding 'diversion of /lib/riscv64-linux-gnu/libe2p.so.2.3 to /lib/riscv64-linux-gnu/libe2p.so.2.3.usr-is-merged by libext2fs2t64' Adding 'diversion of /lib/riscv64-linux-gnu/libext2fs.so.2 to /lib/riscv64-linux-gnu/libext2fs.so.2.usr-is-merged by libext2fs2t64' Adding 'diversion of /lib/riscv64-linux-gnu/libext2fs.so.2.4 to /lib/riscv64-linux-gnu/libext2fs.so.2.4.usr-is-merged by libext2fs2t64' Unpacking libext2fs2t64:riscv64 (1.47.0-2.4~exp1ubuntu3) ... Setting up libcom-err2:riscv64 (1.47.0-2.4~exp1ubuntu3) ... Setting up libext2fs2t64:riscv64 (1.47.0-2.4~exp1ubuntu3) ... (Reading database ... 15680 files and directories currently installed.) Preparing to unpack .../e2fsprogs_1.47.0-2.4~exp1ubuntu3_riscv64.deb ... Unpacking e2fsprogs (1.47.0-2.4~exp1ubuntu3) over (1.47.0-2ubuntu1) ... dpkg: warning: unable to delete old directory '/lib/udev/rules.d': Directory not empty dpkg: warning: unable to delete old directory '/lib/udev': Directory not empty Preparing to unpack .../optipng_0.7.8+ds-1build2_riscv64.deb ... Unpacking optipng (0.7.8+ds-1build2) over (0.7.7-2build1) ... (Reading database ... 15678 files and directories currently installed.) Removing libpng16-16:riscv64 (1.6.40-1) ... Selecting previously unselected package libpng16-16t64:riscv64. (Reading database ... 15668 files and directories currently installed.) Preparing to unpack .../libpng16-16t64_1.6.43-5build1_riscv64.deb ... Unpacking libpng16-16t64:riscv64 (1.6.43-5build1) ... Setting up libapparmor1:riscv64 (4.0.0-beta3-0ubuntu3) ... Setting up libargon2-1:riscv64 (0~20190702+dfsg-4) ... Setting up libdevmapper1.02.1:riscv64 (2:1.02.185-3ubuntu3) ... Setting up libcryptsetup12:riscv64 (2:2.7.0-1ubuntu3) ... Setting up libfdisk1:riscv64 (2.39.3-9ubuntu4) ... Setting up libkmod2:riscv64 (31+20240202-2ubuntu5) ... Setting up libseccomp2:riscv64 (2.5.5-1ubuntu3) ... Setting up libsystemd-shared:riscv64 (255.4-1ubuntu6) ... Setting up systemd-dev (255.4-1ubuntu6) ... Setting up mount (2.39.3-9ubuntu4) ... Setting up systemd (255.4-1ubuntu6) ... Installing new version of config file /etc/systemd/journald.conf ... Installing new version of config file /etc/systemd/logind.conf ... Installing new version of config file /etc/systemd/networkd.conf ... Installing new version of config file /etc/systemd/pstore.conf ... Installing new version of config file /etc/systemd/sleep.conf ... Installing new version of config file /etc/systemd/system.conf ... Installing new version of config file /etc/systemd/user.conf ... Initializing machine ID from random generator. Setting up systemd-sysv (255.4-1ubuntu6) ... (Reading database ... 15679 files and directories currently installed.) Preparing to unpack .../init_1.66ubuntu1_riscv64.deb ... Unpacking init (1.66ubuntu1) over (1.65.2ubuntu1) ... Preparing to unpack .../libsmartcols1_2.39.3-9ubuntu4_riscv64.deb ... Unpacking libsmartcols1:riscv64 (2.39.3-9ubuntu4) over (2.39.1-4ubuntu2) ... Setting up libsmartcols1:riscv64 (2.39.3-9ubuntu4) ... (Reading database ... 15680 files and directories currently installed.) Preparing to unpack .../uuid-runtime_2.39.3-9ubuntu4_riscv64.deb ... Unpacking uuid-runtime (2.39.3-9ubuntu4) over (2.39.1-4ubuntu2) ... dpkg: warning: unable to delete old directory '/lib/systemd/system': Directory not empty dpkg: warning: unable to delete old directory '/lib/systemd': Directory not empty Preparing to unpack .../libattr1_1%3a2.5.2-1_riscv64.deb ... Unpacking libattr1:riscv64 (1:2.5.2-1) over (1:2.5.1-4) ... Setting up libattr1:riscv64 (1:2.5.2-1) ... (Reading database ... 15678 files and directories currently installed.) Preparing to unpack .../libmd0_1.1.0-2_riscv64.deb ... Unpacking libmd0:riscv64 (1.1.0-2) over (1.1.0-1) ... Setting up libmd0:riscv64 (1.1.0-2) ... (Reading database ... 15678 files and directories currently installed.) Preparing to unpack .../libpam-runtime_1.5.3-5ubuntu4_all.deb ... Unpacking libpam-runtime (1.5.3-5ubuntu4) over (1.5.2-6ubuntu1) ... Setting up libpam-runtime (1.5.3-5ubuntu4) ... (Reading database ... 15677 files and directories currently installed.) Preparing to unpack .../libsemanage-common_3.5-1build5_all.deb ... Unpacking libsemanage-common (3.5-1build5) over (3.5-1) ... Setting up libsemanage-common (3.5-1build5) ... (Reading database ... 15677 files and directories currently installed.) Preparing to unpack .../libsepol2_3.5-2_riscv64.deb ... Unpacking libsepol2:riscv64 (3.5-2) over (3.5-1) ... Setting up libsepol2:riscv64 (3.5-2) ... (Reading database ... 15677 files and directories currently installed.) Preparing to unpack .../libsemanage2_3.5-1build5_riscv64.deb ... Unpacking libsemanage2:riscv64 (3.5-1build5) over (3.5-1) ... Setting up libsemanage2:riscv64 (3.5-1build5) ... (Reading database ... 15677 files and directories currently installed.) Preparing to unpack .../passwd_1%3a4.13+dfsg1-4ubuntu1_riscv64.deb ... Unpacking passwd (1:4.13+dfsg1-4ubuntu1) over (1:4.13+dfsg1-1ubuntu1) ... Setting up passwd (1:4.13+dfsg1-4ubuntu1) ... (Reading database ... 15677 files and directories currently installed.) Preparing to unpack .../00-libproc2-0_2%3a4.0.4-4ubuntu3_riscv64.deb ... Unpacking libproc2-0:riscv64 (2:4.0.4-4ubuntu3) over (2:4.0.3-1ubuntu1) ... Preparing to unpack .../01-libss2_1.47.0-2.4~exp1ubuntu3_riscv64.deb ... Unpacking libss2:riscv64 (1.47.0-2.4~exp1ubuntu3) over (1.47.0-2ubuntu1) ... Preparing to unpack .../02-mawk_1.3.4.20240123-1_riscv64.deb ... Unpacking mawk (1.3.4.20240123-1) over (1.3.4.20230730-1) ... Preparing to unpack .../03-procps_2%3a4.0.4-4ubuntu3_riscv64.deb ... Unpacking procps (2:4.0.4-4ubuntu3) over (2:4.0.3-1ubuntu1) ... Preparing to unpack .../04-sensible-utils_0.0.22_all.deb ... Unpacking sensible-utils (0.0.22) over (0.0.20) ... Preparing to unpack .../05-ca-certificates_20240203_all.deb ... Unpacking ca-certificates (20240203) over (20230311ubuntu1) ... Preparing to unpack .../06-krb5-locales_1.20.1-6ubuntu2_all.deb ... Unpacking krb5-locales (1.20.1-6ubuntu2) over (1.20.1-3ubuntu1) ... Preparing to unpack .../07-tzdata_2024a-1ubuntu1_all.deb ... Unpacking tzdata (2024a-1ubuntu1) over (2023c-9ubuntu1) ... Preparing to unpack .../08-bash-completion_1%3a2.11-8_all.deb ... Unpacking bash-completion (1:2.11-8) over (1:2.11-7) ... Preparing to unpack .../09-bsdextrautils_2.39.3-9ubuntu4_riscv64.deb ... Unpacking bsdextrautils (2.39.3-9ubuntu4) over (2.39.1-4ubuntu2) ... Preparing to unpack .../10-libgpm2_1.20.7-11_riscv64.deb ... Unpacking libgpm2:riscv64 (1.20.7-11) over (1.20.7-10build1) ... Preparing to unpack .../11-libip4tc2_1.8.10-3ubuntu1_riscv64.deb ... Unpacking libip4tc2:riscv64 (1.8.10-3ubuntu1) over (1.8.9-2ubuntu2) ... Preparing to unpack .../12-libjansson4_2.14-2build2_riscv64.deb ... Unpacking libjansson4:riscv64 (2.14-2build2) over (2.14-2) ... Preparing to unpack .../13-psmisc_23.7-1build1_riscv64.deb ... Unpacking psmisc (23.7-1build1) over (23.6-1) ... Preparing to unpack .../14-xz-utils_5.6.1+really5.4.5-1_riscv64.deb ... Unpacking xz-utils (5.6.1+really5.4.5-1) over (5.4.1-0.2) ... Preparing to unpack .../15-libctf0_2.42-4ubuntu2_riscv64.deb ... Unpacking libctf0:riscv64 (2.42-4ubuntu2) over (2.41-5ubuntu1) ... Preparing to unpack .../16-libctf-nobfd0_2.42-4ubuntu2_riscv64.deb ... Unpacking libctf-nobfd0:riscv64 (2.42-4ubuntu2) over (2.41-5ubuntu1) ... Preparing to unpack .../17-binutils-riscv64-linux-gnu_2.42-4ubuntu2_riscv64.deb ... Unpacking binutils-riscv64-linux-gnu (2.42-4ubuntu2) over (2.41-5ubuntu1) ... Preparing to unpack .../18-libbinutils_2.42-4ubuntu2_riscv64.deb ... Unpacking libbinutils:riscv64 (2.42-4ubuntu2) over (2.41-5ubuntu1) ... Preparing to unpack .../19-binutils_2.42-4ubuntu2_riscv64.deb ... Unpacking binutils (2.42-4ubuntu2) over (2.41-5ubuntu1) ... Preparing to unpack .../20-binutils-common_2.42-4ubuntu2_riscv64.deb ... Unpacking binutils-common:riscv64 (2.42-4ubuntu2) over (2.41-5ubuntu1) ... Preparing to unpack .../21-libsframe1_2.42-4ubuntu2_riscv64.deb ... Unpacking libsframe1:riscv64 (2.42-4ubuntu2) over (2.41-5ubuntu1) ... Preparing to unpack .../22-libgomp1_14-20240330-1ubuntu2_riscv64.deb ... Unpacking libgomp1:riscv64 (14-20240330-1ubuntu2) over (13.2.0-4ubuntu3) ... Preparing to unpack .../23-libatomic1_14-20240330-1ubuntu2_riscv64.deb ... Unpacking libatomic1:riscv64 (14-20240330-1ubuntu2) over (13.2.0-4ubuntu3) ... Preparing to unpack .../24-libasan8_14-20240330-1ubuntu2_riscv64.deb ... Unpacking libasan8:riscv64 (14-20240330-1ubuntu2) over (13.2.0-4ubuntu3) ... Selecting previously unselected package libubsan1:riscv64. Preparing to unpack .../25-libubsan1_14-20240330-1ubuntu2_riscv64.deb ... Unpacking libubsan1:riscv64 (14-20240330-1ubuntu2) ... Preparing to unpack .../26-g++-13_13.2.0-23ubuntu3_riscv64.deb ... Unpacking g++-13 (13.2.0-23ubuntu3) over (13.2.0-4ubuntu3) ... Preparing to unpack .../27-gcc-13_13.2.0-23ubuntu3_riscv64.deb ... Unpacking gcc-13 (13.2.0-23ubuntu3) over (13.2.0-4ubuntu3) ... Preparing to unpack .../28-libstdc++-13-dev_13.2.0-23ubuntu3_riscv64.deb ... Unpacking libstdc++-13-dev:riscv64 (13.2.0-23ubuntu3) over (13.2.0-4ubuntu3) ... Preparing to unpack .../29-libgcc-13-dev_13.2.0-23ubuntu3_riscv64.deb ... Unpacking libgcc-13-dev:riscv64 (13.2.0-23ubuntu3) over (13.2.0-4ubuntu3) ... Preparing to unpack .../30-libcc1-0_14-20240330-1ubuntu2_riscv64.deb ... Unpacking libcc1-0:riscv64 (14-20240330-1ubuntu2) over (13.2.0-4ubuntu3) ... Preparing to unpack .../31-cpp-13_13.2.0-23ubuntu3_riscv64.deb ... Unpacking cpp-13 (13.2.0-23ubuntu3) over (13.2.0-4ubuntu3) ... Preparing to unpack .../32-gcc-13-base_13.2.0-23ubuntu3_riscv64.deb ... Unpacking gcc-13-base:riscv64 (13.2.0-23ubuntu3) over (13.2.0-4ubuntu3) ... Selecting previously unselected package gcc-13-riscv64-linux-gnu. Preparing to unpack .../33-gcc-13-riscv64-linux-gnu_13.2.0-23ubuntu3_riscv64.deb ... Unpacking gcc-13-riscv64-linux-gnu (13.2.0-23ubuntu3) ... Selecting previously unselected package g++-13-riscv64-linux-gnu. Preparing to unpack .../34-g++-13-riscv64-linux-gnu_13.2.0-23ubuntu3_riscv64.deb ... Unpacking g++-13-riscv64-linux-gnu (13.2.0-23ubuntu3) ... Selecting previously unselected package cpp-13-riscv64-linux-gnu. Preparing to unpack .../35-cpp-13-riscv64-linux-gnu_13.2.0-23ubuntu3_riscv64.deb ... Unpacking cpp-13-riscv64-linux-gnu (13.2.0-23ubuntu3) ... Preparing to unpack .../36-g++_4%3a13.2.0-7ubuntu1_riscv64.deb ... Unpacking g++ (4:13.2.0-7ubuntu1) over (4:13.2.0-1ubuntu1) ... Preparing to unpack .../37-gcc_4%3a13.2.0-7ubuntu1_riscv64.deb ... Unpacking gcc (4:13.2.0-7ubuntu1) over (4:13.2.0-1ubuntu1) ... Preparing to unpack .../38-cpp_4%3a13.2.0-7ubuntu1_riscv64.deb ... Unpacking cpp (4:13.2.0-7ubuntu1) over (4:13.2.0-1ubuntu1) ... Selecting previously unselected package cpp-riscv64-linux-gnu. Preparing to unpack .../39-cpp-riscv64-linux-gnu_4%3a13.2.0-7ubuntu1_riscv64.deb ... Unpacking cpp-riscv64-linux-gnu (4:13.2.0-7ubuntu1) ... Selecting previously unselected package gcc-riscv64-linux-gnu. Preparing to unpack .../40-gcc-riscv64-linux-gnu_4%3a13.2.0-7ubuntu1_riscv64.deb ... Unpacking gcc-riscv64-linux-gnu (4:13.2.0-7ubuntu1) ... Selecting previously unselected package g++-riscv64-linux-gnu. Preparing to unpack .../41-g++-riscv64-linux-gnu_4%3a13.2.0-7ubuntu1_riscv64.deb ... Unpacking g++-riscv64-linux-gnu (4:13.2.0-7ubuntu1) ... Preparing to unpack .../42-dpkg-dev_1.22.6ubuntu6_all.deb ... Unpacking dpkg-dev (1.22.6ubuntu6) over (1.22.0ubuntu1) ... Preparing to unpack .../43-libdpkg-perl_1.22.6ubuntu6_all.deb ... Unpacking libdpkg-perl (1.22.6ubuntu6) over (1.22.0ubuntu1) ... Preparing to unpack .../44-lto-disabled-list_47_all.deb ... Unpacking lto-disabled-list (47) over (43) ... Preparing to unpack .../45-libfakeroot_1.33-1_riscv64.deb ... Unpacking libfakeroot:riscv64 (1.33-1) over (1.32.1-1) ... Preparing to unpack .../46-fakeroot_1.33-1_riscv64.deb ... Unpacking fakeroot (1.33-1) over (1.32.1-1) ... Setting up libip4tc2:riscv64 (1.8.10-3ubuntu1) ... Setting up libtext-iconv-perl:riscv64 (1.7-8build3) ... Setting up libtext-charwidth-perl:riscv64 (0.04-11build3) ... Setting up libkeyutils1:riscv64 (1.6.3-3) ... Setting up lto-disabled-list (47) ... Setting up libgpm2:riscv64 (1.20.7-11) ... Setting up libgdbm6t64:riscv64 (1.23-5.1build1) ... Setting up bsdextrautils (2.39.3-9ubuntu4) ... Setting up init (1.66ubuntu1) ... Setting up libgdbm-compat4t64:riscv64 (1.23-5.1build1) ... Setting up psmisc (23.7-1build1) ... Setting up libtirpc-common (1.3.4+ds-1.1build1) ... Setting up libsqlite3-0:riscv64 (3.45.1-1ubuntu2) ... Setting up binutils-common:riscv64 (2.42-4ubuntu2) ... Setting up linux-libc-dev:riscv64 (6.8.0-20.20) ... Setting up libctf-nobfd0:riscv64 (2.42-4ubuntu2) ... Setting up krb5-locales (1.20.1-6ubuntu2) ... Setting up libgomp1:riscv64 (14-20240330-1ubuntu2) ... Setting up bzip2 (1.0.8-5.1) ... Setting up libsframe1:riscv64 (2.42-4ubuntu2) ... Setting up libfakeroot:riscv64 (1.33-1) ... Setting up libjansson4:riscv64 (2.14-2build2) ... Setting up libkrb5support0:riscv64 (1.20.1-6ubuntu2) ... Setting up tzdata (2024a-1ubuntu1) ... Current default time zone: 'Etc/UTC' Local time is now: Thu Apr 4 13:48:58 UTC 2024. Universal Time is now: Thu Apr 4 13:48:58 UTC 2024. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up fakeroot (1.33-1) ... Setting up gcc-13-base:riscv64 (13.2.0-23ubuntu3) ... Setting up bash-completion (1:2.11-8) ... Setting up xz-utils (5.6.1+really5.4.5-1) ... Setting up perl-modules-5.38 (5.38.2-3.2build1) ... Setting up libproc2-0:riscv64 (2:4.0.4-4ubuntu3) ... Setting up libpng16-16t64:riscv64 (1.6.43-5build1) ... Setting up libatomic1:riscv64 (14-20240330-1ubuntu2) ... Setting up libss2:riscv64 (1.47.0-2.4~exp1ubuntu3) ... Setting up libncursesw6:riscv64 (6.4+20240113-1ubuntu1) ... Setting up libk5crypto3:riscv64 (1.20.1-6ubuntu2) ... Setting up logsave (1.47.0-2.4~exp1ubuntu3) ... Setting up libdb5.3t64:riscv64 (5.3.28+dfsg2-6build1) ... Setting up libubsan1:riscv64 (14-20240330-1ubuntu2) ... Setting up sensible-utils (0.0.22) ... Setting up uuid-runtime (2.39.3-9ubuntu4) ... Running in chroot, ignoring request. invoke-rc.d: policy-rc.d denied execution of restart. Setting up libcrypt-dev:riscv64 (1:4.4.36-4) ... Setting up libasan8:riscv64 (14-20240330-1ubuntu2) ... Setting up procps (2:4.0.4-4ubuntu3) ... Installing new version of config file /etc/sysctl.conf ... Setting up mawk (1.3.4.20240123-1) ... Setting up libkrb5-3:riscv64 (1.20.1-6ubuntu2) ... Setting up libperl5.38t64:riscv64 (5.38.2-3.2build1) ... Setting up libbinutils:riscv64 (2.42-4ubuntu2) ... Setting up libc-dev-bin (2.39-0ubuntu8) ... Setting up openssl (3.0.13-0ubuntu3) ... Setting up libgpg-error-l10n (1.47-3build1) ... Setting up readline-common (8.2-4build1) ... Setting up libcc1-0:riscv64 (14-20240330-1ubuntu2) ... Setting up liblocale-gettext-perl (1.07-6ubuntu5) ... Setting up libctf0:riscv64 (2.42-4ubuntu2) ... Setting up pinentry-curses (1.2.1-3ubuntu5) ... Setting up apt-utils (2.7.14build2) ... Setting up cpp-13-riscv64-linux-gnu (13.2.0-23ubuntu3) ... Setting up binutils-riscv64-linux-gnu (2.42-4ubuntu2) ... Setting up debconf-i18n (1.5.86) ... Setting up e2fsprogs (1.47.0-2.4~exp1ubuntu3) ... Setting up binutils (2.42-4ubuntu2) ... Setting up ca-certificates (20240203) ... Updating certificates in /etc/ssl/certs... rehash: warning: skipping ca-certificates.crt,it does not contain exactly one certificate or CRL 14 added, 5 removed; done. Setting up perl (5.38.2-3.2build1) ... Setting up optipng (0.7.8+ds-1build2) ... Setting up libgssapi-krb5-2:riscv64 (1.20.1-6ubuntu2) ... Setting up libdpkg-perl (1.22.6ubuntu6) ... Setting up libreadline8t64:riscv64 (8.2-4build1) ... Setting up libgcc-13-dev:riscv64 (13.2.0-23ubuntu3) ... Setting up gpgconf (2.4.4-2ubuntu16) ... Setting up libc6-dev:riscv64 (2.39-0ubuntu8) ... Setting up cpp-riscv64-linux-gnu (4:13.2.0-7ubuntu1) ... Setting up gpg (2.4.4-2ubuntu16) ... Setting up libstdc++-13-dev:riscv64 (13.2.0-23ubuntu3) ... Setting up gpg-agent (2.4.4-2ubuntu16) ... Setting up cpp-13 (13.2.0-23ubuntu3) ... Setting up libtirpc3t64:riscv64 (1.3.4+ds-1.1build1) ... Setting up gcc-13-riscv64-linux-gnu (13.2.0-23ubuntu3) ... Setting up dpkg-dev (1.22.6ubuntu6) ... Setting up gcc-riscv64-linux-gnu (4:13.2.0-7ubuntu1) ... Setting up libtirpc-dev:riscv64 (1.3.4+ds-1.1build1) ... Setting up gcc-13 (13.2.0-23ubuntu3) ... Setting up cpp (4:13.2.0-7ubuntu1) ... Setting up libnsl2:riscv64 (1.3.0-3build3) ... Setting up g++-13-riscv64-linux-gnu (13.2.0-23ubuntu3) ... Setting up g++-13 (13.2.0-23ubuntu3) ... Setting up libnss-nisplus:riscv64 (1.3-5build1) ... Setting up gcc (4:13.2.0-7ubuntu1) ... Setting up g++-riscv64-linux-gnu (4:13.2.0-7ubuntu1) ... Setting up g++ (4:13.2.0-7ubuntu1) ... Setting up libnsl-dev:riscv64 (1.3.0-3build3) ... Processing triggers for libc-bin (2.39-0ubuntu8) ... Processing triggers for debianutils (5.17build1) ... (Reading database ... 15732 files and directories currently installed.) Purging configuration files for libssl3:riscv64 (3.0.10-1ubuntu2) ... Processing triggers for ca-certificates (20240203) ... Updating certificates in /etc/ssl/certs... 0 added, 0 removed; done. Running hooks in /etc/ca-certificates/update.d... done. RUN: /usr/share/launchpad-buildd/bin/sbuild-package PACKAGEBUILD-28004878 riscv64 noble-proposed -c chroot:build-PACKAGEBUILD-28004878 --arch=riscv64 --dist=noble-proposed --nolog hol88_2.02.19940316dfsg-5build3.dsc Initiating build PACKAGEBUILD-28004878 with 4 jobs across 4 processor cores. Kernel reported to sbuild: 6.5.0-26-generic #26.1~22.04.1-Ubuntu SMP Thu Mar 14 04:00:07 UTC 2024 riscv64 sbuild (Debian sbuild) 0.81.2ubuntu6 (16 February 2022) on bos03-riscv64-100.buildd +==============================================================================+ | hol88 2.02.19940316dfsg-5build3 (riscv64) Thu, 04 Apr 2024 13:52:03 +0000 | +==============================================================================+ Package: hol88 Version: 2.02.19940316dfsg-5build3 Source Version: 2.02.19940316dfsg-5build3 Distribution: noble-proposed Machine Architecture: riscv64 Host Architecture: riscv64 Build Architecture: riscv64 Build Type: any I: NOTICE: Log filtering will replace 'home/buildd/build-PACKAGEBUILD-28004878/chroot-autobuild' with '<>' I: NOTICE: Log filtering will replace 'build/hol88-z57Xdp/resolver-1uce0j' with '<>' +------------------------------------------------------------------------------+ | Fetch source files | +------------------------------------------------------------------------------+ Local sources ------------- hol88_2.02.19940316dfsg-5build3.dsc exists in .; copying to chroot I: NOTICE: Log filtering will replace 'build/hol88-z57Xdp/hol88-2.02.19940316dfsg' with '<>' I: NOTICE: Log filtering will replace 'build/hol88-z57Xdp' with '<>' +------------------------------------------------------------------------------+ | Install package build dependencies | +------------------------------------------------------------------------------+ Setup apt archive ----------------- Merged Build-Depends: debhelper (>= 9), gcl (>= 2.6.14-1), texlive-latex-base, build-essential, fakeroot Filtered Build-Depends: debhelper (>= 9), gcl (>= 2.6.14-1), texlive-latex-base, build-essential, fakeroot dpkg-deb: building package 'sbuild-build-depends-main-dummy' in '/<>/apt_archive/sbuild-build-depends-main-dummy.deb'. Ign:1 copy:/<>/apt_archive ./ InRelease Get:2 copy:/<>/apt_archive ./ Release [957 B] Ign:3 copy:/<>/apt_archive ./ Release.gpg Get:4 copy:/<>/apt_archive ./ Sources [389 B] Get:5 copy:/<>/apt_archive ./ Packages [469 B] Fetched 1815 B in 1s (3297 B/s) Reading package lists... Reading package lists... Install main build dependencies (apt-based resolver) ---------------------------------------------------- Installing build dependencies Reading package lists... Building dependency tree... Reading state information... The following packages were automatically installed and are no longer required: apt-utils bash-completion ca-certificates debconf-i18n krb5-locales libgpg-error-l10n libip4tc2 liblocale-gettext-perl libnss-nis libnss-nisplus libperl5.36 libtext-charwidth-perl libtext-iconv-perl libtext-wrapi18n-perl libunistring2 openssl perl-modules-5.36 psmisc uuid-runtime Use 'apt autoremove' to remove them. The following additional packages will be installed: adwaita-icon-theme at-spi2-common autoconf automake autopoint autotools-dev dbus dbus-bin dbus-daemon dbus-session-bus-common dbus-system-bus-common dbus-user-session dconf-gsettings-backend dconf-service debhelper debugedit dh-autoreconf dh-strip-nondeterminism dwz emacs emacs-bin-common emacs-common emacs-el emacs-gtk emacsen-common file fontconfig fontconfig-config fonts-dejavu-core fonts-dejavu-mono fonts-lmodern gcl gettext gettext-base groff-base gtk-update-icon-cache hicolor-icon-theme humanity-icon-theme install-info intltool-debian libarchive-zip-perl libasound2-data libasound2t64 libatk-bridge2.0-0t64 libatk1.0-0t64 libatspi2.0-0t64 libavahi-client3 libavahi-common-data libavahi-common3 libbrotli1 libbsd0 libcairo-gobject2 libcairo2 libcolord2 libcups2t64 libdatrie1 libdbus-1-3 libdconf1 libdebhelper-perl libdeflate0 libdw1t64 libedit2 libelf1t64 libepoxy0 libexpat1 libfile-stripnondeterminism-perl libfontconfig1 libfreetype6 libfribidi0 libgd3 libgdk-pixbuf-2.0-0 libgdk-pixbuf2.0-common libgif7 libglib2.0-0t64 libgraphite2-3 libgtk-3-0t64 libgtk-3-common libharfbuzz0b libice6 libicu74 libjbig0 libjpeg-turbo8 libjpeg8 libkpathsea6 liblcms2-2 liblerc4 libm17n-0 libmagic-mgc libmagic1t64 libotf1 libpam-systemd libpango-1.0-0 libpangocairo-1.0-0 libpangoft2-1.0-0 libpaper-utils libpaper1 libpipeline1 libpixman-1-0 libpotrace0 libptexenc1 librsvg2-2 libsharpyuv0 libsm6 libsub-override-perl libsynctex2 libtcl8.6 libteckit0 libtexlua53-5 libthai-data libthai0 libtiff6 libtk8.6 libtool libtree-sitter0 libuchardet0 libwayland-client0 libwayland-cursor0 libwayland-egl1 libwebp7 libwebpdecoder3 libwebpdemux2 libx11-6 libx11-data libxau6 libxaw7 libxcb-render0 libxcb-shm0 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxdmcp6 libxext6 libxfixes3 libxft2 libxi6 libxinerama1 libxkbcommon0 libxml2 libxmu6 libxpm4 libxrandr2 libxrender1 libxss1 libxt6t64 libzzip-0-13t64 m17n-db m4 man-db po-debconf shared-mime-info t1utils tex-common texlive-base texlive-binaries texlive-latex-base ubuntu-mono ucf x11-common xdg-utils xkb-data Suggested packages: autoconf-archive gnu-standards autoconf-doc dh-make emacs-common-non-dfsg ncurses-term gcl-doc gettext-doc libasprintf-dev libgettextpo-dev groff alsa-utils libasound2-plugins colord cups-common libgd-tools low-memory-monitor gvfs liblcms2-utils m17n-docs librsvg2-bin tcl8.6 tk8.6 libtool-doc gfortran | fortran95-compiler gcj-jdk gawk m4-doc apparmor less www-browser libmail-box-perl ghostscript gv | postscript-viewer perl-tk xpdf | pdf-viewer xzdec hintview texlive-latex-base-doc wp2latex Recommended packages: librsvg2-common mailutils fonts-noto-color-emoji curl | wget | lynx alsa-ucm-conf alsa-topology-conf at-spi2-core libarchive-cpio-perl libgdk-pixbuf2.0-bin libglib2.0-data xdg-user-dirs libgtk-3-bin libltdl-dev libmail-sendmail-perl lmodern dvisvgm libfile-mimeinfo-perl libnet-dbus-perl libx11-protocol-perl x11-utils x11-xserver-utils The following NEW packages will be installed: adwaita-icon-theme at-spi2-common autoconf automake autopoint autotools-dev dbus dbus-bin dbus-daemon dbus-session-bus-common dbus-system-bus-common dbus-user-session dconf-gsettings-backend dconf-service debhelper debugedit dh-autoreconf dh-strip-nondeterminism dwz emacs emacs-bin-common emacs-common emacs-el emacs-gtk emacsen-common file fontconfig fontconfig-config fonts-dejavu-core fonts-dejavu-mono fonts-lmodern gcl gettext gettext-base groff-base gtk-update-icon-cache hicolor-icon-theme humanity-icon-theme install-info intltool-debian libarchive-zip-perl libasound2-data libasound2t64 libatk-bridge2.0-0t64 libatk1.0-0t64 libatspi2.0-0t64 libavahi-client3 libavahi-common-data libavahi-common3 libbrotli1 libbsd0 libcairo-gobject2 libcairo2 libcolord2 libcups2t64 libdatrie1 libdbus-1-3 libdconf1 libdebhelper-perl libdeflate0 libdw1t64 libedit2 libelf1t64 libepoxy0 libexpat1 libfile-stripnondeterminism-perl libfontconfig1 libfreetype6 libfribidi0 libgd3 libgdk-pixbuf-2.0-0 libgdk-pixbuf2.0-common libgif7 libglib2.0-0t64 libgraphite2-3 libgtk-3-0t64 libgtk-3-common libharfbuzz0b libice6 libicu74 libjbig0 libjpeg-turbo8 libjpeg8 libkpathsea6 liblcms2-2 liblerc4 libm17n-0 libmagic-mgc libmagic1t64 libotf1 libpam-systemd libpango-1.0-0 libpangocairo-1.0-0 libpangoft2-1.0-0 libpaper-utils libpaper1 libpipeline1 libpixman-1-0 libpotrace0 libptexenc1 librsvg2-2 libsharpyuv0 libsm6 libsub-override-perl libsynctex2 libtcl8.6 libteckit0 libtexlua53-5 libthai-data libthai0 libtiff6 libtk8.6 libtool libtree-sitter0 libuchardet0 libwayland-client0 libwayland-cursor0 libwayland-egl1 libwebp7 libwebpdecoder3 libwebpdemux2 libx11-6 libx11-data libxau6 libxaw7 libxcb-render0 libxcb-shm0 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxdmcp6 libxext6 libxfixes3 libxft2 libxi6 libxinerama1 libxkbcommon0 libxml2 libxmu6 libxpm4 libxrandr2 libxrender1 libxss1 libxt6t64 libzzip-0-13t64 m17n-db m4 man-db po-debconf sbuild-build-depends-main-dummy shared-mime-info t1utils tex-common texlive-base texlive-binaries texlive-latex-base ubuntu-mono ucf x11-common xdg-utils xkb-data 0 upgraded, 162 newly installed, 0 to remove and 0 not upgraded. Need to get 193 MB of archives. After this operation, 1006 MB of additional disk space will be used. Get:1 copy:/<>/apt_archive ./ sbuild-build-depends-main-dummy 0.invalid.0 [688 B] Get:2 http://ftpmaster.internal/ubuntu noble/main riscv64 install-info riscv64 7.1-3build2 [63.0 kB] Get:3 http://ftpmaster.internal/ubuntu noble/main riscv64 libdbus-1-3 riscv64 1.14.10-4ubuntu3 [224 kB] Get:4 http://ftpmaster.internal/ubuntu noble/main riscv64 dbus-bin riscv64 1.14.10-4ubuntu3 [38.7 kB] Get:5 http://ftpmaster.internal/ubuntu noble/main riscv64 dbus-session-bus-common all 1.14.10-4ubuntu3 [80.4 kB] Get:6 http://ftpmaster.internal/ubuntu noble/main riscv64 libexpat1 riscv64 2.6.1-2build1 [86.0 kB] Get:7 http://ftpmaster.internal/ubuntu noble/main riscv64 dbus-daemon riscv64 1.14.10-4ubuntu3 [127 kB] Get:8 http://ftpmaster.internal/ubuntu noble/main riscv64 dbus-system-bus-common all 1.14.10-4ubuntu3 [81.5 kB] Get:9 http://ftpmaster.internal/ubuntu noble/main riscv64 dbus riscv64 1.14.10-4ubuntu3 [31.5 kB] Get:10 http://ftpmaster.internal/ubuntu noble-proposed/main riscv64 libpam-systemd riscv64 255.4-1ubuntu6 [247 kB] Get:11 http://ftpmaster.internal/ubuntu noble/main riscv64 dbus-user-session riscv64 1.14.10-4ubuntu3 [9970 B] Get:12 http://ftpmaster.internal/ubuntu noble/main riscv64 libbsd0 riscv64 0.12.1-1build1 [43.9 kB] Get:13 http://ftpmaster.internal/ubuntu noble/main riscv64 libelf1t64 riscv64 0.190-1.1build3 [63.5 kB] Get:14 http://ftpmaster.internal/ubuntu noble/main riscv64 libfribidi0 riscv64 1.0.13-3 [26.1 kB] Get:15 http://ftpmaster.internal/ubuntu noble-proposed/main riscv64 libglib2.0-0t64 riscv64 2.80.0-6ubuntu1 [1397 kB] Get:16 http://ftpmaster.internal/ubuntu noble/main riscv64 libicu74 riscv64 74.2-1ubuntu1 [10.9 MB] Get:17 http://ftpmaster.internal/ubuntu noble/main riscv64 libxml2 riscv64 2.9.14+dfsg-1.3ubuntu3 [719 kB] Get:18 http://ftpmaster.internal/ubuntu noble-proposed/main riscv64 shared-mime-info riscv64 2.4-4 [474 kB] Get:19 http://ftpmaster.internal/ubuntu noble/main riscv64 ucf all 3.0043+nmu1 [56.5 kB] Get:20 http://ftpmaster.internal/ubuntu noble/main riscv64 xkb-data all 2.41-2 [395 kB] Get:21 http://ftpmaster.internal/ubuntu noble/main riscv64 libmagic-mgc riscv64 1:5.45-3build1 [307 kB] Get:22 http://ftpmaster.internal/ubuntu noble/main riscv64 libmagic1t64 riscv64 1:5.45-3build1 [96.4 kB] Get:23 http://ftpmaster.internal/ubuntu noble/main riscv64 file riscv64 1:5.45-3build1 [21.9 kB] Get:24 http://ftpmaster.internal/ubuntu noble/main riscv64 gettext-base riscv64 0.21-14ubuntu1 [42.5 kB] Get:25 http://ftpmaster.internal/ubuntu noble/main riscv64 libuchardet0 riscv64 0.0.8-1 [77.4 kB] Get:26 http://ftpmaster.internal/ubuntu noble/main riscv64 groff-base riscv64 1.23.0-3build2 [1031 kB] Get:27 http://ftpmaster.internal/ubuntu noble/main riscv64 libedit2 riscv64 3.1-20230828-1 [94.8 kB] Get:28 http://ftpmaster.internal/ubuntu noble/main riscv64 libpipeline1 riscv64 1.5.7-2 [30.9 kB] Get:29 http://ftpmaster.internal/ubuntu noble/main riscv64 libxau6 riscv64 1:1.0.9-1build5 [6836 B] Get:30 http://ftpmaster.internal/ubuntu noble/main riscv64 libxdmcp6 riscv64 1:1.1.3-0ubuntu5 [10.3 kB] Get:31 http://ftpmaster.internal/ubuntu noble/main riscv64 libxcb1 riscv64 1.15-1 [42.1 kB] Get:32 http://ftpmaster.internal/ubuntu noble/main riscv64 libx11-data all 2:1.8.7-1 [115 kB] Get:33 http://ftpmaster.internal/ubuntu noble/main riscv64 libx11-6 riscv64 2:1.8.7-1 [663 kB] Get:34 http://ftpmaster.internal/ubuntu noble/main riscv64 libxext6 riscv64 2:1.3.4-1build1 [27.8 kB] Get:35 http://ftpmaster.internal/ubuntu noble-proposed/main riscv64 man-db riscv64 2.12.0-4build1 [1226 kB] Get:36 http://ftpmaster.internal/ubuntu noble/main riscv64 libgdk-pixbuf2.0-common all 2.42.10+dfsg-3ubuntu2 [7796 B] Get:37 http://ftpmaster.internal/ubuntu noble/main riscv64 libjpeg-turbo8 riscv64 2.1.5-2ubuntu1 [119 kB] Get:38 http://ftpmaster.internal/ubuntu noble/main riscv64 libjpeg8 riscv64 8c-2ubuntu11 [2150 B] Get:39 http://ftpmaster.internal/ubuntu noble/main riscv64 libdeflate0 riscv64 1.19-1 [40.0 kB] Get:40 http://ftpmaster.internal/ubuntu noble/main riscv64 libjbig0 riscv64 2.1-6.1ubuntu1 [28.0 kB] Get:41 http://ftpmaster.internal/ubuntu noble/main riscv64 liblerc4 riscv64 4.0.0+ds-4ubuntu1 [187 kB] Get:42 http://ftpmaster.internal/ubuntu noble-proposed/main riscv64 libsharpyuv0 riscv64 1.3.2-0.4build3 [14.9 kB] Get:43 http://ftpmaster.internal/ubuntu noble-proposed/main riscv64 libwebp7 riscv64 1.3.2-0.4build3 [204 kB] Get:44 http://ftpmaster.internal/ubuntu noble/main riscv64 libtiff6 riscv64 4.5.1+git230720-4ubuntu2 [205 kB] Get:45 http://ftpmaster.internal/ubuntu noble/main riscv64 libgdk-pixbuf-2.0-0 riscv64 2.42.10+dfsg-3ubuntu2 [154 kB] Get:46 http://ftpmaster.internal/ubuntu noble/main riscv64 gtk-update-icon-cache riscv64 3.24.41-1.1ubuntu4 [51.8 kB] Get:47 http://ftpmaster.internal/ubuntu noble/main riscv64 hicolor-icon-theme all 0.17-2 [9976 B] Get:48 http://ftpmaster.internal/ubuntu noble/main riscv64 humanity-icon-theme all 0.6.16 [1282 kB] Get:49 http://ftpmaster.internal/ubuntu noble/main riscv64 ubuntu-mono all 24.04-0ubuntu1 [151 kB] Get:50 http://ftpmaster.internal/ubuntu noble-proposed/main riscv64 adwaita-icon-theme all 46.0-1 [723 kB] Get:51 http://ftpmaster.internal/ubuntu noble-proposed/main riscv64 at-spi2-common all 2.52.0-1 [8586 B] Get:52 http://ftpmaster.internal/ubuntu noble/main riscv64 m4 riscv64 1.4.19-4 [261 kB] Get:53 http://ftpmaster.internal/ubuntu noble/main riscv64 autoconf all 2.71-3 [339 kB] Get:54 http://ftpmaster.internal/ubuntu noble/main riscv64 autotools-dev all 20220109.1 [44.9 kB] Get:55 http://ftpmaster.internal/ubuntu noble/main riscv64 automake all 1:1.16.5-1.3ubuntu1 [558 kB] Get:56 http://ftpmaster.internal/ubuntu noble/main riscv64 autopoint all 0.21-14ubuntu1 [422 kB] Get:57 http://ftpmaster.internal/ubuntu noble/main riscv64 libdconf1 riscv64 0.40.0-4build2 [44.3 kB] Get:58 http://ftpmaster.internal/ubuntu noble/main riscv64 dconf-service riscv64 0.40.0-4build2 [33.7 kB] Get:59 http://ftpmaster.internal/ubuntu noble/main riscv64 dconf-gsettings-backend riscv64 0.40.0-4build2 [29.0 kB] Get:60 http://ftpmaster.internal/ubuntu noble/main riscv64 libdebhelper-perl all 13.14.1ubuntu5 [89.8 kB] Get:61 http://ftpmaster.internal/ubuntu noble/main riscv64 libtool all 2.4.7-7 [166 kB] Get:62 http://ftpmaster.internal/ubuntu noble/main riscv64 dh-autoreconf all 20 [16.1 kB] Get:63 http://ftpmaster.internal/ubuntu noble/main riscv64 libarchive-zip-perl all 1.68-1 [90.2 kB] Get:64 http://ftpmaster.internal/ubuntu noble/main riscv64 libsub-override-perl all 0.10-1 [10.0 kB] Get:65 http://ftpmaster.internal/ubuntu noble/main riscv64 libfile-stripnondeterminism-perl all 1.13.1-1 [18.1 kB] Get:66 http://ftpmaster.internal/ubuntu noble/main riscv64 dh-strip-nondeterminism all 1.13.1-1 [5362 B] Get:67 http://ftpmaster.internal/ubuntu noble/main riscv64 libdw1t64 riscv64 0.190-1.1build3 [275 kB] Get:68 http://ftpmaster.internal/ubuntu noble-proposed/main riscv64 debugedit riscv64 1:5.0-5build1 [49.2 kB] Get:69 http://ftpmaster.internal/ubuntu noble/main riscv64 dwz riscv64 0.15-1build6 [125 kB] Get:70 http://ftpmaster.internal/ubuntu noble/main riscv64 gettext riscv64 0.21-14ubuntu1 [874 kB] Get:71 http://ftpmaster.internal/ubuntu noble/main riscv64 intltool-debian all 0.35.0+20060710.6 [23.2 kB] Get:72 http://ftpmaster.internal/ubuntu noble/main riscv64 po-debconf all 1.0.21+nmu1 [233 kB] Get:73 http://ftpmaster.internal/ubuntu noble/main riscv64 debhelper all 13.14.1ubuntu5 [869 kB] Get:74 http://ftpmaster.internal/ubuntu noble-proposed/universe riscv64 emacs-el all 1:29.3+1-1ubuntu2 [18.7 MB] Get:75 http://ftpmaster.internal/ubuntu noble/main riscv64 emacsen-common all 3.0.5 [12.1 kB] Get:76 http://ftpmaster.internal/ubuntu noble-proposed/universe riscv64 emacs-common all 1:29.3+1-1ubuntu2 [16.1 MB] Get:77 http://ftpmaster.internal/ubuntu noble-proposed/universe riscv64 emacs-bin-common riscv64 1:29.3+1-1ubuntu2 [101 kB] Get:78 http://ftpmaster.internal/ubuntu noble/main riscv64 libasound2-data all 1.2.11-1build2 [21.0 kB] Get:79 http://ftpmaster.internal/ubuntu noble/main riscv64 libasound2t64 riscv64 1.2.11-1build2 [426 kB] Get:80 http://ftpmaster.internal/ubuntu noble/main riscv64 libbrotli1 riscv64 1.1.0-2build2 [389 kB] Get:81 http://ftpmaster.internal/ubuntu noble-proposed/main riscv64 libfreetype6 riscv64 2.13.2+dfsg-1build3 [430 kB] Get:82 http://ftpmaster.internal/ubuntu noble/main riscv64 fonts-dejavu-mono all 2.37-8 [502 kB] Get:83 http://ftpmaster.internal/ubuntu noble/main riscv64 fonts-dejavu-core all 2.37-8 [835 kB] Get:84 http://ftpmaster.internal/ubuntu noble/main riscv64 fontconfig-config riscv64 2.15.0-1.1ubuntu2 [37.4 kB] Get:85 http://ftpmaster.internal/ubuntu noble/main riscv64 libfontconfig1 riscv64 2.15.0-1.1ubuntu2 [145 kB] Get:86 http://ftpmaster.internal/ubuntu noble/main riscv64 libpixman-1-0 riscv64 0.42.2-1 [165 kB] Get:87 http://ftpmaster.internal/ubuntu noble/main riscv64 libxcb-render0 riscv64 1.15-1 [13.8 kB] Get:88 http://ftpmaster.internal/ubuntu noble/main riscv64 libxcb-shm0 riscv64 1.15-1 [5326 B] Get:89 http://ftpmaster.internal/ubuntu noble/main riscv64 libxrender1 riscv64 1:0.9.10-1.1 [17.5 kB] Get:90 http://ftpmaster.internal/ubuntu noble-proposed/main riscv64 libcairo2 riscv64 1.18.0-3 [613 kB] Get:91 http://ftpmaster.internal/ubuntu noble-proposed/main riscv64 libgif7 riscv64 5.2.2-1 [37.0 kB] Get:92 http://ftpmaster.internal/ubuntu noble-proposed/main riscv64 libatk1.0-0t64 riscv64 2.52.0-1 [57.0 kB] Get:93 http://ftpmaster.internal/ubuntu noble/main riscv64 libxi6 riscv64 2:1.8.1-1 [34.8 kB] Get:94 http://ftpmaster.internal/ubuntu noble-proposed/main riscv64 libatspi2.0-0t64 riscv64 2.52.0-1 [83.1 kB] Get:95 http://ftpmaster.internal/ubuntu noble-proposed/main riscv64 libatk-bridge2.0-0t64 riscv64 2.52.0-1 [68.7 kB] Get:96 http://ftpmaster.internal/ubuntu noble-proposed/main riscv64 libcairo-gobject2 riscv64 1.18.0-3 [126 kB] Get:97 http://ftpmaster.internal/ubuntu noble/main riscv64 liblcms2-2 riscv64 2.14-2 [145 kB] Get:98 http://ftpmaster.internal/ubuntu noble-proposed/main riscv64 libcolord2 riscv64 1.4.7-1build2 [152 kB] Get:99 http://ftpmaster.internal/ubuntu noble-proposed/main riscv64 libavahi-common-data riscv64 0.8-13ubuntu5 [29.6 kB] Get:100 http://ftpmaster.internal/ubuntu noble-proposed/main riscv64 libavahi-common3 riscv64 0.8-13ubuntu5 [24.4 kB] Get:101 http://ftpmaster.internal/ubuntu noble-proposed/main riscv64 libavahi-client3 riscv64 0.8-13ubuntu5 [27.9 kB] Get:102 http://ftpmaster.internal/ubuntu noble-proposed/main riscv64 libcups2t64 riscv64 2.4.7-1.2ubuntu3 [286 kB] Get:103 http://ftpmaster.internal/ubuntu noble/main riscv64 libepoxy0 riscv64 1.5.10-1 [193 kB] Get:104 http://ftpmaster.internal/ubuntu noble/main riscv64 libgraphite2-3 riscv64 1.3.14-2 [94.1 kB] Get:105 http://ftpmaster.internal/ubuntu noble/main riscv64 libharfbuzz0b riscv64 8.3.0-2build2 [576 kB] Get:106 http://ftpmaster.internal/ubuntu noble/main riscv64 fontconfig riscv64 2.15.0-1.1ubuntu2 [190 kB] Get:107 http://ftpmaster.internal/ubuntu noble/main riscv64 libthai-data all 0.1.29-2 [158 kB] Get:108 http://ftpmaster.internal/ubuntu noble/main riscv64 libdatrie1 riscv64 0.2.13-3 [22.9 kB] Get:109 http://ftpmaster.internal/ubuntu noble/main riscv64 libthai0 riscv64 0.1.29-2 [19.2 kB] Get:110 http://ftpmaster.internal/ubuntu noble-proposed/main riscv64 libpango-1.0-0 riscv64 1.52.1+ds-1build1 [237 kB] Get:111 http://ftpmaster.internal/ubuntu noble-proposed/main riscv64 libpangoft2-1.0-0 riscv64 1.52.1+ds-1build1 [43.5 kB] Get:112 http://ftpmaster.internal/ubuntu noble-proposed/main riscv64 libpangocairo-1.0-0 riscv64 1.52.1+ds-1build1 [29.0 kB] Get:113 http://ftpmaster.internal/ubuntu noble/main riscv64 libwayland-client0 riscv64 1.22.0-2.1 [27.6 kB] Get:114 http://ftpmaster.internal/ubuntu noble/main riscv64 libwayland-cursor0 riscv64 1.22.0-2.1 [10.2 kB] Get:115 http://ftpmaster.internal/ubuntu noble/main riscv64 libwayland-egl1 riscv64 1.22.0-2.1 [5362 B] Get:116 http://ftpmaster.internal/ubuntu noble/main riscv64 libxcomposite1 riscv64 1:0.4.5-1build2 [6570 B] Get:117 http://ftpmaster.internal/ubuntu noble/main riscv64 libxfixes3 riscv64 1:6.0.0-2 [9620 B] Get:118 http://ftpmaster.internal/ubuntu noble/main riscv64 libxcursor1 riscv64 1:1.2.1-1 [18.9 kB] Get:119 http://ftpmaster.internal/ubuntu noble/main riscv64 libxdamage1 riscv64 1:1.1.6-1 [5454 B] Get:120 http://ftpmaster.internal/ubuntu noble/main riscv64 libxinerama1 riscv64 2:1.1.4-3 [6616 B] Get:121 http://ftpmaster.internal/ubuntu noble/main riscv64 libxkbcommon0 riscv64 1.6.0-1 [121 kB] Get:122 http://ftpmaster.internal/ubuntu noble/main riscv64 libxrandr2 riscv64 2:1.5.2-2 [17.6 kB] Get:123 http://ftpmaster.internal/ubuntu noble/main riscv64 libgtk-3-common all 3.24.41-1.1ubuntu4 [1202 kB] Get:124 http://ftpmaster.internal/ubuntu noble/main riscv64 libgtk-3-0t64 riscv64 3.24.41-1.1ubuntu4 [3053 kB] Get:125 http://ftpmaster.internal/ubuntu noble/main riscv64 x11-common all 1:7.7+23ubuntu2 [23.4 kB] Get:126 http://ftpmaster.internal/ubuntu noble/main riscv64 libice6 riscv64 2:1.0.10-1build2 [37.3 kB] Get:127 http://ftpmaster.internal/ubuntu noble/main riscv64 m17n-db all 1.8.5-1 [1525 kB] Get:128 http://ftpmaster.internal/ubuntu noble/main riscv64 libxpm4 riscv64 1:3.5.17-1build2 [38.2 kB] Get:129 http://ftpmaster.internal/ubuntu noble-proposed/main riscv64 libgd3 riscv64 2.3.3-9ubuntu4 [134 kB] Get:130 http://ftpmaster.internal/ubuntu noble/main riscv64 libotf1 riscv64 0.9.16-4build2 [53.4 kB] Get:131 http://ftpmaster.internal/ubuntu noble/main riscv64 libxft2 riscv64 2.3.6-1 [39.0 kB] Get:132 http://ftpmaster.internal/ubuntu noble/main riscv64 libsm6 riscv64 2:1.2.3-1build2 [15.3 kB] Get:133 http://ftpmaster.internal/ubuntu noble/main riscv64 libxt6t64 riscv64 1:1.2.1-1.2build1 [176 kB] Get:134 http://ftpmaster.internal/ubuntu noble/main riscv64 libm17n-0 riscv64 1.8.4-1build2 [277 kB] Get:135 http://ftpmaster.internal/ubuntu noble-proposed/main riscv64 librsvg2-2 riscv64 2.58.0+dfsg-1build1 [2058 kB] Get:136 http://ftpmaster.internal/ubuntu noble/universe riscv64 libtree-sitter0 riscv64 0.20.8-2 [84.2 kB] Get:137 http://ftpmaster.internal/ubuntu noble-proposed/main riscv64 libwebpdecoder3 riscv64 1.3.2-0.4build3 [93.8 kB] Get:138 http://ftpmaster.internal/ubuntu noble-proposed/main riscv64 libwebpdemux2 riscv64 1.3.2-0.4build3 [13.1 kB] Get:139 http://ftpmaster.internal/ubuntu noble-proposed/universe riscv64 emacs-gtk riscv64 1:29.3+1-1ubuntu2 [4214 kB] Get:140 http://ftpmaster.internal/ubuntu noble-proposed/universe riscv64 emacs all 1:29.3+1-1ubuntu2 [19.9 kB] Get:141 http://ftpmaster.internal/ubuntu noble/universe riscv64 fonts-lmodern all 2.005-1 [4799 kB] Get:142 http://ftpmaster.internal/ubuntu noble/main riscv64 libtcl8.6 riscv64 8.6.14+dfsg-1build1 [1072 kB] Get:143 http://ftpmaster.internal/ubuntu noble/main riscv64 libxss1 riscv64 1:1.2.3-1build2 [7676 B] Get:144 http://ftpmaster.internal/ubuntu noble/main riscv64 libtk8.6 riscv64 8.6.14-1build1 [802 kB] Get:145 http://ftpmaster.internal/ubuntu noble/universe riscv64 gcl riscv64 2.6.14-8build1 [72.1 MB] Get:146 http://ftpmaster.internal/ubuntu noble-proposed/main riscv64 libkpathsea6 riscv64 2023.20230311.66589-9build3 [66.1 kB] Get:147 http://ftpmaster.internal/ubuntu noble/main riscv64 libpaper1 riscv64 1.1.29 [12.6 kB] Get:148 http://ftpmaster.internal/ubuntu noble/main riscv64 libpaper-utils riscv64 1.1.29 [8248 B] Get:149 http://ftpmaster.internal/ubuntu noble/universe riscv64 libpotrace0 riscv64 1.16-2 [15.3 kB] Get:150 http://ftpmaster.internal/ubuntu noble-proposed/main riscv64 libptexenc1 riscv64 2023.20230311.66589-9build3 [40.6 kB] Get:151 http://ftpmaster.internal/ubuntu noble-proposed/main riscv64 libsynctex2 riscv64 2023.20230311.66589-9build3 [61.2 kB] Get:152 http://ftpmaster.internal/ubuntu noble/universe riscv64 libteckit0 riscv64 2.5.12+ds1-1 [359 kB] Get:153 http://ftpmaster.internal/ubuntu noble-proposed/main riscv64 libtexlua53-5 riscv64 2023.20230311.66589-9build3 [124 kB] Get:154 http://ftpmaster.internal/ubuntu noble/main riscv64 libxmu6 riscv64 2:1.1.3-3build2 [49.5 kB] Get:155 http://ftpmaster.internal/ubuntu noble/main riscv64 libxaw7 riscv64 2:1.0.14-1build2 [191 kB] Get:156 http://ftpmaster.internal/ubuntu noble-proposed/universe riscv64 libzzip-0-13t64 riscv64 0.13.72+dfsg.1-1.2build1 [29.9 kB] Get:157 http://ftpmaster.internal/ubuntu noble/main riscv64 t1utils riscv64 1.41-4build2 [55.5 kB] Get:158 http://ftpmaster.internal/ubuntu noble/universe riscv64 tex-common all 6.18 [32.8 kB] Get:159 http://ftpmaster.internal/ubuntu noble-proposed/universe riscv64 texlive-binaries riscv64 2023.20230311.66589-9build3 [8839 kB] Get:160 http://ftpmaster.internal/ubuntu noble/main riscv64 xdg-utils all 1.1.3-4.1ubuntu3 [62.0 kB] Get:161 http://ftpmaster.internal/ubuntu noble/universe riscv64 texlive-base all 2023.20240207-1 [21.7 MB] Get:162 http://ftpmaster.internal/ubuntu noble/universe riscv64 texlive-latex-base all 2023.20240207-1 [1238 kB] Preconfiguring packages ... Fetched 193 MB in 29s (6645 kB/s) Selecting previously unselected package install-info. (Reading database ... 15732 files and directories currently installed.) Preparing to unpack .../install-info_7.1-3build2_riscv64.deb ... Unpacking install-info (7.1-3build2) ... Setting up install-info (7.1-3build2) ... Selecting previously unselected package libdbus-1-3:riscv64. (Reading database ... 15745 files and directories currently installed.) Preparing to unpack .../000-libdbus-1-3_1.14.10-4ubuntu3_riscv64.deb ... Unpacking libdbus-1-3:riscv64 (1.14.10-4ubuntu3) ... Selecting previously unselected package dbus-bin. Preparing to unpack .../001-dbus-bin_1.14.10-4ubuntu3_riscv64.deb ... Unpacking dbus-bin (1.14.10-4ubuntu3) ... Selecting previously unselected package dbus-session-bus-common. Preparing to unpack .../002-dbus-session-bus-common_1.14.10-4ubuntu3_all.deb ... Unpacking dbus-session-bus-common (1.14.10-4ubuntu3) ... Selecting previously unselected package libexpat1:riscv64. Preparing to unpack .../003-libexpat1_2.6.1-2build1_riscv64.deb ... Unpacking libexpat1:riscv64 (2.6.1-2build1) ... Selecting previously unselected package dbus-daemon. Preparing to unpack .../004-dbus-daemon_1.14.10-4ubuntu3_riscv64.deb ... Unpacking dbus-daemon (1.14.10-4ubuntu3) ... Selecting previously unselected package dbus-system-bus-common. Preparing to unpack .../005-dbus-system-bus-common_1.14.10-4ubuntu3_all.deb ... Unpacking dbus-system-bus-common (1.14.10-4ubuntu3) ... Selecting previously unselected package dbus. Preparing to unpack .../006-dbus_1.14.10-4ubuntu3_riscv64.deb ... Unpacking dbus (1.14.10-4ubuntu3) ... Selecting previously unselected package libpam-systemd:riscv64. Preparing to unpack .../007-libpam-systemd_255.4-1ubuntu6_riscv64.deb ... Unpacking libpam-systemd:riscv64 (255.4-1ubuntu6) ... Selecting previously unselected package dbus-user-session. Preparing to unpack .../008-dbus-user-session_1.14.10-4ubuntu3_riscv64.deb ... Unpacking dbus-user-session (1.14.10-4ubuntu3) ... Selecting previously unselected package libbsd0:riscv64. Preparing to unpack .../009-libbsd0_0.12.1-1build1_riscv64.deb ... Unpacking libbsd0:riscv64 (0.12.1-1build1) ... Selecting previously unselected package libelf1t64:riscv64. Preparing to unpack .../010-libelf1t64_0.190-1.1build3_riscv64.deb ... Unpacking libelf1t64:riscv64 (0.190-1.1build3) ... Selecting previously unselected package libfribidi0:riscv64. Preparing to unpack .../011-libfribidi0_1.0.13-3_riscv64.deb ... Unpacking libfribidi0:riscv64 (1.0.13-3) ... Selecting previously unselected package libglib2.0-0t64:riscv64. Preparing to unpack .../012-libglib2.0-0t64_2.80.0-6ubuntu1_riscv64.deb ... Unpacking libglib2.0-0t64:riscv64 (2.80.0-6ubuntu1) ... Selecting previously unselected package libicu74:riscv64. Preparing to unpack .../013-libicu74_74.2-1ubuntu1_riscv64.deb ... Unpacking libicu74:riscv64 (74.2-1ubuntu1) ... Selecting previously unselected package libxml2:riscv64. Preparing to unpack .../014-libxml2_2.9.14+dfsg-1.3ubuntu3_riscv64.deb ... Unpacking libxml2:riscv64 (2.9.14+dfsg-1.3ubuntu3) ... Selecting previously unselected package shared-mime-info. Preparing to unpack .../015-shared-mime-info_2.4-4_riscv64.deb ... Unpacking shared-mime-info (2.4-4) ... Selecting previously unselected package ucf. Preparing to unpack .../016-ucf_3.0043+nmu1_all.deb ... Moving old data out of the way Unpacking ucf (3.0043+nmu1) ... Selecting previously unselected package xkb-data. Preparing to unpack .../017-xkb-data_2.41-2_all.deb ... Unpacking xkb-data (2.41-2) ... Selecting previously unselected package libmagic-mgc. Preparing to unpack .../018-libmagic-mgc_1%3a5.45-3build1_riscv64.deb ... Unpacking libmagic-mgc (1:5.45-3build1) ... Selecting previously unselected package libmagic1t64:riscv64. Preparing to unpack .../019-libmagic1t64_1%3a5.45-3build1_riscv64.deb ... Unpacking libmagic1t64:riscv64 (1:5.45-3build1) ... Selecting previously unselected package file. Preparing to unpack .../020-file_1%3a5.45-3build1_riscv64.deb ... Unpacking file (1:5.45-3build1) ... Selecting previously unselected package gettext-base. Preparing to unpack .../021-gettext-base_0.21-14ubuntu1_riscv64.deb ... Unpacking gettext-base (0.21-14ubuntu1) ... Selecting previously unselected package libuchardet0:riscv64. Preparing to unpack .../022-libuchardet0_0.0.8-1_riscv64.deb ... Unpacking libuchardet0:riscv64 (0.0.8-1) ... Selecting previously unselected package groff-base. Preparing to unpack .../023-groff-base_1.23.0-3build2_riscv64.deb ... Unpacking groff-base (1.23.0-3build2) ... Selecting previously unselected package libedit2:riscv64. Preparing to unpack .../024-libedit2_3.1-20230828-1_riscv64.deb ... Unpacking libedit2:riscv64 (3.1-20230828-1) ... Selecting previously unselected package libpipeline1:riscv64. Preparing to unpack .../025-libpipeline1_1.5.7-2_riscv64.deb ... Unpacking libpipeline1:riscv64 (1.5.7-2) ... Selecting previously unselected package libxau6:riscv64. Preparing to unpack .../026-libxau6_1%3a1.0.9-1build5_riscv64.deb ... Unpacking libxau6:riscv64 (1:1.0.9-1build5) ... Selecting previously unselected package libxdmcp6:riscv64. Preparing to unpack .../027-libxdmcp6_1%3a1.1.3-0ubuntu5_riscv64.deb ... Unpacking libxdmcp6:riscv64 (1:1.1.3-0ubuntu5) ... Selecting previously unselected package libxcb1:riscv64. Preparing to unpack .../028-libxcb1_1.15-1_riscv64.deb ... Unpacking libxcb1:riscv64 (1.15-1) ... Selecting previously unselected package libx11-data. Preparing to unpack .../029-libx11-data_2%3a1.8.7-1_all.deb ... Unpacking libx11-data (2:1.8.7-1) ... Selecting previously unselected package libx11-6:riscv64. Preparing to unpack .../030-libx11-6_2%3a1.8.7-1_riscv64.deb ... Unpacking libx11-6:riscv64 (2:1.8.7-1) ... Selecting previously unselected package libxext6:riscv64. Preparing to unpack .../031-libxext6_2%3a1.3.4-1build1_riscv64.deb ... Unpacking libxext6:riscv64 (2:1.3.4-1build1) ... Selecting previously unselected package man-db. Preparing to unpack .../032-man-db_2.12.0-4build1_riscv64.deb ... Unpacking man-db (2.12.0-4build1) ... Selecting previously unselected package libgdk-pixbuf2.0-common. Preparing to unpack .../033-libgdk-pixbuf2.0-common_2.42.10+dfsg-3ubuntu2_all.deb ... Unpacking libgdk-pixbuf2.0-common (2.42.10+dfsg-3ubuntu2) ... Selecting previously unselected package libjpeg-turbo8:riscv64. Preparing to unpack .../034-libjpeg-turbo8_2.1.5-2ubuntu1_riscv64.deb ... Unpacking libjpeg-turbo8:riscv64 (2.1.5-2ubuntu1) ... Selecting previously unselected package libjpeg8:riscv64. Preparing to unpack .../035-libjpeg8_8c-2ubuntu11_riscv64.deb ... Unpacking libjpeg8:riscv64 (8c-2ubuntu11) ... Selecting previously unselected package libdeflate0:riscv64. Preparing to unpack .../036-libdeflate0_1.19-1_riscv64.deb ... Unpacking libdeflate0:riscv64 (1.19-1) ... Selecting previously unselected package libjbig0:riscv64. Preparing to unpack .../037-libjbig0_2.1-6.1ubuntu1_riscv64.deb ... Unpacking libjbig0:riscv64 (2.1-6.1ubuntu1) ... Selecting previously unselected package liblerc4:riscv64. Preparing to unpack .../038-liblerc4_4.0.0+ds-4ubuntu1_riscv64.deb ... Unpacking liblerc4:riscv64 (4.0.0+ds-4ubuntu1) ... Selecting previously unselected package libsharpyuv0:riscv64. Preparing to unpack .../039-libsharpyuv0_1.3.2-0.4build3_riscv64.deb ... Unpacking libsharpyuv0:riscv64 (1.3.2-0.4build3) ... Selecting previously unselected package libwebp7:riscv64. Preparing to unpack .../040-libwebp7_1.3.2-0.4build3_riscv64.deb ... Unpacking libwebp7:riscv64 (1.3.2-0.4build3) ... Selecting previously unselected package libtiff6:riscv64. Preparing to unpack .../041-libtiff6_4.5.1+git230720-4ubuntu2_riscv64.deb ... Unpacking libtiff6:riscv64 (4.5.1+git230720-4ubuntu2) ... Selecting previously unselected package libgdk-pixbuf-2.0-0:riscv64. Preparing to unpack .../042-libgdk-pixbuf-2.0-0_2.42.10+dfsg-3ubuntu2_riscv64.deb ... Unpacking libgdk-pixbuf-2.0-0:riscv64 (2.42.10+dfsg-3ubuntu2) ... Selecting previously unselected package gtk-update-icon-cache. Preparing to unpack .../043-gtk-update-icon-cache_3.24.41-1.1ubuntu4_riscv64.deb ... Unpacking gtk-update-icon-cache (3.24.41-1.1ubuntu4) ... Selecting previously unselected package hicolor-icon-theme. Preparing to unpack .../044-hicolor-icon-theme_0.17-2_all.deb ... Unpacking hicolor-icon-theme (0.17-2) ... Selecting previously unselected package humanity-icon-theme. Preparing to unpack .../045-humanity-icon-theme_0.6.16_all.deb ... Unpacking humanity-icon-theme (0.6.16) ... Selecting previously unselected package ubuntu-mono. Preparing to unpack .../046-ubuntu-mono_24.04-0ubuntu1_all.deb ... Unpacking ubuntu-mono (24.04-0ubuntu1) ... Selecting previously unselected package adwaita-icon-theme. Preparing to unpack .../047-adwaita-icon-theme_46.0-1_all.deb ... Unpacking adwaita-icon-theme (46.0-1) ... Selecting previously unselected package at-spi2-common. Preparing to unpack .../048-at-spi2-common_2.52.0-1_all.deb ... Unpacking at-spi2-common (2.52.0-1) ... Selecting previously unselected package m4. Preparing to unpack .../049-m4_1.4.19-4_riscv64.deb ... Unpacking m4 (1.4.19-4) ... Selecting previously unselected package autoconf. Preparing to unpack .../050-autoconf_2.71-3_all.deb ... Unpacking autoconf (2.71-3) ... Selecting previously unselected package autotools-dev. Preparing to unpack .../051-autotools-dev_20220109.1_all.deb ... Unpacking autotools-dev (20220109.1) ... Selecting previously unselected package automake. Preparing to unpack .../052-automake_1%3a1.16.5-1.3ubuntu1_all.deb ... Unpacking automake (1:1.16.5-1.3ubuntu1) ... Selecting previously unselected package autopoint. Preparing to unpack .../053-autopoint_0.21-14ubuntu1_all.deb ... Unpacking autopoint (0.21-14ubuntu1) ... Selecting previously unselected package libdconf1:riscv64. Preparing to unpack .../054-libdconf1_0.40.0-4build2_riscv64.deb ... Unpacking libdconf1:riscv64 (0.40.0-4build2) ... Selecting previously unselected package dconf-service. Preparing to unpack .../055-dconf-service_0.40.0-4build2_riscv64.deb ... Unpacking dconf-service (0.40.0-4build2) ... Selecting previously unselected package dconf-gsettings-backend:riscv64. Preparing to unpack .../056-dconf-gsettings-backend_0.40.0-4build2_riscv64.deb ... Unpacking dconf-gsettings-backend:riscv64 (0.40.0-4build2) ... Selecting previously unselected package libdebhelper-perl. Preparing to unpack .../057-libdebhelper-perl_13.14.1ubuntu5_all.deb ... Unpacking libdebhelper-perl (13.14.1ubuntu5) ... Selecting previously unselected package libtool. Preparing to unpack .../058-libtool_2.4.7-7_all.deb ... Unpacking libtool (2.4.7-7) ... Selecting previously unselected package dh-autoreconf. Preparing to unpack .../059-dh-autoreconf_20_all.deb ... Unpacking dh-autoreconf (20) ... Selecting previously unselected package libarchive-zip-perl. Preparing to unpack .../060-libarchive-zip-perl_1.68-1_all.deb ... Unpacking libarchive-zip-perl (1.68-1) ... Selecting previously unselected package libsub-override-perl. Preparing to unpack .../061-libsub-override-perl_0.10-1_all.deb ... Unpacking libsub-override-perl (0.10-1) ... Selecting previously unselected package libfile-stripnondeterminism-perl. Preparing to unpack .../062-libfile-stripnondeterminism-perl_1.13.1-1_all.deb ... Unpacking libfile-stripnondeterminism-perl (1.13.1-1) ... Selecting previously unselected package dh-strip-nondeterminism. Preparing to unpack .../063-dh-strip-nondeterminism_1.13.1-1_all.deb ... Unpacking dh-strip-nondeterminism (1.13.1-1) ... Selecting previously unselected package libdw1t64:riscv64. Preparing to unpack .../064-libdw1t64_0.190-1.1build3_riscv64.deb ... Unpacking libdw1t64:riscv64 (0.190-1.1build3) ... Selecting previously unselected package debugedit. Preparing to unpack .../065-debugedit_1%3a5.0-5build1_riscv64.deb ... Unpacking debugedit (1:5.0-5build1) ... Selecting previously unselected package dwz. Preparing to unpack .../066-dwz_0.15-1build6_riscv64.deb ... Unpacking dwz (0.15-1build6) ... Selecting previously unselected package gettext. Preparing to unpack .../067-gettext_0.21-14ubuntu1_riscv64.deb ... Unpacking gettext (0.21-14ubuntu1) ... Selecting previously unselected package intltool-debian. Preparing to unpack .../068-intltool-debian_0.35.0+20060710.6_all.deb ... Unpacking intltool-debian (0.35.0+20060710.6) ... Selecting previously unselected package po-debconf. Preparing to unpack .../069-po-debconf_1.0.21+nmu1_all.deb ... Unpacking po-debconf (1.0.21+nmu1) ... Selecting previously unselected package debhelper. Preparing to unpack .../070-debhelper_13.14.1ubuntu5_all.deb ... Unpacking debhelper (13.14.1ubuntu5) ... Selecting previously unselected package emacs-el. Preparing to unpack .../071-emacs-el_1%3a29.3+1-1ubuntu2_all.deb ... Unpacking emacs-el (1:29.3+1-1ubuntu2) ... Selecting previously unselected package emacsen-common. Preparing to unpack .../072-emacsen-common_3.0.5_all.deb ... Unpacking emacsen-common (3.0.5) ... Selecting previously unselected package emacs-common. Preparing to unpack .../073-emacs-common_1%3a29.3+1-1ubuntu2_all.deb ... Unpacking emacs-common (1:29.3+1-1ubuntu2) ... Selecting previously unselected package emacs-bin-common. Preparing to unpack .../074-emacs-bin-common_1%3a29.3+1-1ubuntu2_riscv64.deb ... Unpacking emacs-bin-common (1:29.3+1-1ubuntu2) ... Selecting previously unselected package libasound2-data. Preparing to unpack .../075-libasound2-data_1.2.11-1build2_all.deb ... Unpacking libasound2-data (1.2.11-1build2) ... Selecting previously unselected package libasound2t64:riscv64. Preparing to unpack .../076-libasound2t64_1.2.11-1build2_riscv64.deb ... Unpacking libasound2t64:riscv64 (1.2.11-1build2) ... Selecting previously unselected package libbrotli1:riscv64. Preparing to unpack .../077-libbrotli1_1.1.0-2build2_riscv64.deb ... Unpacking libbrotli1:riscv64 (1.1.0-2build2) ... Selecting previously unselected package libfreetype6:riscv64. Preparing to unpack .../078-libfreetype6_2.13.2+dfsg-1build3_riscv64.deb ... Unpacking libfreetype6:riscv64 (2.13.2+dfsg-1build3) ... Selecting previously unselected package fonts-dejavu-mono. Preparing to unpack .../079-fonts-dejavu-mono_2.37-8_all.deb ... Unpacking fonts-dejavu-mono (2.37-8) ... Selecting previously unselected package fonts-dejavu-core. Preparing to unpack .../080-fonts-dejavu-core_2.37-8_all.deb ... Unpacking fonts-dejavu-core (2.37-8) ... Selecting previously unselected package fontconfig-config. Preparing to unpack .../081-fontconfig-config_2.15.0-1.1ubuntu2_riscv64.deb ... Unpacking fontconfig-config (2.15.0-1.1ubuntu2) ... Selecting previously unselected package libfontconfig1:riscv64. Preparing to unpack .../082-libfontconfig1_2.15.0-1.1ubuntu2_riscv64.deb ... Unpacking libfontconfig1:riscv64 (2.15.0-1.1ubuntu2) ... Selecting previously unselected package libpixman-1-0:riscv64. Preparing to unpack .../083-libpixman-1-0_0.42.2-1_riscv64.deb ... Unpacking libpixman-1-0:riscv64 (0.42.2-1) ... Selecting previously unselected package libxcb-render0:riscv64. Preparing to unpack .../084-libxcb-render0_1.15-1_riscv64.deb ... Unpacking libxcb-render0:riscv64 (1.15-1) ... Selecting previously unselected package libxcb-shm0:riscv64. Preparing to unpack .../085-libxcb-shm0_1.15-1_riscv64.deb ... Unpacking libxcb-shm0:riscv64 (1.15-1) ... Selecting previously unselected package libxrender1:riscv64. Preparing to unpack .../086-libxrender1_1%3a0.9.10-1.1_riscv64.deb ... Unpacking libxrender1:riscv64 (1:0.9.10-1.1) ... Selecting previously unselected package libcairo2:riscv64. Preparing to unpack .../087-libcairo2_1.18.0-3_riscv64.deb ... Unpacking libcairo2:riscv64 (1.18.0-3) ... Selecting previously unselected package libgif7:riscv64. Preparing to unpack .../088-libgif7_5.2.2-1_riscv64.deb ... Unpacking libgif7:riscv64 (5.2.2-1) ... Selecting previously unselected package libatk1.0-0t64:riscv64. Preparing to unpack .../089-libatk1.0-0t64_2.52.0-1_riscv64.deb ... Unpacking libatk1.0-0t64:riscv64 (2.52.0-1) ... Selecting previously unselected package libxi6:riscv64. Preparing to unpack .../090-libxi6_2%3a1.8.1-1_riscv64.deb ... Unpacking libxi6:riscv64 (2:1.8.1-1) ... Selecting previously unselected package libatspi2.0-0t64:riscv64. Preparing to unpack .../091-libatspi2.0-0t64_2.52.0-1_riscv64.deb ... Unpacking libatspi2.0-0t64:riscv64 (2.52.0-1) ... Selecting previously unselected package libatk-bridge2.0-0t64:riscv64. Preparing to unpack .../092-libatk-bridge2.0-0t64_2.52.0-1_riscv64.deb ... Unpacking libatk-bridge2.0-0t64:riscv64 (2.52.0-1) ... Selecting previously unselected package libcairo-gobject2:riscv64. Preparing to unpack .../093-libcairo-gobject2_1.18.0-3_riscv64.deb ... Unpacking libcairo-gobject2:riscv64 (1.18.0-3) ... Selecting previously unselected package liblcms2-2:riscv64. Preparing to unpack .../094-liblcms2-2_2.14-2_riscv64.deb ... Unpacking liblcms2-2:riscv64 (2.14-2) ... Selecting previously unselected package libcolord2:riscv64. Preparing to unpack .../095-libcolord2_1.4.7-1build2_riscv64.deb ... Unpacking libcolord2:riscv64 (1.4.7-1build2) ... Selecting previously unselected package libavahi-common-data:riscv64. Preparing to unpack .../096-libavahi-common-data_0.8-13ubuntu5_riscv64.deb ... Unpacking libavahi-common-data:riscv64 (0.8-13ubuntu5) ... Selecting previously unselected package libavahi-common3:riscv64. Preparing to unpack .../097-libavahi-common3_0.8-13ubuntu5_riscv64.deb ... Unpacking libavahi-common3:riscv64 (0.8-13ubuntu5) ... Selecting previously unselected package libavahi-client3:riscv64. Preparing to unpack .../098-libavahi-client3_0.8-13ubuntu5_riscv64.deb ... Unpacking libavahi-client3:riscv64 (0.8-13ubuntu5) ... Selecting previously unselected package libcups2t64:riscv64. Preparing to unpack .../099-libcups2t64_2.4.7-1.2ubuntu3_riscv64.deb ... Unpacking libcups2t64:riscv64 (2.4.7-1.2ubuntu3) ... Selecting previously unselected package libepoxy0:riscv64. Preparing to unpack .../100-libepoxy0_1.5.10-1_riscv64.deb ... Unpacking libepoxy0:riscv64 (1.5.10-1) ... Selecting previously unselected package libgraphite2-3:riscv64. Preparing to unpack .../101-libgraphite2-3_1.3.14-2_riscv64.deb ... Unpacking libgraphite2-3:riscv64 (1.3.14-2) ... Selecting previously unselected package libharfbuzz0b:riscv64. Preparing to unpack .../102-libharfbuzz0b_8.3.0-2build2_riscv64.deb ... Unpacking libharfbuzz0b:riscv64 (8.3.0-2build2) ... Selecting previously unselected package fontconfig. Preparing to unpack .../103-fontconfig_2.15.0-1.1ubuntu2_riscv64.deb ... Unpacking fontconfig (2.15.0-1.1ubuntu2) ... Selecting previously unselected package libthai-data. Preparing to unpack .../104-libthai-data_0.1.29-2_all.deb ... Unpacking libthai-data (0.1.29-2) ... Selecting previously unselected package libdatrie1:riscv64. Preparing to unpack .../105-libdatrie1_0.2.13-3_riscv64.deb ... Unpacking libdatrie1:riscv64 (0.2.13-3) ... Selecting previously unselected package libthai0:riscv64. Preparing to unpack .../106-libthai0_0.1.29-2_riscv64.deb ... Unpacking libthai0:riscv64 (0.1.29-2) ... Selecting previously unselected package libpango-1.0-0:riscv64. Preparing to unpack .../107-libpango-1.0-0_1.52.1+ds-1build1_riscv64.deb ... Unpacking libpango-1.0-0:riscv64 (1.52.1+ds-1build1) ... Selecting previously unselected package libpangoft2-1.0-0:riscv64. Preparing to unpack .../108-libpangoft2-1.0-0_1.52.1+ds-1build1_riscv64.deb ... Unpacking libpangoft2-1.0-0:riscv64 (1.52.1+ds-1build1) ... Selecting previously unselected package libpangocairo-1.0-0:riscv64. Preparing to unpack .../109-libpangocairo-1.0-0_1.52.1+ds-1build1_riscv64.deb ... Unpacking libpangocairo-1.0-0:riscv64 (1.52.1+ds-1build1) ... Selecting previously unselected package libwayland-client0:riscv64. Preparing to unpack .../110-libwayland-client0_1.22.0-2.1_riscv64.deb ... Unpacking libwayland-client0:riscv64 (1.22.0-2.1) ... Selecting previously unselected package libwayland-cursor0:riscv64. Preparing to unpack .../111-libwayland-cursor0_1.22.0-2.1_riscv64.deb ... Unpacking libwayland-cursor0:riscv64 (1.22.0-2.1) ... Selecting previously unselected package libwayland-egl1:riscv64. Preparing to unpack .../112-libwayland-egl1_1.22.0-2.1_riscv64.deb ... Unpacking libwayland-egl1:riscv64 (1.22.0-2.1) ... Selecting previously unselected package libxcomposite1:riscv64. Preparing to unpack .../113-libxcomposite1_1%3a0.4.5-1build2_riscv64.deb ... Unpacking libxcomposite1:riscv64 (1:0.4.5-1build2) ... Selecting previously unselected package libxfixes3:riscv64. Preparing to unpack .../114-libxfixes3_1%3a6.0.0-2_riscv64.deb ... Unpacking libxfixes3:riscv64 (1:6.0.0-2) ... Selecting previously unselected package libxcursor1:riscv64. Preparing to unpack .../115-libxcursor1_1%3a1.2.1-1_riscv64.deb ... Unpacking libxcursor1:riscv64 (1:1.2.1-1) ... Selecting previously unselected package libxdamage1:riscv64. Preparing to unpack .../116-libxdamage1_1%3a1.1.6-1_riscv64.deb ... Unpacking libxdamage1:riscv64 (1:1.1.6-1) ... Selecting previously unselected package libxinerama1:riscv64. Preparing to unpack .../117-libxinerama1_2%3a1.1.4-3_riscv64.deb ... Unpacking libxinerama1:riscv64 (2:1.1.4-3) ... Selecting previously unselected package libxkbcommon0:riscv64. Preparing to unpack .../118-libxkbcommon0_1.6.0-1_riscv64.deb ... Unpacking libxkbcommon0:riscv64 (1.6.0-1) ... Selecting previously unselected package libxrandr2:riscv64. Preparing to unpack .../119-libxrandr2_2%3a1.5.2-2_riscv64.deb ... Unpacking libxrandr2:riscv64 (2:1.5.2-2) ... Selecting previously unselected package libgtk-3-common. Preparing to unpack .../120-libgtk-3-common_3.24.41-1.1ubuntu4_all.deb ... Unpacking libgtk-3-common (3.24.41-1.1ubuntu4) ... Selecting previously unselected package libgtk-3-0t64:riscv64. Preparing to unpack .../121-libgtk-3-0t64_3.24.41-1.1ubuntu4_riscv64.deb ... Unpacking libgtk-3-0t64:riscv64 (3.24.41-1.1ubuntu4) ... Selecting previously unselected package x11-common. Preparing to unpack .../122-x11-common_1%3a7.7+23ubuntu2_all.deb ... Unpacking x11-common (1:7.7+23ubuntu2) ... Selecting previously unselected package libice6:riscv64. Preparing to unpack .../123-libice6_2%3a1.0.10-1build2_riscv64.deb ... Unpacking libice6:riscv64 (2:1.0.10-1build2) ... Selecting previously unselected package m17n-db. Preparing to unpack .../124-m17n-db_1.8.5-1_all.deb ... Unpacking m17n-db (1.8.5-1) ... Selecting previously unselected package libxpm4:riscv64. Preparing to unpack .../125-libxpm4_1%3a3.5.17-1build2_riscv64.deb ... Unpacking libxpm4:riscv64 (1:3.5.17-1build2) ... Selecting previously unselected package libgd3:riscv64. Preparing to unpack .../126-libgd3_2.3.3-9ubuntu4_riscv64.deb ... Unpacking libgd3:riscv64 (2.3.3-9ubuntu4) ... Selecting previously unselected package libotf1:riscv64. Preparing to unpack .../127-libotf1_0.9.16-4build2_riscv64.deb ... Unpacking libotf1:riscv64 (0.9.16-4build2) ... Selecting previously unselected package libxft2:riscv64. Preparing to unpack .../128-libxft2_2.3.6-1_riscv64.deb ... Unpacking libxft2:riscv64 (2.3.6-1) ... Selecting previously unselected package libsm6:riscv64. Preparing to unpack .../129-libsm6_2%3a1.2.3-1build2_riscv64.deb ... Unpacking libsm6:riscv64 (2:1.2.3-1build2) ... Selecting previously unselected package libxt6t64:riscv64. Preparing to unpack .../130-libxt6t64_1%3a1.2.1-1.2build1_riscv64.deb ... Unpacking libxt6t64:riscv64 (1:1.2.1-1.2build1) ... Selecting previously unselected package libm17n-0:riscv64. Preparing to unpack .../131-libm17n-0_1.8.4-1build2_riscv64.deb ... Unpacking libm17n-0:riscv64 (1.8.4-1build2) ... Selecting previously unselected package librsvg2-2:riscv64. Preparing to unpack .../132-librsvg2-2_2.58.0+dfsg-1build1_riscv64.deb ... Unpacking librsvg2-2:riscv64 (2.58.0+dfsg-1build1) ... Selecting previously unselected package libtree-sitter0:riscv64. Preparing to unpack .../133-libtree-sitter0_0.20.8-2_riscv64.deb ... Unpacking libtree-sitter0:riscv64 (0.20.8-2) ... Selecting previously unselected package libwebpdecoder3:riscv64. Preparing to unpack .../134-libwebpdecoder3_1.3.2-0.4build3_riscv64.deb ... Unpacking libwebpdecoder3:riscv64 (1.3.2-0.4build3) ... Selecting previously unselected package libwebpdemux2:riscv64. Preparing to unpack .../135-libwebpdemux2_1.3.2-0.4build3_riscv64.deb ... Unpacking libwebpdemux2:riscv64 (1.3.2-0.4build3) ... Selecting previously unselected package emacs-gtk. Preparing to unpack .../136-emacs-gtk_1%3a29.3+1-1ubuntu2_riscv64.deb ... Unpacking emacs-gtk (1:29.3+1-1ubuntu2) ... Selecting previously unselected package emacs. Preparing to unpack .../137-emacs_1%3a29.3+1-1ubuntu2_all.deb ... Unpacking emacs (1:29.3+1-1ubuntu2) ... Selecting previously unselected package fonts-lmodern. Preparing to unpack .../138-fonts-lmodern_2.005-1_all.deb ... Unpacking fonts-lmodern (2.005-1) ... Selecting previously unselected package libtcl8.6:riscv64. Preparing to unpack .../139-libtcl8.6_8.6.14+dfsg-1build1_riscv64.deb ... Unpacking libtcl8.6:riscv64 (8.6.14+dfsg-1build1) ... Selecting previously unselected package libxss1:riscv64. Preparing to unpack .../140-libxss1_1%3a1.2.3-1build2_riscv64.deb ... Unpacking libxss1:riscv64 (1:1.2.3-1build2) ... Selecting previously unselected package libtk8.6:riscv64. Preparing to unpack .../141-libtk8.6_8.6.14-1build1_riscv64.deb ... Unpacking libtk8.6:riscv64 (8.6.14-1build1) ... Selecting previously unselected package gcl. Preparing to unpack .../142-gcl_2.6.14-8build1_riscv64.deb ... Unpacking gcl (2.6.14-8build1) ... Selecting previously unselected package libkpathsea6:riscv64. Preparing to unpack .../143-libkpathsea6_2023.20230311.66589-9build3_riscv64.deb ... Unpacking libkpathsea6:riscv64 (2023.20230311.66589-9build3) ... Selecting previously unselected package libpaper1:riscv64. Preparing to unpack .../144-libpaper1_1.1.29_riscv64.deb ... Unpacking libpaper1:riscv64 (1.1.29) ... Selecting previously unselected package libpaper-utils. Preparing to unpack .../145-libpaper-utils_1.1.29_riscv64.deb ... Unpacking libpaper-utils (1.1.29) ... Selecting previously unselected package libpotrace0:riscv64. Preparing to unpack .../146-libpotrace0_1.16-2_riscv64.deb ... Unpacking libpotrace0:riscv64 (1.16-2) ... Selecting previously unselected package libptexenc1:riscv64. Preparing to unpack .../147-libptexenc1_2023.20230311.66589-9build3_riscv64.deb ... Unpacking libptexenc1:riscv64 (2023.20230311.66589-9build3) ... Selecting previously unselected package libsynctex2:riscv64. Preparing to unpack .../148-libsynctex2_2023.20230311.66589-9build3_riscv64.deb ... Unpacking libsynctex2:riscv64 (2023.20230311.66589-9build3) ... Selecting previously unselected package libteckit0:riscv64. Preparing to unpack .../149-libteckit0_2.5.12+ds1-1_riscv64.deb ... Unpacking libteckit0:riscv64 (2.5.12+ds1-1) ... Selecting previously unselected package libtexlua53-5:riscv64. Preparing to unpack .../150-libtexlua53-5_2023.20230311.66589-9build3_riscv64.deb ... Unpacking libtexlua53-5:riscv64 (2023.20230311.66589-9build3) ... Selecting previously unselected package libxmu6:riscv64. Preparing to unpack .../151-libxmu6_2%3a1.1.3-3build2_riscv64.deb ... Unpacking libxmu6:riscv64 (2:1.1.3-3build2) ... Selecting previously unselected package libxaw7:riscv64. Preparing to unpack .../152-libxaw7_2%3a1.0.14-1build2_riscv64.deb ... Unpacking libxaw7:riscv64 (2:1.0.14-1build2) ... Selecting previously unselected package libzzip-0-13t64:riscv64. Preparing to unpack .../153-libzzip-0-13t64_0.13.72+dfsg.1-1.2build1_riscv64.deb ... Unpacking libzzip-0-13t64:riscv64 (0.13.72+dfsg.1-1.2build1) ... Selecting previously unselected package t1utils. Preparing to unpack .../154-t1utils_1.41-4build2_riscv64.deb ... Unpacking t1utils (1.41-4build2) ... Selecting previously unselected package tex-common. Preparing to unpack .../155-tex-common_6.18_all.deb ... Unpacking tex-common (6.18) ... Selecting previously unselected package texlive-binaries. Preparing to unpack .../156-texlive-binaries_2023.20230311.66589-9build3_riscv64.deb ... Unpacking texlive-binaries (2023.20230311.66589-9build3) ... Selecting previously unselected package xdg-utils. Preparing to unpack .../157-xdg-utils_1.1.3-4.1ubuntu3_all.deb ... Unpacking xdg-utils (1.1.3-4.1ubuntu3) ... Selecting previously unselected package texlive-base. Preparing to unpack .../158-texlive-base_2023.20240207-1_all.deb ... Unpacking texlive-base (2023.20240207-1) ... Selecting previously unselected package texlive-latex-base. Preparing to unpack .../159-texlive-latex-base_2023.20240207-1_all.deb ... Unpacking texlive-latex-base (2023.20240207-1) ... Selecting previously unselected package sbuild-build-depends-main-dummy. Preparing to unpack .../160-sbuild-build-depends-main-dummy_0.invalid.0_riscv64.deb ... Unpacking sbuild-build-depends-main-dummy (0.invalid.0) ... Setting up libexpat1:riscv64 (2.6.1-2build1) ... Setting up libpipeline1:riscv64 (1.5.7-2) ... Setting up libgraphite2-3:riscv64 (1.3.14-2) ... Setting up liblcms2-2:riscv64 (2.14-2) ... Setting up libpixman-1-0:riscv64 (0.42.2-1) ... Setting up libsharpyuv0:riscv64 (1.3.2-0.4build3) ... Setting up libxau6:riscv64 (1:1.0.9-1build5) ... Setting up liblerc4:riscv64 (4.0.0+ds-4ubuntu1) ... Setting up hicolor-icon-theme (0.17-2) ... Setting up libdatrie1:riscv64 (0.2.13-3) ... Setting up libmagic-mgc (1:5.45-3build1) ... Setting up libarchive-zip-perl (1.68-1) ... Setting up libdebhelper-perl (13.14.1ubuntu5) ... Setting up libbrotli1:riscv64 (1.1.0-2build2) ... Setting up libgdk-pixbuf2.0-common (2.42.10+dfsg-3ubuntu2) ... Setting up libmagic1t64:riscv64 (1:5.45-3build1) ... Setting up x11-common (1:7.7+23ubuntu2) ... Running in chroot, ignoring request. invoke-rc.d: policy-rc.d denied execution of start. Setting up libdeflate0:riscv64 (1.19-1) ... Setting up m17n-db (1.8.5-1) ... Setting up libwebpdecoder3:riscv64 (1.3.2-0.4build3) ... Setting up gettext-base (0.21-14ubuntu1) ... Setting up m4 (1.4.19-4) ... Setting up xkb-data (2.41-2) ... Setting up file (1:5.45-3build1) ... Setting up libjbig0:riscv64 (2.1-6.1ubuntu1) ... Setting up libelf1t64:riscv64 (0.190-1.1build3) ... Setting up libdw1t64:riscv64 (0.190-1.1build3) ... Setting up libasound2-data (1.2.11-1build2) ... Setting up autotools-dev (20220109.1) ... Setting up libglib2.0-0t64:riscv64 (2.80.0-6ubuntu1) ... Setting up libasound2t64:riscv64 (1.2.11-1build2) ... Setting up libtree-sitter0:riscv64 (0.20.8-2) ... Setting up emacsen-common (3.0.5) ... Setting up libzzip-0-13t64:riscv64 (0.13.72+dfsg.1-1.2build1) ... Setting up libfreetype6:riscv64 (2.13.2+dfsg-1build3) ... Setting up libx11-data (2:1.8.7-1) ... Setting up libepoxy0:riscv64 (1.5.10-1) ... Setting up libteckit0:riscv64 (2.5.12+ds1-1) ... Setting up libavahi-common-data:riscv64 (0.8-13ubuntu5) ... Setting up libdbus-1-3:riscv64 (1.14.10-4ubuntu3) ... Setting up libfribidi0:riscv64 (1.0.13-3) ... Setting up t1utils (1.41-4build2) ... Setting up libtexlua53-5:riscv64 (2023.20230311.66589-9build3) ... Setting up fonts-dejavu-mono (2.37-8) ... Setting up libtcl8.6:riscv64 (8.6.14+dfsg-1build1) ... Setting up autopoint (0.21-14ubuntu1) ... Setting up fonts-dejavu-core (2.37-8) ... Setting up ucf (3.0043+nmu1) ... Setting up libjpeg-turbo8:riscv64 (2.1.5-2ubuntu1) ... Setting up libkpathsea6:riscv64 (2023.20230311.66589-9build3) ... Setting up autoconf (2.71-3) ... Setting up libwebp7:riscv64 (1.3.2-0.4build3) ... Setting up libicu74:riscv64 (74.2-1ubuntu1) ... Setting up libgif7:riscv64 (5.2.2-1) ... Setting up dwz (0.15-1build6) ... Setting up at-spi2-common (2.52.0-1) ... Setting up dbus-session-bus-common (1.14.10-4ubuntu3) ... Setting up libuchardet0:riscv64 (0.0.8-1) ... Setting up debugedit (1:5.0-5build1) ... Setting up fonts-lmodern (2.005-1) ... Setting up libsub-override-perl (0.10-1) ... Setting up libharfbuzz0b:riscv64 (8.3.0-2build2) ... Setting up libthai-data (0.1.29-2) ... Setting up libwayland-egl1:riscv64 (1.22.0-2.1) ... Setting up dbus-system-bus-common (1.14.10-4ubuntu3) ... Setting up libbsd0:riscv64 (0.12.1-1build1) ... Setting up libxml2:riscv64 (2.9.14+dfsg-1.3ubuntu3) ... Setting up xdg-utils (1.1.3-4.1ubuntu3) ... update-alternatives: using /usr/bin/xdg-open to provide /usr/bin/open (open) in auto mode Setting up dbus-bin (1.14.10-4ubuntu3) ... Setting up libsynctex2:riscv64 (2023.20230311.66589-9build3) ... Setting up libxkbcommon0:riscv64 (1.6.0-1) ... Setting up libpotrace0:riscv64 (1.16-2) ... Setting up libwayland-client0:riscv64 (1.22.0-2.1) ... Setting up libjpeg8:riscv64 (8c-2ubuntu11) ... Setting up libotf1:riscv64 (0.9.16-4build2) ... Setting up automake (1:1.16.5-1.3ubuntu1) ... update-alternatives: using /usr/bin/automake-1.16 to provide /usr/bin/automake (automake) in auto mode Setting up libfile-stripnondeterminism-perl (1.13.1-1) ... Setting up libpaper1:riscv64 (1.1.29) ... Creating config file /etc/papersize with new version Setting up libice6:riscv64 (2:1.0.10-1build2) ... Setting up libxdmcp6:riscv64 (1:1.1.3-0ubuntu5) ... Setting up libxcb1:riscv64 (1.15-1) ... Setting up gettext (0.21-14ubuntu1) ... Setting up libatk1.0-0t64:riscv64 (2.52.0-1) ... Setting up libtool (2.4.7-7) ... Setting up libxcb-render0:riscv64 (1.15-1) ... Setting up fontconfig-config (2.15.0-1.1ubuntu2) ... Setting up libwebpdemux2:riscv64 (1.3.2-0.4build3) ... Setting up libedit2:riscv64 (3.1-20230828-1) ... Setting up libavahi-common3:riscv64 (0.8-13ubuntu5) ... Setting up libxcb-shm0:riscv64 (1.15-1) ... Setting up dbus-daemon (1.14.10-4ubuntu3) ... Setting up libpaper-utils (1.1.29) ... Setting up libcolord2:riscv64 (1.4.7-1build2) ... Setting up intltool-debian (0.35.0+20060710.6) ... Setting up libdconf1:riscv64 (0.40.0-4build2) ... Setting up dh-autoreconf (20) ... Setting up tex-common (6.18) ... update-language: texlive-base not installed and configured, doing nothing! Setting up libthai0:riscv64 (0.1.29-2) ... Setting up libptexenc1:riscv64 (2023.20230311.66589-9build3) ... Setting up dbus (1.14.10-4ubuntu3) ... Setting up shared-mime-info (2.4-4) ... Setting up dh-strip-nondeterminism (1.13.1-1) ... Setting up groff-base (1.23.0-3build2) ... Setting up libtiff6:riscv64 (4.5.1+git230720-4ubuntu2) ... Setting up libwayland-cursor0:riscv64 (1.22.0-2.1) ... Setting up libpam-systemd:riscv64 (255.4-1ubuntu6) ... Setting up libx11-6:riscv64 (2:1.8.7-1) ... Setting up libgdk-pixbuf-2.0-0:riscv64 (2.42.10+dfsg-3ubuntu2) ... Setting up libfontconfig1:riscv64 (2.15.0-1.1ubuntu2) ... Setting up libxcomposite1:riscv64 (1:0.4.5-1build2) ... Setting up libsm6:riscv64 (2:1.2.3-1build2) ... Setting up libavahi-client3:riscv64 (0.8-13ubuntu5) ... Setting up gtk-update-icon-cache (3.24.41-1.1ubuntu4) ... Setting up fontconfig (2.15.0-1.1ubuntu2) ... Regenerating fonts cache... done. Setting up libxdamage1:riscv64 (1:1.1.6-1) ... Setting up libxpm4:riscv64 (1:3.5.17-1build2) ... Setting up libxrender1:riscv64 (1:0.9.10-1.1) ... Setting up po-debconf (1.0.21+nmu1) ... Setting up libpango-1.0-0:riscv64 (1.52.1+ds-1build1) ... Setting up libxext6:riscv64 (2:1.3.4-1build1) ... Setting up man-db (2.12.0-4build1) ... Not building database; man-db/auto-update is not 'true'. Created symlink /etc/systemd/system/timers.target.wants/man-db.timer → /usr/lib/systemd/system/man-db.timer. Setting up libcairo2:riscv64 (1.18.0-3) ... Setting up dbus-user-session (1.14.10-4ubuntu3) ... Setting up libxfixes3:riscv64 (1:6.0.0-2) ... Setting up libxinerama1:riscv64 (2:1.1.4-3) ... Setting up libxt6t64:riscv64 (1:1.2.1-1.2build1) ... Setting up libgd3:riscv64 (2.3.3-9ubuntu4) ... Setting up libxrandr2:riscv64 (2:1.5.2-2) ... Setting up libcairo-gobject2:riscv64 (1.18.0-3) ... Setting up libxss1:riscv64 (1:1.2.3-1build2) ... Setting up libpangoft2-1.0-0:riscv64 (1.52.1+ds-1build1) ... Setting up libcups2t64:riscv64 (2.4.7-1.2ubuntu3) ... Setting up libpangocairo-1.0-0:riscv64 (1.52.1+ds-1build1) ... Setting up libxft2:riscv64 (2.3.6-1) ... Setting up libxmu6:riscv64 (2:1.1.3-3build2) ... Setting up libxi6:riscv64 (2:1.8.1-1) ... Setting up libtk8.6:riscv64 (8.6.14-1build1) ... Setting up libxcursor1:riscv64 (1:1.2.1-1) ... Setting up debhelper (13.14.1ubuntu5) ... Setting up dconf-service (0.40.0-4build2) ... Setting up libm17n-0:riscv64 (1.8.4-1build2) ... Setting up libxaw7:riscv64 (2:1.0.14-1build2) ... Setting up librsvg2-2:riscv64 (2.58.0+dfsg-1build1) ... Setting up libatspi2.0-0t64:riscv64 (2.52.0-1) ... Setting up texlive-binaries (2023.20230311.66589-9build3) ... update-alternatives: using /usr/bin/xdvi-xaw to provide /usr/bin/xdvi.bin (xdvi.bin) in auto mode update-alternatives: using /usr/bin/bibtex.original to provide /usr/bin/bibtex (bibtex) in auto mode Setting up texlive-base (2023.20240207-1) ... tl-paper: setting paper size for dvips to a4: /var/lib/texmf/dvips/config/config-paper.ps tl-paper: setting paper size for dvipdfmx to a4: /var/lib/texmf/dvipdfmx/dvipdfmx-paper.cfg tl-paper: setting paper size for xdvi to a4: /var/lib/texmf/xdvi/XDvi-paper tl-paper: setting paper size for pdftex to a4: /var/lib/texmf/tex/generic/tex-ini-files/pdftexconfig.tex Setting up libatk-bridge2.0-0t64:riscv64 (2.52.0-1) ... Setting up dconf-gsettings-backend:riscv64 (0.40.0-4build2) ... Setting up texlive-latex-base (2023.20240207-1) ... Setting up libgtk-3-common (3.24.41-1.1ubuntu4) ... Setting up adwaita-icon-theme (46.0-1) ... update-alternatives: using /usr/share/icons/Adwaita/cursor.theme to provide /usr/share/icons/default/index.theme (x-cursor-theme) in auto mode Setting up libgtk-3-0t64:riscv64 (3.24.41-1.1ubuntu4) ... Setting up emacs-el (1:29.3+1-1ubuntu2) ... Setting up emacs-common (1:29.3+1-1ubuntu2) ... Setting up humanity-icon-theme (0.6.16) ... Setting up emacs-bin-common (1:29.3+1-1ubuntu2) ... update-alternatives: using /usr/bin/ctags.emacs to provide /usr/bin/ctags (ctags) in auto mode update-alternatives: using /usr/bin/ebrowse.emacs to provide /usr/bin/ebrowse (ebrowse) in auto mode update-alternatives: using /usr/bin/etags.emacs to provide /usr/bin/etags (etags) in auto mode Setting up ubuntu-mono (24.04-0ubuntu1) ... Setting up emacs-gtk (1:29.3+1-1ubuntu2) ... update-alternatives: using /usr/bin/emacs-gtk to provide /usr/bin/emacs (emacs) in auto mode update-alternatives: using /usr/bin/emacs to provide /usr/bin/editor (editor) in auto mode update-alternatives: using /usr/bin/emacsclient.emacs to provide /usr/bin/emacsclient (emacsclient) in auto mode Install emacsen-common for emacs emacsen-common: Handling install of emacsen flavor emacs Setting up gcl (2.6.14-8build1) ... Creating config file /etc/default/gcl with new version Install gcl for emacs Setting up sbuild-build-depends-main-dummy (0.invalid.0) ... Setting up emacs (1:29.3+1-1ubuntu2) ... Processing triggers for libc-bin (2.39-0ubuntu8) ... Processing triggers for install-info (7.1-3build2) ... Processing triggers for tex-common (6.18) ... Running updmap-sys. This may take some time... done. Running mktexlsr /var/lib/texmf ... done. Building format(s) --all. This may take some time... done. +------------------------------------------------------------------------------+ | Check architectures | +------------------------------------------------------------------------------+ Arch check ok (riscv64 included in any all) +------------------------------------------------------------------------------+ | Build environment | +------------------------------------------------------------------------------+ Kernel: Linux 6.5.0-26-generic #26.1~22.04.1-Ubuntu SMP Thu Mar 14 04:00:07 UTC 2024 riscv64 (riscv64) Toolchain package versions: binutils_2.42-4ubuntu2 dpkg-dev_1.22.6ubuntu6 g++-13_13.2.0-23ubuntu3 gcc-13_13.2.0-23ubuntu3 libc6-dev_2.39-0ubuntu8 libstdc++-13-dev_13.2.0-23ubuntu3 libstdc++6_14-20240330-1ubuntu2 linux-libc-dev_6.8.0-20.20 Package versions: adduser_3.137ubuntu1 advancecomp_2.5-1 adwaita-icon-theme_46.0-1 apt_2.7.14build2 apt-utils_2.7.14build2 at-spi2-common_2.52.0-1 autoconf_2.71-3 automake_1:1.16.5-1.3ubuntu1 autopoint_0.21-14ubuntu1 autotools-dev_20220109.1 base-files_13ubuntu9 base-passwd_3.6.3 bash_5.2.21-2ubuntu4 bash-completion_1:2.11-8 binutils_2.42-4ubuntu2 binutils-common_2.42-4ubuntu2 binutils-riscv64-linux-gnu_2.42-4ubuntu2 bsdextrautils_2.39.3-9ubuntu4 bsdutils_1:2.39.3-9ubuntu4 build-essential_12.10ubuntu1 bzip2_1.0.8-5.1 ca-certificates_20240203 coreutils_9.4-3ubuntu5 cpp_4:13.2.0-7ubuntu1 cpp-13_13.2.0-23ubuntu3 cpp-13-riscv64-linux-gnu_13.2.0-23ubuntu3 cpp-riscv64-linux-gnu_4:13.2.0-7ubuntu1 dash_0.5.12-6ubuntu5 dbus_1.14.10-4ubuntu3 dbus-bin_1.14.10-4ubuntu3 dbus-daemon_1.14.10-4ubuntu3 dbus-session-bus-common_1.14.10-4ubuntu3 dbus-system-bus-common_1.14.10-4ubuntu3 dbus-user-session_1.14.10-4ubuntu3 dconf-gsettings-backend_0.40.0-4build2 dconf-service_0.40.0-4build2 debconf_1.5.86 debconf-i18n_1.5.86 debhelper_13.14.1ubuntu5 debianutils_5.17build1 debugedit_1:5.0-5build1 dh-autoreconf_20 dh-strip-nondeterminism_1.13.1-1 diffutils_1:3.10-1 dpkg_1.22.6ubuntu6 dpkg-dev_1.22.6ubuntu6 dwz_0.15-1build6 e2fsprogs_1.47.0-2.4~exp1ubuntu3 emacs_1:29.3+1-1ubuntu2 emacs-bin-common_1:29.3+1-1ubuntu2 emacs-common_1:29.3+1-1ubuntu2 emacs-el_1:29.3+1-1ubuntu2 emacs-gtk_1:29.3+1-1ubuntu2 emacsen-common_3.0.5 fakeroot_1.33-1 file_1:5.45-3build1 findutils_4.9.0-5 fontconfig_2.15.0-1.1ubuntu2 fontconfig-config_2.15.0-1.1ubuntu2 fonts-dejavu-core_2.37-8 fonts-dejavu-mono_2.37-8 fonts-lmodern_2.005-1 g++_4:13.2.0-7ubuntu1 g++-13_13.2.0-23ubuntu3 g++-13-riscv64-linux-gnu_13.2.0-23ubuntu3 g++-riscv64-linux-gnu_4:13.2.0-7ubuntu1 gcc_4:13.2.0-7ubuntu1 gcc-13_13.2.0-23ubuntu3 gcc-13-base_13.2.0-23ubuntu3 gcc-13-riscv64-linux-gnu_13.2.0-23ubuntu3 gcc-14-base_14-20240330-1ubuntu2 gcc-riscv64-linux-gnu_4:13.2.0-7ubuntu1 gcl_2.6.14-8build1 gettext_0.21-14ubuntu1 gettext-base_0.21-14ubuntu1 gpg_2.4.4-2ubuntu16 gpg-agent_2.4.4-2ubuntu16 gpgconf_2.4.4-2ubuntu16 gpgv_2.4.4-2ubuntu16 grep_3.11-4 groff-base_1.23.0-3build2 gtk-update-icon-cache_3.24.41-1.1ubuntu4 gzip_1.12-1ubuntu2 hicolor-icon-theme_0.17-2 hostname_3.23+nmu2ubuntu1 humanity-icon-theme_0.6.16 init_1.66ubuntu1 init-system-helpers_1.66ubuntu1 install-info_7.1-3build2 intltool-debian_0.35.0+20060710.6 krb5-locales_1.20.1-6ubuntu2 libacl1_2.3.2-1 libapparmor1_4.0.0-beta3-0ubuntu3 libapt-pkg6.0t64_2.7.14build2 libarchive-zip-perl_1.68-1 libargon2-1_0~20190702+dfsg-4 libasan8_14-20240330-1ubuntu2 libasound2-data_1.2.11-1build2 libasound2t64_1.2.11-1build2 libassuan0_2.5.6-1 libatk-bridge2.0-0t64_2.52.0-1 libatk1.0-0t64_2.52.0-1 libatomic1_14-20240330-1ubuntu2 libatspi2.0-0t64_2.52.0-1 libattr1_1:2.5.2-1 libaudit-common_1:3.1.2-2.1build1 libaudit1_1:3.1.2-2.1build1 libavahi-client3_0.8-13ubuntu5 libavahi-common-data_0.8-13ubuntu5 libavahi-common3_0.8-13ubuntu5 libbinutils_2.42-4ubuntu2 libblkid1_2.39.3-9ubuntu4 libbrotli1_1.1.0-2build2 libbsd0_0.12.1-1build1 libbz2-1.0_1.0.8-5.1 libc-bin_2.39-0ubuntu8 libc-dev-bin_2.39-0ubuntu8 libc6_2.39-0ubuntu8 libc6-dev_2.39-0ubuntu8 libcairo-gobject2_1.18.0-3 libcairo2_1.18.0-3 libcap-ng0_0.8.4-2build2 libcap2_1:2.66-5ubuntu1 libcc1-0_14-20240330-1ubuntu2 libcolord2_1.4.7-1build2 libcom-err2_1.47.0-2.4~exp1ubuntu3 libcrypt-dev_1:4.4.36-4 libcrypt1_1:4.4.36-4 libcryptsetup12_2:2.7.0-1ubuntu3 libctf-nobfd0_2.42-4ubuntu2 libctf0_2.42-4ubuntu2 libcups2t64_2.4.7-1.2ubuntu3 libdatrie1_0.2.13-3 libdb5.3t64_5.3.28+dfsg2-6build1 libdbus-1-3_1.14.10-4ubuntu3 libdconf1_0.40.0-4build2 libdebconfclient0_0.271ubuntu3 libdebhelper-perl_13.14.1ubuntu5 libdeflate0_1.19-1 libdevmapper1.02.1_2:1.02.185-3ubuntu3 libdpkg-perl_1.22.6ubuntu6 libdw1t64_0.190-1.1build3 libedit2_3.1-20230828-1 libelf1t64_0.190-1.1build3 libepoxy0_1.5.10-1 libexpat1_2.6.1-2build1 libext2fs2t64_1.47.0-2.4~exp1ubuntu3 libfakeroot_1.33-1 libfdisk1_2.39.3-9ubuntu4 libffi8_3.4.6-1 libfile-stripnondeterminism-perl_1.13.1-1 libfontconfig1_2.15.0-1.1ubuntu2 libfreetype6_2.13.2+dfsg-1build3 libfribidi0_1.0.13-3 libgcc-13-dev_13.2.0-23ubuntu3 libgcc-s1_14-20240330-1ubuntu2 libgcrypt20_1.10.3-2 libgd3_2.3.3-9ubuntu4 libgdbm-compat4t64_1.23-5.1build1 libgdbm6t64_1.23-5.1build1 libgdk-pixbuf-2.0-0_2.42.10+dfsg-3ubuntu2 libgdk-pixbuf2.0-common_2.42.10+dfsg-3ubuntu2 libgif7_5.2.2-1 libglib2.0-0t64_2.80.0-6ubuntu1 libgmp10_2:6.3.0+dfsg-2ubuntu4 libgnutls30t64_3.8.3-1.1ubuntu3 libgomp1_14-20240330-1ubuntu2 libgpg-error-l10n_1.47-3build1 libgpg-error0_1.47-3build1 libgpm2_1.20.7-11 libgraphite2-3_1.3.14-2 libgssapi-krb5-2_1.20.1-6ubuntu2 libgtk-3-0t64_3.24.41-1.1ubuntu4 libgtk-3-common_3.24.41-1.1ubuntu4 libharfbuzz0b_8.3.0-2build2 libhogweed6t64_3.9.1-2.2build1 libice6_2:1.0.10-1build2 libicu74_74.2-1ubuntu1 libidn2-0_2.3.7-2 libip4tc2_1.8.10-3ubuntu1 libisl23_0.26-3 libjansson4_2.14-2build2 libjbig0_2.1-6.1ubuntu1 libjpeg-turbo8_2.1.5-2ubuntu1 libjpeg8_8c-2ubuntu11 libjson-c5_0.17-1 libk5crypto3_1.20.1-6ubuntu2 libkeyutils1_1.6.3-3 libkmod2_31+20240202-2ubuntu5 libkpathsea6_2023.20230311.66589-9build3 libkrb5-3_1.20.1-6ubuntu2 libkrb5support0_1.20.1-6ubuntu2 liblcms2-2_2.14-2 liblerc4_4.0.0+ds-4ubuntu1 liblocale-gettext-perl_1.07-6ubuntu5 liblockfile-bin_1.17-1build2 liblockfile1_1.17-1build2 liblz4-1_1.9.4-1 liblzma5_5.6.1+really5.4.5-1 libm17n-0_1.8.4-1build2 libmagic-mgc_1:5.45-3build1 libmagic1t64_1:5.45-3build1 libmd0_1.1.0-2 libmount1_2.39.3-9ubuntu4 libmpc3_1.3.1-1 libmpfr6_4.2.1-1 libncursesw6_6.4+20240113-1ubuntu1 libnettle8t64_3.9.1-2.2build1 libnpth0t64_1.6-3.1build1 libnsl-dev_1.3.0-3build3 libnsl2_1.3.0-3build3 libnss-nis_3.1-0ubuntu6 libnss-nisplus_1.3-5build1 libotf1_0.9.16-4build2 libp11-kit0_0.25.3-4ubuntu1 libpam-modules_1.5.3-5ubuntu4 libpam-modules-bin_1.5.3-5ubuntu4 libpam-runtime_1.5.3-5ubuntu4 libpam-systemd_255.4-1ubuntu6 libpam0g_1.5.3-5ubuntu4 libpango-1.0-0_1.52.1+ds-1build1 libpangocairo-1.0-0_1.52.1+ds-1build1 libpangoft2-1.0-0_1.52.1+ds-1build1 libpaper-utils_1.1.29 libpaper1_1.1.29 libpcre2-8-0_10.42-4ubuntu1 libperl5.36_5.36.0-9ubuntu1 libperl5.38t64_5.38.2-3.2build1 libpipeline1_1.5.7-2 libpixman-1-0_0.42.2-1 libpng16-16t64_1.6.43-5build1 libpotrace0_1.16-2 libproc2-0_2:4.0.4-4ubuntu3 libptexenc1_2023.20230311.66589-9build3 libreadline8t64_8.2-4build1 librsvg2-2_2.58.0+dfsg-1build1 libseccomp2_2.5.5-1ubuntu3 libselinux1_3.5-2ubuntu2 libsemanage-common_3.5-1build5 libsemanage2_3.5-1build5 libsepol2_3.5-2 libsframe1_2.42-4ubuntu2 libsharpyuv0_1.3.2-0.4build3 libsm6_2:1.2.3-1build2 libsmartcols1_2.39.3-9ubuntu4 libsqlite3-0_3.45.1-1ubuntu2 libss2_1.47.0-2.4~exp1ubuntu3 libssl3t64_3.0.13-0ubuntu3 libstdc++-13-dev_13.2.0-23ubuntu3 libstdc++6_14-20240330-1ubuntu2 libsub-override-perl_0.10-1 libsynctex2_2023.20230311.66589-9build3 libsystemd-shared_255.4-1ubuntu6 libsystemd0_255.4-1ubuntu6 libtasn1-6_4.19.0-3 libtcl8.6_8.6.14+dfsg-1build1 libteckit0_2.5.12+ds1-1 libtexlua53-5_2023.20230311.66589-9build3 libtext-charwidth-perl_0.04-11build3 libtext-iconv-perl_1.7-8build3 libtext-wrapi18n-perl_0.06-10 libthai-data_0.1.29-2 libthai0_0.1.29-2 libtiff6_4.5.1+git230720-4ubuntu2 libtinfo6_6.4+20240113-1ubuntu1 libtirpc-common_1.3.4+ds-1.1build1 libtirpc-dev_1.3.4+ds-1.1build1 libtirpc3t64_1.3.4+ds-1.1build1 libtk8.6_8.6.14-1build1 libtool_2.4.7-7 libtree-sitter0_0.20.8-2 libubsan1_14-20240330-1ubuntu2 libuchardet0_0.0.8-1 libudev1_255.4-1ubuntu6 libunistring2_1.0-2 libunistring5_1.1-2 libuuid1_2.39.3-9ubuntu4 libwayland-client0_1.22.0-2.1 libwayland-cursor0_1.22.0-2.1 libwayland-egl1_1.22.0-2.1 libwebp7_1.3.2-0.4build3 libwebpdecoder3_1.3.2-0.4build3 libwebpdemux2_1.3.2-0.4build3 libx11-6_2:1.8.7-1 libx11-data_2:1.8.7-1 libxau6_1:1.0.9-1build5 libxaw7_2:1.0.14-1build2 libxcb-render0_1.15-1 libxcb-shm0_1.15-1 libxcb1_1.15-1 libxcomposite1_1:0.4.5-1build2 libxcursor1_1:1.2.1-1 libxdamage1_1:1.1.6-1 libxdmcp6_1:1.1.3-0ubuntu5 libxext6_2:1.3.4-1build1 libxfixes3_1:6.0.0-2 libxft2_2.3.6-1 libxi6_2:1.8.1-1 libxinerama1_2:1.1.4-3 libxkbcommon0_1.6.0-1 libxml2_2.9.14+dfsg-1.3ubuntu3 libxmu6_2:1.1.3-3build2 libxpm4_1:3.5.17-1build2 libxrandr2_2:1.5.2-2 libxrender1_1:0.9.10-1.1 libxss1_1:1.2.3-1build2 libxt6t64_1:1.2.1-1.2build1 libxxhash0_0.8.2-2 libzstd1_1.5.5+dfsg2-2 libzzip-0-13t64_0.13.72+dfsg.1-1.2build1 linux-libc-dev_6.8.0-20.20 lockfile-progs_0.1.19build1 login_1:4.13+dfsg1-4ubuntu1 logsave_1.47.0-2.4~exp1ubuntu3 lto-disabled-list_47 m17n-db_1.8.5-1 m4_1.4.19-4 make_4.3-4.1build1 man-db_2.12.0-4build1 mawk_1.3.4.20240123-1 mount_2.39.3-9ubuntu4 ncurses-base_6.4+20240113-1ubuntu1 ncurses-bin_6.4+20240113-1ubuntu1 openssl_3.0.13-0ubuntu3 optipng_0.7.8+ds-1build2 passwd_1:4.13+dfsg1-4ubuntu1 patch_2.7.6-7build2 perl_5.38.2-3.2build1 perl-base_5.38.2-3.2build1 perl-modules-5.36_5.36.0-9ubuntu1 perl-modules-5.38_5.38.2-3.2build1 pinentry-curses_1.2.1-3ubuntu5 pkgbinarymangler_154 po-debconf_1.0.21+nmu1 policyrcd-script-zg2_0.1-3.1 procps_2:4.0.4-4ubuntu3 psmisc_23.7-1build1 readline-common_8.2-4build1 rpcsvc-proto_1.4.2-0ubuntu6 sbuild-build-depends-main-dummy_0.invalid.0 sed_4.9-2 sensible-utils_0.0.22 shared-mime-info_2.4-4 systemd_255.4-1ubuntu6 systemd-dev_255.4-1ubuntu6 systemd-sysv_255.4-1ubuntu6 sysvinit-utils_3.08-6ubuntu2 t1utils_1.41-4build2 tar_1.35+dfsg-3 tex-common_6.18 texlive-base_2023.20240207-1 texlive-binaries_2023.20230311.66589-9build3 texlive-latex-base_2023.20240207-1 tzdata_2024a-1ubuntu1 ubuntu-keyring_2023.11.28.1 ubuntu-mono_24.04-0ubuntu1 ucf_3.0043+nmu1 util-linux_2.39.3-9ubuntu4 uuid-runtime_2.39.3-9ubuntu4 x11-common_1:7.7+23ubuntu2 xdg-utils_1.1.3-4.1ubuntu3 xkb-data_2.41-2 xz-utils_5.6.1+really5.4.5-1 zlib1g_1:1.3.dfsg-3.1ubuntu2 +------------------------------------------------------------------------------+ | Build | +------------------------------------------------------------------------------+ Unpack source ------------- -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 Format: 3.0 (quilt) Source: hol88 Binary: hol88, hol88-source, hol88-help, hol88-library, hol88-library-source, hol88-library-help, hol88-contrib-source, hol88-contrib-help, hol88-doc Architecture: any all Version: 2.02.19940316dfsg-5build3 Maintainer: Ubuntu Developers Standards-Version: 3.9.8 Build-Depends: debhelper (>= 9), gcl (>= 2.6.14-1), texlive-latex-base Package-List: hol88 deb math optional arch=any hol88-contrib-help deb math optional arch=all hol88-contrib-source deb math optional arch=all hol88-doc deb doc optional arch=all hol88-help deb math optional arch=all hol88-library deb math optional arch=any hol88-library-help deb math optional arch=all hol88-library-source deb math optional arch=all hol88-source deb math optional arch=all Checksums-Sha1: bc74d2d9ec9af6fe04c6b6853b0a9850897c4b7f 10359437 hol88_2.02.19940316dfsg.orig.tar.gz 02f207dfec74c7f4f990448fb13a5ec1ea0007be 131648 hol88_2.02.19940316dfsg-5build3.debian.tar.xz Checksums-Sha256: 8e2a4f83cea20d0cf2416f7d55c951498f6c807b03ebc9381a02fa4c81c5da69 10359437 hol88_2.02.19940316dfsg.orig.tar.gz 1a60d48c5fee180e9b8952f2d527c734e252b4aefd7cef8c628523891c15d542 131648 hol88_2.02.19940316dfsg-5build3.debian.tar.xz Files: d916adf41bc7c1f9eb2a7c07ff442b01 10359437 hol88_2.02.19940316dfsg.orig.tar.gz 463b4e8382bf3a2f1050d907fafcec65 131648 hol88_2.02.19940316dfsg-5build3.debian.tar.xz Original-Maintainer: Camm Maguire -----BEGIN PGP SIGNATURE----- iQIzBAEBCgAdFiEEoIn7Nqr72tWswTJQafeQFxohCYQFAmYKTqsACgkQafeQFxoh CYRZyA/7BfMZImjl7ov0Q15576g46FY0hLgxET18i1nsYOZyGlL5sSJ5Fg4EGEhp 9OkiLZdvTvjtDarghb/BpGanp0TVD2O0eRZPXzH59Rjv99tauLVEfsMOD7dx1LKh eYFZTbh4qthzbcpWVTJbUlu/WscC5qokCXbMnjBp4AML9r52whm1Lwmaz5myF+73 GMN1Ln6SbAqWyFc06Ws9YYObrLJvwgP4MpxJ4o7q+ZMZqCJ8ED4uaha6D/GPgQtb I8u2C4hUKbKxvCJshD9Zt7amUgWcOlOm6Hvxa9El/R3rCa7pAjDspzhKZIjcp1VY aGJjQFfQDQZ1dByaLjRziD6Da12sGAfsbSUCWjIxCqRPv7/4tBQYLTyOQgobHxeC IygoY4ZZ7h+4RT+1wROF24pS0+uN1ayuY1ISDsjP3o3KNVb93tZGROJzy9133FXW oEjD9E2g77fOR4btu25sKOuo8juKmlLtJ4mBcjI+ro0X0WkEmB/7pVArQIXZlJt8 XqRUQdwMOa2gwHjZhnF/pyiNrCl4zwhOz1qSQP5FTK8YkyphBpryMzmhGf5/VP6D 0kIOcw5eVxhgBdD3W8tYiYgyKJk7MQAPudYMc9yk45I59waNAaMMJvwl9ZapSlFH Ay8wC3OMe+PsU5ThXgIqNNDnuyJ5Fy71MP8sbagdV///+1ym8/U= =1ly8 -----END PGP SIGNATURE----- gpgv: Signature made Mon Apr 1 06:05:31 2024 UTC gpgv: using RSA key A089FB36AAFBDAD5ACC1325069F790171A210984 gpgv: Can't check signature: No public key dpkg-source: warning: cannot verify inline signature for ./hol88_2.02.19940316dfsg-5build3.dsc: no acceptable signature found dpkg-source: info: extracting hol88 in /<> dpkg-source: info: unpacking hol88_2.02.19940316dfsg.orig.tar.gz dpkg-source: info: unpacking hol88_2.02.19940316dfsg-5build3.debian.tar.xz dpkg-source: info: using patch list from debian/patches/series dpkg-source: info: applying quilt-source-init dpkg-source: info: applying FTBFS_detection_fix Check disk space ---------------- Sufficient free space for build User Environment ---------------- APT_CONFIG=/var/lib/sbuild/apt.conf DEB_BUILD_OPTIONS=parallel=4 HOME=/sbuild-nonexistent LANG=C.UTF-8 LC_ALL=C.UTF-8 LOGNAME=buildd PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games SCHROOT_ALIAS_NAME=build-PACKAGEBUILD-28004878 SCHROOT_CHROOT_NAME=build-PACKAGEBUILD-28004878 SCHROOT_COMMAND=env SCHROOT_GID=2501 SCHROOT_GROUP=buildd SCHROOT_SESSION_ID=build-PACKAGEBUILD-28004878 SCHROOT_UID=2001 SCHROOT_USER=buildd SHELL=/bin/sh TERM=unknown USER=buildd V=1 dpkg-buildpackage ----------------- Command: dpkg-buildpackage --sanitize-env -us -uc -mLaunchpad Build Daemon -B -rfakeroot dpkg-buildpackage: info: source package hol88 dpkg-buildpackage: info: source version 2.02.19940316dfsg-5build3 dpkg-buildpackage: info: source distribution noble dpkg-source --before-build . dpkg-buildpackage: info: host architecture riscv64 fakeroot debian/rules clean dh_testdir dh_testroot rm -f build-arch-stamp build-indep-stamp configure-stamp [ ! -f Makefile ] || /usr/bin/make clean make[1]: Entering directory '/<>' /bin/rm -f ml/*_ml.o ml/*_ml.l ml/site.ml lisp/*.o /bin/rm -f hol-lcf basic-hol hol /usr/bin/make clean-library make[2]: Entering directory '/<>' (cd /<>/Library; /usr/bin/make Obj=o clean; cd ..) make[3]: Entering directory '/<>/Library' for lib in unwind taut sets reduce arith pred_sets string finite_sets res_quan wellorder abs_theory reals window pair word record_proof parser prettyp trs latex-hol more_arithmetic numeral ind_defs ; \ do (cd $lib; /usr/bin/make Obj=o clean; cd ..) ; \ done make[4]: Entering directory '/<>/Library/unwind' rm -f *_ml.o *_ml.l ===> library unwind: all object code deleted make[4]: Leaving directory '/<>/Library/unwind' make[4]: Entering directory '/<>/Library/taut' rm -f taut_check_ml.o taut_check_ml.l ===> library taut: all object code deleted make[4]: Leaving directory '/<>/Library/taut' make[4]: Entering directory '/<>/Library/sets' rm -f *_ml.o ===> library sets: all object code deleted make[4]: Leaving directory '/<>/Library/sets' make[4]: Entering directory '/<>/Library/reduce' rm -f boolconv_ml.o arithconv_ml.o reduce_ml.o make[4]: Leaving directory '/<>/Library/reduce' make[4]: Entering directory '/<>/Library/arith' rm -f *_ml.l *_ml.o ===> library arith: all object code deleted make[4]: Leaving directory '/<>/Library/arith' make[4]: Entering directory '/<>/Library/pred_sets' rm -f *_ml.o ===> library pred_sets: all object code deleted make[4]: Leaving directory '/<>/Library/pred_sets' make[4]: Entering directory '/<>/Library/string' rm -f *_ml.o ===> library string: all object code deleted make[4]: Leaving directory '/<>/Library/string' make[4]: Entering directory '/<>/Library/finite_sets' rm -f *_ml.o ===> library finite_sets: all object code deleted make[4]: Leaving directory '/<>/Library/finite_sets' make[4]: Entering directory '/<>/Library/res_quan' rm -f *_ml.o ===> library res_quan: all object code deleted make[4]: Leaving directory '/<>/Library/res_quan' make[4]: Entering directory '/<>/Library/wellorder' make[4]: 'clean' is up to date. make[4]: Leaving directory '/<>/Library/wellorder' make[4]: Entering directory '/<>/Library/abs_theory' /bin/rm -f *_ml.o ===> abs_theory. All object code deleted make[4]: Leaving directory '/<>/Library/abs_theory' make[4]: Entering directory '/<>/Library/reals' cd theories; make clean make[5]: Entering directory '/<>/Library/reals/theories' rm -f *_ml.o make[5]: Leaving directory '/<>/Library/reals/theories' make[4]: Leaving directory '/<>/Library/reals' make[4]: Entering directory '/<>/Library/window' rm -f *.l *.c *.o *.h *.data ===> library window: all object code deleted make[4]: Leaving directory '/<>/Library/window' make[4]: Entering directory '/<>/Library/pair' rm -f *.l *.c *.o *.h *.data *.i *.s *.ir ===> library pair: all object code deleted make[4]: Leaving directory '/<>/Library/pair' make[4]: Entering directory '/<>/Library/word' rm -f *_ml.o ===> library word: all object code deleted make[4]: Leaving directory '/<>/Library/word' make[4]: Entering directory '/<>/Library/record_proof' rm -f *_ml.o ===> library record_proof: all object code deleted make[4]: Leaving directory '/<>/Library/record_proof' make[4]: Entering directory '/<>/Library/parser' rm -f *_ml.o *_ml.l *.o ===> library parser: all object code deleted make[4]: Leaving directory '/<>/Library/parser' make[4]: Entering directory '/<>/Library/prettyp' rm -f PP_printer/*_ml.o PP_printer/*_ml.l rm -f PP_parser/*_ml.o PP_parser/*_ml.l rm -f PP_hol/*_ml.o PP_hol/*_ml.l ===> library prettyp: all object code deleted make[4]: Leaving directory '/<>/Library/prettyp' make[4]: Entering directory '/<>/Library/trs' rm -f *_ml.l *_ml.o ===> library trs: all object code deleted make[4]: Leaving directory '/<>/Library/trs' make[4]: Entering directory '/<>/Library/latex-hol' rm -f *.o ===> library latex-hol: all object code deleted make[4]: Leaving directory '/<>/Library/latex-hol' make[4]: Entering directory '/<>/Library/more_arithmetic' rm -f *_ml.o ===> library more_arithmetic: all object code deleted make[4]: Leaving directory '/<>/Library/more_arithmetic' make[4]: Entering directory '/<>/Library/numeral' rm -f numeral_rules_ml.o make[4]: Leaving directory '/<>/Library/numeral' make[4]: Entering directory '/<>/Library/ind_defs' rm -f *_ml.o ===> library ind_defs: all object code deleted make[4]: Leaving directory '/<>/Library/ind_defs' ===> all library object code deleted make[3]: Leaving directory '/<>/Library' make[2]: Leaving directory '/<>' =======> all hol and lisp object code deleted make[1]: Leaving directory '/<>' [ ! -f Makefile ] || /usr/bin/make clobber make[1]: Entering directory '/<>' /bin/rm -f ml/*_ml.o ml/*_ml.l ml/site.ml lisp/*.o /bin/rm -f /<>/theories/*.th hol-lcf basic-hol hol /usr/bin/make clobber-library make[2]: Entering directory '/<>' (cd /<>/Library; /usr/bin/make Obj=o clobber; cd ..) make[3]: Entering directory '/<>/Library' for lib in unwind taut sets reduce arith pred_sets string finite_sets res_quan wellorder abs_theory reals window pair word record_proof parser prettyp trs latex-hol more_arithmetic numeral ind_defs ; \ do (cd $lib; /usr/bin/make Obj=o clobber; cd ..) ; \ done make[4]: Entering directory '/<>/Library/unwind' rm -f *_ml.o *_ml.l ===> library unwind: all object code deleted make[4]: Leaving directory '/<>/Library/unwind' make[4]: Entering directory '/<>/Library/taut' rm -f taut_check_ml.o taut_check_ml.l ===> library taut: all object code deleted make[4]: Leaving directory '/<>/Library/taut' make[4]: Entering directory '/<>/Library/sets' rm -f *_ml.o *_ml.l *.th ===> library sets: all object code and theory files deleted make[4]: Leaving directory '/<>/Library/sets' make[4]: Entering directory '/<>/Library/reduce' rm -f boolconv_ml.o arithconv_ml.o reduce_ml.o make[4]: Leaving directory '/<>/Library/reduce' make[4]: Entering directory '/<>/Library/arith' rm -f *_ml.l *_ml.o ===> library arith: all object code deleted make[4]: Leaving directory '/<>/Library/arith' make[4]: Entering directory '/<>/Library/pred_sets' rm -f *_ml.o *_ml.l *.th ===> library pred_sets: all object code and theory files deleted make[4]: Leaving directory '/<>/Library/pred_sets' make[4]: Entering directory '/<>/Library/string' rm -f *_ml.o *_ml.l *.th ===> library string: all object code and theory files deleted make[4]: Leaving directory '/<>/Library/string' make[4]: Entering directory '/<>/Library/finite_sets' rm -f *_ml.o *_ml.l *.th ===> library finite_sets: object code and theory files deleted make[4]: Leaving directory '/<>/Library/finite_sets' make[4]: Entering directory '/<>/Library/res_quan' rm -f *_ml.o *_ml.l *.th ===> library res_quan: all object code and theory files deleted make[4]: Leaving directory '/<>/Library/res_quan' make[4]: Entering directory '/<>/Library/wellorder' rm -f WELLORDER.th make[4]: Leaving directory '/<>/Library/wellorder' make[4]: Entering directory '/<>/Library/abs_theory' /bin/rm -f *_ml.o *.th print ===> abs_theory: All object code and theory files deleted make[4]: Leaving directory '/<>/Library/abs_theory' make[4]: Entering directory '/<>/Library/reals' cd theories; make clobber make[5]: Entering directory '/<>/Library/reals/theories' rm -f *_ml.o rm -f *.th make[5]: Leaving directory '/<>/Library/reals/theories' make[4]: Leaving directory '/<>/Library/reals' make[4]: Entering directory '/<>/Library/window' rm -f *.l *.c *.o *.th *.h *.data ===> library window: all object code and theory files deleted make[4]: Leaving directory '/<>/Library/window' make[4]: Entering directory '/<>/Library/pair' rm -f *.l *.c *.o *.th *.h *.data *.i *.s *.ir ===> library pair: all object code and theory files deleted make[4]: Leaving directory '/<>/Library/pair' make[4]: Entering directory '/<>/Library/word' rm -f *_ml.o *_ml.l *.th ===> library word: all object code and theory files deleted make[4]: Leaving directory '/<>/Library/word' make[4]: Entering directory '/<>/Library/record_proof' rm -f *_ml.o *_ml.l *.th ===> library record_proof: all object code and theory files deleted make[4]: Leaving directory '/<>/Library/record_proof' make[4]: Entering directory '/<>/Library/parser' rm -f *_ml.o *_ml.l *.o ===> library parser: all object code deleted make[4]: Leaving directory '/<>/Library/parser' make[4]: Entering directory '/<>/Library/prettyp' rm -f PP_printer/*_ml.o PP_printer/*_ml.l rm -f PP_parser/*_ml.o PP_parser/*_ml.l PP_parser/*_pp.ml rm -f PP_hol/*_ml.o PP_hol/*_ml.l PP_hol/*_pp.ml ===> library prettyp: all object code and _pp.ml files deleted make[4]: Leaving directory '/<>/Library/prettyp' make[4]: Entering directory '/<>/Library/trs' rm -f *_ml.l *_ml.o ===> library trs: all object code deleted make[4]: Leaving directory '/<>/Library/trs' make[4]: Entering directory '/<>/Library/latex-hol' rm -f latex_*_pp.ml *.o ===> library latex-hol: all object code and _pp.ml file deleted make[4]: Leaving directory '/<>/Library/latex-hol' make[4]: Entering directory '/<>/Library/more_arithmetic' rm -f *_ml.o *_ml.l *.th ===> library more_arithmetic: all object code and theory files deleted make[4]: Leaving directory '/<>/Library/more_arithmetic' make[4]: Entering directory '/<>/Library/numeral' rm -f numeral_rules_ml.o rm -f numeral.th make[4]: Leaving directory '/<>/Library/numeral' make[4]: Entering directory '/<>/Library/ind_defs' rm -f *_ml.o *_ml.l ===> library ind_defs: all object code deleted make[4]: Leaving directory '/<>/Library/ind_defs' ===> all library object code and theory files deleted make[3]: Leaving directory '/<>/Library' make[2]: Leaving directory '/<>' =======> all object code and theory files deleted make[1]: Leaving directory '/<>' for i in $(find Library -name index.tex) Library/pred_sets/Manual/theorems.tex Library/record_proof/Manual/record_proof.ind ; do\ [ -e $i.sve ] || cp $i $i.sve ; done [ ! -f Makefile ] || /usr/bin/make -C Manual clean make[1]: Entering directory '/<>/Manual' for i in Tutorial Description Reference Libraries Covers ; do /usr/bin/make -C $i clean ; done make[2]: Entering directory '/<>/Manual/Tutorial' rm -f *.dvi *.aux *.toc *.log make[2]: Leaving directory '/<>/Manual/Tutorial' make[2]: Entering directory '/<>/Manual/Description' rm -f *.dvi *.aux *.toc *.log *.idx *.ilg make[2]: Leaving directory '/<>/Manual/Description' make[2]: Entering directory '/<>/Manual/Reference' rm -f *.dvi *.aux *.toc *.log *.idx *.ilg make[2]: Leaving directory '/<>/Manual/Reference' make[2]: Entering directory '/<>/Manual/Libraries' rm -f *.dvi *.aux *.toc *.log make[2]: Leaving directory '/<>/Manual/Libraries' make[2]: Entering directory '/<>/Manual/Covers' rm -f *.log core *.aux *~ #* LOG ===> Fancy end and title pages cleaned up make[2]: Leaving directory '/<>/Manual/Covers' make[1]: Leaving directory '/<>/Manual' [ ! -f Makefile ] || for i in $(find Library -name Manual); do /usr/bin/make -C $i clean ; done make[1]: Entering directory '/<>/Library/more_arithmetic/Manual' rm -f *.dvi *.aux *.toc *.log *.idx *.ilg make[1]: Leaving directory '/<>/Library/more_arithmetic/Manual' make[1]: Entering directory '/<>/Library/abs_theory/Manual' \ rm -f *.dvi *.aux *.toc *.log *.idx *.ilg entries.tex; \ printf '\\begin{theindex}' >index.tex; \ printf '\\mbox{}' >>index.tex; \ printf '\\end{theindex}' >>index.tex make[1]: Leaving directory '/<>/Library/abs_theory/Manual' make[1]: Entering directory '/<>/Library/string/Manual' rm -f *.dvi *.aux *.toc *.log *.idx *.ilg make[1]: Leaving directory '/<>/Library/string/Manual' make[1]: Entering directory '/<>/Library/trs/Manual' rm -f *.dvi *.aux *.toc *.log *.idx *.ilg make[1]: Leaving directory '/<>/Library/trs/Manual' make[1]: Entering directory '/<>/Library/prettyp/Manual' rm -f *.dvi *.aux *.toc *.log *.idx *.ilg make[1]: Leaving directory '/<>/Library/prettyp/Manual' make[1]: Entering directory '/<>/Library/window/Manual' rm -f *.dvi *.aux *.toc *.log *.idx *.ilg entries.tex *.bak; \ printf '\\begin{theindex}' >index.tex; \ printf '\\mbox{}' >>index.tex; \ printf '\\end{theindex}' >>index.tex make[1]: Leaving directory '/<>/Library/window/Manual' make[1]: Entering directory '/<>/Library/arith/Manual' rm -f *.dvi *.aux *.toc *.log *.idx *.ilg make[1]: Leaving directory '/<>/Library/arith/Manual' make[1]: Entering directory '/<>/Library/res_quan/Manual' rm -f *.dvi *.aux *.toc *.log *.idx *.ilg make[1]: Leaving directory '/<>/Library/res_quan/Manual' make[1]: Entering directory '/<>/Library/wellorder/Manual' \ rm -f *.dvi *.aux *.toc *.log *.idx *.ilg entries.tex; \ printf '\\begin{theindex}' >index.tex; \ printf '\\mbox{}' >>index.tex; \ printf '\\end{theindex}' >>index.tex make[1]: Leaving directory '/<>/Library/wellorder/Manual' make[1]: Entering directory '/<>/Library/reduce/Manual' \ rm -f *.dvi *.aux *.toc *.log *.idx *.ilg entries.tex; \ printf '\\begin{theindex}' >index.tex; \ printf '\\mbox{}' >>index.tex; \ printf '\\end{theindex}' >>index.tex make[1]: Leaving directory '/<>/Library/reduce/Manual' make[1]: Entering directory '/<>/Library/parser/Manual' rm -f *.dvi *.aux *.toc *.log *.idx *.ilg make[1]: Leaving directory '/<>/Library/parser/Manual' make[1]: Entering directory '/<>/Library/taut/Manual' rm -f *.dvi *.aux *.toc *.log *.idx *.ilg make[1]: Leaving directory '/<>/Library/taut/Manual' make[1]: Entering directory '/<>/Library/pair/Manual' rm -f *.dvi *.aux *.toc *.log *.idx *.ilg entries.tex theorems.tex; \ printf '\\begin{theindex}' >index.tex; \ printf '\\mbox{}' >>index.tex; \ printf '\\end{theindex}' >>index.tex make[1]: Leaving directory '/<>/Library/pair/Manual' make[1]: Entering directory '/<>/Library/finite_sets/Manual' rm -f *.dvi *.aux *.toc *.log *.idx *.ilg make[1]: Leaving directory '/<>/Library/finite_sets/Manual' make[1]: Entering directory '/<>/Library/latex-hol/Manual' rm -f *.dvi *.aux *.toc *.log *.idx *.ilg make[1]: Leaving directory '/<>/Library/latex-hol/Manual' make[1]: Entering directory '/<>/Library/word/Manual' rm -f *.dvi *.aux *.toc *.log *.idx *.ilg make[1]: Leaving directory '/<>/Library/word/Manual' make[1]: Entering directory '/<>/Library/reals/Manual' \ rm -f *.dvi *.aux *.toc *.log *.idx *.ilg; \ printf '\\begin{theindex}' >index.tex; \ printf '\\mbox{}' >>index.tex; \ printf '\\end{theindex}' >>index.tex make[1]: Leaving directory '/<>/Library/reals/Manual' make[1]: Entering directory '/<>/Library/record_proof/Manual' rm -f *.dvi *.aux *.toc *.log *.idx *.ilg make[1]: Leaving directory '/<>/Library/record_proof/Manual' make[1]: Entering directory '/<>/Library/numeral/Manual' \ rm -f *.dvi *.aux *.toc *.log *.idx *.ilg entries.tex; \ printf '\\begin{theindex}' >index.tex; \ printf '\\mbox{}' >>index.tex; \ printf '\\end{theindex}' >>index.tex make[1]: Leaving directory '/<>/Library/numeral/Manual' make[1]: Entering directory '/<>/Library/pred_sets/Manual' rm -f *.dvi *.aux *.toc *.log *.idx *.ilg make[1]: Leaving directory '/<>/Library/pred_sets/Manual' make[1]: Entering directory '/<>/Library/sets/Manual' rm -f *.dvi *.aux *.toc *.log *.idx *.ilg make[1]: Leaving directory '/<>/Library/sets/Manual' make[1]: Entering directory '/<>/Library/unwind/Manual' rm -f *.dvi *.aux *.toc *.log *.idx *.ilg make[1]: Leaving directory '/<>/Library/unwind/Manual' find -name X.tex -exec rm -rf {} \; dh_clean -X./ml/site.ml.orig -X./contrib/tooltool/Makefile.orig \ -X./contrib/tooltool/events.c.orig -X./contrib/tooltool/func_fix.c.orig \ -X./contrib/tooltool/lex.c.orig -X./contrib/tooltool/parse.y.orig \ -X./contrib/tooltool/patchlevel.h.orig -X./contrib/tooltool/windows.c.orig \ -X./contrib/Xhelp/hol_apro.orig -X./contrib/Xhelp/hol_ref.orig \ -X./contrib/Xhelp/xholhelp.h.orig -X./contrib/Xhelp/hol_thm.orig dh_clean: warning: Compatibility levels before 10 are deprecated (level 9 in use) for i in $(find Library -name "*.sve") ; do mv $i $(echo $i | sed "s,\.sve,,1"); done rm -f debian/hol88.install debian/hol88-library.install debian/hol88-source.install debian/hol88-help.install debian/hol88-library-source.install debian/hol88-library-help.install debian/hol88-contrib-source.install debian/hol88-contrib-help.install debian/hol88-doc.install debian/hol88.links debian/hol88-library.links debian/hol88.sh find -name "*.dvi" -exec rm {} \; rm -f Manual/Tutorial/ack.tex Manual/Reference/ack.tex Manual/Description/ack.tex rm -f Manual/Covers/titlepages.ps Manual/Covers/endpages.ps rm -f bm.l foo* gcl ./lisp/f-ol-syntax.data cp debian/site_ml_orig ml/site.ml.orig rm -f Library/finite_sets/Manual/entries.tex \ Library/finite_sets/Manual/theorems.tex \ Library/more_arithmetic/Manual/theorems.tex \ Library/numeral/Manual/theorems.tex \ Library/pred_sets/Manual/entries.tex \ Library/prettyp/Manual/entries.tex \ Library/reals/Manual/theorems.tex \ Library/res_quan/Manual/entries.tex \ Library/sets/Manual/entries.tex \ Library/sets/Manual/theorems.tex \ Library/string/Manual/theorems.tex \ Library/wellorder/Manual/theorems.tex \ Library/word/Manual/theorems.tex \ Manual/Reference/entries.tex \ Manual/Reference/theorems.tex debian/rules build-arch dh_testdir touch configure-stamp echo '#-native-reloc(bye -1)' | gcl || cat debian/gcl_patch.l debian/gcl_save.l | gcl GCL (GNU Common Lisp) 2.6.14 Fri Jan 13 10:47:56 AM EST 2023 CLtL1 git: Version_2_6_15pre7 Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl) Binary License: GPL due to GPL'ed components: (XGCL UNEXEC) Modifications of this banner must retain notice of a compatible license Dedicated to the memory of W. Schelter Use (help) to get some basic information on how to use GCL. Temporary directory for compiler files: /tmp/ >PATH=$(pwd):$PATH /usr/bin/make all make[1]: Entering directory '/<>' date Thu Apr 4 14:12:33 UTC 2024 /usr/bin/make hol make[2]: Entering directory '/<>' if [ cl = cl ]; then\ echo '#+allegro (progn () (set-case-mode :case-insensitive-upper) (setq *cltl1-in-package-compatibility-p* t) (setq comp:*cltl1-compile-file-toplevel-compatibility-p* t) (setq *enable-package-locked-errors* nil))'\ '(compile-file "lisp/f-cl.l") (quit)'\ | gcl; else\ lisp/f-franz; fi GCL (GNU Common Lisp) 2.6.14 Fri Jan 13 10:47:56 AM EST 2023 CLtL1 git: Version_2_6_15pre7 Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl) Binary License: GPL due to GPL'ed components: (XGCL UNEXEC) Modifications of this banner must retain notice of a compatible license Dedicated to the memory of W. Schelter Use (help) to get some basic information on how to use GCL. Temporary directory for compiler files: /tmp/ > Compiling lisp/f-cl.l. ; (DEFUN SET-FASL-FLAG ...) is being compiled. ;; The variable |%print_fasl-flag| is undefined. ;; The compiler will assume this variable is a global. End of Pass 1. End of Pass 2. OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3 Finished compiling /<>/lisp/f-cl.o. #p"/<>/lisp/f-cl.o" NIL NIL >if [ cl = cl ]; then\ echo '#+allegro (progn () (set-case-mode :case-insensitive-upper) (setq *cltl1-in-package-compatibility-p* t) (setq comp:*cltl1-compile-file-toplevel-compatibility-p* t) (setq *enable-package-locked-errors* nil))'\ '(load "lisp/f-cl") (compile-file "lisp/f-macro.l") (quit)'\ | gcl; else\ lisp/f-macro; fi GCL (GNU Common Lisp) 2.6.14 Fri Jan 13 10:47:56 AM EST 2023 CLtL1 git: Version_2_6_15pre7 Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl) Binary License: GPL due to GPL'ed components: (XGCL UNEXEC) Modifications of this banner must retain notice of a compatible license Dedicated to the memory of W. Schelter Use (help) to get some basic information on how to use GCL. Temporary directory for compiler files: /tmp/ >;; Loading "lisp/f-cl" start address -T 0x7f0c60 ;; Finished loading "lisp/f-cl" 21864 > Compiling lisp/f-macro.l. ; (DEFUN EXISTS ...) is being compiled. ;; Warning: The variable IGNORE is not used. ; (DEFUN FORALL ...) is being compiled. ;; Warning: The variable IGNORE is not used. End of Pass 1. End of Pass 2. OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3 Finished compiling /<>/lisp/f-macro.o. #p"/<>/lisp/f-macro.o" NIL NIL >if [ cl = cl ]; then\ echo '#+allegro (progn () (set-case-mode :case-insensitive-upper) (setq *cltl1-in-package-compatibility-p* t) (setq comp:*cltl1-compile-file-toplevel-compatibility-p* t) (setq *enable-package-locked-errors* nil))'\ '(load "lisp/f-cl") (compile-file "lisp/f-system.l") (quit)'\ | gcl; else\ lisp/f-system; fi GCL (GNU Common Lisp) 2.6.14 Fri Jan 13 10:47:56 AM EST 2023 CLtL1 git: Version_2_6_15pre7 Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl) Binary License: GPL due to GPL'ed components: (XGCL UNEXEC) Modifications of this banner must retain notice of a compatible license Dedicated to the memory of W. Schelter Use (help) to get some basic information on how to use GCL. Temporary directory for compiler files: /tmp/ >;; Loading "lisp/f-cl" start address -T 0x7f0c60 ;; Finished loading "lisp/f-cl" 21864 > Compiling lisp/f-system.l. ;;; Including lisp/f-macrostart address -T 0x857e30 ; (DEFUN FILETOKP ...) is being compiled. ;; Warning: The variable KIND is not used. ;; Warning: The variable TOK is not used. ; (DEFUN COMPILE-LISP ...) is being compiled. ;; Warning: The variable X is not used. ;; Warning: The variable X is not used. End of Pass 1. End of Pass 2. OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3 Finished compiling /<>/lisp/f-system.o. #p"/<>/lisp/f-system.o" NIL NIL >if [ cl = cl ]; then\ echo '#+allegro (progn () (set-case-mode :case-insensitive-upper) (setq *cltl1-in-package-compatibility-p* t) (setq comp:*cltl1-compile-file-toplevel-compatibility-p* t) (setq *enable-package-locked-errors* nil))'\ '(load "lisp/f-cl") (compile-file "lisp/f-help.l") (quit)'\ | gcl; else\ lisp/f-help; fi GCL (GNU Common Lisp) 2.6.14 Fri Jan 13 10:47:56 AM EST 2023 CLtL1 git: Version_2_6_15pre7 Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl) Binary License: GPL due to GPL'ed components: (XGCL UNEXEC) Modifications of this banner must retain notice of a compatible license Dedicated to the memory of W. Schelter Use (help) to get some basic information on how to use GCL. Temporary directory for compiler files: /tmp/ >;; Loading "lisp/f-cl" start address -T 0x7f0c60 ;; Finished loading "lisp/f-cl" 21864 > Compiling lisp/f-help.l. ;;; Including lisp/f-macrostart address -T 0x857e30 End of Pass 1. End of Pass 2. OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3 Finished compiling /<>/lisp/f-help.o. #p"/<>/lisp/f-help.o" NIL NIL >if [ cl = cl ]; then\ echo '#+allegro (progn () (set-case-mode :case-insensitive-upper) (setq *cltl1-in-package-compatibility-p* t) (setq comp:*cltl1-compile-file-toplevel-compatibility-p* t) (setq *enable-package-locked-errors* nil))'\ '(load "lisp/f-cl") (compile-file "lisp/f-ol-rec.l") (quit)'\ | gcl; else\ lisp/f-ol-rec; fi GCL (GNU Common Lisp) 2.6.14 Fri Jan 13 10:47:56 AM EST 2023 CLtL1 git: Version_2_6_15pre7 Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl) Binary License: GPL due to GPL'ed components: (XGCL UNEXEC) Modifications of this banner must retain notice of a compatible license Dedicated to the memory of W. Schelter Use (help) to get some basic information on how to use GCL. Temporary directory for compiler files: /tmp/ >;; Loading "lisp/f-cl" start address -T 0x7f0c60 ;; Finished loading "lisp/f-cl" 21864 > Compiling lisp/f-ol-rec.l. End of Pass 1. End of Pass 2. OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3 Finished compiling /<>/lisp/f-ol-rec.o. #p"/<>/lisp/f-ol-rec.o" NIL NIL >if [ cl = cl ]; then\ echo '#+allegro (progn () (set-case-mode :case-insensitive-upper) (setq *cltl1-in-package-compatibility-p* t) (setq comp:*cltl1-compile-file-toplevel-compatibility-p* t) (setq *enable-package-locked-errors* nil))'\ '(load "lisp/f-cl") (compile-file "lisp/genmacs.l") (quit)'\ | gcl; else\ lisp/genmacs; fi GCL (GNU Common Lisp) 2.6.14 Fri Jan 13 10:47:56 AM EST 2023 CLtL1 git: Version_2_6_15pre7 Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl) Binary License: GPL due to GPL'ed components: (XGCL UNEXEC) Modifications of this banner must retain notice of a compatible license Dedicated to the memory of W. Schelter Use (help) to get some basic information on how to use GCL. Temporary directory for compiler files: /tmp/ >;; Loading "lisp/f-cl" start address -T 0x7f0c60 ;; Finished loading "lisp/f-cl" 21864 > Compiling lisp/genmacs.l. ;;; Including lisp/f-macrostart address -T 0x857e30 ;;; Including lisp/f-ol-recstart address -T 0x84c170 End of Pass 1. End of Pass 2. OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3 Finished compiling /<>/lisp/genmacs.o. #p"/<>/lisp/genmacs.o" NIL NIL >if [ cl = cl ]; then\ echo '#+allegro (progn () (set-case-mode :case-insensitive-upper) (setq *cltl1-in-package-compatibility-p* t) (setq comp:*cltl1-compile-file-toplevel-compatibility-p* t) (setq *enable-package-locked-errors* nil))'\ '(load "lisp/f-cl") (compile-file "lisp/mk-ml.l") (quit)'\ | gcl; else\ lisp/mk-ml; fi GCL (GNU Common Lisp) 2.6.14 Fri Jan 13 10:47:56 AM EST 2023 CLtL1 git: Version_2_6_15pre7 Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl) Binary License: GPL due to GPL'ed components: (XGCL UNEXEC) Modifications of this banner must retain notice of a compatible license Dedicated to the memory of W. Schelter Use (help) to get some basic information on how to use GCL. Temporary directory for compiler files: /tmp/ >;; Loading "lisp/f-cl" start address -T 0x7f0c60 ;; Finished loading "lisp/f-cl" 21864 > Compiling lisp/mk-ml.l. End of Pass 1. End of Pass 2. OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3 Finished compiling /<>/lisp/mk-ml.o. #p"/<>/lisp/mk-ml.o" NIL NIL >if [ cl = cl ]; then\ echo '#+allegro (progn () (set-case-mode :case-insensitive-upper) (setq *cltl1-in-package-compatibility-p* t) (setq comp:*cltl1-compile-file-toplevel-compatibility-p* t) (setq *enable-package-locked-errors* nil))'\ '(load "lisp/f-cl") (compile-file "lisp/mk-hol-lcf.l") (quit)'\ | gcl; else\ lisp/mk-hol-lcf; fi GCL (GNU Common Lisp) 2.6.14 Fri Jan 13 10:47:56 AM EST 2023 CLtL1 git: Version_2_6_15pre7 Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl) Binary License: GPL due to GPL'ed components: (XGCL UNEXEC) Modifications of this banner must retain notice of a compatible license Dedicated to the memory of W. Schelter Use (help) to get some basic information on how to use GCL. Temporary directory for compiler files: /tmp/ >;; Loading "lisp/f-cl" start address -T 0x7f0c60 ;; Finished loading "lisp/f-cl" 21864 > Compiling lisp/mk-hol-lcf.l. End of Pass 1. End of Pass 2. OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3 Finished compiling /<>/lisp/mk-hol-lcf.o. #p"/<>/lisp/mk-hol-lcf.o" NIL NIL >if [ cl = cl ]; then\ echo '#+allegro (progn () (set-case-mode :case-insensitive-upper) (setq *cltl1-in-package-compatibility-p* t) (setq comp:*cltl1-compile-file-toplevel-compatibility-p* t) (setq *enable-package-locked-errors* nil))'\ '(load "lisp/f-cl") (compile-file "lisp/f-constants.l") (quit)'\ | gcl; else\ lisp/f-constants; fi GCL (GNU Common Lisp) 2.6.14 Fri Jan 13 10:47:56 AM EST 2023 CLtL1 git: Version_2_6_15pre7 Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl) Binary License: GPL due to GPL'ed components: (XGCL UNEXEC) Modifications of this banner must retain notice of a compatible license Dedicated to the memory of W. Schelter Use (help) to get some basic information on how to use GCL. Temporary directory for compiler files: /tmp/ >;; Loading "lisp/f-cl" start address -T 0x7f0c60 ;; Finished loading "lisp/f-cl" 21864 > Compiling lisp/f-constants.l. End of Pass 1. End of Pass 2. OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3 Finished compiling /<>/lisp/f-constants.o. #p"/<>/lisp/f-constants.o" NIL NIL >if [ cl = cl ]; then\ echo '#+allegro (progn () (set-case-mode :case-insensitive-upper) (setq *cltl1-in-package-compatibility-p* t) (setq comp:*cltl1-compile-file-toplevel-compatibility-p* t) (setq *enable-package-locked-errors* nil))'\ '(load "lisp/f-cl") (compile-file "lisp/f-site.l") (quit)'\ | gcl; else\ lisp/f-site; fi GCL (GNU Common Lisp) 2.6.14 Fri Jan 13 10:47:56 AM EST 2023 CLtL1 git: Version_2_6_15pre7 Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl) Binary License: GPL due to GPL'ed components: (XGCL UNEXEC) Modifications of this banner must retain notice of a compatible license Dedicated to the memory of W. Schelter Use (help) to get some basic information on how to use GCL. Temporary directory for compiler files: /tmp/ >;; Loading "lisp/f-cl" start address -T 0x7f0c60 ;; Finished loading "lisp/f-cl" 21864 > Compiling lisp/f-site.l. ;;; Including lisp/f-constantsstart address -T 0x85d050 End of Pass 1. End of Pass 2. OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3 Finished compiling /<>/lisp/f-site.o. #p"/<>/lisp/f-site.o" NIL NIL >if [ cl = cl ]; then\ echo '#+allegro (progn () (set-case-mode :case-insensitive-upper) (setq *cltl1-in-package-compatibility-p* t) (setq comp:*cltl1-compile-file-toplevel-compatibility-p* t) (setq *enable-package-locked-errors* nil))'\ '(load "lisp/f-cl") (compile-file "lisp/f-gp.l") (quit)'\ | gcl; else\ lisp/f-gp; fi GCL (GNU Common Lisp) 2.6.14 Fri Jan 13 10:47:56 AM EST 2023 CLtL1 git: Version_2_6_15pre7 Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl) Binary License: GPL due to GPL'ed components: (XGCL UNEXEC) Modifications of this banner must retain notice of a compatible license Dedicated to the memory of W. Schelter Use (help) to get some basic information on how to use GCL. Temporary directory for compiler files: /tmp/ >;; Loading "lisp/f-cl" start address -T 0x7f0c60 ;; Finished loading "lisp/f-cl" 21864 > Compiling lisp/f-gp.l. ;;; Including lisp/f-constantsstart address -T 0x85d050 ;;; Including lisp/f-macrostart address -T 0x84f500 End of Pass 1. End of Pass 2. OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3 Finished compiling /<>/lisp/f-gp.o. #p"/<>/lisp/f-gp.o" NIL NIL >if [ cl = cl ]; then\ echo '#+allegro (progn () (set-case-mode :case-insensitive-upper) (setq *cltl1-in-package-compatibility-p* t) (setq comp:*cltl1-compile-file-toplevel-compatibility-p* t) (setq *enable-package-locked-errors* nil))'\ '(load "lisp/f-cl") (compile-file "lisp/f-parser.l") (quit)'\ | gcl; else\ lisp/f-parser; fi GCL (GNU Common Lisp) 2.6.14 Fri Jan 13 10:47:56 AM EST 2023 CLtL1 git: Version_2_6_15pre7 Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl) Binary License: GPL due to GPL'ed components: (XGCL UNEXEC) Modifications of this banner must retain notice of a compatible license Dedicated to the memory of W. Schelter Use (help) to get some basic information on how to use GCL. Temporary directory for compiler files: /tmp/ >;; Loading "lisp/f-cl" start address -T 0x7f0c60 ;; Finished loading "lisp/f-cl" 21864 > Compiling lisp/f-parser.l. ;;; Including lisp/f-constantsstart address -T 0x85d050 ;;; Including lisp/f-macrostart address -T 0x84f500 End of Pass 1. ;; Note: Tail-recursive call of GNC was replaced by iteration. End of Pass 2. OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3 Finished compiling /<>/lisp/f-parser.o. #p"/<>/lisp/f-parser.o" NIL NIL >if [ cl = cl ]; then\ echo '#+allegro (progn () (set-case-mode :case-insensitive-upper) (setq *cltl1-in-package-compatibility-p* t) (setq comp:*cltl1-compile-file-toplevel-compatibility-p* t) (setq *enable-package-locked-errors* nil))'\ '(load "lisp/f-cl") (compile-file "lisp/f-parsml.l") (quit)'\ | gcl; else\ lisp/f-parsml; fi GCL (GNU Common Lisp) 2.6.14 Fri Jan 13 10:47:56 AM EST 2023 CLtL1 git: Version_2_6_15pre7 Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl) Binary License: GPL due to GPL'ed components: (XGCL UNEXEC) Modifications of this banner must retain notice of a compatible license Dedicated to the memory of W. Schelter Use (help) to get some basic information on how to use GCL. Temporary directory for compiler files: /tmp/ >;; Loading "lisp/f-cl" start address -T 0x7f0c60 ;; Finished loading "lisp/f-cl" 21864 > Compiling lisp/f-parsml.l. ;;; Including lisp/f-constantsstart address -T 0x85d050 ;;; Including lisp/f-macrostart address -T 0x84f500 End of Pass 1. ;; Note: Tail-recursive call of ULTABSTR was replaced by iteration. End of Pass 2. OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3 Finished compiling /<>/lisp/f-parsml.o. #p"/<>/lisp/f-parsml.o" NIL NIL >if [ cl = cl ]; then\ echo '#+allegro (progn () (set-case-mode :case-insensitive-upper) (setq *cltl1-in-package-compatibility-p* t) (setq comp:*cltl1-compile-file-toplevel-compatibility-p* t) (setq *enable-package-locked-errors* nil))'\ '(load "lisp/f-cl") (compile-file "lisp/f-mlprin.l") (quit)'\ | gcl; else\ lisp/f-mlprin; fi GCL (GNU Common Lisp) 2.6.14 Fri Jan 13 10:47:56 AM EST 2023 CLtL1 git: Version_2_6_15pre7 Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl) Binary License: GPL due to GPL'ed components: (XGCL UNEXEC) Modifications of this banner must retain notice of a compatible license Dedicated to the memory of W. Schelter Use (help) to get some basic information on how to use GCL. Temporary directory for compiler files: /tmp/ >;; Loading "lisp/f-cl" start address -T 0x7f0c60 ;; Finished loading "lisp/f-cl" 21864 > Compiling lisp/f-mlprin.l. ;;; Including lisp/f-constantsstart address -T 0x85d050 ;;; Including lisp/f-macrostart address -T 0x84f500 End of Pass 1. End of Pass 2. OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3 Finished compiling /<>/lisp/f-mlprin.o. #p"/<>/lisp/f-mlprin.o" NIL NIL >if [ cl = cl ]; then\ echo '#+allegro (progn () (set-case-mode :case-insensitive-upper) (setq *cltl1-in-package-compatibility-p* t) (setq comp:*cltl1-compile-file-toplevel-compatibility-p* t) (setq *enable-package-locked-errors* nil))'\ '(load "lisp/f-cl") (compile-file "lisp/f-typeml.l") (quit)'\ | gcl; else\ lisp/f-typeml; fi GCL (GNU Common Lisp) 2.6.14 Fri Jan 13 10:47:56 AM EST 2023 CLtL1 git: Version_2_6_15pre7 Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl) Binary License: GPL due to GPL'ed components: (XGCL UNEXEC) Modifications of this banner must retain notice of a compatible license Dedicated to the memory of W. Schelter Use (help) to get some basic information on how to use GCL. Temporary directory for compiler files: /tmp/ >;; Loading "lisp/f-cl" start address -T 0x7f0c60 ;; Finished loading "lisp/f-cl" 21864 > Compiling lisp/f-typeml.l. ;;; Including lisp/f-constantsstart address -T 0x85d050 ;;; Including lisp/f-macrostart address -T 0x84f500 End of Pass 1. ;; Note: Tail-recursive call of TYPING was replaced by iteration. ;; Note: Tail-recursive call of TYPING was replaced by iteration. ;; Note: Tail-recursive call of TYPING was replaced by iteration. ;; Note: Tail-recursive call of TYPING was replaced by iteration. ;; Note: Tail-recursive call of ADJUST-FUNDEF was replaced by iteration. ;; Note: Tail-recursive call of ADJUST-FUNDEF was replaced by iteration. ;; Note: Tail-recursive call of ADJUST-ABSTRACTION was replaced by iteration. ;; Note: Tail-recursive call of IS-LOCAL-CONSTRUCTOR was replaced by iteration. ;; Note: Tail-recursive call of LAYER was replaced by iteration. ;; Note: Tail-recursive call of GETTYPEID was replaced by iteration. ;; Note: Tail-recursive call of MUTANT1 was replaced by iteration. ;; Note: Tail-recursive call of IMMUT was replaced by iteration. ;; Note: Tail-recursive call of ATCH was replaced by iteration. ;; Note: Tail-recursive call of TIDYUP was replaced by iteration. ;; Note: Tail-recursive call of PRINTTYTAIL was replaced by iteration. ;; Note: Tail-recursive call of PRUNE was replaced by iteration. ;; Note: Tail-recursive call of UNIFYTL was replaced by iteration. End of Pass 2. OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3 Finished compiling /<>/lisp/f-typeml.o. #p"/<>/lisp/f-typeml.o" NIL NIL >if [ cl = cl ]; then\ echo '#+allegro (progn () (set-case-mode :case-insensitive-upper) (setq *cltl1-in-package-compatibility-p* t) (setq comp:*cltl1-compile-file-toplevel-compatibility-p* t) (setq *enable-package-locked-errors* nil))'\ '(load "lisp/f-cl") (compile-file "lisp/f-dml.l") (quit)'\ | gcl; else\ lisp/f-dml; fi GCL (GNU Common Lisp) 2.6.14 Fri Jan 13 10:47:56 AM EST 2023 CLtL1 git: Version_2_6_15pre7 Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl) Binary License: GPL due to GPL'ed components: (XGCL UNEXEC) Modifications of this banner must retain notice of a compatible license Dedicated to the memory of W. Schelter Use (help) to get some basic information on how to use GCL. Temporary directory for compiler files: /tmp/ >;; Loading "lisp/f-cl" start address -T 0x7f0c60 ;; Finished loading "lisp/f-cl" 21864 > Compiling lisp/f-dml.l. ;;; Including lisp/f-macrostart address -T 0x857e30 ;;; Including lisp/f-constantsstart address -T 0x851500 End of Pass 1. ;; Note: Tail-recursive call of ML-ORD was replaced by iteration. ;; Note: Tail-recursive call of ML-ORD was replaced by iteration. End of Pass 2. /<>/lisp/f-dml.c: In function ‘L2’: /<>/lisp/f-dml.c:1130:26: warning: unused variable ‘V12’ [-Wunused-variable] 1130 | {register object V12; | ^~~ OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3 Finished compiling /<>/lisp/f-dml.o. #p"/<>/lisp/f-dml.o" NIL NIL >if [ cl = cl ]; then\ echo '#+allegro (progn () (set-case-mode :case-insensitive-upper) (setq *cltl1-in-package-compatibility-p* t) (setq comp:*cltl1-compile-file-toplevel-compatibility-p* t) (setq *enable-package-locked-errors* nil))'\ '(load "lisp/f-cl") (compile-file "lisp/f-format.l") (quit)'\ | gcl; else\ lisp/f-format; fi GCL (GNU Common Lisp) 2.6.14 Fri Jan 13 10:47:56 AM EST 2023 CLtL1 git: Version_2_6_15pre7 Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl) Binary License: GPL due to GPL'ed components: (XGCL UNEXEC) Modifications of this banner must retain notice of a compatible license Dedicated to the memory of W. Schelter Use (help) to get some basic information on how to use GCL. Temporary directory for compiler files: /tmp/ >;; Loading "lisp/f-cl" start address -T 0x7f0c60 ;; Finished loading "lisp/f-cl" 21864 > Compiling lisp/f-format.l. ;;; Including lisp/f-macrostart address -T 0x857e30 ;;; Including lisp/f-constantsstart address -T 0x851500 End of Pass 1. End of Pass 2. OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3 Finished compiling /<>/lisp/f-format.o. #p"/<>/lisp/f-format.o" NIL NIL >if [ cl = cl ]; then\ echo '#+allegro (progn () (set-case-mode :case-insensitive-upper) (setq *cltl1-in-package-compatibility-p* t) (setq comp:*cltl1-compile-file-toplevel-compatibility-p* t) (setq *enable-package-locked-errors* nil))'\ '(load "lisp/f-cl") (compile-file "lisp/f-tran.l") (quit)'\ | gcl; else\ lisp/f-tran; fi GCL (GNU Common Lisp) 2.6.14 Fri Jan 13 10:47:56 AM EST 2023 CLtL1 git: Version_2_6_15pre7 Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl) Binary License: GPL due to GPL'ed components: (XGCL UNEXEC) Modifications of this banner must retain notice of a compatible license Dedicated to the memory of W. Schelter Use (help) to get some basic information on how to use GCL. Temporary directory for compiler files: /tmp/ >;; Loading "lisp/f-cl" start address -T 0x7f0c60 ;; Finished loading "lisp/f-cl" 21864 > Compiling lisp/f-tran.l. ;;; Including lisp/f-constantsstart address -T 0x85d050 ;;; Including lisp/f-macrostart address -T 0x84f500 End of Pass 1. ;; Note: Tail-recursive call of STORST was replaced by iteration. ;; Note: Tail-recursive call of VARPAT was replaced by iteration. ;; Note: Tail-recursive call of TRE was replaced by iteration. ;; Note: Tail-recursive call of TRE was replaced by iteration. ;; Note: Tail-recursive call of TRE was replaced by iteration. ;; Note: Tail-recursive call of TRE was replaced by iteration. ;; Note: Tail-recursive call of TRE was replaced by iteration. ;; Note: Tail-recursive call of INSERTTRANSFUN was replaced by iteration. ;; Note: Tail-recursive call of FAP was replaced by iteration. ;; Note: Tail-recursive call of CHECKS was replaced by iteration. End of Pass 2. /<>/lisp/f-tran.c: In function ‘L44’: /<>/lisp/f-tran.c:4174:26: warning: unused variable ‘V248’ [-Wunused-variable] 4174 | {register object V248; | ^~~~ OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3 Finished compiling /<>/lisp/f-tran.o. #p"/<>/lisp/f-tran.o" NIL NIL >if [ cl = cl ]; then\ echo '#+allegro (progn () (set-case-mode :case-insensitive-upper) (setq *cltl1-in-package-compatibility-p* t) (setq comp:*cltl1-compile-file-toplevel-compatibility-p* t) (setq *enable-package-locked-errors* nil))'\ '(load "lisp/f-cl") (compile-file "lisp/f-iox-stand.l") (quit)'\ | gcl; else\ lisp/f-iox-stand; fi GCL (GNU Common Lisp) 2.6.14 Fri Jan 13 10:47:56 AM EST 2023 CLtL1 git: Version_2_6_15pre7 Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl) Binary License: GPL due to GPL'ed components: (XGCL UNEXEC) Modifications of this banner must retain notice of a compatible license Dedicated to the memory of W. Schelter Use (help) to get some basic information on how to use GCL. Temporary directory for compiler files: /tmp/ >;; Loading "lisp/f-cl" start address -T 0x7f0c60 ;; Finished loading "lisp/f-cl" 21864 > Compiling lisp/f-iox-stand.l. ;;; Including lisp/f-constantsstart address -T 0x85d050 ;;; Including lisp/f-macrostart address -T 0x84f500 End of Pass 1. End of Pass 2. /<>/lisp/f-iox-stand.c: In function ‘L2’: /<>/lisp/f-iox-stand.c:1141:26: warning: unused variable ‘V6’ [-Wunused-variable] 1141 | {register object V6; | ^~ OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3 Finished compiling /<>/lisp/f-iox-stand.o. #p"/<>/lisp/f-iox-stand.o" NIL NIL >if [ cl = cl ]; then\ echo '#+allegro (progn () (set-case-mode :case-insensitive-upper) (setq *cltl1-in-package-compatibility-p* t) (setq comp:*cltl1-compile-file-toplevel-compatibility-p* t) (setq *enable-package-locked-errors* nil))'\ '(load "lisp/f-cl") (compile-file "lisp/f-writml.l") (quit)'\ | gcl; else\ lisp/f-writml; fi GCL (GNU Common Lisp) 2.6.14 Fri Jan 13 10:47:56 AM EST 2023 CLtL1 git: Version_2_6_15pre7 Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl) Binary License: GPL due to GPL'ed components: (XGCL UNEXEC) Modifications of this banner must retain notice of a compatible license Dedicated to the memory of W. Schelter Use (help) to get some basic information on how to use GCL. Temporary directory for compiler files: /tmp/ >;; Loading "lisp/f-cl" start address -T 0x7f0c60 ;; Finished loading "lisp/f-cl" 21864 > Compiling lisp/f-writml.l. ;;; Including lisp/f-constantsstart address -T 0x85d050 ;;; Including lisp/f-macrostart address -T 0x84f500 ; (DEFUN ML-PRINT_VOID ...) is being compiled. ;; Warning: The variable IGNORE is not used. ; (DEFUN PRINT_PROD ...) is being compiled. ;; Warning: The variable CL is not used. ; (DEFUN PRINT_CONC ...) is being compiled. ;; Warning: The variable TY is not used. End of Pass 1. ;; Note: Tail-recursive call of PRLET was replaced by iteration. End of Pass 2. OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3 Finished compiling /<>/lisp/f-writml.o. #p"/<>/lisp/f-writml.o" NIL NIL >if [ cl = cl ]; then\ echo '#+allegro (progn () (set-case-mode :case-insensitive-upper) (setq *cltl1-in-package-compatibility-p* t) (setq comp:*cltl1-compile-file-toplevel-compatibility-p* t) (setq *enable-package-locked-errors* nil))'\ '(load "lisp/f-cl") (compile-file "lisp/f-tml.l") (quit)'\ | gcl; else\ lisp/f-tml; fi GCL (GNU Common Lisp) 2.6.14 Fri Jan 13 10:47:56 AM EST 2023 CLtL1 git: Version_2_6_15pre7 Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl) Binary License: GPL due to GPL'ed components: (XGCL UNEXEC) Modifications of this banner must retain notice of a compatible license Dedicated to the memory of W. Schelter Use (help) to get some basic information on how to use GCL. Temporary directory for compiler files: /tmp/ >;; Loading "lisp/f-cl" start address -T 0x7f0c60 ;; Finished loading "lisp/f-cl" 21864 > Compiling lisp/f-tml.l. ;;; Including lisp/f-constantsstart address -T 0x85d050 ;;; Including lisp/f-macrostart address -T 0x84f500 ; (DEFUN HOL-ERR ...) is being compiled. ;; Warning: The variable X is not used. ; (DEFUN OKPASS ...) is being compiled. ;; Warning: The variable ERRTOK is not used. ; (DEFUN ML-COMPILE ...) is being compiled. ;; Warning: The variable $GCPRINT is not used. End of Pass 1. ;; Note: Tail-recursive call of EXTEND-ENV was replaced by iteration. ;; Note: Tail-recursive call of SETBINDINGS was replaced by iteration. End of Pass 2. OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3 Finished compiling /<>/lisp/f-tml.o. #p"/<>/lisp/f-tml.o" NIL NIL >if [ cl = cl ]; then\ echo '#+allegro (progn () (set-case-mode :case-insensitive-upper) (setq *cltl1-in-package-compatibility-p* t) (setq comp:*cltl1-compile-file-toplevel-compatibility-p* t) (setq *enable-package-locked-errors* nil))'\ '(load "lisp/f-cl") (compile-file "lisp/f-lis.l") (quit)'\ | gcl; else\ lisp/f-lis; fi GCL (GNU Common Lisp) 2.6.14 Fri Jan 13 10:47:56 AM EST 2023 CLtL1 git: Version_2_6_15pre7 Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl) Binary License: GPL due to GPL'ed components: (XGCL UNEXEC) Modifications of this banner must retain notice of a compatible license Dedicated to the memory of W. Schelter Use (help) to get some basic information on how to use GCL. Temporary directory for compiler files: /tmp/ >;; Loading "lisp/f-cl" start address -T 0x7f0c60 ;; Finished loading "lisp/f-cl" 21864 > Compiling lisp/f-lis.l. ;;; Including lisp/f-constantsstart address -T 0x85d050 ;;; Including lisp/f-macrostart address -T 0x84f500 End of Pass 1. End of Pass 2. OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3 Finished compiling /<>/lisp/f-lis.o. #p"/<>/lisp/f-lis.o" NIL NIL >if [ cl = cl ]; then\ echo '#+allegro (progn () (set-case-mode :case-insensitive-upper) (setq *cltl1-in-package-compatibility-p* t) (setq comp:*cltl1-compile-file-toplevel-compatibility-p* t) (setq *enable-package-locked-errors* nil))'\ '(load "lisp/f-cl") (compile-file "lisp/f-parsol.l") (quit)'\ | gcl; else\ lisp/f-parsol; fi GCL (GNU Common Lisp) 2.6.14 Fri Jan 13 10:47:56 AM EST 2023 CLtL1 git: Version_2_6_15pre7 Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl) Binary License: GPL due to GPL'ed components: (XGCL UNEXEC) Modifications of this banner must retain notice of a compatible license Dedicated to the memory of W. Schelter Use (help) to get some basic information on how to use GCL. Temporary directory for compiler files: /tmp/ >;; Loading "lisp/f-cl" start address -T 0x7f0c60 ;; Finished loading "lisp/f-cl" 21864 > Compiling lisp/f-parsol.l. ;;; Including lisp/f-constantsstart address -T 0x85d050 ;;; Including lisp/f-macrostart address -T 0x84f500 ; (DEFUN OLVARINFIX ...) is being compiled. ;; The variable HOL-VAR-BINOPS is undefined. ;; The compiler will assume this variable is a global. End of Pass 1. End of Pass 2. OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3 Finished compiling /<>/lisp/f-parsol.o. #p"/<>/lisp/f-parsol.o" NIL NIL >if [ cl = cl ]; then\ echo '#+allegro (progn () (set-case-mode :case-insensitive-upper) (setq *cltl1-in-package-compatibility-p* t) (setq comp:*cltl1-compile-file-toplevel-compatibility-p* t) (setq *enable-package-locked-errors* nil))'\ '(load "lisp/f-cl") (compile-file "lisp/f-typeol.l") (quit)'\ | gcl; else\ lisp/f-typeol; fi GCL (GNU Common Lisp) 2.6.14 Fri Jan 13 10:47:56 AM EST 2023 CLtL1 git: Version_2_6_15pre7 Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl) Binary License: GPL due to GPL'ed components: (XGCL UNEXEC) Modifications of this banner must retain notice of a compatible license Dedicated to the memory of W. Schelter Use (help) to get some basic information on how to use GCL. Temporary directory for compiler files: /tmp/ >;; Loading "lisp/f-cl" start address -T 0x7f0c60 ;; Finished loading "lisp/f-cl" 21864 > Compiling lisp/f-typeol.l. ;;; Including lisp/f-constantsstart address -T 0x85d050 ;;; Including lisp/f-macrostart address -T 0x84f500 ;;; Including lisp/f-ol-recstart address -T 0x83d740 End of Pass 1. ;; Note: Tail-recursive call of HOL-TRUNC was replaced by iteration. ;; Note: Tail-recursive call of HOL-TRUNC was replaced by iteration. ;; Note: Tail-recursive call of CANON-TY was replaced by iteration. End of Pass 2. /<>/lisp/f-typeol.c: In function ‘L3’: /<>/lisp/f-typeol.c:1218:17: warning: unused variable ‘V10’ [-Wunused-variable] 1218 | {object V10; | ^~~ OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3 Finished compiling /<>/lisp/f-typeol.o. #p"/<>/lisp/f-typeol.o" NIL NIL >if [ cl = cl ]; then\ echo '#+allegro (progn () (set-case-mode :case-insensitive-upper) (setq *cltl1-in-package-compatibility-p* t) (setq comp:*cltl1-compile-file-toplevel-compatibility-p* t) (setq *enable-package-locked-errors* nil))'\ '(load "lisp/f-cl") (compile-file "lisp/f-writol.l") (quit)'\ | gcl; else\ lisp/f-writol; fi GCL (GNU Common Lisp) 2.6.14 Fri Jan 13 10:47:56 AM EST 2023 CLtL1 git: Version_2_6_15pre7 Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl) Binary License: GPL due to GPL'ed components: (XGCL UNEXEC) Modifications of this banner must retain notice of a compatible license Dedicated to the memory of W. Schelter Use (help) to get some basic information on how to use GCL. Temporary directory for compiler files: /tmp/ >;; Loading "lisp/f-cl" start address -T 0x7f0c60 ;; Finished loading "lisp/f-cl" 21864 > Compiling lisp/f-writol.l. ;;; Including lisp/f-constantsstart address -T 0x85d050 ;;; Including lisp/f-macrostart address -T 0x84f500 ;;; Including lisp/f-ol-recstart address -T 0x83d740 ;;; Including lisp/genmacsstart address -T 0x8509a0 End of Pass 1. End of Pass 2. OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3 Finished compiling /<>/lisp/f-writol.o. #p"/<>/lisp/f-writol.o" NIL NIL >if [ cl = cl ]; then\ echo '#+allegro (progn () (set-case-mode :case-insensitive-upper) (setq *cltl1-in-package-compatibility-p* t) (setq comp:*cltl1-compile-file-toplevel-compatibility-p* t) (setq *enable-package-locked-errors* nil))'\ '(load "lisp/f-cl") (compile-file "lisp/f-thyfns.l") (quit)'\ | gcl; else\ lisp/f-thyfns; fi GCL (GNU Common Lisp) 2.6.14 Fri Jan 13 10:47:56 AM EST 2023 CLtL1 git: Version_2_6_15pre7 Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl) Binary License: GPL due to GPL'ed components: (XGCL UNEXEC) Modifications of this banner must retain notice of a compatible license Dedicated to the memory of W. Schelter Use (help) to get some basic information on how to use GCL. Temporary directory for compiler files: /tmp/ >;; Loading "lisp/f-cl" start address -T 0x7f0c60 ;; Finished loading "lisp/f-cl" 21864 > Compiling lisp/f-thyfns.l. ;;; Including lisp/f-constantsstart address -T 0x85d050 ;;; Including lisp/f-macrostart address -T 0x84f500 ;;; Including lisp/f-ol-recstart address -T 0x83d740 ; (DEFUN OPEN-THY-FILE ...) is being compiled. ;; Warning: The variable ERTOK is not used. ; (DEFUN THY-READ ...) is being compiled. ;; Warning: The variable ERTOK is not used. ; (DEFUN GET-PARENT ...) is being compiled. ;; Warning: The variable PARDATA is not used. ; (DEFUN UNLOAD-THEORY ...) is being compiled. ;; Warning: The variable TOK is not used. ; (DEFUN WRITE-THY-FILE ...) is being compiled. ;; Warning: The variable $GCPRINT is not used. End of Pass 1. ;; Note: Tail-recursive call of ABS-TYPE was replaced by iteration. End of Pass 2. OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3 Finished compiling /<>/lisp/f-thyfns.o. #p"/<>/lisp/f-thyfns.o" NIL NIL >if [ cl = cl ]; then\ echo '#+allegro (progn () (set-case-mode :case-insensitive-upper) (setq *cltl1-in-package-compatibility-p* t) (setq comp:*cltl1-compile-file-toplevel-compatibility-p* t) (setq *enable-package-locked-errors* nil))'\ '(load "lisp/f-cl") (compile-file "lisp/f-freadth.l") (quit)'\ | gcl; else\ touch lisp/f-freadth.o; fi GCL (GNU Common Lisp) 2.6.14 Fri Jan 13 10:47:56 AM EST 2023 CLtL1 git: Version_2_6_15pre7 Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl) Binary License: GPL due to GPL'ed components: (XGCL UNEXEC) Modifications of this banner must retain notice of a compatible license Dedicated to the memory of W. Schelter Use (help) to get some basic information on how to use GCL. Temporary directory for compiler files: /tmp/ >;; Loading "lisp/f-cl" start address -T 0x7f0c60 ;; Finished loading "lisp/f-cl" 21864 > Compiling lisp/f-freadth.l. ;;; Including lisp/f-macrostart address -T 0x857e30 ; (DEFUN THY-READ ...) is being compiled. ;; The variable %FAILTOK is undefined. ;; The compiler will assume this variable is a global. ;; Warning: The variable ERTOK is not used. End of Pass 1. End of Pass 2. OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3 Finished compiling /<>/lisp/f-freadth.o. #p"/<>/lisp/f-freadth.o" NIL NIL >if [ cl = cl ]; then\ echo '#+allegro (progn () (set-case-mode :case-insensitive-upper) (setq *cltl1-in-package-compatibility-p* t) (setq comp:*cltl1-compile-file-toplevel-compatibility-p* t) (setq *enable-package-locked-errors* nil))'\ '(load "lisp/f-cl") (compile-file "lisp/f-ol-syntax.l") (quit)'\ | gcl; else\ lisp/f-ol-syntax; fi GCL (GNU Common Lisp) 2.6.14 Fri Jan 13 10:47:56 AM EST 2023 CLtL1 git: Version_2_6_15pre7 Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl) Binary License: GPL due to GPL'ed components: (XGCL UNEXEC) Modifications of this banner must retain notice of a compatible license Dedicated to the memory of W. Schelter Use (help) to get some basic information on how to use GCL. Temporary directory for compiler files: /tmp/ >;; Loading "lisp/f-cl" start address -T 0x7f0c60 ;; Finished loading "lisp/f-cl" 21864 > Compiling lisp/f-ol-syntax.l. ;;; Including lisp/f-constantsstart address -T 0x85d050 ;;; Including lisp/f-macrostart address -T 0x84f500 ;;; Including lisp/f-ol-recstart address -T 0x83d740 ; (DEFUN Q-MK_EQUIV ...) is being compiled. ;; Warning: The variable TOK is not used. ; (DEFUN Q-MK_INEQUIV ...) is being compiled. ;; Warning: The variable TOK is not used. ; (DEFUN ML-MK_COMB ...) is being compiled. ;; Warning: The variable TOK is not used. End of Pass 1. ;; Note: Tail-recursive call of PREP-TERM-FN was replaced by iteration. ;; Note: Tail-recursive call of ADD-TERM-LINKS was replaced by iteration. ;; Note: Tail-recursive call of ADD-TYPE-LINKS was replaced by iteration. ;; Note: Tail-recursive call of GET-TYPE-LINKS was replaced by iteration. ;; Note: Tail-recursive call of GET-TERM-LINKS was replaced by iteration. ;; Note: Tail-recursive call of PREP-TY-FN was replaced by iteration. End of Pass 2. OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3 Finished compiling /<>/lisp/f-ol-syntax.o. #p"/<>/lisp/f-ol-syntax.o" NIL NIL >if [ cl = cl ]; then\ echo '#+allegro (progn () (set-case-mode :case-insensitive-upper) (setq *cltl1-in-package-compatibility-p* t) (setq comp:*cltl1-compile-file-toplevel-compatibility-p* t) (setq *enable-package-locked-errors* nil))'\ '(load "lisp/f-cl") (compile-file "lisp/f-subst.l") (quit)'\ | gcl; else\ lisp/f-subst; fi GCL (GNU Common Lisp) 2.6.14 Fri Jan 13 10:47:56 AM EST 2023 CLtL1 git: Version_2_6_15pre7 Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl) Binary License: GPL due to GPL'ed components: (XGCL UNEXEC) Modifications of this banner must retain notice of a compatible license Dedicated to the memory of W. Schelter Use (help) to get some basic information on how to use GCL. Temporary directory for compiler files: /tmp/ >;; Loading "lisp/f-cl" start address -T 0x7f0c60 ;; Finished loading "lisp/f-cl" 21864 > Compiling lisp/f-subst.l. ;;; Including lisp/f-constantsstart address -T 0x85d050 ;;; Including lisp/f-macrostart address -T 0x84f500 ;;; Including lisp/f-ol-recstart address -T 0x83d740 End of Pass 1. ;; Note: Tail-recursive call of ALPHA-FM was replaced by iteration. ;; Note: Tail-recursive call of ALPHA-TM was replaced by iteration. ;; Note: Tail-recursive call of VARS-FM was replaced by iteration. ;; Note: Tail-recursive call of VARS-FM was replaced by iteration. ;; Note: Tail-recursive call of VARS-TM was replaced by iteration. ;; Note: Tail-recursive call of VARS-TM was replaced by iteration. ;; Note: Tail-recursive call of VARFILTER was replaced by iteration. ;; Note: Tail-recursive call of FREEIN-FM was replaced by iteration. ;; Note: Tail-recursive call of FREEIN-FM was replaced by iteration. ;; Note: Tail-recursive call of FREEIN-TM was replaced by iteration. ;; Note: Tail-recursive call of FREEIN-TM was replaced by iteration. End of Pass 2. OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3 Finished compiling /<>/lisp/f-subst.o. #p"/<>/lisp/f-subst.o" NIL NIL >if [ cl = cl ]; then\ echo '#+allegro (progn () (set-case-mode :case-insensitive-upper) (setq *cltl1-in-package-compatibility-p* t) (setq comp:*cltl1-compile-file-toplevel-compatibility-p* t) (setq *enable-package-locked-errors* nil))'\ '(load "lisp/f-cl") (compile-file "lisp/f-inst.l") (quit)'\ | gcl; else\ lisp/f-inst; fi GCL (GNU Common Lisp) 2.6.14 Fri Jan 13 10:47:56 AM EST 2023 CLtL1 git: Version_2_6_15pre7 Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl) Binary License: GPL due to GPL'ed components: (XGCL UNEXEC) Modifications of this banner must retain notice of a compatible license Dedicated to the memory of W. Schelter Use (help) to get some basic information on how to use GCL. Temporary directory for compiler files: /tmp/ >;; Loading "lisp/f-cl" start address -T 0x7f0c60 ;; Finished loading "lisp/f-cl" 21864 > Compiling lisp/f-inst.l. ;;; Including lisp/f-constantsstart address -T 0x85d050 ;;; Including lisp/f-macrostart address -T 0x84f500 ;;; Including lisp/f-ol-recstart address -T 0x83d740 End of Pass 1. ;; Note: Tail-recursive call of TYPE-IN-FM was replaced by iteration. ;; Note: Tail-recursive call of TYPE-IN-FM was replaced by iteration. ;; Note: Tail-recursive call of TYPE-IN-TM was replaced by iteration. ;; Note: Tail-recursive call of TYPE-IN-TM was replaced by iteration. ;; Note: Tail-recursive call of TYVARS-FM was replaced by iteration. ;; Note: Tail-recursive call of TYVARS-FM was replaced by iteration. ;; Note: Tail-recursive call of TYVARS-TM was replaced by iteration. ;; Note: Tail-recursive call of TYVARS-TM was replaced by iteration. ;; Note: Tail-recursive call of STRIP-PRIMES-AUX was replaced by iteration. ;; Note: Tail-recursive call of TYPEL-IN-TM was replaced by iteration. End of Pass 2. OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3 Finished compiling /<>/lisp/f-inst.o. #p"/<>/lisp/f-inst.o" NIL NIL >if [ cl = cl ]; then\ echo '#+allegro (progn () (set-case-mode :case-insensitive-upper) (setq *cltl1-in-package-compatibility-p* t) (setq comp:*cltl1-compile-file-toplevel-compatibility-p* t) (setq *enable-package-locked-errors* nil))'\ '(load "lisp/f-cl") (compile-file "lisp/f-simpl.l") (quit)'\ | gcl; else\ lisp/f-simpl; fi GCL (GNU Common Lisp) 2.6.14 Fri Jan 13 10:47:56 AM EST 2023 CLtL1 git: Version_2_6_15pre7 Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl) Binary License: GPL due to GPL'ed components: (XGCL UNEXEC) Modifications of this banner must retain notice of a compatible license Dedicated to the memory of W. Schelter Use (help) to get some basic information on how to use GCL. Temporary directory for compiler files: /tmp/ >;; Loading "lisp/f-cl" start address -T 0x7f0c60 ;; Finished loading "lisp/f-cl" 21864 > Compiling lisp/f-simpl.l. ;;; Including lisp/f-constantsstart address -T 0x85d050 ;;; Including lisp/f-macrostart address -T 0x84f500 ;;; Including lisp/f-ol-recstart address -T 0x83d740 End of Pass 1. ;; Note: Tail-recursive call of TERM-MATCH was replaced by iteration. ;; Note: Tail-recursive call of PREPARE-SUBSTL was replaced by iteration. ;; Note: Tail-recursive call of PREPARE-INSTTYL was replaced by iteration. End of Pass 2. /<>/lisp/f-simpl.c: In function ‘L3’: /<>/lisp/f-simpl.c:1403:17: warning: unused variable ‘V27’ [-Wunused-variable] 1403 | {object V27; | ^~~ OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3 Finished compiling /<>/lisp/f-simpl.o. #p"/<>/lisp/f-simpl.o" NIL NIL >if [ cl = cl ]; then\ echo '#+allegro (progn () (set-case-mode :case-insensitive-upper) (setq *cltl1-in-package-compatibility-p* t) (setq comp:*cltl1-compile-file-toplevel-compatibility-p* t) (setq *enable-package-locked-errors* nil))'\ '(load "lisp/f-cl") (compile-file "lisp/f-ol-net.l") (quit)'\ | gcl; else\ lisp/f-ol-net; fi GCL (GNU Common Lisp) 2.6.14 Fri Jan 13 10:47:56 AM EST 2023 CLtL1 git: Version_2_6_15pre7 Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl) Binary License: GPL due to GPL'ed components: (XGCL UNEXEC) Modifications of this banner must retain notice of a compatible license Dedicated to the memory of W. Schelter Use (help) to get some basic information on how to use GCL. Temporary directory for compiler files: /tmp/ >;; Loading "lisp/f-cl" start address -T 0x7f0c60 ;; Finished loading "lisp/f-cl" 21864 > Compiling lisp/f-ol-net.l. ;;; Including lisp/f-constantsstart address -T 0x85d050 ;;; Including lisp/f-macrostart address -T 0x84f500 ;;; Including lisp/f-ol-recstart address -T 0x83d740 End of Pass 1. ;; Note: Tail-recursive call of FOLLOW-FM was replaced by iteration. End of Pass 2. OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3 Finished compiling /<>/lisp/f-ol-net.o. #p"/<>/lisp/f-ol-net.o" NIL NIL >echo '#+allegro (progn () (set-case-mode :case-insensitive-upper) (setq *cltl1-in-package-compatibility-p* t) (setq comp:*cltl1-compile-file-toplevel-compatibility-p* t) (setq *enable-package-locked-errors* nil))'\ '(load "lisp/mk-ml")'\ '(load "lisp/mk-hol-lcf")'\ '(setq %system-name "HOL-LCF")'\ '(setq %liszt "")'\ '(setq %version "2.02 (GCL)")'\ '(set-make)'\ '(tml)'\ 'compile(`ml/ml-curry`,true);;'\ 'quit();;'\ | gcl GCL (GNU Common Lisp) 2.6.14 Fri Jan 13 10:47:56 AM EST 2023 CLtL1 git: Version_2_6_15pre7 Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl) Binary License: GPL due to GPL'ed components: (XGCL UNEXEC) Modifications of this banner must retain notice of a compatible license Dedicated to the memory of W. Schelter Use (help) to get some basic information on how to use GCL. Temporary directory for compiler files: /tmp/ >;; Loading "lisp/mk-ml" ;; Loading "lisp/f-cl" start address -T 0x7f0c60 ;; Finished loading "lisp/f-cl" ;; Loading "lisp/f-system" start address -T 0x857e30 ;; Finished loading "lisp/f-system" ;; Loading "lisp/f-constants" start address -T 0x851500 ;; Finished loading "lisp/f-constants" ;; Loading "lisp/f-site" start address -T 0x859ce0 ;; Finished loading "lisp/f-site" ;; Loading "lisp/f-gp" start address -T 0x8390b0 ;; Finished loading "lisp/f-gp" ;; Loading "lisp/f-parser" start address -T 0x85e120 ;; Finished loading "lisp/f-parser" ;; Loading "lisp/f-parsml" start address -T 0x952360 ;; Finished loading "lisp/f-parsml" ;; Loading "lisp/f-mlprin" start address -T 0x95deb0 ;; Finished loading "lisp/f-mlprin" ;; Loading "lisp/f-typeml" start address -T 0x984160 ;; Finished loading "lisp/f-typeml" ;; Loading "lisp/f-dml" start address -T 0x886360 ;; Finished loading "lisp/f-dml" ;; Loading "lisp/f-format" start address -T 0x826850 ;; Finished loading "lisp/f-format" ;; Loading "lisp/f-tran" start address -T 0x98e720 ;; Finished loading "lisp/f-tran" ;; Loading "lisp/f-iox-stand" start address -T 0x979ab0 ;; Finished loading "lisp/f-iox-stand" ;; Loading "lisp/f-writml" start address -T 0x970ef0 ;; Finished loading "lisp/f-writml" ;; Loading "lisp/f-tml" start address -T 0x998ad0 ;; Finished loading "lisp/f-tml" ;; Loading "lisp/f-lis" start address -T 0x829490 ;; Finished loading "lisp/f-lis" ;; Loading "lisp/f-ol-rec" start address -T 0x97c420 ;; Finished loading "lisp/f-ol-rec" ;; Loading "lisp/f-help" start address -T 0x9601a0 ;; Finished loading "lisp/f-help" start address -T 0x843bd0 ;; Finished loading "lisp/mk-ml" 840 >;; Loading "lisp/mk-hol-lcf" ;; Loading "lisp/f-parsol" start address -T 0x7f73e0 ;; Finished loading "lisp/f-parsol" ;; Loading "lisp/f-typeol" start address -T 0x80afd0 ;; Finished loading "lisp/f-typeol" ;; Loading "lisp/f-help" start address -T 0x7f63b0 ;; Finished loading "lisp/f-help" ;; Loading "lisp/f-format" start address -T 0x9a45f0 ;; Finished loading "lisp/f-format" ;; Loading "lisp/f-writol" start address -T 0x9a9230 ;; Finished loading "lisp/f-writol" ;; Loading "lisp/f-thyfns" start address -T 0x9af500 ;; Finished loading "lisp/f-thyfns" ;; Loading "lisp/f-freadth" Warning: lisp/f-freadth.l is redefining function THY-READ start address -T 0x9bc640 ;; Finished loading "lisp/f-freadth" ;; Loading "lisp/f-ol-syntax" start address -T 0x9c0390 ;; Finished loading "lisp/f-ol-syntax" ;; Loading "lisp/f-subst" start address -T 0x9c9640 ;; Finished loading "lisp/f-subst" ;; Loading "lisp/f-inst" start address -T 0x9cf8e0 ;; Finished loading "lisp/f-inst" ;; Loading "lisp/f-simpl" start address -T 0x959540 ;; Finished loading "lisp/f-simpl" ;; Loading "lisp/f-ol-net" start address -T 0x9d75c0 ;; Finished loading "lisp/f-ol-net" start address -T 0x97da50 ;; Finished loading "lisp/mk-hol-lcf" 840 > "HOL-LCF" > "" > "2.02 (GCL)" > NIL > HOL-LCF version 2.02 (GCL) created 4/4/24 # mem = - : (* -> * list -> bool) map = - : ((* -> **) -> * list -> ** list) exists = - : ((* -> bool) -> * list -> bool) forall = - : ((* -> bool) -> * list -> bool) find = - : ((* -> bool) -> * list -> *) tryfind = - : ((* -> **) -> * list -> **) filter = - : ((* -> bool) -> * list -> * list) mapfilter = - : ((* -> **) -> * list -> ** list) rev_itlist = - : ((* -> ** -> **) -> * list -> ** -> **) compiling = false : bool compiling_stack = [] : bool list load = - : ((string # bool) -> void) compile = - : ((string # bool) -> void) Calling Lisp compiler File ml/ml-curry compiled () : void #echo '#+allegro (progn () (set-case-mode :case-insensitive-upper) (setq *cltl1-in-package-compatibility-p* t) (setq comp:*cltl1-compile-file-toplevel-compatibility-p* t) (setq *enable-package-locked-errors* nil))'\ '(load "lisp/mk-ml")'\ '(load "lisp/mk-hol-lcf")'\ '(setq %system-name "HOL-LCF")'\ '(setq %liszt "")'\ '(setq %version "2.02 (GCL)")'\ '(set-make)'\ '(tml)'\ 'load(`ml/ml-curry`,false);;'\ 'compile(`ml/lis`,true);;'\ 'quit();;'\ | gcl GCL (GNU Common Lisp) 2.6.14 Fri Jan 13 10:47:56 AM EST 2023 CLtL1 git: Version_2_6_15pre7 Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl) Binary License: GPL due to GPL'ed components: (XGCL UNEXEC) Modifications of this banner must retain notice of a compatible license Dedicated to the memory of W. Schelter Use (help) to get some basic information on how to use GCL. Temporary directory for compiler files: /tmp/ >;; Loading "lisp/mk-ml" ;; Loading "lisp/f-cl" start address -T 0x7f0c60 ;; Finished loading "lisp/f-cl" ;; Loading "lisp/f-system" start address -T 0x857e30 ;; Finished loading "lisp/f-system" ;; Loading "lisp/f-constants" start address -T 0x851500 ;; Finished loading "lisp/f-constants" ;; Loading "lisp/f-site" start address -T 0x859ce0 ;; Finished loading "lisp/f-site" ;; Loading "lisp/f-gp" start address -T 0x8390b0 ;; Finished loading "lisp/f-gp" ;; Loading "lisp/f-parser" start address -T 0x85e120 ;; Finished loading "lisp/f-parser" ;; Loading "lisp/f-parsml" start address -T 0x952360 ;; Finished loading "lisp/f-parsml" ;; Loading "lisp/f-mlprin" start address -T 0x95deb0 ;; Finished loading "lisp/f-mlprin" ;; Loading "lisp/f-typeml" start address -T 0x984160 ;; Finished loading "lisp/f-typeml" ;; Loading "lisp/f-dml" start address -T 0x886360 ;; Finished loading "lisp/f-dml" ;; Loading "lisp/f-format" start address -T 0x826850 ;; Finished loading "lisp/f-format" ;; Loading "lisp/f-tran" start address -T 0x98e720 ;; Finished loading "lisp/f-tran" ;; Loading "lisp/f-iox-stand" start address -T 0x979ab0 ;; Finished loading "lisp/f-iox-stand" ;; Loading "lisp/f-writml" start address -T 0x970ef0 ;; Finished loading "lisp/f-writml" ;; Loading "lisp/f-tml" start address -T 0x998ad0 ;; Finished loading "lisp/f-tml" ;; Loading "lisp/f-lis" start address -T 0x829490 ;; Finished loading "lisp/f-lis" ;; Loading "lisp/f-ol-rec" start address -T 0x97c420 ;; Finished loading "lisp/f-ol-rec" ;; Loading "lisp/f-help" start address -T 0x9601a0 ;; Finished loading "lisp/f-help" start address -T 0x843bd0 ;; Finished loading "lisp/mk-ml" 840 >;; Loading "lisp/mk-hol-lcf" ;; Loading "lisp/f-parsol" start address -T 0x7f73e0 ;; Finished loading "lisp/f-parsol" ;; Loading "lisp/f-typeol" start address -T 0x80afd0 ;; Finished loading "lisp/f-typeol" ;; Loading "lisp/f-help" start address -T 0x7f63b0 ;; Finished loading "lisp/f-help" ;; Loading "lisp/f-format" start address -T 0x9a45f0 ;; Finished loading "lisp/f-format" ;; Loading "lisp/f-writol" start address -T 0x9a9230 ;; Finished loading "lisp/f-writol" ;; Loading "lisp/f-thyfns" start address -T 0x9af500 ;; Finished loading "lisp/f-thyfns" ;; Loading "lisp/f-freadth" Warning: lisp/f-freadth.l is redefining function THY-READ start address -T 0x9bc640 ;; Finished loading "lisp/f-freadth" ;; Loading "lisp/f-ol-syntax" start address -T 0x9c0390 ;; Finished loading "lisp/f-ol-syntax" ;; Loading "lisp/f-subst" start address -T 0x9c9640 ;; Finished loading "lisp/f-subst" ;; Loading "lisp/f-inst" start address -T 0x9cf8e0 ;; Finished loading "lisp/f-inst" ;; Loading "lisp/f-simpl" start address -T 0x959540 ;; Finished loading "lisp/f-simpl" ;; Loading "lisp/f-ol-net" start address -T 0x9d75c0 ;; Finished loading "lisp/f-ol-net" start address -T 0x97da50 ;; Finished loading "lisp/mk-hol-lcf" 840 > "HOL-LCF" > "" > "2.02 (GCL)" > NIL > HOL-LCF version 2.02 (GCL) created 4/4/24 #.............start address -T 0x9e3170 () : void append = - : (* list -> * list -> * list) itlist = - : ((* -> ** -> **) -> * list -> ** -> **) end_itlist = - : ((* -> * -> *) -> * list -> *) assoc = - : (* -> (* # **) list -> (* # **)) rev_assoc = - : (* -> (** # *) list -> (** # *)) intersect = - : (* list -> * list -> * list) subtract = - : (* list -> * list -> * list) union = - : (* list -> * list -> * list) setify = - : (* list -> * list) split = - : ((* # **) list -> (* list # ** list)) combine = - : ((* list # ** list) -> (* # **) list) () : void com = - : ((* list # ** list) -> (* # **) list) distinct = - : (* list -> bool) chop_list = - : (int -> * list -> (* list # * list)) last = - : (* list -> *) butlast = - : (* list -> * list) partition = - : ((* -> bool) -> * list -> (* list # * list)) replicate = - : (* -> int -> * list) sort = - : (((* # *) -> bool) -> * list -> * list) splitp = - : ((* -> bool) -> * list -> (* list # * list)) remove = - : ((* -> bool) -> * list -> (* # * list)) Calling Lisp compiler File ml/lis compiled () : void #echo '#+allegro (progn () (set-case-mode :case-insensitive-upper) (setq *cltl1-in-package-compatibility-p* t) (setq comp:*cltl1-compile-file-toplevel-compatibility-p* t) (setq *enable-package-locked-errors* nil))'\ '(load "lisp/mk-ml")'\ '(load "lisp/mk-hol-lcf")'\ '(setq %system-name "HOL-LCF")'\ '(setq %liszt "")'\ '(setq %version "2.02 (GCL)")'\ '(set-make)'\ '(tml)'\ 'load(`ml/ml-curry`,false);;'\ 'load(`ml/lis`,false);;'\ 'compile(`ml/gen`,true);;'\ 'quit();;'\ | gcl GCL (GNU Common Lisp) 2.6.14 Fri Jan 13 10:47:56 AM EST 2023 CLtL1 git: Version_2_6_15pre7 Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl) Binary License: GPL due to GPL'ed components: (XGCL UNEXEC) Modifications of this banner must retain notice of a compatible license Dedicated to the memory of W. Schelter Use (help) to get some basic information on how to use GCL. Temporary directory for compiler files: /tmp/ >;; Loading "lisp/mk-ml" ;; Loading "lisp/f-cl" start address -T 0x7f0c60 ;; Finished loading "lisp/f-cl" ;; Loading "lisp/f-system" start address -T 0x857e30 ;; Finished loading "lisp/f-system" ;; Loading "lisp/f-constants" start address -T 0x851500 ;; Finished loading "lisp/f-constants" ;; Loading "lisp/f-site" start address -T 0x859ce0 ;; Finished loading "lisp/f-site" ;; Loading "lisp/f-gp" start address -T 0x8390b0 ;; Finished loading "lisp/f-gp" ;; Loading "lisp/f-parser" start address -T 0x85e120 ;; Finished loading "lisp/f-parser" ;; Loading "lisp/f-parsml" start address -T 0x952360 ;; Finished loading "lisp/f-parsml" ;; Loading "lisp/f-mlprin" start address -T 0x95deb0 ;; Finished loading "lisp/f-mlprin" ;; Loading "lisp/f-typeml" start address -T 0x984160 ;; Finished loading "lisp/f-typeml" ;; Loading "lisp/f-dml" start address -T 0x886360 ;; Finished loading "lisp/f-dml" ;; Loading "lisp/f-format" start address -T 0x826850 ;; Finished loading "lisp/f-format" ;; Loading "lisp/f-tran" start address -T 0x98e720 ;; Finished loading "lisp/f-tran" ;; Loading "lisp/f-iox-stand" start address -T 0x979ab0 ;; Finished loading "lisp/f-iox-stand" ;; Loading "lisp/f-writml" start address -T 0x970ef0 ;; Finished loading "lisp/f-writml" ;; Loading "lisp/f-tml" start address -T 0x998ad0 ;; Finished loading "lisp/f-tml" ;; Loading "lisp/f-lis" start address -T 0x829490 ;; Finished loading "lisp/f-lis" ;; Loading "lisp/f-ol-rec" start address -T 0x97c420 ;; Finished loading "lisp/f-ol-rec" ;; Loading "lisp/f-help" start address -T 0x9601a0 ;; Finished loading "lisp/f-help" start address -T 0x843bd0 ;; Finished loading "lisp/mk-ml" 840 >;; Loading "lisp/mk-hol-lcf" ;; Loading "lisp/f-parsol" start address -T 0x7f73e0 ;; Finished loading "lisp/f-parsol" ;; Loading "lisp/f-typeol" start address -T 0x80afd0 ;; Finished loading "lisp/f-typeol" ;; Loading "lisp/f-help" start address -T 0x7f63b0 ;; Finished loading "lisp/f-help" ;; Loading "lisp/f-format" start address -T 0x9a45f0 ;; Finished loading "lisp/f-format" ;; Loading "lisp/f-writol" start address -T 0x9a9230 ;; Finished loading "lisp/f-writol" ;; Loading "lisp/f-thyfns" start address -T 0x9af500 ;; Finished loading "lisp/f-thyfns" ;; Loading "lisp/f-freadth" Warning: lisp/f-freadth.l is redefining function THY-READ start address -T 0x9bc640 ;; Finished loading "lisp/f-freadth" ;; Loading "lisp/f-ol-syntax" start address -T 0x9c0390 ;; Finished loading "lisp/f-ol-syntax" ;; Loading "lisp/f-subst" start address -T 0x9c9640 ;; Finished loading "lisp/f-subst" ;; Loading "lisp/f-inst" start address -T 0x9cf8e0 ;; Finished loading "lisp/f-inst" ;; Loading "lisp/f-simpl" start address -T 0x959540 ;; Finished loading "lisp/f-simpl" ;; Loading "lisp/f-ol-net" start address -T 0x9d75c0 ;; Finished loading "lisp/f-ol-net" start address -T 0x97da50 ;; Finished loading "lisp/mk-hol-lcf" 840 > "HOL-LCF" > "" > "2.02 (GCL)" > NIL > HOL-LCF version 2.02 (GCL) created 4/4/24 #.............start address -T 0x9e3170 () : void ......................start address -T 0x9e7ec0 () : void words2 = - : (string -> string -> string list) words = - : (string -> string list) maptok = - : ((string -> *) -> string -> * list) loadt = - : (string -> void) loadf = - : (string -> void) compilet = - : (string -> void) compilef = - : (string -> void) concat = - : (string -> string -> string) concatl = - : (string list -> string) () : void ^ = - : (string -> string -> string) message = - : (string -> void) () : void () : void () : void () : void o = - : (((* -> **) # (*** -> *)) -> *** -> **) CB = - : ((* -> **) -> (** -> ***) -> * -> ***) # = - : (((* -> **) # (*** -> ****)) -> (* # ***) -> (** # ****)) oo = - : ((((* # **) -> ***) # (**** -> *) # (**** -> **)) -> **** -> ***) I = - : (* -> *) K = - : (* -> ** -> *) KI = - : (* -> ** -> **) C = - : ((* -> ** -> ***) -> ** -> * -> ***) W = - : ((* -> * -> **) -> * -> **) B = - : ((* -> **) -> (*** -> *) -> *** -> **) S = - : ((* -> ** -> ***) -> (* -> **) -> * -> ***) () : void Co = - : (((* -> ** -> ***) # (**** -> *)) -> ** -> **** -> ***) pair = - : (* -> ** -> (* # **)) curry = - : (((* # **) -> ***) -> * -> ** -> ***) can = - : ((* -> **) -> * -> bool) assert = - : ((* -> bool) -> * -> *) syserror = - : (string -> *) set_fail_prefix = - : (string -> (* -> **) -> * -> **) set_fail = - : (string -> (* -> **) -> * -> **) funpow = - : (int -> (* -> *) -> * -> *) () : void install = - : (string -> void) Calling Lisp compiler File ml/gen compiled () : void #sed -e "s;ml/;/<>/ml/;g" \ -e "s;lisp/;/<>/lisp/;g" ml/site.ml.orig > ml/site.ml echo '#+allegro (progn () (set-case-mode :case-insensitive-upper) (setq *cltl1-in-package-compatibility-p* t) (setq comp:*cltl1-compile-file-toplevel-compatibility-p* t) (setq *enable-package-locked-errors* nil))'\ '(load "lisp/mk-ml")'\ '(load "lisp/mk-hol-lcf")'\ '(setq %system-name "HOL-LCF")'\ '(setq %liszt "")'\ '(setq %version "2.02 (GCL)")'\ '(set-make)'\ '(tml)'\ 'compile(`ml/site`,true);;'\ 'quit();;'\ | gcl GCL (GNU Common Lisp) 2.6.14 Fri Jan 13 10:47:56 AM EST 2023 CLtL1 git: Version_2_6_15pre7 Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl) Binary License: GPL due to GPL'ed components: (XGCL UNEXEC) Modifications of this banner must retain notice of a compatible license Dedicated to the memory of W. Schelter Use (help) to get some basic information on how to use GCL. Temporary directory for compiler files: /tmp/ >;; Loading "lisp/mk-ml" ;; Loading "lisp/f-cl" start address -T 0x7f0c60 ;; Finished loading "lisp/f-cl" ;; Loading "lisp/f-system" start address -T 0x857e30 ;; Finished loading "lisp/f-system" ;; Loading "lisp/f-constants" start address -T 0x851500 ;; Finished loading "lisp/f-constants" ;; Loading "lisp/f-site" start address -T 0x859ce0 ;; Finished loading "lisp/f-site" ;; Loading "lisp/f-gp" start address -T 0x8390b0 ;; Finished loading "lisp/f-gp" ;; Loading "lisp/f-parser" start address -T 0x85e120 ;; Finished loading "lisp/f-parser" ;; Loading "lisp/f-parsml" start address -T 0x952360 ;; Finished loading "lisp/f-parsml" ;; Loading "lisp/f-mlprin" start address -T 0x95deb0 ;; Finished loading "lisp/f-mlprin" ;; Loading "lisp/f-typeml" start address -T 0x984160 ;; Finished loading "lisp/f-typeml" ;; Loading "lisp/f-dml" start address -T 0x886360 ;; Finished loading "lisp/f-dml" ;; Loading "lisp/f-format" start address -T 0x826850 ;; Finished loading "lisp/f-format" ;; Loading "lisp/f-tran" start address -T 0x98e720 ;; Finished loading "lisp/f-tran" ;; Loading "lisp/f-iox-stand" start address -T 0x979ab0 ;; Finished loading "lisp/f-iox-stand" ;; Loading "lisp/f-writml" start address -T 0x970ef0 ;; Finished loading "lisp/f-writml" ;; Loading "lisp/f-tml" start address -T 0x998ad0 ;; Finished loading "lisp/f-tml" ;; Loading "lisp/f-lis" start address -T 0x829490 ;; Finished loading "lisp/f-lis" ;; Loading "lisp/f-ol-rec" start address -T 0x97c420 ;; Finished loading "lisp/f-ol-rec" ;; Loading "lisp/f-help" start address -T 0x9601a0 ;; Finished loading "lisp/f-help" start address -T 0x843bd0 ;; Finished loading "lisp/mk-ml" 840 >;; Loading "lisp/mk-hol-lcf" ;; Loading "lisp/f-parsol" start address -T 0x7f73e0 ;; Finished loading "lisp/f-parsol" ;; Loading "lisp/f-typeol" start address -T 0x80afd0 ;; Finished loading "lisp/f-typeol" ;; Loading "lisp/f-help" start address -T 0x7f63b0 ;; Finished loading "lisp/f-help" ;; Loading "lisp/f-format" start address -T 0x9a45f0 ;; Finished loading "lisp/f-format" ;; Loading "lisp/f-writol" start address -T 0x9a9230 ;; Finished loading "lisp/f-writol" ;; Loading "lisp/f-thyfns" start address -T 0x9af500 ;; Finished loading "lisp/f-thyfns" ;; Loading "lisp/f-freadth" Warning: lisp/f-freadth.l is redefining function THY-READ start address -T 0x9bc640 ;; Finished loading "lisp/f-freadth" ;; Loading "lisp/f-ol-syntax" start address -T 0x9c0390 ;; Finished loading "lisp/f-ol-syntax" ;; Loading "lisp/f-subst" start address -T 0x9c9640 ;; Finished loading "lisp/f-subst" ;; Loading "lisp/f-inst" start address -T 0x9cf8e0 ;; Finished loading "lisp/f-inst" ;; Loading "lisp/f-simpl" start address -T 0x959540 ;; Finished loading "lisp/f-simpl" ;; Loading "lisp/f-ol-net" start address -T 0x9d75c0 ;; Finished loading "lisp/f-ol-net" start address -T 0x97da50 ;; Finished loading "lisp/mk-hol-lcf" 840 > "HOL-LCF" > "" > "2.02 (GCL)" > NIL > HOL-LCF version 2.02 (GCL) created 4/4/24 # concat = - : (string -> string -> string) ml_dir_pathname = `/<>/ml/` : string lisp_dir_pathname = `/<>/lisp/` : string Calling Lisp compiler File ml/site compiled () : void #echo '#+allegro (progn () (set-case-mode :case-insensitive-upper) (setq *cltl1-in-package-compatibility-p* t) (setq comp:*cltl1-compile-file-toplevel-compatibility-p* t) (setq *enable-package-locked-errors* nil))'\ '(load "lisp/mk-ml")'\ '(load "lisp/mk-hol-lcf")'\ '(setq %version "2.02 (GCL)")'\ '(set-make)'\ '(tml)'\ 'load(`ml/site`,false);;'\ 'load(`ml/ml-curry`,false);;'\ 'load(`ml/lis`,false);;'\ 'load(`ml/gen`,false);;'\ 'load(`ml/killpp`,false);;'\ 'lisp `(setq %system-name "HOL-LCF")`;;'\ 'lisp `(setq %liszt "")`;;'\ 'lisp `(setup)`;;' >foo echo '#+native-reloc(progn (load "foo")(ml-save "hol-lcf"))#-native-reloc(let ((si::*collect-binary-modules* t)(si::*binary-modules* nil)) (load "foo")(compiler::link (remove-duplicates si::*binary-modules* :test (function equal)) "hol-lcf" "(load \"debian/gcl_patch.l\")(load \"foo\")(ml-save \"hol-lcf\")" "" nil)(with-open-file (s "bm.l" :direction :output) (prin1 si::*binary-modules* s)))(quit)' | gcl GCL (GNU Common Lisp) 2.6.14 Fri Jan 13 10:47:56 AM EST 2023 CLtL1 git: Version_2_6_15pre7 Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl) Binary License: GPL due to GPL'ed components: (XGCL UNEXEC) Modifications of this banner must retain notice of a compatible license Dedicated to the memory of W. Schelter Use (help) to get some basic information on how to use GCL. Temporary directory for compiler files: /tmp/ >;; Loading "foo" ;; Loading "lisp/mk-ml" ;; Loading "lisp/f-cl" start address -T 0x7f0c60 ;; Finished loading "lisp/f-cl" ;; Loading "lisp/f-system" start address -T 0x84f500 ;; Finished loading "lisp/f-system" ;; Loading "lisp/f-constants" start address -T 0x84e170 ;; Finished loading "lisp/f-constants" ;; Loading "lisp/f-site" start address -T 0x8513b0 ;; Finished loading "lisp/f-site" ;; Loading "lisp/f-gp" start address -T 0x807c20 ;; Finished loading "lisp/f-gp" ;; Loading "lisp/f-parser" start address -T 0x85e120 ;; Finished loading "lisp/f-parser" ;; Loading "lisp/f-parsml" start address -T 0x952360 ;; Finished loading "lisp/f-parsml" ;; Loading "lisp/f-mlprin" start address -T 0x95deb0 ;; Finished loading "lisp/f-mlprin" ;; Loading "lisp/f-typeml" start address -T 0x984160 ;; Finished loading "lisp/f-typeml" ;; Loading "lisp/f-dml" start address -T 0x881d70 ;; Finished loading "lisp/f-dml" ;; Loading "lisp/f-format" start address -T 0x86ecf0 ;; Finished loading "lisp/f-format" ;; Loading "lisp/f-tran" start address -T 0x98e720 ;; Finished loading "lisp/f-tran" ;; Loading "lisp/f-iox-stand" start address -T 0x96eef0 ;; Finished loading "lisp/f-iox-stand" ;; Loading "lisp/f-writml" start address -T 0x879470 ;; Finished loading "lisp/f-writml" ;; Loading "lisp/f-tml" start address -T 0x998ad0 ;; Finished loading "lisp/f-tml" ;; Loading "lisp/f-lis" start address -T 0x959540 ;; Finished loading "lisp/f-lis" ;; Loading "lisp/f-ol-rec" start address -T 0x884520 ;; Finished loading "lisp/f-ol-rec" ;; Loading "lisp/f-help" start address -T 0x9601a0 ;; Finished loading "lisp/f-help" start address -T 0x843db0 ;; Finished loading "lisp/mk-ml" ;; Loading "lisp/mk-hol-lcf" ;; Loading "lisp/f-parsol" start address -T 0x80afd0 ;; Finished loading "lisp/f-parsol" ;; Loading "lisp/f-typeol" start address -T 0x80e490 ;; Finished loading "lisp/f-typeol" ;; Loading "lisp/f-help" start address -T 0x7fd3e0 ;; Finished loading "lisp/f-help" ;; Loading "lisp/f-format" start address -T 0x9a65f0 ;; Finished loading "lisp/f-format" ;; Loading "lisp/f-writol" start address -T 0x9ab230 ;; Finished loading "lisp/f-writol" ;; Loading "lisp/f-thyfns" start address -T 0x9b1500 ;; Finished loading "lisp/f-thyfns" ;; Loading "lisp/f-freadth" Warning: lisp/f-freadth.l is redefining function THY-READ start address -T 0x9be640 ;; Finished loading "lisp/f-freadth" ;; Loading "lisp/f-ol-syntax" start address -T 0x9c2390 ;; Finished loading "lisp/f-ol-syntax" ;; Loading "lisp/f-subst" start address -T 0x9cb640 ;; Finished loading "lisp/f-subst" ;; Loading "lisp/f-inst" start address -T 0x9d18e0 ;; Finished loading "lisp/f-inst" ;; Loading "lisp/f-simpl" start address -T 0x871930 ;; Finished loading "lisp/f-simpl" ;; Loading "lisp/f-ol-net" start address -T 0x9d95c0 ;; Finished loading "lisp/f-ol-net" start address -T 0x824650 ;; Finished loading "lisp/mk-hol-lcf" version 2.02 (GCL) created 4/4/24 #...start address -T 0x8452e0 () : void .............start address -T 0x9e7170 () : void ......................start address -T 0x9ebec0 () : void ..................................start address -T 0x9f4970 () : void ............() : void #() : void () : void () : void #;; Finished loading "foo" =======> hol-lcf made if [ cl = cl ]; then\ echo '#+allegro (progn () (set-case-mode :case-insensitive-upper) (setq *cltl1-in-package-compatibility-p* t) (setq comp:*cltl1-compile-file-toplevel-compatibility-p* t) (setq *enable-package-locked-errors* nil))'\ '(load "lisp/f-cl") (compile-file "lisp/genfns.l") (quit)'\ | gcl; else\ lisp/genfns; fi GCL (GNU Common Lisp) 2.6.14 Fri Jan 13 10:47:56 AM EST 2023 CLtL1 git: Version_2_6_15pre7 Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl) Binary License: GPL due to GPL'ed components: (XGCL UNEXEC) Modifications of this banner must retain notice of a compatible license Dedicated to the memory of W. Schelter Use (help) to get some basic information on how to use GCL. Temporary directory for compiler files: /tmp/ >;; Loading "lisp/f-cl" start address -T 0x7f0c60 ;; Finished loading "lisp/f-cl" 21864 > Compiling lisp/genfns.l. ;;; Including lisp/f-macrostart address -T 0x857e30 End of Pass 1. ;; Note: Tail-recursive call of SEG was replaced by iteration. End of Pass 2. OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3 Finished compiling /<>/lisp/genfns.o. #p"/<>/lisp/genfns.o" NIL NIL >if [ cl = cl ]; then\ echo '#+allegro (progn () (set-case-mode :case-insensitive-upper) (setq *cltl1-in-package-compatibility-p* t) (setq comp:*cltl1-compile-file-toplevel-compatibility-p* t) (setq *enable-package-locked-errors* nil))'\ '(load "lisp/f-cl") (compile-file "lisp/gnt.l") (quit)'\ | gcl; else\ lisp/gnt; fi GCL (GNU Common Lisp) 2.6.14 Fri Jan 13 10:47:56 AM EST 2023 CLtL1 git: Version_2_6_15pre7 Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl) Binary License: GPL due to GPL'ed components: (XGCL UNEXEC) Modifications of this banner must retain notice of a compatible license Dedicated to the memory of W. Schelter Use (help) to get some basic information on how to use GCL. Temporary directory for compiler files: /tmp/ >;; Loading "lisp/f-cl" start address -T 0x7f0c60 ;; Finished loading "lisp/f-cl" 21864 > Compiling lisp/gnt.l. ;;; Including lisp/f-constantsstart address -T 0x85d050 ;;; Including lisp/f-macrostart address -T 0x84f500 ;;; Including lisp/f-ol-recstart address -T 0x83d740 End of Pass 1. End of Pass 2. OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3 Finished compiling /<>/lisp/gnt.o. #p"/<>/lisp/gnt.o" NIL NIL >if [ cl = cl ]; then\ echo '#+allegro (progn () (set-case-mode :case-insensitive-upper) (setq *cltl1-in-package-compatibility-p* t) (setq comp:*cltl1-compile-file-toplevel-compatibility-p* t) (setq *enable-package-locked-errors* nil))'\ '(load "lisp/f-cl") (compile-file "lisp/hol-pars.l") (quit)'\ | gcl; else\ lisp/hol-pars; fi GCL (GNU Common Lisp) 2.6.14 Fri Jan 13 10:47:56 AM EST 2023 CLtL1 git: Version_2_6_15pre7 Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl) Binary License: GPL due to GPL'ed components: (XGCL UNEXEC) Modifications of this banner must retain notice of a compatible license Dedicated to the memory of W. Schelter Use (help) to get some basic information on how to use GCL. Temporary directory for compiler files: /tmp/ >;; Loading "lisp/f-cl" start address -T 0x7f0c60 ;; Finished loading "lisp/f-cl" 21864 > Compiling lisp/hol-pars.l. ;;; Including lisp/f-constantsstart address -T 0x85d050 ;;; Including lisp/f-macrostart address -T 0x84f500 ;;; Including lisp/f-ol-recstart address -T 0x83d740 ;;; Including lisp/genmacsstart address -T 0x8509a0 ; (DEFUN LAMQ-RTN ...) is being compiled. ;; Warning: The variable CONSTR is not used. End of Pass 1. ;; Note: Tail-recursive call of BUILD-LAM-STRUC was replaced by iteration. ;; Note: Tail-recursive call of BUILD-LAM-STRUC was replaced by iteration. ;; Note: Tail-recursive call of DISTINCTP was replaced by iteration. End of Pass 2. OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3 Finished compiling /<>/lisp/hol-pars.o. #p"/<>/lisp/hol-pars.o" NIL NIL >if [ cl = cl ]; then\ echo '#+allegro (progn () (set-case-mode :case-insensitive-upper) (setq *cltl1-in-package-compatibility-p* t) (setq comp:*cltl1-compile-file-toplevel-compatibility-p* t) (setq *enable-package-locked-errors* nil))'\ '(load "lisp/f-cl") (compile-file "lisp/parslist.l") (quit)'\ | gcl; else\ lisp/parslist; fi GCL (GNU Common Lisp) 2.6.14 Fri Jan 13 10:47:56 AM EST 2023 CLtL1 git: Version_2_6_15pre7 Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl) Binary License: GPL due to GPL'ed components: (XGCL UNEXEC) Modifications of this banner must retain notice of a compatible license Dedicated to the memory of W. Schelter Use (help) to get some basic information on how to use GCL. Temporary directory for compiler files: /tmp/ >;; Loading "lisp/f-cl" start address -T 0x7f0c60 ;; Finished loading "lisp/f-cl" 21864 > Compiling lisp/parslist.l. ;;; Including lisp/f-constantsstart address -T 0x85d050 ;;; Including lisp/f-macrostart address -T 0x84f500 ;;; Including lisp/f-ol-recstart address -T 0x83d740 ;;; Including lisp/genmacsstart address -T 0x8509a0 ; (DEFUN HOL-SCOLONSETUP ...) is being compiled. ;; The variable %HOL-LIST-DEPTH is undefined. ;; The compiler will assume this variable is a global. ; (DEFUN ML-DEFINE_FINITE_SET_SYNTAX ...) is being compiled. ;; The variable |%print_set-flag| is undefined. ;; The compiler will assume this variable is a global. ;; Warning: The variable SET-PROP is not used. ; (DEFUN ML-DEFINE_SET_ABSTRACTION_SYNTAX ...) is being compiled. ;; Warning: The variable SET-PROP is not used. End of Pass 1. ;; Note: Tail-recursive call of GET-FREES-IN-PT was replaced by iteration. ;; Note: Tail-recursive call of INTERSECT was replaced by iteration. End of Pass 2. OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3 Finished compiling /<>/lisp/parslist.o. #p"/<>/lisp/parslist.o" NIL NIL >if [ cl = cl ]; then\ echo '#+allegro (progn () (set-case-mode :case-insensitive-upper) (setq *cltl1-in-package-compatibility-p* t) (setq comp:*cltl1-compile-file-toplevel-compatibility-p* t) (setq *enable-package-locked-errors* nil))'\ '(load "lisp/f-cl") (compile-file "lisp/parslet.l") (quit)'\ | gcl; else\ lisp/parslet; fi GCL (GNU Common Lisp) 2.6.14 Fri Jan 13 10:47:56 AM EST 2023 CLtL1 git: Version_2_6_15pre7 Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl) Binary License: GPL due to GPL'ed components: (XGCL UNEXEC) Modifications of this banner must retain notice of a compatible license Dedicated to the memory of W. Schelter Use (help) to get some basic information on how to use GCL. Temporary directory for compiler files: /tmp/ >;; Loading "lisp/f-cl" start address -T 0x7f0c60 ;; Finished loading "lisp/f-cl" 21864 > Compiling lisp/parslet.l. ;;; Including lisp/f-constantsstart address -T 0x85d050 ;;; Including lisp/f-macrostart address -T 0x84f500 ;;; Including lisp/f-ol-recstart address -T 0x83d740 End of Pass 1. End of Pass 2. OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3 Finished compiling /<>/lisp/parslet.o. #p"/<>/lisp/parslet.o" NIL NIL >if [ cl = cl ]; then\ echo '#+allegro (progn () (set-case-mode :case-insensitive-upper) (setq *cltl1-in-package-compatibility-p* t) (setq comp:*cltl1-compile-file-toplevel-compatibility-p* t) (setq *enable-package-locked-errors* nil))'\ '(load "lisp/f-cl") (compile-file "lisp/constp.l") (quit)'\ | gcl; else\ lisp/constp; fi GCL (GNU Common Lisp) 2.6.14 Fri Jan 13 10:47:56 AM EST 2023 CLtL1 git: Version_2_6_15pre7 Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl) Binary License: GPL due to GPL'ed components: (XGCL UNEXEC) Modifications of this banner must retain notice of a compatible license Dedicated to the memory of W. Schelter Use (help) to get some basic information on how to use GCL. Temporary directory for compiler files: /tmp/ >;; Loading "lisp/f-cl" start address -T 0x7f0c60 ;; Finished loading "lisp/f-cl" 21864 > Compiling lisp/constp.l. End of Pass 1. ;; Note: Tail-recursive call of TEST-LIST-ELS was replaced by iteration. End of Pass 2. OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3 Finished compiling /<>/lisp/constp.o. #p"/<>/lisp/constp.o" NIL NIL >if [ cl = cl ]; then\ echo '#+allegro (progn () (set-case-mode :case-insensitive-upper) (setq *cltl1-in-package-compatibility-p* t) (setq comp:*cltl1-compile-file-toplevel-compatibility-p* t) (setq *enable-package-locked-errors* nil))'\ '(load "lisp/f-cl") (compile-file "lisp/hol-writ.l") (quit)'\ | gcl; else\ lisp/hol-writ; fi GCL (GNU Common Lisp) 2.6.14 Fri Jan 13 10:47:56 AM EST 2023 CLtL1 git: Version_2_6_15pre7 Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl) Binary License: GPL due to GPL'ed components: (XGCL UNEXEC) Modifications of this banner must retain notice of a compatible license Dedicated to the memory of W. Schelter Use (help) to get some basic information on how to use GCL. Temporary directory for compiler files: /tmp/ >;; Loading "lisp/f-cl" start address -T 0x7f0c60 ;; Finished loading "lisp/f-cl" 21864 > Compiling lisp/hol-writ.l. ;;; Including lisp/f-constantsstart address -T 0x85d050 ;;; Including lisp/f-macrostart address -T 0x84f500 ;;; Including lisp/f-ol-recstart address -T 0x83d740 ;;; Including lisp/genmacsstart address -T 0x8509a0 ; (DEFUN PREP-TM ...) is being compiled. ;; The variable %EMPTY-SET is undefined. ;; The compiler will assume this variable is a global. ; (DEFUN PRINT-TM ...) is being compiled. ;; The variable HOL-VAR-BINOPS is undefined. ;; The compiler will assume this variable is a global. ; (DEFUN IS-OL-SET-CONS ...) is being compiled. ;; The variable %FINITE-SET-CONSTRUCTOR is undefined. ;; The compiler will assume this variable is a global. ; (DEFUN PREP-OL-SET-ABSTRACTION ...) is being compiled. ;; The variable %SET-ABSTRACTION-CONSTRUCTOR is undefined. ;; The compiler will assume this variable is a global. ; (DEFUN PREP-OL-QUANT ...) is being compiled. ;; Warning: The variable TY is not used. ; (DEFUN PREP-OL-RESTRICT ...) is being compiled. ;; Warning: The variable TY is not used. ; (DEFUN PREP-OL-UNOP ...) is being compiled. ;; Warning: The variable TY is not used. ; (DEFUN PREP-OL-BINOP ...) is being compiled. ;; Warning: The variable TY is not used. ; (DEFUN ML-PRINT_THM ...) is being compiled. ;; Warning: The variable X is not used. ;; The variable %MARGIN is undefined. ;; The compiler will assume this variable is a global. End of Pass 1. ;; Note: Tail-recursive call of SUBTRACT was replaced by iteration. ;; Note: Tail-recursive call of IS-SUBSET was replaced by iteration. ;; Note: Tail-recursive call of IS-OL-LIST was replaced by iteration. ;; Note: Tail-recursive call of IS-OL-FINITE-SET was replaced by iteration. End of Pass 2. OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3 Finished compiling /<>/lisp/hol-writ.o. #p"/<>/lisp/hol-writ.o" NIL NIL >if [ cl = cl ]; then\ echo '#+allegro (progn () (set-case-mode :case-insensitive-upper) (setq *cltl1-in-package-compatibility-p* t) (setq comp:*cltl1-compile-file-toplevel-compatibility-p* t) (setq *enable-package-locked-errors* nil))'\ '(load "lisp/f-cl") (compile-file "lisp/mk_pp_thm.l") (quit)'\ | gcl; else\ lisp/mk_pp_thm; fi GCL (GNU Common Lisp) 2.6.14 Fri Jan 13 10:47:56 AM EST 2023 CLtL1 git: Version_2_6_15pre7 Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl) Binary License: GPL due to GPL'ed components: (XGCL UNEXEC) Modifications of this banner must retain notice of a compatible license Dedicated to the memory of W. Schelter Use (help) to get some basic information on how to use GCL. Temporary directory for compiler files: /tmp/ >;; Loading "lisp/f-cl" start address -T 0x7f0c60 ;; Finished loading "lisp/f-cl" 21864 > Compiling lisp/mk_pp_thm.l. ;;; Including lisp/f-macrostart address -T 0x857e30 ;;; Including lisp/f-ol-recstart address -T 0x84c170 ;;; Including lisp/genmacsstart address -T 0x8592d0 End of Pass 1. End of Pass 2. OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3 Finished compiling /<>/lisp/mk_pp_thm.o. #p"/<>/lisp/mk_pp_thm.o" NIL NIL >cd /<>/theories; rm -f PPLAMB.th;\ /<>/hol-lcf < /<>/theories/mk_PPLAMB.ml;\ cd /<> HOL-LCF version 2.02 (GCL) created 4/4/24 ###########################() : void ##() : void ##() : void ##=======> theory PPLAMB built cd /<>/theories; rm -f bool.th;\ /<>/hol-lcf < /<>/theories/mk_bool.ml;\ cd /<> HOL-LCF version 2.02 (GCL) created 4/4/24 ################################################################################################() : void ##Theory PPLAMB loaded () : void ##() : void ##() : void ##() : void #####|-"HOL_ASSERT $= = $=" : thm ### () : void () : void () : void () : void () : void () : void () : void () : void ........() : void ...................................................................................................................................() : void File /<>/ml/hol-in-out loaded () : void ###() : void ##() : void ##() : void ##() : void ##############() : void ##|- T = ((\x. x) = (\x. x)) ##() : void ##|- $! = (\P. P = (\x. T)) ###########|- $? = (\P. P($@ P)) ##() : void ##|- $/\ = (\t1 t2. !t. (t1 ==> t2 ==> t) ==> t) ##() : void ##|- $\/ = (\t1 t2. !t. (t1 ==> t) ==> (t2 ==> t) ==> t) ############|- F = (!t. t) ##() : void ##|- $~ = (\t. t ==> F) ##() : void ####|- $?! = (\P. $? P /\ (!x y. P x /\ P y ==> (x = y))) ##|- LET = (\f x. f x) ###|- COND = (\t t1 t2. @x. ((t = T) ==> (x = t1)) /\ ((t = F) ==> (x = t2))) #######|- !P B. RES_FORALL P B = (!x. P x ==> B x) ###|- !P B. RES_EXISTS P B = (?x. P x /\ B x) ###|- !P B. RES_SELECT P B = (@x. P x /\ B x) ###|- ARB = (@x. T) ###|- !P B. RES_ABSTRACT P B = (\x. (P x => B x | ARB)) ###########|- !f. ONE_ONE f = (!x1 x2. (f x1 = f x2) ==> (x1 = x2)) ###|- !f. ONTO f = (!y. ?x. y = f x) ###############[|- !t. (t = T) \/ (t = F); |- !t1 t2. (t1 ==> t2) ==> (t2 ==> t1) ==> (t1 = t2); |- !t. (\x. t x) = t; |- !P x. P x ==> P($@ P)] : thm list #########|- !t1 t2. t1 IS_ASSUMPTION_OF t2 = t1 ==> t2 ##########|- !P rep. TYPE_DEFINITION P rep = (!x' x''. (rep x' = rep x'') ==> (x' = x'')) /\ (!x. P x = (?x'. x = rep x')) ######MK_PAIR_DEF = |- !x y. MK_PAIR x y = (\a b. (a = x) /\ (b = y)) ###IS_PAIR_DEF = |- !p. IS_PAIR p = (?x y. p = MK_PAIR x y) #########################################PAIR_EXISTS = |- ?p. IS_PAIR p ####|- ?rep. TYPE_DEFINITION IS_PAIR rep ###########|- REP_prod = (@rep. (!p' p''. (rep p' = rep p'') ==> (p' = p'')) /\ (!p. IS_PAIR p = (?p'. p = rep p'))) ##() : void ###|- !x y. x,y = (@p. REP_prod p = MK_PAIR x y) ###|- !p. FST p = (@x. ?y. MK_PAIR x y = REP_prod p) ###|- !p. SND p = (@y. ?x. MK_PAIR x y = REP_prod p) ##########[|- !x. FST x,SND x = x; |- !x y. FST(x,y) = x; |- !x y. SND(x,y) = y] : thm list #############################PAIR_EQ = |- !x y a b. (x,y = a,b) = (x = a) /\ (y = b) #####|- !f x y. UNCURRY f(x,y) = f x y ###|- !f x y. CURRY f x y = f(x,y) ##() : void ##=======> theory bool built cd /<>/theories; rm -f ind.th;\ /<>/hol-lcf < /<>/theories/mk_ind.ml;\ cd /<> HOL-LCF version 2.02 (GCL) created 4/4/24 ############################() : void ##Theory bool loaded () : void ##() : void ## () : void () : void () : void () : void () : void () : void () : void () : void ........() : void ...................................................................................................................................() : void File /<>/ml/hol-in-out loaded () : void ##|- ?f. ONE_ONE f /\ ~ONTO f ##() : void ##=======> theory ind built cd /<>/theories; rm -f BASIC-HOL.th;\ /<>/hol-lcf < /<>/theories/mk_BASIC-HOL.ml;\ cd /<> HOL-LCF version 2.02 (GCL) created 4/4/24 ############################Theory ind loaded () : void ###.....................................................................................................................................................() : void ####.............() : void #...................................................................................() : void #............................() : void ##() : void #####() : void ##################TYPE_DEFINITION = |- !P rep. TYPE_DEFINITION P rep = (!x' x''. (rep x' = rep x'') ==> (x' = x'')) /\ (!x. P x = (?x'. x = rep x')) #############################ABS_REP_THM = |- !P. (?rep. TYPE_DEFINITION P rep) ==> (?rep abs. (!a. abs(rep a) = a) /\ (!r. P r = (rep(abs r) = r))) ###|- !P. (?rep. TYPE_DEFINITION P rep) ==> (?rep abs. (!a. abs(rep a) = a) /\ (!r. P r = (rep(abs r) = r))) ##=======> theory BASIC-HOL built echo 'compilet `ml/genfns`;;'\ 'quit();;'\ | hol-lcf HOL-LCF version 2.02 (GCL) created 4/4/24 # map2 = - : (((* # **) -> ***) -> (* list # ** list) -> *** list) itlist2 = - : (((* # **) -> *** -> ***) -> (* list # ** list) -> *** -> ***) set_equal = - : (* list -> * list -> bool) el = - : (int -> * list -> *) word_separators = [` `; ` `] : string list words = - : (string -> string list) maptok = - : ((string -> *) -> string -> * list) uncurry = - : ((* -> ** -> ***) -> (* # **) -> ***) Calling Lisp compiler File ml/genfns compiled () : void #echo 'set_search_path[``; `/<>/theories/`];;'\ 'load_theory `bool`;;'\ 'lisp `(load "lisp/genfns")`;;'\ 'lisp `(load "lisp/gnt")`;;'\ 'lisp `(load "lisp/hol-pars")`;;'\ 'lisp `(load "lisp/parslist")`;;'\ 'lisp `(load "lisp/parslet")`;;'\ 'lisp `(load "lisp/constp")`;;'\ 'lisp `(load "lisp/hol-writ")`;;'\ 'lisp `(load "lisp/mk_pp_thm")`;;'\ 'compilet `ml/hol-syn`;;'\ 'quit();;'\ | hol-lcf HOL-LCF version 2.02 (GCL) created 4/4/24 #() : void Theory bool loaded () : void () : void () : void () : void () : void () : void () : void () : void () : void () : void New constructors declared: AssumeStep : (term -> step) ReflStep : (term -> step) SubstStep : (((thm # term) list # term # thm) -> step) BetaConvStep : (term -> step) AbsStep : ((term # thm) -> step) InstTypeStep : (((type # type) list # thm) -> step) DischStep : ((term # thm) -> step) MpStep : ((thm # thm) -> step) MkCombStep : ((thm # thm) -> step) MkAbsStep : (thm -> step) AlphaStep : ((term # term) -> step) AddAssumStep : ((term # thm) -> step) SymStep : (thm -> step) TransStep : ((thm # thm) -> step) ImpTransStep : ((thm # thm) -> step) ApTermStep : ((term # thm) -> step) ApThmStep : ((thm # term) -> step) EqMpStep : ((thm # thm) -> step) EqImpRuleStep : (thm -> step) SpecStep : ((term # thm) -> step) EqtIntroStep : (thm -> step) GenStep : ((term # thm) -> step) EtaConvStep : (term -> step) ExtStep : (thm -> step) ExistsStep : (((term # term) # thm) -> step) ChooseStep : (((term # thm) # thm) -> step) ImpAntisymRuleStep : ((thm # thm) -> step) MkExistsStep : (thm -> step) SubsStep : ((thm list # thm) -> step) SubsOccsStep : (((int list # thm) list # thm) -> step) SubstConvStep : (((thm # term) list # term # term) -> step) ConjStep : ((thm # thm) -> step) Conjunct1Step : (thm -> step) Conjunct2Step : (thm -> step) Disj1Step : ((thm # term) -> step) Disj2Step : ((term # thm) -> step) DisjCasesStep : ((thm # thm # thm) -> step) NotIntroStep : (thm -> step) NotElimStep : (thm -> step) ContrStep : ((term # thm) -> step) CcontrStep : ((term # thm) -> step) InstStep : (((term # term) list # thm) -> step) StoreDefinitionStep : ((string # term) -> step) DefinitionStep : ((string # string) -> step) DefExistsRuleStep : (term -> step) NewAxiomStep : ((string # term) -> step) AxiomStep : ((string # string) -> step) TheoremStep : ((string # string) -> step) NewConstantStep : ((string # type) -> step) NewTypeStep : ((int # string) -> step) NumConvStep : (term -> step) steplist = [] : step list record_proof_flag = false : bool suspended = false : bool is_recording_proof = - : (void -> bool) record_proof = - : (bool -> void) suspend_recording = - : (* -> void) resume_recording = - : (* -> void) RecordStep = - : (step -> void) get_steps = - : (void -> step list) ((-), (-), (-), (-), (-), -) : ((bool -> void) # (void -> bool) # (step -> void) # (void -> step list) # (* -> void) # (** -> void)) record_proof = - : (bool -> void) is_recording_proof = - : (void -> bool) RecordStep = - : (step -> void) get_steps = - : (void -> step list) suspend_recording = - : (* -> void) resume_recording = - : (* -> void) new_constant = - : ((string # type) -> void) arb_term = "arb" : term ARB_THM = |- $= = $= falsity = "F" : term bool_ty = ":bool" : type mk_forall = - : ((term # term) -> term) mk_exists = - : ((term # term) -> term) mk_select = - : ((term # term) -> term) mk_conj = - : ((term # term) -> term) mk_disj = - : ((term # term) -> term) mk_imp = - : ((term # term) -> term) mk_eq = - : ((term # term) -> term) mk_pair = - : ((term # term) -> term) mk_neg = - : (term -> term) dest_forall = - : (term -> (term # term)) dest_exists = - : (term -> (term # term)) dest_select = - : (term -> (term # term)) dest_conj = - : (term -> (term # term)) dest_disj = - : (term -> (term # term)) dest_eq = - : (term -> (term # term)) dest_pair = - : (term -> (term # term)) dest_imp = - : (term -> (term # term)) dest_neg = - : (term -> term) dest_neg_imp = - : (term -> (term # term)) dest_form = - : (form -> term) mk_form = - : (term -> form) mk_thm = - : ((term list # term) -> thm) dest_thm = - : (thm -> (term list # term)) hyp = - : (thm -> term list) concl = - : (thm -> term) hyp_union = - : (thm list -> term list) is_forall = - : (term -> bool) is_exists = - : (term -> bool) is_select = - : (term -> bool) is_conj = - : (term -> bool) is_disj = - : (term -> bool) is_imp = - : (term -> bool) is_eq = - : (term -> bool) is_pair = - : (term -> bool) is_neg = - : (term -> bool) is_neg_imp = - : (term -> bool) aconv = - : (term -> term -> bool) subst = - : ((term # term) list -> term -> term) subst_occs = - : (int list list -> (term # term) list -> term -> term) free_in = - : (term -> term -> bool) variant = - : (term list -> term -> term) type_in_type = - : (type -> type -> bool) type_in = - : (type -> term -> bool) inst_type = - : ((type # type) list -> type -> type) inst = - : (term list -> (type # type) list -> term -> term) match = - : (term -> term -> ((term # term) list # (type # type) list)) freesl = - : (term list -> term list) varsl = - : (term list -> term list) tyvarsl = - : (term list -> type list) thm_frees = - : (thm -> term list) disch = - : ((term # term list) -> term list) is_pred = - : (term -> bool) mk_pred = - : ((string # term) -> term) dest_pred = - : (term -> (string # term)) list_mk_abs = - : ((term list # term) -> term) list_mk_comb = - : ((term # term list) -> term) list_mk_conj = - : (term list -> term) list_mk_disj = - : (term list -> term) list_mk_imp = - : ((term list # term) -> term) list_mk_forall = - : ((term list # term) -> term) list_mk_exists = - : ((term list # term) -> term) list_mk_pair = - : (term list -> term) strip_abs = - : (term -> (term list # term)) strip_comb = - : (term -> (term # term list)) conjuncts = - : (term -> term list) disjuncts = - : (term -> term list) strip_imp = - : (term -> (term list # term)) strip_forall = - : (term -> (term list # term)) strip_exists = - : (term -> (term list # term)) strip_pair = - : (term -> term list) mk_cond = - : ((term # term # term) -> term) is_cond = - : (term -> bool) dest_cond = - : (term -> (term # term # term)) dest_let = - : (term -> (term # term)) mk_let = - : ((term # term) -> term) is_let = - : (term -> bool) mk_cons = - : ((term # term) -> term) dest_cons = - : (term -> (term # term)) is_cons = - : (term -> bool) mk_list = - : ((term list # type) -> term) dest_list = - : (term -> (term list # type)) is_list = - : (term -> bool) mk_pabs = - : ((term # term) -> term) dest_pabs = - : (term -> (term # term)) is_pabs = - : (term -> bool) lhs = - : (term -> term) rhs = - : (term -> term) find_term = - : ((term -> bool) -> term -> term) rator = - : (term -> term) rand = - : (term -> term) bndvar = - : (term -> term) body = - : (term -> term) find_terms = - : ((term -> bool) -> term -> term list) mk_primed_var = - : ((string # type) -> term) new_axiom = - : ((string # term) -> thm) new_open_axiom = - : ((string # term) -> thm) new_predicate = - : ((string # type) -> void) mk_definition = - : (term -> term) dest_definition = - : (term -> term) is_definition = - : (term -> bool) store_definition = - : ((string # term) -> thm) theorem = - : (string -> string -> thm) new_type = - : (int -> string -> void) delete_thm = - : (string -> string -> thm) pp_axiom = - : (string -> string -> thm) axiom = - : (string -> string -> thm) definition = - : (string -> string -> thm) new_infix = - : ((string # type) -> void) store_binders = - : (term list -> thm) list_of_binders = [] : term list new_binder = - : ((string # type) -> void) n_strip_quant = - : ((* -> (** # *)) -> int -> * -> (** list # *)) is_infix_type = - : (type -> bool) is_binder_type = - : (type -> bool) check_specification = - : (* -> (string # string) list -> thm -> (term list # term)) new_specification = - : (string -> (string # string) list -> thm -> thm) check_varstruct = - : (term -> term list) check_lhs = - : (term -> term list) get_type = - : (term -> type -> type) DEF_EXISTS_RULE = - : (term -> thm) new_gen_definition = - : (string -> (string # term) -> thm) new_definition = - : ((string # term) -> thm) new_infix_definition = - : ((string # term) -> thm) new_theory = - : (string -> void) close_theory = - : (void -> void) binders = - : (string -> term list) activate_binders = - : (string -> string list) ancestors = - : (string -> string list) thy_chked = [] : string list activate_all_binders = - : (string -> string list) load_theory = - : (string -> void) extend_theory = - : (string -> void) new_parent = - : (string -> void) ((-), (-), -) : ((string -> void) # (string -> void) # (string -> void)) load_theory = - : (string -> void) extend_theory = - : (string -> void) new_parent = - : (string -> void) new_binder_definition = - : ((string # term) -> thm) new_type_definition = - : ((string # term # thm) -> thm) ML_eval = - : (string -> void) New constructors declared: preterm_var : (string -> preterm) preterm_const : (string -> preterm) preterm_comb : ((preterm # preterm) -> preterm) preterm_abs : ((preterm # preterm) -> preterm) preterm_typed : ((preterm # type) -> preterm) preterm_antiquot : (term -> preterm) preterm_to_term = - : (preterm -> term) Calling Lisp compiler File ml/hol-syn compiled () : void #echo 'set_search_path[``; `/<>/theories/`];;'\ 'load_theory `bool`;;'\ 'compilet `ml/hol-rule`;;'\ 'quit();;'\ | hol-lcf HOL-LCF version 2.02 (GCL) created 4/4/24 #() : void Theory bool loaded () : void () : void T_DEF = |- T = ((\x. x) = (\x. x)) F_DEF = |- F = (!t. t) FORALL_DEF = |- $! = (\P. P = (\x. T)) AND_DEF = |- $/\ = (\t1 t2. !t. (t1 ==> t2 ==> t) ==> t) OR_DEF = |- $\/ = (\t1 t2. !t. (t1 ==> t) ==> (t2 ==> t) ==> t) EXISTS_DEF = |- $? = (\P. P($@ P)) NOT_DEF = |- $~ = (\t. t ==> F) EXISTS_UNIQUE_DEF = |- ?! = (\P. $? P /\ (!x y. P x /\ P y ==> (x = y))) LET_DEF = |- LET = (\f x. f x) UNCURRY_DEF = |- !f x y. UNCURRY f(x,y) = f x y CURRY_DEF = |- !f x y. CURRY f x y = f(x,y) COND_DEF = |- COND = (\t t1 t2. @x. ((t = T) ==> (x = t1)) /\ ((t = F) ==> (x = t2))) TYPE_DEFINITION = |- !P rep. TYPE_DEFINITION P rep = (!x' x''. (rep x' = rep x'') ==> (x' = x'')) /\ (!x. P x = (?x'. x = rep x')) BOOL_CASES_AX = |- !t. (t = T) \/ (t = F) IMP_ANTISYM_AX = |- !t1 t2. (t1 ==> t2) ==> (t2 ==> t1) ==> (t1 = t2) ETA_AX = |- !t. (\x. t x) = t SELECT_AX = |- !P x. P x ==> P($@ P) PAIR = |- !x. FST x,SND x = x FST = |- !x y. FST(x,y) = x SND = |- !x y. SND(x,y) = y PAIR_EQ = |- !x y a b. (x,y = a,b) = (x = a) /\ (y = b) ASSUME = - : (term -> thm) REFL = - : (term -> thm) SUBST = - : ((thm # term) list -> term -> thm -> thm) BETA_CONV = - : (term -> thm) ABS = - : (term -> thm -> thm) INST_TYPE = - : ((type # type) list -> thm -> thm) DISCH = - : (term -> thm -> thm) MP = - : (thm -> thm -> thm) Calling Lisp compiler File ml/hol-rule compiled () : void #echo 'set_search_path[``; `/<>/theories/`];;'\ 'load_theory `bool`;;'\ 'compilet `ml/hol-drule`;;'\ 'quit();;'\ | hol-lcf HOL-LCF version 2.02 (GCL) created 4/4/24 #() : void Theory bool loaded () : void () : void ADD_ASSUM = - : (term -> thm -> thm) SYM = - : (thm -> thm) () : void TRANS = - : (thm -> thm -> thm) IMP_TRANS = - : (thm -> thm -> thm) AP_TERM = - : (term -> thm -> thm) AP_THM = - : (thm -> term -> thm) EQ_MP = - : (thm -> thm -> thm) EQ_IMP_RULE = - : (thm -> (thm # thm)) TRUTH = |- T EQT_ELIM = - : (thm -> thm) SPEC = - : (term -> thm -> thm) SPECL = - : (term list -> thm -> thm) EQT_INTRO = - : (thm -> thm) GEN = - : (term -> thm -> thm) GENL = - : (term list -> thm -> thm) ETA_CONV = - : (term -> thm) EXT = - : (thm -> thm) SELECT_INTRO = - : (thm -> thm) SELECT_ELIM = - : (thm -> (term # thm) -> thm) EXISTS = - : ((term # term) -> thm -> thm) CHOOSE = - : ((term # thm) -> thm -> thm) SELECT_RULE = - : (thm -> thm) IMP_ANTISYM_RULE = - : (thm -> thm -> thm) MK_EXISTS = - : (thm -> thm) LIST_MK_EXISTS = - : (term list -> thm -> thm) FORALL_EQ = - : (term -> thm -> thm) EXISTS_EQ = - : (term -> thm -> thm) SELECT_EQ = - : (term -> thm -> thm) SUBS = - : (thm list -> thm -> thm) SUBS_OCCS = - : ((int list # thm) list -> thm -> thm) SUBST_CONV = - : ((thm # term) list -> term -> term -> thm) RIGHT_BETA = - : (thm -> thm) LIST_BETA_CONV = - : (term -> thm) RIGHT_LIST_BETA = - : (thm -> thm) AND_INTRO_THM = |- !t1 t2. t1 ==> t2 ==> t1 /\ t2 CONJ = - : (thm -> thm -> thm) AND1_THM = |- !t1 t2. t1 /\ t2 ==> t1 CONJUNCT1 = - : (thm -> thm) AND2_THM = |- !t1 t2. t1 /\ t2 ==> t2 CONJUNCT2 = - : (thm -> thm) CONJ_SYM = |- !t1 t2. t1 /\ t2 = t2 /\ t1 CONJ_ASSOC = |- !t1 t2 t3. t1 /\ t2 /\ t3 = (t1 /\ t2) /\ t3 CONJUNCTS_CONV = - : ((term # term) -> thm) CONJ_SET_CONV = - : (term list -> term list -> thm) FRONT_CONJ_CONV = - : (term list -> term -> thm) CONJ_DISCH = - : (term -> thm -> thm) CONJ_DISCHL = - : (term list -> thm -> thm) OR_INTRO_THM1 = |- !t1 t2. t1 ==> t1 \/ t2 DISJ1 = - : (thm -> term -> thm) OR_INTRO_THM2 = |- !t1 t2. t2 ==> t1 \/ t2 DISJ2 = - : (term -> thm -> thm) OR_ELIM_THM = |- !t t1 t2. t1 \/ t2 ==> (t1 ==> t) ==> (t2 ==> t) ==> t DISJ_CASES = - : (thm -> thm -> thm -> thm) FALSITY = |- !t. F ==> t IMP_F = |- !t. (t ==> F) ==> ~t NOT_INTRO = - : (thm -> thm) NEG_DISCH = - : (term -> thm -> thm) F_IMP = |- !t. ~t ==> t ==> F NOT_MP = - : (thm -> thm -> thm) UNDISCH = - : (thm -> thm) NOT_ELIM = - : (thm -> thm) NOT_EQ_SYM = - : (thm -> thm) AND_CLAUSES = |- !t. (T /\ t = t) /\ (t /\ T = t) /\ (F /\ t = F) /\ (t /\ F = F) /\ (t /\ t = t) OR_CLAUSES = |- !t. (T \/ t = T) /\ (t \/ T = T) /\ (F \/ t = t) /\ (t \/ F = t) /\ (t \/ t = t) IMP_CLAUSES = |- !t. (T ==> t = t) /\ (t ==> T = T) /\ (F ==> t = T) /\ (t ==> t = T) /\ (t ==> F = ~t) CONTR = - : (term -> thm -> thm) EQF_INTRO = - : (thm -> thm) EQF_ELIM = - : (thm -> thm) EXCLUDED_MIDDLE = |- !t. t \/ ~t CCONTR = - : (term -> thm -> thm) INST = - : ((term # term) list -> thm -> thm) NOT_F = |- !t. ~t ==> (t = F) NOT_AND = |- ~(t /\ ~t) OR_IMP_THM = |- !t1 t2. (t1 = t2 \/ t1) = t2 ==> t1 NOT_IMP = |- !t1 t2. ~(t1 ==> t2) = t1 /\ ~t2 DISJ_ASSOC = |- !t1 t2 t3. t1 \/ t2 \/ t3 = (t1 \/ t2) \/ t3 DISJ_SYM = |- !t1 t2. t1 \/ t2 = t2 \/ t1 DE_MORGAN_THM = |- !t1 t2. (~(t1 /\ t2) = ~t1 \/ ~t2) /\ (~(t1 \/ t2) = ~t1 /\ ~t2) ISPEC = - : (term -> thm -> thm) ISPECL = - : (term list -> thm -> thm) SELECT_REFL = |- !x. (@y. y = x) = x SELECT_UNIQUE = |- !P x. (!y. P y = (y = x)) ==> ($@ P = x) Calling Lisp compiler File ml/hol-drule compiled () : void #echo 'set_search_path[``; `/<>/theories/`];;'\ 'load_theory `bool`;;'\ 'compilet `ml/drul`;;'\ 'quit();;'\ | hol-lcf HOL-LCF version 2.02 (GCL) created 4/4/24 #() : void Theory bool loaded () : void () : void GEN_ALL = - : (thm -> thm) DISCH_ALL = - : (thm -> thm) SPEC_VAR = - : (thm -> (term # thm)) UNDISCH_ALL = - : (thm -> thm) SPEC_ALL = - : (thm -> thm) PROVE_HYP = - : (thm -> thm -> thm) CONJ_PAIR = - : (thm -> (thm # thm)) LIST_CONJ = - : (thm list -> thm) CONJ_LIST = - : (int -> thm -> thm list) CONJUNCTS = - : (thm -> thm list) BODY_CONJUNCTS = - : (thm -> thm list) IMP_CANON = - : (thm -> thm list) LIST_MP = - : (thm list -> thm -> thm) CONTRAPOS = - : (thm -> thm) DISJ_IMP = - : (thm -> thm) IMP_ELIM = - : (thm -> thm) NOT_CLAUSES = |- (!t. ~~t = t) /\ (~T = F) /\ (~F = T) DISJ_CASES_UNION = - : (thm -> thm -> thm -> thm) EQ_REFL = |- !x. x = x REFL_CLAUSE = |- !x. (x = x) = T EQ_SYM = |- !x y. (x = y) ==> (y = x) EQ_SYM_EQ = |- !x y. (x = y) = (y = x) EQ_EXT = |- !f g. (!x. f x = g x) ==> (f = g) EQ_TRANS = |- !x y z. (x = y) /\ (y = z) ==> (x = z) BOOL_EQ_DISTINCT = |- ~(T = F) /\ ~(F = T) EQ_CLAUSES = |- !t. ((T = t) = t) /\ ((t = T) = t) /\ ((F = t) = ~t) /\ ((t = F) = ~t) MK_COMB = - : ((thm # thm) -> thm) MK_ABS = - : (thm -> thm) HALF_MK_ABS = - : (thm -> thm) ALPHA_CONV = - : (term -> term -> thm) ALPHA = - : (term -> term -> thm) GEN_ALPHA_CONV = - : (term -> term -> thm) COND_CLAUSES = |- !t1 t2. ((T => t1 | t2) = t1) /\ ((F => t1 | t2) = t2) COND_ID = |- !b t. (b => t | t) = t IMP_CONJ = - : (thm -> thm -> thm) EXISTS_IMP = - : (term -> thm -> thm) LEFT_AND_OVER_OR = |- !t1 t2 t3. t1 /\ (t2 \/ t3) = t1 /\ t2 \/ t1 /\ t3 RIGHT_AND_OVER_OR = |- !t1 t2 t3. (t2 \/ t3) /\ t1 = t2 /\ t1 \/ t3 /\ t1 LEFT_OR_OVER_AND = |- !t1 t2 t3. t1 \/ t2 /\ t3 = (t1 \/ t2) /\ (t1 \/ t3) RIGHT_OR_OVER_AND = |- !t1 t2 t3. t2 /\ t3 \/ t1 = (t2 \/ t1) /\ (t3 \/ t1) IMP_DISJ_THM = |- !t1 t2. t1 ==> t2 = ~t1 \/ t2 IMP_F_EQ_F = |- !t. t ==> F = (t = F) AND_IMP_INTRO = |- !t1 t2 t3. t1 ==> t2 ==> t3 = t1 /\ t2 ==> t3 EQ_IMP_THM = |- !t1 t2. (t1 = t2) = (t1 ==> t2) /\ (t2 ==> t1) EQ_EXPAND = |- !t1 t2. (t1 = t2) = t1 /\ t2 \/ ~t1 /\ ~t2 COND_RATOR = |- !b f g x. (b => f | g)x = (b => f x | g x) COND_RAND = |- !f b x y. f(b => x | y) = (b => f x | f y) COND_ABS = |- !b f g. (\x. (b => f x | g x)) = (b => f | g) COND_EXPAND = |- !b t1 t2. (b => t1 | t2) = (~b \/ t1) /\ (b \/ t2) Calling Lisp compiler File ml/drul compiled () : void #echo 'set_search_path[``; `/<>/theories/`];;'\ 'load_theory `bool`;;'\ 'compilet `ml/hol-thyfn`;;'\ 'quit();;'\ | hol-lcf HOL-LCF version 2.02 (GCL) created 4/4/24 #() : void Theory bool loaded () : void () : void IS_ASSUMPTION_OF = |- !t1 t2. t1 IS_ASSUMPTION_OF t2 = t1 ==> t2 ASSUMPTION_DISCH = - : (term -> thm -> thm) ASSUMPTION_DISCH_ALL = - : (thm -> thm) ASSUMPTION_UNDISCH = - : (thm -> thm) ASSUMPTION_UNDISCH_ALL = - : (thm -> thm) save_thm = - : ((string # thm) -> thm) theorem = - : (string -> string -> thm) delete_thm = - : (string -> string -> thm) theorems = - : (string -> (string # thm) list) ((-), (-), (-), -) : (((string # thm) -> thm) # (string -> string -> thm) # (string -> string -> thm) # (string -> (string # thm) list)) save_thm = - : ((string # thm) -> thm) theorem = - : (string -> string -> thm) delete_thm = - : (string -> string -> thm) theorems = - : (string -> (string # thm) list) constants = - : (string -> term list) axioms = - : (string -> (string # thm) list) definition = - : (string -> string -> thm) definitions = - : (string -> (string # thm) list) print_list = - : (bool -> string -> (* -> **) -> * list -> void) print_theory = - : (string -> void) theorem_lfn = - : (string list -> thm) theorem_msg_lfn = - : (string list -> thm) load_theorem = - : (string -> string -> void) load_theorems = - : (string -> void list) definition_lfn = - : (string list -> thm) definition_msg_lfn = - : (string list -> thm) load_definition = - : (string -> string -> void) load_definitions = - : (string -> void list) axiom_lfn = - : (string list -> thm) axiom_msg_lfn = - : (string list -> thm) load_axiom = - : (string -> string -> void) load_axioms = - : (string -> void list) Calling Lisp compiler File ml/hol-thyfn compiled () : void #echo 'set_search_path[``; `/<>/theories/`];;'\ 'load_theory `bool`;;'\ 'compilet `ml/tacticals`;;'\ 'quit();;'\ | hol-lcf HOL-LCF version 2.02 (GCL) created 4/4/24 #() : void Theory bool loaded () : void () : void type proof defined type goal defined type tactic defined TAC_PROOF = - : ((goal # tactic) -> thm) prove = - : ((term # tactic) -> thm) ASSUM_LIST = - : ((thm list -> tactic) -> tactic) POP_ASSUM = - : ((thm -> tactic) -> tactic) POP_ASSUM_LIST = - : ((thm list -> tactic) -> tactic) () : void () : void mapshape = - : (int list -> (* list -> **) list -> * list -> ** list) THEN = - : (tactic -> tactic -> tactic) THENL = - : (tactic -> tactic list -> tactic) ((-), -) : ((tactic -> tactic -> tactic) # (tactic -> tactic list -> tactic)) THEN = - : (tactic -> tactic -> tactic) THENL = - : (tactic -> tactic list -> tactic) () : void ORELSE = - : (tactic -> tactic -> tactic) FAIL_TAC = - : (string -> tactic) NO_TAC = - : tactic ALL_TAC = - : tactic TRY = - : (tactic -> tactic) REPEAT = - : (tactic -> tactic) achieves = - : (thm -> goal -> bool) chktac = - : ((goal list # proof) -> thm) check_valid = - : (goal -> (goal list # proof) -> bool) VALID = - : (tactic -> tactic) EVERY = - : (tactic list -> tactic) FIRST = - : (tactic list -> tactic) MAP_EVERY = - : ((* -> tactic) -> * list -> tactic) MAP_FIRST = - : ((* -> tactic) -> * list -> tactic) EVERY_ASSUM = - : ((thm -> tactic) -> tactic) FIRST_ASSUM = - : ((thm -> tactic) -> tactic) SUBGOAL_THEN = - : (term -> (thm -> tactic) -> tactic) CHANGED_TAC = - : (tactic -> tactic) Calling Lisp compiler File ml/tacticals compiled () : void #echo 'set_search_path[``; `/<>/theories/`];;'\ 'load_theory `bool`;;'\ 'compilet `ml/tacont`;;'\ 'quit();;'\ | hol-lcf HOL-LCF version 2.02 (GCL) created 4/4/24 #() : void Theory bool loaded () : void () : void type thm_tactic defined type thm_tactical defined () : void () : void THEN_TCL = - : (thm_tactical -> thm_tactical -> thm_tactical) ORELSE_TCL = - : (thm_tactical -> thm_tactical -> thm_tactical) REPEAT_TCL = - : (thm_tactical -> thm_tactical) REPEAT_GTCL = - : (thm_tactical -> thm_tactical) ALL_THEN = - : thm_tactical NO_THEN = - : thm_tactical EVERY_TCL = - : (thm_tactical list -> thm_tactical) FIRST_TCL = - : (thm_tactical list -> thm_tactical) CONJUNCTS_THEN2 = - : (thm_tactic -> thm_tactical) CONJUNCTS_THEN = - : thm_tactical DISJ_CASES_THEN2 = - : (thm_tactic -> thm_tactical) DISJ_CASES_THEN = - : thm_tactical DISJ_CASES_THENL = - : (thm_tactic list -> thm_tactic) DISCH_THEN = - : (thm_tactic -> tactic) X_CHOOSE_THEN = - : (term -> thm_tactical) CHOOSE_THEN = - : thm_tactical X_CASES_THENL = - : (term list list -> thm_tactic list -> thm_tactic) X_CASES_THEN = - : (term list list -> thm_tactical) CASES_THENL = - : (thm_tactic list -> thm_tactic) STRIP_THM_THEN = - : thm_tactical Calling Lisp compiler File ml/tacont compiled () : void #echo 'set_search_path[``; `/<>/theories/`];;'\ 'load_theory `bool`;;'\ 'compilet `ml/tactics`;;'\ 'quit();;'\ | hol-lcf HOL-LCF version 2.02 (GCL) created 4/4/24 #() : void Theory bool loaded () : void () : void ACCEPT_TAC = - : thm_tactic DISCARD_TAC = - : thm_tactic CONTR_TAC = - : thm_tactic ASSUME_TAC = - : thm_tactic FREEZE_THEN = - : thm_tactical CONJ_TAC = - : tactic DISJ1_TAC = - : tactic DISJ2_TAC = - : tactic MP_TAC = - : thm_tactic EQ_TAC = - : tactic X_GEN_TAC = - : (term -> tactic) GEN_TAC = - : tactic SPEC_TAC = - : ((term # term) -> tactic) EXISTS_TAC = - : (term -> tactic) GSUBST_TAC = - : (((term # term) list -> term -> term) -> thm list -> tactic) SUBST_TAC = - : (thm list -> tactic) SUBST_OCCS_TAC = - : ((int list # thm) list -> tactic) SUBST1_TAC = - : thm_tactic RULE_ASSUM_TAC = - : ((thm -> thm) -> tactic) SUBST_ALL_TAC = - : thm_tactic CHECK_ASSUME_TAC = - : thm_tactic STRIP_ASSUME_TAC = - : thm_tactic STRUCT_CASES_TAC = - : thm_tactic COND_CASES_TAC = - : tactic BOOL_CASES_TAC = - : (term -> tactic) STRIP_GOAL_THEN = - : (thm_tactic -> tactic) FILTER_GEN_TAC = - : (term -> tactic) FILTER_DISCH_THEN = - : (thm_tactic -> term -> tactic) FILTER_STRIP_THEN = - : (thm_tactic -> term -> tactic) DISCH_TAC = - : tactic DISJ_CASES_TAC = - : thm_tactic CHOOSE_TAC = - : thm_tactic X_CHOOSE_TAC = - : (term -> thm_tactic) STRIP_TAC = - : tactic FILTER_DISCH_TAC = - : (term -> tactic) FILTER_STRIP_TAC = - : (term -> tactic) ASM_CASES_TAC = - : (term -> tactic) REFL_TAC = - : tactic UNDISCH_TAC = - : (term -> tactic) AP_TERM_TAC = - : tactic AP_THM_TAC = - : tactic Calling Lisp compiler File ml/tactics compiled () : void #echo 'set_search_path[``; `/<>/theories/`];;'\ 'load_theory `bool`;;'\ 'compilet `ml/conv`;;'\ 'quit();;'\ | hol-lcf HOL-LCF version 2.02 (GCL) created 4/4/24 #() : void Theory bool loaded () : void () : void type conv defined INST_TY_TERM = - : (((term # term) list # (type # type) list) -> thm -> thm) GSPEC = - : (thm -> thm) PART_MATCH = - : ((term -> term) -> thm -> conv) MATCH_MP = - : (thm -> thm -> thm) REWR_CONV = - : (thm -> conv) NO_CONV = - : conv ALL_CONV = - : conv () : void () : void THENC = - : (conv -> conv -> conv) ORELSEC = - : (conv -> conv -> conv) FIRST_CONV = - : (conv list -> conv) EVERY_CONV = - : (conv list -> conv) REPEATC = - : (conv -> conv) CHANGED_CONV = - : (conv -> conv) TRY_CONV = - : (conv -> conv) SUB_CONV = - : (conv -> conv) qconv = `QCONV` : string QCONV = - : (conv -> conv) ALL_QCONV = - : conv THENQC = - : (conv -> conv -> conv) ORELSEQC = - : ((term -> *) -> (term -> *) -> term -> *) REPEATQC = - : (conv -> conv) CHANGED_QCONV = - : (conv -> conv) TRY_QCONV = - : (conv -> conv) SUB_QCONV = - : (conv -> conv) SUB_ALPHA_QCONV = - : (conv -> conv) DEPTH_QCONV = - : ((conv -> conv) -> conv -> conv) DEPTH_CONV = - : (conv -> conv) REDEPTH_QCONV = - : ((conv -> conv) -> conv -> conv) REDEPTH_CONV = - : (conv -> conv) TOP_DEPTH_QCONV = - : ((conv -> conv) -> conv -> conv) TOP_DEPTH_CONV = - : (conv -> conv) ONCE_DEPTH_QCONV = - : ((conv -> conv) -> conv -> conv) ONCE_DEPTH_CONV = - : (conv -> conv) REW_DEPTH_CONV = - : (conv -> conv) ONCE_REW_DEPTH_CONV = - : (conv -> conv) ((-), (-), (-), (-), (-), -) : ((conv -> conv) # (conv -> conv) # (conv -> conv) # (conv -> conv) # (conv -> conv) # (conv -> conv)) DEPTH_CONV = - : (conv -> conv) REDEPTH_CONV = - : (conv -> conv) TOP_DEPTH_CONV = - : (conv -> conv) ONCE_DEPTH_CONV = - : (conv -> conv) REW_DEPTH_CONV = - : (conv -> conv) ONCE_REW_DEPTH_CONV = - : (conv -> conv) CONV_RULE = - : (conv -> thm -> thm) CONV_TAC = - : (conv -> tactic) BETA_RULE = - : (thm -> thm) BETA_TAC = - : tactic NOT_FORALL_CONV = - : conv NOT_EXISTS_CONV = - : conv EXISTS_NOT_CONV = - : conv FORALL_NOT_CONV = - : conv FORALL_AND_CONV = - : conv EXISTS_OR_CONV = - : conv AND_FORALL_CONV = - : conv LEFT_AND_FORALL_CONV = - : conv RIGHT_AND_FORALL_CONV = - : conv OR_EXISTS_CONV = - : conv LEFT_OR_EXISTS_CONV = - : conv RIGHT_OR_EXISTS_CONV = - : conv EXISTS_AND_CONV = - : conv AND_EXISTS_CONV = - : conv LEFT_AND_EXISTS_CONV = - : conv RIGHT_AND_EXISTS_CONV = - : conv FORALL_OR_CONV = - : conv OR_FORALL_CONV = - : conv LEFT_OR_FORALL_CONV = - : conv RIGHT_OR_FORALL_CONV = - : conv FORALL_IMP_CONV = - : conv LEFT_IMP_EXISTS_CONV = - : conv RIGHT_IMP_FORALL_CONV = - : conv EXISTS_IMP_CONV = - : conv LEFT_IMP_FORALL_CONV = - : conv RIGHT_IMP_EXISTS_CONV = - : conv X_SKOLEM_CONV = - : (term -> conv) SKOLEM_CONV = - : conv SYM_CONV = - : conv RIGHT_CONV_RULE = - : (conv -> thm -> thm) FUN_EQ_CONV = - : conv X_FUN_EQ_CONV = - : (term -> conv) CONTRAPOS_CONV = - : conv ANTE_CONJ_CONV = - : conv SWAP_EXISTS_CONV = - : conv RAND_CONV = - : (conv -> conv) RATOR_CONV = - : (conv -> conv) ABS_CONV = - : (conv -> conv) SELECT_CONV = - : conv bool_EQ_CONV = - : conv EXISTS_UNIQUE_CONV = - : conv COND_CONV = - : conv PAIRED_BETA_CONV = - : conv PAIRED_ETA_CONV = - : conv GEN_BETA_CONV = - : conv ITER_BETA_CONV = - : conv ARGS_CONV = - : (conv list -> conv) RED_WHERE = - : (term -> term -> conv) REDUCE = - : (term -> term -> thm -> thm) let_CONV = - : conv - : conv let_CONV = - : conv EXISTENCE = - : (thm -> thm) AC_CONV = - : ((thm # thm) -> conv) GSYM = - : (thm -> thm) Calling Lisp compiler File ml/conv compiled () : void #echo 'set_search_path[``; `/<>/theories/`];;'\ 'load_theory `bool`;;'\ 'compilet `ml/hol-net`;;'\ 'quit();;'\ | hol-lcf HOL-LCF version 2.02 (GCL) created 4/4/24 #() : void Theory bool loaded () : void () : void nil_term_net = - : * term_net enter_term = - : ((term # *) -> * term_net -> * term_net) lookup_term = - : (* term_net -> term -> * list) merge_term_nets = - : (* term_net -> * term_net -> * term_net) Calling Lisp compiler File ml/hol-net compiled () : void #echo 'set_search_path[``; `/<>/theories/`];;'\ 'load_theory `bool`;;'\ 'compilet `ml/rewrite`;;'\ 'quit();;'\ | hol-lcf HOL-LCF version 2.02 (GCL) created 4/4/24 #() : void Theory bool loaded () : void () : void mk_rewrites = - : (thm -> thm list) mk_rewritesl = - : (thm list -> thm list) mk_conv_net = - : (thm list -> conv term_net) - : (thm list -> conv term_net) mk_conv_net = - : (thm list -> conv term_net) FORALL_SIMP = |- !t. (!x. t) = t EXISTS_SIMP = |- !t. (?x. t) = t ABS_SIMP = |- !t1 t2. (\x. t1)t2 = t1 basic_rewrites = [|- !x. (x = x) = T; |- !t. ((T = t) = t) /\ ((t = T) = t) /\ ((F = t) = ~t) /\ ((t = F) = ~t); |- (!t. ~~t = t) /\ (~T = F) /\ (~F = T); |- !t. (T /\ t = t) /\ (t /\ T = t) /\ (F /\ t = F) /\ (t /\ F = F) /\ (t /\ t = t); |- !t. (T \/ t = T) /\ (t \/ T = T) /\ (F \/ t = t) /\ (t \/ F = t) /\ (t \/ t = t); |- !t. (T ==> t = t) /\ (t ==> T = T) /\ (F ==> t = T) /\ (t ==> t = T) /\ (t ==> F = ~t); |- !t1 t2. ((T => t1 | t2) = t1) /\ ((F => t1 | t2) = t2); |- !t. (!x. t) = t; |- !t. (?x. t) = t; |- !t1 t2. (\x. t1)t2 = t1; |- !x. FST x,SND x = x; |- !x y. FST(x,y) = x; |- !x y. SND(x,y) = y] : thm list GEN_REWRITE_CONV = - : ((conv -> conv) -> thm list -> thm list -> conv) PURE_REWRITE_CONV = - : (thm list -> conv) REWRITE_CONV = - : (thm list -> conv) PURE_ONCE_REWRITE_CONV = - : (thm list -> conv) ONCE_REWRITE_CONV = - : (thm list -> conv) GEN_REWRITE_RULE = - : ((conv -> conv) -> thm list -> thm list -> thm -> thm) PURE_REWRITE_RULE = - : (thm list -> thm -> thm) REWRITE_RULE = - : (thm list -> thm -> thm) PURE_ONCE_REWRITE_RULE = - : (thm list -> thm -> thm) ONCE_REWRITE_RULE = - : (thm list -> thm -> thm) PURE_ASM_REWRITE_RULE = - : (thm list -> thm -> thm) ASM_REWRITE_RULE = - : (thm list -> thm -> thm) PURE_ONCE_ASM_REWRITE_RULE = - : (thm list -> thm -> thm) ONCE_ASM_REWRITE_RULE = - : (thm list -> thm -> thm) FILTER_PURE_ASM_REWRITE_RULE = - : ((term -> bool) -> thm list -> thm -> thm) FILTER_ASM_REWRITE_RULE = - : ((term -> bool) -> thm list -> thm -> thm) FILTER_PURE_ONCE_ASM_REWRITE_RULE = - : ((term -> bool) -> thm list -> thm -> thm) FILTER_ONCE_ASM_REWRITE_RULE = - : ((term -> bool) -> thm list -> thm -> thm) GEN_REWRITE_TAC = - : ((conv -> conv) -> thm list -> thm list -> tactic) PURE_REWRITE_TAC = - : (thm list -> tactic) REWRITE_TAC = - : (thm list -> tactic) PURE_ONCE_REWRITE_TAC = - : (thm list -> tactic) ONCE_REWRITE_TAC = - : (thm list -> tactic) PURE_ASM_REWRITE_TAC = - : (thm list -> tactic) ASM_REWRITE_TAC = - : (thm list -> tactic) PURE_ONCE_ASM_REWRITE_TAC = - : (thm list -> tactic) ONCE_ASM_REWRITE_TAC = - : (thm list -> tactic) FILTER_PURE_ASM_REWRITE_TAC = - : ((term -> bool) -> thm list -> tactic) FILTER_ASM_REWRITE_TAC = - : ((term -> bool) -> thm list -> tactic) FILTER_PURE_ONCE_ASM_REWRITE_TAC = - : ((term -> bool) -> thm list -> tactic) FILTER_ONCE_ASM_REWRITE_TAC = - : ((term -> bool) -> thm list -> tactic) find_match = - : (term -> term -> ((term # term) list # (type # type) list)) SUBST_MATCH = - : (thm -> thm -> thm) Calling Lisp compiler File ml/rewrite compiled () : void #echo 'set_search_path[``; `/<>/theories/`];;'\ 'load_theory `bool`;;'\ 'compilet `ml/resolve`;;'\ 'quit();;'\ | hol-lcf HOL-LCF version 2.02 (GCL) created 4/4/24 #() : void Theory bool loaded () : void () : void MATCH_ACCEPT_TAC = - : thm_tactic ANTE_RES_THEN = - : thm_tactical RES_CANON = - : (thm -> thm list) MATCH_MP = - : (thm -> thm -> thm) check = - : (string -> * list -> * list) IMP_RES_THEN = - : thm_tactical RES_THEN = - : (thm_tactic -> tactic) ((-), -) : (thm_tactical # (thm_tactic -> tactic)) IMP_RES_THEN = - : thm_tactical RES_THEN = - : (thm_tactic -> tactic) IMP_RES_TAC = - : thm_tactic RES_TAC = - : tactic MATCH_MP_TAC = - : thm_tactic Calling Lisp compiler File ml/resolve compiled () : void #echo 'set_search_path[``; `/<>/theories/`];;'\ 'load_theory `bool`;;'\ 'compilet `ml/goals`;;'\ 'quit();;'\ | hol-lcf HOL-LCF version 2.02 (GCL) created 4/4/24 #() : void Theory bool loaded () : void () : void assignable_print_term = - : (term -> void) () : void print_hyps = - : (term list -> void) print_goal = - : (goal -> void) PROVE = - : ((term # tactic) -> thm) prove_thm = - : ((string # term # tactic) -> thm) type subgoals defined root_goal = - : tactic attempt_first = - : (subgoals -> tactic -> subgoals) rotate_goals = - : (subgoals -> subgoals) achieve_first = - : (subgoals -> thm -> subgoals) apply_proof = - : (subgoals -> thm) () : void print_subgoals = - : (subgoals -> void) print_stack = - : (subgoals list -> int -> void) pop_proofs = - : (subgoals list -> subgoals list) pop_proofs_print = - : (subgoals list -> subgoals list) push_print = - : (subgoals -> subgoals list -> subgoals list) push_fsubgoals = - : (subgoals list -> tactic -> subgoals list) push_subgoals = - : (subgoals list -> tactic -> subgoals list) rotate_top = - : (int -> subgoals list -> subgoals list) new_stack = - : (goal -> subgoals list) top_proof = - : (subgoals list -> thm) Calling Lisp compiler File ml/goals compiled () : void #echo 'set_search_path[``; `/<>/theories/`];;'\ 'load_theory `bool`;;'\ 'compilet `ml/stack`;;'\ 'quit();;'\ | hol-lcf HOL-LCF version 2.02 (GCL) created 4/4/24 #() : void Theory bool loaded () : void () : void abs_goals = - : (subgoals list -> goalstack) rep_goals = - : (goalstack -> subgoals list) goals = - : goalstack backup_list = [] : goalstack list backup_limit = 12 : int print_state = - : (int -> void) change_state = - : (goalstack -> void) set_goal = - : (goal -> void) expandf = - : (tactic -> void) expand = - : (tactic -> void) rotate = - : (int -> void) backup = - : (void -> void) top_thm = - : (void -> thm) save_top_thm = - : (string -> thm) top_goal = - : (void -> goal) get_state = - : (void -> goalstack) set_state = - : (goalstack -> void) g = - : (term -> void) e = - : (tactic -> void) p = - : (int -> void) b = - : (void -> void) r = - : (int -> void) Calling Lisp compiler File ml/stack compiled () : void #echo 'set_search_path[``; `/<>/theories/`];;'\ 'load_theory `BASIC-HOL`;;'\ 'compilet `ml/abs-rep`;;'\ 'quit();;'\ | hol-lcf HOL-LCF version 2.02 (GCL) created 4/4/24 #() : void Theory BASIC-HOL loaded () : void () : void ABS_REP_THM = |- !P. (?rep. TYPE_DEFINITION P rep) ==> (?rep abs. (!a. abs(rep a) = a) /\ (!r. P r = (rep(abs r) = r))) define_new_type_bijections = - : (string -> string -> string -> thm -> thm) prove_rep_fn_one_one = - : (thm -> thm) prove_rep_fn_onto = - : (thm -> thm) prove_abs_fn_onto = - : (thm -> thm) prove_abs_fn_one_one = - : (thm -> thm) Calling Lisp compiler File ml/abs-rep compiled () : void #echo 'set_search_path[``; `/<>/theories/`];;'\ 'load_theory `BASIC-HOL`;;'\ 'loadf `ml/hol-in-out`;;'\ 'loadf `ml/hol-rule`;;'\ 'loadf `ml/hol-drule`;;'\ 'loadf `ml/drul`;;'\ 'loadf `ml/tacticals`;;'\ 'loadf `ml/tacont`;;'\ 'loadf `ml/tactics`;;'\ 'loadf `ml/conv`;;'\ 'loadf `ml/hol-net`;;'\ 'loadf `ml/rewrite`;;'\ 'loadf `ml/resolve`;;'\ 'loadf `ml/hol-thyfn`;;'\ 'loadf `ml/goals`;;'\ 'loadf `ml/stack`;;'\ 'loadf `ml/abs-rep`;;'\ 'activate_binders `bool`;;'\ 'lisp `(setq %liszt "")`;;'\ 'lisp `(setq %version "2.02 (GCL)")`;;'\ 'lisp `(setq %system-name "BASIC-HOL")`;;'\ 'lisp `(setup)`;;' >foo1 echo 'lisp `(throw (quote eof) t)`;; #+native-reloc(progn (with-open-file (s "foo1") (let ((*standard-input* s)) (tml)))(ml-save "basic-hol")) #-native-reloc(let ((si::*collect-binary-modules* t)(si::*binary-modules* (with-open-file (s "bm.l") (read s)))) (with-open-file (s "foo1") (let ((*standard-input* s)) (tml)))(compiler::link (remove-duplicates si::*binary-modules* :test (function equal)) "basic-hol" "(progn (load \"debian/gcl_patch.l\")(load \"foo\")(with-open-file (s \"foo1\") (let ((*standard-input* s)) (tml)))(ml-save \"basic-hol\")(quit))" "" nil)(with-open-file (s "bm.l" :direction :output) (prin1 si::*binary-modules* s))(quit))`;;' | hol-lcf HOL-LCF version 2.02 (GCL) created 4/4/24 #GCL (GNU Common Lisp) 2.6.14 Fri Jan 13 10:47:56 AM EST 2023 CLtL1 git: Version_2_6_15pre7 Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl) Binary License: GPL due to GPL'ed components: (XGCL UNEXEC) Modifications of this banner must retain notice of a compatible license Dedicated to the memory of W. Schelter Use (help) to get some basic information on how to use GCL. Temporary directory for compiler files: /tmp/ > HOL-LCF version 2.02 (GCL) created 4/4/24 #() : void Theory BASIC-HOL loaded () : void .....................................................................................................................................................() : void #.............() : void ...................................................................................() : void ..................................................() : void ...................................() : void .........................() : void ..........................................() : void ...................................................................................................() : void ..() : void ......................() : void .............() : void ............................() : void ........................() : void .................() : void .......() : void [`?!`; `!`; `?`; `@`] : string list () : void () : void () : void () : void #=======> basic-hol88 made cd /<>/theories; rm -f combin.th;\ /<>/basic-hol < /<>/theories/mk_combin.ml;\ cd /<> BASIC-HOL version 2.02 (GCL) created 4/4/24 ##########################() : void #####o_DEF = |- !f g. f o g = (\x. f(g x)) ###K_DEF = |- K = (\x y. x) ######S_DEF = |- S = (\f g x. f x(g x)) ########I_DEF = |- I = S K K ###() : void #########o_THM = |- !f g x. (f o g)x = f(g x) ########o_ASSOC = |- !f g h. f o (g o h) = (f o g) o h ########K_THM = |- !x y. K x y = x ########S_THM = |- !f g x. S f g x = f x(g x) ########I_THM = |- !x. I x = x ##########I_o_ID = |- !f. (I o f = f) /\ (f o I = f) ##=======> theory combin built cd /<>/theories; rm -f num.th;\ /<>/basic-hol < /<>/theories/mk_num.ml;\ cd /<> BASIC-HOL version 2.02 (GCL) created 4/4/24 ##############################() : void ##INFINITY_AX = |- ?f. ONE_ONE f /\ ~ONTO f ##ONE_ONE_DEF = |- !f. ONE_ONE f = (!x1 x2. (f x1 = f x2) ==> (x1 = x2)) #ONTO_DEF = |- !f. ONTO f = (!y. ?x. y = f x) ######SUC_REP_DEF = |- SUC_REP = (@f. ONE_ONE f /\ ~ONTO f) #####ZERO_REP_DEF = |- ZERO_REP = (@x. !y. ~(x = SUC_REP y)) ##########IS_NUM_REP = |- !m. IS_NUM_REP m = (!P. P ZERO_REP /\ (!n. P n ==> P(SUC_REP n)) ==> P m) ########EXISTS_NUM_REP = |- ?n. IS_NUM_REP n ####num_TY_DEF = |- ?rep. TYPE_DEFINITION IS_NUM_REP rep ##########num_ISO_DEF = |- (!a. ABS_num(REP_num a) = a) /\ (!r. IS_NUM_REP r = (REP_num(ABS_num r) = r)) #####R_11 = |- !a a'. (REP_num a = REP_num a') = (a = a') R_ONTO = |- !r. IS_NUM_REP r = (?a. r = REP_num a) A_11 = |- !r r'. IS_NUM_REP r ==> IS_NUM_REP r' ==> ((ABS_num r = ABS_num r') = (r = r')) A_ONTO = |- !a. ?r. (a = ABS_num r) /\ IS_NUM_REP r ###############() : void #() : void ###ZERO_DEF = |- 0 = ABS_num ZERO_REP ####SUC_DEF = |- !m. SUC m = ABS_num(SUC_REP(REP_num m)) ##() : void ######IS_NUM_REP_ZERO = |- IS_NUM_REP ZERO_REP #######IS_NUM_SUC_REP = |- !i. IS_NUM_REP i ==> IS_NUM_REP(SUC_REP i) #######IS_NUM_REP_SUC_REP = |- !n. IS_NUM_REP(SUC_REP(REP_num n)) ####thm1 = |- ONE_ONE SUC_REP /\ ~ONTO SUC_REP #thm2 = |- (!x1 x2. (SUC_REP x1 = SUC_REP x2) ==> (x1 = x2)) /\ ~(!y. ?x. y = SUC_REP x) ####SUC_REP_11 = |- !x1 x2. (SUC_REP x1 = SUC_REP x2) ==> (x1 = x2) ########NOT_SUC_ZERO = |- !x. ~(SUC_REP x = ZERO_REP) ################NOT_SUC = |- !n. ~(SUC n = 0) ##############INV_SUC = |- !m n. (SUC m = SUC n) ==> (m = n) ###########ind_lemma1 = |- !P. P ZERO_REP /\ (!i. P i ==> P(SUC_REP i)) ==> (!i. IS_NUM_REP i ==> P i) ####lemma = |- A ==> A /\ B = A ==> B ############ind_lemma2 = |- !P. P ZERO_REP /\ (!i. IS_NUM_REP i /\ P i ==> P(SUC_REP i)) ==> (!i. IS_NUM_REP i ==> P i) ##########lemma1 = |- (!i. IS_NUM_REP i ==> P(ABS_num i)) = (!n. P n) ###############INDUCTION = |- !P. P 0 /\ (!n. P n ==> P(SUC n)) ==> (!n. P n) ##=======> theory num built cd /<>/theories; rm -f prim_rec.th;\ /<>/basic-hol < /<>/theories/mk_prim_rec.ml;\ cd /<> BASIC-HOL version 2.02 (GCL) created 4/4/24 #######################################################################() : void ##Theory num loaded () : void #####NOT_SUC = |- !n. ~(SUC n = 0) INV_SUC = |- !m n. (SUC m = SUC n) ==> (m = n) INDUCTION = |- !P. P 0 /\ (!n. P n ==> P(SUC n)) ==> (!n. P n) #####LESS = |- !m n. m < n = (?P. (!n'. P(SUC n') ==> P n') /\ P m /\ ~P n) ########### Section INDUCT_THEN begun BETAS = - : (term -> term -> conv) GTAC = - : (term -> tactic) TACF = - : (term -> term -> thm_tactic -> tactic) TACS = - : (term -> term -> thm_tactic -> tactic list) GOALS = - : (* -> ((* # term) -> (** # ***)) list -> term -> (** list # *** list)) GALPH = - : conv GALPHA = - : conv mapshape = - : (int list -> (* list -> **) list -> * list -> ** list) INDUCT_THEN = - : (thm -> thm_tactic -> tactic) - : (thm -> thm_tactic -> tactic) Section INDUCT_THEN ended INDUCT_THEN = - : (thm -> thm_tactic -> tactic) File /<>/ml/ind.ml loaded () : void ####INDUCT_TAC = - : tactic ########INV_SUC_EQ = |- !m n. (SUC m = SUC n) = (m = n) ######LESS_REFL = |- !n. ~n < n ##########SUC_LESS = |- !m n. (SUC m) < n ==> m < n #########NOT_LESS_0 = |- !n. ~n < 0 #########LESS_0_0 = |- 0 < (SUC 0) #####################LESS_MONO = |- !m n. m < n ==> (SUC m) < (SUC n) #########LESS_SUC_REFL = |- !n. n < (SUC n) ###########LESS_SUC = |- !m n. m < n ==> m < (SUC n) #################LESS_LEMMA1 = |- !m n. m < (SUC n) ==> (m = n) \/ m < n ########LESS_LEMMA2 = |- !m n. (m = n) \/ m < n ==> m < (SUC n) #######LESS_THM = |- !m n. m < (SUC n) = (m = n) \/ m < n #########LESS_SUC_IMP = |- !m n. m < (SUC n) ==> ~(m = n) ==> m < n #######LESS_0 = |- !n. 0 < (SUC n) ##########EQ_LESS = |- !n. (SUC m = n) ==> m < n #######SUC_ID = |- !n. ~(SUC n = n) ########NOT_LESS_EQ = |- !m n. (m = n) ==> ~m < n ###########LESS_NOT_EQ = |- !m n. m < n ==> ~(m = n) ################################################SIMP_REC_REL = |- !fun x f n. SIMP_REC_REL fun x f n = (fun 0 = x) /\ (!m. m < n ==> (fun(SUC m) = f(fun m))) ######SIMP_REC_FUN = |- !x f n. SIMP_REC_FUN x f n = (@fun. SIMP_REC_REL fun x f n) ######SIMP_REC = |- !x f n. SIMP_REC x f n = SIMP_REC_FUN x f(SUC n)n ######################SIMP_REC_FUN_LEMMA = |- (?fun. SIMP_REC_REL fun x f n) = (SIMP_REC_FUN x f n 0 = x) /\ (!m. m < n ==> (SIMP_REC_FUN x f n(SUC m) = f(SIMP_REC_FUN x f n m))) ##################################SIMP_REC_EXISTS = |- !x f n. ?fun. SIMP_REC_REL fun x f n #############SIMP_REC_FUN_THM = |- !x f n. (SIMP_REC_FUN x f n 0 = x) /\ (!m. m < n ==> (SIMP_REC_FUN x f n(SUC m) = f(SIMP_REC_FUN x f n m))) ###SIMP_REC_FUN_THM1 = |- !x f n. SIMP_REC_FUN x f n 0 = x ###SIMP_REC_FUN_THM2 = |- !n m. m < n ==> (SIMP_REC_FUN x f n(SUC m) = f(SIMP_REC_FUN x f n m)) ###################SIMP_REC_UNIQUE = |- !n m1 m2 x f. n < m1 ==> n < m2 ==> (SIMP_REC_FUN x f m1 n = SIMP_REC_FUN x f m2 n) #######LESS_SUC_SUC = |- !m. m < (SUC m) /\ m < (SUC(SUC m)) ###############SIMP_REC_THM = |- !x f. (SIMP_REC x f 0 = x) /\ (!m. SIMP_REC x f(SUC m) = f(SIMP_REC x f m)) ########################PRE_DEF = |- !m. PRE m = ((m = 0) => 0 | (@n. m = SUC n)) ########SELECT_LEMMA = |- (@n. m = n) = m #######PRE = |- (PRE 0 = 0) /\ (!m. PRE(SUC m) = m) ######PRIM_REC_FUN = |- !x f. PRIM_REC_FUN x f = SIMP_REC(\n. x)(\fun n. f(fun(PRE n))n) ###########PRIM_REC_EQN = |- !x f. (!n. PRIM_REC_FUN x f 0 n = x) /\ (!m n. PRIM_REC_FUN x f(SUC m)n = f(PRIM_REC_FUN x f m(PRE n))n) #####PRIM_REC = |- !x f m. PRIM_REC x f m = PRIM_REC_FUN x f m(PRE m) ###########PRIM_REC_THM = |- !x f. (PRIM_REC x f 0 = x) /\ (!m. PRIM_REC x f(SUC m) = f(PRIM_REC x f m)m) ####################num_Axiom = |- !e f. ?! fn. (fn 0 = e) /\ (!n. fn(SUC n) = f(fn n)n) ###() : void ##=======> theory prim_rec built cd /<>/theories; rm -f fun.th;\ /<>/basic-hol < /<>/theories/mk_fun.ml;\ cd /<> BASIC-HOL version 2.02 (GCL) created 4/4/24 ###########################() : void ######ASSOC_DEF = |- !f. ASSOC f = (!x y z. f x(f y z) = f(f x y)z) ###COMM_DEF = |- !f. COMM f = (!x y. f x y = f y x) ####FCOMM_DEF = |- !f g. FCOMM f g = (!x y z. g x(f y z) = f(g x y)z) ###RIGHT_ID_DEF = |- !f e. RIGHT_ID f e = (!x. f x e = x) ###LEFT_ID_DEF = |- !f e. LEFT_ID f e = (!x. f e x = x) ###MONOID_DEF = |- !f e. MONOID f e = ASSOC f /\ RIGHT_ID f e /\ LEFT_ID f e ###() : void #######ASSOC_CONJ = |- ASSOC $/\ ####ASSOC_DISJ = |- ASSOC $\/ ####FCOMM_ASSOC = |- !f. FCOMM f f = ASSOC f #####################MONOID_CONJ_T = |- MONOID $/\ T ####MONOID_DISJ_F = |- MONOID $\/ F ##=======> theory fun built cd /<>/theories; rm -f arithmetic.th;\ /<>/basic-hol < /<>/theories/mk_arith.ml;\ /<>/basic-hol < /<>/theories/mk_arith_thms.ml;\ cd /<> BASIC-HOL version 2.02 (GCL) created 4/4/24 #############################() : void ##Theory prim_rec loaded Theory fun loaded [(); ()] : void list ########### Section prove_rec_fn_exists begun derive_existence_thm = - : (thm -> conv) mk_fn = - : ((term # term # term list # term # goal) -> (term # term list # thm)) instantiate_existence_thm = - : (thm -> conv) closeup = - : (term -> term) prove_rec_fn_exists = - : (thm -> conv) - : (thm -> conv) Section prove_rec_fn_exists ended prove_rec_fn_exists = - : (thm -> conv) new_recursive_definition = - : (bool -> thm -> string -> conv) File /<>/ml/prim_rec.ml loaded () : void ###num_Axiom = |- !e f. ?! fn. (fn 0 = e) /\ (!n. fn(SUC n) = f(fn n)n) ####ADD = |- (!n. 0 + n = n) /\ (!m n. (SUC m) + n = SUC(m + n)) ####SUB = |- (!m. 0 - m = 0) /\ (!m n. (SUC m) - n = (m < n => 0 | SUC(m - n))) ####MULT = |- (!n. 0 * n = 0) /\ (!m n. (SUC m) * n = (m * n) + n) ####EXP = |- (!m. m EXP 0 = 1) /\ (!m n. m EXP (SUC n) = m * (m EXP n)) ########GREATER = |- !m n. m > n = n < m ###LESS_OR_EQ = |- !m n. m <= n = m < n \/ (m = n) ###GREATER_OR_EQ = |- !m n. m >= n = m > n \/ (m = n) ########FACT = |- (FACT 0 = 1) /\ (!n. FACT(SUC n) = (SUC n) * (FACT n)) ####EVEN = |- (EVEN 0 = T) /\ (!n. EVEN(SUC n) = ~EVEN n) ####ODD = |- (ODD 0 = F) /\ (!n. ODD(SUC n) = ~ODD n) #################() : void ## BASIC-HOL version 2.02 (GCL) created 4/4/24 ###########################Theory arithmetic loaded () : void ##########ADD = |- (!n. 0 + n = n) /\ (!m n. (SUC m) + n = SUC(m + n)) SUB = |- (!m. 0 - m = 0) /\ (!m n. (SUC m) - n = (m < n => 0 | SUC(m - n))) MULT = |- (!n. 0 * n = 0) /\ (!m n. (SUC m) * n = (m * n) + n) EXP = |- (!m. m EXP 0 = 1) /\ (!m n. m EXP (SUC n) = m * (m EXP n)) FACT = |- (FACT 0 = 1) /\ (!n. FACT(SUC n) = (SUC n) * (FACT n)) EVEN = |- (EVEN 0 = T) /\ (!n. EVEN(SUC n) = ~EVEN n) ODD = |- (ODD 0 = F) /\ (!n. ODD(SUC n) = ~ODD n) ####GREATER = |- !m n. m > n = n < m LESS_OR_EQ = |- !m n. m <= n = m < n \/ (m = n) GREATER_OR_EQ = |- !m n. m >= n = m > n \/ (m = n) ##################INV_SUC_EQ = |- !m n. (SUC m = SUC n) = (m = n) LESS_REFL = |- !n. ~n < n SUC_LESS = |- !m n. (SUC m) < n ==> m < n NOT_LESS_0 = |- !n. ~n < 0 LESS_MONO = |- !m n. m < n ==> (SUC m) < (SUC n) LESS_SUC_REFL = |- !n. n < (SUC n) LESS_SUC = |- !m n. m < n ==> m < (SUC n) LESS_THM = |- !m n. m < (SUC n) = (m = n) \/ m < n LESS_SUC_IMP = |- !m n. m < (SUC n) ==> ~(m = n) ==> m < n LESS_0 = |- !n. 0 < (SUC n) EQ_LESS = |- !n. (SUC m = n) ==> m < n SUC_ID = |- !n. ~(SUC n = n) NOT_LESS_EQ = |- !m n. (m = n) ==> ~m < n LESS_NOT_EQ = |- !m n. m < n ==> ~(m = n) LESS_SUC_SUC = |- !m. m < (SUC m) /\ m < (SUC(SUC m)) PRE = |- (PRE 0 = 0) /\ (!m. PRE(SUC m) = m) #####NOT_SUC = |- !n. ~(SUC n = 0) INV_SUC = |- !m n. (SUC m = SUC n) ==> (m = n) INDUCTION = |- !P. P 0 /\ (!n. P n ==> P(SUC n)) ==> (!n. P n) ######ASSOC_DEF = |- !f. ASSOC f = (!x y z. f x(f y z) = f(f x y)z) RIGHT_ID_DEF = |- !f e. RIGHT_ID f e = (!x. f x e = x) LEFT_ID_DEF = |- !f e. LEFT_ID f e = (!x. f e x = x) MONOID_DEF = |- !f e. MONOID f e = ASSOC f /\ RIGHT_ID f e /\ LEFT_ID f e ##### num_CONV = - : conv File /<>/ml/numconv.ml loaded () : void ########### Section INDUCT_THEN begun BETAS = - : (term -> term -> conv) GTAC = - : (term -> tactic) TACF = - : (term -> term -> thm_tactic -> tactic) TACS = - : (term -> term -> thm_tactic -> tactic list) GOALS = - : (* -> ((* # term) -> (** # ***)) list -> term -> (** list # *** list)) GALPH = - : conv GALPHA = - : conv mapshape = - : (int list -> (* list -> **) list -> * list -> ** list) INDUCT_THEN = - : (thm -> thm_tactic -> tactic) - : (thm -> thm_tactic -> tactic) Section INDUCT_THEN ended INDUCT_THEN = - : (thm -> thm_tactic -> tactic) File /<>/ml/ind.ml loaded () : void #####INDUCT_TAC = - : tactic ###########SUC_NOT = |- !n. ~(0 = SUC n) ########ADD_0 = |- !m. m + 0 = m ########ADD_SUC = |- !m n. SUC(m + n) = m + (SUC n) #########ADD_CLAUSES = |- (0 + m = m) /\ (m + 0 = m) /\ ((SUC m) + n = SUC(m + n)) /\ (m + (SUC n) = SUC(m + n)) ########ADD_SYM = |- !m n. m + n = n + m #########num_CASES = |- !m. (m = 0) \/ (?n. m = SUC n) ###########LESS_MONO_REV = |- !m n. (SUC m) < (SUC n) ==> m < n #########LESS_MONO_EQ = |- !m n. (SUC m) < (SUC n) = m < n ########SUC_SUB1 = |- !m. (SUC m) - 1 = m ########PRE_SUB1 = |- !m. PRE m = m - 1 ###############LESS_ADD = |- !m n. n < m ==> (?p. p + n = m) #######SUB_0 = |- !m. (0 - m = 0) /\ (m - 0 = m) ###############LESS_TRANS = |- !m n p. m < n /\ n < p ==> m < p #######ADD1 = |- !m. SUC m = m + 1 ###########LESS_ANTISYM = |- !m n. ~(m < n /\ n < m) ###########LESS_LESS_SUC = |- !m n. ~(m < n /\ n < (SUC m)) ##########FUN_EQ_LEMMA = |- !f x1 x2. f x1 /\ ~f x2 ==> ~(x1 = x2) ############LESS_OR = |- !m n. m < n ==> (SUC m) <= n ###########OR_LESS = |- !m n. (SUC m) <= n ==> m < n #######LESS_EQ = |- !m n. m < n = (SUC m) <= n ###########LESS_SUC_EQ_COR = |- !m n. m < n /\ ~(SUC m = n) ==> (SUC m) < n ###############LESS_NOT_SUC = |- !m n. m < n /\ ~(n = SUC m) ==> (SUC m) < n #######LESS_0_CASES = |- !m. (0 = m) \/ 0 < m #####################LESS_CASES_IMP = |- !m n. ~m < n /\ ~(m = n) ==> n < m ###########LESS_CASES = |- !m n. m < n \/ n <= m #########ADD_INV_0 = |- !m n. (m + n = m) ==> (n = 0) ###############LESS_EQ_ADD = |- !m n. m <= (m + n) #######LESS_EQ_SUC_REFL = |- !m. m <= (SUC m) #############LESS_ADD_NONZERO = |- !m n. ~(n = 0) ==> m < (m + n) ############LESS_EQ_ANTISYM = |- !m n. ~(m < n /\ n <= m) #############NOT_LESS = |- !m n. ~m < n = n <= m ######################SUB_EQ_0 = |- !m n. (m - n = 0) = m <= n #######ADD_ASSOC = |- !m n p. m + (n + p) = (m + n) + p #######MULT_0 = |- !m. m * 0 = 0 #######MULT_SUC = |- !m n. m * (SUC n) = m + (m * n) #######MULT_LEFT_1 = |- !m. 1 * m = m ########MULT_RIGHT_1 = |- !m. m * 1 = m ###########MULT_CLAUSES = |- !m n. (0 * m = 0) /\ (m * 0 = 0) /\ (1 * m = m) /\ (m * 1 = m) /\ ((SUC m) * n = (m * n) + n) /\ (m * (SUC n) = m + (m * n)) ########MULT_SYM = |- !m n. m * n = n * m ############RIGHT_ADD_DISTRIB = |- !m n p. (m + n) * p = (m * p) + (n * p) ###############LEFT_ADD_DISTRIB = |- !m n p. p * (m + n) = (p * m) + (p * n) #######MULT_ASSOC = |- !m n p. m * (n * p) = (m * n) * p ###############SUB_ADD = |- !m n. n <= m ==> ((m - n) + n = m) #############PRE_SUB = |- !m n. PRE(m - n) = (PRE m) - n ########ADD_EQ_0 = |- !m n. (m + n = 0) = (m = 0) /\ (n = 0) ##########ADD_INV_0_EQ = |- !m n. (m + n = m) = (n = 0) ########PRE_SUC_EQ = |- !m n. 0 < n ==> ((m = PRE n) = (SUC m = n)) ########INV_PRE_EQ = |- !m n. 0 < m /\ 0 < n ==> ((PRE m = PRE n) = (m = n)) ##########LESS_SUC_NOT = |- !m n. m < n ==> ~n < (SUC m) ##################TOTALLY_AD_HOC_LEMMA = |- !m n. (m + (SUC n) = n) = (SUC m = 0) #######################ADD_EQ_SUB = |- !m n p. n <= p ==> ((m + n = p) = (m = p - n)) ###########LESS_MONO_ADD = |- !m n p. m < n ==> (m + p) < (n + p) #########LESS_MONO_ADD_INV = |- !m n p. (m + p) < (n + p) ==> m < n ########LESS_MONO_ADD_EQ = |- !m n p. (m + p) < (n + p) = m < n #########EQ_MONO_ADD_EQ = |- !m n p. (m + p = n + p) = (m = n) #########LESS_EQ_MONO_ADD_EQ = |- !m n p. (m + p) <= (n + p) = m <= n ###########LESS_EQ_TRANS = |- !m n p. m <= n /\ n <= p ==> m <= p #############LESS_EQ_LESS_EQ_MONO = |- !m n p q. m <= p /\ n <= q ==> (m + n) <= (p + q) #######LESS_EQ_REFL = |- !m. m <= m #######LESS_IMP_LESS_OR_EQ = |- !m n. m < n ==> m <= n ##############LESS_MONO_MULT = |- !m n p. m <= n ==> (m * p) <= (n * p) ##################RIGHT_SUB_DISTRIB = |- !m n p. (m - n) * p = (m * p) - (n * p) ###########LEFT_SUB_DISTRIB = |- !m n p. p * (m - n) = (p * m) - (p * n) ################LESS_ADD_1 = |- !m n. n < m ==> (?p. m = n + (p + 1)) #############EXP_ADD = |- !p q n. n EXP (p + q) = (n EXP p) * (n EXP q) ##########NOT_ODD_EQ_EVEN = |- !n m. ~(SUC(n + n) = m + m) #######################MULT_SUC_EQ = |- !p m n. (n * (SUC p) = m * (SUC p)) = (n = m) ########MULT_EXP_MONO = |- !p q n m. (n * ((SUC q) EXP p) = m * ((SUC q) EXP p)) = (n = m) #########LESS_EQUAL_ANTISYM = |- !n m. n <= m /\ m <= n ==> (n = m) #########LESS_ADD_SUC = |- !m n. m < (m + (SUC n)) #########ZERO_LESS_EQ = |- !n. 0 <= n ######LESS_EQ_MONO = |- !n m. (SUC n) <= (SUC m) = n <= m #############LESS_OR_EQ_ADD = |- !n m. n < m \/ (?p. n = p + m) ############################lemma = |- ~(?n. P n /\ (!m. m < n ==> ~P m)) ==> (!n m. m < n ==> ~P m) ###############WOP = |- !P. (?n. P n) ==> (?n. P n /\ (!m. m < n ==> ~P m)) ###################exists_lemma = |- ?r q. k = (q * n) + r #############smallest_lemma = |- ?n'. (?q. k = (q * n) + n') /\ (!m. m < n' ==> (!q. ~(k = (q * n) + m))) ###########leq_add_lemma = |- !m n. n <= m ==> (?p. m = n + p) #####k_expr_lemma = |- (k = (q * n) + (n + p)) ==> (k = ((q + 1) * n) + p) ########less_add = . |- p < (n + p) #############DA = |- !k n. 0 < n ==> (?r q. (k = (q * n) + r) /\ r < n) #########Theory arithmetic loaded () : void #############MOD_exists = |- ?MOD. !n. 0 < n ==> (!k. ?q. (k = (q * n) + (MOD k n)) /\ (MOD k n) < n) ################MOD_DIV_exist = |- ?MOD DIV. !n. 0 < n ==> (!k. (k = ((DIV k n) * n) + (MOD k n)) /\ (MOD k n) < n) ####DIVISION = |- !n. 0 < n ==> (!k. (k = ((k DIV n) * n) + (k MOD n)) /\ (k MOD n) < n) ##() : void #############MOD_ONE = |- !k. k MOD (SUC 0) = 0 ################DIV_LESS_EQ = |- !n. 0 < n ==> (!k. (k DIV n) <= k) ###########################################################DIV_UNIQUE = |- !n k q. (?r. (k = (q * n) + r) /\ r < n) ==> (k DIV n = q) #########lemma = |- !n k q r. (k = (q * n) + r) /\ r < n ==> (k DIV n = q) #################MOD_UNIQUE = |- !n k r. (?q. (k = (q * n) + r) /\ r < n) ==> (k MOD n = r) ###############DIV_MULT = |- !n r. r < n ==> (!q. ((q * n) + r) DIV n = q) #########LESS_MOD = |- !n k. k < n ==> (k MOD n = k) ###########MOD_EQ_0 = |- !n. 0 < n ==> (!k. (k * n) MOD n = 0) ########ZERO_MOD = |- !n. 0 < n ==> (0 MOD n = 0) #########ZERO_DIV = |- !n. 0 < n ==> (0 DIV n = 0) #########MOD_MULT = |- !n r. r < n ==> (!q. ((q * n) + r) MOD n = r) ############MOD_TIMES = |- !n. 0 < n ==> (!q r. ((q * n) + r) MOD n = r MOD n) #############MOD_PLUS = |- !n. 0 < n ==> (!j k. ((j MOD n) + (k MOD n)) MOD n = (j + k) MOD n) ########MOD_MOD = |- !n. 0 < n ==> (!k. (k MOD n) MOD n = k MOD n) ###########SUB_MONO_EQ = |- !n m. (SUC n) - (SUC m) = n - m ##########SUB_PLUS = |- !a b c. a - (b + c) = (a - b) - c ######################INV_PRE_LESS = |- !m. 0 < m ==> (!n. (PRE m) < (PRE n) = m < n) ##########INV_PRE_LESS_EQ = |- !n. 0 < n ==> (!m. (PRE m) <= (PRE n) = m <= n) ########SUB_LESS_EQ = |- !n m. (n - m) <= n ##############SUB_EQ_EQ_0 = |- !m n. (m - n = m) = (m = 0) \/ (n = 0) ###########SUB_LESS_0 = |- !n m. m < n = 0 < (n - m) #########SUB_LESS_OR = |- !m n. n < m ==> n <= (m - 1) ################LESS_SUB_ADD_LESS = |- !n m i. i < (n - m) ==> (i + m) < n ########TIMES2 = |- !n. 2 * n = n + n #####################LESS_MULT_MONO = |- !m i n. ((SUC n) * m) < ((SUC n) * i) = m < i #######################MULT_MONO_EQ = |- !m i n. ((SUC n) * m = (SUC n) * i) = (m = i) ###########ADD_SUB = |- !a c. (a + c) - c = a ###############LESS_EQ_ADD_SUB = |- !c b. c <= b ==> (!a. (a + b) - c = a + (b - c)) ########SUB_EQUAL_0 = |- !c. c - c = 0 ##################LESS_EQ_SUB_LESS = |- !a b. b <= a ==> (!c. (a - b) < c = a < (b + c)) ######NOT_SUC_LESS_EQ = |- !n m. ~(SUC n) <= m = m <= n ###############SUB_SUB = |- !b c. c <= b ==> (!a. a - (b - c) = (a + c) - b) ###########LESS_IMP_LESS_ADD = |- !n m. n < m ==> (!p. n < (m + p)) ########LESS_EQ_IMP_LESS_SUC = |- !n m. n <= m ==> n < (SUC m) ###############SUB_LESS_EQ_ADD = |- !m p. m <= p ==> (!n. (p - m) <= n = p <= (m + n)) #############################SUB_CANCEL = |- !p n m. n <= p /\ m <= p ==> ((p - n = p - m) = (n = m)) ##########################CANCEL_SUB = |- !p n m. p <= n /\ p <= m ==> ((n - p = m - p) = (n = m)) ###########NOT_EXP_0 = |- !m n. ~((SUC n) EXP m = 0) ##########ZERO_LESS_EXP = |- !m n. 0 < ((SUC n) EXP m) ##########ODD_OR_EVEN = |- !n. ?m. (n = (SUC(SUC 0)) * m) \/ (n = ((SUC(SUC 0)) * m) + 1) ##########LESS_EXP_SUC_MONO = |- !n m. ((SUC(SUC m)) EXP n) < ((SUC(SUC m)) EXP (SUC n)) #########LESS_LESS_CASES = |- !m n. (m = n) \/ m < n \/ n < m #####GREATER_EQ = |- !n m. n >= m = m <= n ######LESS_EQ_CASES = |- !m n. m <= n \/ n <= m #######LESS_EQUAL_ADD = |- !m n. m <= n ==> (?p. n = m + p) ######LESS_EQ_EXISTS = |- !m n. m <= n = (?p. n = m + p) ####NOT_LESS_EQUAL = |- !m n. ~m <= n = n < m #######LESS_EQ_0 = |- !n. n <= 0 = (n = 0) ######MULT_EQ_0 = |- !m n. (m * n = 0) = (m = 0) \/ (n = 0) #####LESS_MULT2 = |- !m n. 0 < m /\ 0 < n ==> 0 < (m * n) #####LESS_EQ_LESS_TRANS = |- !m n p. m <= n /\ n < p ==> m < p #####LESS_LESS_EQ_TRANS = |- !m n p. m < n /\ n <= p ==> m < p #########FACT_LESS = |- !n. 0 < (FACT n) ########EVEN_ODD = |- !n. EVEN n = ~ODD n ####ODD_EVEN = |- !n. ODD n = ~EVEN n ####EVEN_OR_ODD = |- !n. EVEN n \/ ODD n ####EVEN_AND_ODD = |- !n. ~(EVEN n /\ ODD n) #####EVEN_ADD = |- !m n. EVEN(m + n) = (EVEN m = EVEN n) #####EVEN_MULT = |- !m n. EVEN(m * n) = EVEN m \/ EVEN n #####ODD_ADD = |- !m n. ODD(m + n) = ~(ODD m = ODD n) ####ODD_MULT = |- !m n. ODD(m * n) = ODD m /\ ODD n #####EVEN_DOUBLE = |- !n. EVEN(2 * n) ####ODD_DOUBLE = |- !n. ODD(SUC(2 * n)) ###########EVEN_ODD_EXISTS = |- !n. (EVEN n ==> (?m. n = 2 * m)) /\ (ODD n ==> (?m. n = SUC(2 * m))) ######EVEN_EXISTS = |- !n. EVEN n = (?m. n = 2 * m) ######ODD_EXISTS = |- !n. ODD n = (?m. n = SUC(2 * m)) ############EQ_LESS_EQ = |- !m n. (m = n) = m <= n /\ n <= m #######ADD_MONO_LESS_EQ = |- !m n p. (m + n) <= (m + p) = n <= p ######NOT_SUC_LESS_EQ_0 = |- !n. ~(SUC n) <= 0 ###########NOT_LEQ = |- !m n. ~m <= n = (SUC n) <= m #######NOT_NUM_EQ = |- !m n. ~(m = n) = (SUC m) <= n \/ (SUC n) <= m ######NOT_GREATER = |- !m n. ~m > n = m <= n ######NOT_GREATER_EQ = |- !m n. ~m >= n = (SUC m) <= n ########SUC_ONE_ADD = |- !n. SUC n = 1 + n ########SUC_ADD_SYM = |- !m n. SUC(m + n) = (SUC n) + m ########NOT_SUC_ADD_LESS_EQ = |- !m n. ~(SUC(m + n)) <= m #########################MULT_LESS_EQ_SUC = |- !m n p. m <= n = ((SUC p) * m) <= ((SUC p) * n) ################SUB_LEFT_ADD = |- !m n p. m + (n - p) = (n <= p => m | (m + n) - p) ################SUB_RIGHT_ADD = |- !m n p. (m - n) + p = (m <= n => p | (m + p) - n) ##############SUB_LEFT_SUB = |- !m n p. m - (n - p) = (n <= p => m | (m + p) - n) #########SUB_RIGHT_SUB = |- !m n p. (m - n) - p = m - (n + p) ###########SUB_LEFT_SUC = |- !m n. SUC(m - n) = (m <= n => SUC 0 | (SUC m) - n) ##########################SUB_LEFT_LESS_EQ = |- !m n p. m <= (n - p) = (m + p) <= n \/ m <= 0 #################SUB_RIGHT_LESS_EQ = |- !m n p. (m - n) <= p = m <= (n + p) #########SUB_LEFT_LESS = |- !m n p. m < (n - p) = (m + p) < n #################SUB_RIGHT_LESS = |- !m n p. (m - n) < p = m < (n + p) /\ 0 < p ############SUB_LEFT_GREATER_EQ = |- !m n p. m >= (n - p) = (m + p) >= n ############SUB_RIGHT_GREATER_EQ = |- !m n p. (m - n) >= p = m >= (n + p) \/ 0 >= p #########SUB_LEFT_GREATER = |- !m n p. m > (n - p) = (m + p) > n /\ m > 0 #########SUB_RIGHT_GREATER = |- !m n p. (m - n) > p = m > (n + p) #############SUB_LEFT_EQ = |- !m n p. (m = n - p) = (m + p = n) \/ m <= 0 /\ n <= p ##############SUB_RIGHT_EQ = |- !m n p. (m - n = p) = (m = n + p) \/ m <= n /\ p <= 0 #######ASSOC_ADD = |- ASSOC $+ ####RIGHT_ID_ADD_0 = |- RIGHT_ID $+ 0 ####LEFT_ID_ADD_0 = |- LEFT_ID $+ 0 #####MONOID_ADD_0 = |- MONOID $+ 0 ####ASSOC_MULT = |- ASSOC $* ####RIGHT_ID_MULT_1 = |- RIGHT_ID $* 1 ####LEFT_ID_MULT_1 = |- LEFT_ID $* 1 ####MONOID_MULT_1 = |- MONOID $* 1 ##=======> theory arithmetic built cd /<>/theories; rm -f list.th;\ /<>/basic-hol < /<>/theories/mk_list.ml;\ /<>/basic-hol < /<>/theories/mk_list_defs.ml;\ /<>/basic-hol < /<>/theories/mk_list_thms.ml;\ cd /<> BASIC-HOL version 2.02 (GCL) created 4/4/24 ##################################() : void ###Theory arithmetic loaded () : void ###NOT_LESS_0 = |- !n. ~n < 0 #PRIM_REC_THM = |- !x f. (PRIM_REC x f 0 = x) /\ (!m. PRIM_REC x f(SUC m) = f(PRIM_REC x f m)m) #PRE = |- (PRE 0 = 0) /\ (!m. PRE(SUC m) = m) #LESS_0 = |- !n. 0 < (SUC n) ###NOT_SUC = |- !n. ~(SUC n = 0) #INDUCTION = |- !P. P 0 /\ (!n. P n ==> P(SUC n)) ==> (!n. P n) ###ADD_CLAUSES = |- (0 + m = m) /\ (m + 0 = m) /\ ((SUC m) + n = SUC(m + n)) /\ (m + (SUC n) = SUC(m + n)) #LESS_ADD_1 = |- !m n. n < m ==> (?p. m = n + (p + 1)) #LESS_EQ = |- !m n. m < n = (SUC m) <= n #NOT_LESS = |- !m n. ~m < n = n <= m #LESS_EQ_ADD = |- !m n. m <= (m + n) #num_CASES = |- !m. (m = 0) \/ (?n. m = SUC n) #LESS_MONO_EQ = |- !m n. (SUC m) < (SUC n) = m < n ########### Section INDUCT_THEN begun BETAS = - : (term -> term -> conv) GTAC = - : (term -> tactic) TACF = - : (term -> term -> thm_tactic -> tactic) TACS = - : (term -> term -> thm_tactic -> tactic list) GOALS = - : (* -> ((* # term) -> (** # ***)) list -> term -> (** list # *** list)) GALPH = - : conv GALPHA = - : conv mapshape = - : (int list -> (* list -> **) list -> * list -> ** list) INDUCT_THEN = - : (thm -> thm_tactic -> tactic) - : (thm -> thm_tactic -> tactic) Section INDUCT_THEN ended INDUCT_THEN = - : (thm -> thm_tactic -> tactic) File /<>/ml/ind.ml loaded () : void #####INDUCT_TAC = - : tactic #### num_CONV = - : conv File /<>/ml/numconv.ml loaded () : void ######IS_list_REP = |- !r. IS_list_REP r = (?f n. r = (\m. (m < n => f m | (@x. T))),n) ########EXISTS_list_REP = |- ?p. IS_list_REP p #####list_TY_DEF = |- ?rep. TYPE_DEFINITION IS_list_REP rep ##########list_ISO_DEF = |- (!a. ABS_list(REP_list a) = a) /\ (!r. IS_list_REP r = (REP_list(ABS_list r) = r)) #####R_ONTO = |- !r. IS_list_REP r = (?a. r = REP_list a) A_11 = |- !r r'. IS_list_REP r ==> IS_list_REP r' ==> ((ABS_list r = ABS_list r') = (r = r')) A_R = |- !a. ABS_list(REP_list a) = a R_A = |- !r. IS_list_REP r = (REP_list(ABS_list r) = r) ########NIL_DEF = |- [] = ABS_list((\n. @e. T),0) #######CONS_DEF = |- !h t. CONS h t = ABS_list ((\m. ((m = 0) => h | FST(REP_list t)(PRE m))),SUC(SND(REP_list t))) ##() : void #######################lemma1 = |- !x f. ?fn. (!g. fn(g,0) = x) /\ (!g n. fn(g,n + 1) = f(fn((\i. g(i + 1)),n))(g 0)(ABS_list((\i. g(i + 1)),n))) ######NIL_lemma = |- REP_list[] = (\n. @x. T),0 ######REP_lemma = |- IS_list_REP(REP_list l) ########################CONS_lemma = |- REP_list(CONS h t) = (\m. ((m = 0) => h | FST(REP_list t)(PRE m))),SUC(SND(REP_list t)) #############exists_lemma = |- !x f. ?fn. (fn[] = x) /\ (!h t. fn(CONS h t) = f(fn t)h t) ####A_11_lemma = |- (IS_list_REP r' /\ IS_list_REP r) /\ (r = r') ==> (ABS_list r = ABS_list r') #########R_A_lemma = |- REP_list(ABS_list((\m. (m < n => f(SUC m) | (@x. T))),n)) = (\m. (m < n => f(SUC m) | (@x. T))),n #####################cons_lemma = |- ABS_list((\m. (m < (SUC n) => f m | (@x. T))),SUC n) = CONS(f 0)(ABS_list((\m. (m < n => f(SUC m) | (@x. T))),n)) ###########################list_Axiom = |- !x f. ?! fn. (fn[] = x) /\ (!h t. fn(CONS h t) = f(fn t)h t) ## BASIC-HOL version 2.02 (GCL) created 4/4/24 #################################Theory list loaded () : void #Theory combin loaded () : void #####list_Axiom = |- !x f. ?! fn. (fn[] = x) /\ (!h t. fn(CONS h t) = f(fn t)h t) ##num_Axiom = |- !e f. ?! fn. (fn 0 = e) /\ (!n. fn(SUC n) = f(fn n)n) #PRE = |- (PRE 0 = 0) /\ (!m. PRE(SUC m) = m) ##UNCURRY_DEF = |- !f x y. UNCURRY f(x,y) = f x y #o_DEF = |- !f g. f o g = (\x. f(g x)) ################################# Section INDUCT_THEN begun BETAS = - : (term -> term -> conv) GTAC = - : (term -> tactic) TACF = - : (term -> term -> thm_tactic -> tactic) TACS = - : (term -> term -> thm_tactic -> tactic list) GOALS = - : (* -> ((* # term) -> (** # ***)) list -> term -> (** list # *** list)) GALPH = - : conv GALPHA = - : conv mapshape = - : (int list -> (* list -> **) list -> * list -> ** list) INDUCT_THEN = - : (thm -> thm_tactic -> tactic) - : (thm -> thm_tactic -> tactic) Section INDUCT_THEN ended INDUCT_THEN = - : (thm -> thm_tactic -> tactic) File /<>/ml/ind.ml loaded () : void #####INDUCT_TAC = - : tactic ########## Section prove_rec_fn_exists begun derive_existence_thm = - : (thm -> conv) mk_fn = - : ((term # term # term list # term # goal) -> (term # term list # thm)) instantiate_existence_thm = - : (thm -> conv) closeup = - : (term -> term) prove_rec_fn_exists = - : (thm -> conv) - : (thm -> conv) Section prove_rec_fn_exists ended prove_rec_fn_exists = - : (thm -> conv) new_recursive_definition = - : (bool -> thm -> string -> conv) File /<>/ml/prim_rec.ml loaded () : void ###### () : void Section prove_induction_thm begun UNIQUENESS = - : (thm -> thm) DEPTH_FORALL_CONV = - : (conv -> conv) CONJS_CONV = - : (conv -> conv) CONJS_SIMP = - : (conv -> conv) T_AND_CONV = - : conv GENL_T = - : (term list -> thm) SIMP_CONV = - : conv HYP_SIMP = - : conv ANTE_ALL_CONV = - : conv CONCL_SIMP = - : conv prove_induction_thm = - : (thm -> thm) - : (thm -> thm) Section prove_induction_thm ended prove_induction_thm = - : (thm -> thm) Section prove_cases_thm begun NOT_ALL_THENC = - : (conv -> conv) BASE_CONV = - : conv STEP_CONV = - : conv NOT_IN_CONV = - : conv STEP_SIMP = - : conv DISJS_CHAIN = - : (conv -> thm -> thm) prove_cases_thm = - : (thm -> thm) - : (thm -> thm) Section prove_cases_thm ended prove_cases_thm = - : (thm -> thm) Section prove_constructors_one_one begun PAIR_EQ_CONV = - : conv list_variant = - : (term list -> term list -> term list) prove_const_one_one = - : (thm -> conv) prove_constructors_one_one = - : (thm -> thm) - : (thm -> thm) Section prove_constructors_one_one ended prove_constructors_one_one = - : (thm -> thm) prove_constructors_distinct = - : (thm -> thm) File /<>/ml/tyfns.ml loaded () : void ####LIST_INDUCT_TAC = - : tactic ## num_CONV = - : conv File /<>/ml/numconv.ml loaded () : void ########NULL_DEF = |- (NULL[] = T) /\ (!h t. NULL(CONS h t) = F) ####HD = |- !h t. HD(CONS h t) = h ####TL = |- !h t. TL(CONS h t) = t ###new_list_rec_definition = - : ((string # term) -> thm) ########SNOC = |- (!x. SNOC x[] = [x]) /\ (!x x' l. SNOC x(CONS x' l) = CONS x'(SNOC x l)) ##########FOLDR = |- (!f e. FOLDR f e[] = e) /\ (!f e x l. FOLDR f e(CONS x l) = f x(FOLDR f e l)) ####FOLDL = |- (!f e. FOLDL f e[] = e) /\ (!f e x l. FOLDL f e(CONS x l) = FOLDL f(f e x)l) ###########FILTER = |- (!P. FILTER P[] = []) /\ (!P x l. FILTER P(CONS x l) = (P x => CONS x(FILTER P l) | FILTER P l)) ############SCANL = |- (!f e. SCANL f e[] = [e]) /\ (!f e x l. SCANL f e(CONS x l) = CONS e(SCANL f(f e x)l)) #####SCANR = |- (!f e. SCANR f e[] = [e]) /\ (!f e x l. SCANR f e(CONS x l) = CONS(f x(HD(SCANR f e l)))(SCANR f e l)) ############REVERSE = |- (REVERSE[] = []) /\ (!x l. REVERSE(CONS x l) = SNOC x(REVERSE l)) ###########APPEND = |- (!l. APPEND[]l = l) /\ (!l1 l2 h. APPEND(CONS h l1)l2 = CONS h(APPEND l1 l2)) ###########FLAT = |- (FLAT[] = []) /\ (!h t. FLAT(CONS h t) = APPEND h(FLAT t)) ##########LENGTH = |- (LENGTH[] = 0) /\ (!h t. LENGTH(CONS h t) = SUC(LENGTH t)) ##########MAP = |- (!f. MAP f[] = []) /\ (!f h t. MAP f(CONS h t) = CONS(f h)(MAP f t)) #############################MAP2 = |- (!f. MAP2 f[][] = []) /\ (!f h1 t1 h2 t2. MAP2 f(CONS h1 t1)(CONS h2 t2) = CONS(f h1 h2)(MAP2 f t1 t2)) #################ALL_EL = |- (!P. ALL_EL P[] = T) /\ (!P x l. ALL_EL P(CONS x l) = P x /\ ALL_EL P l) #########SOME_EL = |- (!P. SOME_EL P[] = F) /\ (!P x l. SOME_EL P(CONS x l) = P x \/ SOME_EL P l) ########IS_EL_DEF = |- !x l. IS_EL x l = SOME_EL($= x)l ###AND_EL_DEF = |- AND_EL = ALL_EL I ###OR_EL_DEF = |- OR_EL = SOME_EL I #####################FIRSTN = |- (!l. FIRSTN 0 l = []) /\ (!n x l. FIRSTN(SUC n)(CONS x l) = CONS x(FIRSTN n l)) ###########BUTFIRSTN = |- (!l. BUTFIRSTN 0 l = l) /\ (!n x l. BUTFIRSTN(SUC n)(CONS x l) = BUTFIRSTN n l) ###############SEG = |- (!k l. SEG 0 k l = []) /\ (!m x l. SEG(SUC m)0(CONS x l) = CONS x(SEG m 0 l)) /\ (!m k x l. SEG(SUC m)(SUC k)(CONS x l) = SEG(SUC m)k l) ######LAST_DEF = |- !l. LAST l = HD(SEG 1(PRE(LENGTH l))l) ###BUTLAST_DEF = |- !l. BUTLAST l = SEG(PRE(LENGTH l))0 l ####LENGTH_SNOC = |- !x l. LENGTH(SNOC x l) = SUC(LENGTH l) ###########LAST = |- !x l. LAST(SNOC x l) = x #########BUTLAST = |- !x l. BUTLAST(SNOC x l) = l ###########LASTN = |- (!l. LASTN 0 l = []) /\ (!n x l. LASTN(SUC n)(SNOC x l) = SNOC x(LASTN n l)) ###########BUTLASTN = |- (!l. BUTLASTN 0 l = l) /\ (!n x l. BUTLASTN(SUC n)(SNOC x l) = BUTLASTN n l) ###########EL = |- (!l. EL 0 l = HD l) /\ (!l n. EL(SUC n)l = EL n(TL l)) ####ELL = |- (!l. ELL 0 l = LAST l) /\ (!n l. ELL(SUC n)l = ELL n(BUTLAST l)) ################################IS_PREFIX = |- (!l. IS_PREFIX l[] = T) /\ (!x l. IS_PREFIX[](CONS x l) = F) /\ (!x1 l1 x2 l2. IS_PREFIX(CONS x1 l1)(CONS x2 l2) = (x1 = x2) /\ IS_PREFIX l1 l2) #####REVERSE_SNOC = |- !x l. REVERSE(SNOC x l) = CONS x(REVERSE l) ###REVERSE_REVERSE = |- !l. REVERSE(REVERSE l) = l ######forall_REVERSE = |- !P. (!l. P(REVERSE l)) = (!l. P l) ########f_REVERSE_lemma = |- !f1 f2. ((\x. f1(REVERSE x)) = (\x. f2(REVERSE x))) = (f1 = f2) #######################SNOC_Axiom = |- !e f. ?! fn. (fn[] = e) /\ (!x l. fn(SNOC x l) = f(fn l)x l) ####################################IS_SUFFIX = |- (!l. IS_SUFFIX l[] = T) /\ (!x l. IS_SUFFIX[](SNOC x l) = F) /\ (!x1 l1 x2 l2. IS_SUFFIX(SNOC x1 l1)(SNOC x2 l2) = (x1 = x2) /\ IS_SUFFIX l1 l2) ################IS_SUBLIST = |- (!l. IS_SUBLIST l[] = T) /\ (!x l. IS_SUBLIST[](CONS x l) = F) /\ (!x1 l1 x2 l2. IS_SUBLIST(CONS x1 l1)(CONS x2 l2) = (x1 = x2) /\ IS_PREFIX l1 l2 \/ IS_SUBLIST l1(CONS x2 l2)) ######SPLITP = |- (!P. SPLITP P[] = [],[]) /\ (!P x l. SPLITP P(CONS x l) = (P x => ([],CONS x l) | (CONS x(FST(SPLITP P l)),SND(SPLITP P l)))) ###PREFIX_DEF = |- !P l. PREFIX P l = FST(SPLITP($~ o P)l) ###SUFFIX_DEF = |- !P l. SUFFIX P l = FOLDL(\l' x. (P x => SNOC x l' | []))[]l ######################ZIP = |- (ZIP([],[]) = []) /\ (!x1 l1 x2 l2. ZIP(CONS x1 l1,CONS x2 l2) = CONS(x1,x2)(ZIP(l1,l2))) #####UNZIP = |- (UNZIP[] = [],[]) /\ (!x l. UNZIP(CONS x l) = CONS(FST x)(FST(UNZIP l)),CONS(SND x)(SND(UNZIP l))) ###UNZIP_FST_DEF = |- !l. UNZIP_FST l = FST(UNZIP l) ###UNZIP_SND_DEF = |- !l. UNZIP_SND l = SND(UNZIP l) #########SUM = |- (SUM[] = 0) /\ (!h t. SUM(CONS h t) = h + (SUM t)) ##########GENLIST = |- (!f. GENLIST f 0 = []) /\ (!f n. GENLIST f(SUC n) = SNOC(f n)(GENLIST f n)) ####REPLICATE = |- (!x. REPLICATE 0 x = []) /\ (!n x. REPLICATE(SUC n)x = CONS x(REPLICATE n x)) ##() : void ## BASIC-HOL version 2.02 (GCL) created 4/4/24 ###############################Theory list loaded () : void #####list_Axiom = |- !x f. ?! fn. (fn[] = x) /\ (!h t. fn(CONS h t) = f(fn t)h t) #NULL_DEF = |- (NULL[] = T) /\ (!h t. NULL(CONS h t) = F) #HD = |- !h t. HD(CONS h t) = h #TL = |- !h t. TL(CONS h t) = t #SNOC = |- (!x. SNOC x[] = [x]) /\ (!x x' l. SNOC x(CONS x' l) = CONS x'(SNOC x l)) #FOLDR = |- (!f e. FOLDR f e[] = e) /\ (!f e x l. FOLDR f e(CONS x l) = f x(FOLDR f e l)) #FOLDL = |- (!f e. FOLDL f e[] = e) /\ (!f e x l. FOLDL f e(CONS x l) = FOLDL f(f e x)l) #FILTER = |- (!P. FILTER P[] = []) /\ (!P x l. FILTER P(CONS x l) = (P x => CONS x(FILTER P l) | FILTER P l)) #MAP = |- (!f. MAP f[] = []) /\ (!f h t. MAP f(CONS h t) = CONS(f h)(MAP f t)) #MAP2 = |- (!f. MAP2 f[][] = []) /\ (!f h1 t1 h2 t2. MAP2 f(CONS h1 t1)(CONS h2 t2) = CONS(f h1 h2)(MAP2 f t1 t2)) #SCANR = |- (!f e. SCANR f e[] = [e]) /\ (!f e x l. SCANR f e(CONS x l) = CONS(f x(HD(SCANR f e l)))(SCANR f e l)) #SCANL = |- (!f e. SCANL f e[] = [e]) /\ (!f e x l. SCANL f e(CONS x l) = CONS e(SCANL f(f e x)l)) #SEG = |- (!k l. SEG 0 k l = []) /\ (!m x l. SEG(SUC m)0(CONS x l) = CONS x(SEG m 0 l)) /\ (!m k x l. SEG(SUC m)(SUC k)(CONS x l) = SEG(SUC m)k l) #REVERSE = |- (REVERSE[] = []) /\ (!x l. REVERSE(CONS x l) = SNOC x(REVERSE l)) #APPEND = |- (!l. APPEND[]l = l) /\ (!l1 l2 h. APPEND(CONS h l1)l2 = CONS h(APPEND l1 l2)) #FLAT = |- (FLAT[] = []) /\ (!h t. FLAT(CONS h t) = APPEND h(FLAT t)) #LENGTH = |- (LENGTH[] = 0) /\ (!h t. LENGTH(CONS h t) = SUC(LENGTH t)) #ALL_EL = |- (!P. ALL_EL P[] = T) /\ (!P x l. ALL_EL P(CONS x l) = P x /\ ALL_EL P l) #SOME_EL = |- (!P. SOME_EL P[] = F) /\ (!P x l. SOME_EL P(CONS x l) = P x \/ SOME_EL P l) #IS_EL_DEF = |- !x l. IS_EL x l = SOME_EL($= x)l #AND_EL_DEF = |- AND_EL = ALL_EL I #OR_EL_DEF = |- OR_EL = SOME_EL I #FIRSTN = |- (!l. FIRSTN 0 l = []) /\ (!n x l. FIRSTN(SUC n)(CONS x l) = CONS x(FIRSTN n l)) #BUTFIRSTN = |- (!l. BUTFIRSTN 0 l = l) /\ (!n x l. BUTFIRSTN(SUC n)(CONS x l) = BUTFIRSTN n l) #LASTN = |- (!l. LASTN 0 l = []) /\ (!n x l. LASTN(SUC n)(SNOC x l) = SNOC x(LASTN n l)) #BUTLASTN = |- (!l. BUTLASTN 0 l = l) /\ (!n x l. BUTLASTN(SUC n)(SNOC x l) = BUTLASTN n l) #LAST_DEF = |- !l. LAST l = HD(SEG 1(PRE(LENGTH l))l) #BUTLAST_DEF = |- !l. BUTLAST l = SEG(PRE(LENGTH l))0 l #EL = |- (!l. EL 0 l = HD l) /\ (!l n. EL(SUC n)l = EL n(TL l)) #ELL = |- (!l. ELL 0 l = LAST l) /\ (!n l. ELL(SUC n)l = ELL n(BUTLAST l)) #IS_PREFIX = |- (!l. IS_PREFIX l[] = T) /\ (!x l. IS_PREFIX[](CONS x l) = F) /\ (!x1 l1 x2 l2. IS_PREFIX(CONS x1 l1)(CONS x2 l2) = (x1 = x2) /\ IS_PREFIX l1 l2) #IS_SUFFIX = |- (!l. IS_SUFFIX l[] = T) /\ (!x l. IS_SUFFIX[](SNOC x l) = F) /\ (!x1 l1 x2 l2. IS_SUFFIX(SNOC x1 l1)(SNOC x2 l2) = (x1 = x2) /\ IS_SUFFIX l1 l2) #IS_SUBLIST = |- (!l. IS_SUBLIST l[] = T) /\ (!x l. IS_SUBLIST[](CONS x l) = F) /\ (!x1 l1 x2 l2. IS_SUBLIST(CONS x1 l1)(CONS x2 l2) = (x1 = x2) /\ IS_PREFIX l1 l2 \/ IS_SUBLIST l1(CONS x2 l2)) #SPLITP = |- (!P. SPLITP P[] = [],[]) /\ (!P x l. SPLITP P(CONS x l) = (P x => ([],CONS x l) | (CONS x(FST(SPLITP P l)),SND(SPLITP P l)))) #PREFIX_DEF = |- !P l. PREFIX P l = FST(SPLITP($~ o P)l) #SUFFIX_DEF = |- !P l. SUFFIX P l = FOLDL(\l' x. (P x => SNOC x l' | []))[]l #ZIP = |- (ZIP([],[]) = []) /\ (!x1 l1 x2 l2. ZIP(CONS x1 l1,CONS x2 l2) = CONS(x1,x2)(ZIP(l1,l2))) #UNZIP = |- (UNZIP[] = [],[]) /\ (!x l. UNZIP(CONS x l) = CONS(FST x)(FST(UNZIP l)),CONS(SND x)(SND(UNZIP l))) #UNZIP_FST_DEF = |- !l. UNZIP_FST l = FST(UNZIP l) #UNZIP_SND_DEF = |- !l. UNZIP_SND l = SND(UNZIP l) #SUM = |- (SUM[] = 0) /\ (!h t. SUM(CONS h t) = h + (SUM t)) #GENLIST = |- (!f. GENLIST f 0 = []) /\ (!f n. GENLIST f(SUC n) = SNOC(f n)(GENLIST f n)) #REPLICATE = |- (!x. REPLICATE 0 x = []) /\ (!n x. REPLICATE(SUC n)x = CONS x(REPLICATE n x)) #####NOT_SUC = |- !n. ~(SUC n = 0) #INV_SUC = |- !m n. (SUC m = SUC n) ==> (m = n) #INDUCTION = |- !P. P 0 /\ (!n. P n ==> P(SUC n)) ==> (!n. P n) ##############################[(); (); (); (); (); (); (); (); (); (); (); (); (); (); (); (); ()] : void list #####################################################################################################[(); (); (); (); (); (); (); (); (); (); (); (); (); (); (); (); (); (); (); (); (); (); (); (); (); (); (); (); (); (); (); (); (); (); (); (); (); (); (); (); (); (); (); (); (); (); (); (); (); (); (); (); (); (); (); (); (); (); (); (); (); (); (); (); (); (); (); (); (); (); (); (); (); (); (); ()] : void list #######ASSOC_DEF = |- !f. ASSOC f = (!x y z. f x(f y z) = f(f x y)z) #COMM_DEF = |- !f. COMM f = (!x y. f x y = f y x) #FCOMM_DEF = |- !f g. FCOMM f g = (!x y z. g x(f y z) = f(g x y)z) #RIGHT_ID_DEF = |- !f e. RIGHT_ID f e = (!x. f x e = x) #LEFT_ID_DEF = |- !f e. LEFT_ID f e = (!x. f e x = x) #MONOID_DEF = |- !f e. MONOID f e = ASSOC f /\ RIGHT_ID f e /\ LEFT_ID f e ##ASSOC_CONJ = |- ASSOC $/\ #ASSOC_DISJ = |- ASSOC $\/ #FCOMM_ASSOC = |- !f. FCOMM f f = ASSOC f #MONOID_CONJ_T = |- MONOID $/\ T #MONOID_DISJ_F = |- MONOID $/\ T ####o_DEF = |- !f g. f o g = (\x. f(g x)) #o_THM = |- !f g x. (f o g)x = f(g x) #I_THM = |- !x. I x = x ##UNCURRY_DEF = |- !f x y. UNCURRY f(x,y) = f x y ######### Section INDUCT_THEN begun BETAS = - : (term -> term -> conv) GTAC = - : (term -> tactic) TACF = - : (term -> term -> thm_tactic -> tactic) TACS = - : (term -> term -> thm_tactic -> tactic list) GOALS = - : (* -> ((* # term) -> (** # ***)) list -> term -> (** list # *** list)) GALPH = - : conv GALPHA = - : conv mapshape = - : (int list -> (* list -> **) list -> * list -> ** list) INDUCT_THEN = - : (thm -> thm_tactic -> tactic) - : (thm -> thm_tactic -> tactic) Section INDUCT_THEN ended INDUCT_THEN = - : (thm -> thm_tactic -> tactic) File /<>/ml/ind.ml loaded () : void #####INDUCT_TAC = - : tactic ########## Section prove_rec_fn_exists begun derive_existence_thm = - : (thm -> conv) mk_fn = - : ((term # term # term list # term # goal) -> (term # term list # thm)) instantiate_existence_thm = - : (thm -> conv) closeup = - : (term -> term) prove_rec_fn_exists = - : (thm -> conv) - : (thm -> conv) Section prove_rec_fn_exists ended prove_rec_fn_exists = - : (thm -> conv) new_recursive_definition = - : (bool -> thm -> string -> conv) File /<>/ml/prim_rec.ml loaded () : void ###### () : void Section prove_induction_thm begun UNIQUENESS = - : (thm -> thm) DEPTH_FORALL_CONV = - : (conv -> conv) CONJS_CONV = - : (conv -> conv) CONJS_SIMP = - : (conv -> conv) T_AND_CONV = - : conv GENL_T = - : (term list -> thm) SIMP_CONV = - : conv HYP_SIMP = - : conv ANTE_ALL_CONV = - : conv CONCL_SIMP = - : conv prove_induction_thm = - : (thm -> thm) - : (thm -> thm) Section prove_induction_thm ended prove_induction_thm = - : (thm -> thm) Section prove_cases_thm begun NOT_ALL_THENC = - : (conv -> conv) BASE_CONV = - : conv STEP_CONV = - : conv NOT_IN_CONV = - : conv STEP_SIMP = - : conv DISJS_CHAIN = - : (conv -> thm -> thm) prove_cases_thm = - : (thm -> thm) - : (thm -> thm) Section prove_cases_thm ended prove_cases_thm = - : (thm -> thm) Section prove_constructors_one_one begun PAIR_EQ_CONV = - : conv list_variant = - : (term list -> term list -> term list) prove_const_one_one = - : (thm -> conv) prove_constructors_one_one = - : (thm -> thm) - : (thm -> thm) Section prove_constructors_one_one ended prove_constructors_one_one = - : (thm -> thm) prove_constructors_distinct = - : (thm -> thm) File /<>/ml/tyfns.ml loaded () : void ## num_CONV = - : conv File /<>/ml/numconv.ml loaded () : void #########NULL = |- NULL[] /\ (!h t. ~NULL(CONS h t)) ######list_INDUCT = |- !P. P[] /\ (!t. P t ==> (!h. P(CONS h t))) ==> (!l. P l) ###LIST_INDUCT_TAC = - : tactic ####list_CASES = |- !l. (l = []) \/ (?t h. l = CONS h t) ####CONS_11 = |- !h t h' t'. (CONS h t = CONS h' t') = (h = h') /\ (t = t') ###NOT_NIL_CONS = |- !h t. ~([] = CONS h t) ####NOT_CONS_NIL = |- !h t. ~(CONS h t = []) ######LIST_NOT_EQ = |- !l1 l2. ~(l1 = l2) ==> (!h1 h2. ~(CONS h1 l1 = CONS h2 l2)) ######NOT_EQ_LIST = |- !h1 h2. ~(h1 = h2) ==> (!l1 l2. ~(CONS h1 l1 = CONS h2 l2)) ######EQ_LIST = |- !h1 h2. (h1 = h2) ==> (!l1 l2. (l1 = l2) ==> (CONS h1 l1 = CONS h2 l2)) #########CONS = |- !l. ~NULL l ==> (CONS(HD l)(TL l) = l) ########APPEND_ASSOC = |- !l1 l2 l3. APPEND l1(APPEND l2 l3) = APPEND(APPEND l1 l2)l3 #######Theorem ADD_CLAUSES autoloading from theory `arithmetic` ... ADD_CLAUSES = |- (0 + m = m) /\ (m + 0 = m) /\ ((SUC m) + n = SUC(m + n)) /\ (m + (SUC n) = SUC(m + n)) LENGTH_APPEND = |- !l1 l2. LENGTH(APPEND l1 l2) = (LENGTH l1) + (LENGTH l2) ########MAP_APPEND = |- !f l1 l2. MAP f(APPEND l1 l2) = APPEND(MAP f l1)(MAP f l2) ######LENGTH_MAP = |- !l f. LENGTH(MAP f l) = LENGTH l #########################################LENGTH_NIL = |- !l. (LENGTH l = 0) = (l = []) ##############Theorem INV_SUC_EQ autoloading from theory `prim_rec` ... INV_SUC_EQ = |- !m n. (SUC m = SUC n) = (m = n) LENGTH_CONS = |- !l n. (LENGTH l = SUC n) = (?h l'. (LENGTH l' = n) /\ (l = CONS h l')) #################LENGTH_EQ_SUC = |- !P n. (!l. (LENGTH l = SUC n) ==> P l) = (!l. (LENGTH l = n) ==> (\l. !x. P(CONS x l))l) ###########LENGTH_EQ_NIL = |- !P. (!l. (LENGTH l = 0) ==> P l) = P[] ####################Theorem SUC_NOT autoloading from theory `arithmetic` ... SUC_NOT = |- !n. ~(0 = SUC n) LENGTH_MAP2 = |- !l1 l2. (LENGTH l1 = LENGTH l2) ==> (!f. (LENGTH(MAP2 f l1 l2) = LENGTH l1) /\ (LENGTH(MAP2 f l1 l2) = LENGTH l2)) ## Section begun chk_var = - : (term list -> term -> bool) FORALL_PERM_RULE = - : (term list -> thm -> thm) FORALL_PERM_CONV = - : (term list -> conv) FORALL_PERM_TAC = - : (term list -> tactic) ((-), (-), -) : ((term list -> thm -> thm) # (term list -> conv) # (term list -> tactic)) Section ended FORALL_PERM_RULE = - : (term list -> thm -> thm) FORALL_PERM_CONV = - : (term list -> conv) FORALL_PERM_TAC = - : (term list -> tactic) NULL_EQ_NIL = |- !l. NULL l = (l = []) LENGTH_EQ = |- !x y. (x = y) ==> (LENGTH x = LENGTH y) Theorem LESS_0 autoloading from theory `prim_rec` ... LESS_0 = |- !n. 0 < (SUC n) Theorem NOT_LESS_0 autoloading from theory `prim_rec` ... NOT_LESS_0 = |- !n. ~n < 0 LENGTH_NOT_NULL = |- !l. 0 < (LENGTH l) = ~NULL l REVERSE_SNOC = |- !x l. REVERSE(SNOC x l) = CONS x(REVERSE l) REVERSE_REVERSE = |- !l. REVERSE(REVERSE l) = l forall_REVERSE = |- !P. (!l. P(REVERSE l)) = (!l. P l) f_REVERSE_lemma = |- !f1 f2. ((\x. f1(REVERSE x)) = (\x. f2(REVERSE x))) = (f1 = f2) SNOC_Axiom = |- !e f. ?! fn. (fn[] = e) /\ (!x l. fn(SNOC x l) = f(fn l)x l) SNOC_INDUCT = |- !P. P[] /\ (!l. P l ==> (!x. P(SNOC x l))) ==> (!l. P l) SNOC_CASES = |- !l. (l = []) \/ (?l' x. l = SNOC x l') LENGTH_SNOC = |- !x l. LENGTH(SNOC x l) = SUC(LENGTH l) NOT_NULL_SNOC = |- !x l. ~NULL(SNOC x l) NOT_NIL_SNOC = |- !x l. ~([] = SNOC x l) NOT_SNOC_NIL = |- !x l. ~(SNOC x l = []) SNOC_11 = |- !x l x' l'. (SNOC x l = SNOC x' l') = (x = x') /\ (l = l') Theorem ADD1 autoloading from theory `arithmetic` ... ADD1 = |- !m. SUC m = m + 1 Theorem EQ_MONO_ADD_EQ autoloading from theory `arithmetic` ... EQ_MONO_ADD_EQ = |- !m n p. (m + p = n + p) = (m = n) SNOC_EQ_LENGTH_EQ = |- !x1 l1 x2 l2. (SNOC x1 l1 = SNOC x2 l2) ==> (LENGTH l1 = LENGTH l2) SNOC_REVERSE_CONS = |- !x l. SNOC x l = REVERSE(CONS x(REVERSE l)) SNOC_APPEND = |- !x l. SNOC x l = APPEND l[x] MAP_SNOC = |- !f x l. MAP f(SNOC x l) = SNOC(f x)(MAP f l) FOLDR_SNOC = |- !f e x l. FOLDR f e(SNOC x l) = FOLDR f(f x e)l FOLDL_SNOC = |- !f e x l. FOLDL f e(SNOC x l) = f(FOLDL f e l)x SNOC_INDUCT_TAC = - : tactic FOLDR_FOLDL = |- !f e. MONOID f e ==> (!l. FOLDR f e l = FOLDL f e l) LENGTH_FOLDR = |- !l. LENGTH l = FOLDR(\x l'. SUC l')0 l LENGTH_FOLDL = |- !l. LENGTH l = FOLDL(\l' x. SUC l')0 l MAP_FOLDR = |- !f l. MAP f l = FOLDR(\x l'. CONS(f x)l')[]l MAP_FOLDL = |- !f l. MAP f l = FOLDL(\l' x. SNOC(f x)l')[]l MAP_o = |- !f g. MAP(f o g) = (MAP f) o (MAP g) MAP_MAP_o = |- !f g l. MAP f(MAP g l) = MAP(f o g)l FILTER_FOLDR = |- !P l. FILTER P l = FOLDR(\x l'. (P x => CONS x l' | l'))[]l FILTER_SNOC = |- !P x l. FILTER P(SNOC x l) = (P x => SNOC x(FILTER P l) | FILTER P l) FILTER_FOLDL = |- !P l. FILTER P l = FOLDL(\l' x. (P x => SNOC x l' | l'))[]l FILTER_COMM = |- !f1 f2 l. FILTER f1(FILTER f2 l) = FILTER f2(FILTER f1 l) FILTER_IDEM = |- !f l. FILTER f(FILTER f l) = FILTER f l FILTER_MAP = |- !f1 f2 l. FILTER f1(MAP f2 l) = MAP f2(FILTER(f1 o f2)l) Theorem ADD_SUC autoloading from theory `arithmetic` ... ADD_SUC = |- !m n. SUC(m + n) = m + (SUC n) Theorem LESS_EQ_MONO autoloading from theory `arithmetic` ... LESS_EQ_MONO = |- !n m. (SUC n) <= (SUC m) = n <= m Definition ADD autoloading from theory `arithmetic` ... ADD = |- (!n. 0 + n = n) /\ (!m n. (SUC m) + n = SUC(m + n)) Definition LESS_OR_EQ autoloading from theory `arithmetic` ... LESS_OR_EQ = |- !m n. m <= n = m < n \/ (m = n) Theorem ADD_0 autoloading from theory `arithmetic` ... ADD_0 = |- !m. m + 0 = m LENGTH_SEG = |- !n k l. (n + k) <= (LENGTH l) ==> (LENGTH(SEG n k l) = n) APPEND_NIL = |- (!l. APPEND l[] = l) /\ (!l. APPEND[]l = l) APPEND_SNOC = |- !l1 x l2. APPEND l1(SNOC x l2) = SNOC x(APPEND l1 l2) REVERSE_APPEND = |- !l1 l2. REVERSE(APPEND l1 l2) = APPEND(REVERSE l2)(REVERSE l1) APPEND_FOLDR = |- !l1 l2. APPEND l1 l2 = FOLDR CONS l2 l1 APPEND_FOLDL = |- !l1 l2. APPEND l1 l2 = FOLDL(\l' x. SNOC x l')l1 l2 FOLDR_APPEND = |- !f e l1 l2. FOLDR f e(APPEND l1 l2) = FOLDR f(FOLDR f e l2)l1 FOLDL_APPEND = |- !f e l1 l2. FOLDL f e(APPEND l1 l2) = FOLDL f(FOLDL f e l1)l2 CONS_APPEND = |- !x l. CONS x l = APPEND[x]l ASSOC_APPEND = |- ASSOC APPEND RIGHT_ID_APPEND_NIL = |- RIGHT_ID APPEND[] LEFT_ID_APPEND_NIL = |- LEFT_ID APPEND[] MONOID_APPEND_NIL = |- MONOID APPEND[] APPEND_LENGTH_EQ = |- !l1 l1'. (LENGTH l1 = LENGTH l1') ==> (!l2 l2'. (LENGTH l2 = LENGTH l2') ==> ((APPEND l1 l2 = APPEND l1' l2') = (l1 = l1') /\ (l2 = l2'))) FILTER_APPEND = |- !f l1 l2. FILTER f(APPEND l1 l2) = APPEND(FILTER f l1)(FILTER f l2) FLAT_SNOC = |- !x l. FLAT(SNOC x l) = APPEND(FLAT l)x FLAT_FOLDR = |- !l. FLAT l = FOLDR APPEND[]l FLAT_FOLDL = |- !l. FLAT l = FOLDL APPEND[]l LENGTH_FLAT = |- !l. LENGTH(FLAT l) = SUM(MAP LENGTH l) REVERSE_FOLDR = |- !l. REVERSE l = FOLDR SNOC[]l REVERSE_FOLDL = |- !l. REVERSE l = FOLDL(\l' x. CONS x l')[]l LENGTH_REVERSE = |- !l. LENGTH(REVERSE l) = LENGTH l REVERSE_EQ_NIL = |- !l. (REVERSE l = []) = (l = []) ALL_EL_SNOC = |- !P x l. ALL_EL P(SNOC x l) = ALL_EL P l /\ P x ALL_EL_CONJ = |- !P Q l. ALL_EL(\x. P x /\ Q x)l = ALL_EL P l /\ ALL_EL Q l ALL_EL_MAP = |- !P f l. ALL_EL P(MAP f l) = ALL_EL(P o f)l ALL_EL_APPEND = |- !P l1 l2. ALL_EL P(APPEND l1 l2) = ALL_EL P l1 /\ ALL_EL P l2 SOME_EL_SNOC = |- !P x l. SOME_EL P(SNOC x l) = P x \/ SOME_EL P l NOT_ALL_EL_SOME_EL = |- !P l. ~ALL_EL P l = SOME_EL($~ o P)l NOT_SOME_EL_ALL_EL = |- !P l. ~SOME_EL P l = ALL_EL($~ o P)l IS_EL = |- (!x. IS_EL x[] = F) /\ (!y x l. IS_EL y(CONS x l) = (y = x) \/ IS_EL y l) IS_EL_SNOC = |- !y x l. IS_EL y(SNOC x l) = (y = x) \/ IS_EL y l Theorem ADD_ASSOC autoloading from theory `arithmetic` ... ADD_ASSOC = |- !m n p. m + (n + p) = (m + n) + p SUM_SNOC = |- !x l. SUM(SNOC x l) = (SUM l) + x SUM_FOLDR = |- !l. SUM l = FOLDR $+ 0 l SUM_FOLDL = |- !l. SUM l = FOLDL $+ 0 l IS_PREFIX_APPEND = |- !l1 l2. IS_PREFIX l1 l2 = (?l. l1 = APPEND l2 l) IS_SUFFIX_APPEND = |- !l1 l2. IS_SUFFIX l1 l2 = (?l. l1 = APPEND l l2) IS_SUBLIST_APPEND = |- !l1 l2. IS_SUBLIST l1 l2 = (?l l'. l1 = APPEND l(APPEND l2 l')) IS_PREFIX_IS_SUBLIST = |- !l1 l2. IS_PREFIX l1 l2 ==> IS_SUBLIST l1 l2 IS_SUFFIX_IS_SUBLIST = |- !l1 l2. IS_SUFFIX l1 l2 ==> IS_SUBLIST l1 l2 IS_PREFIX_REVERSE = |- !l1 l2. IS_PREFIX(REVERSE l1)(REVERSE l2) = IS_SUFFIX l1 l2 IS_SUFFIX_REVERSE = |- !l1 l2. IS_SUFFIX(REVERSE l1)(REVERSE l2) = IS_PREFIX l1 l2 IS_SUBLIST_REVERSE = |- !l1 l2. IS_SUBLIST(REVERSE l1)(REVERSE l2) = IS_SUBLIST l1 l2 PREFIX_FOLDR = |- !P l. PREFIX P l = FOLDR(\x l'. (P x => CONS x l' | []))[]l PREFIX = |- (!P. PREFIX P[] = []) /\ (!P x l. PREFIX P(CONS x l) = (P x => CONS x(PREFIX P l) | [])) IS_PREFIX_PREFIX = |- !P l. IS_PREFIX l(PREFIX P l) LENGTH_SCANL = |- !f e l. LENGTH(SCANL f e l) = SUC(LENGTH l) LENGTH_SCANR = |- !f e l. LENGTH(SCANR f e l) = SUC(LENGTH l) COMM_MONOID_FOLDL = |- !f. COMM f ==> (!e'. MONOID f e' ==> (!e l. FOLDL f e l = f e(FOLDL f e' l))) COMM_MONOID_FOLDR = |- !f. COMM f ==> (!e'. MONOID f e' ==> (!e l. FOLDR f e l = f e(FOLDR f e' l))) FCOMM_FOLDR_APPEND = |- !g f. FCOMM g f ==> (!e. LEFT_ID g e ==> (!l1 l2. FOLDR f e(APPEND l1 l2) = g(FOLDR f e l1)(FOLDR f e l2))) FCOMM_FOLDL_APPEND = |- !f g. FCOMM f g ==> (!e. RIGHT_ID g e ==> (!l1 l2. FOLDL f e(APPEND l1 l2) = g(FOLDL f e l1)(FOLDL f e l2))) MONOID_FOLDR_APPEND_FOLDR = |- !f e. MONOID f e ==> (!l1 l2. FOLDR f e(APPEND l1 l2) = f(FOLDR f e l1)(FOLDR f e l2)) MONOID_FOLDL_APPEND_FOLDL = |- !f e. MONOID f e ==> (!l1 l2. FOLDL f e(APPEND l1 l2) = f(FOLDL f e l1)(FOLDL f e l2)) FOLDL_SINGLE = |- !f e x. FOLDL f e[x] = f e x FOLDR_SINGLE = |- !f e x. FOLDR f e[x] = f x e FOLDR_CONS_NIL = |- !l. FOLDR CONS[]l = l FOLDL_SNOC_NIL = |- !l. FOLDL(\xs x. SNOC x xs)[]l = l FOLDR_FOLDL_REVERSE = |- !f e l. FOLDR f e l = FOLDL(\x y. f y x)e(REVERSE l) FOLDL_FOLDR_REVERSE = |- !f e l. FOLDL f e l = FOLDR(\x y. f y x)e(REVERSE l) FOLDR_REVERSE = |- !f e l. FOLDR f e(REVERSE l) = FOLDL(\x y. f y x)e l FOLDL_REVERSE = |- !f e l. FOLDL f e(REVERSE l) = FOLDR(\x y. f y x)e l FOLDR_MAP = |- !f e g l. FOLDR f e(MAP g l) = FOLDR(\x y. f(g x)y)e l FOLDL_MAP = |- !f e g l. FOLDL f e(MAP g l) = FOLDL(\x y. f x(g y))e l ALL_EL_FOLDR = |- !P l. ALL_EL P l = FOLDR(\x l'. P x /\ l')T l ALL_EL_FOLDL = |- !P l. ALL_EL P l = FOLDL(\l' x. l' /\ P x)T l SOME_EL_FOLDR = |- !P l. SOME_EL P l = FOLDR(\x l'. P x \/ l')F l SOME_EL_FOLDL = |- !P l. SOME_EL P l = FOLDL(\l' x. l' \/ P x)F l ALL_EL_FOLDR_MAP = |- !P l. ALL_EL P l = FOLDR $/\ T(MAP P l) ALL_EL_FOLDL_MAP = |- !P l. ALL_EL P l = FOLDL $/\ T(MAP P l) SOME_EL_FOLDR_MAP = |- !P l. SOME_EL P l = FOLDR $\/ F(MAP P l) SOME_EL_FOLDL_MAP = |- !P l. SOME_EL P l = FOLDL $\/ F(MAP P l) FOLDR_FILTER = |- !f e P l. FOLDR f e(FILTER P l) = FOLDR(\x y. (P x => f x y | y))e l FOLDL_FILTER = |- !f e P l. FOLDL f e(FILTER P l) = FOLDL(\x y. (P y => f x y | x))e l ASSOC_FOLDR_FLAT = |- !f. ASSOC f ==> (!e. LEFT_ID f e ==> (!l. FOLDR f e(FLAT l) = FOLDR f e(MAP(FOLDR f e)l))) ASSOC_FOLDL_FLAT = |- !f. ASSOC f ==> (!e. RIGHT_ID f e ==> (!l. FOLDL f e(FLAT l) = FOLDL f e(MAP(FOLDL f e)l))) MAP_FLAT = |- !f l. MAP f(FLAT l) = FLAT(MAP(MAP f)l) FILTER_FLAT = |- !P l. FILTER P(FLAT l) = FLAT(MAP(FILTER P)l) SOME_EL_MAP = |- !P f l. SOME_EL P(MAP f l) = SOME_EL(P o f)l SOME_EL_APPEND = |- !P l1 l2. SOME_EL P(APPEND l1 l2) = SOME_EL P l1 \/ SOME_EL P l2 SOME_EL_DISJ = |- !P Q l. SOME_EL(\x. P x \/ Q x)l = SOME_EL P l \/ SOME_EL Q l IS_EL_APPEND = |- !l1 l2 x. IS_EL x(APPEND l1 l2) = IS_EL x l1 \/ IS_EL x l2 IS_EL_FOLDR = |- !y l. IS_EL y l = FOLDR(\x l'. (y = x) \/ l')F l IS_EL_FOLDL = |- !y l. IS_EL y l = FOLDL(\l' x. l' \/ (y = x))F l NULL_FOLDR = |- !l. NULL l = FOLDR(\x l'. F)T l NULL_FOLDL = |- !l. NULL l = FOLDL(\x l'. F)T l MAP_REVERSE = |- !f l. MAP f(REVERSE l) = REVERSE(MAP f l) FILTER_REVERSE = |- !P l. FILTER P(REVERSE l) = REVERSE(FILTER P l) Theorem PRE autoloading from theory `prim_rec` ... PRE = |- (PRE 0 = 0) /\ (!m. PRE(SUC m) = m) LAST = |- !x l. LAST(SNOC x l) = x BUTLAST = |- !x l. BUTLAST(SNOC x l) = l SEG_LENGTH_ID = |- !l. SEG(LENGTH l)0 l = l SEG_SUC_CONS = |- !m n l x. SEG m(SUC n)(CONS x l) = SEG m n l SEG_0_SNOC = |- !m l x. m <= (LENGTH l) ==> (SEG m 0(SNOC x l) = SEG m 0 l) Theorem SUB_LESS_EQ autoloading from theory `arithmetic` ... SUB_LESS_EQ = |- !n m. (n - m) <= n Theorem SUB_MONO_EQ autoloading from theory `arithmetic` ... SUB_MONO_EQ = |- !n m. (SUC n) - (SUC m) = n - m Theorem SUB_0 autoloading from theory `arithmetic` ... SUB_0 = |- !m. (0 - m = 0) /\ (m - 0 = m) BUTLASTN_SEG = |- !n l. n <= (LENGTH l) ==> (BUTLASTN n l = SEG((LENGTH l) - n)0 l) LASTN_CONS = |- !n l. n <= (LENGTH l) ==> (!x. LASTN n(CONS x l) = LASTN n l) LENGTH_LASTN = |- !n l. n <= (LENGTH l) ==> (LENGTH(LASTN n l) = n) LASTN_LENGTH_ID = |- !l. LASTN(LENGTH l)l = l Theorem ZERO_LESS_EQ autoloading from theory `arithmetic` ... ZERO_LESS_EQ = |- !n. 0 <= n LASTN_LASTN = |- !l n m. m <= (LENGTH l) ==> n <= m ==> (LASTN n(LASTN m l) = LASTN n l) Theorem NOT_SUC_LESS_EQ_0 autoloading from theory `arithmetic` ... NOT_SUC_LESS_EQ_0 = |- !n. ~(SUC n) <= 0 NOT_SUC_LESS_EQ_0 = |- !n. ~(SUC n) <= 0 FIRSTN_LENGTH_ID = |- !l. FIRSTN(LENGTH l)l = l FIRSTN_SNOC = |- !n l. n <= (LENGTH l) ==> (!x. FIRSTN n(SNOC x l) = FIRSTN n l) BUTLASTN_LENGTH_NIL = |- !l. BUTLASTN(LENGTH l)l = [] BUTLASTN_SUC_BUTLAST = |- !n l. n < (LENGTH l) ==> (BUTLASTN(SUC n)l = BUTLASTN n(BUTLAST l)) Theorem LESS_MONO_EQ autoloading from theory `arithmetic` ... LESS_MONO_EQ = |- !m n. (SUC m) < (SUC n) = m < n BUTLASTN_BUTLAST = |- !n l. n < (LENGTH l) ==> (BUTLASTN n(BUTLAST l) = BUTLAST(BUTLASTN n l)) LENGTH_BUTLASTN = |- !n l. n <= (LENGTH l) ==> (LENGTH(BUTLASTN n l) = (LENGTH l) - n) ADD_SUC_lem = |- !m n. m + (SUC n) = (SUC m) + n BUTLASTN_BUTLASTN = |- !m n l. (n + m) <= (LENGTH l) ==> (BUTLASTN n(BUTLASTN m l) = BUTLASTN(n + m)l) APPEND_BUTLASTN_LASTN = |- !n l. n <= (LENGTH l) ==> (APPEND(BUTLASTN n l)(LASTN n l) = l) Theorem LESS_EQ_ADD autoloading from theory `arithmetic` ... LESS_EQ_ADD = |- !m n. m <= (m + n) Theorem ADD_SYM autoloading from theory `arithmetic` ... ADD_SYM = |- !m n. m + n = n + m APPEND_FIRSTN_LASTN = |- !m n l. (m + n = LENGTH l) ==> (APPEND(FIRSTN n l)(LASTN m l) = l) BUTLASTN_APPEND2 = |- !n l1 l2. n <= (LENGTH l2) ==> (BUTLASTN n(APPEND l1 l2) = APPEND l1(BUTLASTN n l2)) Theorem LESS_EQ_REFL autoloading from theory `arithmetic` ... LESS_EQ_REFL = |- !m. m <= m BUTLASTN_LENGTH_APPEND = |- !l2 l1. BUTLASTN(LENGTH l2)(APPEND l1 l2) = l1 LASTN_LENGTH_APPEND = |- !l1 l2. LASTN(LENGTH l2)(APPEND l1 l2) = l2 BUTLASTN_CONS = |- !n l. n <= (LENGTH l) ==> (!x. BUTLASTN n(CONS x l) = CONS x(BUTLASTN n l)) BUTLASTN_LENGTH_CONS = |- !l x. BUTLASTN(LENGTH l)(CONS x l) = [x] LAST_LASTN_LAST = |- !n l. n <= (LENGTH l) ==> 0 < n ==> (LAST(LASTN n l) = LAST l) BUTLASTN_LASTN_NIL = |- !n l. n <= (LENGTH l) ==> (BUTLASTN n(LASTN n l) = []) LASTN_BUTLASTN = |- !n m l. (n + m) <= (LENGTH l) ==> (LASTN n(BUTLASTN m l) = BUTLASTN m(LASTN(n + m)l)) BUTLASTN_LASTN = |- !m n l. m <= n /\ n <= (LENGTH l) ==> (BUTLASTN m(LASTN n l) = LASTN(n - m)(BUTLASTN m l)) LASTN_1 = |- !l. ~(l = []) ==> (LASTN 1 l = [LAST l]) BUTLASTN_1 = |- !l. ~(l = []) ==> (BUTLASTN 1 l = BUTLAST l) BUTLASTN_APPEND1 = |- !l2 n. (LENGTH l2) <= n ==> (!l1. BUTLASTN n(APPEND l1 l2) = BUTLASTN(n - (LENGTH l2))l1) LASTN_APPEND2 = |- !n l2. n <= (LENGTH l2) ==> (!l1. LASTN n(APPEND l1 l2) = LASTN n l2) LASTN_APPEND1 = |- !l2 n. (LENGTH l2) <= n ==> (!l1. LASTN n(APPEND l1 l2) = APPEND(LASTN(n - (LENGTH l2))l1)l2) LASTN_MAP = |- !n l. n <= (LENGTH l) ==> (!f. LASTN n(MAP f l) = MAP f(LASTN n l)) BUTLASTN_MAP = |- !n l. n <= (LENGTH l) ==> (!f. BUTLASTN n(MAP f l) = MAP f(BUTLASTN n l)) ALL_EL_LASTN = |- !P l. ALL_EL P l ==> (!m. m <= (LENGTH l) ==> ALL_EL P(LASTN m l)) ALL_EL_BUTLASTN = |- !P l. ALL_EL P l ==> (!m. m <= (LENGTH l) ==> ALL_EL P(BUTLASTN m l)) LENGTH_FIRSTN = |- !n l. n <= (LENGTH l) ==> (LENGTH(FIRSTN n l) = n) FIRSTN_FIRSTN = |- !m l. m <= (LENGTH l) ==> (!n. n <= m ==> (FIRSTN n(FIRSTN m l) = FIRSTN n l)) LENGTH_BUTFIRSTN = |- !n l. n <= (LENGTH l) ==> (LENGTH(BUTFIRSTN n l) = (LENGTH l) - n) BUTFIRSTN_LENGTH_NIL = |- !l. BUTFIRSTN(LENGTH l)l = [] BUTFIRSTN_APPEND1 = |- !n l1. n <= (LENGTH l1) ==> (!l2. BUTFIRSTN n(APPEND l1 l2) = APPEND(BUTFIRSTN n l1)l2) BUTFIRSTN_APPEND2 = |- !l1 n. (LENGTH l1) <= n ==> (!l2. BUTFIRSTN n(APPEND l1 l2) = BUTFIRSTN(n - (LENGTH l1))l2) BUTFIRSTN_BUTFIRSTN = |- !n m l. (n + m) <= (LENGTH l) ==> (BUTFIRSTN n(BUTFIRSTN m l) = BUTFIRSTN(n + m)l) APPEND_FIRSTN_BUTFIRSTN = |- !n l. n <= (LENGTH l) ==> (APPEND(FIRSTN n l)(BUTFIRSTN n l) = l) Theorem SUB_EQUAL_0 autoloading from theory `arithmetic` ... SUB_EQUAL_0 = |- !c. c - c = 0 Theorem LESS_EQ autoloading from theory `arithmetic` ... LESS_EQ = |- !m n. m < n = (SUC m) <= n Definition SUB autoloading from theory `arithmetic` ... SUB = |- (!m. 0 - m = 0) /\ (!m n. (SUC m) - n = (m < n => 0 | SUC(m - n))) Theorem LESS_SUC_NOT autoloading from theory `arithmetic` ... LESS_SUC_NOT = |- !m n. m < n ==> ~n < (SUC m) LASTN_SEG = |- !n l. n <= (LENGTH l) ==> (LASTN n l = SEG n((LENGTH l) - n)l) FIRSTN_SEG = |- !n l. n <= (LENGTH l) ==> (FIRSTN n l = SEG n 0 l) BUTFIRSTN_SEG = |- !n l. n <= (LENGTH l) ==> (BUTFIRSTN n l = SEG((LENGTH l) - n)n l) APPEND_BUTLAST_LAST = |- !l. ~(l = []) ==> (APPEND(BUTLAST l)[LAST l] = l) BUTFIRSTN_SNOC = |- !n l. n <= (LENGTH l) ==> (!x. BUTFIRSTN n(SNOC x l) = SNOC x(BUTFIRSTN n l)) APPEND_BUTLASTN_BUTFIRSTN = |- !m n l. (m + n = LENGTH l) ==> (APPEND(BUTLASTN m l)(BUTFIRSTN n l) = l) SEG_SEG = |- !n1 m1 n2 m2 l. (n1 + m1) <= (LENGTH l) /\ (n2 + m2) <= n1 ==> (SEG n2 m2(SEG n1 m1 l) = SEG n2(m1 + m2)l) SEG_APPEND1 = |- !n m l1. (n + m) <= (LENGTH l1) ==> (!l2. SEG n m(APPEND l1 l2) = SEG n m l1) SEG_APPEND2 = |- !l1 m n l2. (LENGTH l1) <= m /\ n <= (LENGTH l2) ==> (SEG n m(APPEND l1 l2) = SEG n(m - (LENGTH l1))l2) SEG_FIRSTN_BUTFIRSTN = |- !n m l. (n + m) <= (LENGTH l) ==> (SEG n m l = FIRSTN n(BUTFIRSTN m l)) Theorem ADD_SUB autoloading from theory `arithmetic` ... ADD_SUB = |- !a c. (a + c) - c = a Theorem NOT_LESS autoloading from theory `arithmetic` ... NOT_LESS = |- !m n. ~m < n = n <= m Theorem LESS_0_CASES autoloading from theory `arithmetic` ... LESS_0_CASES = |- !m. (0 = m) \/ 0 < m Theorem LESS_EQUAL_ANTISYM autoloading from theory `arithmetic` ... LESS_EQUAL_ANTISYM = |- !n m. n <= m /\ m <= n ==> (n = m) SEG_APPEND = |- !m l1 n l2. m < (LENGTH l1) /\ (LENGTH l1) <= (n + m) /\ (n + m) <= ((LENGTH l1) + (LENGTH l2)) ==> (SEG n m(APPEND l1 l2) = APPEND(SEG((LENGTH l1) - m)m l1)(SEG((n + m) - (LENGTH l1))0 l2)) SEG_LENGTH_SNOC = |- !l x. SEG 1(LENGTH l)(SNOC x l) = [x] SEG_SNOC = |- !n m l. (n + m) <= (LENGTH l) ==> (!x. SEG n m(SNOC x l) = SEG n m l) Theorem SUB_LESS_0 autoloading from theory `arithmetic` ... SUB_LESS_0 = |- !n m. m < n = 0 < (n - m) Theorem PRE_SUC_EQ autoloading from theory `arithmetic` ... PRE_SUC_EQ = |- !m n. 0 < n ==> ((m = PRE n) = (SUC m = n)) ELL_SEG = |- !n l. n < (LENGTH l) ==> (ELL n l = HD(SEG 1(PRE((LENGTH l) - n))l)) REWRITE1_TAC = - : thm_tactic SNOC_FOLDR = |- !x l. SNOC x l = FOLDR CONS[x]l IS_EL_FOLDR_MAP = |- !x l. IS_EL x l = FOLDR $\/ F(MAP($= x)l) IS_EL_FOLDL_MAP = |- !x l. IS_EL x l = FOLDL $\/ F(MAP($= x)l) FILTER_FILTER = |- !P Q l. FILTER P(FILTER Q l) = FILTER(\x. P x /\ Q x)l FCOMM_FOLDR_FLAT = |- !g f. FCOMM g f ==> (!e. LEFT_ID g e ==> (!l. FOLDR f e(FLAT l) = FOLDR g e(MAP(FOLDR f e)l))) FCOMM_FOLDL_FLAT = |- !f g. FCOMM f g ==> (!e. RIGHT_ID g e ==> (!l. FOLDL f e(FLAT l) = FOLDL g e(MAP(FOLDL f e)l))) FOLDR1 = |- !f. (!a b c. f a(f b c) = f b(f a c)) ==> (!e l. FOLDR f(f h e)l = f h(FOLDR f e l)) FOLDL1 = |- !f. (!a b c. f(f a b)c = f(f a c)b) ==> (!e l. FOLDL f(f e h)l = f(FOLDL f e l)h) FOLDR_REVERSE2 = |- !f. (!a b c. f a(f b c) = f b(f a c)) ==> (!e l. FOLDR f e(REVERSE l) = FOLDR f e l) FOLDR_MAP_REVERSE = |- !f. (!a b c. f a(f b c) = f b(f a c)) ==> (!e g l. FOLDR f e(MAP g(REVERSE l)) = FOLDR f e(MAP g l)) FOLDR_FILTER_REVERSE = |- !f. (!a b c. f a(f b c) = f b(f a c)) ==> (!e P l. FOLDR f e(FILTER P(REVERSE l)) = FOLDR f e(FILTER P l)) FOLDL_REVERSE2 = |- !f. (!a b c. f(f a b)c = f(f a c)b) ==> (!e l. FOLDL f e(REVERSE l) = FOLDL f e l) COMM_ASSOC_LEM1 = |- !f. COMM f ==> ASSOC f ==> (!a b c. f a(f b c) = f b(f a c)) COMM_ASSOC_LEM2 = |- !f. COMM f ==> ASSOC f ==> (!a b c. f(f a b)c = f(f a c)b) COMM_ASSOC_FOLDR_REVERSE = |- !f. COMM f ==> ASSOC f ==> (!e l. FOLDR f e(REVERSE l) = FOLDR f e l) COMM_ASSOC_FOLDL_REVERSE = |- !f. COMM f ==> ASSOC f ==> (!e l. FOLDL f e(REVERSE l) = FOLDL f e l) ELL_LAST = |- !l. ~NULL l ==> (ELL 0 l = LAST l) ELL_0_SNOC = |- !l x. ELL 0(SNOC x l) = x ELL_SNOC = |- !n. 0 < n ==> (!x l. ELL n(SNOC x l) = ELL(PRE n)l) ELL_SUC_SNOC = |- !n x l. ELL(SUC n)(SNOC x l) = ELL n l ELL_CONS = |- !n l. n < (LENGTH l) ==> (!x. ELL n(CONS x l) = ELL n l) ELL_LENGTH_CONS = |- !l x. ELL(LENGTH l)(CONS x l) = x ELL_LENGTH_SNOC = |- !l x. ELL(LENGTH l)(SNOC x l) = (NULL l => x | HD l) ELL_APPEND2 = |- !n l2. n < (LENGTH l2) ==> (!l1. ELL n(APPEND l1 l2) = ELL n l2) ELL_APPEND1 = |- !l2 n. (LENGTH l2) <= n ==> (!l1. ELL n(APPEND l1 l2) = ELL(n - (LENGTH l2))l1) ELL_PRE_LENGTH = |- !l. ~(l = []) ==> (ELL(PRE(LENGTH l))l = HD l) EL_LENGTH_SNOC = |- !l x. EL(LENGTH l)(SNOC x l) = x EL_PRE_LENGTH = |- !l. ~(l = []) ==> (EL(PRE(LENGTH l))l = LAST l) EL_SNOC = |- !n l. n < (LENGTH l) ==> (!x. EL n(SNOC x l) = EL n l) Theorem LESS_THM autoloading from theory `prim_rec` ... LESS_THM = |- !m n. m < (SUC n) = (m = n) \/ m < n Theorem LESS_SUC_REFL autoloading from theory `prim_rec` ... LESS_SUC_REFL = |- !n. n < (SUC n) Theorem LESS_REFL autoloading from theory `prim_rec` ... LESS_REFL = |- !n. ~n < n LESS_PRE_SUB_LESS = |- !n m. m < n ==> (PRE(n - m)) < n EL_ELL = |- !n l. n < (LENGTH l) ==> (EL n l = ELL(PRE((LENGTH l) - n))l) EL_LENGTH_APPEND = |- !l2 l1. ~NULL l2 ==> (EL(LENGTH l1)(APPEND l1 l2) = HD l2) Theorem LESS_SUC autoloading from theory `prim_rec` ... LESS_SUC = |- !m n. m < n ==> m < (SUC n) ELL_EL = |- !n l. n < (LENGTH l) ==> (ELL n l = EL(PRE((LENGTH l) - n))l) ELL_MAP = |- !n l f. n < (LENGTH l) ==> (ELL n(MAP f l) = f(ELL n l)) LENGTH_BUTLAST = |- !l. ~(l = []) ==> (LENGTH(BUTLAST l) = PRE(LENGTH l)) BUTFIRSTN_LENGTH_APPEND = |- !l1 l2. BUTFIRSTN(LENGTH l1)(APPEND l1 l2) = l2 FIRSTN_APPEND1 = |- !n l1. n <= (LENGTH l1) ==> (!l2. FIRSTN n(APPEND l1 l2) = FIRSTN n l1) FIRSTN_APPEND2 = |- !l1 n. (LENGTH l1) <= n ==> (!l2. FIRSTN n(APPEND l1 l2) = APPEND l1(FIRSTN(n - (LENGTH l1))l2)) FIRSTN_LENGTH_APPEND = |- !l1 l2. FIRSTN(LENGTH l1)(APPEND l1 l2) = l1 REVERSE_FLAT = |- !l. REVERSE(FLAT l) = FLAT(REVERSE(MAP REVERSE l)) MAP_COND = |- !f c l1 l2. MAP f(c => l1 | l2) = (c => MAP f l1 | MAP f l2) MAP_FILTER = |- !f P l. (!x. P(f x) = P x) ==> (MAP f(FILTER P l) = FILTER P(MAP f l)) FLAT_APPEND = |- !l1 l2. FLAT(APPEND l1 l2) = APPEND(FLAT l1)(FLAT l2) FLAT_REVERSE = |- !l. FLAT(REVERSE l) = REVERSE(FLAT(MAP REVERSE l)) FLAT_FLAT = |- !l. FLAT(FLAT l) = FLAT(MAP FLAT l) ALL_EL_REVERSE = |- !P l. ALL_EL P(REVERSE l) = ALL_EL P l SOME_EL_REVERSE = |- !P l. SOME_EL P(REVERSE l) = SOME_EL P l ALL_EL_SEG = |- !P l. ALL_EL P l ==> (!m k. (m + k) <= (LENGTH l) ==> ALL_EL P(SEG m k l)) ALL_EL_FIRSTN = |- !P l. ALL_EL P l ==> (!m. m <= (LENGTH l) ==> ALL_EL P(FIRSTN m l)) Theorem SUB_ADD autoloading from theory `arithmetic` ... SUB_ADD = |- !m n. n <= m ==> ((m - n) + n = m) ALL_EL_BUTFIRSTN = |- !P l. ALL_EL P l ==> (!m. m <= (LENGTH l) ==> ALL_EL P(BUTFIRSTN m l)) SOME_EL_SEG = |- !m k l. (m + k) <= (LENGTH l) ==> (!P. SOME_EL P(SEG m k l) ==> SOME_EL P l) SOME_EL_FIRSTN = |- !m l. m <= (LENGTH l) ==> (!P. SOME_EL P(FIRSTN m l) ==> SOME_EL P l) SOME_EL_BUTFIRSTN = |- !m l. m <= (LENGTH l) ==> (!P. SOME_EL P(BUTFIRSTN m l) ==> SOME_EL P l) SOME_EL_LASTN = |- !m l. m <= (LENGTH l) ==> (!P. SOME_EL P(LASTN m l) ==> SOME_EL P l) SOME_EL_BUTLASTN = |- !m l. m <= (LENGTH l) ==> (!P. SOME_EL P(BUTLASTN m l) ==> SOME_EL P l) IS_EL_REVERSE = |- !x l. IS_EL x(REVERSE l) = IS_EL x l IS_EL_FILTER = |- !P x. P x ==> (!l. IS_EL x(FILTER P l) = IS_EL x l) IS_EL_SEG = |- !n m l. (n + m) <= (LENGTH l) ==> (!x. IS_EL x(SEG n m l) ==> IS_EL x l) IS_EL_SOME_EL = |- !x l. IS_EL x l = SOME_EL($= x)l IS_EL_FIRSTN = |- !m l. m <= (LENGTH l) ==> (!x. IS_EL x(FIRSTN m l) ==> IS_EL x l) IS_EL_BUTFIRSTN = |- !m l. m <= (LENGTH l) ==> (!x. IS_EL x(BUTFIRSTN m l) ==> IS_EL x l) IS_EL_BUTLASTN = |- !m l. m <= (LENGTH l) ==> (!x. IS_EL x(BUTLASTN m l) ==> IS_EL x l) IS_EL_LASTN = |- !m l. m <= (LENGTH l) ==> (!x. IS_EL x(LASTN m l) ==> IS_EL x l) ZIP_SNOC = |- !l1 l2. (LENGTH l1 = LENGTH l2) ==> (!x1 x2. ZIP(SNOC x1 l1,SNOC x2 l2) = SNOC(x1,x2)(ZIP(l1,l2))) UNZIP_SNOC = |- !x l. UNZIP(SNOC x l) = SNOC(FST x)(FST(UNZIP l)),SNOC(SND x)(SND(UNZIP l)) LENGTH_ZIP = |- !l1 l2. (LENGTH l1 = LENGTH l2) ==> (LENGTH(ZIP(l1,l2)) = LENGTH l1) /\ (LENGTH(ZIP(l1,l2)) = LENGTH l2) LENGTH_UNZIP_FST = |- !l. LENGTH(UNZIP_FST l) = LENGTH l LENGTH_UNZIP_SND = |- !l. LENGTH(UNZIP_SND l) = LENGTH l ZIP_UNZIP = |- !l. ZIP(UNZIP l) = l UNZIP_ZIP = |- !l1 l2. (LENGTH l1 = LENGTH l2) ==> (UNZIP(ZIP(l1,l2)) = l1,l2) SUM_APPEND = |- !l1 l2. SUM(APPEND l1 l2) = (SUM l1) + (SUM l2) SUM_REVERSE = |- !l. SUM(REVERSE l) = SUM l SUM_FLAT = |- !l. SUM(FLAT l) = SUM(MAP SUM l) EL_APPEND1 = |- !n l1 l2. n < (LENGTH l1) ==> (EL n(APPEND l1 l2) = EL n l1) EL_APPEND2 = |- !l1 n. (LENGTH l1) <= n ==> (!l2. EL n(APPEND l1 l2) = EL(n - (LENGTH l1))l2) EL_MAP = |- !n l. n < (LENGTH l) ==> (!f. EL n(MAP f l) = f(EL n l)) EL_CONS = |- !n. 0 < n ==> (!x l. EL n(CONS x l) = EL(PRE n)l) EL_SEG = |- !n l. n < (LENGTH l) ==> (EL n l = HD(SEG 1 n l)) EL_IS_EL = |- !n l. n < (LENGTH l) ==> IS_EL(EL n l)l TL_SNOC = |- !x l. TL(SNOC x l) = (NULL l => [] | SNOC x(TL l)) SUB_SUC_LESS = |- !m n. n < m ==> (m - (SUC n)) < m Theorem SUB_PLUS autoloading from theory `arithmetic` ... SUB_PLUS = |- !a b c. a - (b + c) = (a - b) - c Theorem PRE_SUB1 autoloading from theory `arithmetic` ... PRE_SUB1 = |- !m. PRE m = m - 1 EL_REVERSE = |- !n l. n < (LENGTH l) ==> (EL n(REVERSE l) = EL(PRE((LENGTH l) - n))l) EL_REVERSE_ELL = |- !n l. n < (LENGTH l) ==> (EL n(REVERSE l) = ELL n l) ELL_LENGTH_APPEND = |- !l1 l2. ~NULL l1 ==> (ELL(LENGTH l2)(APPEND l1 l2) = LAST l1) ELL_IS_EL = |- !n l. n < (LENGTH l) ==> IS_EL(EL n l)l ELL_REVERSE = |- !n l. n < (LENGTH l) ==> (ELL n(REVERSE l) = ELL(PRE((LENGTH l) - n))l) ELL_REVERSE_EL = |- !n l. n < (LENGTH l) ==> (ELL n(REVERSE l) = EL n l) Theorem LESS_EQ_TRANS autoloading from theory `arithmetic` ... LESS_EQ_TRANS = |- !m n p. m <= n /\ n <= p ==> m <= p LESS_EQ_SPLIT = |- !m n p. (m + n) <= p ==> n <= p /\ m <= p Theorem LESS_EQ_MONO_ADD_EQ autoloading from theory `arithmetic` ... LESS_EQ_MONO_ADD_EQ = |- !m n p. (m + p) <= (n + p) = m <= n Theorem GREATER_EQ autoloading from theory `arithmetic` ... GREATER_EQ = |- !n m. n >= m = m <= n SUB_GREATER_EQ_ADD = |- !p n m. p >= n ==> ((p - n) >= m = p >= (m + n)) Theorem SUB_LESS_EQ_ADD autoloading from theory `arithmetic` ... SUB_LESS_EQ_ADD = |- !m p. m <= p ==> (!n. (p - m) <= n = p <= (m + n)) SUB_LESS_EQ_ADD = |- !p n m. n <= p ==> (m <= (p - n) = (m + n) <= p) FIRSTN_BUTLASTN = |- !n l. n <= (LENGTH l) ==> (FIRSTN n l = BUTLASTN((LENGTH l) - n)l) BUTLASTN_FIRSTN = |- !n l. n <= (LENGTH l) ==> (BUTLASTN n l = FIRSTN((LENGTH l) - n)l) LASTN_BUTFIRSTN = |- !n l. n <= (LENGTH l) ==> (LASTN n l = BUTFIRSTN((LENGTH l) - n)l) BUTFIRSTN_LASTN = |- !n l. n <= (LENGTH l) ==> (BUTFIRSTN n l = LASTN((LENGTH l) - n)l) SUB_ADD_lem = |- !l n m. (n + m) <= l ==> ((l - (n + m)) + n = l - m) SEG_LASTN_BUTLASTN = |- !n m l. (n + m) <= (LENGTH l) ==> (SEG n m l = LASTN n(BUTLASTN((LENGTH l) - (n + m))l)) BUTFIRSTN_REVERSE = |- !n l. n <= (LENGTH l) ==> (BUTFIRSTN n(REVERSE l) = REVERSE(BUTLASTN n l)) BUTLASTN_REVERSE = |- !n l. n <= (LENGTH l) ==> (BUTLASTN n(REVERSE l) = REVERSE(BUTFIRSTN n l)) LASTN_REVERSE = |- !n l. n <= (LENGTH l) ==> (LASTN n(REVERSE l) = REVERSE(FIRSTN n l)) FIRSTN_REVERSE = |- !n l. n <= (LENGTH l) ==> (FIRSTN n(REVERSE l) = REVERSE(LASTN n l)) Theorem SUB_SUB autoloading from theory `arithmetic` ... SUB_SUB = |- !b c. c <= b ==> (!a. a - (b - c) = (a + c) - b) SEG_REVERSE = |- !n m l. (n + m) <= (LENGTH l) ==> (SEG n m(REVERSE l) = REVERSE(SEG n((LENGTH l) - (n + m))l)) LENGTH_GENLIST = |- !f n. LENGTH(GENLIST f n) = n LENGTH_REPLICATE = |- !n x. LENGTH(REPLICATE n x) = n IS_EL_REPLICATE = |- !n. 0 < n ==> (!x. IS_EL x(REPLICATE n x)) ALL_EL_REPLICATE = |- !x n. ALL_EL($= x)(REPLICATE n x) AND_EL_FOLDL = |- !l. AND_EL l = FOLDL $/\ T l AND_EL_FOLDR = |- !l. AND_EL l = FOLDR $/\ T l OR_EL_FOLDL = |- !l. OR_EL l = FOLDL $\/ F l OR_EL_FOLDR = |- !l. OR_EL l = FOLDR $\/ F l MAP2_ZIP = |- !l1 l2. (LENGTH l1 = LENGTH l2) ==> (!f. MAP2 f l1 l2 = MAP(UNCURRY f)(ZIP(l1,l2))) File mk_list_thm2 loaded () : void ##=======> theory list built cd /<>/theories; rm -f tree.th;\ /<>/basic-hol < /<>/theories/mk_tree.ml;\ cd /<> BASIC-HOL version 2.02 (GCL) created 4/4/24 #############################() : void ###Theory list loaded () : void #########list_Axiom = |- !x f. ?! fn. (fn[] = x) /\ (!h t. fn(CONS h t) = f(fn t)h t) list_INDUCT = |- !P. P[] /\ (!t. P t ==> (!h. P(CONS h t))) ==> (!l. P l) CONS_11 = |- !h t h' t'. (CONS h t = CONS h' t') = (h = h') /\ (t = t') NULL = |- NULL[] /\ (!h t. ~NULL(CONS h t)) NOT_CONS_NIL = |- !h t. ~(CONS h t = []) NOT_NIL_CONS = |- !h t. ~([] = CONS h t) ALL_EL_CONJ = |- !P Q l. ALL_EL(\x. P x /\ Q x)l = ALL_EL P l /\ ALL_EL Q l ######ALL_EL = |- (!P. ALL_EL P[] = T) /\ (!P x l. ALL_EL P(CONS x l) = P x /\ ALL_EL P l) MAP = |- (!f. MAP f[] = []) /\ (!f h t. MAP f(CONS h t) = CONS(f h)(MAP f t)) HD = |- !h t. HD(CONS h t) = h TL = |- !h t. TL(CONS h t) = t ####LESS_OR_EQ = |- !m n. m <= n = m < n \/ (m = n) ###EXP = |- (!m. m EXP 0 = 1) /\ (!m n. m EXP (SUC n) = m * (m EXP n)) ####################LESS_ADD_1 = |- !m n. n < m ==> (?p. m = n + (p + 1)) ADD_SYM = |- !m n. m + n = n + m EXP_ADD = |- !p q n. n EXP (p + q) = (n EXP p) * (n EXP q) MULT_ASSOC = |- !m n p. m * (n * p) = (m * n) * p MULT_EXP_MONO = |- !p q n m. (n * ((SUC q) EXP p) = m * ((SUC q) EXP p)) = (n = m) MULT_CLAUSES = |- !m n. (0 * m = 0) /\ (m * 0 = 0) /\ (1 * m = m) /\ (m * 1 = m) /\ ((SUC m) * n = (m * n) + n) /\ (m * (SUC n) = m + (m * n)) ADD_CLAUSES = |- (0 + m = m) /\ (m + 0 = m) /\ ((SUC m) + n = SUC(m + n)) /\ (m + (SUC n) = SUC(m + n)) NOT_ODD_EQ_EVEN = |- !n m. ~(SUC(n + n) = m + m) LESS_CASES = |- !m n. m < n \/ n <= m WOP = |- !P. (?n. P n) ==> (?n. P n /\ (!m. m < n ==> ~P m)) num_CASES = |- !m. (m = 0) \/ (?n. m = SUC n) NOT_LESS = |- !m n. ~m < n = n <= m LESS_IMP_LESS_OR_EQ = |- !m n. m < n ==> m <= n LESS_EQ_TRANS = |- !m n p. m <= n /\ n <= p ==> m <= p LESS_EQ_ADD = |- !m n. m <= (m + n) LESS_TRANS = |- !m n p. m < n /\ n < p ==> m < p LESS_EQ_ANTISYM = |- !m n. ~(m < n /\ n <= m) LESS_EQ = |- !m n. m < n = (SUC m) <= n ###########INV_SUC_EQ = |- !m n. (SUC m = SUC n) = (m = n) PRIM_REC_THM = |- !x f. (PRIM_REC x f 0 = x) /\ (!m. PRIM_REC x f(SUC m) = f(PRIM_REC x f m)m) LESS_0 = |- !n. 0 < (SUC n) LESS_SUC_REFL = |- !n. n < (SUC n) LESS_THM = |- !m n. m < (SUC n) = (m = n) \/ m < n LESS_SUC = |- !m n. m < n ==> m < (SUC n) NOT_LESS_0 = |- !n. ~n < 0 LESS_REFL = |- !n. ~n < n ####NOT_SUC = |- !n. ~(SUC n = 0) INDUCTION = |- !P. P 0 /\ (!n. P n ==> P(SUC n)) ==> (!n. P n) ####### num_CONV = - : conv File /<>/ml/numconv.ml loaded () : void ####### Section INDUCT_THEN begun BETAS = - : (term -> term -> conv) GTAC = - : (term -> tactic) TACF = - : (term -> term -> thm_tactic -> tactic) TACS = - : (term -> term -> thm_tactic -> tactic list) GOALS = - : (* -> ((* # term) -> (** # ***)) list -> term -> (** list # *** list)) GALPH = - : conv GALPHA = - : conv mapshape = - : (int list -> (* list -> **) list -> * list -> ** list) INDUCT_THEN = - : (thm -> thm_tactic -> tactic) - : (thm -> thm_tactic -> tactic) Section INDUCT_THEN ended INDUCT_THEN = - : (thm -> thm_tactic -> tactic) File /<>/ml/ind.ml loaded () : void ####### Section prove_rec_fn_exists begun derive_existence_thm = - : (thm -> conv) mk_fn = - : ((term # term # term list # term # goal) -> (term # term list # thm)) instantiate_existence_thm = - : (thm -> conv) closeup = - : (term -> term) prove_rec_fn_exists = - : (thm -> conv) - : (thm -> conv) Section prove_rec_fn_exists ended prove_rec_fn_exists = - : (thm -> conv) new_recursive_definition = - : (bool -> thm -> string -> conv) File /<>/ml/prim_rec.ml loaded () : void ###INDUCT_TAC = - : tactic ###LIST_INDUCT_TAC = - : tactic #####################arith_lemma = |- !p q n m. p < q ==> ~((SUC(n + n)) * (2 EXP p) = (SUC(m + m)) * (2 EXP q)) #############fun_11_1 = |- !p q n m. ((SUC(n + n)) * (2 EXP p) = (SUC(m + m)) * (2 EXP q)) ==> (p = q) ##############fun_11_2 = |- !p q n m. ((SUC(n + n)) * (2 EXP p) = (SUC(m + m)) * (2 EXP q)) ==> (n = m) #######ty = ":num" : type #########node_REP = |- (node_REP[] = 0) /\ (!h t. node_REP(CONS h t) = (SUC(h + h)) * (2 EXP (node_REP t))) ########################node_REP_one_one = |- !l1 l2. (node_REP l1 = node_REP l2) = (l1 = l2) #############Is_tree_REP = |- Is_tree_REP = (\t. !P. (!tl. ALL_EL P tl ==> P(node_REP tl)) ==> P t) #############ALL_EL_Is_tree_REP = |- !trl. ALL_EL Is_tree_REP trl = (!P. ALL_EL(\t. (!tl. ALL_EL P tl ==> P(node_REP tl)) ==> P t)trl) ##########Is_tree_lemma1 = |- !trl. ALL_EL Is_tree_REP trl ==> Is_tree_REP(node_REP trl) #####taut1 = |- !a b. ~(a ==> b) = a /\ ~b ###########################Is_tree_lemma2 = |- !t. Is_tree_REP t ==> (?trl. ALL_EL Is_tree_REP trl /\ (t = node_REP trl)) #######Is_tree_lemma3 = |- !tl. Is_tree_REP(node_REP tl) ==> ALL_EL Is_tree_REP tl #########Is_tree_lemma4 = |- !tl. Is_tree_REP(node_REP tl) = ALL_EL Is_tree_REP tl #########Exists_tree_REP = |- ?t. Is_tree_REP t ############tree_TY_DEF = |- ?rep. TYPE_DEFINITION Is_tree_REP rep ##########tree_ISO_DEF = |- (!a. ABS_tree(REP_tree a) = a) /\ (!r. Is_tree_REP r = (REP_tree(ABS_tree r) = r)) #######R_11 = |- !a a'. (REP_tree a = REP_tree a') = (a = a') R_ONTO = |- !r. Is_tree_REP r = (?a. r = REP_tree a) A_11 = |- !r r'. Is_tree_REP r ==> Is_tree_REP r' ==> ((ABS_tree r = ABS_tree r') = (r = r')) A_ONTO = |- !a. ?r. (a = ABS_tree r) /\ Is_tree_REP r A_R = |- !a. ABS_tree(REP_tree a) = a R_A = |- !r. Is_tree_REP r = (REP_tree(ABS_tree r) = r) ######node = |- !tl. node tl = ABS_tree(node_REP(MAP REP_tree tl)) #####dest_node = |- !t. dest_node t = (@p. t = node p) ##########IS_REP_lemma = |- !tl. ALL_EL Is_tree_REP(MAP REP_tree tl) ############REP_ABS_lemma = |- !tl. REP_tree(node tl) = node_REP(MAP REP_tree tl) ######ABS_REP = |- !tl. Is_tree_REP(node_REP(MAP REP_tree tl)) #####ABS_11_lemma = |- (ABS_tree(node_REP(MAP REP_tree tl1)) = ABS_tree(node_REP(MAP REP_tree tl2))) = (node_REP(MAP REP_tree tl1) = node_REP(MAP REP_tree tl2)) ###################node_11 = |- !tl1 tl2. (node tl1 = node tl2) = (tl1 = tl2) ########A_R_list = |- !tl. tl = MAP ABS_tree(MAP REP_tree tl) ######R_A_R = |- REP_tree(ABS_tree(REP_tree t)) = REP_tree t #####Is_R = |- Is_tree_REP(REP_tree t) ######R_A_R_list = |- !tl. MAP REP_tree(MAP ABS_tree(MAP REP_tree tl)) = MAP REP_tree tl ###########A_ONTO_list = |- !tl. ?trl. (tl = MAP ABS_tree trl) /\ ALL_EL Is_tree_REP trl ############R_ONTO_list = |- !trl. ALL_EL Is_tree_REP trl ==> (?tl. trl = MAP REP_tree tl) ########R_A_list = |- !trl. ALL_EL Is_tree_REP trl ==> (MAP REP_tree(MAP ABS_tree trl) = trl) ############################induct_lemma1 = |- (!tl. ALL_EL P tl ==> P(node tl)) = (!trl. ALL_EL Is_tree_REP trl ==> ALL_EL(\x. P(ABS_tree x))trl ==> (\x. P(ABS_tree x))(node_REP trl)) #################induct_lemma2 = |- (!t. P t) = (!rep. Is_tree_REP rep ==> (\r. Is_tree_REP r /\ (\x. P(ABS_tree x))r)rep) #############tree_Induct = |- !P. (!tl. ALL_EL P tl ==> P(node tl)) ==> (!t. P t) #######################tree_INDUCT = - : (thm -> thm) ####################tree_INDUCT_TAC = - : tactic ##############bht = |- bht = PRIM_REC (\tr. tr = node[]) (\res n tr. ?trl. (tr = node trl) /\ ALL_EL res trl) #########bht_thm = |- (bht 0 tr = (tr = node[])) /\ (bht(SUC n)tr = (?trl. (tr = node trl) /\ ALL_EL(bht n)trl)) ##################bht_lemma1 = |- !n tr. bht n tr ==> bht(SUC n)tr #########bht_lemma2 = |- !n tr. bht n tr ==> (!m. bht(n + m)tr) ######################bht_lemma3 = |- !trl. ALL_EL(\tr. ?n. bht n tr)trl ==> (?n. ALL_EL(bht n)trl) ##########exists_bht = |- !t. ?n. bht n t ##########min_bht = |- !t. ?n. bht n t /\ (!m. m < n ==> ~bht m t) ######HT = |- !t. HT t = (@n. bht n t /\ (!m. m < n ==> ~bht m t)) ###########HT_thm1 = |- !tr. bht(HT tr)tr ######HT_thm2 = |- !tr m. m < (HT tr) ==> ~bht m tr ##################HT_leaf = |- !trl. (HT(node trl) = 0) = (trl = []) ############HT_thm3 = |- !m tr. ~bht m tr ==> m < (HT tr) #####HT_thm4 = |- !tr m. m < (HT tr) = ~bht m tr ###################HT_thm5 = |- !n tl h. ~bht n(node tl) ==> ~bht n(node(CONS h tl)) ###########HT_thm6 = |- !trl tl t. ALL_EL(\t'. ~bht(HT t')(node tl))trl ==> ALL_EL(\t'. ~bht(HT t')(node(CONS h tl)))trl ##########################HT_node = |- !tl. ALL_EL(\t. (HT t) < (HT(node tl)))tl ########Less_lemma = |- !n m. n < (SUC m) = n <= m #############less_HT = |- !trl m n. m <= n ==> ALL_EL(\t. (HT t) < m)trl ==> ALL_EL(\t. (HT t) <= n)trl ###################less_HT2 = |- !trl n. (HT(node trl)) < n ==> ALL_EL(\t. (HT t) < n)trl ##########less_HT3 = |- !trl. (HT(node trl)) <= (HT(node[node trl])) ################less_HT4 = |- !trl m n. m <= n ==> ALL_EL(\t. (HT t) < m)trl ==> ALL_EL(\t. (HT t) < n)trl ######less_HT5 = |- !h. (HT h) < (HT(node[h])) ########less_HT6 = |- !h trl. (HT h) < (HT(node[node(CONS h trl)])) #####less_HT7 = |- ALL_EL(\t. (HT t) < (HT(node[node tl])))tl #####less_HT8 = |- ALL_EL(\t. (HT t) < (HT(node[node(CONS h trl)])))trl ##########dest_node_thm = |- !tl. dest_node(node tl) = tl ########################################approx_lemma = |- !f n. ?fn. !trl. (HT(node trl)) <= n ==> (fn(node trl) = f(MAP fn trl)) #########trf = |- !n f. trf n f = (@fn. !trl. (HT(node trl)) <= n ==> (fn(node trl) = f(MAP fn trl))) #########trf_thm = |- !f n trl. (HT(node trl)) <= n ==> (trf n f(node trl) = f(MAP(trf n f)trl)) #######################trf_EQ_thm = |- !t n m f. (HT t) < n /\ (HT t) < m ==> (trf n f t = trf m f t) #############trf_EQ_thm2 = |- !trl n m f. ALL_EL(\t. (HT t) < n)trl /\ ALL_EL(\t. (HT t) < m)trl ==> (MAP(trf n f)trl = MAP(trf m f)trl) ##############################FN_EXISTS = |- !f. ?fn. !trl. fn(node trl) = f(MAP fn trl) ##########FN_thm = |- ?FN. !f trl. FN f(node trl) = f(MAP(FN f)trl) ######AP = |- ?AP. (!l. AP[]l = []) /\ (!h t l. AP(CONS h t)l = CONS(h(HD l))(AP t(TL l))) ###AP = |- ?AP. (!l. AP[]l = []) /\ (!h t l. AP(CONS h t)l = CONS(h(HD l))(AP t(TL l))) #AP_DEF = ["!l. AP[]l = []"; "!h t l. AP(CONS h t)l = CONS(h(HD l))(AP t(TL l))"] : term list #########AP_MAP = .. |- !l. AP(MAP f l)l = MAP(\x. f x x)l #################EXISTS_THM = |- !f. ?fn. !tl. fn(node tl) = f(MAP fn tl)tl #########lemma = |- !l. ALL_EL(\x. f x = g x)l ==> (MAP f l = MAP g l) ###############tree_Axiom = |- !f. ?! fn. !tl. fn(node tl) = f(MAP fn tl)tl ###() : void ##=======> theory tree built cd /<>/theories; rm -f ltree.th;\ /<>/basic-hol < /<>/theories/mk_ltree.ml;\ cd /<> BASIC-HOL version 2.02 (GCL) created 4/4/24 ############################() : void ###Theory tree loaded () : void ###Theory combin loaded () : void #####node_11 = |- !tl1 tl2. (node tl1 = node tl2) = (tl1 = tl2) tree_Induct = |- !P. (!tl. ALL_EL P tl ==> P(node tl)) ==> (!t. P t) tree_Axiom = |- !f. ?! fn. !tl. fn(node tl) = f(MAP fn tl)tl ##########SUM = |- (SUM[] = 0) /\ (!h t. SUM(CONS h t) = h + (SUM t)) LENGTH = |- (LENGTH[] = 0) /\ (!h t. LENGTH(CONS h t) = SUC(LENGTH t)) MAP = |- (!f. MAP f[] = []) /\ (!f h t. MAP f(CONS h t) = CONS(f h)(MAP f t)) FLAT = |- (FLAT[] = []) /\ (!h t. FLAT(CONS h t) = APPEND h(FLAT t)) APPEND = |- (!l. APPEND[]l = l) /\ (!l1 l2 h. APPEND(CONS h l1)l2 = CONS h(APPEND l1 l2)) HD = |- !h t. HD(CONS h t) = h TL = |- !h t. TL(CONS h t) = t ALL_EL = |- (!P. ALL_EL P[] = T) /\ (!P x l. ALL_EL P(CONS x l) = P x /\ ALL_EL P l) #######list_Axiom = |- !x f. ?! fn. (fn[] = x) /\ (!h t. fn(CONS h t) = f(fn t)h t) list_INDUCT = |- !P. P[] /\ (!t. P t ==> (!h. P(CONS h t))) ==> (!l. P l) LENGTH_APPEND = |- !l1 l2. LENGTH(APPEND l1 l2) = (LENGTH l1) + (LENGTH l2) LENGTH_NIL = |- !l. (LENGTH l = 0) = (l = []) LENGTH_CONS = |- !l n. (LENGTH l = SUC n) = (?h l'. (LENGTH l' = n) /\ (l = CONS h l')) ####o_THM = |- !f g x. (f o g)x = f(g x) ####ADD_CLAUSES = |- (0 + m = m) /\ (m + 0 = m) /\ ((SUC m) + n = SUC(m + n)) /\ (m + (SUC n) = SUC(m + n)) ADD_EQ_0 = |- !m n. (m + n = 0) = (m = 0) /\ (n = 0) #####num_Axiom = |- !e f. ?! fn. (fn 0 = e) /\ (!n. fn(SUC n) = f(fn n)n) INV_SUC_EQ = |- !m n. (SUC m = SUC n) = (m = n) ###INDUCTION = |- !P. P 0 /\ (!n. P n ==> P(SUC n)) ==> (!n. P n) ########### Section INDUCT_THEN begun BETAS = - : (term -> term -> conv) GTAC = - : (term -> tactic) TACF = - : (term -> term -> thm_tactic -> tactic) TACS = - : (term -> term -> thm_tactic -> tactic list) GOALS = - : (* -> ((* # term) -> (** # ***)) list -> term -> (** list # *** list)) GALPH = - : conv GALPHA = - : conv mapshape = - : (int list -> (* list -> **) list -> * list -> ** list) INDUCT_THEN = - : (thm -> thm_tactic -> tactic) - : (thm -> thm_tactic -> tactic) Section INDUCT_THEN ended INDUCT_THEN = - : (thm -> thm_tactic -> tactic) File /<>/ml/ind.ml loaded () : void ####### Section prove_rec_fn_exists begun derive_existence_thm = - : (thm -> conv) mk_fn = - : ((term # term # term list # term # goal) -> (term # term list # thm)) instantiate_existence_thm = - : (thm -> conv) closeup = - : (term -> term) prove_rec_fn_exists = - : (thm -> conv) - : (thm -> conv) Section prove_rec_fn_exists ended prove_rec_fn_exists = - : (thm -> conv) new_recursive_definition = - : (bool -> thm -> string -> conv) File /<>/ml/prim_rec.ml loaded () : void #######################tree_INDUCT = - : (thm -> thm) ####################tree_INDUCT_TAC = - : tactic ###LIST_INDUCT_TAC = - : tactic ###INDUCT_TAC = - : tactic ########Size = |- Size = (@fn. !tl. fn(node tl) = SUC(SUM(MAP fn tl))) ###########Size_thm = |- !tl. Size(node tl) = SUC(SUM(MAP Size tl)) #########Is_ltree = |- !t l. Is_ltree(t,l) = (Size t = LENGTH l) ###ty = ":tree # (*)list" : type ######Exists_ltree_REP = |- ?t. Is_ltree t #######ltree_TY_DEF = |- ?rep. TYPE_DEFINITION Is_ltree rep ##########ltree_ISO_DEF = |- (!a. ABS_ltree(REP_ltree a) = a) /\ (!r. Is_ltree r = (REP_ltree(ABS_ltree r) = r)) #######R_11 = |- !a a'. (REP_ltree a = REP_ltree a') = (a = a') R_ONTO = |- !r. Is_ltree r = (?a. r = REP_ltree a) A_11 = |- !r r'. Is_ltree r ==> Is_ltree r' ==> ((ABS_ltree r = ABS_ltree r') = (r = r')) A_ONTO = |- !a. ?r. (a = ABS_ltree r) /\ Is_ltree r A_R = |- !a. ABS_ltree(REP_ltree a) = a R_A = |- !r. Is_ltree r = (REP_ltree(ABS_ltree r) = r) ########Node = |- !v tl. Node v tl = ABS_ltree (node(MAP(FST o REP_ltree)tl),CONS v(FLAT(MAP(SND o REP_ltree)tl))) ######################REP_Node = |- !tl. REP_ltree(Node v tl) = node(MAP(FST o REP_ltree)tl),CONS v(FLAT(MAP(SND o REP_ltree)tl)) ###########Size_LENGTH_lemma = |- !t. Size(FST(REP_ltree t)) = LENGTH(SND(REP_ltree t)) #########MAP_Size_LENGTH = |- !tl. MAP Size(MAP(FST o REP_ltree)tl) = MAP LENGTH(MAP(SND o REP_ltree)tl) ##############AP = |- (!l. AP[]l = []) /\ (!h t l. AP(CONS h t)l = CONS(h(HD l))(AP t(TL l))) ######SPLIT = |- (!l. SPLIT 0 l = [],l) /\ (!n l. SPLIT(SUC n)l = CONS(HD l)(FST(SPLIT n(TL l))),SND(SPLIT n(TL l))) ######PART = |- (!l. PART[]l = []) /\ (!n t l. PART(CONS n t)l = CONS(FST(SPLIT n l))(PART t(SND(SPLIT n l)))) ##########SPLIT_APPEND = |- !l l'. SPLIT(LENGTH l)(APPEND l l') = l,l' ######PART_FLAT = |- !l. PART(MAP LENGTH l)(FLAT l) = l ###############LENGTH_SND_SPLIT = |- !l n m. (LENGTH l = n + m) ==> (LENGTH(SND(SPLIT n l)) = m) ###############LENGTH_FST_SPLIT = |- !l n m. (LENGTH l = n + m) ==> (LENGTH(FST(SPLIT n l)) = n) #################APPEND_SPLIT = |- !l n m. (LENGTH l = n + m) ==> (APPEND(FST(SPLIT n l))(SND(SPLIT n l)) = l) ##################################REP_REC_lemma = |- !f. ?! fn. !tl l. fn(node tl,l) = f (AP(MAP(\t e. fn(t,e))tl)(PART(MAP Size tl)(TL l))) (HD l) (MAP ABS_ltree(AP(MAP $, tl)(PART(MAP Size tl)(TL l)))) ############lemma1 = |- !tl. MAP ABS_ltree (AP (MAP $,(MAP(FST o REP_ltree)tl)) (PART (MAP Size(MAP(FST o REP_ltree)tl)) (FLAT(MAP(SND o REP_ltree)tl)))) = tl ##############lemma2 = |- !tl. AP (MAP(\t e. fn(t,e))(MAP(FST o REP_ltree)tl)) (PART (MAP Size(MAP(FST o REP_ltree)tl)) (FLAT(MAP(SND o REP_ltree)tl))) = MAP(fn o REP_ltree)tl #######################lemma3 = |- !trl l. (LENGTH l = SUM(MAP Size trl)) ==> (FLAT (MAP (SND o REP_ltree) (MAP ABS_ltree(AP(MAP $, trl)(PART(MAP Size trl)l)))) = l) #########################lemma4 = |- !trl l. (LENGTH l = SUM(MAP Size trl)) ==> (node (MAP (FST o REP_ltree) (MAP ABS_ltree(AP(MAP $, trl)(PART(MAP Size trl)l)))) = node trl) ####################lemma5 = |- !trl l. (Size(node trl) = LENGTH l) ==> (ABS_ltree(node trl,l) = Node(HD l)(MAP ABS_ltree(AP(MAP $, trl)(PART(MAP Size trl)(TL l))))) #######################lemma6 = |- !trl l. (Size(node trl) = LENGTH l) ==> ALL_EL (\p. Size(FST p) = LENGTH(SND p)) (AP(MAP $, trl)(PART(MAP Size trl)(TL l))) ##################lemma7 = |- !trl. ALL_EL (\t. !l. (Size t = LENGTH l) ==> (x(ABS_ltree(t,l)) = y(ABS_ltree(t,l)))) trl ==> (!l. ALL_EL(\p. Size(FST p) = LENGTH(SND p))(AP(MAP $, trl)l) ==> (MAP x(MAP ABS_ltree(AP(MAP $, trl)l)) = MAP y(MAP ABS_ltree(AP(MAP $, trl)l)))) ###########################ltree_Axiom = |- !f. ?! fn. !v tl. fn(Node v tl) = f(MAP fn tl)v tl ####unique_lemma = |- !f fn fn'. (!v tl. fn(Node v tl) = f(MAP fn tl)v tl) /\ (!v tl. fn'(Node v tl) = f(MAP fn' tl)v tl) ==> (fn = fn') ##############################ltree_Induct = |- !P. (!t. ALL_EL P t ==> (!h. P(Node h t))) ==> (!l. P l) ###exists_lemma = |- !f. ?fn. !v tl. fn(Node v tl) = f(MAP fn tl)v tl ################Node_11 = |- !v1 v2 trl1 trl2. (Node v1 trl1 = Node v2 trl2) = (v1 = v2) /\ (trl1 = trl2) #######################ltree_INDUCT = - : (thm -> thm) #######################ltree_INDUCT_TAC = - : tactic ########Node_onto = |- !l. ?v trl. l = Node v trl ##() : void ##=======> theory ltree built cd /<>/theories; rm -f tydefs.th;\ /<>/basic-hol < /<>/theories/mk_tydefs.ml;\ cd /<> BASIC-HOL version 2.02 (GCL) created 4/4/24 ############################() : void ###Theory ltree loaded [()] : void list ###o_THM = |- !f g x. (f o g)x = f(g x) ###list_INDUCT = |- !P. P[] /\ (!t. P t ==> (!h. P(CONS h t))) ==> (!l. P l) #MAP_o = |- !f g. MAP(f o g) = (MAP f) o (MAP g) ####ltree_Axiom = |- !f. ?! fn. !v tl. fn(Node v tl) = f(MAP fn tl)v tl ltree_Induct = |- !P. (!t. ALL_EL P t ==> (!h. P(Node h t))) ==> (!l. P l) ####ALL_EL = |- (!P. ALL_EL P[] = T) /\ (!P x l. ALL_EL P(CONS x l) = P x /\ ALL_EL P l) MAP = |- (!f. MAP f[] = []) /\ (!f h t. MAP f(CONS h t) = CONS(f h)(MAP f t)) ########### Section INDUCT_THEN begun BETAS = - : (term -> term -> conv) GTAC = - : (term -> tactic) TACF = - : (term -> term -> thm_tactic -> tactic) TACS = - : (term -> term -> thm_tactic -> tactic list) GOALS = - : (* -> ((* # term) -> (** # ***)) list -> term -> (** list # *** list)) GALPH = - : conv GALPHA = - : conv mapshape = - : (int list -> (* list -> **) list -> * list -> ** list) INDUCT_THEN = - : (thm -> thm_tactic -> tactic) - : (thm -> thm_tactic -> tactic) Section INDUCT_THEN ended INDUCT_THEN = - : (thm -> thm_tactic -> tactic) File /<>/ml/ind.ml loaded () : void ###LIST_INDUCT_TAC = - : tactic ########################ltree_INDUCT = - : (thm -> thm) #######################ltree_INDUCT_TAC = - : tactic #######Node_onto = |- !l. ?v trl. l = Node v trl #########ALL_EL_MAP_lemma = |- !l. ALL_EL(\x. x)(MAP P l) = ALL_EL P l ####exists_lemma = |- !f. ?fn. !v tl. fn(Node v tl) = f(MAP fn tl)v tl ###############TRP_thm = |- !P. ?TRP. !v tl. TRP(Node v tl) = P v tl /\ ALL_EL TRP tl ##########lemma1 = |- !l x y. ALL_EL P l /\ ALL_EL(\e. P e ==> (x e = y e))l ==> (MAP x l = MAP y l) ######################TRP_EU = |- !TRP P. (!v tl. TRP(Node v tl) = P v tl /\ ALL_EL TRP tl) ==> (!f. (?fn. !v tl. TRP(Node v tl) ==> (fn(Node v tl) = f(MAP fn tl)v tl)) /\ (!x y. (!v tl. TRP(Node v tl) ==> (x(Node v tl) = f(MAP x tl)v tl)) ==> (!v tl. TRP(Node v tl) ==> (y(Node v tl) = f(MAP y tl)v tl)) ==> (!l. TRP l ==> (x l = y l)))) ######TRP_DEF = |- !P. TRP P = (@trp. !v tl. trp(Node v tl) = P v tl /\ ALL_EL trp tl) ########TRP = |- !P v tl. TRP P(Node v tl) = P v tl /\ ALL_EL(TRP P)tl ##############TRP_EU_thm = |- !P f. (?fn. !v tl. TRP P(Node v tl) ==> (fn(Node v tl) = f(MAP fn tl)v tl)) /\ (!x y. (!v tl. TRP P(Node v tl) ==> (x(Node v tl) = f(MAP x tl)v tl)) ==> (!v tl. TRP P(Node v tl) ==> (y(Node v tl) = f(MAP y tl)v tl)) ==> (!l. TRP P l ==> (x l = y l))) ########AR_lemma1 = |- (!a. ABS(REP a) = a) ==> (!r. TRP P r = (REP(ABS r) = r)) ==> (!tl. ALL_EL(TRP P)(MAP REP tl)) ############AR_lemma2 = |- (!a. ABS(REP a) = a) ==> (!r. TRP P r = (REP(ABS r) = r)) ==> (!tl v. P v(MAP REP tl) ==> (REP(ABS(Node v(MAP REP tl))) = Node v(MAP REP tl))) ############AR_lemma3 = |- (!a. ABS(REP a) = a) ==> (!r. TRP P r = (REP(ABS r) = r)) ==> (!trl. ALL_EL(TRP P)trl ==> (?tl. trl = MAP REP tl)) #######AR_lemma4 = |- (!a. ABS(REP a) = a) ==> (!al. MAP ABS(MAP REP al) = al) #####AR_lemma5 = .. |- !a. ?r. (a = ABS r) /\ TRP P r ###############################################################TY_DEF_THM = |- !REP ABS P. (!a. ABS(REP a) = a) /\ (!r. TRP P r = (REP(ABS r) = r)) ==> (!f. ?! fn. !v tl. P v(MAP REP tl) ==> (fn(ABS(Node v(MAP REP tl))) = f(MAP fn tl)v tl)) ########exists_TRP = |- !P. (?v. P v[]) ==> (?t. TRP P t) ##() : void ##=======> theory tydefs built cd /<>/theories; rm -f sum.th;\ /<>/basic-hol < /<>/theories/mk_sum.ml;\ cd /<> BASIC-HOL version 2.02 (GCL) created 4/4/24 ############################################() : void ###Theory combin loaded () : void ###o_DEF = |- !f g. f o g = (\x. f(g x)) #o_THM = |- !f g x. (f o g)x = f(g x) ###################IS_SUM_REP = |- !f. IS_SUM_REP f = (?v1 v2. (f = (\b x y. (x = v1) /\ b)) \/ (f = (\b x y. (y = v2) /\ ~b))) ###########EXISTS_SUM_REP = |- ?f. IS_SUM_REP f #########sum_TY_DEF = |- ?rep. TYPE_DEFINITION IS_SUM_REP rep ##########sum_ISO_DEF = |- (!a. ABS_sum(REP_sum a) = a) /\ (!r. IS_SUM_REP r = (REP_sum(ABS_sum r) = r)) ######R_A = |- !r. (REP_sum(ABS_sum r) = r) = IS_SUM_REP r R_11 = |- (a = a') = (REP_sum a = REP_sum a') A_ONTO = |- !a. ?r. (a = ABS_sum r) /\ (?v1 v2. (r = (\b x y. (x = v1) /\ b)) \/ (r = (\b x y. (y = v2) /\ ~b))) ##########INL_DEF = |- !e. INL e = ABS_sum(\b x y. (x = e) /\ b) ######INR_DEF = |- !e. INR e = ABS_sum(\b x y. (y = e) /\ ~b) #######SIMP = - : (thm -> thm) #REWRITE1_TAC = - : thm_tactic #######REP_INL = |- REP_sum(INL v) = (\b x y. (x = v) /\ b) #######REP_INR = |- REP_sum(INR v) = (\b x y. (y = v) /\ ~b) #########INL_11 = |- (INL x = INL y) = (x = y) #########INR_11 = |- (INR x = INR y) = (x = y) ########INR_neq_INL = |- !v1 v2. ~(INR v2 = INL v1) ######EPS_lemma = |- (@x. y = x) = y #############################sum_axiom = |- !f g. ?! h. (h o INL = f) /\ (h o INR = g) ##############sum_Axiom = |- !f g. ?! h. (!x. h(INL x) = f x) /\ (!x. h(INR x) = g x) ################ISL_DEF = |- ?ISL. (!x. ISL(INL x)) /\ (!y. ~ISL(INR y)) ###ISL = |- (!x. ISL(INL x)) /\ (!y. ~ISL(INR y)) ##########ISR_DEF = |- ?ISR. (!x. ISR(INR x)) /\ (!y. ~ISR(INL y)) ###ISR = |- (!x. ISR(INR x)) /\ (!y. ~ISR(INL y)) ##########OUTL_DEF = |- ?OUTL. !x. OUTL(INL x) = x ###OUTL = |- !x. OUTL(INL x) = x ##########OUTR_DEF = |- ?OUTR. !x. OUTR(INR x) = x ###OUTR = |- !x. OUTR(INR x) = x ###() : void ###########################sum_EXISTS = |- !f g. ?h. (!x. h(INL x) = f x) /\ (!x. h(INR x) = g x) sum_UNIQUE = |- !f g h h'. ((!x. h(INL x) = f x) /\ (!x. h(INR x) = g x)) /\ (!x. h'(INL x) = f x) /\ (!x. h'(INR x) = g x) ==> (!s. h s = h' s) ########################sum_lemma = |- !v. (?x. v = INL x) \/ (?x. v = INR x) ########ISL_OR_ISR = |- !x. ISL x \/ ISR x ########INL = |- !x. ISL x ==> (INL(OUTL x) = x) ########INR = |- !x. ISR x ==> (INR(OUTR x) = x) ##=======> theory sum built cd /<>/theories; rm -f one.th;\ /<>/basic-hol < /<>/theories/mk_one.ml;\ cd /<> BASIC-HOL version 2.02 (GCL) created 4/4/24 ##################################() : void ################EXISTS_ONE_REP = |- ?b. (\b. b)b #######one_TY_DEF = |- ?rep. (!x' x''. (rep x' = rep x'') ==> (x' = x'')) /\ (!x'''. (\b. b)x''' = (?x'. x''' = rep x')) ###one_DEF = |- one = (@x. T) ###() : void ###################one_axiom = |- !f g. f = g ##########one = |- !v. v = one ###########one_Axiom = |- !e. ?! fn. fn one = e ##=======> theory one built cd /<>/theories; rm -f HOL.th;\ echo 'new_theory `HOL`;;'\ 'map new_parent [`one`;`sum`;`tydefs`];;'\ 'close_theory();;'\ 'quit();;'\ | /<>/basic-hol;\ cd /<> BASIC-HOL version 2.02 (GCL) created 4/4/24 #() : void Theory one loaded Theory sum loaded Theory tydefs loaded [(); (); ()] : void list () : void =======> theory HOL built echo 'load_theory `num`;;'\ 'compilet `ml/numconv`;;'\ 'quit();;'\ | basic-hol BASIC-HOL version 2.02 (GCL) created 4/4/24 #Theory num loaded () : void num_CONV = - : conv Calling Lisp compiler File ml/numconv compiled () : void #echo 'set_search_path[``; `/<>/theories/`];;'\ 'load_theory `HOL`;;'\ 'compilet `ml/tydefs`;;'\ 'quit();;'\ | basic-hol BASIC-HOL version 2.02 (GCL) created 4/4/24 #() : void Theory HOL loaded () : void ignore = - : (string -> bool) is_sing = - : (string -> bool) getid = - : (string -> string list -> (string # string list)) gettyvid = - : (string -> string list -> (string # string list)) gnt = - : (string list -> ((string + string + string + void) # string list)) isid = - : ((* + **) -> bool) istyvar = - : ((* + ** + ***) -> bool) is = - : ((* + ** + *** + ****) -> *** -> bool) end = - : ((* + ** + *** + ****) -> bool) istyop = - : ((string + *) -> bool) ckrb = - : ((* + ** + string + ***) -> (* + ** + string + ***)) mk_ty = - : ((string # type list) -> type) parse_types = - : (string -> string list -> ((type + void) list # string list)) parse_clause = - : (string -> string -> string list -> string list -> (string # (type + void) list # string list)) parse_clauses = - : (string -> string list -> string list -> (string # (type + void) list) list) parse_input = - : (string -> (string # (string # (type + void) list) list)) pargs = - : ((* + **) list -> (* list # term)) mk_tuple_ty = - : (type list -> type) mk_tuple = - : (term list -> term) mk_sum_ty = - : (type list -> type) inject = - : (type -> term list -> term list) mkvars = - : (type list -> term list) mk_subset_pred = - : ((type + *) list list -> term) splitf = - : ((* -> bool) -> * list -> (* list # * # * list)) prove_existence_thm = - : conv variant_tyvar = - : (type list -> string list -> type) OR_IMP_CONV = - : conv FORALL_IN_CONV = - : conv CONJS_CONV = - : (conv -> conv) EQN_ELIM_CONV = - : conv LENGTH_MAP_CONV = - : (thm -> conv) LENGTH_ELIM_CONV = - : conv MAP_CONV = - : conv ELIM_MAP_CONV = - : conv TRANSFORM = - : (term -> thm -> (term # thm)) part = - : (int -> * list -> (* list # * list)) define_const = - : ((string # (* + **) list # term) -> thm) DEFINE_CONSTRUCTORS = - : (string list -> (* + **) list list -> thm -> thm) mk_tests = - : (* list -> type -> (term # term list)) mk_proj = - : (term -> * list -> type -> term list) extract_list = - : (type -> term -> term -> term list) strip_inj = - : (term -> term) extract_tuple = - : (type -> term -> term -> term list) gen_names = - : ((bool # bool) -> * list list -> string list) mk_fun_ty = - : (term -> type -> type) make_rhs = - : (type -> term -> term -> (bool # term # string # term list) -> (term # term)) make_conditional = - : (term list -> term list -> term) make_function = - : ((* + **) list list -> thm -> goal) PROJ_CONV = - : conv TEST_SIMP_CONV = - : conv LIST_ELS = - : (term -> thm list) GEN_PROJ_CONV = - : conv TUPLE_COMPS = - : (thm -> thm list) SIMP_CONV = - : conv SIMPLIFY = - : (thm -> thm) define_type = - : (string -> string -> thm) - : (string -> string -> thm) define_type = - : (string -> string -> thm) Calling Lisp compiler File ml/tydefs compiled () : void #echo 'compilet `ml/ind`;;'\ 'quit();;'\ | basic-hol BASIC-HOL version 2.02 (GCL) created 4/4/24 # BETAS = - : (term -> term -> conv) GTAC = - : (term -> tactic) TACF = - : (term -> term -> thm_tactic -> tactic) TACS = - : (term -> term -> thm_tactic -> tactic list) GOALS = - : (* -> ((* # term) -> (** # ***)) list -> term -> (** list # *** list)) GALPH = - : conv GALPHA = - : conv mapshape = - : (int list -> (* list -> **) list -> * list -> ** list) INDUCT_THEN = - : (thm -> thm_tactic -> tactic) - : (thm -> thm_tactic -> tactic) INDUCT_THEN = - : (thm -> thm_tactic -> tactic) Calling Lisp compiler File ml/ind compiled () : void #echo 'compilet `ml/prim_rec`;;'\ 'quit();;'\ | basic-hol BASIC-HOL version 2.02 (GCL) created 4/4/24 # derive_existence_thm = - : (thm -> conv) mk_fn = - : ((term # term # term list # term # goal) -> (term # term list # thm)) instantiate_existence_thm = - : (thm -> conv) closeup = - : (term -> term) prove_rec_fn_exists = - : (thm -> conv) - : (thm -> conv) prove_rec_fn_exists = - : (thm -> conv) new_recursive_definition = - : (bool -> thm -> string -> conv) Calling Lisp compiler File ml/prim_rec compiled () : void #echo 'set_search_path[``; `/<>/theories/`];;'\ 'load_theory `HOL`;;'\ 'compilet `ml/tyfns`;;'\ 'quit();;'\ | basic-hol BASIC-HOL version 2.02 (GCL) created 4/4/24 #() : void Theory HOL loaded () : void () : void UNIQUENESS = - : (thm -> thm) DEPTH_FORALL_CONV = - : (conv -> conv) CONJS_CONV = - : (conv -> conv) CONJS_SIMP = - : (conv -> conv) T_AND_CONV = - : conv GENL_T = - : (term list -> thm) SIMP_CONV = - : conv HYP_SIMP = - : conv ANTE_ALL_CONV = - : conv CONCL_SIMP = - : conv prove_induction_thm = - : (thm -> thm) - : (thm -> thm) prove_induction_thm = - : (thm -> thm) NOT_ALL_THENC = - : (conv -> conv) BASE_CONV = - : conv STEP_CONV = - : conv NOT_IN_CONV = - : conv STEP_SIMP = - : conv DISJS_CHAIN = - : (conv -> thm -> thm) prove_cases_thm = - : (thm -> thm) - : (thm -> thm) prove_cases_thm = - : (thm -> thm) PAIR_EQ_CONV = - : conv list_variant = - : (term list -> term list -> term list) prove_const_one_one = - : (thm -> conv) prove_constructors_one_one = - : (thm -> thm) - : (thm -> thm) prove_constructors_one_one = - : (thm -> thm) prove_constructors_distinct = - : (thm -> thm) Calling Lisp compiler File ml/tyfns compiled () : void #echo 'set_search_path[``; `/<>/theories/`];;'\ 'load_theory `HOL`;;'\ 'compilet `ml/num`;;'\ 'quit();;'\ | basic-hol BASIC-HOL version 2.02 (GCL) created 4/4/24 #() : void Theory HOL loaded () : void () : void INDUCT = - : ((thm # thm) -> thm) INDUCT_TAC = - : tactic new_prim_rec_definition = - : ((string # term) -> thm) new_infix_prim_rec_definition = - : ((string # term) -> thm) ADD_CONV = - : conv num_EQ_CONV = - : conv EXISTS_LEAST_CONV = - : conv EXISTS_GREATEST_CONV = - : conv term_of_int = - : (int -> term) int_of_term = - : (term -> int) Calling Lisp compiler File ml/num compiled () : void #echo 'set_search_path[``; `/<>/theories/`];;'\ 'load_theory `HOL`;;'\ 'compilet `ml/list`;;'\ 'quit();;'\ | basic-hol BASIC-HOL version 2.02 (GCL) created 4/4/24 #() : void Theory HOL loaded () : void () : void LIST_INDUCT = - : ((thm # thm) -> thm) LIST_INDUCT_TAC = - : tactic SNOC_INDUCT_TAC = - : tactic EQ_LENGTH_INDUCT_TAC = - : tactic EQ_LENGTH_SNOC_INDUCT_TAC = - : tactic new_list_rec_definition = - : ((string # term) -> thm) new_infix_list_rec_definition = - : ((string # term) -> thm) LENGTH_CONV = - : conv list_EQ_CONV = - : (conv -> conv) check_const = - : (string -> term -> bool) int_of_term = - : (term -> int) term_of_int = - : (int -> term) APPEND_CONV = - : conv MAP_CONV = - : (conv -> conv) FOLDR_CONV = - : (conv -> conv) FOLDL_CONV = - : (conv -> conv) list_FOLD_CONV = - : (thm -> conv -> conv) SUM_CONV = - : conv FILTER_CONV = - : (conv -> conv) SNOC_CONV = - : conv REVERSE_CONV = - : conv FLAT_CONV = - : conv EL_CONV = - : conv ELL_CONV = - : conv MAP2_CONV = - : (conv -> conv) ALL_EL_CONV = - : (conv -> conv) SOME_EL_CONV = - : (conv -> conv) IS_EL_CONV = - : (conv -> conv) LAST_CONV = - : conv BUTLAST_CONV = - : conv SUC_CONV = - : conv SEG_CONV = - : conv LASTN_CONV = - : conv BUTLASTN_CONV = - : conv BUTFIRSTN_CONV = - : conv FIRSTN_CONV = - : conv SCANL_CONV = - : (conv -> conv) SCANR_CONV = - : (conv -> conv) REPLICATE_CONV = - : conv GENLIST_CONV = - : (conv -> conv) ((-), (-), (-), (-), (-), (-), (-), (-), (-), (-), (-), (-), (-), (-), (-), (-), (-), (-), (-), (-), (-), (-), (-), (-), (-), (-), -) : (conv # (conv -> conv) # (conv -> conv) # (conv -> conv) # (thm -> conv -> conv) # conv # (conv -> conv) # conv # conv # conv # conv # conv # (conv -> conv) # (conv -> conv) # (conv -> conv) # (conv -> conv) # conv # conv # conv # conv # conv # conv # conv # (conv -> conv) # (conv -> conv) # conv # (conv -> conv)) APPEND_CONV = - : conv MAP_CONV = - : (conv -> conv) FOLDR_CONV = - : (conv -> conv) FOLDL_CONV = - : (conv -> conv) list_FOLD_CONV = - : (thm -> conv -> conv) SUM_CONV = - : conv FILTER_CONV = - : (conv -> conv) SNOC_CONV = - : conv REVERSE_CONV = - : conv FLAT_CONV = - : conv EL_CONV = - : conv ELL_CONV = - : conv MAP2_CONV = - : (conv -> conv) ALL_EL_CONV = - : (conv -> conv) SOME_EL_CONV = - : (conv -> conv) IS_EL_CONV = - : (conv -> conv) LAST_CONV = - : conv BUTLAST_CONV = - : conv SEG_CONV = - : conv LASTN_CONV = - : conv BUTLASTN_CONV = - : conv BUTFIRSTN_CONV = - : conv FIRSTN_CONV = - : conv SCANL_CONV = - : (conv -> conv) SCANR_CONV = - : (conv -> conv) REPLICATE_CONV = - : conv GENLIST_CONV = - : (conv -> conv) Calling Lisp compiler File ml/list compiled () : void #echo 'compilet `ml/lib_loader`;;'\ 'quit();;'\ | basic-hol BASIC-HOL version 2.02 (GCL) created 4/4/24 # define_load_lib_function = - : (string list -> void -> void) library_loader = - : ((string # string list # string list # string list # string # string # string list) -> void) Calling Lisp compiler File ml/lib_loader compiled () : void #if [ cl = cl ]; then\ echo '#+allegro (progn () (set-case-mode :case-insensitive-upper) (setq *cltl1-in-package-compatibility-p* t) (setq comp:*cltl1-compile-file-toplevel-compatibility-p* t) (setq *enable-package-locked-errors* nil))'\ '(load "lisp/f-cl") (compile-file "lisp/banner.l") (quit)'\ | gcl; else\ lisp/banner; fi GCL (GNU Common Lisp) 2.6.14 Fri Jan 13 10:47:56 AM EST 2023 CLtL1 git: Version_2_6_15pre7 Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl) Binary License: GPL due to GPL'ed components: (XGCL UNEXEC) Modifications of this banner must retain notice of a compatible license Dedicated to the memory of W. Schelter Use (help) to get some basic information on how to use GCL. Temporary directory for compiler files: /tmp/ >;; Loading "lisp/f-cl" start address -T 0x7f0c60 ;; Finished loading "lisp/f-cl" 21864 > Compiling lisp/banner.l. End of Pass 1. End of Pass 2. OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3 Finished compiling /<>/lisp/banner.o. #p"/<>/lisp/banner.o" NIL NIL >echo 'set_search_path[``; `/<>/theories/`];;'\ 'load_theory `HOL`;;'\ 'loadf `ml/load_thms`;;'\ 'loadf `ml/lib_loader`;;'\ 'loadf `ml/numconv`;;'\ 'loadf `ml/tydefs`;;'\ 'loadf `ml/ind`;;'\ 'loadf `ml/prim_rec`;;'\ 'loadf `ml/tyfns`;;'\ 'loadf `ml/num`;;'\ 'loadf `ml/list`;;'\ 'map delete_cache [`arithmetic`;`sum`;`list`];;'\ 'map delete_cache [`tree`;`ltree`;`prim_rec`];;'\ 'lisp `(load "lisp/banner")`;;'\ 'lisp `(setq %system-name "HOL")`;;'\ 'lisp `(setq %hol-dir "/<>")`;;'\ 'lisp `(setq %lib-dir "/<>/Library")`;;'\ 'lisp `(setq %liszt "")`;;'\ 'lisp `(setq %version "2.02 (GCL)")`;;'\ 'set_flag(`abort_when_fail`,false);;'\ 'set_search_path[``; `~/`; `/<>/theories/`];;'\ 'set_help_search_path (words `/<>/help/ENTRIES/`);;'\ 'set_library_search_path [`/<>/Library/`];;'\ 'lisp `(setup)`;;' >foo2 echo 'lisp `(throw (quote eof) t)`;; #+native-reloc(progn (with-open-file (s "foo2") (let ((*standard-input* s)) (tml)))(ml-save "hol")) #-native-reloc(let ((si::*collect-binary-modules* t)(si::*binary-modules* (with-open-file (s "bm.l") (read s)))) (with-open-file (s "foo2") (let ((*standard-input* s)) (tml)))(compiler::link (remove-duplicates si::*binary-modules* :test (function equal)) "hol" "(progn (load \"debian/gcl_patch.l\")(load \"foo\")(with-open-file (s \"foo1\") (let ((*standard-input* s)) (tml)))(with-open-file (s \"foo2\") (let ((*standard-input* s)) (tml)))(ml-save \"hol\")(quit))" "" nil)(quit))`;;' | basic-hol BASIC-HOL version 2.02 (GCL) created 4/4/24 #GCL (GNU Common Lisp) 2.6.14 Fri Jan 13 10:47:56 AM EST 2023 CLtL1 git: Version_2_6_15pre7 Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl) Binary License: GPL due to GPL'ed components: (XGCL UNEXEC) Modifications of this banner must retain notice of a compatible license Dedicated to the memory of W. Schelter Use (help) to get some basic information on how to use GCL. Temporary directory for compiler files: /tmp/ > BASIC-HOL version 2.02 (GCL) created 4/4/24 #() : void Theory HOL loaded () : void .........() : void #..() : void .() : void .......................................................() : void ...........() : void ........() : void ..............................() : void ...........() : void ...........................................() : void [(); (); ()] : void list [(); (); ()] : void list () : void () : void () : void () : void () : void () : void true : bool () : void () : void () : void () : void #make permissions make[3]: Entering directory '/<>' find $(ls -1 | grep -v debian) \ \( -type d -exec chmod 775 {} \; \) -o\ \( -type f -exec chmod 664 {} \; \) for f in hol hol-lcf basic-hol Manual/LaTeX/makeindex Manual/LaTeX/makeindex.bin/*/makeindex Manual/Reference/bin/mktex Manual/Reference/bin/typecheck ; do\ ( if [ -f $f ] ; then\ find $f -exec chmod 775 {} \; ;fi) ; \ done make[3]: Leaving directory '/<>' =======> hol88 version 2.02 (GCL) made make[2]: Leaving directory '/<>' date Thu Apr 4 14:46:55 UTC 2024 /usr/bin/make library make[2]: Entering directory '/<>' date Thu Apr 4 14:46:59 UTC 2024 (cd /<>/Library; /usr/bin/make LispType=cl\ Obj=o\ Lisp=gcl\ Liszt=\ LispDir=/<>/lisp\ Hol=/<>/hol library; cd ..) make[3]: Entering directory '/<>/Library' for lib in unwind taut sets reduce arith pred_sets string finite_sets res_quan wellorder abs_theory reals window pair word record_proof parser prettyp trs latex-hol more_arithmetic numeral ind_defs ; \ do (cd $lib; /usr/bin/make LispType=cl\ Obj=o\ Lisp=gcl\ Liszt=\ LispDir=/<>/lisp\ Hol=/<>/hol all; cd ..) ; \ done make[4]: Entering directory '/<>/Library/unwind' echo 'set_flag(`abort_when_fail`,true);;'\ 'compilet `unwinding`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool DEPTH_FORALL_CONV = - : (conv -> conv) DEPTH_EXISTS_CONV = - : (conv -> conv) FLATTEN_CONJ_CONV = - : conv CONJ_FORALL_ONCE_CONV = - : conv FORALL_CONJ_ONCE_CONV = - : conv CONJ_FORALL_CONV = - : conv FORALL_CONJ_CONV = - : conv CONJ_FORALL_RIGHT_RULE = - : (thm -> thm) FORALL_CONJ_RIGHT_RULE = - : (thm -> thm) UNFOLD_CONV = - : (thm list -> conv) UNFOLD_RIGHT_RULE = - : (thm list -> thm -> thm) line_var = - : (term -> term) line_name = - : (term -> string) UNWIND_ONCE_CONV = - : ((term -> bool) -> conv) UNWIND_CONV = - : ((term -> bool) -> conv) UNWIND_ALL_BUT_CONV = - : (string list -> conv) UNWIND_AUTO_CONV = - : conv UNWIND_ALL_BUT_RIGHT_RULE = - : (string list -> thm -> thm) UNWIND_AUTO_RIGHT_RULE = - : (thm -> thm) EXISTS_DEL1_CONV = - : conv EXISTS_DEL_CONV = - : conv EXISTS_EQN_CONV = - : conv PRUNE_ONCE_CONV = - : conv PRUNE_ONE_CONV = - : (string -> conv) PRUNE_SOME_CONV = - : (string list -> conv) PRUNE_CONV = - : conv PRUNE_SOME_RIGHT_RULE = - : (string list -> thm -> thm) PRUNE_RIGHT_RULE = - : (thm -> thm) EXPAND_ALL_BUT_CONV = - : (string list -> thm list -> conv) EXPAND_AUTO_CONV = - : (thm list -> conv) EXPAND_ALL_BUT_RIGHT_RULE = - : (string list -> thm list -> thm -> thm) EXPAND_AUTO_RIGHT_RULE = - : (thm list -> thm -> thm) Calling Lisp compiler File unwinding compiled () : void #===> library unwind rebuilt make[4]: Leaving directory '/<>/Library/unwind' make[4]: Entering directory '/<>/Library/taut' echo 'set_flag(`abort_when_fail`,true);;'\ 'compilet `taut_check`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool is_T = - : (term -> bool) is_F = - : (term -> bool) BOOL_CASES_T_F = |- !f. (f T = F) ==> ((!x. f x) = F) BOOL_CASES_F_F = |- !f. (f F = F) ==> ((!x. f x) = F) BOOL_CASES_BOTH_T_RULE = - : ((thm # thm) -> conv) BOOL_CASES_T_F_RULE = - : (thm -> conv) BOOL_CASES_F_F_RULE = - : (thm -> conv) qconv = `QCONV` : string QCONV = - : (conv -> conv) ALL_QCONV = - : conv THENQC = - : (conv -> conv -> conv) ORELSEQC = - : (conv -> conv -> conv) TRY_QCONV = - : (conv -> conv) RAND_QCONV = - : (conv -> conv) RATOR_QCONV = - : (conv -> conv) ABS_QCONV = - : (conv -> conv) T_REFL = |- T = T F_REFL = |- F = F NOT_CONV = - : conv EQ_CONV = - : conv EQ_THEN_NOT_CONV = - : conv AND_CONV = - : conv OR_CONV = - : conv IMP_CONV = - : conv IMP_THEN_NOT_CONV = - : conv IF_CONV = - : conv SIMP_PROP_QCONV = - : conv DEPTH_FORALL_QCONV = - : (conv -> conv) FORALL_T = - : (term list -> thm) FORALL_F = - : (term list -> thm) TAUT_CHECK_CONV = - : conv PTAUT_CONV = - : conv PTAUT_TAC = - : tactic PTAUT_PROVE = - : conv non_prop_terms = - : (term -> term list) TAUT_CONV = - : conv TAUT_TAC = - : tactic TAUT_PROVE = - : conv ((-), (-), (-), (-), (-), -) : (conv # tactic # conv # conv # tactic # conv) PTAUT_CONV = - : conv PTAUT_TAC = - : tactic PTAUT_PROVE = - : conv TAUT_CONV = - : conv TAUT_TAC = - : tactic TAUT_PROVE = - : conv Calling Lisp compiler File taut_check compiled () : void #===> library taut rebuilt make[4]: Leaving directory '/<>/Library/taut' make[4]: Entering directory '/<>/Library/sets' rm -f sets.th echo 'set_flag(`abort_when_fail`,true);;'\ 'loadt `mk_sets`;;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool () : void EXISTENCE_THM = |- ?s. (\p. T)s set_TY_DEF = |- ?rep. TYPE_DEFINITION(\p. T)rep set_ISO_DEF = |- (!a. SPEC(CHF a) = a) /\ (!r. (\p. T)r = (CHF(SPEC r) = r)) CHF_11 = |- !a a'. (CHF a = CHF a') = (a = a') set_ISO_DEF = |- (!a. SPEC(CHF a) = a) /\ (!r. CHF(SPEC r) = r) IN_DEF = |- !x s. x IN s = CHF s x SPECIFICATION = |- !P x. x IN (SPEC P) = P x EXTENSION = |- !s t. (s = t) = (!x. x IN s = x IN t) NOT_EQUAL_SETS = |- !s t. ~(s = t) = (?x. x IN t = ~x IN s) Theorem NOT_LESS autoloading from theory `arithmetic` ... NOT_LESS = |- !m n. ~m < n = n <= m Theorem WOP autoloading from theory `arithmetic` ... WOP = |- !P. (?n. P n) ==> (?n. P n /\ (!m. m < n ==> ~P m)) NUM_SET_WOP = |- !s. (?n. n IN s) = (?n. n IN s /\ (!m. m IN s ==> n <= m)) GSPEC_DEF = |- !f. GSPEC f = SPEC(\y. ?x. y,T = f x) GSPECIFICATION = |- !f v. v IN (GSPEC f) = (?x. v,T = f x) Section SET_SPEC_CONV begun dest_tuple = - : (term -> term list) MK_PAIR = - : (* list -> conv) EXISTS_TUPLE_CONV = - : (term list -> conv) PAIR_EQ_CONV = - : conv ELIM_EXISTS_CONV = - : conv PROVE_EXISTS = - : conv list_variant = - : (term list -> term list -> term list) SET_SPEC_CONV = - : conv - : conv Section SET_SPEC_CONV ended SET_SPEC_CONV = - : conv File gspec.ml loaded () : void () : void true : bool lemma = |- !s x. x IN s ==> (!f. (f x) IN {f x | x IN s}) SET_MINIMUM = |- !s M. (?x. x IN s) = (?x. x IN s /\ (!y. y IN s ==> (M x) <= (M y))) EMPTY_DEF = |- EMPTY = SPEC(\x. F) NOT_IN_EMPTY = |- !x. ~x IN EMPTY MEMBER_NOT_EMPTY = |- !s. (?x. x IN s) = ~(s = EMPTY) UNIV_DEF = |- UNIV = SPEC(\x. T) IN_UNIV = |- !x. x IN UNIV UNIV_NOT_EMPTY = |- ~(UNIV = EMPTY) EMPTY_NOT_UNIV = |- ~(EMPTY = UNIV) EQ_UNIV = |- (!x. x IN s) = (s = UNIV) SUBSET_DEF = |- !s t. s SUBSET t = (!x. x IN s ==> x IN t) SUBSET_TRANS = |- !s t u. s SUBSET t /\ t SUBSET u ==> s SUBSET u SUBSET_REFL = |- !s. s SUBSET s SUBSET_ANTISYM = |- !s t. s SUBSET t /\ t SUBSET s ==> (s = t) EMPTY_SUBSET = |- !s. EMPTY SUBSET s SUBSET_EMPTY = |- !s. s SUBSET EMPTY = (s = EMPTY) SUBSET_UNIV = |- !s. s SUBSET UNIV UNIV_SUBSET = |- !s. UNIV SUBSET s = (s = UNIV) PSUBSET_DEF = |- !s t. s PSUBSET t = s SUBSET t /\ ~(s = t) PSUBSET_TRANS = |- !s t u. s PSUBSET t /\ t PSUBSET u ==> s PSUBSET u PSUBSET_IRREFL = |- !s. ~s PSUBSET s NOT_PSUBSET_EMPTY = |- !s. ~s PSUBSET EMPTY NOT_UNIV_PSUBSET = |- !s. ~UNIV PSUBSET s PSUBSET_UNIV = |- !s. s PSUBSET UNIV = (?x. ~x IN s) UNION_DEF = |- !s t. s UNION t = {x | x IN s \/ x IN t} IN_UNION = |- !s t x. x IN (s UNION t) = x IN s \/ x IN t UNION_ASSOC = |- !s t u. (s UNION t) UNION u = s UNION (t UNION u) UNION_IDEMPOT = |- !s. s UNION s = s UNION_COMM = |- !s t. s UNION t = t UNION s SUBSET_UNION = |- (!s t. s SUBSET (s UNION t)) /\ (!s t. s SUBSET (t UNION s)) SUBSET_UNION_ABSORPTION = |- !s t. s SUBSET t = (s UNION t = t) UNION_EMPTY = |- (!s. EMPTY UNION s = s) /\ (!s. s UNION EMPTY = s) UNION_UNIV = |- (!s. UNIV UNION s = UNIV) /\ (!s. s UNION UNIV = UNIV) EMPTY_UNION = |- !s t. (s UNION t = EMPTY) = (s = EMPTY) /\ (t = EMPTY) INTER_DEF = |- !s t. s INTER t = {x | x IN s /\ x IN t} IN_INTER = |- !s t x. x IN (s INTER t) = x IN s /\ x IN t INTER_ASSOC = |- !s t u. (s INTER t) INTER u = s INTER (t INTER u) INTER_IDEMPOT = |- !s. s INTER s = s INTER_COMM = |- !s t. s INTER t = t INTER s INTER_SUBSET = |- (!s t. (s INTER t) SUBSET s) /\ (!s t. (t INTER s) SUBSET s) SUBSET_INTER_ABSORPTION = |- !s t. s SUBSET t = (s INTER t = s) INTER_EMPTY = |- (!s. EMPTY INTER s = EMPTY) /\ (!s. s INTER EMPTY = EMPTY) INTER_UNIV = |- (!s. UNIV INTER s = s) /\ (!s. s INTER UNIV = s) UNION_OVER_INTER = |- !s t u. s INTER (t UNION u) = (s INTER t) UNION (s INTER u) INTER_OVER_UNION = |- !s t u. s UNION (t INTER u) = (s UNION t) INTER (s UNION u) DISJOINT_DEF = |- !s t. DISJOINT s t = (s INTER t = EMPTY) IN_DISJOINT = |- !s t. DISJOINT s t = ~(?x. x IN s /\ x IN t) DISJOINT_SYM = |- !s t. DISJOINT s t = DISJOINT t s DISJOINT_EMPTY = |- !s. DISJOINT EMPTY s /\ DISJOINT s EMPTY DISJOINT_EMPTY_REFL = |- !s. (s = EMPTY) = DISJOINT s s DISJOINT_UNION = |- !s t u. DISJOINT(s UNION t)u = DISJOINT s u /\ DISJOINT t u DIFF_DEF = |- !s t. s DIFF t = {x | x IN s /\ ~x IN t} IN_DIFF = |- !s t x. x IN (s DIFF t) = x IN s /\ ~x IN t DIFF_EMPTY = |- !s. s DIFF EMPTY = s EMPTY_DIFF = |- !s. EMPTY DIFF s = EMPTY DIFF_UNIV = |- !s. s DIFF UNIV = EMPTY DIFF_DIFF = |- !s t. (s DIFF t) DIFF t = s DIFF t DIFF_EQ_EMPTY = |- !s. s DIFF s = EMPTY INSERT_DEF = |- !x s. x INSERT s = {y | (y = x) \/ y IN s} () : void IN_INSERT = |- !x y s. x IN (y INSERT s) = (x = y) \/ x IN s COMPONENT = |- !x s. x IN (x INSERT s) SET_CASES = |- !s. (s = {}) \/ (?x t. (s = x INSERT t) /\ ~x IN t) DECOMPOSITION = |- !s x. x IN s = (?t. (s = x INSERT t) /\ ~x IN t) ABSORPTION = |- !x s. x IN s = (x INSERT s = s) INSERT_INSERT = |- !x s. x INSERT (x INSERT s) = x INSERT s INSERT_COMM = |- !x y s. x INSERT (y INSERT s) = y INSERT (x INSERT s) INSERT_UNIV = |- !x. x INSERT UNIV = UNIV NOT_INSERT_EMPTY = |- !x s. ~(x INSERT s = {}) NOT_EMPTY_INSERT = |- !x s. ~({} = x INSERT s) INSERT_UNION = |- !x s t. (x INSERT s) UNION t = (x IN t => s UNION t | x INSERT (s UNION t)) INSERT_UNION_EQ = |- !x s t. (x INSERT s) UNION t = x INSERT (s UNION t) INSERT_INTER = |- !x s t. (x INSERT s) INTER t = (x IN t => x INSERT (s INTER t) | s INTER t) DISJOINT_INSERT = |- !x s t. DISJOINT(x INSERT s)t = DISJOINT s t /\ ~x IN t INSERT_SUBSET = |- !x s t. (x INSERT s) SUBSET t = x IN t /\ s SUBSET t SUBSET_INSERT = |- !x s. ~x IN s ==> (!t. s SUBSET (x INSERT t) = s SUBSET t) INSERT_DIFF = |- !s t x. (x INSERT s) DIFF t = (x IN t => s DIFF t | x INSERT (s DIFF t)) DELETE_DEF = |- !s x. s DELETE x = s DIFF {x} IN_DELETE = |- !s x y. x IN (s DELETE y) = x IN s /\ ~(x = y) DELETE_NON_ELEMENT = |- !x s. ~x IN s = (s DELETE x = s) IN_DELETE_EQ = |- !s x x'. (x IN s = x' IN s) = (x IN (s DELETE x') = x' IN (s DELETE x)) EMPTY_DELETE = |- !x. {} DELETE x = {} DELETE_DELETE = |- !x s. (s DELETE x) DELETE x = s DELETE x DELETE_COMM = |- !x y s. (s DELETE x) DELETE y = (s DELETE y) DELETE x DELETE_SUBSET = |- !x s. (s DELETE x) SUBSET s SUBSET_DELETE = |- !x s t. s SUBSET (t DELETE x) = ~x IN s /\ s SUBSET t SUBSET_INSERT_DELETE = |- !x s t. s SUBSET (x INSERT t) = (s DELETE x) SUBSET t DIFF_INSERT = |- !s t x. s DIFF (x INSERT t) = (s DELETE x) DIFF t PSUBSET_INSERT_SUBSET = |- !s t. s PSUBSET t = (?x. ~x IN s /\ (x INSERT s) SUBSET t) lemma = |- ~(a = b) = (b = ~a) PSUBSET_MEMBER = |- !s t. s PSUBSET t = s SUBSET t /\ (?y. y IN t /\ ~y IN s) DELETE_INSERT = |- !x y s. (x INSERT s) DELETE y = ((x = y) => s DELETE y | x INSERT (s DELETE y)) INSERT_DELETE = |- !x s. x IN s ==> (x INSERT (s DELETE x) = s) DELETE_INTER = |- !s t x. (s DELETE x) INTER t = (s INTER t) DELETE x DISJOINT_DELETE_SYM = |- !s t x. DISJOINT(s DELETE x)t = DISJOINT(t DELETE x)s CHOICE_EXISTS = |- ?CHOICE. !s. ~(s = {}) ==> (CHOICE s) IN s CHOICE_DEF = |- !s. ~(s = {}) ==> (CHOICE s) IN s REST_DEF = |- !s. REST s = s DELETE (CHOICE s) CHOICE_NOT_IN_REST = |- !s. ~(CHOICE s) IN (REST s) CHOICE_INSERT_REST = |- !s. ~(s = {}) ==> ((CHOICE s) INSERT (REST s) = s) REST_SUBSET = |- !s. (REST s) SUBSET s lemma = |- (P /\ Q = P) = P ==> Q REST_PSUBSET = |- !s. ~(s = {}) ==> (REST s) PSUBSET s SING_DEF = |- !s. SING s = (?x. s = {x}) SING = |- !x. SING{x} IN_SING = |- !x y. x IN {y} = (x = y) NOT_SING_EMPTY = |- !x. ~({x} = {}) NOT_EMPTY_SING = |- !x. ~({} = {x}) EQUAL_SING = |- !x y. ({x} = {y}) = (x = y) DISJOINT_SING_EMPTY = |- !x. DISJOINT{x}{} INSERT_SING_UNION = |- !s x. x INSERT s = {x} UNION s SING_DELETE = |- !x. {x} DELETE x = {} DELETE_EQ_SING = |- !s x. x IN s ==> ((s DELETE x = {}) = (s = {x})) CHOICE_SING = |- !x. CHOICE{x} = x REST_SING = |- !x. REST{x} = {} SING_IFF_EMPTY_REST = |- !s. SING s = ~(s = {}) /\ (REST s = {}) IMAGE_DEF = |- !f s. IMAGE f s = {f x | x IN s} IN_IMAGE = |- !y s f. y IN (IMAGE f s) = (?x. (y = f x) /\ x IN s) IMAGE_IN = |- !x s. x IN s ==> (!f. (f x) IN (IMAGE f s)) IMAGE_EMPTY = |- !f. IMAGE f{} = {} IMAGE_ID = |- !s. IMAGE(\x. x)s = s Theorem o_THM autoloading from theory `combin` ... o_THM = |- !f g x. (f o g)x = f(g x) IMAGE_COMPOSE = |- !f g s. IMAGE(f o g)s = IMAGE f(IMAGE g s) IMAGE_INSERT = |- !f x s. IMAGE f(x INSERT s) = (f x) INSERT (IMAGE f s) IMAGE_EQ_EMPTY = |- !s f. (IMAGE f s = {}) = (s = {}) IMAGE_DELETE = |- !f x s. ~x IN s ==> (IMAGE f(s DELETE x) = IMAGE f s) IMAGE_UNION = |- !f s t. IMAGE f(s UNION t) = (IMAGE f s) UNION (IMAGE f t) IMAGE_SUBSET = |- !s t. s SUBSET t ==> (!f. (IMAGE f s) SUBSET (IMAGE f t)) IMAGE_INTER = |- !f s t. (IMAGE f(s INTER t)) SUBSET ((IMAGE f s) INTER (IMAGE f t)) INJ_DEF = |- !f s t. INJ f s t = (!x. x IN s ==> (f x) IN t) /\ (!x y. x IN s /\ y IN s ==> (f x = f y) ==> (x = y)) INJ_ID = |- !s. INJ(\x. x)s s INJ_COMPOSE = |- !f g s t u. INJ f s t /\ INJ g t u ==> INJ(g o f)s u INJ_EMPTY = |- !f. (!s. INJ f{}s) /\ (!s. INJ f s{} = (s = {})) SURJ_DEF = |- !f s t. SURJ f s t = (!x. x IN s ==> (f x) IN t) /\ (!x. x IN t ==> (?y. y IN s /\ (f y = x))) SURJ_ID = |- !s. SURJ(\x. x)s s SURJ_COMPOSE = |- !f g s t u. SURJ f s t /\ SURJ g t u ==> SURJ(g o f)s u SURJ_EMPTY = |- !f. (!s. SURJ f{}s = (s = {})) /\ (!s. SURJ f s{} = (s = {})) IMAGE_SURJ = |- !f s t. SURJ f s t = (IMAGE f s = t) BIJ_DEF = |- !f s t. BIJ f s t = INJ f s t /\ SURJ f s t BIJ_ID = |- !s. BIJ(\x. x)s s BIJ_EMPTY = |- !f. (!s. BIJ f{}s = (s = {})) /\ (!s. BIJ f s{} = (s = {})) BIJ_COMPOSE = |- !f g s t u. BIJ f s t /\ BIJ g t u ==> BIJ(g o f)s u lemma1 = |- !f s. (!x y. x IN s /\ y IN s ==> (f x = f y) ==> (x = y)) = (!y. y IN s ==> (!x. x IN s /\ (f x = f y) = y IN s /\ (x = y))) lemma2 = |- !f s. ?g. !t. INJ f s t ==> (!x. x IN s ==> (g(f x) = x)) LINV_DEF = |- !f s t. INJ f s t ==> (!x. x IN s ==> (LINV f s(f x) = x)) lemma3 = |- !f s. ?g. !t. SURJ f s t ==> (!x. x IN t ==> (f(g x) = x)) RINV_DEF = |- !f s t. SURJ f s t ==> (!x. x IN t ==> (f(RINV f s x) = x)) FINITE_DEF = |- !s. FINITE s = (!P. P{} /\ (!s'. P s' ==> (!e. P(e INSERT s'))) ==> P s) FINITE_EMPTY = |- FINITE{} FINITE_INSERT = |- !s. FINITE s ==> (!x. FINITE(x INSERT s)) SIMPLE_FINITE_INDUCT = |- !P. P{} /\ (!s. P s ==> (!e. P(e INSERT s))) ==> (!s. FINITE s ==> P s) lemma = |- P{} /\ (!s. FINITE s /\ P s ==> (!e. FINITE(e INSERT s) /\ P(e INSERT s))) ==> (!s. FINITE s ==> P s) FINITE_INDUCT = |- !P. P{} /\ (!s. FINITE s /\ P s ==> (!e. ~e IN s ==> P(e INSERT s))) ==> (!s. FINITE s ==> P s) SET_INDUCT_TAC = - : tactic File set_ind loaded () : void FINITE_DELETE = |- !s. FINITE s ==> (!x. FINITE(s DELETE x)) INSERT_FINITE = |- !x s. FINITE(x INSERT s) ==> FINITE s FINITE_INSERT = |- !x s. FINITE(x INSERT s) = FINITE s DELETE_FINITE = |- !x s. FINITE(s DELETE x) ==> FINITE s FINITE_DELETE = |- !x s. FINITE(s DELETE x) = FINITE s UNION_FINITE = |- !s. FINITE s ==> (!t. FINITE t ==> FINITE(s UNION t)) FINITE_UNION_LEMMA = |- !s. FINITE s ==> (!t. FINITE(s UNION t) ==> FINITE t) FINITE_UNION = |- !s t. FINITE(s UNION t) ==> FINITE s /\ FINITE t FINITE_UNION = |- !s t. FINITE(s UNION t) = FINITE s /\ FINITE t INTER_FINITE = |- !s. FINITE s ==> (!t. FINITE(s INTER t)) SUBSET_FINITE = |- !s. FINITE s ==> (!t. t SUBSET s ==> FINITE t) PSUBSET_FINITE = |- !s. FINITE s ==> (!t. t PSUBSET s ==> FINITE t) FINITE_DIFF = |- !s. FINITE s ==> (!t. FINITE(s DIFF t)) FINITE_SING = |- !x. FINITE{x} SING_FINITE = |- !s. SING s ==> FINITE s IMAGE_FINITE = |- !s. FINITE s ==> (!f. FINITE(IMAGE f s)) card_rel_def = "(!s. R s 0 = (s = {})) /\ (!s n. R s(SUC n) = (?x. x IN s /\ R(s DELETE x)n))" : term Theorem num_Axiom autoloading from theory `prim_rec` ... num_Axiom = |- !e f. ?! fn. (fn 0 = e) /\ (!n. fn(SUC n) = f(fn n)n) CARD_REL_EXISTS = |- ?R. (!s. R s 0 = (s = {})) /\ (!s n. R s(SUC n) = (?x. x IN s /\ R(s DELETE x)n)) CARD_REL_DEL_LEMMA = .. |- !n s x. x IN s ==> R(s DELETE x)n ==> (!y. y IN s ==> R(s DELETE y)n) Theorem INV_SUC_EQ autoloading from theory `prim_rec` ... INV_SUC_EQ = |- !m n. (SUC m = SUC n) = (m = n) Theorem NOT_SUC autoloading from theory `num` ... NOT_SUC = |- !n. ~(SUC n = 0) CARD_REL_UNIQUE = .. |- !n s. R s n ==> (!m. R s m ==> (n = m)) CARD_REL_EXISTS_LEMMA = .. |- !s. FINITE s ==> (?n. R s n) CARD_REL_THM = .. |- !m s. FINITE s ==> (((@n. R s n) = m) = R s m) CARD_EXISTS = |- ?CARD. (CARD{} = 0) /\ (!s. FINITE s ==> (!x. CARD(x INSERT s) = (x IN s => CARD s | SUC(CARD s)))) CARD_DEF = |- (CARD{} = 0) /\ (!s. FINITE s ==> (!x. CARD(x INSERT s) = (x IN s => CARD s | SUC(CARD s)))) CARD_EMPTY = |- CARD{} = 0 CARD_INSERT = |- !s. FINITE s ==> (!x. CARD(x INSERT s) = (x IN s => CARD s | SUC(CARD s))) CARD_EQ_0 = |- !s. FINITE s ==> ((CARD s = 0) = (s = {})) Theorem num_CASES autoloading from theory `arithmetic` ... num_CASES = |- !m. (m = 0) \/ (?n. m = SUC n) Theorem SUC_SUB1 autoloading from theory `arithmetic` ... SUC_SUB1 = |- !m. (SUC m) - 1 = m CARD_DELETE = |- !s. FINITE s ==> (!x. CARD(s DELETE x) = (x IN s => (CARD s) - 1 | CARD s)) Theorem LESS_MONO_EQ autoloading from theory `arithmetic` ... LESS_MONO_EQ = |- !m n. (SUC m) < (SUC n) = m < n Definition LESS_OR_EQ autoloading from theory `arithmetic` ... LESS_OR_EQ = |- !m n. m <= n = m < n \/ (m = n) lemma1 = |- !n m. (SUC n) <= (SUC m) = n <= m Theorem LESS_THM autoloading from theory `prim_rec` ... LESS_THM = |- !m n. m < (SUC n) = (m = n) \/ m < n lemma2 = |- !n m. n <= (SUC m) = n <= m \/ (n = SUC m) Theorem LESS_EQ_REFL autoloading from theory `arithmetic` ... LESS_EQ_REFL = |- !m. m <= m CARD_INTER_LESS_EQ = |- !s. FINITE s ==> (!t. (CARD(s INTER t)) <= (CARD s)) Theorem ADD_CLAUSES autoloading from theory `arithmetic` ... ADD_CLAUSES = |- (0 + m = m) /\ (m + 0 = m) /\ ((SUC m) + n = SUC(m + n)) /\ (m + (SUC n) = SUC(m + n)) CARD_UNION = |- !s. FINITE s ==> (!t. FINITE t ==> ((CARD(s UNION t)) + (CARD(s INTER t)) = (CARD s) + (CARD t))) lemma = |- !n m. n <= (SUC m) = n <= m \/ (n = SUC m) Theorem LESS_0 autoloading from theory `prim_rec` ... LESS_0 = |- !n. 0 < (SUC n) CARD_SUBSET = |- !s. FINITE s ==> (!t. t SUBSET s ==> (CARD t) <= (CARD s)) Theorem LESS_EQ autoloading from theory `arithmetic` ... LESS_EQ = |- !m n. m < n = (SUC m) <= n CARD_PSUBSET = |- !s. FINITE s ==> (!t. t PSUBSET s ==> (CARD t) < (CARD s)) CARD_SING = |- !x. CARD{x} = 1 SING_IFF_CARD1 = |- !s. SING s = (CARD s = 1) /\ FINITE s Theorem SUB_PLUS autoloading from theory `arithmetic` ... SUB_PLUS = |- !a b c. a - (b + c) = (a - b) - c Theorem SUB_0 autoloading from theory `arithmetic` ... SUB_0 = |- !m. (0 - m = 0) /\ (m - 0 = m) CARD_DIFF = |- !t. FINITE t ==> (!s. FINITE s ==> (CARD(s DIFF t) = (CARD s) - (CARD(s INTER t)))) Theorem SUB_LESS_0 autoloading from theory `arithmetic` ... SUB_LESS_0 = |- !n m. m < n = 0 < (n - m) LESS_CARD_DIFF = |- !t. FINITE t ==> (!s. FINITE s ==> (CARD t) < (CARD s) ==> 0 < (CARD(s DIFF t))) INFINITE_DEF = |- !s. INFINITE s = ~FINITE s NOT_IN_FINITE = |- INFINITE UNIV = (!s. FINITE s ==> (?x. ~x IN s)) INVERSE_LEMMA = |- !f. (!x y. (f x = f y) ==> (x = y)) ==> ((\x. @y. x = f y) o f = (\x. x)) IMAGE_11_INFINITE = |- !f. (!x y. (f x = f y) ==> (x = y)) ==> (!s. INFINITE s ==> INFINITE(IMAGE f s)) INFINITE_SUBSET = |- !s. INFINITE s ==> (!t. s SUBSET t ==> INFINITE t) IN_INFINITE_NOT_FINITE = |- !s t. INFINITE s /\ FINITE t ==> (?x. x IN s /\ ~x IN t) gdef = ["g 0 = {}"; "!n. g(SUC n) = (@x. ~x IN (g n)) INSERT (g n)"] : term list g_finite = .. |- !n. FINITE(g n) g_subset = . |- !n x. x IN (g n) ==> (!i. x IN (g(n + i))) lemma = |- (A \/ B) /\ ~B = A /\ ~B Theorem LESS_SUC_REFL autoloading from theory `prim_rec` ... LESS_SUC_REFL = |- !n. n < (SUC n) g_cases = .. |- (!s. FINITE s ==> (?x. ~x IN s)) ==> (!x. (?n. x IN (g n)) ==> (?m. x IN (g(SUC m)) /\ ~x IN (g m))) z_in_g1 = .. |- (@x. ~x IN {}) IN (g(SUC 0)) Theorem ADD_SYM autoloading from theory `arithmetic` ... ADD_SYM = |- !m n. m + n = n + m Theorem ADD1 autoloading from theory `arithmetic` ... ADD1 = |- !m. SUC m = m + 1 z_in_gn = .. |- !n. (@x. ~x IN {}) IN (g(SUC n)) in_lemma = . |- !n. (@x. ~x IN (g n)) IN (g(SUC n)) not_in_lemma = .. |- (!s. FINITE s ==> (?x. ~x IN s)) ==> (!i n. ~(@x. ~x IN (g(n + i))) IN (g n)) Theorem LESS_NOT_EQ autoloading from theory `prim_rec` ... LESS_NOT_EQ = |- !m n. m < n ==> ~(m = n) Theorem LESS_REFL autoloading from theory `prim_rec` ... LESS_REFL = |- !n. ~n < n less_lemma = |- !m n. ~(m = n) = m < n \/ n < m Theorem LESS_ADD_1 autoloading from theory `arithmetic` ... LESS_ADD_1 = |- !m n. n < m ==> (?p. m = n + (p + 1)) gn_unique = .. |- (!s. FINITE s ==> (?x. ~x IN s)) ==> (!n m. ((@x. ~x IN (g n)) = (@x. ~x IN (g m))) = (n = m)) x_unique = .. |- !n x y. ~x IN (g n) /\ ~y IN (g n) ==> x IN (g(SUC n)) ==> y IN (g(SUC n)) ==> (x = y) fdef = "\x. ((?n. x IN (g n)) => (@y. ~y IN (g(SUC(@n. x IN (g(SUC n)) /\ ~x IN (g n))))) | x)" : term cases = |- !x. (?n. x IN (g n)) \/ (!n. ~x IN (g n)) INF_IMP_INFINITY = |- (!s. FINITE s ==> (?x. ~x IN s)) ==> (?f. (!x y. (f x = f y) ==> (x = y)) /\ (?y. !x. ~(f x = y))) prth = |- ?fn. (!f x. fn f x 0 = x) /\ (!f x n. fn f x(SUC n) = f(fn f x n)) prmth = |- !x f. ?fn. (fn 0 = x) /\ (!n. fn(SUC n) = f(fn n)) num_fn_thm = |- (?f. (!x y. (f x = f y) ==> (x = y)) /\ (?y. !x. ~(f x = y))) ==> (?fn. !n m. (fn n = fn m) ==> (n = m)) Theorem LESS_IMP_LESS_ADD autoloading from theory `arithmetic` ... LESS_IMP_LESS_ADD = |- !n m. n < m ==> (!p. n < (m + p)) Theorem LESS_ADD_SUC autoloading from theory `arithmetic` ... LESS_ADD_SUC = |- !m n. m < (m + (SUC n)) finite_N_bounded = |- !s. FINITE s ==> (?m. !n. n IN s ==> n < m) N_lemma = |- INFINITE UNIV main_lemma = |- !s. FINITE s ==> (!f. (!n m. (f n = f m) ==> (n = m)) ==> (?n. ~(f n) IN s)) INFINITY_IMP_INF = |- (?f. (!x y. (f x = f y) ==> (x = y)) /\ (?y. !x. ~(f x = y))) ==> (!s. FINITE s ==> (?x. ~x IN s)) INFINITE_UNIV = |- INFINITE UNIV = (?f. (!x y. (f x = f y) ==> (x = y)) /\ (?y. !x. ~(f x = y))) FINITE_PSUBSET_INFINITE = |- !s. INFINITE s = (!t. FINITE t ==> t SUBSET s ==> t PSUBSET s) FINITE_PSUBSET_UNIV = |- INFINITE UNIV = (!s. FINITE s ==> s PSUBSET UNIV) INFINITE_DIFF_FINITE = |- !s t. INFINITE s /\ FINITE t ==> ~(s DIFF t = {}) Theorem NOT_LESS_0 autoloading from theory `prim_rec` ... NOT_LESS_0 = |- !n. ~n < 0 FINITE_ISO_NUM = |- !s. FINITE s ==> (?f. (!n m. n < (CARD s) /\ m < (CARD s) ==> (f n = f m) ==> (n = m)) /\ (s = {f n | n < (CARD s)})) echo 'set_flag(`abort_when_fail`,true);;'\ 'load_theory `sets`;;'\ 'compilet `set_ind`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool Theory sets loaded () : void SET_INDUCT_TAC = - : tactic Calling Lisp compiler File set_ind compiled () : void #echo 'set_flag(`abort_when_fail`,true);;'\ 'load_theory `sets`;;'\ 'compilet `gspec`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool Theory sets loaded () : void dest_tuple = - : (term -> term list) MK_PAIR = - : (* list -> conv) EXISTS_TUPLE_CONV = - : (term list -> conv) PAIR_EQ_CONV = - : conv ELIM_EXISTS_CONV = - : conv PROVE_EXISTS = - : conv list_variant = - : (term list -> term list -> term list) SET_SPEC_CONV = - : conv - : conv SET_SPEC_CONV = - : conv Calling Lisp compiler File gspec compiled () : void #echo 'set_flag(`abort_when_fail`,true);;'\ 'load_theory `sets`;;'\ 'compilet `fset_conv`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool Theory sets loaded () : void FINITE_CONV = - : conv IN_CONV = - : (conv -> conv) DELETE_CONV = - : (conv -> conv) UNION_CONV = - : (conv -> conv) INSERT_CONV = - : (conv -> conv) IMAGE_CONV = - : (conv -> conv -> conv) Calling Lisp compiler File fset_conv compiled () : void #===> library sets rebuilt make[4]: Leaving directory '/<>/Library/sets' make[4]: Entering directory '/<>/Library/reduce' \ echo 'set_flag(`abort_when_fail`,true);;' \ 'compilet `arithconv`;;' \ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool dest_op = - : (term -> term -> term list) term_of_int = - : (int -> term) int_of_term = - : (term -> int) provelt = - : (int -> int -> thm) NEQ_CONV = - : conv LT_CONV = - : conv GT_CONV = - : conv LE_CONV = - : conv GE_CONV = - : conv SUC_CONV = - : conv PRE_CONV = - : conv SBC_CONV = - : conv ADD_CONV = - : conv MUL_CONV = - : conv EXP_CONV = - : conv DIV_CONV = - : conv MOD_CONV = - : conv Calling Lisp compiler File arithconv compiled () : void #\ echo 'set_flag(`abort_when_fail`,true);;' \ 'compilet `boolconv`;;' \ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool dest_op = - : (term -> term -> term list) NOT_CONV = - : conv AND_CONV = - : conv OR_CONV = - : conv IMP_CONV = - : conv BEQ_CONV = - : conv COND_CONV = - : conv Calling Lisp compiler File boolconv compiled () : void #\ echo 'set_flag(`abort_when_fail`,true);;' \ 'compilet `reduce`;;' \ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool Extending help search path() : void Loading boolean conversions() : void Loading arithmetic conversions() : void Loading general conversions, rule and tactic() : void RED_CONV = - : conv REDUCE_CONV = - : conv REDUCE_RULE = - : (thm -> thm) REDUCE_TAC = - : tactic Calling Lisp compiler File reduce compiled () : void #make[4]: Leaving directory '/<>/Library/reduce' make[4]: Entering directory '/<>/Library/arith' echo 'set_flag(`abort_when_fail`,true);;'\ 'compilet `int_extra`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool abs = - : (int -> int) () : void mod = - : (int -> int -> int) gcd = - : ((int # int) -> int) lcm = - : ((int # int) -> int) Calling Lisp compiler File int_extra compiled () : void #echo 'set_flag(`abort_when_fail`,true);;'\ 'loadf `int_extra`;;'\ 'compilet `arith_cons`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool .....() : void mk_arith_op = - : (string -> string -> (term # term) -> term) mk_plus = - : ((term # term) -> term) mk_minus = - : ((term # term) -> term) mk_mult = - : ((term # term) -> term) dest_arith_op = - : (string -> string -> term -> (term # term)) dest_plus = - : (term -> (term # term)) dest_minus = - : (term -> (term # term)) dest_mult = - : (term -> (term # term)) is_plus = - : (term -> bool) is_minus = - : (term -> bool) is_mult = - : (term -> bool) is_arith_op = - : (term -> bool) mk_num_reln = - : (string -> string -> (term # term) -> term) mk_less = - : ((term # term) -> term) mk_leq = - : ((term # term) -> term) mk_great = - : ((term # term) -> term) mk_geq = - : ((term # term) -> term) dest_num_reln = - : (string -> string -> term -> (term # term)) dest_less = - : (term -> (term # term)) dest_leq = - : (term -> (term # term)) dest_great = - : (term -> (term # term)) dest_geq = - : (term -> (term # term)) is_less = - : (term -> bool) is_leq = - : (term -> bool) is_great = - : (term -> bool) is_geq = - : (term -> bool) is_num_reln = - : (term -> bool) mk_suc = - : (term -> term) dest_suc = - : (term -> term) is_suc = - : (term -> bool) is_num_const = - : (term -> bool) is_zero = - : (term -> bool) int_of_term = - : (term -> int) term_of_int = - : (int -> term) mk_num_var = - : (string -> term) arg1 = - : (term -> term) arg2 = - : (term -> term) Calling Lisp compiler File arith_cons compiled () : void #echo 'set_flag(`abort_when_fail`,true);;'\ 'compilet `string_extra`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool string_less = - : (string -> string -> bool) Calling Lisp compiler File string_extra compiled () : void #echo 'set_flag(`abort_when_fail`,true);;'\ 'loadf `int_extra`;;'\ 'loadf `arith_cons`;;'\ 'loadf `string_extra`;;'\ 'compilet `term_coeffs`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool .....() : void .....................() : void .() : void negate_coeffs = - : ((int # (* # int) list) -> (int # (* # int) list)) merge_coeffs = - : ((int # (string # int) list) -> (int # (string # int) list) -> (int # (string # int) list)) lhs_coeffs = - : ((int # (* # int) list) -> (int # (* # int) list)) rhs_coeffs = - : ((int # (* # int) list) -> (int # (* # int) list)) diff_of_coeffs = - : (((int # (string # int) list) # int # (string # int) list) -> ((int # (string # int) list) # int # (string # int) list)) vars_of_coeffs = - : ((* # (** # ***) list) list -> ** list) var_of_prod = - : (term -> string) coeffs_of_arith = - : (term -> (int # (string # int) list)) coeffs_of_leq = - : (term -> (int # (string # int) list)) coeffs_of_leq_set = - : (term -> (int # (string # int) list) list) build_arith = - : ((int # (string # int) list) -> term) build_leq = - : ((int # (string # int) list) -> term) Calling Lisp compiler File term_coeffs compiled () : void #echo 'set_flag(`abort_when_fail`,true);;'\ 'compilet `qconv`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool qconv = `QCONV` : string qfailwith = - : (string -> string -> *) QCONV = - : (conv -> conv) ALL_QCONV = - : conv () : void THENQC = - : (conv -> conv -> conv) () : void ORELSEQC = - : (conv -> conv -> conv) REPEATQC = - : (conv -> conv) CHANGED_QCONV = - : (conv -> conv) TRY_QCONV = - : (conv -> conv) QCONV_RULE = - : (conv -> thm -> thm) RAND_QCONV = - : (conv -> conv) RATOR_QCONV = - : (conv -> conv) ABS_QCONV = - : (conv -> conv) ARGS_QCONV = - : (conv -> conv) Calling Lisp compiler File qconv compiled () : void #echo 'set_flag(`abort_when_fail`,true);;'\ 'compilet `decls`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool ONE_PLUS = |- T ZERO_PLUS = |- T PLUS_ZERO = |- T SUC_ADD1 = |- T SUC_ADD2 = |- T ZERO_MULT = |- T ONE_MULT = |- T MULT_ZERO = |- T MULT_ONE = |- T MULT_SUC = |- T MULT_COMM = |- T SUC_ADD_LESS_EQ_F = |- T MULT_LEQ_SUC = |- T ZERO_LESS_EQ_T = |- T SUC_LESS_EQ_ZERO_F = |- T ZERO_LESS_EQ_ONE_TIMES = |- T LESS_EQ_PLUS = |- T LESS_EQ_TRANSIT = |- T NOT_T_F = |- T NOT_F_T = |- T CONJ_ASSOC_NORM_CONV = - : conv DISJ_ASSOC_NORM_CONV = - : conv EQ_EXPAND_CONV = - : conv IMP_EXPAND_CONV = - : conv IMP_F_EQ_F_CONV = - : conv IMP_IMP_CONJ_IMP_CONV = - : conv LEFT_DIST_NORM_CONV = - : conv NOT_CONJ_NORM_CONV = - : conv NOT_DISJ_NORM_CONV = - : conv NOT_NOT_NORM_CONV = - : conv OR_F_CONV = - : conv RIGHT_DIST_NORM_CONV = - : conv ADD_ASSOC_CONV = - : conv ADD_SYM_CONV = - : conv GATHER_BOTH_CONV = - : conv GATHER_LEFT_CONV = - : conv GATHER_NEITHER_CONV = - : conv GATHER_RIGHT_CONV = - : conv GEQ_NORM_CONV = - : conv GREAT_NORM_CONV = - : conv LEFT_ADD_DISTRIB_CONV = - : conv LESS_NORM_CONV = - : conv MULT_ASSOC_CONV = - : conv MULT_COMM_CONV = - : conv NOT_GEQ_NORM_CONV = - : conv NOT_GREAT_NORM_CONV = - : conv NOT_LEQ_NORM_CONV = - : conv NOT_LESS_NORM_CONV = - : conv NOT_NUM_EQ_NORM_CONV = - : conv NUM_EQ_NORM_CONV = - : conv PLUS_ZERO_CONV = - : conv SYM_ADD_ASSOC_CONV = - : conv SYM_ONE_MULT_CONV = - : conv ZERO_MULT_CONV = - : conv ZERO_MULT_PLUS_CONV = - : conv ZERO_PLUS_CONV = - : conv LEQ_PLUS_CONV = - : conv FORALL_SIMP_CONV = - : conv NUM_COND_RATOR_CONV = - : conv NUM_COND_RAND_CONV = - : conv SUB_NORM_CONV = - : conv COND_RATOR_CONV = - : conv COND_RAND_CONV = - : conv COND_EXPAND_CONV = - : conv Calling Lisp compiler File decls compiled () : void #echo 'set_flag(`abort_when_fail`,true);;'\ 'loadf `int_extra`;;'\ 'loadf `arith_cons`;;'\ 'loadf `string_extra`;;'\ 'loadf `term_coeffs`;;'\ 'loadf `qconv`;;'\ 'loadf `decls`;;'\ 'compilet `norm_bool`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool .....() : void .....................() : void .() : void ............() : void ................() : void ................................................................() : void EQ_IMP_ELIM_QCONV = - : ((term -> bool) -> conv) MOVE_NOT_DOWN_QCONV = - : ((term -> bool) -> conv -> conv) DISJ_LINEAR_QCONV = - : conv DISJ_NORM_FORM_QCONV = - : conv Calling Lisp compiler File norm_bool compiled () : void #echo 'set_flag(`abort_when_fail`,true);;'\ 'loadf `int_extra`;;'\ 'loadf `arith_cons`;;'\ 'loadf `string_extra`;;'\ 'loadf `term_coeffs`;;'\ 'loadf `qconv`;;'\ 'loadf `decls`;;'\ 'loadf `norm_bool`;;'\ 'compilet `norm_arith`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool .....() : void .....................() : void .() : void ............() : void ................() : void ................................................................() : void ....() : void COLLECT_NUM_CONSTS_CONV = - : conv NUM_RELN_NORM_QCONV = - : (conv -> conv -> conv) MULT_CONV = - : conv mult_lookup = - : (((int # int) # thm) list -> (int # int) -> thm) multiplication_theorems = [] : ((int # int) # thm) list FAST_MULT_CONV = - : conv reset_multiplication_theorems = - : (void -> ((int # int) # thm) list) multiplication_theorems = - : (void -> ((int # int) # thm) list) SUM_OF_PRODUCTS_SUC_CONV = - : conv SUM_OF_PRODUCTS_MULT_QCONV = - : conv SUM_OF_PRODUCTS_QCONV = - : conv LINEAR_SUM_QCONV = - : conv GATHER_QCONV = - : conv IN_LINE_SUM_QCONV = - : (conv -> conv) ONE_PASS_SORT_QCONV = - : conv SORT_AND_GATHER_QCONV = - : conv SYM_ONE_MULT_VAR_CONV = - : conv NORM_ZERO_AND_ONE_QCONV = - : conv Calling Lisp compiler File norm_arith compiled () : void #echo 'set_flag(`abort_when_fail`,true);;'\ 'loadf `int_extra`;;'\ 'loadf `arith_cons`;;'\ 'loadf `string_extra`;;'\ 'loadf `term_coeffs`;;'\ 'loadf `qconv`;;'\ 'loadf `decls`;;'\ 'loadf `norm_bool`;;'\ 'loadf `norm_arith`;;'\ 'compilet `norm_ineqs`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool .....() : void .....................() : void .() : void ............() : void ................() : void ................................................................() : void ....() : void ..................() : void ADD_TERM_TO_LEQ_CONV = - : (term -> conv) ADD_COEFFS_TO_LEQ_QCONV = - : ((int # (string # int) list) -> conv) LESS_OR_EQ_GATHER_QCONV = - : conv ARITH_FORM_NORM_QCONV = - : conv Calling Lisp compiler File norm_ineqs compiled () : void #echo 'set_flag(`abort_when_fail`,true);;'\ 'loadf `int_extra`;;'\ 'loadf `arith_cons`;;'\ 'loadf `string_extra`;;'\ 'loadf `term_coeffs`;;'\ 'loadf `qconv`;;'\ 'loadf `decls`;;'\ 'loadf `norm_bool`;;'\ 'loadf `norm_arith`;;'\ 'loadf `norm_ineqs`;;'\ 'compilet `solve_ineqs`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool .....() : void .....................() : void .() : void ............() : void ................() : void ................................................................() : void ....() : void ..................() : void ....() : void CONST_TIMES_ARITH_QCONV = - : conv MULT_LEQ_BY_CONST_QCONV = - : (term -> conv) LEQ_CONV = - : conv WEIGHTED_SUM = - : (string -> ((int # (string # int) list) # int # (string # int) list) -> ((int # (string # int) list) # (void -> thm))) var_to_elim = - : ((* # (string # int) list) list -> string) VAR_ELIM = - : ((int # (string # int) list) list -> (int list # (void -> thm))) Calling Lisp compiler File solve_ineqs compiled () : void #echo 'set_flag(`abort_when_fail`,true);;'\ 'loadf `int_extra`;;'\ 'loadf `arith_cons`;;'\ 'loadf `string_extra`;;'\ 'loadf `term_coeffs`;;'\ 'loadf `qconv`;;'\ 'loadf `decls`;;'\ 'loadf `norm_bool`;;'\ 'loadf `norm_arith`;;'\ 'loadf `norm_ineqs`;;'\ 'loadf `solve_ineqs`;;'\ 'compilet `solve`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool .....() : void .....................() : void .() : void ............() : void ................() : void ................................................................() : void ....() : void ..................() : void ....() : void ......() : void INEQS_FALSE_CONV = - : conv DISJ_INEQS_FALSE_QCONV = - : conv NOT_NOT_INTRO_CONV = - : conv is_T = - : (term -> bool) is_F = - : (term -> bool) NEGATE_CONV = - : (conv -> conv) DEPTH_FORALL_QCONV = - : (conv -> conv) FORALL_ARITH_CONV = - : conv Calling Lisp compiler File solve compiled () : void #echo 'set_flag(`abort_when_fail`,true);;'\ 'loadf `int_extra`;;'\ 'compilet `rationals`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool .....() : void Rat = - : ((int # int) -> rat) Numerator = - : (rat -> int) Denominator = - : (rat -> int) rat_inv = - : (rat -> rat) rat_plus = - : (rat -> rat -> rat) rat_minus = - : (rat -> rat -> rat) rat_mult = - : (rat -> rat -> rat) rat_div = - : (rat -> rat -> rat) print_rat = - : (rat -> void) - : (rat -> void) rat_of_int = - : (int -> rat) lower_int_of_rat = - : (rat -> int) upper_int_of_rat = - : (rat -> int) rat_zero = 0 : rat rat_one = 1 : rat rat_less = - : (rat -> rat -> bool) Calling Lisp compiler File rationals compiled () : void #echo 'set_flag(`abort_when_fail`,true);;'\ 'loadf `int_extra`;;'\ 'loadf `rationals`;;'\ 'loadf `string_extra`;;'\ 'compilet `sup-inf`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool .....() : void ........() : void .() : void New constructors declared: Bound : ((rat # (string # rat) list) -> bound) Max_bound : (bound list -> bound) Min_bound : (bound list -> bound) Pos_inf : bound Neg_inf : bound New constructors declared: Ibound : (bound -> internal_bound) Mult_ibound : ((rat # internal_bound) -> internal_bound) Plus_ibound : ((internal_bound # internal_bound) -> internal_bound) Max_ibound : (internal_bound list -> internal_bound) Min_ibound : (internal_bound list -> internal_bound) solve_ineqs = - : ((int # (* # int) list) list -> * -> ((rat # (* # rat) list) list # (rat # (* # rat) list) list)) UPPER = - : ((int # (string # int) list) list -> string -> bound) LOWER = - : ((int # (string # int) list) list -> string -> bound) SIMP_mult = - : (rat -> bound -> bound) sum_bindings = - : ((string # rat) list -> (string # rat) list -> (string # rat) list) SIMP_plus = - : (bound -> bound -> bound) SIMP = - : (internal_bound -> bound) SUPP = - : ((string # bound) -> bound) INFF = - : ((string # bound) -> bound) occurs_in_bound = - : (string -> bound -> bool) occurs_in_ibound = - : (string -> internal_bound -> bool) SUP = - : ((int # (string # int) list) list -> (bound # string list) -> internal_bound) INF = - : ((int # (string # int) list) list -> (bound # string list) -> internal_bound) eval_max_bound = - : (bound list -> bound) eval_min_bound = - : (bound list -> bound) eval_bound = - : (bound -> bound) SUP_INF = - : ((int # (string # int) list) list -> (string # bound # bound) list) Calling Lisp compiler File sup-inf compiled () : void #echo 'set_flag(`abort_when_fail`,true);;'\ 'compilet `streams`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool New constructors declared: Stream : ((* # (void -> * stream)) -> * stream) stream_map = - : ((* -> **) -> (void -> * stream) -> void -> ** stream) stream_append = - : ((void -> * stream) -> (void -> * stream) -> void -> * stream) stream_flat = - : ((void -> (void -> * stream) stream) -> void -> * stream) permutations = - : (* list -> void -> * list stream) Calling Lisp compiler File streams compiled () : void #echo 'set_flag(`abort_when_fail`,true);;'\ 'loadf `int_extra`;;'\ 'loadf `rationals`;;'\ 'loadf `string_extra`;;'\ 'loadf `sup-inf`;;'\ 'loadf `streams`;;'\ 'compilet `sol_ranges`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool .....() : void ........() : void .() : void ..................() : void .....() : void less_bound = - : (bound -> bound -> bool) is_neg_bound = - : (bound -> bool) is_finite_bound = - : (bound -> bool) rat_of_bound = - : (bound -> rat) is_int_range = - : (rat -> rat -> bool) non_neg_int_between = - : (bound -> bound -> int) inst_var_in_coeffs = - : ((string # int) -> (int # (string # int) list) list -> (int # (string # int) list) list) Shostak = - : ((int # (string # int) list) list -> (string # int) list) Calling Lisp compiler File sol_ranges compiled () : void #echo 'set_flag(`abort_when_fail`,true);;'\ 'load_library `reduce`;;'\ 'loadf `int_extra`;;'\ 'loadf `arith_cons`;;'\ 'loadf `string_extra`;;'\ 'loadf `term_coeffs`;;'\ 'loadf `qconv`;;'\ 'loadf `decls`;;'\ 'loadf `norm_bool`;;'\ 'loadf `norm_arith`;;'\ 'loadf `norm_ineqs`;;'\ 'loadf `rationals`;;'\ 'loadf `sup-inf`;;'\ 'loadf `streams`;;'\ 'loadf `sol_ranges`;;'\ 'compilet `exists_arith`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool Loading library reduce ... Extending help search path. Loading boolean conversions........ Loading arithmetic conversions.................. Loading general conversions, rule and tactic..... Library reduce loaded. () : void .....() : void .....................() : void .() : void ............() : void ................() : void ................................................................() : void ....() : void ..................() : void ....() : void ........() : void ..................() : void .....() : void ........() : void NUM_REDUCE_QCONV = - : conv INEQ_REDUCE_QCONV = - : conv BOOL_REDUCE_QCONV = - : conv WITNESS = - : ((string # int) list -> conv) witness = - : (term list -> (string # int) list) EXISTS_ARITH_CONV = - : conv Calling Lisp compiler File exists_arith compiled () : void #echo 'set_flag(`abort_when_fail`,true);;'\ 'loadf `decls`;;'\ 'compilet `sub_and_cond`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool ................................................................() : void COND_ABS_CONV = - : conv SUB_AND_COND_ELIM_CONV = - : conv COND_ELIM_CONV = - : conv Calling Lisp compiler File sub_and_cond compiled () : void #echo 'set_flag(`abort_when_fail`,true);;'\ 'loadf `decls`;;'\ 'compilet `prenex`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool ................................................................() : void QUANT_EQ_IMP_CONV = - : conv is_prenex = - : (term -> bool) PRENEX_CONV = - : conv Calling Lisp compiler File prenex compiled () : void #echo 'set_flag(`abort_when_fail`,true);;'\ 'compilet `instance`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool INSTANCE_T_CONV = - : ((term -> term list) -> conv -> conv) Calling Lisp compiler File instance compiled () : void #echo 'set_flag(`abort_when_fail`,true);;'\ 'load_library `reduce`;;'\ 'loadf `int_extra`;;'\ 'loadf `arith_cons`;;'\ 'loadf `string_extra`;;'\ 'loadf `term_coeffs`;;'\ 'loadf `qconv`;;'\ 'loadf `decls`;;'\ 'loadf `norm_bool`;;'\ 'loadf `norm_arith`;;'\ 'loadf `norm_ineqs`;;'\ 'loadf `solve_ineqs`;;'\ 'loadf `solve`;;'\ 'loadf `rationals`;;'\ 'loadf `sup-inf`;;'\ 'loadf `streams`;;'\ 'loadf `sol_ranges`;;'\ 'loadf `exists_arith`;;'\ 'loadf `sub_and_cond`;;'\ 'loadf `prenex`;;'\ 'loadf `instance`;;'\ 'compilet `gen_arith`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool Loading library reduce ... Extending help search path. Loading boolean conversions........ Loading arithmetic conversions.................. Loading general conversions, rule and tactic..... Library reduce loaded. () : void .....() : void .....................() : void .() : void ............() : void ................() : void ................................................................() : void ....() : void ..................() : void ....() : void ......() : void .......() : void ........() : void ..................() : void .....() : void ........() : void ......() : void ...() : void ...() : void .() : void contains_var = - : (term -> bool) is_linear_mult = - : (term -> bool) non_presburger_subterms = - : (term -> term list) is_presburger = - : (term -> bool) ARITH_CONV = - : conv Calling Lisp compiler File gen_arith compiled () : void #===> library arith rebuilt make[4]: Leaving directory '/<>/Library/arith' make[4]: Entering directory '/<>/Library/pred_sets' rm -f pred_sets.th echo 'set_flag(`abort_when_fail`,true);;'\ 'loadt `mk_pred_sets`;;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool () : void SPECIFICATION = |- !P x. x IN P = P x EXTENSION = |- !s t. (s = t) = (!x. x IN s = x IN t) NOT_EQUAL_SETS = |- !s t. ~(s = t) = (?x. x IN t = ~x IN s) Theorem NOT_LESS autoloading from theory `arithmetic` ... NOT_LESS = |- !m n. ~m < n = n <= m Theorem WOP autoloading from theory `arithmetic` ... WOP = |- !P. (?n. P n) ==> (?n. P n /\ (!m. m < n ==> ~P m)) NUM_SET_WOP = |- !s. (?n. n IN s) = (?n. n IN s /\ (!m. m IN s ==> n <= m)) GSPEC_DEF_LEMMA = |- ?g. !f v. v IN (g f) = (?x. v,T = f x) GSPECIFICATION = |- !f v. v IN (GSPEC f) = (?x. v,T = f x) Section SET_SPEC_CONV begun dest_tuple = - : (term -> term list) MK_PAIR = - : (* list -> conv) EXISTS_TUPLE_CONV = - : (term list -> conv) PAIR_EQ_CONV = - : conv ELIM_EXISTS_CONV = - : conv PROVE_EXISTS = - : conv list_variant = - : (term list -> term list -> term list) SET_SPEC_CONV = - : conv - : conv Section SET_SPEC_CONV ended SET_SPEC_CONV = - : conv File gspec.ml loaded () : void () : void true : bool lemma = |- !s x. x IN s ==> (!f. (f x) IN {f x | x IN s}) SET_MINIMUM = |- !s M. (?x. x IN s) = (?x. x IN s /\ (!y. y IN s ==> (M x) <= (M y))) EMPTY_DEF = |- EMPTY = (\x. F) NOT_IN_EMPTY = |- !x. ~x IN EMPTY MEMBER_NOT_EMPTY = |- !s. (?x. x IN s) = ~(s = EMPTY) UNIV_DEF = |- UNIV = (\x. T) IN_UNIV = |- !x. x IN UNIV UNIV_NOT_EMPTY = |- ~(UNIV = EMPTY) EMPTY_NOT_UNIV = |- ~(EMPTY = UNIV) EQ_UNIV = |- (!x. x IN s) = (s = UNIV) SUBSET_DEF = |- !s t. s SUBSET t = (!x. x IN s ==> x IN t) SUBSET_TRANS = |- !s t u. s SUBSET t /\ t SUBSET u ==> s SUBSET u SUBSET_REFL = |- !s. s SUBSET s SUBSET_ANTISYM = |- !s t. s SUBSET t /\ t SUBSET s ==> (s = t) EMPTY_SUBSET = |- !s. EMPTY SUBSET s SUBSET_EMPTY = |- !s. s SUBSET EMPTY = (s = EMPTY) SUBSET_UNIV = |- !s. s SUBSET UNIV UNIV_SUBSET = |- !s. UNIV SUBSET s = (s = UNIV) PSUBSET_DEF = |- !s t. s PSUBSET t = s SUBSET t /\ ~(s = t) PSUBSET_TRANS = |- !s t u. s PSUBSET t /\ t PSUBSET u ==> s PSUBSET u PSUBSET_IRREFL = |- !s. ~s PSUBSET s NOT_PSUBSET_EMPTY = |- !s. ~s PSUBSET EMPTY NOT_UNIV_PSUBSET = |- !s. ~UNIV PSUBSET s PSUBSET_UNIV = |- !s. s PSUBSET UNIV = (?x. ~x IN s) UNION_DEF = |- !s t. s UNION t = {x | x IN s \/ x IN t} IN_UNION = |- !s t x. x IN (s UNION t) = x IN s \/ x IN t UNION_ASSOC = |- !s t u. (s UNION t) UNION u = s UNION (t UNION u) UNION_IDEMPOT = |- !s. s UNION s = s UNION_COMM = |- !s t. s UNION t = t UNION s SUBSET_UNION = |- (!s t. s SUBSET (s UNION t)) /\ (!s t. s SUBSET (t UNION s)) SUBSET_UNION_ABSORPTION = |- !s t. s SUBSET t = (s UNION t = t) UNION_EMPTY = |- (!s. EMPTY UNION s = s) /\ (!s. s UNION EMPTY = s) UNION_UNIV = |- (!s. UNIV UNION s = UNIV) /\ (!s. s UNION UNIV = UNIV) EMPTY_UNION = |- !s t. (s UNION t = EMPTY) = (s = EMPTY) /\ (t = EMPTY) INTER_DEF = |- !s t. s INTER t = {x | x IN s /\ x IN t} IN_INTER = |- !s t x. x IN (s INTER t) = x IN s /\ x IN t INTER_ASSOC = |- !s t u. (s INTER t) INTER u = s INTER (t INTER u) INTER_IDEMPOT = |- !s. s INTER s = s INTER_COMM = |- !s t. s INTER t = t INTER s INTER_SUBSET = |- (!s t. (s INTER t) SUBSET s) /\ (!s t. (t INTER s) SUBSET s) SUBSET_INTER_ABSORPTION = |- !s t. s SUBSET t = (s INTER t = s) INTER_EMPTY = |- (!s. EMPTY INTER s = EMPTY) /\ (!s. s INTER EMPTY = EMPTY) INTER_UNIV = |- (!s. UNIV INTER s = s) /\ (!s. s INTER UNIV = s) UNION_OVER_INTER = |- !s t u. s INTER (t UNION u) = (s INTER t) UNION (s INTER u) INTER_OVER_UNION = |- !s t u. s UNION (t INTER u) = (s UNION t) INTER (s UNION u) DISJOINT_DEF = |- !s t. DISJOINT s t = (s INTER t = EMPTY) IN_DISJOINT = |- !s t. DISJOINT s t = ~(?x. x IN s /\ x IN t) DISJOINT_SYM = |- !s t. DISJOINT s t = DISJOINT t s DISJOINT_EMPTY = |- !s. DISJOINT EMPTY s /\ DISJOINT s EMPTY DISJOINT_EMPTY_REFL = |- !s. (s = EMPTY) = DISJOINT s s DISJOINT_UNION = |- !s t u. DISJOINT(s UNION t)u = DISJOINT s u /\ DISJOINT t u DIFF_DEF = |- !s t. s DIFF t = {x | x IN s /\ ~x IN t} IN_DIFF = |- !s t x. x IN (s DIFF t) = x IN s /\ ~x IN t DIFF_EMPTY = |- !s. s DIFF EMPTY = s EMPTY_DIFF = |- !s. EMPTY DIFF s = EMPTY DIFF_UNIV = |- !s. s DIFF UNIV = EMPTY DIFF_DIFF = |- !s t. (s DIFF t) DIFF t = s DIFF t DIFF_EQ_EMPTY = |- !s. s DIFF s = EMPTY INSERT_DEF = |- !x s. x INSERT s = {y | (y = x) \/ y IN s} () : void IN_INSERT = |- !x y s. x IN (y INSERT s) = (x = y) \/ x IN s COMPONENT = |- !x s. x IN (x INSERT s) SET_CASES = |- !s. (s = {}) \/ (?x t. (s = x INSERT t) /\ ~x IN t) DECOMPOSITION = |- !s x. x IN s = (?t. (s = x INSERT t) /\ ~x IN t) ABSORPTION = |- !x s. x IN s = (x INSERT s = s) INSERT_INSERT = |- !x s. x INSERT (x INSERT s) = x INSERT s INSERT_COMM = |- !x y s. x INSERT (y INSERT s) = y INSERT (x INSERT s) INSERT_UNIV = |- !x. x INSERT UNIV = UNIV NOT_INSERT_EMPTY = |- !x s. ~(x INSERT s = {}) NOT_EMPTY_INSERT = |- !x s. ~({} = x INSERT s) INSERT_UNION = |- !x s t. (x INSERT s) UNION t = (x IN t => s UNION t | x INSERT (s UNION t)) INSERT_UNION_EQ = |- !x s t. (x INSERT s) UNION t = x INSERT (s UNION t) INSERT_INTER = |- !x s t. (x INSERT s) INTER t = (x IN t => x INSERT (s INTER t) | s INTER t) DISJOINT_INSERT = |- !x s t. DISJOINT(x INSERT s)t = DISJOINT s t /\ ~x IN t INSERT_SUBSET = |- !x s t. (x INSERT s) SUBSET t = x IN t /\ s SUBSET t SUBSET_INSERT = |- !x s. ~x IN s ==> (!t. s SUBSET (x INSERT t) = s SUBSET t) INSERT_DIFF = |- !s t x. (x INSERT s) DIFF t = (x IN t => s DIFF t | x INSERT (s DIFF t)) DELETE_DEF = |- !s x. s DELETE x = s DIFF {x} IN_DELETE = |- !s x y. x IN (s DELETE y) = x IN s /\ ~(x = y) DELETE_NON_ELEMENT = |- !x s. ~x IN s = (s DELETE x = s) IN_DELETE_EQ = |- !s x x'. (x IN s = x' IN s) = (x IN (s DELETE x') = x' IN (s DELETE x)) EMPTY_DELETE = |- !x. {} DELETE x = {} DELETE_DELETE = |- !x s. (s DELETE x) DELETE x = s DELETE x DELETE_COMM = |- !x y s. (s DELETE x) DELETE y = (s DELETE y) DELETE x DELETE_SUBSET = |- !x s. (s DELETE x) SUBSET s SUBSET_DELETE = |- !x s t. s SUBSET (t DELETE x) = ~x IN s /\ s SUBSET t SUBSET_INSERT_DELETE = |- !x s t. s SUBSET (x INSERT t) = (s DELETE x) SUBSET t DIFF_INSERT = |- !s t x. s DIFF (x INSERT t) = (s DELETE x) DIFF t PSUBSET_INSERT_SUBSET = |- !s t. s PSUBSET t = (?x. ~x IN s /\ (x INSERT s) SUBSET t) lemma = |- ~(a = b) = (b = ~a) PSUBSET_MEMBER = |- !s t. s PSUBSET t = s SUBSET t /\ (?y. y IN t /\ ~y IN s) DELETE_INSERT = |- !x y s. (x INSERT s) DELETE y = ((x = y) => s DELETE y | x INSERT (s DELETE y)) INSERT_DELETE = |- !x s. x IN s ==> (x INSERT (s DELETE x) = s) DELETE_INTER = |- !s t x. (s DELETE x) INTER t = (s INTER t) DELETE x DISJOINT_DELETE_SYM = |- !s t x. DISJOINT(s DELETE x)t = DISJOINT(t DELETE x)s CHOICE_EXISTS = |- ?CHOICE. !s. ~(s = {}) ==> (CHOICE s) IN s CHOICE_DEF = |- !s. ~(s = {}) ==> (CHOICE s) IN s REST_DEF = |- !s. REST s = s DELETE (CHOICE s) CHOICE_NOT_IN_REST = |- !s. ~(CHOICE s) IN (REST s) CHOICE_INSERT_REST = |- !s. ~(s = {}) ==> ((CHOICE s) INSERT (REST s) = s) REST_SUBSET = |- !s. (REST s) SUBSET s lemma = |- (P /\ Q = P) = P ==> Q REST_PSUBSET = |- !s. ~(s = {}) ==> (REST s) PSUBSET s SING_DEF = |- !s. SING s = (?x. s = {x}) SING = |- !x. SING{x} IN_SING = |- !x y. x IN {y} = (x = y) NOT_SING_EMPTY = |- !x. ~({x} = {}) NOT_EMPTY_SING = |- !x. ~({} = {x}) EQUAL_SING = |- !x y. ({x} = {y}) = (x = y) DISJOINT_SING_EMPTY = |- !x. DISJOINT{x}{} INSERT_SING_UNION = |- !s x. x INSERT s = {x} UNION s SING_DELETE = |- !x. {x} DELETE x = {} DELETE_EQ_SING = |- !s x. x IN s ==> ((s DELETE x = {}) = (s = {x})) CHOICE_SING = |- !x. CHOICE{x} = x REST_SING = |- !x. REST{x} = {} SING_IFF_EMPTY_REST = |- !s. SING s = ~(s = {}) /\ (REST s = {}) IMAGE_DEF = |- !f s. IMAGE f s = {f x | x IN s} IN_IMAGE = |- !y s f. y IN (IMAGE f s) = (?x. (y = f x) /\ x IN s) IMAGE_IN = |- !x s. x IN s ==> (!f. (f x) IN (IMAGE f s)) IMAGE_EMPTY = |- !f. IMAGE f{} = {} IMAGE_ID = |- !s. IMAGE(\x. x)s = s Theorem o_THM autoloading from theory `combin` ... o_THM = |- !f g x. (f o g)x = f(g x) IMAGE_COMPOSE = |- !f g s. IMAGE(f o g)s = IMAGE f(IMAGE g s) IMAGE_INSERT = |- !f x s. IMAGE f(x INSERT s) = (f x) INSERT (IMAGE f s) IMAGE_EQ_EMPTY = |- !s f. (IMAGE f s = {}) = (s = {}) IMAGE_DELETE = |- !f x s. ~x IN s ==> (IMAGE f(s DELETE x) = IMAGE f s) IMAGE_UNION = |- !f s t. IMAGE f(s UNION t) = (IMAGE f s) UNION (IMAGE f t) IMAGE_SUBSET = |- !s t. s SUBSET t ==> (!f. (IMAGE f s) SUBSET (IMAGE f t)) IMAGE_INTER = |- !f s t. (IMAGE f(s INTER t)) SUBSET ((IMAGE f s) INTER (IMAGE f t)) INJ_DEF = |- !f s t. INJ f s t = (!x. x IN s ==> (f x) IN t) /\ (!x y. x IN s /\ y IN s ==> (f x = f y) ==> (x = y)) INJ_ID = |- !s. INJ(\x. x)s s INJ_COMPOSE = |- !f g s t u. INJ f s t /\ INJ g t u ==> INJ(g o f)s u INJ_EMPTY = |- !f. (!s. INJ f{}s) /\ (!s. INJ f s{} = (s = {})) SURJ_DEF = |- !f s t. SURJ f s t = (!x. x IN s ==> (f x) IN t) /\ (!x. x IN t ==> (?y. y IN s /\ (f y = x))) SURJ_ID = |- !s. SURJ(\x. x)s s SURJ_COMPOSE = |- !f g s t u. SURJ f s t /\ SURJ g t u ==> SURJ(g o f)s u SURJ_EMPTY = |- !f. (!s. SURJ f{}s = (s = {})) /\ (!s. SURJ f s{} = (s = {})) IMAGE_SURJ = |- !f s t. SURJ f s t = (IMAGE f s = t) BIJ_DEF = |- !f s t. BIJ f s t = INJ f s t /\ SURJ f s t BIJ_ID = |- !s. BIJ(\x. x)s s BIJ_EMPTY = |- !f. (!s. BIJ f{}s = (s = {})) /\ (!s. BIJ f s{} = (s = {})) BIJ_COMPOSE = |- !f g s t u. BIJ f s t /\ BIJ g t u ==> BIJ(g o f)s u lemma1 = |- !f s. (!x y. x IN s /\ y IN s ==> (f x = f y) ==> (x = y)) = (!y. y IN s ==> (!x. x IN s /\ (f x = f y) = y IN s /\ (x = y))) lemma2 = |- !f s. ?g. !t. INJ f s t ==> (!x. x IN s ==> (g(f x) = x)) LINV_DEF = |- !f s t. INJ f s t ==> (!x. x IN s ==> (LINV f s(f x) = x)) lemma3 = |- !f s. ?g. !t. SURJ f s t ==> (!x. x IN t ==> (f(g x) = x)) RINV_DEF = |- !f s t. SURJ f s t ==> (!x. x IN t ==> (f(RINV f s x) = x)) FINITE_DEF = |- !s. FINITE s = (!P. P{} /\ (!s'. P s' ==> (!e. P(e INSERT s'))) ==> P s) FINITE_EMPTY = |- FINITE{} FINITE_INSERT = |- !s. FINITE s ==> (!x. FINITE(x INSERT s)) SIMPLE_FINITE_INDUCT = |- !P. P{} /\ (!s. P s ==> (!e. P(e INSERT s))) ==> (!s. FINITE s ==> P s) lemma = |- P{} /\ (!s. FINITE s /\ P s ==> (!e. FINITE(e INSERT s) /\ P(e INSERT s))) ==> (!s. FINITE s ==> P s) FINITE_INDUCT = |- !P. P{} /\ (!s. FINITE s /\ P s ==> (!e. ~e IN s ==> P(e INSERT s))) ==> (!s. FINITE s ==> P s) SET_INDUCT_TAC = - : tactic File set_ind loaded () : void FINITE_DELETE = |- !s. FINITE s ==> (!x. FINITE(s DELETE x)) INSERT_FINITE = |- !x s. FINITE(x INSERT s) ==> FINITE s FINITE_INSERT = |- !x s. FINITE(x INSERT s) = FINITE s DELETE_FINITE = |- !x s. FINITE(s DELETE x) ==> FINITE s FINITE_DELETE = |- !x s. FINITE(s DELETE x) = FINITE s UNION_FINITE = |- !s. FINITE s ==> (!t. FINITE t ==> FINITE(s UNION t)) FINITE_UNION_LEMMA = |- !s. FINITE s ==> (!t. FINITE(s UNION t) ==> FINITE t) FINITE_UNION = |- !s t. FINITE(s UNION t) ==> FINITE s /\ FINITE t FINITE_UNION = |- !s t. FINITE(s UNION t) = FINITE s /\ FINITE t INTER_FINITE = |- !s. FINITE s ==> (!t. FINITE(s INTER t)) SUBSET_FINITE = |- !s. FINITE s ==> (!t. t SUBSET s ==> FINITE t) PSUBSET_FINITE = |- !s. FINITE s ==> (!t. t PSUBSET s ==> FINITE t) FINITE_DIFF = |- !s. FINITE s ==> (!t. FINITE(s DIFF t)) FINITE_SING = |- !x. FINITE{x} SING_FINITE = |- !s. SING s ==> FINITE s IMAGE_FINITE = |- !s. FINITE s ==> (!f. FINITE(IMAGE f s)) card_rel_def = "(!s. R s 0 = (s = {})) /\ (!s n. R s(SUC n) = (?x. x IN s /\ R(s DELETE x)n))" : term Theorem num_Axiom autoloading from theory `prim_rec` ... num_Axiom = |- !e f. ?! fn. (fn 0 = e) /\ (!n. fn(SUC n) = f(fn n)n) CARD_REL_EXISTS = |- ?R. (!s. R s 0 = (s = {})) /\ (!s n. R s(SUC n) = (?x. x IN s /\ R(s DELETE x)n)) CARD_REL_DEL_LEMMA = .. |- !n s x. x IN s ==> R(s DELETE x)n ==> (!y. y IN s ==> R(s DELETE y)n) Theorem INV_SUC_EQ autoloading from theory `prim_rec` ... INV_SUC_EQ = |- !m n. (SUC m = SUC n) = (m = n) Theorem NOT_SUC autoloading from theory `num` ... NOT_SUC = |- !n. ~(SUC n = 0) CARD_REL_UNIQUE = .. |- !n s. R s n ==> (!m. R s m ==> (n = m)) CARD_REL_EXISTS_LEMMA = .. |- !s. FINITE s ==> (?n. R s n) CARD_REL_THM = .. |- !m s. FINITE s ==> (((@n. R s n) = m) = R s m) CARD_EXISTS = |- ?CARD. (CARD{} = 0) /\ (!s. FINITE s ==> (!x. CARD(x INSERT s) = (x IN s => CARD s | SUC(CARD s)))) CARD_DEF = |- (CARD{} = 0) /\ (!s. FINITE s ==> (!x. CARD(x INSERT s) = (x IN s => CARD s | SUC(CARD s)))) CARD_EMPTY = |- CARD{} = 0 CARD_INSERT = |- !s. FINITE s ==> (!x. CARD(x INSERT s) = (x IN s => CARD s | SUC(CARD s))) CARD_EQ_0 = |- !s. FINITE s ==> ((CARD s = 0) = (s = {})) Theorem num_CASES autoloading from theory `arithmetic` ... num_CASES = |- !m. (m = 0) \/ (?n. m = SUC n) Theorem SUC_SUB1 autoloading from theory `arithmetic` ... SUC_SUB1 = |- !m. (SUC m) - 1 = m CARD_DELETE = |- !s. FINITE s ==> (!x. CARD(s DELETE x) = (x IN s => (CARD s) - 1 | CARD s)) Theorem LESS_MONO_EQ autoloading from theory `arithmetic` ... LESS_MONO_EQ = |- !m n. (SUC m) < (SUC n) = m < n Definition LESS_OR_EQ autoloading from theory `arithmetic` ... LESS_OR_EQ = |- !m n. m <= n = m < n \/ (m = n) lemma1 = |- !n m. (SUC n) <= (SUC m) = n <= m Theorem LESS_THM autoloading from theory `prim_rec` ... LESS_THM = |- !m n. m < (SUC n) = (m = n) \/ m < n lemma2 = |- !n m. n <= (SUC m) = n <= m \/ (n = SUC m) Theorem LESS_EQ_REFL autoloading from theory `arithmetic` ... LESS_EQ_REFL = |- !m. m <= m CARD_INTER_LESS_EQ = |- !s. FINITE s ==> (!t. (CARD(s INTER t)) <= (CARD s)) Theorem ADD_CLAUSES autoloading from theory `arithmetic` ... ADD_CLAUSES = |- (0 + m = m) /\ (m + 0 = m) /\ ((SUC m) + n = SUC(m + n)) /\ (m + (SUC n) = SUC(m + n)) CARD_UNION = |- !s. FINITE s ==> (!t. FINITE t ==> ((CARD(s UNION t)) + (CARD(s INTER t)) = (CARD s) + (CARD t))) lemma = |- !n m. n <= (SUC m) = n <= m \/ (n = SUC m) Theorem LESS_0 autoloading from theory `prim_rec` ... LESS_0 = |- !n. 0 < (SUC n) CARD_SUBSET = |- !s. FINITE s ==> (!t. t SUBSET s ==> (CARD t) <= (CARD s)) Theorem LESS_EQ autoloading from theory `arithmetic` ... LESS_EQ = |- !m n. m < n = (SUC m) <= n CARD_PSUBSET = |- !s. FINITE s ==> (!t. t PSUBSET s ==> (CARD t) < (CARD s)) CARD_SING = |- !x. CARD{x} = 1 SING_IFF_CARD1 = |- !s. SING s = (CARD s = 1) /\ FINITE s Theorem SUB_PLUS autoloading from theory `arithmetic` ... SUB_PLUS = |- !a b c. a - (b + c) = (a - b) - c Theorem SUB_0 autoloading from theory `arithmetic` ... SUB_0 = |- !m. (0 - m = 0) /\ (m - 0 = m) CARD_DIFF = |- !t. FINITE t ==> (!s. FINITE s ==> (CARD(s DIFF t) = (CARD s) - (CARD(s INTER t)))) Theorem SUB_LESS_0 autoloading from theory `arithmetic` ... SUB_LESS_0 = |- !n m. m < n = 0 < (n - m) LESS_CARD_DIFF = |- !t. FINITE t ==> (!s. FINITE s ==> (CARD t) < (CARD s) ==> 0 < (CARD(s DIFF t))) INFINITE_DEF = |- !s. INFINITE s = ~FINITE s NOT_IN_FINITE = |- INFINITE UNIV = (!s. FINITE s ==> (?x. ~x IN s)) INVERSE_LEMMA = |- !f. (!x y. (f x = f y) ==> (x = y)) ==> ((\x. @y. x = f y) o f = (\x. x)) IMAGE_11_INFINITE = |- !f. (!x y. (f x = f y) ==> (x = y)) ==> (!s. INFINITE s ==> INFINITE(IMAGE f s)) INFINITE_SUBSET = |- !s. INFINITE s ==> (!t. s SUBSET t ==> INFINITE t) IN_INFINITE_NOT_FINITE = |- !s t. INFINITE s /\ FINITE t ==> (?x. x IN s /\ ~x IN t) gdef = ["g 0 = {}"; "!n. g(SUC n) = (@x. ~x IN (g n)) INSERT (g n)"] : term list g_finite = .. |- !n. FINITE(g n) g_subset = . |- !n x. x IN (g n) ==> (!i. x IN (g(n + i))) lemma = |- (A \/ B) /\ ~B = A /\ ~B Theorem LESS_SUC_REFL autoloading from theory `prim_rec` ... LESS_SUC_REFL = |- !n. n < (SUC n) g_cases = .. |- (!s. FINITE s ==> (?x. ~x IN s)) ==> (!x. (?n. x IN (g n)) ==> (?m. x IN (g(SUC m)) /\ ~x IN (g m))) z_in_g1 = .. |- (@x. ~x IN {}) IN (g(SUC 0)) Theorem ADD_SYM autoloading from theory `arithmetic` ... ADD_SYM = |- !m n. m + n = n + m Theorem ADD1 autoloading from theory `arithmetic` ... ADD1 = |- !m. SUC m = m + 1 z_in_gn = .. |- !n. (@x. ~x IN {}) IN (g(SUC n)) in_lemma = . |- !n. (@x. ~x IN (g n)) IN (g(SUC n)) not_in_lemma = .. |- (!s. FINITE s ==> (?x. ~x IN s)) ==> (!i n. ~(@x. ~x IN (g(n + i))) IN (g n)) Theorem LESS_NOT_EQ autoloading from theory `prim_rec` ... LESS_NOT_EQ = |- !m n. m < n ==> ~(m = n) Theorem LESS_REFL autoloading from theory `prim_rec` ... LESS_REFL = |- !n. ~n < n less_lemma = |- !m n. ~(m = n) = m < n \/ n < m Theorem LESS_ADD_1 autoloading from theory `arithmetic` ... LESS_ADD_1 = |- !m n. n < m ==> (?p. m = n + (p + 1)) gn_unique = .. |- (!s. FINITE s ==> (?x. ~x IN s)) ==> (!n m. ((@x. ~x IN (g n)) = (@x. ~x IN (g m))) = (n = m)) x_unique = .. |- !n x y. ~x IN (g n) /\ ~y IN (g n) ==> x IN (g(SUC n)) ==> y IN (g(SUC n)) ==> (x = y) fdef = "\x. ((?n. x IN (g n)) => (@y. ~y IN (g(SUC(@n. x IN (g(SUC n)) /\ ~x IN (g n))))) | x)" : term cases = |- !x. (?n. x IN (g n)) \/ (!n. ~x IN (g n)) INF_IMP_INFINITY = |- (!s. FINITE s ==> (?x. ~x IN s)) ==> (?f. (!x y. (f x = f y) ==> (x = y)) /\ (?y. !x. ~(f x = y))) prth = |- ?fn. (!f x. fn f x 0 = x) /\ (!f x n. fn f x(SUC n) = f(fn f x n)) prmth = |- !x f. ?fn. (fn 0 = x) /\ (!n. fn(SUC n) = f(fn n)) num_fn_thm = |- (?f. (!x y. (f x = f y) ==> (x = y)) /\ (?y. !x. ~(f x = y))) ==> (?fn. !n m. (fn n = fn m) ==> (n = m)) Theorem LESS_IMP_LESS_ADD autoloading from theory `arithmetic` ... LESS_IMP_LESS_ADD = |- !n m. n < m ==> (!p. n < (m + p)) Theorem LESS_ADD_SUC autoloading from theory `arithmetic` ... LESS_ADD_SUC = |- !m n. m < (m + (SUC n)) finite_N_bounded = |- !s. FINITE s ==> (?m. !n. n IN s ==> n < m) N_lemma = |- INFINITE UNIV main_lemma = |- !s. FINITE s ==> (!f. (!n m. (f n = f m) ==> (n = m)) ==> (?n. ~(f n) IN s)) INFINITY_IMP_INF = |- (?f. (!x y. (f x = f y) ==> (x = y)) /\ (?y. !x. ~(f x = y))) ==> (!s. FINITE s ==> (?x. ~x IN s)) INFINITE_UNIV = |- INFINITE UNIV = (?f. (!x y. (f x = f y) ==> (x = y)) /\ (?y. !x. ~(f x = y))) FINITE_PSUBSET_INFINITE = |- !s. INFINITE s = (!t. FINITE t ==> t SUBSET s ==> t PSUBSET s) FINITE_PSUBSET_UNIV = |- INFINITE UNIV = (!s. FINITE s ==> s PSUBSET UNIV) INFINITE_DIFF_FINITE = |- !s t. INFINITE s /\ FINITE t ==> ~(s DIFF t = {}) Theorem NOT_LESS_0 autoloading from theory `prim_rec` ... NOT_LESS_0 = |- !n. ~n < 0 FINITE_ISO_NUM = |- !s. FINITE s ==> (?f. (!n m. n < (CARD s) /\ m < (CARD s) ==> (f n = f m) ==> (n = m)) /\ (s = {f n | n < (CARD s)})) echo 'set_flag(`abort_when_fail`,true);;'\ 'load_theory `pred_sets`;;'\ 'compilet `set_ind`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool Theory pred_sets loaded () : void SET_INDUCT_TAC = - : tactic Calling Lisp compiler File set_ind compiled () : void #echo 'set_flag(`abort_when_fail`,true);;'\ 'load_theory `pred_sets`;;'\ 'compilet `gspec`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool Theory pred_sets loaded () : void dest_tuple = - : (term -> term list) MK_PAIR = - : (* list -> conv) EXISTS_TUPLE_CONV = - : (term list -> conv) PAIR_EQ_CONV = - : conv ELIM_EXISTS_CONV = - : conv PROVE_EXISTS = - : conv list_variant = - : (term list -> term list -> term list) SET_SPEC_CONV = - : conv - : conv SET_SPEC_CONV = - : conv Calling Lisp compiler File gspec compiled () : void #echo 'set_flag(`abort_when_fail`,true);;'\ 'load_theory `pred_sets`;;'\ 'compilet `fset_conv`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool Theory pred_sets loaded () : void FINITE_CONV = - : conv IN_CONV = - : (conv -> conv) DELETE_CONV = - : (conv -> conv) UNION_CONV = - : (conv -> conv) INSERT_CONV = - : (conv -> conv) IMAGE_CONV = - : (conv -> conv -> conv) Calling Lisp compiler File fset_conv compiled () : void #===> library pred_sets rebuilt make[4]: Leaving directory '/<>/Library/pred_sets' make[4]: Entering directory '/<>/Library/string' rm -f ascii.th echo 'set_flag(`abort_when_fail`,true);;'\ 'loadt `mk_ascii`;;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool () : void ascii_Axiom = |- !f. ?! fn. !b0 b1 b2 b3 b4 b5 b6 b7. fn(ASCII b0 b1 b2 b3 b4 b5 b6 b7) = f b0 b1 b2 b3 b4 b5 b6 b7 ascii_Induct = |- !P. (!b0 b1 b2 b3 b4 b5 b6 b7. P(ASCII b0 b1 b2 b3 b4 b5 b6 b7)) ==> (!a. P a) ascii_CASES = |- !a. ?b0 b1 b2 b3 b4 b5 b6 b7. a = ASCII b0 b1 b2 b3 b4 b5 b6 b7 ASCII_11 = |- !b0 b1 b2 b3 b4 b5 b6 b7 b0' b1' b2' b3' b4' b5' b6' b7'. (ASCII b0 b1 b2 b3 b4 b5 b6 b7 = ASCII b0' b1' b2' b3' b4' b5' b6' b7') = (b0 = b0') /\ (b1 = b1') /\ (b2 = b2') /\ (b3 = b3') /\ (b4 = b4') /\ (b5 = b5') /\ (b6 = b6') /\ (b7 = b7') rm -f string.th echo 'set_flag(`abort_when_fail`,true);;'\ 'loadt `mk_string`;;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool () : void Theory ascii loaded () : void () : void () : void () : void () : void string_Axiom = `string_Axiom` : string spec = `string = `` | STRING ascii string` : string tok = `tok` : string string_Induct = `string_Induct` : string string_CASES = `string_CASES` : string STRING_11 = `STRING_11` : string NOT_STRING_EMPTY = `NOT_STRING_EMPTY` : string NOT_EMPTY_STRING = `NOT_EMPTY_STRING` : string () : void string_Axiom = |- !e f. ?! fn. (fn `` = e) /\ (!a s. fn(STRING a s) = f(fn s)a s) () : void string_Induct = |- !P. P `` /\ (!s. P s ==> (!a. P(STRING a s))) ==> (!s. P s) string_CASES = |- !s. (s = ``) \/ (?s' a. s = STRING a s') STRING_11 = |- !a s a' s'. (STRING a s = STRING a' s') = (a = a') /\ (s = s') NOT_STRING_EMPTY = |- !a s. ~(`` = STRING a s) NOT_EMPTY_STRING = |- !a s. ~(STRING a s = ``) () : void echo 'set_flag(`abort_when_fail`,true);;'\ 'load_theory `ascii`;;'\ 'compilet `ascii`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool Theory ascii loaded () : void ascii_EQ_CONV = - : conv Calling Lisp compiler File ascii compiled () : void #echo 'set_flag(`abort_when_fail`,true);;'\ 'load_theory `string`;;'\ 'compilet `stringconv`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool Theory string loaded () : void string_CONV = - : conv Calling Lisp compiler File stringconv compiled () : void #echo 'set_flag(`abort_when_fail`,true);;'\ 'load_theory `string`;;'\ 'loadf `stringconv`;;'\ 'loadf `ascii`;;'\ 'compilet `string_rules`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool Theory string loaded () : void .() : void .() : void string_EQ_CONV = - : conv Calling Lisp compiler File string_rules compiled () : void #echo 'set_flag(`abort_when_fail`,true);;'\ 'load_theory `string`;;'\ 'compilet `string`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool Theory string loaded () : void Updating search path () : void Updating help search path () : void Theory string loaded () : void () : void () : void Calling Lisp compiler File string compiled () : void #===> library string rebuilt make[4]: Leaving directory '/<>/Library/string' make[4]: Entering directory '/<>/Library/finite_sets' rm -f finite_sets.th echo 'set_flag(`abort_when_fail`,true);;'\ 'loadt `mk_finite_sets`;;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool () : void IS_SET_REP = "\s. !P. P(\x. F) /\ (!t. P t ==> (!x. P(\y. (y = x) \/ t y))) ==> P s" : term IS_SET_REP_EMPTY = |- (\s. !P. P(\x. F) /\ (!t. P t ==> (!x. P(\y. (y = x) \/ t y))) ==> P s) (\x. F) INSERTION_PRESERVES_IS_SET_REP = |- !s. (\s. !P. P(\x. F) /\ (!t. P t ==> (!x. P(\y. (y = x) \/ t y))) ==> P s) s ==> (!x. (\s. !P. P(\x. F) /\ (!t. P t ==> (!x. P(\y. (y = x) \/ t y))) ==> P s) (\y. (y = x) \/ s y)) REP_INDUCT = |- !P. P(\x. F) /\ (!t. P t ==> (!x. P(\y. (y = x) \/ t y))) ==> (!s. (\s. !P. P(\x. F) /\ (!t. P t ==> (!x. P(\y. (y = x) \/ t y))) ==> P s) s ==> P s) IS_SET_REP_EXISTS = |- ?IS_SET_REP. IS_SET_REP(\x. F) /\ (!s. IS_SET_REP s ==> (!x. IS_SET_REP(\y. (y = x) \/ s y))) /\ (!P. P(\x. F) /\ (!t. P t ==> (!x. P(\y. (y = x) \/ t y))) ==> (!s. IS_SET_REP s ==> P s)) IS_SET_REP = |- IS_SET_REP(\x. F) /\ (!s. IS_SET_REP s ==> (!x. IS_SET_REP(\y. (y = x) \/ s y))) /\ (!P. P(\x. F) /\ (!t. P t ==> (!x. P(\y. (y = x) \/ t y))) ==> (!s. IS_SET_REP s ==> P s)) STRONG_SET_REP_INDUCT = |- !P. P(\x. F) /\ (!t. IS_SET_REP t ==> P t ==> (!x. P(\y. (y = x) \/ t y))) ==> (!s. IS_SET_REP s ==> P s) EXISTENCE_THM = |- ?s. IS_SET_REP s set_TY_DEF = |- ?rep. TYPE_DEFINITION IS_SET_REP rep EXISTENCE_LEMMA = |- ?EMPTY INSERT IN. (!x. ~IN x EMPTY) /\ (!x y s. IN x(INSERT y s) = (x = y) \/ IN x s) /\ (!x s. INSERT x(INSERT x s) = INSERT x s) /\ (!x y s. INSERT x(INSERT y s) = INSERT y(INSERT x s)) /\ (!P. P EMPTY /\ (!s. P s ==> (!e. P(INSERT e s))) ==> (!s. P s)) FINITE_SET_DEF = |- (!x. ~x IN EMPTY) /\ (!x y s. x IN (y INSERT s) = (x = y) \/ x IN s) /\ (!x s. x INSERT (x INSERT s) = x INSERT s) /\ (!x y s. x INSERT (y INSERT s) = y INSERT (x INSERT s)) /\ (!P. P EMPTY /\ (!s. P s ==> (!e. P(e INSERT s))) ==> (!s. P s)) () : void NOT_IN_EMPTY = |- !x. ~x IN {} IN_INSERT = |- !x y s. x IN (y INSERT s) = (x = y) \/ x IN s INSERT_INSERT = |- !x s. x INSERT (x INSERT s) = x INSERT s INSERT_COMM = |- !x y s. x INSERT (y INSERT s) = y INSERT (x INSERT s) |- !x. ~x IN {} |- !x y s. x IN (y INSERT s) = (x = y) \/ x IN s |- !x s. x INSERT (x INSERT s) = x INSERT s |- !x y s. x INSERT (y INSERT s) = y INSERT (x INSERT s) COMPONENT = |- !x s. x IN (x INSERT s) NOT_EMPTY_INSERT = |- !x s. ~({} = x INSERT s) NOT_INSERT_EMPTY = |- !x s. ~(x INSERT s = {}) lemma = |- !x s. x IN s ==> (x INSERT s = s) ABSORPTION = |- !x s. x IN s = (x INSERT s = s) SET_INDUCT = |- !P. P{} /\ (!s. P s ==> (!e. ~e IN s ==> P(e INSERT s))) ==> (!s. P s) SET_INDUCT_TAC = - : tactic File set_ind.ml loaded () : void DECOMPOSITION = |- !s x. x IN s = (?t. (s = x INSERT t) /\ ~x IN t) MEMBER_NOT_EMPTY = |- !s. (?x. x IN s) = ~(s = {}) lemma = |- !s t. (!x. x IN s = x IN t) ==> (s = t) EXTENSION = |- !s t. (s = t) = (!x. x IN s = x IN t) NOT_EQUAL_SETS = |- !s t. ~(s = t) = (?x. x IN t = ~x IN s) Theorem NOT_LESS autoloading from theory `arithmetic` ... NOT_LESS = |- !m n. ~m < n = n <= m Theorem WOP autoloading from theory `arithmetic` ... WOP = |- !P. (?n. P n) ==> (?n. P n /\ (!m. m < n ==> ~P m)) NUM_SET_WOP = |- !s. (?n. n IN s) = (?n. n IN s /\ (!m. m IN s ==> n <= m)) SET_CASES = |- !s. (s = {}) \/ (?x t. (s = x INSERT t) /\ ~x IN t) SUBSET_DEF = |- !s t. s SUBSET t = (!x. x IN s ==> x IN t) SUBSET_TRANS = |- !s t u. s SUBSET t /\ t SUBSET u ==> s SUBSET u SUBSET_REFL = |- !s. s SUBSET s SUBSET_ANTISYM = |- !s t. s SUBSET t /\ t SUBSET s ==> (s = t) EMPTY_SUBSET = |- !s. {} SUBSET s SUBSET_EMPTY = |- !s. s SUBSET {} = (s = {}) INSERT_SUBSET = |- !x s t. (x INSERT s) SUBSET t = x IN t /\ s SUBSET t SUBSET_INSERT = |- !x s. ~x IN s ==> (!t. s SUBSET (x INSERT t) = s SUBSET t) PSUBSET_DEF = |- !s t. s PSUBSET t = s SUBSET t /\ ~(s = t) PSUBSET_TRANS = |- !s t u. s PSUBSET t /\ t PSUBSET u ==> s PSUBSET u PSUBSET_IRREFL = |- !s. ~s PSUBSET s NOT_PSUBSET_EMPTY = |- !s. ~s PSUBSET {} PSUBSET_INSERT_SUBSET = |- !s t. s PSUBSET t = (?x. ~x IN s /\ (x INSERT s) SUBSET t) lemma = |- ~(a = b) = (b = ~a) PSUBSET_MEMBER = |- !s t. s PSUBSET t = s SUBSET t /\ (?y. y IN t /\ ~y IN s) UNION_EXISTS = |- !s t. ?u. !x. x IN u = x IN s \/ x IN t IN_UNION = |- !s t x. x IN (s UNION t) = x IN s \/ x IN t UNION_ASSOC = |- !s t u. (s UNION t) UNION u = s UNION (t UNION u) UNION_IDEMPOT = |- !s. s UNION s = s UNION_COMM = |- !s t. s UNION t = t UNION s SUBSET_UNION = |- (!s t. s SUBSET (s UNION t)) /\ (!s t. s SUBSET (t UNION s)) SUBSET_UNION_ABSORPTION = |- !s t. s SUBSET t = (s UNION t = t) UNION_EMPTY = |- (!s. {} UNION s = s) /\ (!s. s UNION {} = s) EMPTY_UNION = |- !s t. (s UNION t = {}) = (s = {}) /\ (t = {}) INSERT_UNION = |- !x s t. (x INSERT s) UNION t = (x IN t => s UNION t | x INSERT (s UNION t)) INSERT_UNION_EQ = |- !x s t. (x INSERT s) UNION t = x INSERT (s UNION t) INTER_EXISTS = |- !s t. ?i. !x. x IN i = x IN s /\ x IN t IN_INTER = |- !s t x. x IN (s INTER t) = x IN s /\ x IN t INTER_ASSOC = |- !s t u. (s INTER t) INTER u = s INTER (t INTER u) INTER_IDEMPOT = |- !s. s INTER s = s INTER_COMM = |- !s t. s INTER t = t INTER s INTER_SUBSET = |- (!s t. (s INTER t) SUBSET s) /\ (!s t. (t INTER s) SUBSET s) SUBSET_INTER_ABSORPTION = |- !s t. s SUBSET t = (s INTER t = s) INTER_EMPTY = |- (!s. {} INTER s = {}) /\ (!s. s INTER {} = {}) INSERT_INTER = |- !x s t. (x INSERT s) INTER t = (x IN t => x INSERT (s INTER t) | s INTER t) UNION_OVER_INTER = |- !s t u. s INTER (t UNION u) = (s INTER t) UNION (s INTER u) INTER_OVER_UNION = |- !s t u. s UNION (t INTER u) = (s UNION t) INTER (s UNION u) DISJOINT_DEF = |- !s t. DISJOINT s t = (s INTER t = {}) IN_DISJOINT = |- !s t. DISJOINT s t = ~(?x. x IN s /\ x IN t) DISJOINT_SYM = |- !s t. DISJOINT s t = DISJOINT t s DISJOINT_EMPTY = |- !s. DISJOINT{}s /\ DISJOINT s{} DISJOINT_EMPTY_REFL = |- !s. (s = {}) = DISJOINT s s DISJOINT_INSERT = |- !x s t. DISJOINT(x INSERT s)t = DISJOINT s t /\ ~x IN t DISJOINT_UNION = |- !s t u. DISJOINT(s UNION t)u = DISJOINT s u /\ DISJOINT t u DIFF_EXISTS = |- !s t. ?d. !x. x IN d = x IN s /\ ~x IN t IN_DIFF = |- !s t x. x IN (s DIFF t) = x IN s /\ ~x IN t DIFF_EMPTY = |- !s. s DIFF {} = s EMPTY_DIFF = |- !s. {} DIFF s = {} DIFF_DIFF = |- !s t. (s DIFF t) DIFF t = s DIFF t DIFF_EQ_EMPTY = |- !s. s DIFF s = {} DELETE_DEF = |- !s x. s DELETE x = s DIFF {x} IN_DELETE = |- !s x y. x IN (s DELETE y) = x IN s /\ ~(x = y) DELETE_NON_ELEMENT = |- !x s. ~x IN s = (s DELETE x = s) IN_DELETE_EQ = |- !s x x'. (x IN s = x' IN s) = (x IN (s DELETE x') = x' IN (s DELETE x)) EMPTY_DELETE = |- !x. {} DELETE x = {} DELETE_DELETE = |- !x s. (s DELETE x) DELETE x = s DELETE x DELETE_COMM = |- !x y s. (s DELETE x) DELETE y = (s DELETE y) DELETE x DELETE_SUBSET = |- !x s. (s DELETE x) SUBSET s SUBSET_DELETE = |- !x s t. s SUBSET (t DELETE x) = ~x IN s /\ s SUBSET t SUBSET_INSERT_DELETE = |- !x s t. s SUBSET (x INSERT t) = (s DELETE x) SUBSET t DIFF_INSERT = |- !s t x. s DIFF (x INSERT t) = (s DELETE x) DIFF t DELETE_INSERT = |- !x y s. (x INSERT s) DELETE y = ((x = y) => s DELETE y | x INSERT (s DELETE y)) INSERT_DELETE = |- !x s. x IN s ==> (x INSERT (s DELETE x) = s) DELETE_INTER = |- !s t x. (s DELETE x) INTER t = (s INTER t) DELETE x DISJOINT_DELETE_SYM = |- !s t x. DISJOINT(s DELETE x)t = DISJOINT(t DELETE x)s CHOICE_EXISTS = |- ?CHOICE. !s. ~(s = {}) ==> (CHOICE s) IN s CHOICE_DEF = |- !s. ~(s = {}) ==> (CHOICE s) IN s REST_DEF = |- !s. REST s = s DELETE (CHOICE s) CHOICE_NOT_IN_REST = |- !s. ~(CHOICE s) IN (REST s) CHOICE_INSERT_REST = |- !s. ~(s = {}) ==> ((CHOICE s) INSERT (REST s) = s) REST_SUBSET = |- !s. (REST s) SUBSET s lemma = |- (P /\ Q = P) = P ==> Q REST_PSUBSET = |- !s. ~(s = {}) ==> (REST s) PSUBSET s SING_DEF = |- !s. SING s = (?x. s = {x}) SING = |- !x. SING{x} IN_SING = |- !x y. x IN {y} = (x = y) NOT_SING_EMPTY = |- !x. ~({x} = {}) NOT_EMPTY_SING = |- !x. ~({} = {x}) EQUAL_SING = |- !x y. ({x} = {y}) = (x = y) DISJOINT_SING_EMPTY = |- !x. DISJOINT{x}{} INSERT_SING_UNION = |- !s x. x INSERT s = {x} UNION s SING_DELETE = |- !x. {x} DELETE x = {} DELETE_EQ_SING = |- !s x. x IN s ==> ((s DELETE x = {}) = (s = {x})) CHOICE_SING = |- !x. CHOICE{x} = x REST_SING = |- !x. REST{x} = {} SING_IFF_EMPTY_REST = |- !s. SING s = ~(s = {}) /\ (REST s = {}) IMAGE_EXISTS = |- !f s. ?t. !y. y IN t = (?x. (y = f x) /\ x IN s) IN_IMAGE = |- !f s y. y IN (IMAGE f s) = (?x. (y = f x) /\ x IN s) IMAGE_IN = |- !x s. x IN s ==> (!f. (f x) IN (IMAGE f s)) IMAGE_EMPTY = |- !f. IMAGE f{} = {} IMAGE_ID = |- !s. IMAGE(\x. x)s = s Theorem o_THM autoloading from theory `combin` ... o_THM = |- !f g x. (f o g)x = f(g x) IMAGE_COMPOSE = |- !f g s. IMAGE(f o g)s = IMAGE f(IMAGE g s) IMAGE_INSERT = |- !f x s. IMAGE f(x INSERT s) = (f x) INSERT (IMAGE f s) IMAGE_EQ_EMPTY = |- !s f. (IMAGE f s = {}) = (s = {}) IMAGE_DELETE = |- !f x s. ~x IN s ==> (IMAGE f(s DELETE x) = IMAGE f s) IMAGE_UNION = |- !f s t. IMAGE f(s UNION t) = (IMAGE f s) UNION (IMAGE f t) IMAGE_SUBSET = |- !s t. s SUBSET t ==> (!f. (IMAGE f s) SUBSET (IMAGE f t)) IMAGE_INTER = |- !f s t. (IMAGE f(s INTER t)) SUBSET ((IMAGE f s) INTER (IMAGE f t)) lemma = |- !s x. x IN s ==> (!f. (f x) IN (IMAGE f s)) SET_MINIMUM = |- !s M. (?x. x IN s) = (?x. x IN s /\ (!y. y IN s ==> (M x) <= (M y))) INJ_DEF = |- !f s t. INJ f s t = (!x. x IN s ==> (f x) IN t) /\ (!x y. x IN s /\ y IN s ==> (f x = f y) ==> (x = y)) INJ_ID = |- !s. INJ(\x. x)s s INJ_COMPOSE = |- !f g s t u. INJ f s t /\ INJ g t u ==> INJ(g o f)s u INJ_EMPTY = |- !f. (!s. INJ f{}s) /\ (!s. INJ f s{} = (s = {})) SURJ_DEF = |- !f s t. SURJ f s t = (!x. x IN s ==> (f x) IN t) /\ (!x. x IN t ==> (?y. y IN s /\ (f y = x))) SURJ_ID = |- !s. SURJ(\x. x)s s SURJ_COMPOSE = |- !f g s t u. SURJ f s t /\ SURJ g t u ==> SURJ(g o f)s u SURJ_EMPTY = |- !f. (!s. SURJ f{}s = (s = {})) /\ (!s. SURJ f s{} = (s = {})) IMAGE_SURJ = |- !f s t. SURJ f s t = (IMAGE f s = t) BIJ_DEF = |- !f s t. BIJ f s t = INJ f s t /\ SURJ f s t BIJ_ID = |- !s. BIJ(\x. x)s s BIJ_EMPTY = |- !f. (!s. BIJ f{}s = (s = {})) /\ (!s. BIJ f s{} = (s = {})) BIJ_COMPOSE = |- !f g s t u. BIJ f s t /\ BIJ g t u ==> BIJ(g o f)s u lemma1 = |- !f s. (!x y. x IN s /\ y IN s ==> (f x = f y) ==> (x = y)) = (!y. y IN s ==> (!x. x IN s /\ (f x = f y) = y IN s /\ (x = y))) lemma2 = |- !f s. ?g. !t. INJ f s t ==> (!x. x IN s ==> (g(f x) = x)) LINV_DEF = |- !f s t. INJ f s t ==> (!x. x IN s ==> (LINV f s(f x) = x)) lemma3 = |- !f s. ?g. !t. SURJ f s t ==> (!x. x IN t ==> (f(g x) = x)) RINV_DEF = |- !f s t. SURJ f s t ==> (!x. x IN t ==> (f(RINV f s x) = x)) card_rel_def = "(!s. R s 0 = (s = {})) /\ (!s n. R s(SUC n) = (?x. x IN s /\ R(s DELETE x)n))" : term Theorem num_Axiom autoloading from theory `prim_rec` ... num_Axiom = |- !e f. ?! fn. (fn 0 = e) /\ (!n. fn(SUC n) = f(fn n)n) CARD_REL_EXISTS = |- ?R. (!s. R s 0 = (s = {})) /\ (!s n. R s(SUC n) = (?x. x IN s /\ R(s DELETE x)n)) CARD_REL_DEL_LEMMA = .. |- !n s x. x IN s ==> R(s DELETE x)n ==> (!y. y IN s ==> R(s DELETE y)n) Theorem INV_SUC_EQ autoloading from theory `prim_rec` ... INV_SUC_EQ = |- !m n. (SUC m = SUC n) = (m = n) Theorem NOT_SUC autoloading from theory `num` ... NOT_SUC = |- !n. ~(SUC n = 0) CARD_REL_UNIQUE = .. |- !n s. R s n ==> (!m. R s m ==> (n = m)) CARD_REL_EXISTS_LEMMA = .. |- !s. ?n. R s n CARD_REL_THM = .. |- !m s. ((@n. R s n) = m) = R s m CARD_EXISTS = |- ?CARD. (CARD{} = 0) /\ (!s x. CARD(x INSERT s) = (x IN s => CARD s | SUC(CARD s))) CARD_DEF = |- (CARD{} = 0) /\ (!s x. CARD(x INSERT s) = (x IN s => CARD s | SUC(CARD s))) CARD_EMPTY = |- CARD{} = 0 CARD_INSERT = |- !s x. CARD(x INSERT s) = (x IN s => CARD s | SUC(CARD s)) CARD_EQ_0 = |- !s. (CARD s = 0) = (s = {}) Theorem num_CASES autoloading from theory `arithmetic` ... num_CASES = |- !m. (m = 0) \/ (?n. m = SUC n) Theorem SUC_SUB1 autoloading from theory `arithmetic` ... SUC_SUB1 = |- !m. (SUC m) - 1 = m CARD_DELETE = |- !s x. CARD(s DELETE x) = (x IN s => (CARD s) - 1 | CARD s) Theorem LESS_MONO_EQ autoloading from theory `arithmetic` ... LESS_MONO_EQ = |- !m n. (SUC m) < (SUC n) = m < n Definition LESS_OR_EQ autoloading from theory `arithmetic` ... LESS_OR_EQ = |- !m n. m <= n = m < n \/ (m = n) lemma1 = |- !n m. (SUC n) <= (SUC m) = n <= m Theorem LESS_THM autoloading from theory `prim_rec` ... LESS_THM = |- !m n. m < (SUC n) = (m = n) \/ m < n lemma2 = |- !n m. n <= (SUC m) = n <= m \/ (n = SUC m) Theorem LESS_EQ_REFL autoloading from theory `arithmetic` ... LESS_EQ_REFL = |- !m. m <= m CARD_INTER_LESS_EQ = |- !s t. (CARD(s INTER t)) <= (CARD s) Theorem ADD_CLAUSES autoloading from theory `arithmetic` ... ADD_CLAUSES = |- (0 + m = m) /\ (m + 0 = m) /\ ((SUC m) + n = SUC(m + n)) /\ (m + (SUC n) = SUC(m + n)) CARD_UNION = |- !s t. (CARD(s UNION t)) + (CARD(s INTER t)) = (CARD s) + (CARD t) lemma = |- !n m. n <= (SUC m) = n <= m \/ (n = SUC m) Theorem LESS_0 autoloading from theory `prim_rec` ... LESS_0 = |- !n. 0 < (SUC n) CARD_SUBSET = |- !s t. t SUBSET s ==> (CARD t) <= (CARD s) Theorem LESS_EQ autoloading from theory `arithmetic` ... LESS_EQ = |- !m n. m < n = (SUC m) <= n CARD_PSUBSET = |- !s t. t PSUBSET s ==> (CARD t) < (CARD s) CARD_SING = |- !x. CARD{x} = 1 SING_IFF_CARD1 = |- !s. SING s = (CARD s = 1) Theorem SUB_PLUS autoloading from theory `arithmetic` ... SUB_PLUS = |- !a b c. a - (b + c) = (a - b) - c Theorem SUB_0 autoloading from theory `arithmetic` ... SUB_0 = |- !m. (0 - m = 0) /\ (m - 0 = m) CARD_DIFF = |- !t s. CARD(s DIFF t) = (CARD s) - (CARD(s INTER t)) Theorem SUB_LESS_0 autoloading from theory `arithmetic` ... SUB_LESS_0 = |- !n m. m < n = 0 < (n - m) LESS_CARD_DIFF = |- !t s. (CARD t) < (CARD s) ==> 0 < (CARD(s DIFF t)) echo 'set_flag(`abort_when_fail`,true);;'\ 'load_theory `finite_sets`;;'\ 'compilet `set_ind`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool Theory finite_sets loaded () : void SET_INDUCT_TAC = - : tactic Calling Lisp compiler File set_ind compiled () : void #echo 'set_flag(`abort_when_fail`,true);;'\ 'load_theory `finite_sets`;;'\ 'compilet `fset_conv`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool Theory finite_sets loaded () : void IN_CONV = - : (conv -> conv) DELETE_CONV = - : (conv -> conv) UNION_CONV = - : (conv -> conv) INSERT_CONV = - : (conv -> conv) IMAGE_CONV = - : (conv -> conv -> conv) Calling Lisp compiler File fset_conv compiled () : void #===> library finite_sets rebuilt make[4]: Leaving directory '/<>/Library/finite_sets' make[4]: Entering directory '/<>/Library/res_quan' rm -f res_quan.th echo 'set_flag(`abort_when_fail`,true);;'\ 'loadt `mk_res_quan`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool () : void RESQ_FORALL = |- !P B. RES_FORALL P B = (!x. P x ==> B x) RESQ_EXISTS = |- !P B. RES_EXISTS P B = (?x. P x /\ B x) RESQ_SELECT = |- !P B. RES_SELECT P B = (@x. P x /\ B x) RESQ_ABSTRACT = |- !P B. RES_ABSTRACT P B = (\x. (P x => B x | ARB)) RESQ_FORALL_CONJ_DIST = |- !P Q R. (!i :: P. Q i /\ R i) = (!i :: P. Q i) /\ (!i :: P. R i) RESQ_FORALL_DISJ_DIST = |- !P Q R. (!i :: \i. P i \/ Q i. R i) = (!i :: P. R i) /\ (!i :: Q. R i) RESQ_FORALL_UNIQUE = |- !P j. (!i :: $= j. P i) = P j RESQ_FORALL_FORALL = |- !P R x. (!x. !i :: P. R i x) = (!i :: P. !x. R i x) RESQ_FORALL_REORDER = |- !P Q R. (!i :: P. !j :: Q. R i j) = (!j :: Q. !i :: P. R i j) RESQ_EXISTS_DISJ_DIST = |- !P Q R. (?i :: P. Q i \/ R i) = (?i :: P. Q i) \/ (?i :: P. R i) RESQ_DISJ_EXISTS_DIST = |- !P Q R. (?i :: \i. P i \/ Q i. R i) = (?i :: P. R i) \/ (?i :: Q. R i) RESQ_EXISTS_UNIQUE = |- !P j. (?i :: $= j. P i) = P j RESQ_EXISTS_REORDER = |- !P Q R. (?i :: P. ?j :: Q. R i j) = (?j :: Q. ?i :: P. R i j) () : void File mk_res_quan loaded () : void #echo 'set_flag(`abort_when_fail`,true);;'\ 'compilet `cond_rewr`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool match_aa = - : (term -> term -> ((term # term) list # (type # type) list) list) match_ok = - : (* list -> ((** # *) list # *** list) list -> bool) match_aal = - : (term list -> term -> term list -> ((term # term) list # term) list) subset = - : (* list -> * list -> bool) match_asm = - : (term list -> term list -> ((term # term) list # term list) -> term list -> ((term # term) list # term list)) var_cap = - : (thm -> term list -> term list -> term list -> (term list # thm)) MATCH_SUBS1 = - : (thm -> term list -> term list -> ((term # term) list # (type # type) list) -> (term list # thm)) MATCH_SUBS = - : (thm -> term list -> term list -> ((term # term) list # (type # type) list) list -> (term list # thm list)) COND_REWR_TAC = - : ((term -> term -> ((term # term) list # (type # type) list) list) -> thm_tactic) - : ((term -> term -> ((term # term) list # (type # type) list) list) -> thm_tactic) COND_REWR_TAC = - : ((term -> term -> ((term # term) list # (type # type) list) list) -> thm_tactic) search_top_down = - : (term -> term -> ((term # term) list # (type # type) list) list) COND_REWR_CANON = - : (thm -> thm) COND_REWRITE1_TAC = - : thm_tactic COND_REWR_CONV = - : ((term -> term -> ((term # term) list # (type # type) list) list) -> thm -> conv) COND_REWRITE1_CONV = - : (thm list -> thm -> conv) Calling Lisp compiler File cond_rewr compiled () : void #echo 'set_flag(`abort_when_fail`,true);;'\ 'load_theory `res_quan`;;'\ 'loadf `cond_rewr`;;'\ 'compilet `res_rules`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool Theory res_quan loaded () : void ................() : void rtheory = `res_quan` : string mk_resq_forall = - : ((term # term # term) -> term) mk_resq_exists = - : ((term # term # term) -> term) mk_resq_select = - : ((term # term # term) -> term) mk_resq_abstract = - : ((term # term # term) -> term) list_mk_resq_forall = - : (((term # term) list # term) -> term) list_mk_resq_exists = - : (((term # term) list # term) -> term) dest_resq_forall = - : (term -> (term # term # term)) dest_resq_exists = - : (term -> (term # term # term)) dest_resq_select = - : (term -> (term # term # term)) dest_resq_abstract = - : (term -> (term # term # term)) strip_resq_forall = - : (term -> ((term # term) list # term)) strip_resq_exists = - : (term -> ((term # term) list # term)) is_resq_forall = - : (term -> bool) is_resq_exists = - : (term -> bool) is_resq_select = - : (term -> bool) is_resq_abstract = - : (term -> bool) RESQ_SPEC = - : (term -> thm -> thm) RESQ_SPECL = - : (term list -> thm -> thm) RESQ_SPEC_ALL = - : (thm -> thm) GQSPEC = - : (term -> thm -> thm) GQSPECL = - : (term list -> thm -> thm) GQSPEC_ALL = - : (thm -> thm) RESQ_HALF_SPEC = - : (thm -> thm) RESQ_HALF_EXISTS = - : (thm -> thm) RESQ_GEN = - : ((term # term) -> thm -> thm) RESQ_GENL = - : ((term # term) list -> thm -> thm) RESQ_GEN_ALL = - : (thm -> thm) RESQ_MATCH_MP = - : (thm -> thm -> thm) RESQ_HALF_GEN_TAC = - : tactic RESQ_GEN_TAC = - : tactic GGEN_TAC = - : tactic RESQ_EXISTS_TAC = - : (term -> tactic) MATCH_MP = - : (thm -> thm -> thm) check = - : (string -> * list -> * list) check_res = - : (thm -> thm) RESQ_IMP_RES_THEN = - : thm_tactical RESQ_RES_THEN = - : (thm_tactic -> tactic) ((-), -) : (thm_tactical # (thm_tactic -> tactic)) RESQ_IMP_RES_THEN = - : thm_tactical RESQ_RES_THEN = - : (thm_tactic -> tactic) RESQ_IMP_RES_TAC = - : thm_tactic RESQ_RES_TAC = - : tactic LHS_CONV = - : (conv -> conv) RHS_CONV = - : (conv -> conv) BOTH_CONV = - : (conv -> conv) LEFT_THENC_RIGHT = - : (conv -> conv -> conv) RF_BODY_CONV = - : (conv -> conv) RF_PRED_CONV = - : (conv -> conv) RF_CONV = - : (conv -> conv) PRED_THENC_BODY = - : (conv -> conv -> conv) RESQ_FORALL_CONV = - : conv LIST_RESQ_FORALL_CONV = - : conv IMP_RESQ_FORALL_CONV = - : conv RESQ_FORALL_AND_CONV = - : conv AND_RESQ_FORALL_CONV = - : conv RESQ_FORALL_SWAP_CONV = - : conv RESQ_EXISTS_CONV = - : conv RESQ_REWR_CANON = - : (thm -> thm) RESQ_REWRITE1_TAC = - : thm_tactic RESQ_REWRITE1_CONV = - : (thm list -> thm -> conv) check_varstruct = - : (term -> term list) check_lhs = - : (term -> term list) get_type = - : (term -> type -> type) RESQ_DEF_EXISTS_RULE = - : conv new_gen_resq_definition = - : (string -> (string # term) -> thm) new_resq_definition = - : ((string # term) -> thm) new_infix_resq_definition = - : ((string # term) -> thm) new_binder_resq_definition = - : ((string # term) -> thm) ((-), (-), -) : (((string # term) -> thm) # ((string # term) -> thm) # ((string # term) -> thm)) new_resq_definition = - : ((string # term) -> thm) new_infix_resq_definition = - : ((string # term) -> thm) new_binder_resq_definition = - : ((string # term) -> thm) Calling Lisp compiler File res_rules compiled () : void #===> library res_quan rebuilt make[4]: Leaving directory '/<>/Library/res_quan' make[4]: Entering directory '/<>/Library/wellorder' \ echo 'set_flag(`abort_when_fail`,true);;' \ 'loadt `mk_wellorder`;;' \ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool false : bool () : void false : bool Run time: 0.0s ty = ":* # * -> bool" : type Run time: 0.0s set_wo_map = - : (void -> void) unset_wo_map = - : (void -> void) Run time: 0.0s TAUT_CONV = - : conv Run time: 0.0s GEN_PAIR_TAC = - : tactic Run time: 0.0s PBETA_TAC = - : tactic Run time: 0.0s ABBREV_TAC = - : (term -> tactic) Run time: 0.0s EXPAND_TAC = - : (string -> tactic) Run time: 0.0s ANTE_RES_THEN = - : thm_tactical Run time: 0.0s IMP_RES_THEN = - : thm_tactical Run time: 0.0s LAND_CONV = - : (conv -> conv) Run time: 0.0s less = |- !l x y. wo_less l(x,y) = l(x,y) /\ ~(x = y) Run time: 0.0s Intermediate theorems generated: 2 subset = |- !P Q. P wo_subset Q = (!x. P x ==> Q x) Run time: 0.0s Intermediate theorems generated: 2 Union = |- !P. wo_Union P = (\x. ?p. P p /\ p x) Run time: 0.0s Intermediate theorems generated: 2 fl = |- !l x. wo_fl l x = (?y. l(x,y) \/ l(y,x)) Run time: 0.0s Intermediate theorems generated: 2 poset = |- !l. wo_poset l = (!x. wo_fl l x ==> l(x,x)) /\ (!x y z. l(x,y) /\ l(y,z) ==> l(x,z)) /\ (!x y. l(x,y) /\ l(y,x) ==> (x = y)) Run time: 0.0s Intermediate theorems generated: 2 chain = |- !l P. wo_chain l P = (!x y. P x /\ P y ==> l(x,y) \/ l(y,x)) Run time: 0.1s Intermediate theorems generated: 2 woset = |- !l. wo_woset l = (!x. wo_fl l x ==> l(x,x)) /\ (!x y z. l(x,y) /\ l(y,z) ==> l(x,z)) /\ (!x y. l(x,y) /\ l(y,x) ==> (x = y)) /\ (!x y. wo_fl l x /\ wo_fl l y ==> l(x,y) \/ l(y,x)) /\ (!P. (!x. P x ==> wo_fl l x) /\ (?x. P x) ==> (?y. P y /\ (!z. P z ==> l(y,z)))) Run time: 0.0s Intermediate theorems generated: 2 inseg = |- !l m. l wo_inseg m = (!x y. l(x,y) = m(x,y) /\ wo_fl l y) Run time: 0.0s Intermediate theorems generated: 2 linseg = |- !l a. wo_linseg l a = (\(x,y). l(x,y) /\ wo_less l(y,a)) Run time: 0.0s Intermediate theorems generated: 2 ordinal = |- !l. wo_ordinal l = wo_woset l /\ (!x. wo_fl l x ==> (x = (@y. ~wo_less l(y,x)))) Run time: 0.0s Intermediate theorems generated: 2 () : void Run time: 0.0s SUBSET_REFL = |- !P. P subset P Run time: 0.1s Intermediate theorems generated: 22 SUBSET_ANTISYM = |- !P Q. P subset Q /\ Q subset P ==> (P = Q) Run time: 0.0s Intermediate theorems generated: 100 SUBSET_TRANS = |- !P Q R. P subset Q /\ Q subset R ==> P subset R Run time: 0.1s Intermediate theorems generated: 121 POSET_REFL = |- !l. poset l ==> (!x. fl l x ==> l(x,x)) POSET_TRANS = |- !l. poset l ==> (!x y z. l(x,y) /\ l(y,z) ==> l(x,z)) POSET_ANTISYM = |- !l. poset l ==> (!x y. l(x,y) /\ l(y,x) ==> (x = y)) Run time: 0.0s Intermediate theorems generated: 16 POSET_FLEQ = |- !l. poset l ==> (!x. fl l x = l(x,x)) Run time: 0.0s Intermediate theorems generated: 34 CHAIN_SUBSET = |- !l P Q. chain l P /\ Q subset P ==> chain l Q Run time: 0.0s Intermediate theorems generated: 90 WOSET_REFL = |- !l. woset l ==> (!x. fl l x ==> l(x,x)) WOSET_TRANS = |- !l. woset l ==> (!x y z. l(x,y) /\ l(y,z) ==> l(x,z)) WOSET_ANTISYM = |- !l. woset l ==> (!x y. l(x,y) /\ l(y,x) ==> (x = y)) WOSET_TOTAL = |- !l. woset l ==> (!x y. fl l x /\ fl l y ==> l(x,y) \/ l(y,x)) WOSET_WELL = |- !l. woset l ==> (!P. (!x. P x ==> fl l x) /\ (?x. P x) ==> (?y. P y /\ (!z. P z ==> l(y,z)))) Run time: 0.0s Intermediate theorems generated: 24 WOSET_POSET = |- !l. woset l ==> poset l Run time: 0.0s Intermediate theorems generated: 98 WOSET_FLEQ = |- !l. woset l ==> (!x. fl l x = l(x,x)) Run time: 0.0s Intermediate theorems generated: 8 WOSET_TRANS_LESS = |- !l. woset l ==> (!x y z. less l(x,y) /\ l(y,z) ==> less l(x,z)) Run time: 0.0s Intermediate theorems generated: 144 WOSET = |- !l. woset l = (!x y. l(x,y) /\ l(y,x) ==> (x = y)) /\ (!P. (!x. P x ==> fl l x) /\ (?x. P x) ==> (?y. P y /\ (!z. P z ==> l(y,z)))) Run time: 0.4s Intermediate theorems generated: 1294 PAIRED_EXT = |- !l m. (!x y. l(x,y) = m(x,y)) = (l = m) Run time: 0.1s Intermediate theorems generated: 63 WOSET_REFL = |- !l. woset l ==> (!x. fl l x ==> l(x,x)) WOSET_TRANS = |- !l. woset l ==> (!x y z. l(x,y) /\ l(y,z) ==> l(x,z)) WOSET_ANTISYM = |- !l. woset l ==> (!x y. l(x,y) /\ l(y,x) ==> (x = y)) WOSET_TOTAL = |- !l. woset l ==> (!x y. fl l x /\ fl l y ==> l(x,y) \/ l(y,x)) WOSET_WELL = |- !l. woset l ==> (!P. (!x. P x ==> fl l x) /\ (?x. P x) ==> (?y. P y /\ (!z. P z ==> l(y,z)))) Run time: 0.0s Intermediate theorems generated: 24 WOSET_TRANS_LE = |- !l. woset l ==> (!x y z. l(x,y) /\ less l(y,z) ==> less l(x,z)) Run time: 0.0s Intermediate theorems generated: 143 WOSET_WELL_CONTRAPOS = |- !l. woset l ==> (!P. (!x. P x ==> fl l x) /\ (?x. P x) ==> (?y. P y /\ (!z. less l(z,y) ==> ~P z))) Run time: 0.1s Intermediate theorems generated: 109 WOSET_TOTAL_LE = |- !l. woset l ==> (!x y. fl l x /\ fl l y ==> l(x,y) \/ less l(y,x)) Run time: 0.0s Intermediate theorems generated: 138 WOSET_TOTAL_LT = |- !l. woset l ==> (!x y. fl l x /\ fl l y ==> (x = y) \/ less l(x,y) \/ less l(y,x)) Run time: 0.1s Intermediate theorems generated: 172 WO_INDUCT = |- !P l. woset l /\ (!x. fl l x /\ (!y. less l(y,x) ==> P y) ==> P x) ==> (!x. fl l x ==> P x) Run time: 0.1s Intermediate theorems generated: 469 WO_INDUCT_TAC = - : tactic Run time: 0.0s Intermediate theorems generated: 2 AGREE_LEMMA = |- !l h ms m n f g z. woset l /\ (!x. fl l(ms x)) /\ (!f f' x. (!y. less l(ms y,ms x) ==> (f y = f' y)) ==> (h f x = h f' x)) /\ (!x. l(ms x,m) ==> (f x = h f x)) /\ (!x. l(ms x,n) ==> (g x = h g x)) /\ l(ms z,m) /\ l(ms z,n) ==> (f z = g z) Run time: 0.3s Intermediate theorems generated: 1165 WO_RECURSE_LOCAL = |- !l h ms. woset l /\ (!x. fl l(ms x)) /\ (!f f' x. (!y. less l(ms y,ms x) ==> (f y = f' y)) ==> (h f x = h f' x)) ==> (!n. ?f. !x. l(ms x,n) ==> (f x = h f x)) Run time: 0.4s Intermediate theorems generated: 1556 WO_RECURSE_EXISTS = |- !l h ms. woset l /\ (!x. fl l(ms x)) /\ (!f f' x. (!y. less l(ms y,ms x) ==> (f y = f' y)) ==> (h f x = h f' x)) ==> (?f. !x. f x = h f x) Run time: 0.1s Intermediate theorems generated: 444 WO_RECURSE = |- !l h ms. woset l /\ (!x. fl l(ms x)) /\ (!f g x. (!y. less l(ms y,ms x) ==> (f y = g y)) ==> (h f x = h g x)) ==> (?! f. !x. f x = h f x) Run time: 0.1s Intermediate theorems generated: 280 Theorem LESS_EQ_REFL autoloading from theory `arithmetic` ... LESS_EQ_REFL = |- !m. m <= m Run time: 0.1s FL_NUM = |- !n. fl(\(m,n). m <= n)n Run time: 0.1s Intermediate theorems generated: 39 Theorem WOP autoloading from theory `arithmetic` ... WOP = |- !P. (?n. P n) ==> (?n. P n /\ (!m. m < n ==> ~P m)) Run time: 0.0s Theorem NOT_LESS_EQUAL autoloading from theory `arithmetic` ... NOT_LESS_EQUAL = |- !m n. ~m <= n = n < m Run time: 0.0s Theorem LESS_EQUAL_ANTISYM autoloading from theory `arithmetic` ... LESS_EQUAL_ANTISYM = |- !n m. n <= m /\ m <= n ==> (n = m) Run time: 0.0s WOSET_NUM = |- woset(\(m,n). m <= n) Run time: 0.1s Intermediate theorems generated: 148 Theorem LESS_NOT_EQ autoloading from theory `prim_rec` ... LESS_NOT_EQ = |- !m n. m < n ==> ~(m = n) Run time: 0.0s Definition LESS_OR_EQ autoloading from theory `arithmetic` ... LESS_OR_EQ = |- !m n. m <= n = m < n \/ (m = n) Run time: 0.0s Intermediate theorems generated: 1 WO_RECURSE_NUM = |- !h ms. (!f g x. (!y. (ms y) < (ms x) ==> (f y = g y)) ==> (h f x = h g x)) ==> (?! f. !x. f x = h f x) Run time: 0.1s Intermediate theorems generated: 259 UNION_FL = |- !P l. fl(Union P)x = (?l. P l /\ fl l x) Run time: 0.1s Intermediate theorems generated: 170 UNION_INSEG = |- !P l. (!m. P m ==> m inseg l) ==> (Union P) inseg l Run time: 0.1s Intermediate theorems generated: 232 INSEG_SUBSET = |- !l m. m inseg l ==> (!x y. m(x,y) ==> l(x,y)) Run time: 0.0s Intermediate theorems generated: 68 INSEG_SUBSET_FL = |- !l m. m inseg l ==> (!x. fl m x ==> fl l x) Run time: 0.1s Intermediate theorems generated: 187 INSEG_WOSET = |- !l m. m inseg l /\ woset l ==> woset m Run time: 0.1s Intermediate theorems generated: 401 LINSEG_INSEG = |- !l a. woset l ==> (linseg l a) inseg l Run time: 0.1s Intermediate theorems generated: 240 LINSEG_WOSET = |- !l a. woset l ==> woset(linseg l a) Run time: 0.0s Intermediate theorems generated: 39 LINSEG_FL = |- !l a x. woset l ==> (fl(linseg l a)x = less l(x,a)) Run time: 0.0s Intermediate theorems generated: 142 INSEG_PROPER_SUBSET = |- !l m. m inseg l /\ ~(l = m) ==> (?x y. l(x,y) /\ ~m(x,y)) Run time: 0.1s Intermediate theorems generated: 213 INSEG_PROPER_SUBSET_FL = |- !l m. m inseg l /\ ~(l = m) ==> (?a. fl l a /\ ~fl m a) Run time: 0.0s Intermediate theorems generated: 107 INSEG_LINSEG = |- !l m. woset l ==> (m inseg l = (m = l) \/ (?a. fl l a /\ (m = linseg l a))) Run time: 0.4s Intermediate theorems generated: 1172 EXTEND_FL = |- !l x. woset l ==> (fl(\(x,y). l(x,y) /\ l(y,a))x = l(x,a)) Run time: 0.0s Intermediate theorems generated: 143 EXTEND_INSEG = |- !l a. woset l /\ fl l a ==> (\(x,y). l(x,y) /\ l(y,a)) inseg l Run time: 0.1s Intermediate theorems generated: 57 EXTEND_LINSEG = |- !l a. woset l /\ fl l a ==> (\(x,y). linseg l a(x,y) \/ (y = a) /\ (fl(linseg l a)x \/ (x = a))) inseg l Run time: 0.2s Intermediate theorems generated: 489 ORDINAL_CHAINED = |- !l m. ordinal l /\ ordinal m ==> m inseg l \/ l inseg m Run time: 0.3s Intermediate theorems generated: 997 FL_SUC = |- !l a. fl(\(x,y). l(x,y) \/ (y = a) /\ (fl l x \/ (x = a)))x = fl l x \/ (x = a) Run time: 0.3s Intermediate theorems generated: 659 ORDINAL_SUC = |- !l. ordinal l /\ (?x. ~fl l x) ==> ordinal (\(x,y). l(x,y) \/ (y = (@y. ~fl l y)) /\ (fl l x \/ (x = (@y. ~fl l y)))) Run time: 0.4s Intermediate theorems generated: 2338 ORDINAL_UNION = |- !P. (!l. P l ==> ordinal l) ==> ordinal(Union P) Run time: 0.3s Intermediate theorems generated: 2015 ORDINAL_UNION_LEMMA = |- !l x. ordinal l ==> fl l x ==> fl(Union ordinal)x Run time: 0.0s Intermediate theorems generated: 30 ORDINAL_UP = |- !l. ordinal l ==> (!x. fl l x) \/ (?m x. ordinal m /\ fl m x /\ ~fl l x) Run time: 0.0s Intermediate theorems generated: 154 WO_LEMMA = |- ?l. ordinal l /\ (!x. fl l x) Run time: 0.1s Intermediate theorems generated: 135 WO_FL_RESTRICT = |- !l. woset l ==> (!P. fl(\(x,y). P x /\ P y /\ l(x,y))x = P x /\ fl l x) Run time: 0.1s Intermediate theorems generated: 392 WO = |- !P. ?l. woset l /\ (fl l = P) Run time: 0.1s Intermediate theorems generated: 403 HP = |- !l. poset l ==> (?P. chain l P /\ (!Q. chain l Q /\ P subset Q ==> (Q = P))) Run time: 0.5s Intermediate theorems generated: 2506 ZL = |- !l. poset l /\ (!P. chain l P ==> (?y. fl l y /\ (!x. P x ==> l(x,y)))) ==> (?y. fl l y /\ (!x. l(y,x) ==> (y = x))) Run time: 0.2s Intermediate theorems generated: 795 kl_tm = "\(c1,c2). C subset c1 /\ c1 subset c2 /\ chain l c2" : term Run time: 0.0s KL_POSET_LEMMA = |- poset(\(c1,c2). C subset c1 /\ c1 subset c2 /\ chain l c2) Run time: 0.1s Intermediate theorems generated: 386 KL = |- !l. poset l ==> (!C. chain l C ==> (?P. (chain l P /\ C subset P) /\ (!R. chain l R /\ P subset R ==> (R = P)))) Run time: 0.3s Intermediate theorems generated: 1083 () : void Run time: 0.1s Intermediate theorems generated: 1 File mk_wellorder loaded () : void Run time: 8.0s Intermediate theorems generated: 22538 #make[4]: Leaving directory '/<>/Library/wellorder' make[4]: Entering directory '/<>/Library/abs_theory' Making ../../Library/abs_theory/monoid_def.th... =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool true : bool false : bool false : bool Run time: 0.0s () : void Run time: 0.0s true : bool Run time: 0.0s .loading abs_theory .Extending help search path......................................() : void Run time: 0.2s SYM_RULE = - : (thm -> thm) Run time: 0.0s /bin/rm: cannot remove 'monoid_def.th': No such file or directory 1 : int Run time: 0.0s () : void Run time: 0.0s Intermediate theorems generated: 1 MONOID = |- !f. ?! fn. !f' x. fn(monoid f' x) = f f' x Run time: 0.1s Intermediate theorems generated: 431 () : void Run time: 0.0s Intermediate theorems generated: 2 "!f. (!a. (op m a f = a) /\ (op m f a = a)) ==> (f = e m)" 3 ["!x y z. op m x(op m y z) = op m(op m x y)z" ] 2 ["!x. op m(e m)x = x" ] 1 ["!x. op m x(e m) = x" ] () : void Run time: 0.0s Intermediate theorems generated: 1 OK.. "f = e m" 4 ["!x y z. op m x(op m y z) = op m(op m x y)z" ] 3 ["!x. op m(e m)x = x" ] 2 ["!x. op m x(e m) = x" ] 1 ["!a. (op m a f = a) /\ (op m f a = a)" ] () : void Run time: 0.0s Intermediate theorems generated: 6 OK.. "f = e m" 5 ["!x y z. op m x(op m y z) = op m(op m x y)z" ] 4 ["!x. op m(e m)x = x" ] 3 ["!x. op m x(e m) = x" ] 2 ["!a. (op m a f = a) /\ (op m f a = a)" ] 1 ["e m = op m(e m)f" ] () : void Run time: 0.0s Intermediate theorems generated: 10 OK.. "f = op m(e m)f" 5 ["!x y z. op m x(op m y z) = op m(op m x y)z" ] 4 ["!x. op m(e m)x = x" ] 3 ["!x. op m x(e m) = x" ] 2 ["!a. (op m a f = a) /\ (op m f a = a)" ] 1 ["e m = op m(e m)f" ] () : void Run time: 0.0s Intermediate theorems generated: 4 OK.. goal proved . |- f = op m(e m)f .. |- f = e m .. |- f = e m . |- !f. (!a. (op m a f = a) /\ (op m f a = a)) ==> (f = e m) Previous subproof: goal proved () : void Run time: 0.0s Intermediate theorems generated: 43 IDENTITY_UNIQUE = . |- !f. (!a. (op m a f = a) /\ (op m f a = a)) ==> (f = e m) Run time: 0.0s Intermediate theorems generated: 36 . |- !f. (!a. (op m a f = a) /\ (op m f a = a)) ==> (f = e m) Run time: 0.0s Intermediate theorems generated: 2 OP_DETERMINES_IDENTITY = .. |- (op m1 = op m2) ==> (e m1 = e m2) Run time: 0.0s Intermediate theorems generated: 73 .. |- (op m1 = op m2) ==> (e m1 = e m2) Run time: 0.1s Intermediate theorems generated: 4 () : void Run time: 0.0s Intermediate theorems generated: 1 File ../../Library/abs_theory/monoid_def.ml loaded () : void Run time: 0.5s Intermediate theorems generated: 614 Making ../../Library/abs_theory/group_def.th... =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool true : bool false : bool false : bool Run time: 0.0s () : void Run time: 0.0s true : bool Run time: 0.0s .loading abs_theory .Extending help search path......................................() : void Run time: 0.2s SYM_RULE = - : (thm -> thm) Run time: 0.0s /bin/rm: cannot remove 'group_def.th': No such file or directory 1 : int Run time: 0.0s () : void Run time: 0.0s Intermediate theorems generated: 1 Theory monoid_def loaded () : void Run time: 0.1s Intermediate theorems generated: 6 GROUP = |- !f. ?! fn. !f0 x f1. fn(group f0 x f1) = f f0 x f1 Run time: 0.2s Intermediate theorems generated: 601 () : void Run time: 0.0s Intermediate theorems generated: 2 GROUP_EXTENDS_MONOID = ... |- IS_MONOID(monoid(fn g)(id g)) Run time: 0.0s Intermediate theorems generated: 144 IDENTITY_UNIQUE = ... |- !f. (!a. (fn g a f = a) /\ (fn g f a = a)) ==> (f = id g) Run time: 0.1s Intermediate theorems generated: 144 ":(*)group" : type Run time: 0.0s Intermediate theorems generated: 3 ... |- !f. (!a. (fn g a f = a) /\ (fn g f a = a)) ==> (f = id g) Run time: 0.0s Intermediate theorems generated: 6 LEFT_CANCELLATION = ... |- !x y a. (fn g a x = fn g a y) ==> (x = y) Run time: 0.0s Intermediate theorems generated: 67 INVERSE_INVERSE_LEMMA = |- !g. IS_GROUP g ==> (!a. inv g(inv g a) = a) Run time: 0.0s Intermediate theorems generated: 45 ALTERNATE_INVERSE_INVERSE_LEMMA = |- !g. IS_GROUP g ==> (!a. inv g(inv g a) = a) Run time: 0.0s Intermediate theorems generated: 69 () : void Run time: 0.0s Intermediate theorems generated: 1 File ../../Library/abs_theory/group_def.ml loaded () : void Run time: 0.7s Intermediate theorems generated: 1089 Making ../../Library/abs_theory/example.th... =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool true : bool false : bool false : bool Run time: 0.0s () : void Run time: 0.0s true : bool Run time: 0.0s .loading abs_theory .Extending help search path......................................() : void Run time: 0.2s /bin/rm: cannot remove 'example.th': No such file or directory 1 : int Run time: 0.0s () : void Run time: 0.0s Intermediate theorems generated: 1 Loading library taut ... Updating help search path ........................................ Library taut loaded. () : void Run time: 0.1s Intermediate theorems generated: 153 Theory group_def loaded () : void Run time: 0.1s Intermediate theorems generated: 7 Theorem I_THM autoloading from theory `combin` ... I_THM = |- !x. I x = x Run time: 0.0s GROUP_THOBS = |- IS_GROUP(group(\x y. ~(x = y))F I) Run time: 0.1s Intermediate theorems generated: 378 |- !f. (!a. (~(a = f) = a) /\ (~(f = a) = a)) ==> ~f Run time: 0.2s Intermediate theorems generated: 733 |- !x y a. (~(a = x) = ~(a = y)) ==> (x = y) Run time: 0.2s Intermediate theorems generated: 732 |- !a. I(I a) = a Run time: 0.3s Intermediate theorems generated: 1106 concrete_rep = "group(\x y. x = y)T I" : term Run time: 0.0s GROUP_THOBS = |- IS_GROUP(group(\x y. x = y)T I) Run time: 0.1s Intermediate theorems generated: 356 inst_func = - : (string -> thm) Run time: 0.0s [|- !f. (!a. ((a = f) = a) /\ ((f = a) = a)) ==> f; |- !x y a. ((a = x) = (a = y)) ==> (x = y); |- !a. I(I a) = a] : thm list Run time: 0.5s Intermediate theorems generated: 2546 () : void Run time: 0.0s Intermediate theorems generated: 1 File ../../Library/abs_theory/example.ml loaded () : void Run time: 1.8s Intermediate theorems generated: 6013 ===> abs_theory rebuilt on Thu Apr 4 15:00:35 UTC 2024 Making abs_theory.ml =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool true : bool false : bool false : bool Run time: 0.0s () : void Run time: 0.0s () : void loading abs_theory () : void Extending help search path() : void int_to_term = - : (int -> term) term_to_int = - : (term -> int) for = - : (int -> * list -> * list) ol = - : ((* -> *) list -> * -> *) X_SPEC = - : (term -> term -> thm -> thm) CONJ_IMP = - : (thm -> thm) abs_type_info = - : (thm -> type) dest_all_type = - : (type -> (string # type list)) string_from_type = - : (type -> string) ty_str = - : (string -> type list -> string) def_prefix = `abs_def_` : string new_abstract_representation = - : (string -> (string # type) list -> thm) get_abs_defs = - : (string -> thm list) instantiate_abstract_definition = - : (string -> string -> thm -> (term # term) list -> thm) thobs = [] : (type # thm) list thobs_prefix = `thobs_` : string new_theory_obligations = - : ((string # term) -> void) get_thobs = - : (string -> (type # thm) list) orelsef = - : ((* -> **) -> (* -> **) -> * -> **) () : void D = - : (((* -> **) # (* -> ***)) -> * -> (** # ***)) () : void make_abs_goal = - : (goal -> goal) prove_abs_thm = - : ((string # term # tactic) -> thm) ABS_TAC_PROOF = - : ((goal # tactic) -> thm) set_abs_goal = - : (goal -> void) g = - : (term -> void) STRIP_THOBS_THEN = - : (thm_tactic -> tactic) STRIP_THOBS_TAC = - : tactic new_abstract_parent = - : (string -> void) EXPAND_THOBS_TAC = - : (string -> tactic) instantiate_abstract_theorem = - : (string -> string -> (term # term) list -> proof) close_theory_orig = - : (void -> void) close_theory = - : (void -> void) new_theory_orig = - : (string -> void) new_theory = - : (string -> void) ((-), (-), (-), (-), (-), (-), (-), (-), (-), (-), (-), (-), (-), (-), -) : (((goal # tactic) -> thm) # (string -> tactic) # tactic # (thm_tactic -> tactic) # (thm -> type) # (void -> void) # (term -> void) # (string -> string -> thm -> (term # term) list -> thm) # (string -> string -> (term # term) list -> proof) # (string -> void) # (string -> (string # type) list -> thm) # (string -> void) # ((string # term) -> void) # ((string # term # tactic) -> thm) # (goal -> void)) ABS_TAC_PROOF = - : ((goal # tactic) -> thm) EXPAND_THOBS_TAC = - : (string -> tactic) STRIP_THOBS_TAC = - : tactic STRIP_THOBS_THEN = - : (thm_tactic -> tactic) abs_type_info = - : (thm -> type) close_theory = - : (void -> void) g = - : (term -> void) instantiate_abstract_definition = - : (string -> string -> thm -> (term # term) list -> thm) instantiate_abstract_theorem = - : (string -> string -> (term # term) list -> proof) new_abstract_parent = - : (string -> void) new_abstract_representation = - : (string -> (string # type) list -> thm) new_theory = - : (string -> void) new_theory_obligations = - : ((string # term) -> void) prove_abs_thm = - : ((string # term # tactic) -> thm) set_abs_goal = - : (goal -> void) Calling Lisp compiler File abs_theory compiled () : void Run time: 0.5s make[4]: Leaving directory '/<>/Library/abs_theory' make[4]: Entering directory '/<>/Library/reals' cd theories; make all make[5]: Entering directory '/<>/Library/reals/theories' \ echo 'set_flag(`abort_when_fail`,true);;'\ 'loadt `hrat.ml`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool false : bool () : void false : bool Run time: 0.0s LAND_CONV = - : (conv -> conv) Run time: 0.0s TAUT_CONV = - : conv Run time: 0.0s AC = - : ((thm # thm) -> conv) Run time: 0.0s GEN_PAIR_TAC = - : tactic Run time: 0.0s MK_COMB_TAC = - : tactic Run time: 0.0s BINOP_TAC = - : tactic Run time: 0.0s SYM_CANON_CONV = - : (thm -> ((term # term) -> bool) -> conv) Run time: 0.0s IMP_SUBST_TAC = - : thm_tactic Run time: 0.0s ABBREV_TAC = - : (term -> tactic) Run time: 0.0s EXT_CONV = - : conv Run time: 0.0s ABS_TAC = - : tactic Run time: 0.0s EQUAL_TAC = - : tactic Run time: 0.0s X_BETA_CONV = - : (term -> conv) Run time: 0.0s EXACT_CONV = - : (thm list -> conv) Run time: 0.0s HABS_CONV = - : conv Run time: 0.0s autoload_definitions = - : (string -> void) Run time: 0.0s autoload_theorems = - : (string -> void) Run time: 0.0s EXPAND_TAC = - : (string -> tactic) Run time: 0.0s File useful loaded () : void Run time: 0.1s define_equivalence_type = - : (string -> thm -> (term # string # bool) list -> thm list -> thm list -> thm list) Run time: 0.0s File equiv loaded () : void Run time: 0.0s Theorem ADD_CLAUSES autoloading from theory `arithmetic` ... ADD_CLAUSES = |- (0 + m = m) /\ (m + 0 = m) /\ ((SUC m) + n = SUC(m + n)) /\ (m + (SUC n) = SUC(m + n)) Run time: 0.1s Theorem MULT_CLAUSES autoloading from theory `arithmetic` ... MULT_CLAUSES = |- !m n. (0 * m = 0) /\ (m * 0 = 0) /\ (1 * m = m) /\ (m * 1 = m) /\ ((SUC m) * n = (m * n) + n) /\ (m * (SUC n) = m + (m * n)) Run time: 0.0s Theorem PRE autoloading from theory `prim_rec` ... PRE = |- (PRE 0 = 0) /\ (!m. PRE(SUC m) = m) Run time: 0.1s Theorem NOT_SUC autoloading from theory `num` ... NOT_SUC = |- !n. ~(SUC n = 0) Run time: 0.0s Theorem num_CASES autoloading from theory `arithmetic` ... num_CASES = |- !m. (m = 0) \/ (?n. m = SUC n) Run time: 0.0s UNSUCK_TAC = - : tactic Run time: 0.1s Intermediate theorems generated: 336 trat_1 = |- trat_1 = 0,0 Run time: 0.0s Intermediate theorems generated: 2 trat_inv = |- !x y. trat_inv(x,y) = y,x Run time: 0.0s Intermediate theorems generated: 2 trat_add = |- !x y x' y'. (x,y) trat_add (x',y') = PRE(((SUC x) * (SUC y')) + ((SUC x') * (SUC y))), PRE((SUC y) * (SUC y')) Run time: 0.0s Intermediate theorems generated: 2 trat_mul = |- !x y x' y'. (x,y) trat_mul (x',y') = PRE((SUC x) * (SUC x')),PRE((SUC y) * (SUC y')) Run time: 0.0s Intermediate theorems generated: 2 trat_sucint = |- (trat_sucint 0 = trat_1) /\ (!n. trat_sucint(SUC n) = (trat_sucint n) trat_add trat_1) Run time: 0.0s Intermediate theorems generated: 136 trat_eq = |- !x y x' y'. (x,y) trat_eq (x',y') = ((SUC x) * (SUC y') = (SUC x') * (SUC y)) Run time: 0.0s Intermediate theorems generated: 2 TRAT_EQ_REFL = |- !p. p trat_eq p Run time: 0.0s Intermediate theorems generated: 22 TRAT_EQ_SYM = |- !p q. p trat_eq q = q trat_eq p Run time: 0.0s Intermediate theorems generated: 37 Theorem MULT_ASSOC autoloading from theory `arithmetic` ... MULT_ASSOC = |- !m n p. m * (n * p) = (m * n) * p Run time: 0.0s Theorem MULT_SYM autoloading from theory `arithmetic` ... MULT_SYM = |- !m n. m * n = n * m Run time: 0.0s Theorem MULT_SUC_EQ autoloading from theory `arithmetic` ... MULT_SUC_EQ = |- !p m n. (n * (SUC p) = m * (SUC p)) = (n = m) Run time: 0.0s TRAT_EQ_TRANS = |- !p q r. p trat_eq q /\ q trat_eq r ==> p trat_eq r Run time: 0.0s Intermediate theorems generated: 152 TRAT_EQ_AP = |- !p q. (p = q) ==> p trat_eq q Run time: 0.0s Intermediate theorems generated: 8 Theorem ADD_SYM autoloading from theory `arithmetic` ... ADD_SYM = |- !m n. m + n = n + m Run time: 0.0s TRAT_ADD_SYM_EQ = |- !h i. h trat_add i = i trat_add h Run time: 0.1s Intermediate theorems generated: 62 TRAT_MUL_SYM_EQ = |- !h i. h trat_mul i = i trat_mul h Run time: 0.0s Intermediate theorems generated: 58 TRAT_INV_WELLDEFINED = |- !p q. p trat_eq q ==> (trat_inv p) trat_eq (trat_inv q) Run time: 0.0s Intermediate theorems generated: 61 Theorem RIGHT_ADD_DISTRIB autoloading from theory `arithmetic` ... RIGHT_ADD_DISTRIB = |- !m n p. (m + n) * p = (m * p) + (n * p) Run time: 0.0s TRAT_ADD_WELLDEFINED = |- !p q r. p trat_eq q ==> (p trat_add r) trat_eq (q trat_add r) Run time: 0.1s Intermediate theorems generated: 297 TRAT_ADD_WELLDEFINED2 = |- !p1 p2 q1 q2. p1 trat_eq p2 /\ q1 trat_eq q2 ==> (p1 trat_add q1) trat_eq (p2 trat_add q2) Run time: 0.0s Intermediate theorems generated: 65 TRAT_MUL_WELLDEFINED = |- !p q r. p trat_eq q ==> (p trat_mul r) trat_eq (q trat_mul r) Run time: 0.1s Intermediate theorems generated: 207 TRAT_MUL_WELLDEFINED2 = |- !p1 p2 q1 q2. p1 trat_eq p2 /\ q1 trat_eq q2 ==> (p1 trat_mul q1) trat_eq (p2 trat_mul q2) Run time: 0.0s Intermediate theorems generated: 65 TRAT_ADD_SYM = |- !h i. (h trat_add i) trat_eq (i trat_add h) Run time: 0.0s Intermediate theorems generated: 15 Theorem ADD_ASSOC autoloading from theory `arithmetic` ... ADD_ASSOC = |- !m n p. m + (n + p) = (m + n) + p Run time: 0.0s TRAT_ADD_ASSOC = |- !h i j. (h trat_add (i trat_add j)) trat_eq ((h trat_add i) trat_add j) Run time: 0.1s Intermediate theorems generated: 297 TRAT_MUL_SYM = |- !h i. (h trat_mul i) trat_eq (i trat_mul h) Run time: 0.0s Intermediate theorems generated: 15 TRAT_MUL_ASSOC = |- !h i j. (h trat_mul (i trat_mul j)) trat_eq ((h trat_mul i) trat_mul j) Run time: 0.1s Intermediate theorems generated: 189 Theorem LEFT_ADD_DISTRIB autoloading from theory `arithmetic` ... LEFT_ADD_DISTRIB = |- !m n p. p * (m + n) = (p * m) + (p * n) Run time: 0.0s TRAT_LDISTRIB = |- !h i j. (h trat_mul (i trat_add j)) trat_eq ((h trat_mul i) trat_add (h trat_mul j)) Run time: 0.1s Intermediate theorems generated: 611 TRAT_MUL_LID = |- !h. (trat_1 trat_mul h) trat_eq h Run time: 0.0s Intermediate theorems generated: 127 TRAT_MUL_LINV = |- !h. ((trat_inv h) trat_mul h) trat_eq trat_1 Run time: 0.1s Intermediate theorems generated: 136 Theorem ADD_INV_0_EQ autoloading from theory `arithmetic` ... ADD_INV_0_EQ = |- !m n. (m + n = m) = (n = 0) Run time: 0.0s TRAT_NOZERO = |- !h i. ~(h trat_add i) trat_eq h Run time: 0.0s Intermediate theorems generated: 250 Theorem LESS_ADD_1 autoloading from theory `arithmetic` ... LESS_ADD_1 = |- !m n. n < m ==> (?p. m = n + (p + 1)) Run time: 0.0s Theorem ADD1 autoloading from theory `arithmetic` ... ADD1 = |- !m. SUC m = m + 1 Run time: 0.1s Theorem LESS_LESS_CASES autoloading from theory `arithmetic` ... LESS_LESS_CASES = |- !m n. (m = n) \/ m < n \/ n < m Run time: 0.0s TRAT_ADD_TOTAL = |- !h i. h trat_eq i \/ (?d. h trat_eq (i trat_add d)) \/ (?d. i trat_eq (h trat_add d)) Run time: 0.1s Intermediate theorems generated: 599 TRAT_SUCINT_0 = |- !n. (trat_sucint n) trat_eq (n,0) Run time: 0.0s Intermediate theorems generated: 233 Theorem LESS_ADD_NONZERO autoloading from theory `arithmetic` ... LESS_ADD_NONZERO = |- !m n. ~(n = 0) ==> m < (m + n) Run time: 0.0s Theorem LESS_IMP_LESS_OR_EQ autoloading from theory `arithmetic` ... LESS_IMP_LESS_OR_EQ = |- !m n. m < n ==> m <= n Run time: 0.0s Theorem LESS_MONO_MULT autoloading from theory `arithmetic` ... LESS_MONO_MULT = |- !m n p. m <= n ==> (m * p) <= (n * p) Run time: 0.0s Theorem SUB_ADD autoloading from theory `arithmetic` ... SUB_ADD = |- !m n. n <= m ==> ((m - n) + n = m) Run time: 0.0s Theorem RIGHT_SUB_DISTRIB autoloading from theory `arithmetic` ... RIGHT_SUB_DISTRIB = |- !m n p. (m - n) * p = (m * p) - (n * p) Run time: 0.1s Theorem NOT_LESS autoloading from theory `arithmetic` ... NOT_LESS = |- !m n. ~m < n = n <= m Run time: 0.0s Theorem SUB_EQ_0 autoloading from theory `arithmetic` ... SUB_EQ_0 = |- !m n. (m - n = 0) = m <= n Run time: 0.0s TRAT_ARCH = |- !h. ?n d. (trat_sucint n) trat_eq (h trat_add d) Run time: 0.0s Intermediate theorems generated: 395 TRAT_SUCINT = |- (trat_sucint 0) trat_eq trat_1 /\ (!n. (trat_sucint(SUC n)) trat_eq ((trat_sucint n) trat_add trat_1)) Run time: 0.0s Intermediate theorems generated: 37 TRAT_EQ_EQUIV = |- !p q. p trat_eq q = ($trat_eq p = $trat_eq q) Run time: 0.0s Intermediate theorems generated: 73 HRAT_ADD_SYM = |- !h i. h hrat_add i = i hrat_add h HRAT_ADD_ASSOC = |- !h i j. h hrat_add (i hrat_add j) = (h hrat_add i) hrat_add j HRAT_MUL_SYM = |- !h i. h hrat_mul i = i hrat_mul h HRAT_MUL_ASSOC = |- !h i j. h hrat_mul (i hrat_mul j) = (h hrat_mul i) hrat_mul j HRAT_LDISTRIB = |- !h i j. h hrat_mul (i hrat_add j) = (h hrat_mul i) hrat_add (h hrat_mul j) HRAT_MUL_LID = |- !h. hrat_1 hrat_mul h = h HRAT_MUL_LINV = |- !h. (hrat_inv h) hrat_mul h = hrat_1 HRAT_NOZERO = |- !h i. ~(h hrat_add i = h) HRAT_ADD_TOTAL = |- !h i. (h = i) \/ (?d. h = i hrat_add d) \/ (?d. i = h hrat_add d) HRAT_ARCH = |- !h. ?n d. hrat_sucint n = h hrat_add d HRAT_SUCINT = |- (hrat_sucint 0 = hrat_1) /\ (!n. hrat_sucint(SUC n) = (hrat_sucint n) hrat_add hrat_1) Run time: 1.4s Intermediate theorems generated: 6487 HRAT_ADD_SYM = |- !h i. h hrat_add i = i hrat_add h Run time: 0.0s Intermediate theorems generated: 5 HRAT_ADD_ASSOC = |- !h i j. h hrat_add (i hrat_add j) = (h hrat_add i) hrat_add j Run time: 0.0s Intermediate theorems generated: 7 HRAT_MUL_SYM = |- !h i. h hrat_mul i = i hrat_mul h Run time: 0.0s Intermediate theorems generated: 5 HRAT_MUL_ASSOC = |- !h i j. h hrat_mul (i hrat_mul j) = (h hrat_mul i) hrat_mul j Run time: 0.0s Intermediate theorems generated: 7 HRAT_LDISTRIB = |- !h i j. h hrat_mul (i hrat_add j) = (h hrat_mul i) hrat_add (h hrat_mul j) Run time: 0.0s Intermediate theorems generated: 7 HRAT_MUL_LID = |- !h. hrat_1 hrat_mul h = h Run time: 0.1s Intermediate theorems generated: 3 HRAT_MUL_LINV = |- !h. (hrat_inv h) hrat_mul h = hrat_1 Run time: 0.0s Intermediate theorems generated: 3 HRAT_NOZERO = |- !h i. ~(h hrat_add i = h) Run time: 0.0s Intermediate theorems generated: 5 HRAT_ADD_TOTAL = |- !h i. (h = i) \/ (?d. h = i hrat_add d) \/ (?d. i = h hrat_add d) Run time: 0.0s Intermediate theorems generated: 5 HRAT_ARCH = |- !h. ?n d. hrat_sucint n = h hrat_add d Run time: 0.0s Intermediate theorems generated: 3 HRAT_SUCINT = |- (hrat_sucint 0 = hrat_1) /\ (!n. hrat_sucint(SUC n) = (hrat_sucint n) hrat_add hrat_1) Run time: 0.0s () : void Run time: 0.0s Intermediate theorems generated: 1 File hrat.ml loaded () : void Run time: 3.1s Intermediate theorems generated: 11032 #\ echo 'set_flag(`abort_when_fail`,true);;'\ 'loadt `hreal.ml`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool false : bool () : void Theory HRAT loaded () : void false : bool Run time: 0.0s LAND_CONV = - : (conv -> conv) Run time: 0.0s TAUT_CONV = - : conv Run time: 0.0s AC = - : ((thm # thm) -> conv) Run time: 0.0s GEN_PAIR_TAC = - : tactic Run time: 0.0s MK_COMB_TAC = - : tactic Run time: 0.0s BINOP_TAC = - : tactic Run time: 0.0s SYM_CANON_CONV = - : (thm -> ((term # term) -> bool) -> conv) Run time: 0.0s IMP_SUBST_TAC = - : thm_tactic Run time: 0.0s ABBREV_TAC = - : (term -> tactic) Run time: 0.0s EXT_CONV = - : conv Run time: 0.0s ABS_TAC = - : tactic Run time: 0.0s EQUAL_TAC = - : tactic Run time: 0.0s X_BETA_CONV = - : (term -> conv) Run time: 0.0s EXACT_CONV = - : (thm list -> conv) Run time: 0.0s HABS_CONV = - : conv Run time: 0.0s autoload_definitions = - : (string -> void) Run time: 0.1s autoload_theorems = - : (string -> void) Run time: 0.0s EXPAND_TAC = - : (string -> tactic) Run time: 0.0s File useful loaded () : void Run time: 0.1s () : void Run time: 0.0s hrat_lt = |- !x y. x hrat_lt y = (?d. y = x hrat_add d) Run time: 0.0s Intermediate theorems generated: 2 Theorem HRAT_NOZERO autoloading from theory `HRAT` ... HRAT_NOZERO = |- !h i. ~(h hrat_add i = h) Run time: 0.0s HRAT_LT_REFL = |- !x. ~x hrat_lt x Run time: 0.0s Intermediate theorems generated: 41 Theorem HRAT_ADD_ASSOC autoloading from theory `HRAT` ... HRAT_ADD_ASSOC = |- !h i j. h hrat_add (i hrat_add j) = (h hrat_add i) hrat_add j Run time: 0.0s HRAT_LT_TRANS = |- !x y z. x hrat_lt y /\ y hrat_lt z ==> x hrat_lt z Run time: 0.0s Intermediate theorems generated: 63 HRAT_LT_ANTISYM = |- !x y. ~(x hrat_lt y /\ y hrat_lt x) Run time: 0.0s Intermediate theorems generated: 24 Theorem HRAT_ADD_TOTAL autoloading from theory `HRAT` ... HRAT_ADD_TOTAL = |- !h i. (h = i) \/ (?d. h = i hrat_add d) \/ (?d. i = h hrat_add d) Run time: 0.0s HRAT_LT_TOTAL = |- !x y. (x = y) \/ x hrat_lt y \/ y hrat_lt x Run time: 0.0s Intermediate theorems generated: 49 Theorem HRAT_MUL_LID autoloading from theory `HRAT` ... HRAT_MUL_LID = |- !h. hrat_1 hrat_mul h = h Run time: 0.0s Theorem HRAT_MUL_SYM autoloading from theory `HRAT` ... HRAT_MUL_SYM = |- !h i. h hrat_mul i = i hrat_mul h Run time: 0.0s HRAT_MUL_RID = |- !x. x hrat_mul hrat_1 = x Run time: 0.0s Intermediate theorems generated: 14 Theorem HRAT_MUL_LINV autoloading from theory `HRAT` ... HRAT_MUL_LINV = |- !h. (hrat_inv h) hrat_mul h = hrat_1 Run time: 0.0s HRAT_MUL_RINV = |- !x. x hrat_mul (hrat_inv x) = hrat_1 Run time: 0.0s Intermediate theorems generated: 14 Theorem HRAT_LDISTRIB autoloading from theory `HRAT` ... HRAT_LDISTRIB = |- !h i j. h hrat_mul (i hrat_add j) = (h hrat_mul i) hrat_add (h hrat_mul j) Run time: 0.0s HRAT_RDISTRIB = |- !x y z. (x hrat_add y) hrat_mul z = (x hrat_mul z) hrat_add (y hrat_mul z) Run time: 0.0s Intermediate theorems generated: 22 HRAT_LT_ADDL = |- !x y. x hrat_lt (x hrat_add y) Run time: 0.0s Intermediate theorems generated: 13 Theorem HRAT_ADD_SYM autoloading from theory `HRAT` ... HRAT_ADD_SYM = |- !h i. h hrat_add i = i hrat_add h Run time: 0.0s HRAT_LT_ADDR = |- !x y. y hrat_lt (x hrat_add y) Run time: 0.0s Intermediate theorems generated: 19 HRAT_LT_GT = |- !x y. x hrat_lt y ==> ~y hrat_lt x Run time: 0.0s Intermediate theorems generated: 78 HRAT_LT_NE = |- !x y. x hrat_lt y ==> ~(x = y) Run time: 0.0s Intermediate theorems generated: 33 HRAT_EQ_LADD = |- !x y z. (x hrat_add y = x hrat_add z) = (y = z) Run time: 0.1s Intermediate theorems generated: 126 Theorem HRAT_MUL_ASSOC autoloading from theory `HRAT` ... HRAT_MUL_ASSOC = |- !h i j. h hrat_mul (i hrat_mul j) = (h hrat_mul i) hrat_mul j Run time: 0.0s HRAT_EQ_LMUL = |- !x y z. (x hrat_mul y = x hrat_mul z) = (y = z) Run time: 0.0s Intermediate theorems generated: 50 HRAT_LT_ADD2 = |- !u v x y. u hrat_lt x /\ v hrat_lt y ==> (u hrat_add v) hrat_lt (x hrat_add y) Run time: 0.0s Intermediate theorems generated: 79 HRAT_LT_LADD = |- !x y z. (z hrat_add x) hrat_lt (z hrat_add y) = x hrat_lt y Run time: 0.0s Intermediate theorems generated: 77 HRAT_LT_RADD = |- !x y z. (x hrat_add z) hrat_lt (y hrat_add z) = x hrat_lt y Run time: 0.0s Intermediate theorems generated: 21 HRAT_LT_MUL2 = |- !u v x y. u hrat_lt x /\ v hrat_lt y ==> (u hrat_mul v) hrat_lt (x hrat_mul y) Run time: 0.0s Intermediate theorems generated: 100 HRAT_LT_LMUL = |- !x y z. (z hrat_mul x) hrat_lt (z hrat_mul y) = x hrat_lt y Run time: 0.0s Intermediate theorems generated: 149 HRAT_LT_RMUL = |- !x y z. (x hrat_mul z) hrat_lt (y hrat_mul z) = x hrat_lt y Run time: 0.0s Intermediate theorems generated: 21 HRAT_LT_LMUL1 = |- !x y. (x hrat_mul y) hrat_lt y = x hrat_lt hrat_1 Run time: 0.0s Intermediate theorems generated: 21 HRAT_LT_RMUL1 = |- !x y. (x hrat_mul y) hrat_lt x = y hrat_lt hrat_1 Run time: 0.0s Intermediate theorems generated: 18 HRAT_GT_LMUL1 = |- !x y. y hrat_lt (x hrat_mul y) = hrat_1 hrat_lt x Run time: 0.0s Intermediate theorems generated: 22 HRAT_LT_L1 = |- !x y. ((hrat_inv x) hrat_mul y) hrat_lt hrat_1 = y hrat_lt x Run time: 0.0s Intermediate theorems generated: 10 HRAT_LT_R1 = |- !x y. (x hrat_mul (hrat_inv y)) hrat_lt hrat_1 = x hrat_lt y Run time: 0.0s Intermediate theorems generated: 10 HRAT_GT_L1 = |- !x y. hrat_1 hrat_lt ((hrat_inv x) hrat_mul y) = x hrat_lt y Run time: 0.0s Intermediate theorems generated: 10 HRAT_INV_MUL = |- !x y. hrat_inv(x hrat_mul y) = (hrat_inv x) hrat_mul (hrat_inv y) Run time: 0.0s Intermediate theorems generated: 85 HRAT_UP = |- !x. ?y. x hrat_lt y Run time: 0.0s Intermediate theorems generated: 13 HRAT_DOWN = |- !x. ?y. y hrat_lt x Run time: 0.1s Intermediate theorems generated: 45 HRAT_DOWN2 = |- !x y. ?z. z hrat_lt x /\ z hrat_lt y Run time: 0.0s Intermediate theorems generated: 154 HRAT_MEAN = |- !x y. x hrat_lt y ==> (?z. x hrat_lt z /\ z hrat_lt y) Run time: 0.0s Intermediate theorems generated: 133 isacut = |- !C. isacut C = (?x. C x) /\ (?x. ~C x) /\ (!x y. C x /\ y hrat_lt x ==> C y) /\ (!x. C x ==> (?y. C y /\ x hrat_lt y)) Run time: 0.0s Intermediate theorems generated: 2 cut_of_hrat = |- !x. cut_of_hrat x = (\y. y hrat_lt x) Run time: 0.0s Intermediate theorems generated: 2 ISACUT_HRAT = |- !h. isacut(cut_of_hrat h) Run time: 0.0s Intermediate theorems generated: 221 hreal_tydef = |- ?rep. TYPE_DEFINITION isacut rep Run time: 0.0s Intermediate theorems generated: 4 hreal_tybij = |- (!a. hreal(cut a) = a) /\ (!r. isacut r = (cut(hreal r) = r)) Run time: 0.0s Intermediate theorems generated: 4 EQUAL_CUTS = |- !X Y. (cut X = cut Y) ==> (X = Y) Run time: 0.1s Intermediate theorems generated: 24 CUT_ISACUT = |- !X. isacut(cut X) Run time: 0.0s Intermediate theorems generated: 26 CUT_PROPERTIES = |- (?x. cut X x) /\ (?x. ~cut X x) /\ (!x y. cut X x /\ y hrat_lt x ==> cut X y) /\ (!x. cut X x ==> (?y. cut X y /\ x hrat_lt y)) Run time: 0.0s Intermediate theorems generated: 3 CUT_NONEMPTY = |- !X. ?x. cut X x Run time: 0.0s Intermediate theorems generated: 37 CUT_BOUNDED = |- !X. ?x. ~cut X x Run time: 0.0s Intermediate theorems generated: 37 CUT_DOWN = |- !X x y. cut X x /\ y hrat_lt x ==> cut X y Run time: 0.0s Intermediate theorems generated: 49 CUT_UP = |- !X x. cut X x ==> (?y. cut X y /\ x hrat_lt y) Run time: 0.0s Intermediate theorems generated: 42 CUT_UBOUND = |- !X x y. ~cut X x /\ x hrat_lt y ==> ~cut X y Run time: 0.1s Intermediate theorems generated: 102 CUT_STRADDLE = |- !X x y. cut X x /\ ~cut X y ==> x hrat_lt y Run time: 0.1s Intermediate theorems generated: 137 Theorem LESS_SUC_REFL autoloading from theory `prim_rec` ... LESS_SUC_REFL = |- !n. n < (SUC n) Run time: 0.0s Theorem NOT_LESS_0 autoloading from theory `prim_rec` ... NOT_LESS_0 = |- !n. ~n < 0 Run time: 0.0s Theorem HRAT_SUCINT autoloading from theory `HRAT` ... HRAT_SUCINT = |- (hrat_sucint 0 = hrat_1) /\ (!n. hrat_sucint(SUC n) = (hrat_sucint n) hrat_add hrat_1) Run time: 0.0s Theorem num_CASES autoloading from theory `arithmetic` ... num_CASES = |- !m. (m = 0) \/ (?n. m = SUC n) Run time: 0.1s Theorem HRAT_ARCH autoloading from theory `HRAT` ... HRAT_ARCH = |- !h. ?n d. hrat_sucint n = h hrat_add d Run time: 0.0s CUT_NEARTOP_ADD = |- !X e. ?x. cut X x /\ ~cut X(x hrat_add e) Run time: 0.2s Intermediate theorems generated: 303 CUT_NEARTOP_MUL = |- !X u. hrat_1 hrat_lt u ==> (?x. cut X x /\ ~cut X(u hrat_mul x)) Run time: 0.1s Intermediate theorems generated: 234 hreal_1 = |- hreal_1 = hreal(cut_of_hrat hrat_1) Run time: 0.0s Intermediate theorems generated: 2 hreal_add = |- !X Y. X hreal_add Y = hreal(\w. ?x y. (w = x hrat_add y) /\ cut X x /\ cut Y y) Run time: 0.0s Intermediate theorems generated: 2 hreal_mul = |- !X Y. X hreal_mul Y = hreal(\w. ?x y. (w = x hrat_mul y) /\ cut X x /\ cut Y y) Run time: 0.1s Intermediate theorems generated: 2 hreal_inv = |- !X. hreal_inv X = hreal (\w. ?d. d hrat_lt hrat_1 /\ (!x. cut X x ==> (w hrat_mul x) hrat_lt d)) Run time: 0.0s Intermediate theorems generated: 2 hreal_sup = |- !P. hreal_sup P = hreal(\w. ?X. P X /\ cut X w) Run time: 0.0s Intermediate theorems generated: 2 hreal_lt = |- !X Y. X hreal_lt Y = ~(X = Y) /\ (!x. cut X x ==> cut Y x) Run time: 0.0s Intermediate theorems generated: 2 HREAL_INV_ISACUT = |- !X. isacut (\w. ?d. d hrat_lt hrat_1 /\ (!x. cut X x ==> (w hrat_mul x) hrat_lt d)) Run time: 0.1s Intermediate theorems generated: 502 HREAL_ADD_ISACUT = |- !X Y. isacut(\w. ?x y. (w = x hrat_add y) /\ cut X x /\ cut Y y) Run time: 0.1s Intermediate theorems generated: 521 HREAL_MUL_ISACUT = |- !X Y. isacut(\w. ?x y. (w = x hrat_mul y) /\ cut X x /\ cut Y y) Run time: 0.1s Intermediate theorems generated: 537 HREAL_ADD_SYM = |- !X Y. X hreal_add Y = Y hreal_add X Run time: 0.1s Intermediate theorems generated: 124 HREAL_MUL_SYM = |- !X Y. X hreal_mul Y = Y hreal_mul X Run time: 0.0s Intermediate theorems generated: 124 HREAL_ADD_ASSOC = |- !X Y Z. X hreal_add (Y hreal_add Z) = (X hreal_add Y) hreal_add Z Run time: 0.2s Intermediate theorems generated: 490 HREAL_MUL_ASSOC = |- !X Y Z. X hreal_mul (Y hreal_mul Z) = (X hreal_mul Y) hreal_mul Z Run time: 0.2s Intermediate theorems generated: 490 HREAL_LDISTRIB = |- !X Y Z. X hreal_mul (Y hreal_add Z) = (X hreal_mul Y) hreal_add (X hreal_mul Z) Run time: 0.3s Intermediate theorems generated: 935 HREAL_MUL_LID = |- !X. hreal_1 hreal_mul X = X Run time: 0.1s Intermediate theorems generated: 278 HREAL_MUL_LINV = |- !X. (hreal_inv X) hreal_mul X = hreal_1 Run time: 0.1s Intermediate theorems generated: 485 HREAL_NOZERO = |- !X Y. ~(X hreal_add Y = X) Run time: 0.1s Intermediate theorems generated: 155 hreal_sub = |- !Y X. Y hreal_sub X = hreal(\w. ?x. ~cut X x /\ cut Y(x hrat_add w)) Run time: 0.0s Intermediate theorems generated: 2 HREAL_LT_LEMMA = |- !X Y. X hreal_lt Y ==> (?x. ~cut X x /\ cut Y x) Run time: 0.0s Intermediate theorems generated: 210 HREAL_SUB_ISACUT = |- !X Y. X hreal_lt Y ==> isacut(\w. ?x. ~cut X x /\ cut Y(x hrat_add w)) Run time: 0.0s Intermediate theorems generated: 400 HREAL_SUB_ADD = |- !X Y. X hreal_lt Y ==> ((Y hreal_sub X) hreal_add X = Y) Run time: 0.3s Intermediate theorems generated: 837 HREAL_LT_TOTAL = |- !X Y. (X = Y) \/ X hreal_lt Y \/ Y hreal_lt X Run time: 0.2s Intermediate theorems generated: 492 HREAL_LT = |- !X Y. X hreal_lt Y = (?D. Y = X hreal_add D) Run time: 0.0s Intermediate theorems generated: 196 HREAL_ADD_TOTAL = |- !X Y. (X = Y) \/ (?D. Y = X hreal_add D) \/ (?D. X = Y hreal_add D) Run time: 0.1s Intermediate theorems generated: 19 HREAL_SUP_ISACUT = |- !P. (?X. P X) /\ (?Y. !X. P X ==> X hreal_lt Y) ==> isacut(\w. ?X. P X /\ cut X w) Run time: 0.0s Intermediate theorems generated: 349 HREAL_SUP = |- !P. (?X. P X) /\ (?Y. !X. P X ==> X hreal_lt Y) ==> (!Y. (?X. P X /\ Y hreal_lt X) = Y hreal_lt (hreal_sup P)) Run time: 0.1s Intermediate theorems generated: 553 () : void Run time: 0.0s Intermediate theorems generated: 1 File hreal.ml loaded () : void Run time: 4.3s Intermediate theorems generated: 10456 #\ echo 'set_flag(`abort_when_fail`,true);;'\ 'loadt `realax.ml`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool false : bool () : void Theory HREAL loaded () : void false : bool Run time: 0.0s LAND_CONV = - : (conv -> conv) Run time: 0.0s TAUT_CONV = - : conv Run time: 0.0s AC = - : ((thm # thm) -> conv) Run time: 0.0s GEN_PAIR_TAC = - : tactic Run time: 0.0s MK_COMB_TAC = - : tactic Run time: 0.0s BINOP_TAC = - : tactic Run time: 0.0s SYM_CANON_CONV = - : (thm -> ((term # term) -> bool) -> conv) Run time: 0.0s IMP_SUBST_TAC = - : thm_tactic Run time: 0.0s ABBREV_TAC = - : (term -> tactic) Run time: 0.0s EXT_CONV = - : conv Run time: 0.0s ABS_TAC = - : tactic Run time: 0.0s EQUAL_TAC = - : tactic Run time: 0.0s X_BETA_CONV = - : (term -> conv) Run time: 0.0s EXACT_CONV = - : (thm list -> conv) Run time: 0.0s HABS_CONV = - : conv Run time: 0.0s autoload_definitions = - : (string -> void) Run time: 0.0s autoload_theorems = - : (string -> void) Run time: 0.0s EXPAND_TAC = - : (string -> tactic) Run time: 0.0s File useful loaded () : void Run time: 0.1s () : void Run time: 0.0s Intermediate theorems generated: 12 () : void Run time: 0.0s define_equivalence_type = - : (string -> thm -> (term # string # bool) list -> thm list -> thm list -> thm list) Run time: 0.0s File equiv loaded () : void Run time: 0.1s Theorem HREAL_LDISTRIB autoloading from theory `HREAL` ... HREAL_LDISTRIB = |- !X Y Z. X hreal_mul (Y hreal_add Z) = (X hreal_mul Y) hreal_add (X hreal_mul Z) Run time: 0.0s Theorem HREAL_MUL_SYM autoloading from theory `HREAL` ... HREAL_MUL_SYM = |- !X Y. X hreal_mul Y = Y hreal_mul X Run time: 0.0s HREAL_RDISTRIB = |- !x y z. (x hreal_add y) hreal_mul z = (x hreal_mul z) hreal_add (y hreal_mul z) Run time: 0.0s Intermediate theorems generated: 22 Theorem HREAL_NOZERO autoloading from theory `HREAL` ... HREAL_NOZERO = |- !X Y. ~(X hreal_add Y = X) Run time: 0.1s HREAL_EQ_ADDR = |- !x y. ~(x hreal_add y = x) Run time: 0.0s Intermediate theorems generated: 5 HREAL_EQ_ADDL = |- !x y. ~(x = x hreal_add y) Run time: 0.0s Intermediate theorems generated: 11 Theorem HREAL_ADD_ASSOC autoloading from theory `HREAL` ... HREAL_ADD_ASSOC = |- !X Y Z. X hreal_add (Y hreal_add Z) = (X hreal_add Y) hreal_add Z Run time: 0.0s Theorem HREAL_ADD_TOTAL autoloading from theory `HREAL` ... HREAL_ADD_TOTAL = |- !X Y. (X = Y) \/ (?D. Y = X hreal_add D) \/ (?D. X = Y hreal_add D) Run time: 0.0s HREAL_EQ_LADD = |- !x y z. (x hreal_add y = x hreal_add z) = (y = z) Run time: 0.0s Intermediate theorems generated: 94 Theorem HREAL_LT autoloading from theory `HREAL` ... HREAL_LT = |- !X Y. X hreal_lt Y = (?D. Y = X hreal_add D) Run time: 0.0s HREAL_LT_REFL = |- !x. ~x hreal_lt x Run time: 0.0s Intermediate theorems generated: 33 HREAL_LT_ADDL = |- !x y. x hreal_lt (x hreal_add y) Run time: 0.1s Intermediate theorems generated: 13 HREAL_LT_NE = |- !x y. x hreal_lt y ==> ~(x = y) Run time: 0.0s Intermediate theorems generated: 23 HREAL_LT_ADDR = |- !x y. ~(x hreal_add y) hreal_lt x Run time: 0.0s Intermediate theorems generated: 56 HREAL_LT_GT = |- !x y. x hreal_lt y ==> ~y hreal_lt x Run time: 0.0s Intermediate theorems generated: 66 Theorem HREAL_ADD_SYM autoloading from theory `HREAL` ... HREAL_ADD_SYM = |- !X Y. X hreal_add Y = Y hreal_add X Run time: 0.0s HREAL_LT_ADD2 = |- !x1 x2 y1 y2. x1 hreal_lt y1 /\ x2 hreal_lt y2 ==> (x1 hreal_add x2) hreal_lt (y1 hreal_add y2) Run time: 0.0s Intermediate theorems generated: 79 HREAL_LT_LADD = |- !x y z. (x hreal_add y) hreal_lt (x hreal_add z) = y hreal_lt z Run time: 0.0s Intermediate theorems generated: 77 CANCEL_CONV = - : ((thm # thm # thm list) -> conv) Run time: 0.0s CANCEL_TAC = - : tactic Run time: 0.1s Intermediate theorems generated: 106 treal_0 = |- treal_0 = hreal_1,hreal_1 Run time: 0.0s Intermediate theorems generated: 2 treal_1 = |- treal_1 = hreal_1 hreal_add hreal_1,hreal_1 Run time: 0.0s Intermediate theorems generated: 2 treal_neg = |- !x y. treal_neg(x,y) = y,x Run time: 0.0s Intermediate theorems generated: 2 treal_add = |- !x1 y1 x2 y2. (x1,y1) treal_add (x2,y2) = x1 hreal_add x2,y1 hreal_add y2 Run time: 0.0s Intermediate theorems generated: 2 treal_mul = |- !x1 y1 x2 y2. (x1,y1) treal_mul (x2,y2) = (x1 hreal_mul x2) hreal_add (y1 hreal_mul y2), (x1 hreal_mul y2) hreal_add (y1 hreal_mul x2) Run time: 0.0s Intermediate theorems generated: 2 treal_lt = |- !x1 y1 x2 y2. (x1,y1) treal_lt (x2,y2) = (x1 hreal_add y2) hreal_lt (x2 hreal_add y1) Run time: 0.0s Intermediate theorems generated: 2 treal_inv = |- !x y. treal_inv(x,y) = ((x = y) => treal_0 | (y hreal_lt x => ((hreal_inv(x hreal_sub y)) hreal_add hreal_1,hreal_1) | (hreal_1,(hreal_inv(y hreal_sub x)) hreal_add hreal_1))) Run time: 0.0s Intermediate theorems generated: 2 treal_eq = |- !x1 y1 x2 y2. (x1,y1) treal_eq (x2,y2) = (x1 hreal_add y2 = x2 hreal_add y1) Run time: 0.0s Intermediate theorems generated: 2 TREAL_EQ_REFL = |- !x. x treal_eq x Run time: 0.0s Intermediate theorems generated: 22 TREAL_EQ_SYM = |- !x y. x treal_eq y = y treal_eq x Run time: 0.0s Intermediate theorems generated: 37 TREAL_EQ_TRANS = |- !x y z. x treal_eq y /\ y treal_eq z ==> x treal_eq z Run time: 0.1s Intermediate theorems generated: 1147 TREAL_EQ_EQUIV = |- !p q. p treal_eq q = ($treal_eq p = $treal_eq q) Run time: 0.0s Intermediate theorems generated: 73 TREAL_EQ_AP = |- !p q. (p = q) ==> p treal_eq q Run time: 0.1s Intermediate theorems generated: 8 TREAL_10 = |- ~treal_1 treal_eq treal_0 Run time: 0.0s Intermediate theorems generated: 32 TREAL_ADD_SYM = |- !x y. x treal_add y = y treal_add x Run time: 0.0s Intermediate theorems generated: 44 TREAL_MUL_SYM = |- !x y. x treal_mul y = y treal_mul x Run time: 0.0s Intermediate theorems generated: 75 TREAL_ADD_ASSOC = |- !x y z. x treal_add (y treal_add z) = (x treal_add y) treal_add z Run time: 0.0s Intermediate theorems generated: 63 Theorem HREAL_MUL_ASSOC autoloading from theory `HREAL` ... HREAL_MUL_ASSOC = |- !X Y Z. X hreal_mul (Y hreal_mul Z) = (X hreal_mul Y) hreal_mul Z Run time: 0.0s TREAL_MUL_ASSOC = |- !x y z. x treal_mul (y treal_mul z) = (x treal_mul y) treal_mul z Run time: 0.0s Intermediate theorems generated: 388 TREAL_LDISTRIB = |- !x y z. x treal_mul (y treal_add z) = (x treal_mul y) treal_add (x treal_mul z) Run time: 0.1s Intermediate theorems generated: 345 TREAL_ADD_LID = |- !x. (treal_0 treal_add x) treal_eq x Run time: 0.0s Intermediate theorems generated: 158 Theorem HREAL_MUL_LID autoloading from theory `HREAL` ... HREAL_MUL_LID = |- !X. hreal_1 hreal_mul X = X Run time: 0.0s TREAL_MUL_LID = |- !x. (treal_1 treal_mul x) treal_eq x Run time: 0.1s Intermediate theorems generated: 217 TREAL_ADD_LINV = |- !x. ((treal_neg x) treal_add x) treal_eq treal_0 Run time: 0.0s Intermediate theorems generated: 169 Theorem HREAL_SUB_ADD autoloading from theory `HREAL` ... HREAL_SUB_ADD = |- !X Y. X hreal_lt Y ==> ((Y hreal_sub X) hreal_add X = Y) Run time: 0.0s Theorem HREAL_MUL_LINV autoloading from theory `HREAL` ... HREAL_MUL_LINV = |- !X. (hreal_inv X) hreal_mul X = hreal_1 Run time: 0.1s Theorem HREAL_LT_TOTAL autoloading from theory `HREAL` ... HREAL_LT_TOTAL = |- !X Y. (X = Y) \/ X hreal_lt Y \/ Y hreal_lt X Run time: 0.0s TREAL_MUL_LINV = |- !x. ~x treal_eq treal_0 ==> ((treal_inv x) treal_mul x) treal_eq treal_1 Run time: 0.4s Intermediate theorems generated: 3953 TREAL_LT_TOTAL = |- !x y. x treal_eq y \/ x treal_lt y \/ y treal_lt x Run time: 0.0s Intermediate theorems generated: 48 TREAL_LT_REFL = |- !x. ~x treal_lt x Run time: 0.0s Intermediate theorems generated: 24 TREAL_LT_TRANS = |- !x y z. x treal_lt y /\ y treal_lt z ==> x treal_lt z Run time: 0.1s Intermediate theorems generated: 1063 TREAL_LT_ADD = |- !x y z. y treal_lt z ==> (x treal_add y) treal_lt (x treal_add z) Run time: 0.1s Intermediate theorems generated: 1045 TREAL_LT_MUL = |- !x y. treal_0 treal_lt x /\ treal_0 treal_lt y ==> treal_0 treal_lt (x treal_mul y) Run time: 0.2s Intermediate theorems generated: 866 treal_of_hreal = |- !x. treal_of_hreal x = x hreal_add hreal_1,hreal_1 Run time: 0.0s Intermediate theorems generated: 2 hreal_of_treal = |- !x y. hreal_of_treal(x,y) = (@d. x = y hreal_add d) Run time: 0.0s Intermediate theorems generated: 2 TREAL_BIJ = |- (!h. hreal_of_treal(treal_of_hreal h) = h) /\ (!r. treal_0 treal_lt r = (treal_of_hreal(hreal_of_treal r)) treal_eq r) Run time: 0.2s Intermediate theorems generated: 986 TREAL_ISO = |- !h i. h hreal_lt i ==> (treal_of_hreal h) treal_lt (treal_of_hreal i) Run time: 0.0s Intermediate theorems generated: 450 TREAL_BIJ_WELLDEF = |- !h i. h treal_eq i ==> (hreal_of_treal h = hreal_of_treal i) Run time: 0.2s Intermediate theorems generated: 1446 TREAL_NEG_WELLDEF = |- !x1 x2. x1 treal_eq x2 ==> (treal_neg x1) treal_eq (treal_neg x2) Run time: 0.1s Intermediate theorems generated: 58 TREAL_ADD_WELLDEFR = |- !x1 x2 y. x1 treal_eq x2 ==> (x1 treal_add y) treal_eq (x2 treal_add y) Run time: 0.1s Intermediate theorems generated: 1044 TREAL_ADD_WELLDEF = |- !x1 x2 y1 y2. x1 treal_eq x2 /\ y1 treal_eq y2 ==> (x1 treal_add y1) treal_eq (x2 treal_add y2) Run time: 0.0s Intermediate theorems generated: 65 TREAL_MUL_WELLDEFR = |- !x1 x2 y. x1 treal_eq x2 ==> (x1 treal_mul y) treal_eq (x2 treal_mul y) Run time: 0.0s Intermediate theorems generated: 183 TREAL_MUL_WELLDEF = |- !x1 x2 y1 y2. x1 treal_eq x2 /\ y1 treal_eq y2 ==> (x1 treal_mul y1) treal_eq (x2 treal_mul y2) Run time: 0.1s Intermediate theorems generated: 65 TREAL_LT_WELLDEFR = |- !x1 x2 y. x1 treal_eq x2 ==> (x1 treal_lt y = x2 treal_lt y) Run time: 0.0s Intermediate theorems generated: 519 TREAL_LT_WELLDEFL = |- !x y1 y2. y1 treal_eq y2 ==> (x treal_lt y1 = x treal_lt y2) Run time: 0.1s Intermediate theorems generated: 612 TREAL_LT_WELLDEF = |- !x1 x2 y1 y2. x1 treal_eq x2 /\ y1 treal_eq y2 ==> (x1 treal_lt y1 = x2 treal_lt y2) Run time: 0.0s Intermediate theorems generated: 60 TREAL_INV_WELLDEF = |- !x1 x2. x1 treal_eq x2 ==> (treal_inv x1) treal_eq (treal_inv x2) Run time: 0.3s Intermediate theorems generated: 2545 REAL_10 = |- ~(r1 = r0) REAL_ADD_SYM = |- !x y. x real_add y = y real_add x REAL_MUL_SYM = |- !x y. x real_mul y = y real_mul x REAL_ADD_ASSOC = |- !x y z. x real_add (y real_add z) = (x real_add y) real_add z REAL_MUL_ASSOC = |- !x y z. x real_mul (y real_mul z) = (x real_mul y) real_mul z REAL_LDISTRIB = |- !x y z. x real_mul (y real_add z) = (x real_mul y) real_add (x real_mul z) REAL_ADD_LID = |- !x. r0 real_add x = x REAL_MUL_LID = |- !x. r1 real_mul x = x REAL_ADD_LINV = |- !x. (real_neg x) real_add x = r0 REAL_MUL_LINV = |- !x. ~(x = r0) ==> ((real_inv x) real_mul x = r1) REAL_LT_TOTAL = |- !x y. (x = y) \/ x real_lt y \/ y real_lt x REAL_LT_REFL = |- !x. ~x real_lt x REAL_LT_TRANS = |- !x y z. x real_lt y /\ y real_lt z ==> x real_lt z REAL_LT_IADD = |- !x y z. y real_lt z ==> (x real_add y) real_lt (x real_add z) REAL_LT_MUL = |- !x y. r0 real_lt x /\ r0 real_lt y ==> r0 real_lt (x real_mul y) REAL_BIJ = |- (!h. hreal_of_real(real_of_hreal h) = h) /\ (!r. r0 real_lt r = (real_of_hreal(hreal_of_real r) = r)) REAL_ISO = |- !h i. h hreal_lt i ==> (real_of_hreal h) real_lt (real_of_hreal i) Run time: 2.2s Intermediate theorems generated: 7766 REAL_ISO_EQ = |- !h i. h hreal_lt i = (real_of_hreal h) real_lt (real_of_hreal i) Run time: 0.0s Intermediate theorems generated: 98 REAL_POS = |- !X. r0 real_lt (real_of_hreal X) Run time: 0.1s Intermediate theorems generated: 20 SUP_ALLPOS_LEMMA1 = |- (!x. P x ==> r0 real_lt x) ==> ((?x. P x /\ y real_lt x) = (?X. P(real_of_hreal X) /\ y real_lt (real_of_hreal X))) Run time: 0.0s Intermediate theorems generated: 68 SUP_ALLPOS_LEMMA2 = |- P(real_of_hreal X) = (\h. P(real_of_hreal h))X Run time: 0.0s Intermediate theorems generated: 5 SUP_ALLPOS_LEMMA3 = |- (!x. P x ==> r0 real_lt x) /\ (?x. P x) /\ (?z. !x. P x ==> x real_lt z) ==> (?X. (\h. P(real_of_hreal h))X) /\ (?Y. !X. (\h. P(real_of_hreal h))X ==> X hreal_lt Y) Run time: 0.1s Intermediate theorems generated: 135 SUP_ALLPOS_LEMMA4 = |- !y. ~r0 real_lt y ==> (!x. y real_lt (real_of_hreal x)) Run time: 0.1s Intermediate theorems generated: 75 Theorem HREAL_SUP autoloading from theory `HREAL` ... HREAL_SUP = |- !P. (?X. P X) /\ (?Y. !X. P X ==> X hreal_lt Y) ==> (!Y. (?X. P X /\ Y hreal_lt X) = Y hreal_lt (hreal_sup P)) Run time: 0.0s REAL_SUP_ALLPOS = |- !P. (!x. P x ==> r0 real_lt x) /\ (?x. P x) /\ (?z. !x. P x ==> x real_lt z) ==> (?s. !y. (?x. P x /\ y real_lt x) = y real_lt s) Run time: 0.1s Intermediate theorems generated: 199 [|- ~(r1 = r0); |- !x y. x real_add y = y real_add x; |- !x y. x real_mul y = y real_mul x; |- !x y z. x real_add (y real_add z) = (x real_add y) real_add z; |- !x y z. x real_mul (y real_mul z) = (x real_mul y) real_mul z; |- !x y z. x real_mul (y real_add z) = (x real_mul y) real_add (x real_mul z); |- !x. r0 real_add x = x; |- !x. r1 real_mul x = x; |- !x. (real_neg x) real_add x = r0; |- !x. ~(x = r0) ==> ((real_inv x) real_mul x = r1); |- !x y. (x = y) \/ x real_lt y \/ y real_lt x; |- !x. ~x real_lt x; |- !x y z. x real_lt y /\ y real_lt z ==> x real_lt z; |- !x y z. y real_lt z ==> (x real_add y) real_lt (x real_add z); |- !x y. r0 real_lt x /\ r0 real_lt y ==> r0 real_lt (x real_mul y)] : thm list Run time: 0.2s () : void Run time: 0.1s Intermediate theorems generated: 1 File realax.ml loaded () : void Run time: 6.4s Intermediate theorems generated: 26795 #\ echo 'set_flag(`abort_when_fail`,true);;'\ 'loadt `real.ml`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool false : bool () : void Theory REALAX loaded () : void false : bool Run time: 0.0s LAND_CONV = - : (conv -> conv) Run time: 0.0s TAUT_CONV = - : conv Run time: 0.0s AC = - : ((thm # thm) -> conv) Run time: 0.0s GEN_PAIR_TAC = - : tactic Run time: 0.0s MK_COMB_TAC = - : tactic Run time: 0.0s BINOP_TAC = - : tactic Run time: 0.0s SYM_CANON_CONV = - : (thm -> ((term # term) -> bool) -> conv) Run time: 0.0s IMP_SUBST_TAC = - : thm_tactic Run time: 0.1s ABBREV_TAC = - : (term -> tactic) Run time: 0.0s EXT_CONV = - : conv Run time: 0.0s ABS_TAC = - : tactic Run time: 0.0s EQUAL_TAC = - : tactic Run time: 0.0s X_BETA_CONV = - : (term -> conv) Run time: 0.0s EXACT_CONV = - : (thm list -> conv) Run time: 0.0s HABS_CONV = - : conv Run time: 0.0s autoload_definitions = - : (string -> void) Run time: 0.0s autoload_theorems = - : (string -> void) Run time: 0.0s EXPAND_TAC = - : (string -> tactic) Run time: 0.0s File useful loaded () : void Run time: 0.1s () : void Run time: 0.0s real_sub = |- !x y. x real_sub y = x real_add (real_neg y) Run time: 0.0s Intermediate theorems generated: 2 real_le = |- !x y. x real_le y = ~y real_lt x Run time: 0.0s Intermediate theorems generated: 2 real_gt = |- !x y. x real_gt y = y real_lt x Run time: 0.0s Intermediate theorems generated: 2 real_ge = |- !x y. x real_ge y = y real_le x Run time: 0.0s Intermediate theorems generated: 2 real_div = |- !x y. x / y = x real_mul (real_inv y) Run time: 0.0s Intermediate theorems generated: 2 real_of_num = |- (real_of_num 0 = r0) /\ (!n. real_of_num(SUC n) = (real_of_num n) real_add r1) Run time: 0.1s Intermediate theorems generated: 136 REAL_0 = |- r0 = real_of_num 0 Run time: 0.0s Intermediate theorems generated: 11 REAL_1 = |- r1 = real_of_num 1 Run time: 0.0s Intermediate theorems generated: 23 () : void Run time: 0.0s [] : (string # string) list Run time: 0.0s gonk = - : (string list -> thm) Run time: 0.0s reeducate = - : (string -> void) Run time: 0.0s () : void Run time: 0.0s REAL_10 = |- ~(& 1 = & 0) Run time: 0.0s Intermediate theorems generated: 4 REAL_ADD_SYM = |- !x y. x + y = y + x Run time: 0.0s Intermediate theorems generated: 2 REAL_MUL_SYM = |- !x y. x * y = y * x Run time: 0.0s Intermediate theorems generated: 2 REAL_ADD_ASSOC = |- !x y z. x + (y + z) = (x + y) + z Run time: 0.0s Intermediate theorems generated: 2 REAL_MUL_ASSOC = |- !x y z. x * (y * z) = (x * y) * z Run time: 0.0s Intermediate theorems generated: 2 REAL_ADD_LID = |- !x. (& 0) + x = x Run time: 0.0s Intermediate theorems generated: 7 REAL_MUL_LID = |- !x. (& 1) * x = x Run time: 0.0s Intermediate theorems generated: 7 REAL_ADD_LINV = |- !x. (-- x) + x = & 0 Run time: 0.0s Intermediate theorems generated: 4 REAL_MUL_LINV = |- !x. ~(x = & 0) ==> ((inv x) * x = & 1) Run time: 0.0s Intermediate theorems generated: 8 REAL_LDISTRIB = |- !x y z. x * (y + z) = (x * y) + (x * z) Run time: 0.0s Intermediate theorems generated: 2 REAL_LT_TOTAL = |- !x y. (x = y) \/ x < y \/ y < x Run time: 0.0s Intermediate theorems generated: 2 REAL_LT_REFL = |- !x. ~x < x Run time: 0.0s Intermediate theorems generated: 2 REAL_LT_TRANS = |- !x y z. x < y /\ y < z ==> x < z Run time: 0.0s Intermediate theorems generated: 2 REAL_LT_IADD = |- !x y z. y < z ==> (x + y) < (x + z) Run time: 0.0s Intermediate theorems generated: 2 REAL_LT_MUL = |- !x y. (& 0) < x /\ (& 0) < y ==> (& 0) < (x * y) Run time: 0.0s Intermediate theorems generated: 15 REAL_SUP_ALLPOS = |- !P. (!x. P x ==> (& 0) < x) /\ (?x. P x) /\ (?z. !x. P x ==> x < z) ==> (?s. !y. (?x. P x /\ y < x) = y < s) Run time: 0.0s Intermediate theorems generated: 12 REAL_ADD_RID = |- !x. x + (& 0) = x Run time: 0.1s Intermediate theorems generated: 14 REAL_ADD_RINV = |- !x. x + (-- x) = & 0 Run time: 0.0s Intermediate theorems generated: 14 REAL_MUL_RID = |- !x. x * (& 1) = x Run time: 0.0s Intermediate theorems generated: 14 REAL_MUL_RINV = |- !x. ~(x = & 0) ==> (x * (inv x) = & 1) Run time: 0.0s Intermediate theorems generated: 15 REAL_RDISTRIB = |- !x y z. (x + y) * z = (x * z) + (y * z) Run time: 0.0s Intermediate theorems generated: 22 REAL_EQ_LADD = |- !x y z. (x + y = x + z) = (y = z) Run time: 0.0s Intermediate theorems generated: 50 REAL_EQ_RADD = |- !x y z. (x + z = y + z) = (x = y) Run time: 0.0s Intermediate theorems generated: 21 REAL_ADD_LID_UNIQ = |- !x y. (x + y = y) = (x = & 0) Run time: 0.0s Intermediate theorems generated: 21 REAL_ADD_RID_UNIQ = |- !x y. (x + y = x) = (y = & 0) Run time: 0.1s Intermediate theorems generated: 18 REAL_LNEG_UNIQ = |- !x y. (x + y = & 0) = (x = -- y) Run time: 0.0s Intermediate theorems generated: 10 REAL_RNEG_UNIQ = |- !x y. (x + y = & 0) = (y = -- x) Run time: 0.0s Intermediate theorems generated: 18 REAL_NEG_ADD = |- !x y. --(x + y) = (-- x) + (-- y) Run time: 0.0s Intermediate theorems generated: 101 REAL_MUL_LZERO = |- !x. (& 0) * x = & 0 Run time: 0.0s Intermediate theorems generated: 40 REAL_MUL_RZERO = |- !x. x * (& 0) = & 0 Run time: 0.0s Intermediate theorems generated: 14 REAL_NEG_LMUL = |- !x y. --(x * y) = (-- x) * y Run time: 0.1s Intermediate theorems generated: 62 REAL_NEG_RMUL = |- !x y. --(x * y) = x * (-- y) Run time: 0.0s Intermediate theorems generated: 18 REAL_NEGNEG = |- !x. --(-- x) = x Run time: 0.0s Intermediate theorems generated: 33 REAL_NEG_MUL2 = |- !x y. (-- x) * (-- y) = x * y Run time: 0.0s Intermediate theorems generated: 56 REAL_ENTIRE = |- !x y. (x * y = & 0) = (x = & 0) \/ (y = & 0) Run time: 0.1s Intermediate theorems generated: 116 REAL_LT_LADD = |- !x y z. (x + y) < (x + z) = y < z Run time: 0.0s Intermediate theorems generated: 54 REAL_LT_RADD = |- !x y z. (x + z) < (y + z) = x < y Run time: 0.0s Intermediate theorems generated: 21 REAL_NOT_LT = |- !x y. ~x < y = y <= x Run time: 0.0s Intermediate theorems generated: 15 REAL_LT_ANTISYM = |- !x y. ~(x < y /\ y < x) Run time: 0.0s Intermediate theorems generated: 24 REAL_LT_GT = |- !x y. x < y ==> ~y < x Run time: 0.0s Intermediate theorems generated: 26 REAL_NOT_LE = |- !x y. ~x <= y = y < x Run time: 0.1s Intermediate theorems generated: 19 REAL_LE_TOTAL = |- !x y. x <= y \/ y <= x Run time: 0.0s Intermediate theorems generated: 55 REAL_LET_TOTAL = |- !x y. x <= y \/ y < x Run time: 0.0s Intermediate theorems generated: 28 REAL_LTE_TOTAL = |- !x y. x < y \/ y <= x Run time: 0.0s Intermediate theorems generated: 27 REAL_LE_REFL = |- !x. x <= x Run time: 0.0s Intermediate theorems generated: 21 REAL_LE_LT = |- !x y. x <= y = x < y \/ (x = y) Run time: 0.1s Intermediate theorems generated: 93 REAL_LT_LE = |- !x y. x < y = x <= y /\ ~(x = y) Run time: 0.0s Intermediate theorems generated: 125 REAL_LT_IMP_LE = |- !x y. x < y ==> x <= y Run time: 0.0s Intermediate theorems generated: 22 REAL_LTE_TRANS = |- !x y z. x < y /\ y <= z ==> x < z Run time: 0.0s Intermediate theorems generated: 47 REAL_LET_TRANS = |- !x y z. x <= y /\ y < z ==> x < z Run time: 0.1s Intermediate theorems generated: 46 REAL_LE_TRANS = |- !x y z. x <= y /\ y <= z ==> x <= z Run time: 0.0s Intermediate theorems generated: 51 REAL_LE_ANTISYM = |- !x y. x <= y /\ y <= x = (x = y) Run time: 0.0s Intermediate theorems generated: 94 REAL_LET_ANTISYM = |- !x y. ~(x < y /\ y <= x) Run time: 0.0s Intermediate theorems generated: 32 REAL_LTE_ANTSYM = |- !x y. ~(x <= y /\ y < x) Run time: 0.0s Intermediate theorems generated: 15 REAL_NEG_LT0 = |- !x. (-- x) < (& 0) = (& 0) < x Run time: 0.1s Intermediate theorems generated: 24 REAL_NEG_GT0 = |- !x. (& 0) < (-- x) = x < (& 0) Run time: 0.0s Intermediate theorems generated: 25 REAL_NEG_LE0 = |- !x. (-- x) <= (& 0) = (& 0) <= x Run time: 0.0s Intermediate theorems generated: 25 REAL_NEG_GE0 = |- !x. (& 0) <= (-- x) = x <= (& 0) Run time: 0.0s Intermediate theorems generated: 25 REAL_LT_NEGTOTAL = |- !x. (x = & 0) \/ (& 0) < x \/ (& 0) < (-- x) Run time: 0.1s Intermediate theorems generated: 79 REAL_LE_NEGTOTAL = |- !x. (& 0) <= x \/ (& 0) <= (-- x) Run time: 0.0s Intermediate theorems generated: 73 REAL_LE_MUL = |- !x y. (& 0) <= x /\ (& 0) <= y ==> (& 0) <= (x * y) Run time: 0.0s Intermediate theorems generated: 276 REAL_LE_SQUARE = |- !x. (& 0) <= (x * x) Run time: 0.0s Intermediate theorems generated: 68 REAL_LE_01 = |- (& 0) <= (& 1) Run time: 0.0s Intermediate theorems generated: 6 REAL_LT_01 = |- (& 0) < (& 1) Run time: 0.0s Intermediate theorems generated: 29 REAL_LE_LADD = |- !x y z. (x + y) <= (x + z) = y <= z Run time: 0.1s Intermediate theorems generated: 20 REAL_LE_RADD = |- !x y z. (x + z) <= (y + z) = x <= y Run time: 0.0s Intermediate theorems generated: 20 REAL_LT_ADD2 = |- !w x y z. w < x /\ y < z ==> (w + y) < (x + z) Run time: 0.0s Intermediate theorems generated: 55 REAL_LE_ADD2 = |- !w x y z. w <= x /\ y <= z ==> (w + y) <= (x + z) Run time: 0.0s Intermediate theorems generated: 55 REAL_LE_ADD = |- !x y. (& 0) <= x /\ (& 0) <= y ==> (& 0) <= (x + y) Run time: 0.1s Intermediate theorems generated: 22 REAL_LT_ADD = |- !x y. (& 0) < x /\ (& 0) < y ==> (& 0) < (x + y) Run time: 0.0s Intermediate theorems generated: 22 REAL_LT_ADDNEG = |- !x y z. y < (x + (-- z)) = (y + z) < x Run time: 0.0s Intermediate theorems generated: 48 REAL_LT_ADDNEG2 = |- !x y z. (x + (-- y)) < z = x < (z + y) Run time: 0.0s Intermediate theorems generated: 49 REAL_LT_ADD1 = |- !x y. x <= y ==> x < (y + (& 1)) Run time: 0.1s Intermediate theorems generated: 75 REAL_SUB_ADD = |- !x y. (x - y) + y = x Run time: 0.0s Intermediate theorems generated: 50 REAL_SUB_ADD2 = |- !x y. y + (x - y) = x Run time: 0.0s Intermediate theorems generated: 16 REAL_SUB_REFL = |- !x. x - x = & 0 Run time: 0.1s Intermediate theorems generated: 20 REAL_SUB_0 = |- !x y. (x - y = & 0) = (x = y) Run time: 0.0s Intermediate theorems generated: 33 REAL_LE_DOUBLE = |- !x. (& 0) <= (x + x) = (& 0) <= x Run time: 0.0s Intermediate theorems generated: 72 REAL_LE_NEGL = |- !x. (-- x) <= x = (& 0) <= x Run time: 0.0s Intermediate theorems generated: 25 REAL_LE_NEGR = |- !x. x <= (-- x) = x <= (& 0) Run time: 0.1s Intermediate theorems generated: 42 REAL_NEG_EQ0 = |- !x. (-- x = & 0) = (x = & 0) Run time: 0.0s Intermediate theorems generated: 45 REAL_NEG_0 = |- --(& 0) = & 0 Run time: 0.0s Intermediate theorems generated: 9 REAL_NEG_SUB = |- !x y. --(x - y) = y - x Run time: 0.1s Intermediate theorems generated: 32 REAL_SUB_LT = |- !x y. (& 0) < (x - y) = y < x Run time: 0.0s Intermediate theorems generated: 28 REAL_SUB_LE = |- !x y. (& 0) <= (x - y) = y <= x Run time: 0.0s Intermediate theorems generated: 28 REAL_ADD_SUB = |- !x y. (x + y) - x = y Run time: 0.0s Intermediate theorems generated: 61 REAL_EQ_LMUL = |- !x y z. (x * y = x * z) = (x = & 0) \/ (y = z) Run time: 0.1s Intermediate theorems generated: 122 REAL_EQ_RMUL = |- !x y z. (x * z = y * z) = (z = & 0) \/ (x = y) Run time: 0.0s Intermediate theorems generated: 21 REAL_SUB_LDISTRIB = |- !x y z. x * (y - z) = (x * y) - (x * z) Run time: 0.0s Intermediate theorems generated: 39 REAL_SUB_RDISTRIB = |- !x y z. (x - y) * z = (x * z) - (y * z) Run time: 0.0s Intermediate theorems generated: 22 REAL_NEG_EQ = |- !x y. (-- x = y) = (x = -- y) Run time: 0.0s Intermediate theorems generated: 30 REAL_NEG_MINUS1 = |- !x. -- x = (--(& 1)) * x Run time: 0.0s Intermediate theorems generated: 30 REAL_INV_NZ = |- !x. ~(x = & 0) ==> ~(inv x = & 0) Run time: 0.0s Intermediate theorems generated: 35 REAL_INVINV = |- !x. ~(x = & 0) ==> (inv(inv x) = x) Run time: 0.1s Intermediate theorems generated: 114 REAL_LT_IMP_NE = |- !x y. x < y ==> ~(x = y) Run time: 0.0s Intermediate theorems generated: 43 REAL_INV_POS = |- !x. (& 0) < x ==> (& 0) < (inv x) Run time: 0.0s Intermediate theorems generated: 133 REAL_LT_LMUL_0 = |- !x y. (& 0) < x ==> ((& 0) < (x * y) = (& 0) < y) Run time: 0.0s Intermediate theorems generated: 87 REAL_LT_RMUL_0 = |- !x y. (& 0) < y ==> ((& 0) < (x * y) = (& 0) < x) Run time: 0.0s Intermediate theorems generated: 18 REAL_LT_LMUL = |- !x y z. (& 0) < x ==> ((x * y) < (x * z) = y < z) Run time: 0.0s Intermediate theorems generated: 57 REAL_LT_RMUL = |- !x y z. (& 0) < z ==> ((x * z) < (y * z) = x < y) Run time: 0.1s Intermediate theorems generated: 22 REAL_LT_RMUL_IMP = |- !x y z. x < y /\ (& 0) < z ==> (x * z) < (y * z) Run time: 0.0s Intermediate theorems generated: 29 REAL_LT_LMUL_IMP = |- !x y z. y < z /\ (& 0) < x ==> (x * y) < (x * z) Run time: 0.0s Intermediate theorems generated: 29 REAL_LINV_UNIQ = |- !x y. (x * y = & 1) ==> (x = inv y) Run time: 0.1s Intermediate theorems generated: 111 REAL_RINV_UNIQ = |- !x y. (x * y = & 1) ==> (y = inv x) Run time: 0.1s Intermediate theorems generated: 18 REAL_NEG_INV = |- !x. ~(x = & 0) ==> (--(inv x) = inv(-- x)) Run time: 0.0s Intermediate theorems generated: 71 REAL_INV_1OVER = |- !x. inv x = (& 1) / x Run time: 0.0s Intermediate theorems generated: 19 REAL_LE_ADDR = |- !x y. x <= (x + y) = (& 0) <= y Run time: 0.1s Intermediate theorems generated: 20 REAL_LE_ADDL = |- !x y. y <= (x + y) = (& 0) <= x Run time: 0.0s Intermediate theorems generated: 17 REAL_LT_ADDR = |- !x y. x < (x + y) = (& 0) < y Run time: 0.0s Intermediate theorems generated: 20 REAL_LT_ADDL = |- !x y. y < (x + y) = (& 0) < x Run time: 0.0s Intermediate theorems generated: 17 REAL = |- !n. &(SUC n) = (& n) + (& 1) Run time: 0.1s Intermediate theorems generated: 19 REAL_POS = |- !n. (& 0) <= (& n) Run time: 0.0s Intermediate theorems generated: 70 Theorem LESS_0 autoloading from theory `prim_rec` ... LESS_0 = |- !n. 0 num_lt (SUC n) Run time: 0.0s Theorem NOT_LESS autoloading from theory `arithmetic` ... NOT_LESS = |- !m n. ~m num_lt n = n num_le m Run time: 0.1s Theorem LESS_EQ_MONO autoloading from theory `arithmetic` ... LESS_EQ_MONO = |- !n m. (SUC n) num_le (SUC m) = n num_le m Run time: 0.0s Theorem ZERO_LESS_EQ autoloading from theory `arithmetic` ... ZERO_LESS_EQ = |- !n. 0 num_le n Run time: 0.0s REAL_LE = |- !m n. (& m) <= (& n) = m num_le n Run time: 0.1s Intermediate theorems generated: 321 REAL_LT = |- !m n. (& m) < (& n) = m num_lt n Run time: 0.0s Intermediate theorems generated: 48 Theorem LESS_EQUAL_ANTISYM autoloading from theory `arithmetic` ... LESS_EQUAL_ANTISYM = |- !n m. n num_le m /\ m num_le n ==> (n = m) Run time: 0.0s Theorem LESS_EQ_REFL autoloading from theory `arithmetic` ... LESS_EQ_REFL = |- !m. m num_le m Run time: 0.0s REAL_INJ = |- !m n. (& m = & n) = (m = n) Run time: 0.0s Intermediate theorems generated: 57 Definition ADD autoloading from theory `arithmetic` ... ADD = |- (!n. 0 num_add n = n) /\ (!m n. (SUC m) num_add n = SUC(m num_add n)) Run time: 0.1s Intermediate theorems generated: 1 REAL_ADD = |- !m n. (& m) + (& n) = &(m num_add n) Run time: 0.0s Intermediate theorems generated: 131 Theorem MULT_CLAUSES autoloading from theory `arithmetic` ... MULT_CLAUSES = |- !m n. (0 num_mul m = 0) /\ (m num_mul 0 = 0) /\ (1 num_mul m = m) /\ (m num_mul 1 = m) /\ ((SUC m) num_mul n = (m num_mul n) num_add n) /\ (m num_mul (SUC n) = m num_add (m num_mul n)) Run time: 0.0s REAL_MUL = |- !m n. (& m) * (& n) = &(m num_mul n) Run time: 0.0s Intermediate theorems generated: 148 REAL_INV1 = |- inv(& 1) = & 1 Run time: 0.0s Intermediate theorems generated: 26 REAL_OVER1 = |- !x. x / (& 1) = x Run time: 0.0s Intermediate theorems generated: 22 REAL_DIV_REFL = |- !x. ~(x = & 0) ==> (x / x = & 1) Run time: 0.0s Intermediate theorems generated: 19 REAL_DIV_LZERO = |- !x. (& 0) / x = & 0 Run time: 0.0s Intermediate theorems generated: 20 REAL_LT_NZ = |- !n. ~(& n = & 0) = (& 0) < (& n) Run time: 0.0s Intermediate theorems generated: 90 REAL_NZ_IMP_LT = |- !n. ~(n = 0) ==> (& 0) < (& n) Run time: 0.0s Intermediate theorems generated: 28 REAL_LT_RDIV_0 = |- !y z. (& 0) < z ==> ((& 0) < (y / z) = (& 0) < y) Run time: 0.1s Intermediate theorems generated: 40 REAL_LT_RDIV = |- !x y z. (& 0) < z ==> ((x / z) < (y / z) = x < y) Run time: 0.0s Intermediate theorems generated: 44 REAL_LT_FRACTION_0 = |- !n d. ~(n = 0) ==> ((& 0) < (d / (& n)) = (& 0) < d) Run time: 0.0s Intermediate theorems generated: 44 Theorem LESS_TRANS autoloading from theory `arithmetic` ... LESS_TRANS = |- !m n p. m num_lt n /\ n num_lt p ==> m num_lt p Run time: 0.0s Theorem NOT_LESS_0 autoloading from theory `prim_rec` ... NOT_LESS_0 = |- !n. ~n num_lt 0 Run time: 0.0s REAL_LT_MULTIPLE = |- !n d. 1 num_lt n ==> (d < ((& n) * d) = (& 0) < d) Run time: 0.0s Intermediate theorems generated: 268 REAL_LT_FRACTION = |- !n d. 1 num_lt n ==> ((d / (& n)) < d = (& 0) < d) Run time: 0.1s Intermediate theorems generated: 184 Theorem NOT_SUC autoloading from theory `num` ... NOT_SUC = |- !n. ~(SUC n = 0) Run time: 0.0s REAL_LT_HALF1 = |- !d. (& 0) < (d / (& 2)) = (& 0) < d Run time: 0.0s Intermediate theorems generated: 27 Theorem LESS_SUC_REFL autoloading from theory `prim_rec` ... LESS_SUC_REFL = |- !n. n num_lt (SUC n) Run time: 0.0s REAL_LT_HALF2 = |- !d. (d / (& 2)) < d = (& 0) < d Run time: 0.1s Intermediate theorems generated: 22 REAL_DOUBLE = |- !x. x + x = (& 2) * x Run time: 0.0s Intermediate theorems generated: 37 REAL_DIV_LMUL = |- !x y. ~(y = & 0) ==> (y * (x / y) = x) Run time: 0.0s Intermediate theorems generated: 70 REAL_DIV_RMUL = |- !x y. ~(y = & 0) ==> ((x / y) * y = x) Run time: 0.1s Intermediate theorems generated: 17 REAL_HALF_DOUBLE = |- !x. (x / (& 2)) + (x / (& 2)) = x Run time: 0.0s Intermediate theorems generated: 51 REAL_DOWN = |- !x. (& 0) < x ==> (?y. (& 0) < y /\ y < x) Run time: 0.0s Intermediate theorems generated: 24 REAL_DOWN2 = |- !x y. (& 0) < x /\ (& 0) < y ==> (?z. (& 0) < z /\ z < x /\ z < y) Run time: 0.1s Intermediate theorems generated: 145 REAL_SUB_SUB = |- !x y. (x - y) - x = -- y Run time: 0.0s Intermediate theorems generated: 91 REAL_LT_ADD_SUB = |- !x y z. (x + y) < z = x < (z - y) Run time: 0.0s Intermediate theorems generated: 23 REAL_LT_SUB_RADD = |- !x y z. (x - y) < z = x < (z + y) Run time: 0.0s Intermediate theorems generated: 25 REAL_LT_SUB_LADD = |- !x y z. x < (y - z) = (x + z) < y Run time: 0.0s Intermediate theorems generated: 57 REAL_LE_SUB_LADD = |- !x y z. x <= (y - z) = (x + z) <= y Run time: 0.0s Intermediate theorems generated: 38 REAL_LE_SUB_RADD = |- !x y z. (x - y) <= z = x <= (z + y) Run time: 0.1s Intermediate theorems generated: 38 REAL_LT_NEG = |- !x y. (-- x) < (-- y) = y < x Run time: 0.0s Intermediate theorems generated: 79 REAL_LE_NEG = |- !x y. (-- x) <= (-- y) = y <= x Run time: 0.1s Intermediate theorems generated: 37 REAL_ADD2_SUB2 = |- !a b c d. (a + b) - (c + d) = (a - c) + (b - d) Run time: 0.0s Intermediate theorems generated: 73 REAL_SUB_LZERO = |- !x. (& 0) - x = -- x Run time: 0.1s Intermediate theorems generated: 20 REAL_SUB_RZERO = |- !x. x - (& 0) = x Run time: 0.0s Intermediate theorems generated: 22 REAL_LET_ADD2 = |- !w x y z. w <= x /\ y < z ==> (w + y) < (x + z) Run time: 0.1s Intermediate theorems generated: 58 REAL_LTE_ADD2 = |- !w x y z. w < x /\ y <= z ==> (w + y) < (x + z) Run time: 0.0s Intermediate theorems generated: 33 REAL_LET_ADD = |- !x y. (& 0) <= x /\ (& 0) < y ==> (& 0) < (x + y) Run time: 0.0s Intermediate theorems generated: 33 REAL_LTE_ADD = |- !x y. (& 0) < x /\ (& 0) <= y ==> (& 0) < (x + y) Run time: 0.1s Intermediate theorems generated: 33 REAL_LT_MUL2 = |- !x1 x2 y1 y2. (& 0) <= x1 /\ (& 0) <= y1 /\ x1 < x2 /\ y1 < y2 ==> (x1 * y1) < (x2 * y2) Run time: 0.1s Intermediate theorems generated: 344 REAL_LT_INV = |- !x y. (& 0) < x /\ x < y ==> (inv y) < (inv x) Run time: 0.0s Intermediate theorems generated: 282 REAL_SUB_LNEG = |- !x y. (-- x) - y = --(x + y) Run time: 0.0s Intermediate theorems generated: 23 REAL_SUB_RNEG = |- !x y. x - (-- y) = x + y Run time: 0.0s Intermediate theorems generated: 22 REAL_SUB_NEG2 = |- !x y. (-- x) - (-- y) = y - x Run time: 0.0s Intermediate theorems generated: 40 REAL_SUB_TRIANGLE = |- !a b c. (a - b) + (b - c) = a - c Run time: 0.1s Intermediate theorems generated: 93 REAL_EQ_SUB_LADD = |- !x y z. (x = y - z) = (x + z = y) Run time: 0.0s Intermediate theorems generated: 24 REAL_EQ_SUB_RADD = |- !x y z. (x - y = z) = (x = z + y) Run time: 0.0s Intermediate theorems generated: 17 REAL_INV_MUL = |- !x y. ~(x = & 0) /\ ~(y = & 0) ==> (inv(x * y) = (inv x) * (inv y)) Run time: 0.1s Intermediate theorems generated: 142 REAL_LE_LMUL = |- !x y z. (& 0) < x ==> ((x * y) <= (x * z) = y <= z) Run time: 0.0s Intermediate theorems generated: 43 REAL_LE_RMUL = |- !x y z. (& 0) < z ==> ((x * z) <= (y * z) = x <= y) Run time: 0.1s Intermediate theorems generated: 22 REAL_SUB_INV2 = |- !x y. ~(x = & 0) /\ ~(y = & 0) ==> ((inv x) - (inv y) = (y - x) / (x * y)) Run time: 0.0s Intermediate theorems generated: 153 REAL_SUB_SUB2 = |- !x y. x - (x - y) = y Run time: 0.1s Intermediate theorems generated: 40 REAL_ADD_SUB2 = |- !x y. x - (x + y) = -- y Run time: 0.0s Intermediate theorems generated: 36 REAL_MEAN = |- !x y. x < y ==> (?z. x < z /\ z < y) Run time: 0.0s Intermediate theorems generated: 91 REAL_EQ_LMUL2 = |- !x y z. ~(x = & 0) ==> ((y = z) = (x * y = x * z)) Run time: 0.0s Intermediate theorems generated: 35 REAL_LE_MUL2 = |- !x1 x2 y1 y2. (& 0) <= x1 /\ (& 0) <= y1 /\ x1 <= x2 /\ y1 <= y2 ==> (x1 * y1) <= (x2 * y2) Run time: 0.1s Intermediate theorems generated: 345 REAL_LE_LDIV = |- !x y z. (& 0) < x /\ y <= (z * x) ==> (y / x) <= z Run time: 0.1s Intermediate theorems generated: 102 REAL_LE_RDIV = |- !x y z. (& 0) < x /\ (y * x) <= z ==> y <= (z / x) Run time: 0.0s Intermediate theorems generated: 101 REAL_LT_1 = |- !x y. (& 0) <= x /\ x < y ==> (x / y) < (& 1) Run time: 0.1s Intermediate theorems generated: 120 REAL_LE_LMUL_IMP = |- !x y z. (& 0) <= x /\ y <= z ==> (x * y) <= (x * z) Run time: 0.1s Intermediate theorems generated: 65 REAL_LE_RMUL_IMP = |- !x y z. (& 0) <= x /\ y <= z ==> (y * x) <= (z * x) Run time: 0.0s Intermediate theorems generated: 26 REAL_EQ_IMP_LE = |- !x y. (x = y) ==> x <= y Run time: 0.1s Intermediate theorems generated: 8 REAL_INV_LT1 = |- !x. (& 0) < x /\ x < (& 1) ==> (& 1) < (inv x) Run time: 0.0s Intermediate theorems generated: 290 REAL_POS_NZ = |- !x. (& 0) < x ==> ~(x = & 0) Run time: 0.0s Intermediate theorems generated: 17 REAL_EQ_RMUL_IMP = |- !x y z. ~(z = & 0) /\ (x * z = y * z) ==> (x = y) Run time: 0.0s Intermediate theorems generated: 36 REAL_EQ_LMUL_IMP = |- !x y z. ~(x = & 0) /\ (x * y = x * z) ==> (y = z) Run time: 0.1s Intermediate theorems generated: 28 Theorem FACT_LESS autoloading from theory `arithmetic` ... FACT_LESS = |- !n. 0 num_lt (FACT n) Run time: 0.0s REAL_FACT_NZ = |- !n. ~(&(FACT n) = & 0) Run time: 0.0s Intermediate theorems generated: 25 REAL_DIFFSQ = |- !x y. (x + y) * (x - y) = (x * x) - (y * y) Run time: 0.1s Intermediate theorems generated: 165 REAL_POSSQ = |- !x. (& 0) < (x * x) = ~(x = & 0) Run time: 0.1s Intermediate theorems generated: 68 REAL_SUMSQ = |- !x y. ((x * x) + (y * y) = & 0) = (x = & 0) /\ (y = & 0) Run time: 0.0s Intermediate theorems generated: 163 REAL_EQ_NEG = |- !x y. (-- x = -- y) = (x = y) Run time: 0.1s Intermediate theorems generated: 36 REAL_DIV_MUL2 = |- !x z. ~(x = & 0) /\ ~(z = & 0) ==> (!y. y / z = (x * y) / (x * z)) Run time: 0.0s Intermediate theorems generated: 169 REAL_MIDDLE1 = |- !a b. a <= b ==> a <= ((a + b) / (& 2)) Run time: 0.1s Intermediate theorems generated: 89 REAL_MIDDLE2 = |- !a b. a <= b ==> ((a + b) / (& 2)) <= b Run time: 0.1s Intermediate theorems generated: 87 abs = |- !x. abs x = ((& 0) <= x => x | -- x) Run time: 0.0s Intermediate theorems generated: 2 ABS_ZERO = |- !x. (abs x = & 0) = (x = & 0) Run time: 0.1s Intermediate theorems generated: 52 ABS_0 = |- abs(& 0) = & 0 Run time: 0.0s Intermediate theorems generated: 9 ABS_1 = |- abs(& 1) = & 1 Run time: 0.0s Intermediate theorems generated: 31 ABS_NEG = |- !x. abs(-- x) = abs x Run time: 0.0s Intermediate theorems generated: 178 ABS_TRIANGLE = |- !x y. (abs(x + y)) <= ((abs x) + (abs y)) Run time: 0.1s Intermediate theorems generated: 604 ABS_POS = |- !x. (& 0) <= (abs x) Run time: 0.1s Intermediate theorems generated: 67 ABS_MUL = |- !x y. abs(x * y) = (abs x) * (abs y) Run time: 0.1s Intermediate theorems generated: 385 ABS_LT_MUL2 = |- !w x y z. (abs w) < y /\ (abs x) < z ==> (abs(w * x)) < (y * z) Run time: 0.1s Intermediate theorems generated: 56 ABS_SUB = |- !x y. abs(x - y) = abs(y - x) Run time: 0.1s Intermediate theorems generated: 31 ABS_NZ = |- !x. ~(x = & 0) = (& 0) < (abs x) Run time: 0.1s Intermediate theorems generated: 139 ABS_INV = |- !x. ~(x = & 0) ==> (abs(inv x) = inv(abs x)) Run time: 0.1s Intermediate theorems generated: 105 ABS_ABS = |- !x. abs(abs x) = abs x Run time: 0.1s Intermediate theorems generated: 27 ABS_LE = |- !x. x <= (abs x) Run time: 0.1s Intermediate theorems generated: 75 ABS_REFL = |- !x. (abs x = x) = (& 0) <= x Run time: 0.1s Intermediate theorems generated: 156 ABS_N = |- !n. abs(& n) = & n Run time: 0.0s Intermediate theorems generated: 21 ABS_BETWEEN = |- !x y d. (& 0) < d /\ (x - d) < y /\ y < (x + d) = (abs(y - x)) < d Run time: 0.1s Intermediate theorems generated: 372 ABS_BOUND = |- !x y d. (abs(x - y)) < d ==> y < (x + d) Run time: 0.0s Intermediate theorems generated: 54 ABS_STILLNZ = |- !x y. (abs(x - y)) < (abs y) ==> ~(x = & 0) Run time: 0.1s Intermediate theorems generated: 56 ABS_CASES = |- !x. (x = & 0) \/ (& 0) < (abs x) Run time: 0.0s Intermediate theorems generated: 29 ABS_BETWEEN1 = |- !x y z. x < z /\ (abs(y - x)) < (z - x) ==> y < z Run time: 0.0s Intermediate theorems generated: 102 ABS_SIGN = |- !x y. (abs(x - y)) < y ==> (& 0) < x Run time: 0.1s Intermediate theorems generated: 22 ABS_SIGN2 = |- !x y. (abs(x - y)) < (-- y) ==> x < (& 0) Run time: 0.0s Intermediate theorems generated: 68 ABS_DIV = |- !y. ~(y = & 0) ==> (!x. abs(x / y) = (abs x) / (abs y)) Run time: 0.1s Intermediate theorems generated: 41 ABS_CIRCLE = |- !x y h. (abs h) < ((abs y) - (abs x)) ==> (abs(x + h)) < (abs y) Run time: 0.0s Intermediate theorems generated: 61 REAL_SUB_ABS = |- !x y. ((abs x) - (abs y)) <= (abs(x - y)) Run time: 0.1s Intermediate theorems generated: 94 ABS_SUB_ABS = |- !x y. (abs((abs x) - (abs y))) <= (abs(x - y)) Run time: 0.1s Intermediate theorems generated: 80 ABS_BETWEEN2 = |- !x0 x y0 y. x0 < y0 /\ (abs(x - x0)) < ((y0 - x0) / (& 2)) /\ (abs(y - y0)) < ((y0 - x0) / (& 2)) ==> x < y Run time: 0.2s Intermediate theorems generated: 935 ABS_BOUNDS = |- !x k. (abs x) <= k = (-- k) <= x /\ x <= k Run time: 0.1s Intermediate theorems generated: 250 pow = |- (!x. x pow 0 = & 1) /\ (!x n. x pow (SUC n) = x * (x pow n)) Run time: 0.1s Intermediate theorems generated: 175 POW_0 = |- !n. (& 0) pow (SUC n) = & 0 Run time: 0.0s Intermediate theorems generated: 56 POW_NZ = |- !c n. ~(c = & 0) ==> ~(c pow n = & 0) Run time: 0.0s Intermediate theorems generated: 108 POW_INV = |- !c. ~(c = & 0) ==> (!n. inv(c pow n) = (inv c) pow n) Run time: 0.1s Intermediate theorems generated: 126 POW_ABS = |- !c n. (abs c) pow n = abs(c pow n) Run time: 0.0s Intermediate theorems generated: 83 POW_PLUS1 = |- !e. (& 0) < e ==> (!n. ((& 1) + ((& n) * e)) <= (((& 1) + e) pow n)) Run time: 0.1s Intermediate theorems generated: 298 Theorem ADD_CLAUSES autoloading from theory `arithmetic` ... ADD_CLAUSES = |- (0 num_add m = m) /\ (m num_add 0 = m) /\ ((SUC m) num_add n = SUC(m num_add n)) /\ (m num_add (SUC n) = SUC(m num_add n)) Run time: 0.1s POW_ADD = |- !c m n. c pow (m num_add n) = (c pow m) * (c pow n) Run time: 0.1s Intermediate theorems generated: 152 POW_1 = |- !x. x pow 1 = x Run time: 0.0s Intermediate theorems generated: 34 POW_2 = |- !x. x pow 2 = x * x Run time: 0.1s Intermediate theorems generated: 32 POW_POS = |- !x. (& 0) <= x ==> (!n. (& 0) <= (x pow n)) Run time: 0.0s Intermediate theorems generated: 68 POW_LE = |- !n x y. (& 0) <= x /\ x <= y ==> (x pow n) <= (y pow n) Run time: 0.0s Intermediate theorems generated: 160 POW_M1 = |- !n. abs((--(& 1)) pow n) = & 1 Run time: 0.1s Intermediate theorems generated: 80 POW_MUL = |- !n x y. (x * y) pow n = (x pow n) * (y pow n) Run time: 0.1s Intermediate theorems generated: 135 REAL_LE_POW2 = |- !x. (& 0) <= (x pow 2) Run time: 0.0s Intermediate theorems generated: 14 ABS_POW2 = |- !x. abs(x pow 2) = x pow 2 Run time: 0.1s Intermediate theorems generated: 13 REAL_POW2_ABS = |- !x. (abs x) pow 2 = x pow 2 Run time: 0.1s Intermediate theorems generated: 62 REAL_LE1_POW2 = |- !x. (& 1) <= x ==> (& 1) <= (x pow 2) Run time: 0.0s Intermediate theorems generated: 54 REAL_LT1_POW2 = |- !x. (& 1) < x ==> (& 1) < (x pow 2) Run time: 0.1s Intermediate theorems generated: 54 POW_POS_LT = |- !x n. (& 0) < x ==> (& 0) < (x pow (SUC n)) Run time: 0.0s Intermediate theorems generated: 73 Theorem LESS_EQ_SUC_REFL autoloading from theory `arithmetic` ... LESS_EQ_SUC_REFL = |- !m. m num_le (SUC m) Run time: 0.0s POW_2_LE1 = |- !n. (& 1) <= ((& 2) pow n) Run time: 0.1s Intermediate theorems generated: 118 Theorem ADD1 autoloading from theory `arithmetic` ... ADD1 = |- !m. SUC m = m num_add 1 Run time: 0.0s POW_2_LT = |- !n. (& n) < ((& 2) pow n) Run time: 0.1s Intermediate theorems generated: 103 POW_MINUS1 = |- !n. (--(& 1)) pow (2 num_mul n) = & 1 Run time: 0.1s Intermediate theorems generated: 231 REAL_SUP_SOMEPOS = |- !P. (?x. P x /\ (& 0) < x) /\ (?z. !x. P x ==> x < z) ==> (?s. !y. (?x. P x /\ y < x) = y < s) Run time: 0.1s Intermediate theorems generated: 325 SUP_LEMMA1 = |- !d. (!y. (?x. (\x. P(x + d))x /\ y < x) = y < s) ==> (!y. (?x. P x /\ y < x) = y < (s + d)) Run time: 0.1s Intermediate theorems generated: 119 SUP_LEMMA2 = |- (?x. P x) ==> (?d x. (\x. P(x + d))x /\ (& 0) < x) Run time: 0.0s Intermediate theorems generated: 121 SUP_LEMMA3 = |- !d. (?z. !x. P x ==> x < z) ==> (?z. !x. (\x. P(x + d))x ==> x < z) Run time: 0.1s Intermediate theorems generated: 42 REAL_SUP_EXISTS = |- !P. (?x. P x) /\ (?z. !x. P x ==> x < z) ==> (?s. !y. (?x. P x /\ y < x) = y < s) Run time: 0.1s Intermediate theorems generated: 45 sup = |- !P. sup P = (@s. !y. (?x. P x /\ y < x) = y < s) Run time: 0.0s Intermediate theorems generated: 2 REAL_SUP = |- !P. (?x. P x) /\ (?z. !x. P x ==> x < z) ==> (!y. (?x. P x /\ y < x) = y < (sup P)) Run time: 0.1s Intermediate theorems generated: 31 REAL_SUP_UBOUND = |- !P. (?x. P x) /\ (?z. !x. P x ==> x < z) ==> (!y. P y ==> y <= (sup P)) Run time: 0.0s Intermediate theorems generated: 87 SETOK_LE_LT = |- !P. (?x. P x) /\ (?z. !x. P x ==> x <= z) = (?x. P x) /\ (?z. !x. P x ==> x < z) Run time: 0.1s Intermediate theorems generated: 53 REAL_SUP_LE = |- !P. (?x. P x) /\ (?z. !x. P x ==> x <= z) ==> (!y. (?x. P x /\ y < x) = y < (sup P)) Run time: 0.1s Intermediate theorems generated: 15 REAL_SUP_UBOUND_LE = |- !P. (?x. P x) /\ (?z. !x. P x ==> x <= z) ==> (!y. P y ==> y <= (sup P)) Run time: 0.0s Intermediate theorems generated: 15 REAL_ARCH = |- !x. (& 0) < x ==> (!y. ?n. y < ((& n) * x)) Run time: 0.1s Intermediate theorems generated: 342 Theorem PRE autoloading from theory `prim_rec` ... PRE = |- (PRE 0 = 0) /\ (!m. PRE(SUC m) = m) Run time: 0.0s Theorem num_CASES autoloading from theory `arithmetic` ... num_CASES = |- !m. (m = 0) \/ (?n. m = SUC n) Run time: 0.0s REAL_ARCH_LEAST = |- !y. (& 0) < y ==> (!x. (& 0) <= x ==> (?n. ((& n) * y) <= x /\ x < ((&(SUC n)) * y))) Run time: 0.1s Intermediate theorems generated: 222 sum = |- (!n f. sum n 0 f = & 0) /\ (!n m f. sum n(SUC m)f = (sum n m f) + (f(n num_add m))) Run time: 0.1s Intermediate theorems generated: 202 Sum_DEF = |- !m n f. Sum(m,n)f = sum m n f Run time: 0.0s Intermediate theorems generated: 2 Sum = |- (Sum(n,0)f = & 0) /\ (Sum(n,SUC m)f = (Sum(n,m)f) + (f(n num_add m))) Run time: 0.1s Intermediate theorems generated: 51 SUM_TWO = |- !f n p. (Sum(0,n)f) + (Sum(n,p)f) = Sum(0,n num_add p)f Run time: 0.1s Intermediate theorems generated: 109 SUM_DIFF = |- !f m n. Sum(m,n)f = (Sum(0,m num_add n)f) - (Sum(0,m)f) Run time: 0.0s Intermediate theorems generated: 30 ABS_SUM = |- !f m n. (abs(Sum(m,n)f)) <= (Sum(m,n)(\n'. abs(f n'))) Run time: 0.1s Intermediate theorems generated: 103 Theorem LESS_EQ_ADD autoloading from theory `arithmetic` ... LESS_EQ_ADD = |- !m n. m num_le (m num_add n) Run time: 0.0s Theorem ADD_SYM autoloading from theory `arithmetic` ... ADD_SYM = |- !m n. m num_add n = n num_add m Run time: 0.0s SUM_LE = |- !f g m n. (!r. m num_le r /\ r num_lt (n num_add m) ==> (f r) <= (g r)) ==> (Sum(m,n)f) <= (Sum(m,n)g) Run time: 0.1s Intermediate theorems generated: 272 SUM_EQ = |- !f g m n. (!r. m num_le r /\ r num_lt (n num_add m) ==> (f r = g r)) ==> (Sum(m,n)f = Sum(m,n)g) Run time: 0.1s Intermediate theorems generated: 82 SUM_POS = |- !f. (!n. (& 0) <= (f n)) ==> (!m n. (& 0) <= (Sum(m,n)f)) Run time: 0.0s Intermediate theorems generated: 78 SUM_POS_GEN = |- !f m. (!n. m num_le n ==> (& 0) <= (f n)) ==> (!n. (& 0) <= (Sum(m,n)f)) Run time: 0.0s Intermediate theorems generated: 91 SUM_ABS = |- !f m n. abs(Sum(m,n)(\m. abs(f m))) = Sum(m,n)(\m. abs(f m)) Run time: 0.1s Intermediate theorems generated: 42 SUM_ABS_LE = |- !f m n. (abs(Sum(m,n)f)) <= (Sum(m,n)(\n'. abs(f n'))) Run time: 0.1s Intermediate theorems generated: 105 Theorem ADD_ASSOC autoloading from theory `arithmetic` ... ADD_ASSOC = |- !m n p. m num_add (n num_add p) = (m num_add n) num_add p Run time: 0.0s Theorem LESS_EQUAL_ADD autoloading from theory `arithmetic` ... LESS_EQUAL_ADD = |- !m n. m num_le n ==> (?p. n = m num_add p) Run time: 0.0s Theorem GREATER_EQ autoloading from theory `arithmetic` ... GREATER_EQ = |- !n m. n num_ge m = m num_le n Run time: 0.0s SUM_ZERO = |- !f N. (!n. n num_ge N ==> (f n = & 0)) ==> (!m n. m num_ge N ==> (Sum(m,n)f = & 0)) Run time: 0.1s Intermediate theorems generated: 145 SUM_ADD = |- !f g m n. Sum(m,n)(\n'. (f n') + (g n')) = (Sum(m,n)f) + (Sum(m,n)g) Run time: 0.1s Intermediate theorems generated: 133 SUM_CMUL = |- !f c m n. Sum(m,n)(\n'. c * (f n')) = c * (Sum(m,n)f) Run time: 0.1s Intermediate theorems generated: 100 SUM_NEG = |- !f n d. Sum(n,d)(\n'. --(f n')) = --(Sum(n,d)f) Run time: 0.2s Intermediate theorems generated: 89 SUM_SUB = |- !f g m n. Sum(m,n)(\n. (f n) - (g n)) = (Sum(m,n)f) - (Sum(m,n)g) Run time: 0.0s Intermediate theorems generated: 74 Theorem LESS_MONO_ADD autoloading from theory `arithmetic` ... LESS_MONO_ADD = |- !m n p. m num_lt n ==> (m num_add p) num_lt (n num_add p) Run time: 0.0s Theorem LESS_IMP_LESS_OR_EQ autoloading from theory `arithmetic` ... LESS_IMP_LESS_OR_EQ = |- !m n. m num_lt n ==> m num_le n Run time: 0.0s Theorem LESS_EQ_IMP_LESS_SUC autoloading from theory `arithmetic` ... LESS_EQ_IMP_LESS_SUC = |- !n m. n num_le m ==> n num_lt (SUC m) Run time: 0.0s SUM_SUBST = |- !f g m n. (!p. m num_le p /\ p num_lt (m num_add n) ==> (f p = g p)) ==> (Sum(m,n)f = Sum(m,n)g) Run time: 0.1s Intermediate theorems generated: 221 SUM_NSUB = |- !n f c. (Sum(0,n)f) - ((& n) * c) = Sum(0,n)(\p. (f p) - c) Run time: 0.1s Intermediate theorems generated: 239 Theorem LESS_SUC autoloading from theory `prim_rec` ... LESS_SUC = |- !m n. m num_lt n ==> m num_lt (SUC n) Run time: 0.0s SUM_BOUND = |- !f K m n. (!p. m num_le p /\ p num_lt (m num_add n) ==> (f p) <= K) ==> (Sum(m,n)f) <= ((& n) * K) Run time: 0.1s Intermediate theorems generated: 226 SUM_GROUP = |- !n k f. Sum(0,n)(\m. Sum(m num_mul k,k)f) = Sum(0,n num_mul k)f Run time: 0.0s Intermediate theorems generated: 169 SUM_1 = |- !f n. Sum(n,1)f = f n Run time: 0.1s Intermediate theorems generated: 56 SUM_2 = |- !f n. Sum(n,2)f = (f n) + (f(n num_add 1)) Run time: 0.0s Intermediate theorems generated: 81 SUM_OFFSET = |- !f n k. Sum(0,n)(\m. f(m num_add k)) = (Sum(0,n num_add k)f) - (Sum(0,k)f) Run time: 0.0s Intermediate theorems generated: 141 SUM_REINDEX = |- !f m k n. Sum(m num_add k,n)f = Sum(m,n)(\r. f(r num_add k)) Run time: 0.1s Intermediate theorems generated: 117 SUM_0 = |- !m n. Sum(m,n)(\r. & 0) = & 0 Run time: 0.1s Intermediate theorems generated: 72 Theorem ADD_SUC autoloading from theory `arithmetic` ... ADD_SUC = |- !m n. SUC(m num_add n) = m num_add (SUC n) Run time: 0.0s Theorem INV_SUC_EQ autoloading from theory `prim_rec` ... INV_SUC_EQ = |- !m n. (SUC m = SUC n) = (m = n) Run time: 0.0s Theorem LESS_REFL autoloading from theory `prim_rec` ... LESS_REFL = |- !n. ~n num_lt n Run time: 0.0s Theorem LESS_ADD_SUC autoloading from theory `arithmetic` ... LESS_ADD_SUC = |- !m n. m num_lt (m num_add (SUC n)) Run time: 0.0s Theorem LESS_MONO_EQ autoloading from theory `arithmetic` ... LESS_MONO_EQ = |- !m n. (SUC m) num_lt (SUC n) = m num_lt n Run time: 0.0s Theorem SUC_SUB1 autoloading from theory `arithmetic` ... SUC_SUB1 = |- !m. (SUC m) num_sub 1 = m Run time: 0.0s Theorem LESS_ADD_1 autoloading from theory `arithmetic` ... LESS_ADD_1 = |- !m n. n num_lt m ==> (?p. m = n num_add (p num_add 1)) Run time: 0.0s Definition LESS_OR_EQ autoloading from theory `arithmetic` ... LESS_OR_EQ = |- !m n. m num_le n = m num_lt n \/ (m = n) Run time: 0.0s Intermediate theorems generated: 1 Theorem LESS_EQ autoloading from theory `arithmetic` ... LESS_EQ = |- !m n. m num_lt n = (SUC m) num_le n Run time: 0.0s Theorem LESS_CASES autoloading from theory `arithmetic` ... LESS_CASES = |- !m n. m num_lt n \/ n num_le m Run time: 0.1s SUM_PERMUTE_0 = |- !n p. (!y. y num_lt n ==> (?! x. x num_lt n /\ (p x = y))) ==> (!f. Sum(0,n)(\n'. f(p n')) = Sum(0,n)f) Run time: 0.8s Intermediate theorems generated: 2469 SUM_CANCEL = |- !f n d. Sum(n,d)(\n'. (f(SUC n')) - (f n')) = (f(n num_add d)) - (f n) Run time: 0.2s Intermediate theorems generated: 206 () : void Run time: 0.2s Intermediate theorems generated: 1 File real.ml loaded () : void Run time: 15.0s Intermediate theorems generated: 23746 #\ echo 'set_flag(`abort_when_fail`,true);;'\ 'loadt `topology.ml`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool false : bool () : void Theory REAL loaded () : void false : bool Run time: 0.0s LAND_CONV = - : (conv -> conv) Run time: 0.0s TAUT_CONV = - : conv Run time: 0.0s AC = - : ((thm # thm) -> conv) Run time: 0.0s GEN_PAIR_TAC = - : tactic Run time: 0.0s MK_COMB_TAC = - : tactic Run time: 0.0s BINOP_TAC = - : tactic Run time: 0.0s SYM_CANON_CONV = - : (thm -> ((term # term) -> bool) -> conv) Run time: 0.1s IMP_SUBST_TAC = - : thm_tactic Run time: 0.0s ABBREV_TAC = - : (term -> tactic) Run time: 0.0s EXT_CONV = - : conv Run time: 0.0s ABS_TAC = - : tactic Run time: 0.0s EQUAL_TAC = - : tactic Run time: 0.0s X_BETA_CONV = - : (term -> conv) Run time: 0.0s EXACT_CONV = - : (thm list -> conv) Run time: 0.0s HABS_CONV = - : conv Run time: 0.0s autoload_definitions = - : (string -> void) Run time: 0.0s autoload_theorems = - : (string -> void) Run time: 0.0s EXPAND_TAC = - : (string -> tactic) Run time: 0.0s File useful loaded () : void Run time: 0.1s [] : (string # string) list Run time: 0.0s () : void Run time: 0.0s Intermediate theorems generated: 11 () : void Run time: 0.1s () : void Run time: 0.0s re_Union = |- !S. re_Union S = (\x. ?s. S s /\ s x) Run time: 0.0s Intermediate theorems generated: 2 re_union = |- !P Q. P re_union Q = (\x. P x \/ Q x) Run time: 0.0s Intermediate theorems generated: 2 re_intersect = |- !P Q. P re_intersect Q = (\x. P x /\ Q x) Run time: 0.0s Intermediate theorems generated: 2 re_null = |- re_null = (\x. F) Run time: 0.0s Intermediate theorems generated: 2 re_universe = |- re_universe = (\x. T) Run time: 0.0s Intermediate theorems generated: 2 re_subset = |- !P Q. P re_subset Q = (!x. P x ==> Q x) Run time: 0.0s Intermediate theorems generated: 2 re_compl = |- !S. re_compl S = (\x. ~S x) Run time: 0.0s Intermediate theorems generated: 2 SUBSET_REFL = |- !S. S re_subset S Run time: 0.0s Intermediate theorems generated: 16 COMPL_MEM = |- !S x. S x = ~re_compl S x Run time: 0.0s Intermediate theorems generated: 23 SUBSET_ANTISYM = |- !P Q. P re_subset Q /\ Q re_subset P = (P = Q) Run time: 0.0s Intermediate theorems generated: 99 SUBSET_TRANS = |- !P Q R. P re_subset Q /\ Q re_subset R ==> P re_subset R Run time: 0.1s Intermediate theorems generated: 49 istopology = |- !L. istopology L = L re_null /\ L re_universe /\ (!a b. L a /\ L b ==> L(a re_intersect b)) /\ (!P. P re_subset L ==> L(re_Union P)) Run time: 0.0s Intermediate theorems generated: 2 topology_tydef = |- ?rep. TYPE_DEFINITION istopology rep Run time: 0.0s Intermediate theorems generated: 86 topology_tybij = |- (!a. topology(open a) = a) /\ (!r. istopology r = (open(topology r) = r)) Run time: 0.0s Intermediate theorems generated: 4 TOPOLOGY = |- !L. open L re_null /\ open L re_universe /\ (!x y. open L x /\ open L y ==> open L(x re_intersect y)) /\ (!P. P re_subset (open L) ==> open L(re_Union P)) Run time: 0.0s Intermediate theorems generated: 34 TOPOLOGY_UNION = |- !L P. P re_subset (open L) ==> open L(re_Union P) Run time: 0.0s Intermediate theorems generated: 45 neigh = |- !top N x. neigh top(N,x) = (?P. open top P /\ P re_subset N /\ P x) Run time: 0.0s Intermediate theorems generated: 2 OPEN_OWN_NEIGH = |- !S top x. open top S /\ S x ==> neigh top(S,x) Run time: 0.0s Intermediate theorems generated: 40 OPEN_UNOPEN = |- !S top. open top S = (re_Union(\P. open top P /\ P re_subset S) = S) Run time: 0.1s Intermediate theorems generated: 212 OPEN_SUBOPEN = |- !S top. open top S = (!x. S x ==> (?P. P x /\ open top P /\ P re_subset S)) Run time: 0.1s Intermediate theorems generated: 245 OPEN_NEIGH = |- !S top. open top S = (!x. S x ==> (?N. neigh top(N,x) /\ N re_subset S)) Run time: 0.0s Intermediate theorems generated: 170 closed = |- !L S. closed L S = open L(re_compl S) Run time: 0.0s Intermediate theorems generated: 2 limpt = |- !top x S. limpt top x S = (!N. neigh top(N,x) ==> (?y. ~(x = y) /\ S y /\ N y)) Run time: 0.0s Intermediate theorems generated: 2 CLOSED_LIMPT = |- !top S. closed top S = (!x. limpt top x S ==> S x) Run time: 0.1s Intermediate theorems generated: 433 ismet = |- !m. ismet m = (!x y. (m(x,y) = & 0) = (x = y)) /\ (!x y z. (m(y,z)) <= ((m(x,y)) + (m(x,z)))) Run time: 0.0s Intermediate theorems generated: 2 Theorem REAL_LE_ADD2 autoloading from theory `REAL` ... REAL_LE_ADD2 = |- !w x y z. w <= x /\ y <= z ==> (w + y) <= (x + z) Run time: 0.0s Theorem REAL_LE_01 autoloading from theory `REAL` ... REAL_LE_01 = |- (& 0) <= (& 1) Run time: 0.0s Theorem REAL_LE_REFL autoloading from theory `REAL` ... REAL_LE_REFL = |- !x. x <= x Run time: 0.0s Theorem REAL_ADD_RID autoloading from theory `REAL` ... REAL_ADD_RID = |- !x. x + (& 0) = x Run time: 0.0s Theorem REAL_ADD_LID autoloading from theory `REAL` ... REAL_ADD_LID = |- !x. (& 0) + x = x Run time: 0.0s Theorem REAL_10 autoloading from theory `REAL` ... REAL_10 = |- ~(& 1 = & 0) Run time: 0.0s metric_tydef = |- ?rep. TYPE_DEFINITION ismet rep Run time: 0.1s Intermediate theorems generated: 560 metric_tybij = |- (!a. metric(dist a) = a) /\ (!r. ismet r = (dist(metric r) = r)) Run time: 0.0s Intermediate theorems generated: 4 METRIC_ISMET = |- !m. ismet(dist m) Run time: 0.1s Intermediate theorems generated: 20 METRIC_ZERO = |- !m x y. (dist m(x,y) = & 0) = (x = y) Run time: 0.0s Intermediate theorems generated: 41 METRIC_SAME = |- !m x. dist m(x,x) = & 0 Run time: 0.0s Intermediate theorems generated: 16 Theorem REAL_LT_ADD2 autoloading from theory `REAL` ... REAL_LT_ADD2 = |- !w x y z. w < x /\ y < z ==> (w + y) < (x + z) Run time: 0.0s Theorem REAL_NOT_LE autoloading from theory `REAL` ... REAL_NOT_LE = |- !x y. ~x <= y = y < x Run time: 0.0s METRIC_POS = |- !m x y. (& 0) <= (dist m(x,y)) Run time: 0.1s Intermediate theorems generated: 91 Theorem REAL_LE_ANTISYM autoloading from theory `REAL` ... REAL_LE_ANTISYM = |- !x y. x <= y /\ y <= x = (x = y) Run time: 0.0s METRIC_SYM = |- !m x y. dist m(x,y) = dist m(y,x) Run time: 0.0s Intermediate theorems generated: 99 METRIC_TRIANGLE = |- !m x y z. (dist m(x,z)) <= ((dist m(x,y)) + (dist m(y,z))) Run time: 0.0s Intermediate theorems generated: 52 Theorem REAL_LE_LT autoloading from theory `REAL` ... REAL_LE_LT = |- !x y. x <= y = x < y \/ (x = y) Run time: 0.0s METRIC_NZ = |- !m x y. ~(x = y) ==> (& 0) < (dist m(x,y)) Run time: 0.0s Intermediate theorems generated: 78 mtop = |- !m. mtop m = topology (\S. !x. S x ==> (?e. (& 0) < e /\ (!y. (dist m(x,y)) < e ==> S y))) Run time: 0.0s Intermediate theorems generated: 2 Theorem REAL_LT_TRANS autoloading from theory `REAL` ... REAL_LT_TRANS = |- !x y z. x < y /\ y < z ==> x < z Run time: 0.0s Theorem REAL_LT_TOTAL autoloading from theory `REAL` ... REAL_LT_TOTAL = |- !x y. (x = y) \/ x < y \/ y < x Run time: 0.0s Theorem REAL_LT_01 autoloading from theory `REAL` ... REAL_LT_01 = |- (& 0) < (& 1) Run time: 0.0s mtop_istopology = |- !m. istopology (\S. !x. S x ==> (?e. (& 0) < e /\ (!y. (dist m(x,y)) < e ==> S y))) Run time: 0.2s Intermediate theorems generated: 544 MTOP_OPEN = |- !m. open(mtop m)S = (!x. S x ==> (?e. (& 0) < e /\ (!y. (dist m(x,y)) < e ==> S y))) Run time: 0.1s Intermediate theorems generated: 38 ball = |- !m x e. B m(x,e) = (\y. (dist m(x,y)) < e) Run time: 0.0s Intermediate theorems generated: 2 Theorem REAL_LET_TRANS autoloading from theory `REAL` ... REAL_LET_TRANS = |- !x y z. x <= y /\ y < z ==> x < z Run time: 0.0s Theorem REAL_ADD_SYM autoloading from theory `REAL` ... REAL_ADD_SYM = |- !x y. x + y = y + x Run time: 0.1s Theorem REAL_LT_SUB_LADD autoloading from theory `REAL` ... REAL_LT_SUB_LADD = |- !x y z. x < (y - z) = (x + z) < y Run time: 0.0s Theorem REAL_SUB_LT autoloading from theory `REAL` ... REAL_SUB_LT = |- !x y. (& 0) < (x - y) = y < x Run time: 0.0s BALL_OPEN = |- !m x e. (& 0) < e ==> open(mtop m)(B m(x,e)) Run time: 0.1s Intermediate theorems generated: 161 BALL_NEIGH = |- !m x e. (& 0) < e ==> neigh(mtop m)(B m(x,e),x) Run time: 0.0s Intermediate theorems generated: 76 MTOP_LIMPT = |- !m x S. limpt(mtop m)x S = (!e. (& 0) < e ==> (?y. ~(x = y) /\ S y /\ (dist m(x,y)) < e)) Run time: 0.1s Intermediate theorems generated: 298 Theorem REAL_ADD_LINV autoloading from theory `REAL` ... REAL_ADD_LINV = |- !x. (-- x) + x = & 0 Run time: 0.0s Theorem REAL_ADD_ASSOC autoloading from theory `REAL` ... REAL_ADD_ASSOC = |- !x y z. x + (y + z) = (x + y) + z Run time: 0.0s Definition real_sub autoloading from theory `REAL` ... real_sub = |- !x y. x - y = x + (-- y) Run time: 0.0s Intermediate theorems generated: 1 Theorem ABS_TRIANGLE autoloading from theory `REAL` ... ABS_TRIANGLE = |- !x y. (abs(x + y)) <= ((abs x) + (abs y)) Run time: 0.0s Theorem ABS_NEG autoloading from theory `REAL` ... ABS_NEG = |- !x. abs(-- x) = abs x Run time: 0.0s Theorem REAL_NEG_SUB autoloading from theory `REAL` ... REAL_NEG_SUB = |- !x y. --(x - y) = y - x Run time: 0.0s Theorem REAL_SUB_0 autoloading from theory `REAL` ... REAL_SUB_0 = |- !x y. (x - y = & 0) = (x = y) Run time: 0.0s Theorem ABS_ZERO autoloading from theory `REAL` ... ABS_ZERO = |- !x. (abs x = & 0) = (x = & 0) Run time: 0.0s ISMET_R1 = |- ismet(\(x,y). abs(y - x)) Run time: 0.0s Intermediate theorems generated: 204 mr1 = |- mr1 = metric(\(x,y). abs(y - x)) Run time: 0.0s Intermediate theorems generated: 2 MR1_DEF = |- !x y. dist mr1(x,y) = abs(y - x) Run time: 0.0s Intermediate theorems generated: 32 Theorem REAL_ADD_SUB autoloading from theory `REAL` ... REAL_ADD_SUB = |- !x y. (x + y) - x = y Run time: 0.0s MR1_ADD = |- !x d. dist mr1(x,x + d) = abs d Run time: 0.0s Intermediate theorems generated: 25 Theorem REAL_SUB_SUB autoloading from theory `REAL` ... REAL_SUB_SUB = |- !x y. (x - y) - x = -- y Run time: 0.1s MR1_SUB = |- !x d. dist mr1(x,x - d) = abs d Run time: 0.0s Intermediate theorems generated: 30 Definition abs autoloading from theory `REAL` ... abs = |- !x. abs x = ((& 0) <= x => x | -- x) Run time: 0.0s Intermediate theorems generated: 1 MR1_ADD_LE = |- !x d. (& 0) <= d ==> (dist mr1(x,x + d) = d) Run time: 0.0s Intermediate theorems generated: 34 MR1_SUB_LE = |- !x d. (& 0) <= d ==> (dist mr1(x,x - d) = d) Run time: 0.0s Intermediate theorems generated: 34 Theorem REAL_LT_IMP_LE autoloading from theory `REAL` ... REAL_LT_IMP_LE = |- !x y. x < y ==> x <= y Run time: 0.0s MR1_ADD_LT = |- !x d. (& 0) < d ==> (dist mr1(x,x + d) = d) Run time: 0.1s Intermediate theorems generated: 11 MR1_SUB_LT = |- !x d. (& 0) < d ==> (dist mr1(x,x - d) = d) Run time: 0.0s Intermediate theorems generated: 11 Theorem ABS_BETWEEN1 autoloading from theory `REAL` ... ABS_BETWEEN1 = |- !x y z. x < z /\ (abs(y - x)) < (z - x) ==> y < z Run time: 0.0s MR1_BETWEEN1 = |- !x y z. x < z /\ (dist mr1(x,y)) < (z - x) ==> y < z Run time: 0.0s Intermediate theorems generated: 29 Theorem REAL_LT_IMP_NE autoloading from theory `REAL` ... REAL_LT_IMP_NE = |- !x y. x < y ==> ~(x = y) Run time: 0.0s Theorem REAL_ADD_RID_UNIQ autoloading from theory `REAL` ... REAL_ADD_RID_UNIQ = |- !x y. (x + y = x) = (y = & 0) Run time: 0.0s Theorem REAL_LT_HALF2 autoloading from theory `REAL` ... REAL_LT_HALF2 = |- !d. (d / (& 2)) < d = (& 0) < d Run time: 0.0s Theorem REAL_LT_HALF1 autoloading from theory `REAL` ... REAL_LT_HALF1 = |- !d. (& 0) < (d / (& 2)) = (& 0) < d Run time: 0.0s MR1_LIMPT = |- !x. limpt(mtop mr1)x re_universe Run time: 0.0s Intermediate theorems generated: 143 () : void Run time: 0.0s Intermediate theorems generated: 1 File topology.ml loaded () : void Run time: 2.9s Intermediate theorems generated: 4132 #\ echo 'set_flag(`abort_when_fail`,true);;'\ 'loadt `nets.ml`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool false : bool () : void Theory TOPOLOGY loaded () : void false : bool Run time: 0.0s LAND_CONV = - : (conv -> conv) Run time: 0.0s TAUT_CONV = - : conv Run time: 0.0s AC = - : ((thm # thm) -> conv) Run time: 0.0s GEN_PAIR_TAC = - : tactic Run time: 0.0s MK_COMB_TAC = - : tactic Run time: 0.0s BINOP_TAC = - : tactic Run time: 0.0s SYM_CANON_CONV = - : (thm -> ((term # term) -> bool) -> conv) Run time: 0.0s IMP_SUBST_TAC = - : thm_tactic Run time: 0.0s ABBREV_TAC = - : (term -> tactic) Run time: 0.0s EXT_CONV = - : conv Run time: 0.0s ABS_TAC = - : tactic Run time: 0.0s EQUAL_TAC = - : tactic Run time: 0.0s X_BETA_CONV = - : (term -> conv) Run time: 0.0s EXACT_CONV = - : (thm list -> conv) Run time: 0.0s HABS_CONV = - : conv Run time: 0.0s autoload_definitions = - : (string -> void) Run time: 0.0s autoload_theorems = - : (string -> void) Run time: 0.0s EXPAND_TAC = - : (string -> tactic) Run time: 0.0s File useful loaded () : void Run time: 0.1s real_interface_map = [(`--`, `real_neg`); (`num_add`, `+`); (`+`, `real_add`); (`num_mul`, `*`); (`*`, `real_mul`); (`num_sub`, `-`); (`-`, `real_sub`); (`num_lt`, `<`); (`<`, `real_lt`); (`num_le`, `<=`); (`<=`, `real_le`); (`num_gt`, `>`); (`>`, `real_gt`); (`num_ge`, `>=`); (`>=`, `real_ge`); (`inv`, `real_inv`); (`&`, `real_of_num`)] : (string # string) list Run time: 0.0s [] : (string # string) list Run time: 0.0s () : void Run time: 0.0s Intermediate theorems generated: 30 () : void Run time: 0.1s () : void Run time: 0.0s dorder = |- !g. dorder g = (!x y. g x x /\ g y y ==> (?z. g z z /\ (!w. g w z ==> g w x /\ g w y))) Run time: 0.0s Intermediate theorems generated: 2 tends = |- !s l top g. (s tends l)(top,g) = (!N. neigh top(N,l) ==> (?n. g n n /\ (!m. g m n ==> N(s m)))) Run time: 0.0s Intermediate theorems generated: 2 bounded = |- !m g f. bounded(m,g)f = (?k x N. g N N /\ (!n. g n N ==> (dist m(f n,x)) < k)) Run time: 0.0s Intermediate theorems generated: 2 tendsto = |- !m x y z. tendsto(m,x)y z = (& 0) < (dist m(x,y)) /\ (dist m(x,y)) <= (dist m(x,z)) Run time: 0.0s Intermediate theorems generated: 2 [(`--`, `real_neg`); (`num_add`, `+`); (`+`, `real_add`); (`num_mul`, `*`); (`*`, `real_mul`); (`num_sub`, `-`); (`-`, `real_sub`); (`num_lt`, `<`); (`<`, `real_lt`); (`num_le`, `<=`); (`<=`, `real_le`); (`num_gt`, `>`); (`>`, `real_gt`); (`num_ge`, `>=`); (`>=`, `real_ge`); (`inv`, `real_inv`); (`&`, `real_of_num`)] : (string # string) list Run time: 0.0s DORDER_LEMMA = |- !g. dorder g ==> (!P Q. (?n. g n n /\ (!m. g m n ==> P m)) /\ (?n. g n n /\ (!m. g m n ==> Q m)) ==> (?n. g n n /\ (!m. g m n ==> P m /\ Q m))) Run time: 0.1s Intermediate theorems generated: 312 DORDER_THEN = - : ((thm -> *) -> thm -> *) Run time: 0.0s Theorem LESS_EQ_TRANS autoloading from theory `arithmetic` ... LESS_EQ_TRANS = |- !m n p. m num_le n /\ n num_le p ==> m num_le p Run time: 0.1s Theorem LESS_EQ_CASES autoloading from theory `arithmetic` ... LESS_EQ_CASES = |- !m n. m num_le n \/ n num_le m Run time: 0.0s Theorem LESS_EQ_REFL autoloading from theory `arithmetic` ... LESS_EQ_REFL = |- !m. m num_le m Run time: 0.0s Theorem GREATER_EQ autoloading from theory `arithmetic` ... GREATER_EQ = |- !n m. n num_ge m = m num_le n Run time: 0.0s DORDER_NGE = |- dorder $num_ge Run time: 0.0s Intermediate theorems generated: 136 Theorem REAL_LE_TRANS autoloading from theory `REAL` ... REAL_LE_TRANS = |- !x y z. x <= y /\ y <= z ==> x <= z Run time: 0.0s Theorem REAL_LE_TOTAL autoloading from theory `REAL` ... REAL_LE_TOTAL = |- !x y. x <= y \/ y <= x Run time: 0.0s Theorem REAL_LE_REFL autoloading from theory `REAL` ... REAL_LE_REFL = |- !x. x <= x Run time: 0.1s DORDER_TENDSTO = |- !m x. dorder(tendsto(m,x)) Run time: 0.0s Intermediate theorems generated: 257 Definition re_subset autoloading from theory `TOPOLOGY` ... re_subset = |- !P Q. P re_subset Q = (!x. P x ==> Q x) Run time: 0.0s Intermediate theorems generated: 1 Theorem MTOP_OPEN autoloading from theory `TOPOLOGY` ... MTOP_OPEN = |- !m. open(mtop m)S = (!x. S x ==> (?e. (& 0) < e /\ (!y. (dist m(x,y)) < e ==> S y))) Run time: 0.0s Definition neigh autoloading from theory `TOPOLOGY` ... neigh = |- !top N x. neigh top(N,x) = (?P. open top P /\ P re_subset N /\ P x) Run time: 0.0s Intermediate theorems generated: 1 Theorem METRIC_SYM autoloading from theory `TOPOLOGY` ... METRIC_SYM = |- !m x y. dist m(x,y) = dist m(y,x) Run time: 0.0s Definition ball autoloading from theory `TOPOLOGY` ... ball = |- !m x e. B m(x,e) = (\y. (dist m(x,y)) < e) Run time: 0.0s Intermediate theorems generated: 1 Theorem BALL_NEIGH autoloading from theory `TOPOLOGY` ... BALL_NEIGH = |- !m x e. (& 0) < e ==> neigh(mtop m)(B m(x,e),x) Run time: 0.0s MTOP_TENDS = |- !d g x x0. (x --> x0)(mtop d,g) = (!e. (& 0) < e ==> (?n. g n n /\ (!m. g m n ==> (dist d(x m,x0)) < e))) Run time: 0.1s Intermediate theorems generated: 373 Theorem METRIC_TRIANGLE autoloading from theory `TOPOLOGY` ... METRIC_TRIANGLE = |- !m x y z. (dist m(x,z)) <= ((dist m(x,y)) + (dist m(y,z))) Run time: 0.0s Theorem REAL_NOT_LT autoloading from theory `REAL` ... REAL_NOT_LT = |- !x y. ~x < y = y <= x Run time: 0.0s Theorem REAL_HALF_DOUBLE autoloading from theory `REAL` ... REAL_HALF_DOUBLE = |- !x. (x / (& 2)) + (x / (& 2)) = x Run time: 0.0s Theorem REAL_LT_ADD2 autoloading from theory `REAL` ... REAL_LT_ADD2 = |- !w x y z. w < x /\ y < z ==> (w + y) < (x + z) Run time: 0.0s Theorem METRIC_NZ autoloading from theory `TOPOLOGY` ... METRIC_NZ = |- !m x y. ~(x = y) ==> (& 0) < (dist m(x,y)) Run time: 0.0s Theorem REAL_LT_HALF1 autoloading from theory `REAL` ... REAL_LT_HALF1 = |- !d. (& 0) < (d / (& 2)) = (& 0) < d Run time: 0.0s MTOP_TENDS_UNIQ = |- !g d. dorder g ==> (x --> x0)(mtop d,g) /\ (x --> x1)(mtop d,g) ==> (x0 = x1) Run time: 0.0s Intermediate theorems generated: 313 SEQ_TENDS = |- !d x x0. (x --> x0)(mtop d,$num_ge) = (!e. (& 0) < e ==> (?N. !n. n num_ge N ==> (dist d(x n,x0)) < e)) Run time: 0.1s Intermediate theorems generated: 64 Theorem REAL_LT_IMP_LE autoloading from theory `REAL` ... REAL_LT_IMP_LE = |- !x y. x < y ==> x <= y Run time: 0.0s Definition re_universe autoloading from theory `TOPOLOGY` ... re_universe = |- re_universe = (\x. T) Run time: 0.0s Intermediate theorems generated: 1 Theorem MTOP_LIMPT autoloading from theory `TOPOLOGY` ... MTOP_LIMPT = |- !m x S. limpt(mtop m)x S = (!e. (& 0) < e ==> (?y. ~(x = y) /\ S y /\ (dist m(x,y)) < e)) Run time: 0.0s LIM_TENDS = |- !m1 m2 f x0 y0. limpt(mtop m1)x0 re_universe ==> ((f --> y0)(mtop m2,tendsto(m1,x0)) = (!e. (& 0) < e ==> (?d. (& 0) < d /\ (!x. (& 0) < (dist m1(x,x0)) /\ (dist m1(x,x0)) <= d ==> (dist m2(f x,y0)) < e)))) Run time: 0.1s Intermediate theorems generated: 459 Theorem REAL_LT_HALF2 autoloading from theory `REAL` ... REAL_LT_HALF2 = |- !d. (d / (& 2)) < d = (& 0) < d Run time: 0.0s Theorem REAL_LET_TRANS autoloading from theory `REAL` ... REAL_LET_TRANS = |- !x y z. x <= y /\ y < z ==> x < z Run time: 0.0s LIM_TENDS2 = |- !m1 m2 f x0 y0. limpt(mtop m1)x0 re_universe ==> ((f --> y0)(mtop m2,tendsto(m1,x0)) = (!e. (& 0) < e ==> (?d. (& 0) < d /\ (!x. (& 0) < (dist m1(x,x0)) /\ (dist m1(x,x0)) < d ==> (dist m2(f x,y0)) < e)))) Run time: 0.1s Intermediate theorems generated: 246 Theorem ABS_NEG autoloading from theory `REAL` ... ABS_NEG = |- !x. abs(-- x) = abs x Run time: 0.0s Theorem REAL_SUB_LZERO autoloading from theory `REAL` ... REAL_SUB_LZERO = |- !x. (& 0) - x = -- x Run time: 0.0s Theorem ABS_SUB autoloading from theory `REAL` ... ABS_SUB = |- !x y. abs(x - y) = abs(y - x) Run time: 0.0s Theorem REAL_LT_RADD autoloading from theory `REAL` ... REAL_LT_RADD = |- !x y z. (x + z) < (y + z) = x < y Run time: 0.0s Theorem REAL_ADD_SYM autoloading from theory `REAL` ... REAL_ADD_SYM = |- !x y. x + y = y + x Run time: 0.0s Theorem ABS_TRIANGLE autoloading from theory `REAL` ... ABS_TRIANGLE = |- !x y. (abs(x + y)) <= ((abs x) + (abs y)) Run time: 0.0s Theorem REAL_SUB_ADD autoloading from theory `REAL` ... REAL_SUB_ADD = |- !x y. (x - y) + y = x Run time: 0.0s Theorem MR1_DEF autoloading from theory `TOPOLOGY` ... MR1_DEF = |- !x y. dist mr1(x,y) = abs(y - x) Run time: 0.0s MR1_BOUNDED = |- !g f. bounded(mr1,g)f = (?k N. g N N /\ (!n. g n N ==> (abs(f n)) < k)) Run time: 0.2s Intermediate theorems generated: 331 Theorem REAL_NEG_SUB autoloading from theory `REAL` ... REAL_NEG_SUB = |- !x y. --(x - y) = y - x Run time: 0.0s NET_NULL = |- !g x x0. (x --> x0)(mtop mr1,g) = ((\n. (x n) - x0) --> (& 0))(mtop mr1,g) Run time: 0.0s Intermediate theorems generated: 151 Theorem LESS_0 autoloading from theory `prim_rec` ... LESS_0 = |- !n. 0 num_lt (SUC n) Run time: 0.0s Theorem REAL_LT autoloading from theory `REAL` ... REAL_LT = |- !m n. (& m) < (& n) = m num_lt n Run time: 0.0s NET_CONV_BOUNDED = |- !g x x0. (x --> x0)(mtop mr1,g) ==> bounded(mr1,g)x Run time: 0.1s Intermediate theorems generated: 119 Theorem REAL_LT_REFL autoloading from theory `REAL` ... REAL_LT_REFL = |- !x. ~x < x Run time: 0.0s Theorem REAL_SUB_RZERO autoloading from theory `REAL` ... REAL_SUB_RZERO = |- !x. x - (& 0) = x Run time: 0.0s Theorem ABS_NZ autoloading from theory `REAL` ... ABS_NZ = |- !x. ~(x = & 0) = (& 0) < (abs x) Run time: 0.0s NET_CONV_NZ = |- !g x x0. (x --> x0)(mtop mr1,g) /\ ~(x0 = & 0) ==> (?N. g N N /\ (!n. g n N ==> ~(x n = & 0))) Run time: 0.0s Intermediate theorems generated: 165 Theorem REAL_LT_INV autoloading from theory `REAL` ... REAL_LT_INV = |- !x y. (& 0) < x /\ x < y ==> (inv y) < (inv x) Run time: 0.1s Theorem ABS_INV autoloading from theory `REAL` ... ABS_INV = |- !x. ~(x = & 0) ==> (abs(inv x) = inv(abs x)) Run time: 0.0s Theorem REAL_INJ autoloading from theory `REAL` ... REAL_INJ = |- !m n. (& m = & n) = (m = n) Run time: 0.0s Theorem ABS_ABS autoloading from theory `REAL` ... ABS_ABS = |- !x. abs(abs x) = abs x Run time: 0.0s Theorem REAL_MUL_LID autoloading from theory `REAL` ... REAL_MUL_LID = |- !x. (& 1) * x = x Run time: 0.0s Theorem REAL_MUL_LINV autoloading from theory `REAL` ... REAL_MUL_LINV = |- !x. ~(x = & 0) ==> ((inv x) * x = & 1) Run time: 0.0s Theorem REAL_MUL_SYM autoloading from theory `REAL` ... REAL_MUL_SYM = |- !x y. x * y = y * x Run time: 0.0s Theorem REAL_MUL_ASSOC autoloading from theory `REAL` ... REAL_MUL_ASSOC = |- !x y z. x * (y * z) = (x * y) * z Run time: 0.0s Definition real_div autoloading from theory `REAL` ... real_div = |- !x y. x / y = x * (inv y) Run time: 0.0s Intermediate theorems generated: 1 Theorem REAL_RINV_UNIQ autoloading from theory `REAL` ... REAL_RINV_UNIQ = |- !x y. (x * y = & 1) ==> (y = inv x) Run time: 0.0s Theorem REAL_LT_TRANS autoloading from theory `REAL` ... REAL_LT_TRANS = |- !x y z. x < y /\ y < z ==> x < z Run time: 0.0s Theorem REAL_LT_LADD autoloading from theory `REAL` ... REAL_LT_LADD = |- !x y z. (x + y) < (x + z) = y < z Run time: 0.0s NET_CONV_IBOUNDED = |- !g x x0. (x --> x0)(mtop mr1,g) /\ ~(x0 = & 0) ==> bounded(mr1,g)(\n. inv(x n)) Run time: 0.1s Intermediate theorems generated: 493 NET_NULL_ADD = |- !g. dorder g ==> (!x y. (x --> (& 0))(mtop mr1,g) /\ (y --> (& 0))(mtop mr1,g) ==> ((\n. (x n) + (y n)) --> (& 0))(mtop mr1,g)) Run time: 0.1s Intermediate theorems generated: 324 Theorem REAL_LT_MUL2 autoloading from theory `REAL` ... REAL_LT_MUL2 = |- !x1 x2 y1 y2. (& 0) <= x1 /\ (& 0) <= y1 /\ x1 < x2 /\ y1 < y2 ==> (x1 * y1) < (x2 * y2) Run time: 0.0s Theorem ABS_MUL autoloading from theory `REAL` ... ABS_MUL = |- !x y. abs(x * y) = (abs x) * (abs y) Run time: 0.0s Theorem REAL_DIV_LMUL autoloading from theory `REAL` ... REAL_DIV_LMUL = |- !x y. ~(y = & 0) ==> (y * (x / y) = x) Run time: 0.0s Theorem REAL_LT_RDIV_0 autoloading from theory `REAL` ... REAL_LT_RDIV_0 = |- !y z. (& 0) < z ==> ((& 0) < (y / z) = (& 0) < y) Run time: 0.0s Theorem ABS_POS autoloading from theory `REAL` ... ABS_POS = |- !x. (& 0) <= (abs x) Run time: 0.0s NET_NULL_MUL = |- !g. dorder g ==> (!x y. bounded(mr1,g)x /\ (y --> (& 0))(mtop mr1,g) ==> ((\n. (x n) * (y n)) --> (& 0))(mtop mr1,g)) Run time: 0.1s Intermediate theorems generated: 484 Theorem REAL_LT_LMUL autoloading from theory `REAL` ... REAL_LT_LMUL = |- !x y z. (& 0) < x ==> ((x * y) < (x * z) = y < z) Run time: 0.0s Theorem ABS_ZERO autoloading from theory `REAL` ... ABS_ZERO = |- !x. (abs x = & 0) = (x = & 0) Run time: 0.0s Theorem REAL_INV_POS autoloading from theory `REAL` ... REAL_INV_POS = |- !x. (& 0) < x ==> (& 0) < (inv x) Run time: 0.0s Theorem REAL_LT_MUL autoloading from theory `REAL` ... REAL_LT_MUL = |- !x y. (& 0) < x /\ (& 0) < y ==> (& 0) < (x * y) Run time: 0.0s Definition abs autoloading from theory `REAL` ... abs = |- !x. abs x = ((& 0) <= x => x | -- x) Run time: 0.0s Intermediate theorems generated: 1 Theorem REAL_MUL_LZERO autoloading from theory `REAL` ... REAL_MUL_LZERO = |- !x. (& 0) * x = & 0 Run time: 0.0s Theorem LESS_SUC_REFL autoloading from theory `prim_rec` ... LESS_SUC_REFL = |- !n. n num_lt (SUC n) Run time: 0.0s NET_NULL_CMUL = |- !g k x. (x --> (& 0))(mtop mr1,g) ==> ((\n. k * (x n)) --> (& 0))(mtop mr1,g) Run time: 0.2s Intermediate theorems generated: 506 Theorem REAL_ADD_ASSOC autoloading from theory `REAL` ... REAL_ADD_ASSOC = |- !x y z. x + (y + z) = (x + y) + z Run time: 0.0s Theorem REAL_NEG_ADD autoloading from theory `REAL` ... REAL_NEG_ADD = |- !x y. --(x + y) = (-- x) + (-- y) Run time: 0.0s Definition real_sub autoloading from theory `REAL` ... real_sub = |- !x y. x - y = x + (-- y) Run time: 0.0s Intermediate theorems generated: 1 NET_ADD = |- !g. dorder g ==> (!x x0 y y0. (x --> x0)(mtop mr1,g) /\ (y --> y0)(mtop mr1,g) ==> ((\n. (x n) + (y n)) --> (x0 + y0))(mtop mr1,g)) Run time: 0.0s Intermediate theorems generated: 167 Theorem REAL_SUB_NEG2 autoloading from theory `REAL` ... REAL_SUB_NEG2 = |- !x y. (-- x) - (-- y) = y - x Run time: 0.0s NET_NEG = |- !g. dorder g ==> (!x x0. (x --> x0)(mtop mr1,g) = ((\n. --(x n)) --> (-- x0))(mtop mr1,g)) Run time: 0.1s Intermediate theorems generated: 121 NET_SUB = |- !g. dorder g ==> (!x x0 y y0. (x --> x0)(mtop mr1,g) /\ (y --> y0)(mtop mr1,g) ==> ((\n. (x n) - (y n)) --> (x0 - y0))(mtop mr1,g)) Run time: 0.0s Intermediate theorems generated: 95 Theorem REAL_ADD_LID autoloading from theory `REAL` ... REAL_ADD_LID = |- !x. (& 0) + x = x Run time: 0.0s Theorem REAL_ADD_LINV autoloading from theory `REAL` ... REAL_ADD_LINV = |- !x. (-- x) + x = & 0 Run time: 0.1s Theorem REAL_NEG_RMUL autoloading from theory `REAL` ... REAL_NEG_RMUL = |- !x y. --(x * y) = x * (-- y) Run time: 0.0s Theorem REAL_NEG_LMUL autoloading from theory `REAL` ... REAL_NEG_LMUL = |- !x y. --(x * y) = (-- x) * y Run time: 0.0s Theorem REAL_RDISTRIB autoloading from theory `REAL` ... REAL_RDISTRIB = |- !x y z. (x + y) * z = (x * z) + (y * z) Run time: 0.0s Theorem REAL_LDISTRIB autoloading from theory `REAL` ... REAL_LDISTRIB = |- !x y z. x * (y + z) = (x * y) + (x * z) Run time: 0.0s NET_MUL = |- !g. dorder g ==> (!x y x0 y0. (x --> x0)(mtop mr1,g) /\ (y --> y0)(mtop mr1,g) ==> ((\n. (x n) * (y n)) --> (x0 * y0))(mtop mr1,g)) Run time: 0.1s Intermediate theorems generated: 338 Theorem REAL_INV_NZ autoloading from theory `REAL` ... REAL_INV_NZ = |- !x. ~(x = & 0) ==> ~(inv x = & 0) Run time: 0.0s Theorem ABS_LT_MUL2 autoloading from theory `REAL` ... ABS_LT_MUL2 = |- !w x y z. (abs w) < y /\ (abs x) < z ==> (abs(w * x)) < (y * z) Run time: 0.0s Definition LESS_OR_EQ autoloading from theory `arithmetic` ... LESS_OR_EQ = |- !m n. m num_le n = m num_lt n \/ (m = n) Run time: 0.0s Intermediate theorems generated: 1 Theorem REAL_LE autoloading from theory `REAL` ... REAL_LE = |- !m n. (& m) <= (& n) = m num_le n Run time: 0.0s Theorem REAL_LT_IMP_NE autoloading from theory `REAL` ... REAL_LT_IMP_NE = |- !x y. x < y ==> ~(x = y) Run time: 0.0s Theorem REAL_MUL_RINV autoloading from theory `REAL` ... REAL_MUL_RINV = |- !x. ~(x = & 0) ==> (x * (inv x) = & 1) Run time: 0.0s Theorem REAL_MUL_RID autoloading from theory `REAL` ... REAL_MUL_RID = |- !x. x * (& 1) = x Run time: 0.0s Theorem REAL_SUB_LDISTRIB autoloading from theory `REAL` ... REAL_SUB_LDISTRIB = |- !x y z. x * (y - z) = (x * y) - (x * z) Run time: 0.0s NET_INV = |- !g. dorder g ==> (!x x0. (x --> x0)(mtop mr1,g) /\ ~(x0 = & 0) ==> ((\n. inv(x n)) --> (inv x0))(mtop mr1,g)) Run time: 0.3s Intermediate theorems generated: 1253 NET_DIV = |- !g. dorder g ==> (!x x0 y y0. (x --> x0)(mtop mr1,g) /\ (y --> y0)(mtop mr1,g) /\ ~(y0 = & 0) ==> ((\n. (x n) / (y n)) --> (x0 / y0))(mtop mr1,g)) Run time: 0.0s Intermediate theorems generated: 106 Theorem ABS_SUB_ABS autoloading from theory `REAL` ... ABS_SUB_ABS = |- !x y. (abs((abs x) - (abs y))) <= (abs(x - y)) Run time: 0.0s NET_ABS = |- !x x0. (x --> x0)(mtop mr1,g) ==> ((\n. abs(x n)) --> (abs x0))(mtop mr1,g) Run time: 0.1s Intermediate theorems generated: 128 Theorem ABS_BETWEEN2 autoloading from theory `REAL` ... ABS_BETWEEN2 = |- !x0 x y0 y. x0 < y0 /\ (abs(x - x0)) < ((y0 - x0) / (& 2)) /\ (abs(y - y0)) < ((y0 - x0) / (& 2)) ==> x < y Run time: 0.0s Theorem REAL_SUB_LT autoloading from theory `REAL` ... REAL_SUB_LT = |- !x y. (& 0) < (x - y) = y < x Run time: 0.0s Theorem REAL_NOT_LE autoloading from theory `REAL` ... REAL_NOT_LE = |- !x y. ~x <= y = y < x Run time: 0.0s NET_LE = |- !g. dorder g ==> (!x x0 y y0. (x --> x0)(mtop mr1,g) /\ (y --> y0)(mtop mr1,g) /\ (?N. g N N /\ (!n. g n N ==> (x n) <= (y n))) ==> x0 <= y0) Run time: 0.1s Intermediate theorems generated: 400 () : void Run time: 0.0s Intermediate theorems generated: 1 File nets.ml loaded () : void Run time: 3.3s Intermediate theorems generated: 7389 #\ echo 'set_flag(`abort_when_fail`,true);;'\ 'loadt `seq.ml`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool false : bool () : void Theory NETS loaded () : void false : bool Run time: 0.0s LAND_CONV = - : (conv -> conv) Run time: 0.0s TAUT_CONV = - : conv Run time: 0.0s AC = - : ((thm # thm) -> conv) Run time: 0.0s GEN_PAIR_TAC = - : tactic Run time: 0.0s MK_COMB_TAC = - : tactic Run time: 0.0s BINOP_TAC = - : tactic Run time: 0.0s SYM_CANON_CONV = - : (thm -> ((term # term) -> bool) -> conv) Run time: 0.0s IMP_SUBST_TAC = - : thm_tactic Run time: 0.0s ABBREV_TAC = - : (term -> tactic) Run time: 0.0s EXT_CONV = - : conv Run time: 0.0s ABS_TAC = - : tactic Run time: 0.0s EQUAL_TAC = - : tactic Run time: 0.0s X_BETA_CONV = - : (term -> conv) Run time: 0.0s EXACT_CONV = - : (thm list -> conv) Run time: 0.0s HABS_CONV = - : conv Run time: 0.0s autoload_definitions = - : (string -> void) Run time: 0.0s autoload_theorems = - : (string -> void) Run time: 0.0s EXPAND_TAC = - : (string -> tactic) Run time: 0.0s File useful loaded () : void Run time: 0.1s real_interface_map = [(`--`, `real_neg`); (`num_add`, `+`); (`+`, `real_add`); (`num_mul`, `*`); (`*`, `real_mul`); (`num_sub`, `-`); (`-`, `real_sub`); (`num_lt`, `<`); (`<`, `real_lt`); (`num_le`, `<=`); (`<=`, `real_le`); (`num_gt`, `>`); (`>`, `real_gt`); (`num_ge`, `>=`); (`>=`, `real_ge`); (`inv`, `real_inv`); (`&`, `real_of_num`)] : (string # string) list Run time: 0.0s [] : (string # string) list Run time: 0.0s () : void Run time: 0.0s Intermediate theorems generated: 34 () : void Run time: 0.2s [(); ()] : void list Run time: 0.0s tends_num_real = |- !x x0. x tends_num_real x0 = (x tends x0)(mtop mr1,$num_ge) Run time: 0.0s Intermediate theorems generated: 2 [(`--`, `real_neg`); (`num_add`, `+`); (`+`, `real_add`); (`num_mul`, `*`); (`*`, `real_mul`); (`num_sub`, `-`); (`-`, `real_sub`); (`num_lt`, `<`); (`<`, `real_lt`); (`num_le`, `<=`); (`<=`, `real_le`); (`num_gt`, `>`); (`>`, `real_gt`); (`num_ge`, `>=`); (`>=`, `real_ge`); (`inv`, `real_inv`); (`&`, `real_of_num`)] : (string # string) list Run time: 0.0s Theorem ABS_SUB autoloading from theory `REAL` ... ABS_SUB = |- !x y. abs(x - y) = abs(y - x) Run time: 0.0s Theorem MR1_DEF autoloading from theory `TOPOLOGY` ... MR1_DEF = |- !x y. dist mr1(x,y) = abs(y - x) Run time: 0.0s Theorem SEQ_TENDS autoloading from theory `NETS` ... SEQ_TENDS = |- !d x x0. (x tends x0)(mtop d,$num_ge) = (!e. (& 0) < e ==> (?N. !n. n num_ge N ==> (dist d(x n,x0)) < e)) Run time: 0.0s SEQ = |- !x x0. x --> x0 = (!e. (& 0) < e ==> (?N. !n. n num_ge N ==> (abs((x n) - x0)) < e)) Run time: 0.0s Intermediate theorems generated: 64 Theorem ABS_0 autoloading from theory `REAL` ... ABS_0 = |- abs(& 0) = & 0 Run time: 0.0s Theorem REAL_SUB_REFL autoloading from theory `REAL` ... REAL_SUB_REFL = |- !x. x - x = & 0 Run time: 0.0s SEQ_CONST = |- !k. (\x. k) --> k Run time: 0.1s Intermediate theorems generated: 58 Theorem DORDER_NGE autoloading from theory `NETS` ... DORDER_NGE = |- dorder $num_ge Run time: 0.0s Theorem NET_ADD autoloading from theory `NETS` ... NET_ADD = |- !g. dorder g ==> (!x x0 y y0. (x tends x0)(mtop mr1,g) /\ (y tends y0)(mtop mr1,g) ==> ((\n. (x n) + (y n)) tends (x0 + y0))(mtop mr1,g)) Run time: 0.0s SEQ_ADD = |- !x x0 y y0. x --> x0 /\ y --> y0 ==> (\n. (x n) + (y n)) --> (x0 + y0) Run time: 0.0s Intermediate theorems generated: 33 Theorem NET_MUL autoloading from theory `NETS` ... NET_MUL = |- !g. dorder g ==> (!x y x0 y0. (x tends x0)(mtop mr1,g) /\ (y tends y0)(mtop mr1,g) ==> ((\n. (x n) * (y n)) tends (x0 * y0))(mtop mr1,g)) Run time: 0.0s SEQ_MUL = |- !x x0 y y0. x --> x0 /\ y --> y0 ==> (\n. (x n) * (y n)) --> (x0 * y0) Run time: 0.0s Intermediate theorems generated: 33 Theorem NET_NEG autoloading from theory `NETS` ... NET_NEG = |- !g. dorder g ==> (!x x0. (x tends x0)(mtop mr1,g) = ((\n. --(x n)) tends (-- x0))(mtop mr1,g)) Run time: 0.0s SEQ_NEG = |- !x x0. x --> x0 = (\n. --(x n)) --> (-- x0) Run time: 0.0s Intermediate theorems generated: 26 Theorem NET_INV autoloading from theory `NETS` ... NET_INV = |- !g. dorder g ==> (!x x0. (x tends x0)(mtop mr1,g) /\ ~(x0 = & 0) ==> ((\n. inv(x n)) tends (inv x0))(mtop mr1,g)) Run time: 0.0s SEQ_INV = |- !x x0. x --> x0 /\ ~(x0 = & 0) ==> (\n. inv(x n)) --> (inv x0) Run time: 0.0s Intermediate theorems generated: 28 Theorem NET_SUB autoloading from theory `NETS` ... NET_SUB = |- !g. dorder g ==> (!x x0 y y0. (x tends x0)(mtop mr1,g) /\ (y tends y0)(mtop mr1,g) ==> ((\n. (x n) - (y n)) tends (x0 - y0))(mtop mr1,g)) Run time: 0.0s SEQ_SUB = |- !x x0 y y0. x --> x0 /\ y --> y0 ==> (\n. (x n) - (y n)) --> (x0 - y0) Run time: 0.0s Intermediate theorems generated: 33 Theorem NET_DIV autoloading from theory `NETS` ... NET_DIV = |- !g. dorder g ==> (!x x0 y y0. (x tends x0)(mtop mr1,g) /\ (y tends y0)(mtop mr1,g) /\ ~(y0 = & 0) ==> ((\n. (x n) / (y n)) tends (x0 / y0))(mtop mr1,g)) Run time: 0.0s SEQ_DIV = |- !x x0 y y0. x --> x0 /\ y --> y0 /\ ~(y0 = & 0) ==> (\n. (x n) / (y n)) --> (x0 / y0) Run time: 0.0s Intermediate theorems generated: 35 Theorem MTOP_TENDS_UNIQ autoloading from theory `NETS` ... MTOP_TENDS_UNIQ = |- !g d. dorder g ==> (x tends x0)(mtop d,g) /\ (x tends x1)(mtop d,g) ==> (x0 = x1) Run time: 0.1s SEQ_UNIQ = |- !x x1 x2. x --> x1 /\ x --> x2 ==> (x1 = x2) Run time: 0.0s Intermediate theorems generated: 28 convergent = |- !f. convergent f = (?l. f --> l) Run time: 0.0s Intermediate theorems generated: 2 cauchy = |- !f. cauchy f = (!e. (& 0) < e ==> (?N. !m n. m num_ge N /\ n num_ge N ==> (abs((f m) - (f n))) < e)) Run time: 0.0s Intermediate theorems generated: 2 lim = |- !f. lim f = (@l. f --> l) Run time: 0.0s Intermediate theorems generated: 2 SEQ_LIM = |- !f. convergent f = f --> (lim f) Run time: 0.0s Intermediate theorems generated: 36 subseq = |- !f. subseq f = (!m n. m num_lt n ==> (f m) num_lt (f n)) Run time: 0.0s Intermediate theorems generated: 2 Theorem ADD_CLAUSES autoloading from theory `arithmetic` ... ADD_CLAUSES = |- (0 num_add m = m) /\ (m num_add 0 = m) /\ ((SUC m) num_add n = SUC(m num_add n)) /\ (m num_add (SUC n) = SUC(m num_add n)) Run time: 0.1s Theorem LESS_TRANS autoloading from theory `arithmetic` ... LESS_TRANS = |- !m n p. m num_lt n /\ n num_lt p ==> m num_lt p Run time: 0.0s Theorem ADD1 autoloading from theory `arithmetic` ... ADD1 = |- !m. SUC m = m num_add 1 Run time: 0.0s Theorem LESS_ADD_1 autoloading from theory `arithmetic` ... LESS_ADD_1 = |- !m n. n num_lt m ==> (?p. m = n num_add (p num_add 1)) Run time: 0.0s Theorem LESS_SUC_REFL autoloading from theory `prim_rec` ... LESS_SUC_REFL = |- !n. n num_lt (SUC n) Run time: 0.0s SUBSEQ_SUC = |- !f. subseq f = (!n. (f n) num_lt (f(SUC n))) Run time: 0.0s Intermediate theorems generated: 182 mono = |- !f. mono f = (!m n. m num_le n ==> (f m) <= (f n)) \/ (!m n. m num_le n ==> (f m) >= (f n)) Run time: 0.1s Intermediate theorems generated: 2 Theorem REAL_LE_TRANS autoloading from theory `REAL` ... REAL_LE_TRANS = |- !x y z. x <= y /\ y <= z ==> x <= z Run time: 0.0s Theorem REAL_LE_REFL autoloading from theory `REAL` ... REAL_LE_REFL = |- !x. x <= x Run time: 0.0s Theorem LESS_EQUAL_ADD autoloading from theory `arithmetic` ... LESS_EQUAL_ADD = |- !m n. m num_le n ==> (?p. n = m num_add p) Run time: 0.0s Theorem LESS_EQ_SUC_REFL autoloading from theory `arithmetic` ... LESS_EQ_SUC_REFL = |- !m. m num_le (SUC m) Run time: 0.0s Definition real_ge autoloading from theory `REAL` ... real_ge = |- !x y. x >= y = y <= x Run time: 0.0s Intermediate theorems generated: 1 MONO_SUC = |- !f. mono f = (!n. (f(SUC n)) >= (f n)) \/ (!n. (f(SUC n)) <= (f n)) Run time: 0.1s Intermediate theorems generated: 528 Theorem REAL_LT_IMP_LE autoloading from theory `REAL` ... REAL_LT_IMP_LE = |- !x y. x < y ==> x <= y Run time: 0.0s Theorem REAL_LT_ADD1 autoloading from theory `REAL` ... REAL_LT_ADD1 = |- !x y. x <= y ==> x < (y + (& 1)) Run time: 0.0s Theorem LESS_THM autoloading from theory `prim_rec` ... LESS_THM = |- !m n. m num_lt (SUC n) = (m = n) \/ m num_lt n Run time: 0.0s Theorem REAL_LET_TOTAL autoloading from theory `REAL` ... REAL_LET_TOTAL = |- !x y. x <= y \/ y < x Run time: 0.0s Theorem NOT_LESS_0 autoloading from theory `prim_rec` ... NOT_LESS_0 = |- !n. ~n num_lt 0 Run time: 0.1s MAX_LEMMA = |- !s N. ?k. !n. n num_lt N ==> (abs(s n)) < k Run time: 0.0s Intermediate theorems generated: 241 Theorem REAL_LTE_TRANS autoloading from theory `REAL` ... REAL_LTE_TRANS = |- !x y z. x < y /\ y <= z ==> x < z Run time: 0.0s Theorem LESS_CASES autoloading from theory `arithmetic` ... LESS_CASES = |- !m n. m num_lt n \/ n num_le m Run time: 0.1s Theorem REAL_LE_TOTAL autoloading from theory `REAL` ... REAL_LE_TOTAL = |- !x y. x <= y \/ y <= x Run time: 0.0s Theorem LESS_EQ_REFL autoloading from theory `arithmetic` ... LESS_EQ_REFL = |- !m. m num_le m Run time: 0.0s Theorem GREATER_EQ autoloading from theory `arithmetic` ... GREATER_EQ = |- !n m. n num_ge m = m num_le n Run time: 0.0s Theorem MR1_BOUNDED autoloading from theory `NETS` ... MR1_BOUNDED = |- !g f. bounded(mr1,g)f = (?k N. g N N /\ (!n. g n N ==> (abs(f n)) < k)) Run time: 0.0s SEQ_BOUNDED = |- !s. bounded(mr1,$num_ge)s = (?k. !n. (abs(s n)) < k) Run time: 0.0s Intermediate theorems generated: 273 Theorem REAL_LE_NEG autoloading from theory `REAL` ... REAL_LE_NEG = |- !x y. (-- x) <= (-- y) = y <= x Run time: 0.1s Theorem REAL_LE_ADDR autoloading from theory `REAL` ... REAL_LE_ADDR = |- !x y. x <= (x + y) = (& 0) <= y Run time: 0.0s Theorem ABS_LE autoloading from theory `REAL` ... ABS_LE = |- !x. x <= (abs x) Run time: 0.0s Theorem ABS_POS autoloading from theory `REAL` ... ABS_POS = |- !x. (& 0) <= (abs x) Run time: 0.0s Theorem REAL_LE_ADDL autoloading from theory `REAL` ... REAL_LE_ADDL = |- !x y. y <= (x + y) = (& 0) <= x Run time: 0.0s Definition abs autoloading from theory `REAL` ... abs = |- !x. abs x = ((& 0) <= x => x | -- x) Run time: 0.0s Intermediate theorems generated: 1 Theorem REAL_LT_01 autoloading from theory `REAL` ... REAL_LT_01 = |- (& 0) < (& 1) Run time: 0.0s Theorem REAL_LT_ADDR autoloading from theory `REAL` ... REAL_LT_ADDR = |- !x y. x < (x + y) = (& 0) < y Run time: 0.0s Theorem REAL_LET_TRANS autoloading from theory `REAL` ... REAL_LET_TRANS = |- !x y z. x <= y /\ y < z ==> x < z Run time: 0.0s SEQ_BOUNDED_2 = |- !f k K. (!n. k <= (f n) /\ (f n) <= K) ==> bounded(mr1,$num_ge)f Run time: 0.1s Intermediate theorems generated: 334 Definition bounded autoloading from theory `NETS` ... bounded = |- !m g f. bounded(m,g)f = (?k x N. g N N /\ (!n. g n N ==> (dist m(f n,x)) < k)) Run time: 0.0s Intermediate theorems generated: 1 SEQ_CBOUNDED = |- !f. cauchy f ==> bounded(mr1,$num_ge)f Run time: 0.1s Intermediate theorems generated: 110 Theorem REAL_LE_RADD autoloading from theory `REAL` ... REAL_LE_RADD = |- !x y z. (x + z) <= (y + z) = x <= y Run time: 0.0s Theorem REAL_ADD_RINV autoloading from theory `REAL` ... REAL_ADD_RINV = |- !x. x + (-- x) = & 0 Run time: 0.0s Definition real_sub autoloading from theory `REAL` ... real_sub = |- !x y. x - y = x + (-- y) Run time: 0.0s Intermediate theorems generated: 1 Theorem REAL_NEG_SUB autoloading from theory `REAL` ... REAL_NEG_SUB = |- !x y. --(x - y) = y - x Run time: 0.0s Theorem REAL_NOT_LT autoloading from theory `REAL` ... REAL_NOT_LT = |- !x y. ~x < y = y <= x Run time: 0.0s Theorem REAL_LT_REFL autoloading from theory `REAL` ... REAL_LT_REFL = |- !x. ~x < x Run time: 0.0s Theorem REAL_ADD_SYM autoloading from theory `REAL` ... REAL_ADD_SYM = |- !x y. x + y = y + x Run time: 0.0s Theorem REAL_LT_SUB_RADD autoloading from theory `REAL` ... REAL_LT_SUB_RADD = |- !x y z. (x - y) < z = x < (z + y) Run time: 0.0s Theorem REAL_SUP autoloading from theory `REAL` ... REAL_SUP = |- !P. (?x. P x) /\ (?z. !x. P x ==> x < z) ==> (!y. (?x. P x /\ y < x) = y < (sup P)) Run time: 0.1s SEQ_ICONV = |- !f. bounded(mr1,$num_ge)f /\ (!m n. m num_ge n ==> (f m) >= (f n)) ==> convergent f Run time: 0.2s Intermediate theorems generated: 910 Theorem REAL_NEGNEG autoloading from theory `REAL` ... REAL_NEGNEG = |- !x. --(-- x) = x Run time: 0.0s SEQ_NEG_CONV = |- !f. convergent f = convergent(\n. --(f n)) Run time: 0.0s Intermediate theorems generated: 72 Theorem ABS_NEG autoloading from theory `REAL` ... ABS_NEG = |- !x. abs(-- x) = abs x Run time: 0.0s SEQ_NEG_BOUNDED = |- !f. bounded(mr1,$num_ge)(\n. --(f n)) = bounded(mr1,$num_ge)f Run time: 0.0s Intermediate theorems generated: 39 SEQ_BCONV = |- !f. bounded(mr1,$num_ge)f /\ mono f ==> convergent f Run time: 0.1s Intermediate theorems generated: 209 Theorem LESS_EQ_TRANS autoloading from theory `arithmetic` ... LESS_EQ_TRANS = |- !m n p. m num_le n /\ n num_le p ==> m num_le p Run time: 0.0s Definition LESS_OR_EQ autoloading from theory `arithmetic` ... LESS_OR_EQ = |- !m n. m num_le n = m num_lt n \/ (m = n) Run time: 0.0s Intermediate theorems generated: 1 Theorem LESS_EQ autoloading from theory `arithmetic` ... LESS_EQ = |- !m n. m num_lt n = (SUC m) num_le n Run time: 0.0s Theorem REAL_NOT_LE autoloading from theory `REAL` ... REAL_NOT_LE = |- !x y. ~x <= y = y < x Run time: 0.1s Theorem LESS_IMP_LESS_OR_EQ autoloading from theory `arithmetic` ... LESS_IMP_LESS_OR_EQ = |- !m n. m num_lt n ==> m num_le n Run time: 0.0s Theorem num_CASES autoloading from theory `arithmetic` ... num_CASES = |- !m. (m = 0) \/ (?n. m = SUC n) Run time: 0.0s Definition GREATER autoloading from theory `arithmetic` ... GREATER = |- !m n. m num_gt n = n num_lt m Run time: 0.0s Intermediate theorems generated: 1 Theorem num_Axiom autoloading from theory `prim_rec` ... num_Axiom = |- !e f. ?! fn. (fn 0 = e) /\ (!n. fn(SUC n) = f(fn n)n) Run time: 0.0s SEQ_MONOSUB = |- !s. ?f. subseq f /\ mono(\n. s(f n)) Run time: 0.2s Intermediate theorems generated: 1286 SEQ_SBOUNDED = |- !s f. bounded(mr1,$num_ge)s ==> bounded(mr1,$num_ge)(\n. s(f n)) Run time: 0.1s Intermediate theorems generated: 34 Theorem LESS_EQ_MONO autoloading from theory `arithmetic` ... LESS_EQ_MONO = |- !n m. (SUC n) num_le (SUC m) = n num_le m Run time: 0.0s Theorem NOT_LESS autoloading from theory `arithmetic` ... NOT_LESS = |- !m n. ~m num_lt n = n num_le m Run time: 0.0s SEQ_SUBLE = |- !f. subseq f ==> (!n. n num_le (f n)) Run time: 0.0s Intermediate theorems generated: 116 Theorem LESS_EQ_CASES autoloading from theory `arithmetic` ... LESS_EQ_CASES = |- !m n. m num_le n \/ n num_le m Run time: 0.0s SEQ_DIRECT = |- !f. subseq f ==> (!N1 N2. ?n. n num_ge N1 /\ (f n) num_ge N2) Run time: 0.0s Intermediate theorems generated: 118 Theorem REAL_LT_ADD2 autoloading from theory `REAL` ... REAL_LT_ADD2 = |- !w x y z. w < x /\ y < z ==> (w + y) < (x + z) Run time: 0.0s Theorem REAL_HALF_DOUBLE autoloading from theory `REAL` ... REAL_HALF_DOUBLE = |- !x. (x / (& 2)) + (x / (& 2)) = x Run time: 0.0s Theorem ABS_TRIANGLE autoloading from theory `REAL` ... ABS_TRIANGLE = |- !x y. (abs(x + y)) <= ((abs x) + (abs y)) Run time: 0.0s Theorem REAL_SUB_TRIANGLE autoloading from theory `REAL` ... REAL_SUB_TRIANGLE = |- !a b c. (a - b) + (b - c) = a - c Run time: 0.0s Theorem REAL_LT_HALF1 autoloading from theory `REAL` ... REAL_LT_HALF1 = |- !d. (& 0) < (d / (& 2)) = (& 0) < d Run time: 0.0s SEQ_CAUCHY = |- !f. cauchy f = convergent f Run time: 0.1s Intermediate theorems generated: 665 Theorem NET_LE autoloading from theory `NETS` ... NET_LE = |- !g. dorder g ==> (!x x0 y y0. (x tends x0)(mtop mr1,g) /\ (y tends y0)(mtop mr1,g) /\ (?N. g N N /\ (!n. g n N ==> (x n) <= (y n))) ==> x0 <= y0) Run time: 0.0s SEQ_LE = |- !f g l m. f --> l /\ g --> m /\ (?N. !n. n num_ge N ==> (f n) <= (g n)) ==> l <= m Run time: 0.1s Intermediate theorems generated: 80 Theorem LESS_0 autoloading from theory `prim_rec` ... LESS_0 = |- !n. 0 num_lt (SUC n) Run time: 0.0s SEQ_SUC = |- !f l. f --> l = (\n. f(SUC n)) --> l Run time: 0.1s Intermediate theorems generated: 236 Theorem ABS_ABS autoloading from theory `REAL` ... ABS_ABS = |- !x. abs(abs x) = abs x Run time: 0.0s Theorem REAL_SUB_RZERO autoloading from theory `REAL` ... REAL_SUB_RZERO = |- !x. x - (& 0) = x Run time: 0.0s SEQ_ABS = |- !f. (\n. abs(f n)) --> (& 0) = f --> (& 0) Run time: 0.0s Intermediate theorems generated: 70 Theorem NET_ABS autoloading from theory `NETS` ... NET_ABS = |- !x x0. (x tends x0)(mtop mr1,g) ==> ((\n. abs(x n)) tends (abs x0))(mtop mr1,g) Run time: 0.0s SEQ_ABS_IMP = |- !f l. f --> l ==> (\n. abs(f n)) --> (abs l) Run time: 0.0s Intermediate theorems generated: 20 Theorem REAL_LT_INV autoloading from theory `REAL` ... REAL_LT_INV = |- !x y. (& 0) < x /\ x < y ==> (inv y) < (inv x) Run time: 0.0s Theorem REAL_INVINV autoloading from theory `REAL` ... REAL_INVINV = |- !x. ~(x = & 0) ==> (inv(inv x) = x) Run time: 0.0s Theorem ABS_INV autoloading from theory `REAL` ... ABS_INV = |- !x. ~(x = & 0) ==> (abs(inv x) = inv(abs x)) Run time: 0.0s Theorem REAL_LT_IMP_NE autoloading from theory `REAL` ... REAL_LT_IMP_NE = |- !x y. x < y ==> ~(x = y) Run time: 0.0s Theorem REAL_LT_TRANS autoloading from theory `REAL` ... REAL_LT_TRANS = |- !x y z. x < y /\ y < z ==> x < z Run time: 0.0s Theorem REAL_INV_POS autoloading from theory `REAL` ... REAL_INV_POS = |- !x. (& 0) < x ==> (& 0) < (inv x) Run time: 0.0s Definition real_gt autoloading from theory `REAL` ... real_gt = |- !x y. x > y = y < x Run time: 0.0s Intermediate theorems generated: 1 SEQ_INV0 = |- !f. (!y. ?N. !n. n num_ge N ==> (f n) > y) ==> (\n. inv(f n)) --> (& 0) Run time: 0.2s Intermediate theorems generated: 423 Theorem POW_0 autoloading from theory `REAL` ... POW_0 = |- !n. (& 0) pow (SUC n) = & 0 Run time: 0.0s Theorem REAL_SUB_ADD autoloading from theory `REAL` ... REAL_SUB_ADD = |- !x y. (x - y) + y = x Run time: 0.0s Theorem POW_PLUS1 autoloading from theory `REAL` ... POW_PLUS1 = |- !e. (& 0) < e ==> (!n. ((& 1) + ((& n) * e)) <= (((& 1) + e) pow n)) Run time: 0.0s Theorem REAL_LT_ADDL autoloading from theory `REAL` ... REAL_LT_ADDL = |- !x y. y < (x + y) = (& 0) < x Run time: 0.0s Theorem REAL_LE autoloading from theory `REAL` ... REAL_LE = |- !m n. (& m) <= (& n) = m num_le n Run time: 0.0s Theorem REAL_LE_RMUL autoloading from theory `REAL` ... REAL_LE_RMUL = |- !x y z. (& 0) < z ==> ((x * z) <= (y * z) = x <= y) Run time: 0.1s Theorem REAL_ARCH autoloading from theory `REAL` ... REAL_ARCH = |- !x. (& 0) < x ==> (!y. ?n. y < ((& n) * x)) Run time: 0.0s Theorem REAL_INV1 autoloading from theory `REAL` ... REAL_INV1 = |- inv(& 1) = & 1 Run time: 0.0s Theorem REAL_ADD_LID autoloading from theory `REAL` ... REAL_ADD_LID = |- !x. (& 0) + x = x Run time: 0.0s Theorem REAL_LT_SUB_LADD autoloading from theory `REAL` ... REAL_LT_SUB_LADD = |- !x y z. x < (y - z) = (x + z) < y Run time: 0.0s Theorem POW_INV autoloading from theory `REAL` ... POW_INV = |- !c. ~(c = & 0) ==> (!n. inv(c pow n) = (inv c) pow n) Run time: 0.0s Theorem ABS_NZ autoloading from theory `REAL` ... ABS_NZ = |- !x. ~(x = & 0) = (& 0) < (abs x) Run time: 0.0s Theorem POW_NZ autoloading from theory `REAL` ... POW_NZ = |- !c n. ~(c = & 0) ==> ~(c pow n = & 0) Run time: 0.0s Theorem REAL_LE_LT autoloading from theory `REAL` ... REAL_LE_LT = |- !x y. x <= y = x < y \/ (x = y) Run time: 0.0s SEQ_POWER_ABS = |- !c. (abs c) < (& 1) ==> (\n. (abs c) pow n) --> (& 0) Run time: 0.2s Intermediate theorems generated: 573 Theorem POW_ABS autoloading from theory `REAL` ... POW_ABS = |- !c n. (abs c) pow n = abs(c pow n) Run time: 0.0s SEQ_POWER = |- !c. (abs c) < (& 1) ==> (\n. c pow n) --> (& 0) Run time: 0.0s Intermediate theorems generated: 49 Theorem REAL_LE_LADD autoloading from theory `REAL` ... REAL_LE_LADD = |- !x y z. (x + y) <= (x + z) = y <= z Run time: 0.0s Theorem REAL_SUB_LE autoloading from theory `REAL` ... REAL_SUB_LE = |- !x y. (& 0) <= (x - y) = y <= x Run time: 0.0s Theorem LESS_EQ_ADD autoloading from theory `arithmetic` ... LESS_EQ_ADD = |- !m n. m num_le (m num_add n) Run time: 0.0s Theorem REAL_SUB_LT autoloading from theory `REAL` ... REAL_SUB_LT = |- !x y. (& 0) < (x - y) = y < x Run time: 0.0s NEST_LEMMA = |- !f g. (!n. (f(SUC n)) >= (f n)) /\ (!n. (g(SUC n)) <= (g n)) /\ (!n. (f n) <= (g n)) ==> (?l m. l <= m /\ ((!n. (f n) <= l) /\ f --> l) /\ (!n. m <= (g n)) /\ g --> m) Run time: 0.4s Intermediate theorems generated: 2190 Theorem REAL_SUB_0 autoloading from theory `REAL` ... REAL_SUB_0 = |- !x y. (x - y = & 0) = (x = y) Run time: 0.0s NEST_LEMMA_UNIQ = |- !f g. (!n. (f(SUC n)) >= (f n)) /\ (!n. (g(SUC n)) <= (g n)) /\ (!n. (f n) <= (g n)) /\ (\n. (f n) - (g n)) --> (& 0) ==> (?l. ((!n. (f n) <= l) /\ f --> l) /\ (!n. l <= (g n)) /\ g --> l) Run time: 0.1s Intermediate theorems generated: 295 Theorem ADD_SYM autoloading from theory `arithmetic` ... ADD_SYM = |- !m n. m num_add n = n num_add m Run time: 0.0s Theorem REAL_MUL_LINV autoloading from theory `REAL` ... REAL_MUL_LINV = |- !x. ~(x = & 0) ==> ((inv x) * x = & 1) Run time: 0.0s Theorem REAL_LT autoloading from theory `REAL` ... REAL_LT = |- !m n. (& m) < (& n) = m num_lt n Run time: 0.0s Theorem REAL_LT_RMUL autoloading from theory `REAL` ... REAL_LT_RMUL = |- !x y z. (& 0) < z ==> ((x * z) < (y * z) = x < y) Run time: 0.0s Theorem ABS_N autoloading from theory `REAL` ... ABS_N = |- !n. abs(& n) = & n Run time: 0.0s Theorem REAL_MUL_RZERO autoloading from theory `REAL` ... REAL_MUL_RZERO = |- !x. x * (& 0) = & 0 Run time: 0.0s Theorem REAL_NEG_0 autoloading from theory `REAL` ... REAL_NEG_0 = |- --(& 0) = & 0 Run time: 0.0s Theorem REAL_MUL_RINV autoloading from theory `REAL` ... REAL_MUL_RINV = |- !x. ~(x = & 0) ==> (x * (inv x) = & 1) Run time: 0.0s Theorem REAL_MUL_LID autoloading from theory `REAL` ... REAL_MUL_LID = |- !x. (& 1) * x = x Run time: 0.0s Theorem REAL_INV_MUL autoloading from theory `REAL` ... REAL_INV_MUL = |- !x y. ~(x = & 0) /\ ~(y = & 0) ==> (inv(x * y) = (inv x) * (inv y)) Run time: 0.0s Theorem REAL_MUL_ASSOC autoloading from theory `REAL` ... REAL_MUL_ASSOC = |- !x y z. x * (y * z) = (x * y) * z Run time: 0.0s Theorem REAL_MUL_SYM autoloading from theory `REAL` ... REAL_MUL_SYM = |- !x y. x * y = y * x Run time: 0.0s Theorem REAL_ADD_ASSOC autoloading from theory `REAL` ... REAL_ADD_ASSOC = |- !x y z. x + (y + z) = (x + y) + z Run time: 0.0s Theorem REAL_ADD_LINV autoloading from theory `REAL` ... REAL_ADD_LINV = |- !x. (-- x) + x = & 0 Run time: 0.0s Theorem REAL_ADD_RID autoloading from theory `REAL` ... REAL_ADD_RID = |- !x. x + (& 0) = x Run time: 0.0s Theorem REAL_NEG_ADD autoloading from theory `REAL` ... REAL_NEG_ADD = |- !x y. --(x + y) = (-- x) + (-- y) Run time: 0.0s Theorem REAL_DOUBLE autoloading from theory `REAL` ... REAL_DOUBLE = |- !x. x + x = (& 2) * x Run time: 0.0s Theorem REAL_INJ autoloading from theory `REAL` ... REAL_INJ = |- !m n. (& m = & n) = (m = n) Run time: 0.0s Theorem REAL_DIV_LMUL autoloading from theory `REAL` ... REAL_DIV_LMUL = |- !x y. ~(y = & 0) ==> (y * (x / y) = x) Run time: 0.0s Theorem REAL_SUB_LDISTRIB autoloading from theory `REAL` ... REAL_SUB_LDISTRIB = |- !x y z. x * (y - z) = (x * y) - (x * z) Run time: 0.0s Theorem REAL_EQ_LMUL_IMP autoloading from theory `REAL` ... REAL_EQ_LMUL_IMP = |- !x y z. ~(x = & 0) /\ (x * y = x * z) ==> (y = z) Run time: 0.0s Theorem REAL_MUL_RID autoloading from theory `REAL` ... REAL_MUL_RID = |- !x. x * (& 1) = x Run time: 0.0s Definition real_div autoloading from theory `REAL` ... real_div = |- !x y. x / y = x * (inv y) Run time: 0.0s Intermediate theorems generated: 1 Definition pow autoloading from theory `REAL` ... pow = |- (!x. x pow 0 = & 1) /\ (!x n. x pow (SUC n) = x * (x pow n)) Run time: 0.0s Intermediate theorems generated: 1 Theorem REAL_MIDDLE1 autoloading from theory `REAL` ... REAL_MIDDLE1 = |- !a b. a <= b ==> a <= ((a + b) / (& 2)) Run time: 0.0s Theorem REAL_MIDDLE2 autoloading from theory `REAL` ... REAL_MIDDLE2 = |- !a b. a <= b ==> ((a + b) / (& 2)) <= b Run time: 0.0s BOLZANO_LEMMA = |- !P. (!a b c. a <= b /\ b <= c /\ P(a,b) /\ P(b,c) ==> P(a,c)) /\ (!x. ?d. (& 0) < d /\ (!a b. a <= x /\ x <= b /\ (b - a) < d ==> P(a,b))) ==> (!a b. a <= b ==> P(a,b)) Run time: 0.7s Intermediate theorems generated: 3396 sums = |- !f s. f sums s = (\n. Sum(0,n)f) --> s Run time: 0.0s Intermediate theorems generated: 2 summable = |- !f. summable f = (?s. f sums s) Run time: 0.1s Intermediate theorems generated: 2 suminf = |- !f. suminf f = (@s. f sums s) Run time: 0.0s Intermediate theorems generated: 2 SUM_SUMMABLE = |- !f l. f sums l ==> summable f Run time: 0.0s Intermediate theorems generated: 16 SUMMABLE_SUM = |- !f. summable f ==> f sums (suminf f) Run time: 0.0s Intermediate theorems generated: 30 SUM_UNIQ = |- !f x. f sums x ==> (x = suminf f) Run time: 0.1s Intermediate theorems generated: 69 Theorem SUM_ZERO autoloading from theory `REAL` ... SUM_ZERO = |- !f N. (!n. n num_ge N ==> (f n = & 0)) ==> (!m n. m num_ge N ==> (Sum(m,n)f = & 0)) Run time: 0.0s Theorem REAL_ADD_RID_UNIQ autoloading from theory `REAL` ... REAL_ADD_RID_UNIQ = |- !x y. (x + y = x) = (y = & 0) Run time: 0.0s Theorem SUM_TWO autoloading from theory `REAL` ... SUM_TWO = |- !f n p. (Sum(0,n)f) + (Sum(n,p)f) = Sum(0,n num_add p)f Run time: 0.0s Theorem ABS_ZERO autoloading from theory `REAL` ... ABS_ZERO = |- !x. (abs x = & 0) = (x = & 0) Run time: 0.0s SER_0 = |- !f n. (!m. n num_le m ==> (f m = & 0)) ==> f sums (Sum(0,n)f) Run time: 0.0s Intermediate theorems generated: 175 Theorem SUM_POS_GEN autoloading from theory `REAL` ... SUM_POS_GEN = |- !f m. (!n. m num_le n ==> (& 0) <= (f n)) ==> (!n. (& 0) <= (Sum(m,n)f)) Run time: 0.0s SER_POS_LE = |- !f n. summable f /\ (!m. n num_le m ==> (& 0) <= (f m)) ==> (Sum(0,n)f) <= (suminf f) Run time: 0.0s Intermediate theorems generated: 220 Theorem Sum autoloading from theory `REAL` ... Sum = |- (Sum(n,0)f = & 0) /\ (Sum(n,SUC m)f = (Sum(n,m)f) + (f(n num_add m))) Run time: 0.0s SER_POS_LT = |- !f n. summable f /\ (!m. n num_le m ==> (& 0) < (f m)) ==> (Sum(0,n)f) < (suminf f) Run time: 0.1s Intermediate theorems generated: 209 Theorem LESS_REFL autoloading from theory `prim_rec` ... LESS_REFL = |- !n. ~n num_lt n Run time: 0.0s Theorem LESS_EQ_0 autoloading from theory `arithmetic` ... LESS_EQ_0 = |- !n. n num_le 0 = (n = 0) Run time: 0.0s Theorem MULT_CLAUSES autoloading from theory `arithmetic` ... MULT_CLAUSES = |- !m n. (0 num_mul m = 0) /\ (m num_mul 0 = 0) /\ (1 num_mul m = m) /\ (m num_mul 1 = m) /\ ((SUC m) num_mul n = (m num_mul n) num_add n) /\ (m num_mul (SUC n) = m num_add (m num_mul n)) Run time: 0.0s Theorem SUM_GROUP autoloading from theory `REAL` ... SUM_GROUP = |- !n k f. Sum(0,n)(\m. Sum(m num_mul k,k)f) = Sum(0,n num_mul k)f Run time: 0.0s SER_GROUP = |- !f k. summable f /\ 0 num_lt k ==> (\n. Sum(n num_mul k,k)f) sums (suminf f) Run time: 0.1s Intermediate theorems generated: 258 Theorem MULT_SYM autoloading from theory `arithmetic` ... MULT_SYM = |- !m n. m num_mul n = n num_mul m Run time: 0.0s SER_PAIR = |- !f. summable f ==> (\n. Sum(2 num_mul n,2)f) sums (suminf f) Run time: 0.0s Intermediate theorems generated: 34 Theorem SUM_OFFSET autoloading from theory `REAL` ... SUM_OFFSET = |- !f n k. Sum(0,n)(\m. f(m num_add k)) = (Sum(0,n num_add k)f) - (Sum(0,k)f) Run time: 0.1s SER_OFFSET = |- !f. summable f ==> (!k. (\n. f(n num_add k)) sums ((suminf f) - (Sum(0,k)f))) Run time: 0.0s Intermediate theorems generated: 299 Theorem REAL_EQ_IMP_LE autoloading from theory `REAL` ... REAL_EQ_IMP_LE = |- !x y. (x = y) ==> x <= y Run time: 0.0s Theorem ADD_ASSOC autoloading from theory `arithmetic` ... ADD_ASSOC = |- !m n p. m num_add (n num_add p) = (m num_add n) num_add p Run time: 0.0s SER_POS_LT_PAIR = |- !f n. summable f /\ (!d. (& 0) < ((f(n num_add (2 num_mul d))) + (f(n num_add ((2 num_mul d) num_add 1))))) ==> (Sum(0,n)f) < (suminf f) Run time: 0.3s Intermediate theorems generated: 1204 Theorem SUM_ADD autoloading from theory `REAL` ... SUM_ADD = |- !f g m n. Sum(m,n)(\n'. (f n') + (g n')) = (Sum(m,n)f) + (Sum(m,n)g) Run time: 0.0s SER_ADD = |- !x x0 y y0. x sums x0 /\ y sums y0 ==> (\n. (x n) + (y n)) sums (x0 + y0) Run time: 0.1s Intermediate theorems generated: 62 Theorem SUM_CMUL autoloading from theory `REAL` ... SUM_CMUL = |- !f c m n. Sum(m,n)(\n'. c * (f n')) = c * (Sum(m,n)f) Run time: 0.0s SER_CMUL = |- !x x0 c. x sums x0 ==> (\n. c * (x n)) sums (c * x0) Run time: 0.0s Intermediate theorems generated: 82 Theorem REAL_NEG_MINUS1 autoloading from theory `REAL` ... REAL_NEG_MINUS1 = |- !x. -- x = (--(& 1)) * x Run time: 0.0s SER_NEG = |- !x x0. x sums x0 ==> (\n. --(x n)) sums (-- x0) Run time: 0.0s Intermediate theorems generated: 17 SER_SUB = |- !x x0 y y0. x sums x0 /\ y sums y0 ==> (\n. (x n) - (y n)) sums (x0 - y0) Run time: 0.1s Intermediate theorems generated: 43 SER_CDIV = |- !x x0 c. x sums x0 ==> (\n. (x n) / c) sums (x0 / c) Run time: 0.0s Intermediate theorems generated: 35 Theorem SUM_DIFF autoloading from theory `REAL` ... SUM_DIFF = |- !f m n. Sum(m,n)f = (Sum(0,m num_add n)f) - (Sum(0,m)f) Run time: 0.0s SER_CAUCHY = |- !f. summable f = (!e. (& 0) < e ==> (?N. !m n. m num_ge N ==> (abs(Sum(m,n)f)) < e)) Run time: 0.1s Intermediate theorems generated: 412 SER_ZERO = |- !f. summable f ==> f --> (& 0) Run time: 0.0s Intermediate theorems generated: 121 Theorem SUM_LE autoloading from theory `REAL` ... SUM_LE = |- !f g m n. (!r. m num_le r /\ r num_lt (n num_add m) ==> (f r) <= (g r)) ==> (Sum(m,n)f) <= (Sum(m,n)g) Run time: 0.1s Theorem ABS_SUM autoloading from theory `REAL` ... ABS_SUM = |- !f m n. (abs(Sum(m,n)f)) <= (Sum(m,n)(\n'. abs(f n'))) Run time: 0.0s SER_COMPAR = |- !f g. (?N. !n. n num_ge N ==> (abs(f n)) <= (g n)) /\ summable g ==> summable f Run time: 0.0s Intermediate theorems generated: 395 SER_COMPARA = |- !f g. (?N. !n. n num_ge N ==> (abs(f n)) <= (g n)) /\ summable g ==> summable(\k. abs(f k)) Run time: 0.0s Intermediate theorems generated: 41 Theorem ZERO_LESS_EQ autoloading from theory `arithmetic` ... ZERO_LESS_EQ = |- !n. 0 num_le n Run time: 0.0s SER_LE = |- !f g. (!n. (f n) <= (g n)) /\ summable f /\ summable g ==> (suminf f) <= (suminf g) Run time: 0.0s Intermediate theorems generated: 191 SER_LE2 = |- !f g. (!n. (abs(f n)) <= (g n)) /\ summable g ==> summable f /\ (suminf f) <= (suminf g) Run time: 0.0s Intermediate theorems generated: 136 Theorem SUM_ABS autoloading from theory `REAL` ... SUM_ABS = |- !f m n. abs(Sum(m,n)(\m. abs(f m))) = Sum(m,n)(\m. abs(f m)) Run time: 0.0s SER_ACONV = |- !f. summable(\n. abs(f n)) ==> summable f Run time: 0.0s Intermediate theorems generated: 126 Theorem SUM_ABS_LE autoloading from theory `REAL` ... SUM_ABS_LE = |- !f m n. (abs(Sum(m,n)f)) <= (Sum(m,n)(\n'. abs(f n'))) Run time: 0.0s SER_ABS = |- !f. summable(\n. abs(f n)) ==> (abs(suminf f)) <= (suminf(\n. abs(f n))) Run time: 0.0s Intermediate theorems generated: 92 Theorem REAL_DIV_RMUL autoloading from theory `REAL` ... REAL_DIV_RMUL = |- !x y. ~(y = & 0) ==> ((x / y) * y = x) Run time: 0.0s Theorem REAL_RDISTRIB autoloading from theory `REAL` ... REAL_RDISTRIB = |- !x y z. (x + y) * z = (x * z) + (y * z) Run time: 0.0s Theorem REAL_EQ_RMUL autoloading from theory `REAL` ... REAL_EQ_RMUL = |- !x y z. (x * z = y * z) = (z = & 0) \/ (x = y) Run time: 0.0s Theorem REAL_DIV_LZERO autoloading from theory `REAL` ... REAL_DIV_LZERO = |- !x. (& 0) / x = & 0 Run time: 0.0s GP_FINITE = |- !x. ~(x = & 1) ==> (!n. Sum(0,n)(\n'. x pow n') = ((x pow n) - (& 1)) / (x - (& 1))) Run time: 0.0s Intermediate theorems generated: 411 Theorem REAL_NEG_INV autoloading from theory `REAL` ... REAL_NEG_INV = |- !x. ~(x = & 0) ==> (--(inv x) = inv(-- x)) Run time: 0.0s Theorem REAL_NEG_MUL2 autoloading from theory `REAL` ... REAL_NEG_MUL2 = |- !x y. (-- x) * (-- y) = x * y Run time: 0.1s Theorem REAL_INV_1OVER autoloading from theory `REAL` ... REAL_INV_1OVER = |- !x. inv x = (& 1) / x Run time: 0.0s Theorem ABS_1 autoloading from theory `REAL` ... ABS_1 = |- abs(& 1) = & 1 Run time: 0.0s GP = |- !x. (abs x) < (& 1) ==> (\n. x pow n) sums (inv((& 1) - x)) Run time: 0.1s Intermediate theorems generated: 343 Theorem REAL_NEG_LMUL autoloading from theory `REAL` ... REAL_NEG_LMUL = |- !x y. --(x * y) = (-- x) * y Run time: 0.0s Theorem REAL_LE_MUL autoloading from theory `REAL` ... REAL_LE_MUL = |- !x y. (& 0) <= x /\ (& 0) <= y ==> (& 0) <= (x * y) Run time: 0.0s Theorem REAL_NEG_GE0 autoloading from theory `REAL` ... REAL_NEG_GE0 = |- !x. (& 0) <= (-- x) = x <= (& 0) Run time: 0.0s ABS_NEG_LEMMA = |- !c. c <= (& 0) ==> (!x y. (abs x) <= (c * (abs y)) ==> (x = & 0)) Run time: 0.0s Intermediate theorems generated: 114 Theorem REAL_LE_LMUL autoloading from theory `REAL` ... REAL_LE_LMUL = |- !x y z. (& 0) < x ==> ((x * y) <= (x * z) = y <= z) Run time: 0.0s Theorem POW_ADD autoloading from theory `REAL` ... POW_ADD = |- !c m n. c pow (m num_add n) = (c pow m) * (c pow n) Run time: 0.0s Theorem OR_LESS autoloading from theory `arithmetic` ... OR_LESS = |- !m n. (SUC m) num_le n ==> m num_lt n Run time: 0.0s SER_RATIO = |- !f c N. c < (& 1) /\ (!n. n num_ge N ==> (abs(f(SUC n))) <= (c * (abs(f n)))) ==> summable f Run time: 0.1s Intermediate theorems generated: 683 () : void Run time: 0.1s Intermediate theorems generated: 1 File seq.ml loaded () : void Run time: 7.9s Intermediate theorems generated: 18704 #\ echo 'set_flag(`abort_when_fail`,true);;'\ 'loadt `lim.ml`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool false : bool () : void Theory SEQ loaded () : void false : bool Run time: 0.0s LAND_CONV = - : (conv -> conv) Run time: 0.0s TAUT_CONV = - : conv Run time: 0.0s AC = - : ((thm # thm) -> conv) Run time: 0.0s GEN_PAIR_TAC = - : tactic Run time: 0.0s MK_COMB_TAC = - : tactic Run time: 0.0s BINOP_TAC = - : tactic Run time: 0.0s SYM_CANON_CONV = - : (thm -> ((term # term) -> bool) -> conv) Run time: 0.0s IMP_SUBST_TAC = - : thm_tactic Run time: 0.0s ABBREV_TAC = - : (term -> tactic) Run time: 0.0s EXT_CONV = - : conv Run time: 0.0s ABS_TAC = - : tactic Run time: 0.0s EQUAL_TAC = - : tactic Run time: 0.0s X_BETA_CONV = - : (term -> conv) Run time: 0.0s EXACT_CONV = - : (thm list -> conv) Run time: 0.0s HABS_CONV = - : conv Run time: 0.0s autoload_definitions = - : (string -> void) Run time: 0.0s autoload_theorems = - : (string -> void) Run time: 0.0s EXPAND_TAC = - : (string -> tactic) Run time: 0.0s File useful loaded () : void Run time: 0.1s real_interface_map = [(`--`, `real_neg`); (`num_add`, `+`); (`+`, `real_add`); (`num_mul`, `*`); (`*`, `real_mul`); (`num_sub`, `-`); (`-`, `real_sub`); (`num_lt`, `<`); (`<`, `real_lt`); (`num_le`, `<=`); (`<=`, `real_le`); (`num_gt`, `>`); (`>`, `real_gt`); (`num_ge`, `>=`); (`>=`, `real_ge`); (`inv`, `real_inv`); (`&`, `real_of_num`)] : (string # string) list Run time: 0.0s () : void Run time: 0.0s Intermediate theorems generated: 43 () : void Run time: 0.1s () : void Run time: 0.0s tends_real_real = |- !f l x0. (f tends_real_real l)x0 = (f tends l)(mtop mr1,tendsto(mr1,x0)) Run time: 0.1s Intermediate theorems generated: 2 [] : (string # string) list Run time: 0.0s Theorem ABS_SUB autoloading from theory `REAL` ... ABS_SUB = |- !x y. abs(x - y) = abs(y - x) Run time: 0.0s Theorem MR1_DEF autoloading from theory `TOPOLOGY` ... MR1_DEF = |- !x y. dist mr1(x,y) = abs(y - x) Run time: 0.0s Theorem MR1_LIMPT autoloading from theory `TOPOLOGY` ... MR1_LIMPT = |- !x. limpt(mtop mr1)x re_universe Run time: 0.0s Theorem LIM_TENDS2 autoloading from theory `NETS` ... LIM_TENDS2 = |- !m1 m2 f x0 y0. limpt(mtop m1)x0 re_universe ==> ((f tends y0)(mtop m2,tendsto(m1,x0)) = (!e. (& 0) < e ==> (?d. (& 0) < d /\ (!x. (& 0) < (dist m1(x,x0)) /\ (dist m1(x,x0)) < d ==> (dist m2(f x,y0)) < e)))) Run time: 0.0s LIM = |- !f y0 x0. (f --> y0)x0 = (!e. (& 0) < e ==> (?d. (& 0) < d /\ (!x. (& 0) < (abs(x - x0)) /\ (abs(x - x0)) < d ==> (abs((f x) - y0)) < e))) Run time: 0.0s Intermediate theorems generated: 102 Theorem REAL_SUB_0 autoloading from theory `REAL` ... REAL_SUB_0 = |- !x y. (x - y = & 0) = (x = y) Run time: 0.0s Theorem ABS_NZ autoloading from theory `REAL` ... ABS_NZ = |- !x. ~(x = & 0) = (& 0) < (abs x) Run time: 0.0s Theorem MTOP_LIMPT autoloading from theory `TOPOLOGY` ... MTOP_LIMPT = |- !m x S. limpt(mtop m)x S = (!e. (& 0) < e ==> (?y. ~(x = y) /\ S y /\ (dist m(x,y)) < e)) Run time: 0.0s Theorem REAL_LE_REFL autoloading from theory `REAL` ... REAL_LE_REFL = |- !x. x <= x Run time: 0.0s Definition tendsto autoloading from theory `NETS` ... tendsto = |- !m x y z. tendsto(m,x)y z = (& 0) < (dist m(x,y)) /\ (dist m(x,y)) <= (dist m(x,z)) Run time: 0.0s Intermediate theorems generated: 1 Theorem METRIC_SAME autoloading from theory `TOPOLOGY` ... METRIC_SAME = |- !m x. dist m(x,x) = & 0 Run time: 0.0s Theorem MTOP_TENDS autoloading from theory `NETS` ... MTOP_TENDS = |- !d g x x0. (x tends x0)(mtop d,g) = (!e. (& 0) < e ==> (?n. g n n /\ (!m. g m n ==> (dist d(x m,x0)) < e))) Run time: 0.0s LIM_CONST = |- !k x. ((\x. k) --> k)x Run time: 0.0s Intermediate theorems generated: 193 Theorem DORDER_TENDSTO autoloading from theory `NETS` ... DORDER_TENDSTO = |- !m x. dorder(tendsto(m,x)) Run time: 0.0s Theorem NET_ADD autoloading from theory `NETS` ... NET_ADD = |- !g. dorder g ==> (!x x0 y y0. (x tends x0)(mtop mr1,g) /\ (y tends y0)(mtop mr1,g) ==> ((\n. (x n) + (y n)) tends (x0 + y0))(mtop mr1,g)) Run time: 0.0s LIM_ADD = |- !f g l m. (f --> l)x /\ (g --> m)x ==> ((\x. (f x) + (g x)) --> (l + m))x Run time: 0.0s Intermediate theorems generated: 40 Theorem NET_MUL autoloading from theory `NETS` ... NET_MUL = |- !g. dorder g ==> (!x y x0 y0. (x tends x0)(mtop mr1,g) /\ (y tends y0)(mtop mr1,g) ==> ((\n. (x n) * (y n)) tends (x0 * y0))(mtop mr1,g)) Run time: 0.0s LIM_MUL = |- !f g l m. (f --> l)x /\ (g --> m)x ==> ((\x. (f x) * (g x)) --> (l * m))x Run time: 0.1s Intermediate theorems generated: 40 Theorem NET_NEG autoloading from theory `NETS` ... NET_NEG = |- !g. dorder g ==> (!x x0. (x tends x0)(mtop mr1,g) = ((\n. --(x n)) tends (-- x0))(mtop mr1,g)) Run time: 0.0s LIM_NEG = |- !f l. (f --> l)x = ((\x. --(f x)) --> (-- l))x Run time: 0.0s Intermediate theorems generated: 33 Theorem NET_INV autoloading from theory `NETS` ... NET_INV = |- !g. dorder g ==> (!x x0. (x tends x0)(mtop mr1,g) /\ ~(x0 = & 0) ==> ((\n. inv(x n)) tends (inv x0))(mtop mr1,g)) Run time: 0.0s LIM_INV = |- !f l. (f --> l)x /\ ~(l = & 0) ==> ((\x. inv(f x)) --> (inv l))x Run time: 0.0s Intermediate theorems generated: 35 Theorem NET_SUB autoloading from theory `NETS` ... NET_SUB = |- !g. dorder g ==> (!x x0 y y0. (x tends x0)(mtop mr1,g) /\ (y tends y0)(mtop mr1,g) ==> ((\n. (x n) - (y n)) tends (x0 - y0))(mtop mr1,g)) Run time: 0.0s LIM_SUB = |- !f g l m. (f --> l)x /\ (g --> m)x ==> ((\x. (f x) - (g x)) --> (l - m))x Run time: 0.0s Intermediate theorems generated: 40 Theorem NET_DIV autoloading from theory `NETS` ... NET_DIV = |- !g. dorder g ==> (!x x0 y y0. (x tends x0)(mtop mr1,g) /\ (y tends y0)(mtop mr1,g) /\ ~(y0 = & 0) ==> ((\n. (x n) / (y n)) tends (x0 / y0))(mtop mr1,g)) Run time: 0.0s LIM_DIV = |- !f g l m. (f --> l)x /\ (g --> m)x /\ ~(m = & 0) ==> ((\x. (f x) / (g x)) --> (l / m))x Run time: 0.0s Intermediate theorems generated: 42 Theorem NET_NULL autoloading from theory `NETS` ... NET_NULL = |- !g x x0. (x tends x0)(mtop mr1,g) = ((\n. (x n) - x0) tends (& 0))(mtop mr1,g) Run time: 0.0s LIM_NULL = |- !f l x. (f --> l)x = ((\x. (f x) - l) --> (& 0))x Run time: 0.0s Intermediate theorems generated: 23 LIM_X = |- !x0. ((\x. x) --> x0)x0 Run time: 0.0s Intermediate theorems generated: 52 Theorem MTOP_TENDS_UNIQ autoloading from theory `NETS` ... MTOP_TENDS_UNIQ = |- !g d. dorder g ==> (x tends x0)(mtop d,g) /\ (x tends x1)(mtop d,g) ==> (x0 = x1) Run time: 0.0s LIM_UNIQ = |- !f l m x. (f --> l)x /\ (f --> m)x ==> (l = m) Run time: 0.0s Intermediate theorems generated: 36 LIM_EQUAL = |- !f g l x0. (!x. ~(x = x0) ==> (f x = g x)) ==> ((f --> l)x0 = (g --> l)x0) Run time: 0.0s Intermediate theorems generated: 171 Theorem REAL_LT_TRANS autoloading from theory `REAL` ... REAL_LT_TRANS = |- !x y z. x < y /\ y < z ==> x < z Run time: 0.0s Theorem REAL_LT_ADD2 autoloading from theory `REAL` ... REAL_LT_ADD2 = |- !w x y z. w < x /\ y < z ==> (w + y) < (x + z) Run time: 0.0s Theorem ABS_TRIANGLE autoloading from theory `REAL` ... ABS_TRIANGLE = |- !x y. (abs(x + y)) <= ((abs x) + (abs y)) Run time: 0.0s Theorem REAL_SUB_TRIANGLE autoloading from theory `REAL` ... REAL_SUB_TRIANGLE = |- !a b c. (a - b) + (b - c) = a - c Run time: 0.0s Theorem REAL_LET_TRANS autoloading from theory `REAL` ... REAL_LET_TRANS = |- !x y z. x <= y /\ y < z ==> x < z Run time: 0.0s Theorem REAL_HALF_DOUBLE autoloading from theory `REAL` ... REAL_HALF_DOUBLE = |- !x. (x / (& 2)) + (x / (& 2)) = x Run time: 0.0s Theorem REAL_LTE_TRANS autoloading from theory `REAL` ... REAL_LTE_TRANS = |- !x y z. x < y /\ y <= z ==> x < z Run time: 0.0s Theorem REAL_DOWN2 autoloading from theory `REAL` ... REAL_DOWN2 = |- !x y. (& 0) < x /\ (& 0) < y ==> (?z. (& 0) < z /\ z < x /\ z < y) Run time: 0.0s Theorem REAL_SUB_RZERO autoloading from theory `REAL` ... REAL_SUB_RZERO = |- !x. x - (& 0) = x Run time: 0.0s Theorem REAL_LT_HALF1 autoloading from theory `REAL` ... REAL_LT_HALF1 = |- !d. (& 0) < (d / (& 2)) = (& 0) < d Run time: 0.0s LIM_TRANSFORM = |- !f g x0 l. ((\x. (f x) - (g x)) --> (& 0))x0 /\ (g --> l)x0 ==> (f --> l)x0 Run time: 0.1s Intermediate theorems generated: 473 diffl = |- !f l x. (f diffl l)x = ((\h. ((f(x + h)) - (f x)) / h) --> l)(& 0) Run time: 0.0s Intermediate theorems generated: 2 contl = |- !f x. f contl x = ((\h. f(x + h)) --> (f x))(& 0) Run time: 0.0s Intermediate theorems generated: 2 differentiable = |- !f x. f differentiable x = (?l. (f diffl l)x) Run time: 0.0s Intermediate theorems generated: 2 DIFF_UNIQ = |- !f l m x. (f diffl l)x /\ (f diffl m)x ==> (l = m) Run time: 0.0s Intermediate theorems generated: 26 Theorem REAL_MUL_RZERO autoloading from theory `REAL` ... REAL_MUL_RZERO = |- !x. x * (& 0) = & 0 Run time: 0.0s Theorem REAL_DIV_RMUL autoloading from theory `REAL` ... REAL_DIV_RMUL = |- !x y. ~(y = & 0) ==> ((x / y) * y = x) Run time: 0.0s DIFF_CONT = |- !f l x. (f diffl l)x ==> f contl x Run time: 0.0s Intermediate theorems generated: 290 Theorem REAL_ADD_SUB autoloading from theory `REAL` ... REAL_ADD_SUB = |- !x y. (x + y) - x = y Run time: 0.0s Theorem REAL_SUB_ADD2 autoloading from theory `REAL` ... REAL_SUB_ADD2 = |- !x y. y + (x - y) = x Run time: 0.0s CONTL_LIM = |- !f x. f contl x = (f --> (f x))x Run time: 0.0s Intermediate theorems generated: 275 CONT_CONST = |- !x. (\x. k) contl x Run time: 0.0s Intermediate theorems generated: 20 CONT_ADD = |- !x. f contl x /\ g contl x ==> (\x. (f x) + (g x)) contl x Run time: 0.0s Intermediate theorems generated: 29 CONT_MUL = |- !x. f contl x /\ g contl x ==> (\x. (f x) * (g x)) contl x Run time: 0.1s Intermediate theorems generated: 29 CONT_NEG = |- !x. f contl x ==> (\x. --(f x)) contl x Run time: 0.0s Intermediate theorems generated: 43 CONT_INV = |- !x. f contl x /\ ~(f x = & 0) ==> (\x. inv(f x)) contl x Run time: 0.0s Intermediate theorems generated: 26 CONT_SUB = |- !x. f contl x /\ g contl x ==> (\x. (f x) - (g x)) contl x Run time: 0.0s Intermediate theorems generated: 29 CONT_DIV = |- !x. f contl x /\ g contl x /\ ~(g x = & 0) ==> (\x. (f x) / (g x)) contl x Run time: 0.0s Intermediate theorems generated: 31 Theorem REAL_LT_IMP_LE autoloading from theory `REAL` ... REAL_LT_IMP_LE = |- !x y. x < y ==> x <= y Run time: 0.0s Theorem REAL_NOT_LT autoloading from theory `REAL` ... REAL_NOT_LT = |- !x y. ~x < y = y <= x Run time: 0.0s Theorem REAL_SUB_ADD autoloading from theory `REAL` ... REAL_SUB_ADD = |- !x y. (x - y) + y = x Run time: 0.1s Theorem REAL_ADD_SYM autoloading from theory `REAL` ... REAL_ADD_SYM = |- !x y. x + y = y + x Run time: 0.0s Theorem REAL_LE_RADD autoloading from theory `REAL` ... REAL_LE_RADD = |- !x y z. (x + z) <= (y + z) = x <= y Run time: 0.0s Theorem REAL_LE_NEG autoloading from theory `REAL` ... REAL_LE_NEG = |- !x y. (-- x) <= (-- y) = y <= x Run time: 0.0s Theorem REAL_LE_LADD autoloading from theory `REAL` ... REAL_LE_LADD = |- !x y z. (x + y) <= (x + z) = y <= z Run time: 0.0s Definition real_sub autoloading from theory `REAL` ... real_sub = |- !x y. x - y = x + (-- y) Run time: 0.0s Intermediate theorems generated: 1 Theorem REAL_NOT_LE autoloading from theory `REAL` ... REAL_NOT_LE = |- !x y. ~x <= y = y < x Run time: 0.0s Theorem REAL_LT_LE autoloading from theory `REAL` ... REAL_LT_LE = |- !x y. x < y = x <= y /\ ~(x = y) Run time: 0.0s Theorem REAL_SUB_LT autoloading from theory `REAL` ... REAL_SUB_LT = |- !x y. (& 0) < (x - y) = y < x Run time: 0.0s Theorem REAL_SUB_LE autoloading from theory `REAL` ... REAL_SUB_LE = |- !x y. (& 0) <= (x - y) = y <= x Run time: 0.0s Definition abs autoloading from theory `REAL` ... abs = |- !x. abs x = ((& 0) <= x => x | -- x) Run time: 0.0s Intermediate theorems generated: 1 Theorem REAL_LT_TOTAL autoloading from theory `REAL` ... REAL_LT_TOTAL = |- !x y. (x = y) \/ x < y \/ y < x Run time: 0.0s Theorem REAL_LT_01 autoloading from theory `REAL` ... REAL_LT_01 = |- (& 0) < (& 1) Run time: 0.0s Theorem REAL_LE_TRANS autoloading from theory `REAL` ... REAL_LE_TRANS = |- !x y z. x <= y /\ y <= z ==> x <= z Run time: 0.0s Theorem REAL_LE_TOTAL autoloading from theory `REAL` ... REAL_LE_TOTAL = |- !x y. x <= y \/ y <= x Run time: 0.0s Theorem BOLZANO_LEMMA autoloading from theory `SEQ` ... BOLZANO_LEMMA = |- !P. (!a b c. a <= b /\ b <= c /\ P(a,b) /\ P(b,c) ==> P(a,c)) /\ (!x. ?d. (& 0) < d /\ (!a b. a <= x /\ x <= b /\ (b - a) < d ==> P(a,b))) ==> (!a b. a <= b ==> P(a,b)) Run time: 0.0s IVT = |- !f a b y. a <= b /\ ((f a) <= y /\ y <= (f b)) /\ (!x. a <= x /\ x <= b ==> f contl x) ==> (?x. a <= x /\ x <= b /\ (f x = y)) Run time: 0.4s Intermediate theorems generated: 2647 Theorem REAL_NEGNEG autoloading from theory `REAL` ... REAL_NEGNEG = |- !x. --(-- x) = x Run time: 0.0s Theorem REAL_NEG_EQ autoloading from theory `REAL` ... REAL_NEG_EQ = |- !x y. (-- x = y) = (x = -- y) Run time: 0.0s IVT2 = |- !f a b y. a <= b /\ ((f b) <= y /\ y <= (f a)) /\ (!x. a <= x /\ x <= b ==> f contl x) ==> (?x. a <= x /\ x <= b /\ (f x = y)) Run time: 0.1s Intermediate theorems generated: 158 Theorem REAL_MUL_LZERO autoloading from theory `REAL` ... REAL_MUL_LZERO = |- !x. (& 0) * x = & 0 Run time: 0.0s Definition real_div autoloading from theory `REAL` ... real_div = |- !x y. x / y = x * (inv y) Run time: 0.0s Intermediate theorems generated: 1 Theorem REAL_SUB_REFL autoloading from theory `REAL` ... REAL_SUB_REFL = |- !x. x - x = & 0 Run time: 0.0s DIFF_CONST = |- !k x. ((\x. k) diffl (& 0))x Run time: 0.0s Intermediate theorems generated: 59 Theorem REAL_RDISTRIB autoloading from theory `REAL` ... REAL_RDISTRIB = |- !x y z. (x + y) * z = (x * z) + (y * z) Run time: 0.0s Theorem REAL_ADD2_SUB2 autoloading from theory `REAL` ... REAL_ADD2_SUB2 = |- !a b c d. (a + b) - (c + d) = (a - c) + (b - d) Run time: 0.0s DIFF_ADD = |- !f g l m x. (f diffl l)x /\ (g diffl m)x ==> ((\x. (f x) + (g x)) diffl (l + m))x Run time: 0.0s Intermediate theorems generated: 150 Theorem REAL_MUL_SYM autoloading from theory `REAL` ... REAL_MUL_SYM = |- !x y. x * y = y * x Run time: 0.0s Theorem REAL_MUL_ASSOC autoloading from theory `REAL` ... REAL_MUL_ASSOC = |- !x y z. x * (y * z) = (x * y) * z Run time: 0.0s Theorem REAL_SUB_RDISTRIB autoloading from theory `REAL` ... REAL_SUB_RDISTRIB = |- !x y z. (x - y) * z = (x * z) - (y * z) Run time: 0.0s Theorem REAL_SUB_LDISTRIB autoloading from theory `REAL` ... REAL_SUB_LDISTRIB = |- !x y z. x * (y - z) = (x * y) - (x * z) Run time: 0.0s Theorem REAL_ADD_LID autoloading from theory `REAL` ... REAL_ADD_LID = |- !x. (& 0) + x = x Run time: 0.0s Theorem REAL_ADD_LINV autoloading from theory `REAL` ... REAL_ADD_LINV = |- !x. (-- x) + x = & 0 Run time: 0.0s Theorem REAL_ADD_ASSOC autoloading from theory `REAL` ... REAL_ADD_ASSOC = |- !x y z. x + (y + z) = (x + y) + z Run time: 0.0s DIFF_MUL = |- !f g l m x. (f diffl l)x /\ (g diffl m)x ==> ((\x. (f x) * (g x)) diffl ((l * (g x)) + (m * (f x))))x Run time: 0.1s Intermediate theorems generated: 567 DIFF_CMUL = |- !f c l x. (f diffl l)x ==> ((\x. c * (f x)) diffl (c * l))x Run time: 0.0s Intermediate theorems generated: 100 Theorem REAL_NEG_MINUS1 autoloading from theory `REAL` ... REAL_NEG_MINUS1 = |- !x. -- x = (--(& 1)) * x Run time: 0.0s DIFF_NEG = |- !f l x. (f diffl l)x ==> ((\x. --(f x)) diffl (-- l))x Run time: 0.0s Intermediate theorems generated: 20 DIFF_SUB = |- !f g l m x. (f diffl l)x /\ (g diffl m)x ==> ((\x. (f x) - (g x)) diffl (l - m))x Run time: 0.0s Intermediate theorems generated: 50 Theorem NET_NULL_MUL autoloading from theory `NETS` ... NET_NULL_MUL = |- !g. dorder g ==> (!x y. bounded(mr1,g)x /\ (y tends (& 0))(mtop mr1,g) ==> ((\n. (x n) * (y n)) tends (& 0))(mtop mr1,g)) Run time: 0.0s LIM_NULL_MUL = |- !x x0 y. bounded(mr1,tendsto(mr1,x0))x /\ (y --> (& 0))x0 ==> ((\u. (x u) * (y u)) --> (& 0))x0 Run time: 0.1s Intermediate theorems generated: 35 Theorem REAL_LT_HALF2 autoloading from theory `REAL` ... REAL_LT_HALF2 = |- !d. (d / (& 2)) < d = (& 0) < d Run time: 0.0s Theorem ABS_REFL autoloading from theory `REAL` ... ABS_REFL = |- !x. (abs x = x) = (& 0) <= x Run time: 0.0s Theorem ABS_LE autoloading from theory `REAL` ... ABS_LE = |- !x. x <= (abs x) Run time: 0.0s Theorem MR1_BOUNDED autoloading from theory `NETS` ... MR1_BOUNDED = |- !g f. bounded(mr1,g)f = (?k N. g N N /\ (!n. g n N ==> (abs(f n)) < k)) Run time: 0.0s LIM_BOUNDED = |- bounded(mr1,tendsto(mr1,x0))f = (?k d. (& 0) < d /\ (!x. (& 0) < (abs(x - x0)) /\ (abs(x - x0)) < d ==> (abs(f x)) < k)) Run time: 0.1s Intermediate theorems generated: 362 Theorem REAL_MUL_LID autoloading from theory `REAL` ... REAL_MUL_LID = |- !x. (& 1) * x = x Run time: 0.0s Theorem REAL_MUL_LINV autoloading from theory `REAL` ... REAL_MUL_LINV = |- !x. ~(x = & 0) ==> ((inv x) * x = & 1) Run time: 0.0s CHAIN_LEMMA1 = |- !f g x h. ((f(g(x + h))) - (f(g x))) / h = (((f(g(x + h))) - (f(g x))) / ((g(x + h)) - (g x))) * (((g(x + h)) - (g x)) / h) Run time: 0.1s Intermediate theorems generated: 170 Theorem REAL_LT_RADD autoloading from theory `REAL` ... REAL_LT_RADD = |- !x y z. (x + z) < (y + z) = x < y Run time: 0.0s CHAIN_LEMMA2 = |- !x y d. (abs(x - y)) < d ==> (abs x) < ((abs y) + d) Run time: 0.0s Intermediate theorems generated: 65 Theorem ABS_POS autoloading from theory `REAL` ... ABS_POS = |- !x. (& 0) <= (abs x) Run time: 0.0s Theorem REAL_LE_ADDL autoloading from theory `REAL` ... REAL_LE_ADDL = |- !x y. y <= (x + y) = (& 0) <= x Run time: 0.0s Theorem ABS_0 autoloading from theory `REAL` ... ABS_0 = |- abs(& 0) = & 0 Run time: 0.0s Theorem REAL_LT_REFL autoloading from theory `REAL` ... REAL_LT_REFL = |- !x. ~x < x Run time: 0.0s Theorem ABS_NEG autoloading from theory `REAL` ... ABS_NEG = |- !x. abs(-- x) = abs x Run time: 0.0s Theorem REAL_SUB_LZERO autoloading from theory `REAL` ... REAL_SUB_LZERO = |- !x. (& 0) - x = -- x Run time: 0.0s DIFF_CHAIN = |- !f g x. (f diffl l)(g x) /\ (g diffl m)x ==> ((\x. f(g x)) diffl (l * m))x Run time: 0.4s Intermediate theorems generated: 2058 Theorem REAL_DIV_REFL autoloading from theory `REAL` ... REAL_DIV_REFL = |- !x. ~(x = & 0) ==> (x / x = & 1) Run time: 0.0s DIFF_X = |- !x. ((\x. x) diffl (& 1))x Run time: 0.0s Intermediate theorems generated: 148 Theorem REAL_MUL_RID autoloading from theory `REAL` ... REAL_MUL_RID = |- !x. x * (& 1) = x Run time: 0.0s Theorem POW_ADD autoloading from theory `REAL` ... POW_ADD = |- !c m n. c pow (m num_add n) = (c pow m) * (c pow n) Run time: 0.0s Theorem num_CASES autoloading from theory `arithmetic` ... num_CASES = |- !m. (m = 0) \/ (?n. m = SUC n) Run time: 0.1s Theorem ADD_SUB autoloading from theory `arithmetic` ... ADD_SUB = |- !a c. (a num_add c) num_sub c = a Run time: 0.0s Theorem ADD1 autoloading from theory `arithmetic` ... ADD1 = |- !m. SUC m = m num_add 1 Run time: 0.0s Theorem REAL autoloading from theory `REAL` ... REAL = |- !n. &(SUC n) = (& n) + (& 1) Run time: 0.0s Definition pow autoloading from theory `REAL` ... pow = |- (!x. x pow 0 = & 1) /\ (!x n. x pow (SUC n) = x * (x pow n)) Run time: 0.0s Intermediate theorems generated: 1 DIFF_POW = |- !n x. ((\x'. x' pow n) diffl ((& n) * (x pow (n num_sub 1))))x Run time: 0.1s Intermediate theorems generated: 335 Theorem REAL_ADD_RID autoloading from theory `REAL` ... REAL_ADD_RID = |- !x. x + (& 0) = x Run time: 0.0s Theorem POW_2 autoloading from theory `REAL` ... POW_2 = |- !x. x pow 2 = x * x Run time: 0.0s Theorem REAL_NEG_SUB autoloading from theory `REAL` ... REAL_NEG_SUB = |- !x y. --(x - y) = y - x Run time: 0.0s Theorem REAL_NEG_RMUL autoloading from theory `REAL` ... REAL_NEG_RMUL = |- !x y. --(x * y) = x * (-- y) Run time: 0.0s Theorem REAL_NEG_LMUL autoloading from theory `REAL` ... REAL_NEG_LMUL = |- !x y. --(x * y) = (-- x) * y Run time: 0.0s Theorem REAL_ENTIRE autoloading from theory `REAL` ... REAL_ENTIRE = |- !x y. (x * y = & 0) = (x = & 0) \/ (y = & 0) Run time: 0.0s Theorem REAL_EQ_LMUL autoloading from theory `REAL` ... REAL_EQ_LMUL = |- !x y z. (x * y = x * z) = (x = & 0) \/ (y = z) Run time: 0.0s Theorem REAL_LNEG_UNIQ autoloading from theory `REAL` ... REAL_LNEG_UNIQ = |- !x y. (x + y = & 0) = (x = -- y) Run time: 0.0s Theorem ABS_ZERO autoloading from theory `REAL` ... ABS_ZERO = |- !x. (abs x = & 0) = (x = & 0) Run time: 0.0s DIFF_XM1 = |- !x. ~(x = & 0) ==> ((\x. inv x) diffl (--((inv x) pow 2)))x Run time: 0.1s Intermediate theorems generated: 818 Theorem POW_INV autoloading from theory `REAL` ... POW_INV = |- !c. ~(c = & 0) ==> (!n. inv(c pow n) = (inv c) pow n) Run time: 0.0s DIFF_INV = |- !f l x. (f diffl l)x /\ ~(f x = & 0) ==> ((\x. inv(f x)) diffl (--(l / ((f x) pow 2))))x Run time: 0.1s Intermediate theorems generated: 106 Theorem REAL_MUL_RINV autoloading from theory `REAL` ... REAL_MUL_RINV = |- !x. ~(x = & 0) ==> (x * (inv x) = & 1) Run time: 0.0s Theorem REAL_INV_MUL autoloading from theory `REAL` ... REAL_INV_MUL = |- !x y. ~(x = & 0) /\ ~(y = & 0) ==> (inv(x * y) = (inv x) * (inv y)) Run time: 0.0s Theorem REAL_LDISTRIB autoloading from theory `REAL` ... REAL_LDISTRIB = |- !x y z. x * (y + z) = (x * y) + (x * z) Run time: 0.0s DIFF_DIV = |- !f g l m. (f diffl l)x /\ (g diffl m)x /\ ~(g x = & 0) ==> ((\x. (f x) / (g x)) diffl (((l * (g x)) - (m * (f x))) / ((g x) pow 2))) x Run time: 0.1s Intermediate theorems generated: 293 Theorem LESS_EQ_ADD autoloading from theory `arithmetic` ... LESS_EQ_ADD = |- !m n. m num_le (m num_add n) Run time: 0.0s Theorem LESS_SUC_REFL autoloading from theory `prim_rec` ... LESS_SUC_REFL = |- !n. n num_lt (SUC n) Run time: 0.1s Theorem ADD_CLAUSES autoloading from theory `arithmetic` ... ADD_CLAUSES = |- (0 num_add m = m) /\ (m num_add 0 = m) /\ ((SUC m) num_add n = SUC(m num_add n)) /\ (m num_add (SUC n) = SUC(m num_add n)) Run time: 0.0s Theorem LESS_TRANS autoloading from theory `arithmetic` ... LESS_TRANS = |- !m n p. m num_lt n /\ n num_lt p ==> m num_lt p Run time: 0.0s Theorem Sum autoloading from theory `REAL` ... Sum = |- (Sum(n,0)f = & 0) /\ (Sum(n,SUC m)f = (Sum(n,m)f) + (f(n num_add m))) Run time: 0.0s DIFF_SUM = |- !f f' m n x. (!r. m num_le r /\ r num_lt (m num_add n) ==> ((\x'. f r x') diffl (f' r x))x) ==> ((\x'. Sum(m,n)(\n'. f n' x')) diffl (Sum(m,n)(\r. f' r x)))x Run time: 0.0s Intermediate theorems generated: 301 CONT_BOUNDED = |- !f a b. a <= b /\ (!x. a <= x /\ x <= b ==> f contl x) ==> (?M. !x. a <= x /\ x <= b ==> (f x) <= M) Run time: 0.4s Intermediate theorems generated: 1866 Theorem REAL_LE_LT autoloading from theory `REAL` ... REAL_LE_LT = |- !x y. x <= y = x < y \/ (x = y) Run time: 0.0s Theorem REAL_SUP_LE autoloading from theory `REAL` ... REAL_SUP_LE = |- !P. (?x. P x) /\ (?z. !x. P x ==> x <= z) ==> (!y. (?x. P x /\ y < x) = y < (sup P)) Run time: 0.0s CONT_HASSUP = |- !f a b. a <= b /\ (!x. a <= x /\ x <= b ==> f contl x) ==> (?M. (!x. a <= x /\ x <= b ==> (f x) <= M) /\ (!N. N < M ==> (?x. a <= x /\ x <= b /\ N < (f x)))) Run time: 0.1s Intermediate theorems generated: 412 Theorem REAL_LT_SUB_RADD autoloading from theory `REAL` ... REAL_LT_SUB_RADD = |- !x y z. (x - y) < z = x < (z + y) Run time: 0.0s Theorem REAL_LT_SUB_LADD autoloading from theory `REAL` ... REAL_LT_SUB_LADD = |- !x y z. x < (y - z) = (x + z) < y Run time: 0.0s Theorem REAL_INVINV autoloading from theory `REAL` ... REAL_INVINV = |- !x. ~(x = & 0) ==> (inv(inv x) = x) Run time: 0.0s Theorem REAL_LT_INV autoloading from theory `REAL` ... REAL_LT_INV = |- !x y. (& 0) < x /\ x < y ==> (inv y) < (inv x) Run time: 0.0s Theorem REAL_LT_ADDR autoloading from theory `REAL` ... REAL_LT_ADDR = |- !x y. x < (x + y) = (& 0) < y Run time: 0.0s Theorem REAL_INV_POS autoloading from theory `REAL` ... REAL_INV_POS = |- !x. (& 0) < x ==> (& 0) < (inv x) Run time: 0.0s Theorem REAL_LT_IMP_NE autoloading from theory `REAL` ... REAL_LT_IMP_NE = |- !x y. x < y ==> ~(x = y) Run time: 0.0s CONT_ATTAINS = |- !f a b. a <= b /\ (!x. a <= x /\ x <= b ==> f contl x) ==> (?M. (!x. a <= x /\ x <= b ==> (f x) <= M) /\ (?x. a <= x /\ x <= b /\ (f x = M))) Run time: 0.2s Intermediate theorems generated: 1646 CONT_ATTAINS2 = |- !f a b. a <= b /\ (!x. a <= x /\ x <= b ==> f contl x) ==> (?M. (!x. a <= x /\ x <= b ==> M <= (f x)) /\ (?x. a <= x /\ x <= b /\ (f x = M))) Run time: 0.0s Intermediate theorems generated: 177 Theorem ABS_SIGN autoloading from theory `REAL` ... ABS_SIGN = |- !x y. (abs(x - y)) < y ==> (& 0) < x Run time: 0.0s Theorem REAL_LT_RMUL autoloading from theory `REAL` ... REAL_LT_RMUL = |- !x y z. (& 0) < z ==> ((x * z) < (y * z) = x < y) Run time: 0.0s DIFF_LINC = |- !f x l. (f diffl l)x /\ (& 0) < l ==> (?d. (& 0) < d /\ (!h. (& 0) < h /\ h < d ==> (f x) < (f(x + h)))) Run time: 0.0s Intermediate theorems generated: 270 Theorem REAL_NEG_LE0 autoloading from theory `REAL` ... REAL_NEG_LE0 = |- !x. (-- x) <= (& 0) = (& 0) <= x Run time: 0.0s Theorem ABS_SIGN2 autoloading from theory `REAL` ... ABS_SIGN2 = |- !x y. (abs(x - y)) < (-- y) ==> x < (& 0) Run time: 0.0s Theorem REAL_NEG_INV autoloading from theory `REAL` ... REAL_NEG_INV = |- !x. ~(x = & 0) ==> (--(inv x) = inv(-- x)) Run time: 0.0s Theorem REAL_NEG_LT0 autoloading from theory `REAL` ... REAL_NEG_LT0 = |- !x. (-- x) < (& 0) = (& 0) < x Run time: 0.1s DIFF_LDEC = |- !f x l. (f diffl l)x /\ l < (& 0) ==> (?d. (& 0) < d /\ (!h. (& 0) < h /\ h < d ==> (f x) < (f(x - h)))) Run time: 0.1s Intermediate theorems generated: 469 Theorem REAL_ADD_SUB2 autoloading from theory `REAL` ... REAL_ADD_SUB2 = |- !x y. x - (x + y) = -- y Run time: 0.0s Theorem REAL_SUB_SUB2 autoloading from theory `REAL` ... REAL_SUB_SUB2 = |- !x y. x - (x - y) = y Run time: 0.0s DIFF_LMAX = |- !f x l. (f diffl l)x /\ (?d. (& 0) < d /\ (!y. (abs(x - y)) < d ==> (f y) <= (f x))) ==> (l = & 0) Run time: 0.1s Intermediate theorems generated: 572 Theorem REAL_NEG_EQ0 autoloading from theory `REAL` ... REAL_NEG_EQ0 = |- !x. (-- x = & 0) = (x = & 0) Run time: 0.0s DIFF_LMIN = |- !f x l. (f diffl l)x /\ (?d. (& 0) < d /\ (!y. (abs(x - y)) < d ==> (f x) <= (f y))) ==> (l = & 0) Run time: 0.1s Intermediate theorems generated: 88 DIFF_LCONST = |- !f x l. (f diffl l)x /\ (?d. (& 0) < d /\ (!y. (abs(x - y)) < d ==> (f y = f x))) ==> (l = & 0) Run time: 0.1s Intermediate theorems generated: 96 INTERVAL_LEMMA = |- !a b x. a < x /\ x < b ==> (?d. (& 0) < d /\ (!y. (abs(x - y)) < d ==> a <= y /\ y <= b)) Run time: 0.1s Intermediate theorems generated: 466 Theorem REAL_MEAN autoloading from theory `REAL` ... REAL_MEAN = |- !x y. x < y ==> (?z. x < z /\ z < y) Run time: 0.0s Theorem REAL_LE_ANTISYM autoloading from theory `REAL` ... REAL_LE_ANTISYM = |- !x y. x <= y /\ y <= x = (x = y) Run time: 0.0s ROLLE = |- !f a b. a < b /\ (f a = f b) /\ (!x. a <= x /\ x <= b ==> f contl x) /\ (!x. a < x /\ x < b ==> f differentiable x) ==> (?z. a < z /\ z < b /\ (f diffl (& 0))z) Run time: 0.4s Intermediate theorems generated: 3178 gfn = "\x. (f x) - ((((f b) - (f a)) / (b - a)) * x)" : term Run time: 0.0s Theorem REAL_NEG_ADD autoloading from theory `REAL` ... REAL_NEG_ADD = |- !x y. --(x + y) = (-- x) + (-- y) Run time: 0.0s Theorem REAL_EQ_RMUL autoloading from theory `REAL` ... REAL_EQ_RMUL = |- !x y z. (x * z = y * z) = (z = & 0) \/ (x = y) Run time: 0.0s MVT_LEMMA = |- !f a b. (\x. (f x) - ((((f b) - (f a)) / (b - a)) * x))a = (\x. (f x) - ((((f b) - (f a)) / (b - a)) * x))b Run time: 0.1s Intermediate theorems generated: 443 Theorem REAL_DIV_LMUL autoloading from theory `REAL` ... REAL_DIV_LMUL = |- !x y. ~(y = & 0) ==> (y * (x / y) = x) Run time: 0.0s MVT = |- !f a b. a < b /\ (!x. a <= x /\ x <= b ==> f contl x) /\ (!x. a < x /\ x < b ==> f differentiable x) ==> (?l z. a < z /\ z < b /\ (f diffl l)z /\ ((f b) - (f a) = (b - a) * l)) Run time: 0.2s Intermediate theorems generated: 612 DIFF_ISCONST_END = |- !f a b. a < b /\ (!x. a <= x /\ x <= b ==> f contl x) /\ (!x. a < x /\ x < b ==> (f diffl (& 0))x) ==> (f b = f a) Run time: 0.1s Intermediate theorems generated: 253 DIFF_ISCONST = |- !f a b. a < b /\ (!x. a <= x /\ x <= b ==> f contl x) /\ (!x. a < x /\ x < b ==> (f diffl (& 0))x) ==> (!x. a <= x /\ x <= b ==> (f x = f a)) Run time: 0.1s Intermediate theorems generated: 310 DIFF_ISCONST_ALL = |- !f. (!x. (f diffl (& 0))x) ==> (!x y. f x = f y) Run time: 0.0s Intermediate theorems generated: 172 () : void Run time: 0.1s Intermediate theorems generated: 1 File lim.ml loaded () : void Run time: 7.0s Intermediate theorems generated: 21608 #\ echo 'set_flag(`abort_when_fail`,true);;'\ 'loadt `powser.ml`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool false : bool () : void Theory SEQ loaded Theory LIM loaded () : void false : bool Run time: 0.0s LAND_CONV = - : (conv -> conv) Run time: 0.0s TAUT_CONV = - : conv Run time: 0.0s AC = - : ((thm # thm) -> conv) Run time: 0.0s GEN_PAIR_TAC = - : tactic Run time: 0.0s MK_COMB_TAC = - : tactic Run time: 0.0s BINOP_TAC = - : tactic Run time: 0.0s SYM_CANON_CONV = - : (thm -> ((term # term) -> bool) -> conv) Run time: 0.0s IMP_SUBST_TAC = - : thm_tactic Run time: 0.0s ABBREV_TAC = - : (term -> tactic) Run time: 0.0s EXT_CONV = - : conv Run time: 0.0s ABS_TAC = - : tactic Run time: 0.0s EQUAL_TAC = - : tactic Run time: 0.0s X_BETA_CONV = - : (term -> conv) Run time: 0.0s EXACT_CONV = - : (thm list -> conv) Run time: 0.0s HABS_CONV = - : conv Run time: 0.0s autoload_definitions = - : (string -> void) Run time: 0.0s autoload_theorems = - : (string -> void) Run time: 0.0s EXPAND_TAC = - : (string -> tactic) Run time: 0.0s File useful loaded () : void Run time: 0.1s real_interface_map = [(`--`, `real_neg`); (`num_add`, `+`); (`+`, `real_add`); (`num_mul`, `*`); (`*`, `real_mul`); (`num_sub`, `-`); (`-`, `real_sub`); (`num_lt`, `<`); (`<`, `real_lt`); (`num_le`, `<=`); (`<=`, `real_le`); (`num_gt`, `>`); (`>`, `real_gt`); (`num_ge`, `>=`); (`>=`, `real_ge`); (`inv`, `real_inv`); (`&`, `real_of_num`)] : (string # string) list Run time: 0.0s [(); ()] : void list Run time: 0.0s [] : (string # string) list Run time: 0.0s () : void Run time: 0.0s Intermediate theorems generated: 47 () : void Run time: 0.2s Definition pow autoloading from theory `REAL` ... pow = |- (!x. x pow 0 = & 1) /\ (!x n. x pow (SUC n) = x * (x pow n)) Run time: 0.0s Intermediate theorems generated: 1 Definition SUB autoloading from theory `arithmetic` ... SUB = |- (!m. 0 num_sub m = 0) /\ (!m n. (SUC m) num_sub n = (m num_lt n => 0 | SUC(m num_sub n))) Run time: 0.0s Intermediate theorems generated: 1 Theorem LESS_IMP_LESS_OR_EQ autoloading from theory `arithmetic` ... LESS_IMP_LESS_OR_EQ = |- !m n. m num_lt n ==> m num_le n Run time: 0.0s Theorem LESS_EQ_REFL autoloading from theory `arithmetic` ... LESS_EQ_REFL = |- !m. m num_le m Run time: 0.0s Theorem LESS_THM autoloading from theory `prim_rec` ... LESS_THM = |- !m n. m num_lt (SUC n) = (m = n) \/ m num_lt n Run time: 0.1s Theorem NOT_LESS autoloading from theory `arithmetic` ... NOT_LESS = |- !m n. ~m num_lt n = n num_le m Run time: 0.0s Theorem ADD_CLAUSES autoloading from theory `arithmetic` ... ADD_CLAUSES = |- (0 num_add m = m) /\ (m num_add 0 = m) /\ ((SUC m) num_add n = SUC(m num_add n)) /\ (m num_add (SUC n) = SUC(m num_add n)) Run time: 0.0s Theorem REAL_MUL_ASSOC autoloading from theory `REAL` ... REAL_MUL_ASSOC = |- !x y z. x * (y * z) = (x * y) * z Run time: 0.0s Theorem REAL_MUL_SYM autoloading from theory `REAL` ... REAL_MUL_SYM = |- !x y. x * y = y * x Run time: 0.0s Theorem SUM_SUBST autoloading from theory `REAL` ... SUM_SUBST = |- !f g m n. (!p. m num_le p /\ p num_lt (m num_add n) ==> (f p = g p)) ==> (Sum(m,n)f = Sum(m,n)g) Run time: 0.0s Theorem SUM_CMUL autoloading from theory `REAL` ... SUM_CMUL = |- !f c m n. Sum(m,n)(\n'. c * (f n')) = c * (Sum(m,n)f) Run time: 0.0s POWDIFF_LEMMA = |- !n x y. Sum(0,SUC n)(\p. (x pow p) * (y pow ((SUC n) num_sub p))) = y * (Sum(0,SUC n)(\p. (x pow p) * (y pow (n num_sub p)))) Run time: 0.1s Intermediate theorems generated: 223 Theorem REAL_ADD_LINV autoloading from theory `REAL` ... REAL_ADD_LINV = |- !x. (-- x) + x = & 0 Run time: 0.0s Theorem REAL_ADD_LID_UNIQ autoloading from theory `REAL` ... REAL_ADD_LID_UNIQ = |- !x y. (x + y = y) = (x = & 0) Run time: 0.0s Theorem REAL_ADD_SYM autoloading from theory `REAL` ... REAL_ADD_SYM = |- !x y. x + y = y + x Run time: 0.0s Theorem REAL_ADD_ASSOC autoloading from theory `REAL` ... REAL_ADD_ASSOC = |- !x y z. x + (y + z) = (x + y) + z Run time: 0.0s Definition real_sub autoloading from theory `REAL` ... real_sub = |- !x y. x - y = x + (-- y) Run time: 0.0s Intermediate theorems generated: 1 Theorem REAL_SUB_LDISTRIB autoloading from theory `REAL` ... REAL_SUB_LDISTRIB = |- !x y z. x * (y - z) = (x * y) - (x * z) Run time: 0.0s Theorem SUB_EQUAL_0 autoloading from theory `arithmetic` ... SUB_EQUAL_0 = |- !c. c num_sub c = 0 Run time: 0.0s Theorem REAL_LDISTRIB autoloading from theory `REAL` ... REAL_LDISTRIB = |- !x y z. x * (y + z) = (x * y) + (x * z) Run time: 0.0s Theorem REAL_MUL_RID autoloading from theory `REAL` ... REAL_MUL_RID = |- !x. x * (& 1) = x Run time: 0.0s Theorem SUB_0 autoloading from theory `arithmetic` ... SUB_0 = |- !m. (0 num_sub m = 0) /\ (m num_sub 0 = m) Run time: 0.0s Theorem REAL_ADD_LID autoloading from theory `REAL` ... REAL_ADD_LID = |- !x. (& 0) + x = x Run time: 0.0s Theorem Sum autoloading from theory `REAL` ... Sum = |- (Sum(n,0)f = & 0) /\ (Sum(n,SUC m)f = (Sum(n,m)f) + (f(n num_add m))) Run time: 0.0s POWDIFF = |- !n x y. (x pow (SUC n)) - (y pow (SUC n)) = (x - y) * (Sum(0,SUC n)(\p. (x pow p) * (y pow (n num_sub p)))) Run time: 0.1s Intermediate theorems generated: 485 Theorem REAL_NEG_SUB autoloading from theory `REAL` ... REAL_NEG_SUB = |- !x y. --(x - y) = y - x Run time: 0.0s Theorem REAL_NEG_LMUL autoloading from theory `REAL` ... REAL_NEG_LMUL = |- !x y. --(x * y) = (-- x) * y Run time: 0.0s Theorem REAL_NEGNEG autoloading from theory `REAL` ... REAL_NEGNEG = |- !x. --(-- x) = x Run time: 0.0s Theorem REAL_SUB_0 autoloading from theory `REAL` ... REAL_SUB_0 = |- !x y. (x - y = & 0) = (x = y) Run time: 0.0s Theorem ADD_SYM autoloading from theory `arithmetic` ... ADD_SYM = |- !m n. m num_add n = n num_add m Run time: 0.0s Theorem POW_ADD autoloading from theory `REAL` ... POW_ADD = |- !c m n. c pow (m num_add n) = (c pow m) * (c pow n) Run time: 0.0s Theorem REAL_EQ_LMUL2 autoloading from theory `REAL` ... REAL_EQ_LMUL2 = |- !x y z. ~(x = & 0) ==> ((y = z) = (x * y = x * z)) Run time: 0.0s POWREV = |- !n x y. Sum(0,SUC n)(\p. (x pow p) * (y pow (n num_sub p))) = Sum(0,SUC n)(\p. (x pow (n num_sub p)) * (y pow p)) Run time: 0.1s Intermediate theorems generated: 235 Theorem REAL_LT_IMP_NE autoloading from theory `REAL` ... REAL_LT_IMP_NE = |- !x y. x < y ==> ~(x = y) Run time: 0.0s Theorem POW_INV autoloading from theory `REAL` ... POW_INV = |- !c. ~(c = & 0) ==> (!n. inv(c pow n) = (inv c) pow n) Run time: 0.0s Theorem POW_MUL autoloading from theory `REAL` ... POW_MUL = |- !n x y. (x * y) pow n = (x pow n) * (y pow n) Run time: 0.0s Theorem POW_ABS autoloading from theory `REAL` ... POW_ABS = |- !c n. (abs c) pow n = abs(c pow n) Run time: 0.0s Theorem REAL_LT_1 autoloading from theory `REAL` ... REAL_LT_1 = |- !x y. (& 0) <= x /\ x < y ==> (x / y) < (& 1) Run time: 0.0s Theorem REAL_NOT_LT autoloading from theory `REAL` ... REAL_NOT_LT = |- !x y. ~x < y = y <= x Run time: 0.0s Theorem ABS_INV autoloading from theory `REAL` ... ABS_INV = |- !x. ~(x = & 0) ==> (abs(inv x) = inv(abs x)) Run time: 0.0s Theorem GP autoloading from theory `SEQ` ... GP = |- !x. (abs x) < (& 1) ==> (\n. x pow n) sums (inv((& 1) - x)) Run time: 0.0s Theorem SER_CMUL autoloading from theory `SEQ` ... SER_CMUL = |- !x x0 c. x sums x0 ==> (\n. c * (x n)) sums (c * x0) Run time: 0.0s Definition real_div autoloading from theory `REAL` ... real_div = |- !x y. x / y = x * (inv y) Run time: 0.1s Intermediate theorems generated: 1 Definition summable autoloading from theory `SEQ` ... summable = |- !f. summable f = (?s. f sums s) Run time: 0.0s Intermediate theorems generated: 1 Theorem REAL_LT_IMP_LE autoloading from theory `REAL` ... REAL_LT_IMP_LE = |- !x y. x < y ==> x <= y Run time: 0.0s Theorem REAL_LE_RMUL autoloading from theory `REAL` ... REAL_LE_RMUL = |- !x y z. (& 0) < z ==> ((x * z) <= (y * z) = x <= y) Run time: 0.0s Theorem REAL_LE_REFL autoloading from theory `REAL` ... REAL_LE_REFL = |- !x. x <= x Run time: 0.0s Theorem REAL_MUL_RZERO autoloading from theory `REAL` ... REAL_MUL_RZERO = |- !x. x * (& 0) = & 0 Run time: 0.0s Theorem ABS_0 autoloading from theory `REAL` ... ABS_0 = |- abs(& 0) = & 0 Run time: 0.0s Theorem ABS_CASES autoloading from theory `REAL` ... ABS_CASES = |- !x. (x = & 0) \/ (& 0) < (abs x) Run time: 0.0s Theorem ABS_ABS autoloading from theory `REAL` ... ABS_ABS = |- !x. abs(abs x) = abs x Run time: 0.0s Theorem ABS_MUL autoloading from theory `REAL` ... ABS_MUL = |- !x y. abs(x * y) = (abs x) * (abs y) Run time: 0.0s Theorem ABS_POS autoloading from theory `REAL` ... ABS_POS = |- !x. (& 0) <= (abs x) Run time: 0.0s Theorem REAL_LET_TRANS autoloading from theory `REAL` ... REAL_LET_TRANS = |- !x y z. x <= y /\ y < z ==> x < z Run time: 0.0s Theorem POW_NZ autoloading from theory `REAL` ... POW_NZ = |- !c n. ~(c = & 0) ==> ~(c pow n = & 0) Run time: 0.0s Theorem ABS_NZ autoloading from theory `REAL` ... ABS_NZ = |- !x. ~(x = & 0) = (& 0) < (abs x) Run time: 0.0s Theorem REAL_LE_RDIV autoloading from theory `REAL` ... REAL_LE_RDIV = |- !x y z. (& 0) < x /\ (y * x) <= z ==> y <= (z / x) Run time: 0.0s Theorem SER_COMPAR autoloading from theory `SEQ` ... SER_COMPAR = |- !f g. (?N. !n. n num_ge N ==> (abs(f n)) <= (g n)) /\ summable g ==> summable f Run time: 0.0s Theorem SEQ_BOUNDED autoloading from theory `SEQ` ... SEQ_BOUNDED = |- !s. bounded(mr1,$num_ge)s = (?k. !n. (abs(s n)) < k) Run time: 0.1s Theorem SEQ_CBOUNDED autoloading from theory `SEQ` ... SEQ_CBOUNDED = |- !f. cauchy f ==> bounded(mr1,$num_ge)f Run time: 0.0s Theorem SEQ_CAUCHY autoloading from theory `SEQ` ... SEQ_CAUCHY = |- !f. cauchy f = convergent f Run time: 0.0s Theorem SER_ZERO autoloading from theory `SEQ` ... SER_ZERO = |- !f. summable f ==> f tends_num_real (& 0) Run time: 0.0s Definition convergent autoloading from theory `SEQ` ... convergent = |- !f. convergent f = (?l. f tends_num_real l) Run time: 0.0s Intermediate theorems generated: 1 POWSER_INSIDEA = |- !f x z. summable(\n. (f n) * (x pow n)) /\ (abs z) < (abs x) ==> summable(\n. (abs(f n)) * (z pow n)) Run time: 0.1s Intermediate theorems generated: 753 Theorem SER_ACONV autoloading from theory `SEQ` ... SER_ACONV = |- !f. summable(\n. abs(f n)) ==> summable f Run time: 0.0s POWSER_INSIDE = |- !f x z. summable(\n. (f n) * (x pow n)) /\ (abs z) < (abs x) ==> summable(\n. (f n) * (z pow n)) Run time: 0.0s Intermediate theorems generated: 67 diffs = |- !c. diffs c = (\n. (&(SUC n)) * (c(SUC n))) Run time: 0.0s Intermediate theorems generated: 2 Theorem REAL_NEG_RMUL autoloading from theory `REAL` ... REAL_NEG_RMUL = |- !x y. --(x * y) = x * (-- y) Run time: 0.1s DIFFS_NEG = |- !c. diffs(\n. --(c n)) = (\n. --(diffs c n)) Run time: 0.0s Intermediate theorems generated: 37 Theorem SUC_SUB1 autoloading from theory `arithmetic` ... SUC_SUB1 = |- !m. (SUC m) num_sub 1 = m Run time: 0.0s Theorem REAL_MUL_LZERO autoloading from theory `REAL` ... REAL_MUL_LZERO = |- !x. (& 0) * x = & 0 Run time: 0.0s DIFFS_LEMMA = |- !n c x. Sum(0,n)(\n'. (diffs c n') * (x pow n')) = (Sum(0,n)(\n'. (& n') * ((c n') * (x pow (n' num_sub 1))))) + ((& n) * ((c n) * (x pow (n num_sub 1)))) Run time: 0.0s Intermediate theorems generated: 229 Theorem REAL_EQ_SUB_LADD autoloading from theory `REAL` ... REAL_EQ_SUB_LADD = |- !x y z. (x = y - z) = (x + z = y) Run time: 0.0s DIFFS_LEMMA2 = |- !n c x. Sum(0,n)(\n. (& n) * ((c n) * (x pow (n num_sub 1)))) = (Sum(0,n)(\n. (diffs c n) * (x pow n))) - ((& n) * ((c n) * (x pow (n num_sub 1)))) Run time: 0.1s Intermediate theorems generated: 34 Theorem REAL_SUB_RZERO autoloading from theory `REAL` ... REAL_SUB_RZERO = |- !x. x - (& 0) = x Run time: 0.0s Theorem SEQ_SUB autoloading from theory `SEQ` ... SEQ_SUB = |- !x x0 y y0. x tends_num_real x0 /\ y tends_num_real y0 ==> (\n. (x n) - (y n)) tends_num_real (x0 - y0) Run time: 0.0s Definition sums autoloading from theory `SEQ` ... sums = |- !f s. f sums s = (\n. Sum(0,n)f) tends_num_real s Run time: 0.0s Intermediate theorems generated: 1 Theorem SUMMABLE_SUM autoloading from theory `SEQ` ... SUMMABLE_SUM = |- !f. summable f ==> f sums (suminf f) Run time: 0.0s Theorem SEQ_SUC autoloading from theory `SEQ` ... SEQ_SUC = |- !f l. f tends_num_real l = (\n. f(SUC n)) tends_num_real l Run time: 0.0s DIFFS_EQUIV = |- !c x. summable(\n. (diffs c n) * (x pow n)) ==> (\n. (& n) * ((c n) * (x pow (n num_sub 1)))) sums (suminf(\n. (diffs c n) * (x pow n))) Run time: 0.0s Intermediate theorems generated: 180 Theorem SUB_ADD autoloading from theory `arithmetic` ... SUB_ADD = |- !m n. n num_le m ==> ((m num_sub n) num_add n = m) Run time: 0.0s TERMDIFF_LEMMA1 = |- !m z h. Sum(0,m)(\p. (((z + h) pow (m num_sub p)) * (z pow p)) - (z pow m)) = Sum (0,m) (\p. (z pow p) * (((z + h) pow (m num_sub p)) - (z pow (m num_sub p)))) Run time: 0.0s Intermediate theorems generated: 131 Theorem SUB_MONO_EQ autoloading from theory `arithmetic` ... SUB_MONO_EQ = |- !n m. (SUC n) num_sub (SUC m) = n num_sub m Run time: 0.0s Theorem ADD_SUB autoloading from theory `arithmetic` ... ADD_SUB = |- !a c. (a num_add c) num_sub c = a Run time: 0.0s Theorem ADD1 autoloading from theory `arithmetic` ... ADD1 = |- !m. SUC m = m num_add 1 Run time: 0.0s Theorem LESS_ADD_1 autoloading from theory `arithmetic` ... LESS_ADD_1 = |- !m n. n num_lt m ==> (?p. m = n num_add (p num_add 1)) Run time: 0.0s Theorem SUM_NSUB autoloading from theory `REAL` ... SUM_NSUB = |- !n f c. (Sum(0,n)f) - ((& n) * c) = Sum(0,n)(\p. (f p) - c) Run time: 0.0s Theorem REAL_ADD_RID autoloading from theory `REAL` ... REAL_ADD_RID = |- !x. x + (& 0) = x Run time: 0.0s Theorem REAL_ADD2_SUB2 autoloading from theory `REAL` ... REAL_ADD2_SUB2 = |- !a b c d. (a + b) - (c + d) = (a - c) + (b - d) Run time: 0.0s Theorem REAL_RDISTRIB autoloading from theory `REAL` ... REAL_RDISTRIB = |- !x y z. (x + y) * z = (x * z) + (y * z) Run time: 0.1s Theorem REAL_MUL_LID autoloading from theory `REAL` ... REAL_MUL_LID = |- !x. (& 1) * x = x Run time: 0.0s Theorem REAL autoloading from theory `REAL` ... REAL = |- !n. &(SUC n) = (& n) + (& 1) Run time: 0.0s Theorem REAL_EQ_LMUL autoloading from theory `REAL` ... REAL_EQ_LMUL = |- !x y z. (x * y = x * z) = (x = & 0) \/ (y = z) Run time: 0.0s Theorem REAL_ADD_SUB autoloading from theory `REAL` ... REAL_ADD_SUB = |- !x y. (x + y) - x = y Run time: 0.0s Theorem REAL_SUB_REFL autoloading from theory `REAL` ... REAL_SUB_REFL = |- !x. x - x = & 0 Run time: 0.0s Theorem num_CASES autoloading from theory `arithmetic` ... num_CASES = |- !m. (m = 0) \/ (?n. m = SUC n) Run time: 0.0s Theorem REAL_DIV_LMUL autoloading from theory `REAL` ... REAL_DIV_LMUL = |- !x y. ~(y = & 0) ==> (y * (x / y) = x) Run time: 0.0s TERMDIFF_LEMMA2 = |- !z h. ~(h = & 0) ==> (((((z + h) pow n) - (z pow n)) / h) - ((& n) * (z pow (n num_sub 1))) = h * (Sum (0,n num_sub 1) (\p. (z pow p) * (Sum (0,(n num_sub 1) num_sub p) (\q. ((z + h) pow q) * (z pow (((n num_sub 2) num_sub p) num_sub q))))))) Run time: 0.2s Intermediate theorems generated: 866 Theorem INV_SUC_EQ autoloading from theory `prim_rec` ... INV_SUC_EQ = |- !m n. (SUC m = SUC n) = (m = n) Run time: 0.0s Theorem LESS_SUC_REFL autoloading from theory `prim_rec` ... LESS_SUC_REFL = |- !n. n num_lt (SUC n) Run time: 0.0s Theorem LESS_EQ_ADD autoloading from theory `arithmetic` ... LESS_EQ_ADD = |- !m n. m num_le (m num_add n) Run time: 0.0s Theorem LESS_EQ_TRANS autoloading from theory `arithmetic` ... LESS_EQ_TRANS = |- !m n p. m num_le n /\ n num_le p ==> m num_le p Run time: 0.0s Theorem LESS_EQ_MONO autoloading from theory `arithmetic` ... LESS_EQ_MONO = |- !n m. (SUC n) num_le (SUC m) = n num_le m Run time: 0.0s Theorem REAL_LE autoloading from theory `REAL` ... REAL_LE = |- !m n. (& m) <= (& n) = m num_le n Run time: 0.0s Theorem REAL_LE_LT autoloading from theory `REAL` ... REAL_LE_LT = |- !x y. x <= y = x < y \/ (x = y) Run time: 0.0s Theorem POW_POS autoloading from theory `REAL` ... POW_POS = |- !x. (& 0) <= x ==> (!n. (& 0) <= (x pow n)) Run time: 0.0s Theorem POW_LE autoloading from theory `REAL` ... POW_LE = |- !n x y. (& 0) <= x /\ x <= y ==> (x pow n) <= (y pow n) Run time: 0.0s Theorem REAL_LE_MUL2 autoloading from theory `REAL` ... REAL_LE_MUL2 = |- !x1 x2 y1 y2. (& 0) <= x1 /\ (& 0) <= y1 /\ x1 <= x2 /\ y1 <= y2 ==> (x1 * y1) <= (x2 * y2) Run time: 0.0s Theorem SUM_BOUND autoloading from theory `REAL` ... SUM_BOUND = |- !f K m n. (!p. m num_le p /\ p num_lt (m num_add n) ==> (f p) <= K) ==> (Sum(m,n)f) <= ((& n) * K) Run time: 0.0s Theorem REAL_LE_LMUL autoloading from theory `REAL` ... REAL_LE_LMUL = |- !x y z. (& 0) < x ==> ((x * y) <= (x * z) = y <= z) Run time: 0.0s Theorem ABS_SUM autoloading from theory `REAL` ... ABS_SUM = |- !f m n. (abs(Sum(m,n)f)) <= (Sum(m,n)(\n'. abs(f n'))) Run time: 0.0s Theorem REAL_LE_TRANS autoloading from theory `REAL` ... REAL_LE_TRANS = |- !x y z. x <= y /\ y <= z ==> x <= z Run time: 0.0s TERMDIFF_LEMMA3 = |- !z h n K. ~(h = & 0) /\ (abs z) <= K /\ (abs(z + h)) <= K ==> (abs (((((z + h) pow n) - (z pow n)) / h) - ((& n) * (z pow (n num_sub 1))))) <= ((& n) * ((&(n num_sub 1)) * ((K pow (n num_sub 2)) * (abs h)))) Run time: 0.3s Intermediate theorems generated: 1294 Theorem REAL_MUL_LINV autoloading from theory `REAL` ... REAL_MUL_LINV = |- !x. ~(x = & 0) ==> ((inv x) * x = & 1) Run time: 0.0s Theorem REAL_LT_RDIV autoloading from theory `REAL` ... REAL_LT_RDIV = |- !x y z. (& 0) < z ==> ((x / z) < (y / z) = x < y) Run time: 0.0s Theorem REAL_LT_LMUL autoloading from theory `REAL` ... REAL_LT_LMUL = |- !x y z. (& 0) < x ==> ((x * y) < (x * z) = y < z) Run time: 0.0s Theorem REAL_LT_TRANS autoloading from theory `REAL` ... REAL_LT_TRANS = |- !x y z. x < y /\ y < z ==> x < z Run time: 0.0s Theorem REAL_DOWN2 autoloading from theory `REAL` ... REAL_DOWN2 = |- !x y. (& 0) < x /\ (& 0) < y ==> (?z. (& 0) < z /\ z < x /\ z < y) Run time: 0.0s Theorem LESS_0 autoloading from theory `prim_rec` ... LESS_0 = |- !n. 0 num_lt (SUC n) Run time: 0.0s Theorem REAL_LT autoloading from theory `REAL` ... REAL_LT = |- !m n. (& m) < (& n) = m num_lt n Run time: 0.1s Theorem REAL_INV_POS autoloading from theory `REAL` ... REAL_INV_POS = |- !x. (& 0) < x ==> (& 0) < (inv x) Run time: 0.0s Theorem REAL_LT_MUL autoloading from theory `REAL` ... REAL_LT_MUL = |- !x y. (& 0) < x /\ (& 0) < y ==> (& 0) < (x * y) Run time: 0.0s Theorem REAL_LE_ANTISYM autoloading from theory `REAL` ... REAL_LE_ANTISYM = |- !x y. x <= y /\ y <= x = (x = y) Run time: 0.0s Theorem REAL_LT_HALF2 autoloading from theory `REAL` ... REAL_LT_HALF2 = |- !d. (d / (& 2)) < d = (& 0) < d Run time: 0.0s Definition abs autoloading from theory `REAL` ... abs = |- !x. abs x = ((& 0) <= x => x | -- x) Run time: 0.0s Intermediate theorems generated: 1 Theorem REAL_LT_HALF1 autoloading from theory `REAL` ... REAL_LT_HALF1 = |- !d. (& 0) < (d / (& 2)) = (& 0) < d Run time: 0.0s Theorem LIM autoloading from theory `LIM` ... LIM = |- !f y0 x0. (f tends_real_real y0)x0 = (!e. (& 0) < e ==> (?d. (& 0) < d /\ (!x. (& 0) < (abs(x - x0)) /\ (abs(x - x0)) < d ==> (abs((f x) - y0)) < e))) Run time: 0.0s TERMDIFF_LEMMA4 = |- !f K k. (& 0) < k /\ (!h. (& 0) < (abs h) /\ (abs h) < k ==> (abs(f h)) <= (K * (abs h))) ==> (f tends_real_real (& 0))(& 0) Run time: 0.2s Intermediate theorems generated: 917 Theorem SER_LE autoloading from theory `SEQ` ... SER_LE = |- !f g. (!n. (f n) <= (g n)) /\ summable f /\ summable g ==> (suminf f) <= (suminf g) Run time: 0.0s Theorem SER_ABS autoloading from theory `SEQ` ... SER_ABS = |- !f. summable(\n. abs(f n)) ==> (abs(suminf f)) <= (suminf(\n. abs(f n))) Run time: 0.0s Theorem SUM_SUMMABLE autoloading from theory `SEQ` ... SUM_SUMMABLE = |- !f l. f sums l ==> summable f Run time: 0.0s Theorem SUM_UNIQ autoloading from theory `SEQ` ... SUM_UNIQ = |- !f x. f sums x ==> (x = suminf f) Run time: 0.0s TERMDIFF_LEMMA5 = |- !f g k. (& 0) < k /\ summable f /\ (!h. (& 0) < (abs h) /\ (abs h) < k ==> (!n. (abs(g h n)) <= ((f n) * (abs h)))) ==> ((\h. suminf(g h)) tends_real_real (& 0))(& 0) Run time: 0.1s Intermediate theorems generated: 502 Theorem REAL_LT_SUB_LADD autoloading from theory `REAL` ... REAL_LT_SUB_LADD = |- !x y z. x < (y - z) = (x + z) < y Run time: 0.0s Theorem ABS_TRIANGLE autoloading from theory `REAL` ... ABS_TRIANGLE = |- !x y. (abs(x + y)) <= ((abs x) + (abs y)) Run time: 0.0s Theorem REAL_LE_LMUL_IMP autoloading from theory `REAL` ... REAL_LE_LMUL_IMP = |- !x y z. (& 0) <= x /\ y <= z ==> (x * y) <= (x * z) Run time: 0.0s Theorem REAL_MUL_RINV autoloading from theory `REAL` ... REAL_MUL_RINV = |- !x. ~(x = & 0) ==> (x * (inv x) = & 1) Run time: 0.0s Theorem ABS_LE autoloading from theory `REAL` ... ABS_LE = |- !x. x <= (abs x) Run time: 0.0s Theorem REAL_LTE_TRANS autoloading from theory `REAL` ... REAL_LTE_TRANS = |- !x y z. x < y /\ y <= z ==> x < z Run time: 0.0s Theorem POW_1 autoloading from theory `REAL` ... POW_1 = |- !x. x pow 1 = x Run time: 0.0s Theorem ABS_N autoloading from theory `REAL` ... ABS_N = |- !n. abs(& n) = & n Run time: 0.0s Theorem ABS_REFL autoloading from theory `REAL` ... ABS_REFL = |- !x. (abs x = x) = (& 0) <= x Run time: 0.0s Theorem REAL_MEAN autoloading from theory `REAL` ... REAL_MEAN = |- !x y. x < y ==> (?z. x < z /\ z < y) Run time: 0.0s Theorem REAL_SUB_RDISTRIB autoloading from theory `REAL` ... REAL_SUB_RDISTRIB = |- !x y z. (x - y) * z = (x * z) - (y * z) Run time: 0.0s Theorem LIM_NULL autoloading from theory `LIM` ... LIM_NULL = |- !f l x. (f tends_real_real l)x = ((\x. (f x) - l) tends_real_real (& 0))x Run time: 0.0s Theorem SER_CDIV autoloading from theory `SEQ` ... SER_CDIV = |- !x x0 c. x sums x0 ==> (\n. (x n) / c) sums (x0 / c) Run time: 0.0s Theorem SER_SUB autoloading from theory `SEQ` ... SER_SUB = |- !x x0 y y0. x sums x0 /\ y sums y0 ==> (\n. (x n) - (y n)) sums (x0 - y0) Run time: 0.0s Theorem ABS_ZERO autoloading from theory `REAL` ... ABS_ZERO = |- !x. (abs x = & 0) = (x = & 0) Run time: 0.0s Theorem ABS_CIRCLE autoloading from theory `REAL` ... ABS_CIRCLE = |- !x y h. (abs h) < ((abs y) - (abs x)) ==> (abs(x + h)) < (abs y) Run time: 0.0s Theorem REAL_SUB_LT autoloading from theory `REAL` ... REAL_SUB_LT = |- !x y. (& 0) < (x - y) = y < x Run time: 0.0s Theorem LIM_TRANSFORM autoloading from theory `LIM` ... LIM_TRANSFORM = |- !f g x0 l. ((\x. (f x) - (g x)) tends_real_real (& 0))x0 /\ (g tends_real_real l)x0 ==> (f tends_real_real l)x0 Run time: 0.0s Definition diffl autoloading from theory `LIM` ... diffl = |- !f l x. (f diffl l)x = ((\h. ((f(x + h)) - (f x)) / h) tends_real_real l)(& 0) Run time: 0.0s Intermediate theorems generated: 1 TERMDIFF = |- !c K. summable(\n. (c n) * (K pow n)) /\ summable(\n. (diffs c n) * (K pow n)) /\ summable(\n. (diffs(diffs c)n) * (K pow n)) /\ (abs x) < (abs K) ==> ((\x. suminf(\n. (c n) * (x pow n))) diffl (suminf(\n. (diffs c n) * (x pow n)))) x Run time: 0.5s Intermediate theorems generated: 2494 () : void Run time: 0.0s Intermediate theorems generated: 1 File powser.ml loaded () : void Run time: 3.8s Intermediate theorems generated: 8507 #\ echo 'set_flag(`abort_when_fail`,true);;'\ 'loadt `transc.ml`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool Loading library reduce ... Extending help search path. Loading boolean conversions........ Loading arithmetic conversions.................. Loading general conversions, rule and tactic..... Library reduce loaded. () : void false : bool Run time: 0.0s LAND_CONV = - : (conv -> conv) Run time: 0.0s TAUT_CONV = - : conv Run time: 0.0s AC = - : ((thm # thm) -> conv) Run time: 0.0s GEN_PAIR_TAC = - : tactic Run time: 0.0s MK_COMB_TAC = - : tactic Run time: 0.0s BINOP_TAC = - : tactic Run time: 0.0s SYM_CANON_CONV = - : (thm -> ((term # term) -> bool) -> conv) Run time: 0.0s IMP_SUBST_TAC = - : thm_tactic Run time: 0.0s ABBREV_TAC = - : (term -> tactic) Run time: 0.0s EXT_CONV = - : conv Run time: 0.0s ABS_TAC = - : tactic Run time: 0.0s EQUAL_TAC = - : tactic Run time: 0.0s X_BETA_CONV = - : (term -> conv) Run time: 0.0s EXACT_CONV = - : (thm list -> conv) Run time: 0.0s HABS_CONV = - : conv Run time: 0.0s autoload_definitions = - : (string -> void) Run time: 0.0s autoload_theorems = - : (string -> void) Run time: 0.0s EXPAND_TAC = - : (string -> tactic) Run time: 0.0s File useful loaded () : void Run time: 0.2s false : bool Run time: 0.0s () : void Run time: 0.0s Intermediate theorems generated: 1 Theory POWSER loaded () : void Run time: 0.4s Theorem ADD_CLAUSES autoloading from theory `arithmetic` ... ADD_CLAUSES = |- (0 + m = m) /\ (m + 0 = m) /\ ((SUC m) + n = SUC(m + n)) /\ (m + (SUC n) = SUC(m + n)) Run time: 0.0s Theorem DIV_MULT autoloading from theory `arithmetic` ... DIV_MULT = |- !n r. r < n ==> (!q. ((q * n) + r) DIV n = q) Run time: 0.0s Theorem MULT_SYM autoloading from theory `arithmetic` ... MULT_SYM = |- !m n. m * n = n * m Run time: 0.0s MULT_DIV_2 = |- !n. (2 * n) DIV 2 = n Run time: 0.0s Intermediate theorems generated: 66 Theorem LEFT_ADD_DISTRIB autoloading from theory `arithmetic` ... LEFT_ADD_DISTRIB = |- !m n p. p * (m + n) = (p * m) + (p * n) Run time: 0.0s Theorem ADD_ASSOC autoloading from theory `arithmetic` ... ADD_ASSOC = |- !m n p. m + (n + p) = (m + n) + p Run time: 0.0s Theorem ADD1 autoloading from theory `arithmetic` ... ADD1 = |- !m. SUC m = m + 1 Run time: 0.0s Theorem SUC_SUB1 autoloading from theory `arithmetic` ... SUC_SUB1 = |- !m. (SUC m) - 1 = m Run time: 0.1s Theorem ODD_EXISTS autoloading from theory `arithmetic` ... ODD_EXISTS = |- !n. ODD n = (?m. n = SUC(2 * m)) Run time: 0.0s Theorem EVEN_ODD autoloading from theory `arithmetic` ... EVEN_ODD = |- !n. EVEN n = ~ODD n Run time: 0.0s EVEN_DIV2 = |- !n. ~EVEN n ==> ((SUC n) DIV 2 = SUC((n - 1) DIV 2)) Run time: 0.0s Intermediate theorems generated: 152 real_interface_map = [(`--`, `real_neg`); (`num_add`, `+`); (`+`, `real_add`); (`num_mul`, `*`); (`*`, `real_mul`); (`num_sub`, `-`); (`-`, `real_sub`); (`num_lt`, `<`); (`<`, `real_lt`); (`num_le`, `<=`); (`<=`, `real_le`); (`num_gt`, `>`); (`>`, `real_gt`); (`num_ge`, `>=`); (`>=`, `real_ge`); (`inv`, `real_inv`); (`&`, `real_of_num`)] : (string # string) list Run time: 0.0s [(); ()] : void list Run time: 0.0s [] : (string # string) list Run time: 0.0s () : void Run time: 0.0s Intermediate theorems generated: 48 () : void Run time: 0.2s basic_diffs = [] : thm list Run time: 0.0s Theorem DIFF_CHAIN autoloading from theory `LIM` ... DIFF_CHAIN = |- !f g x. (f diffl l)(g x) /\ (g diffl m)x ==> ((\x. f(g x)) diffl (l * m))x Run time: 0.1s Theorem DIFF_POW autoloading from theory `LIM` ... DIFF_POW = |- !n x. ((\x'. x' pow n) diffl ((& n) * (x pow (n num_sub 1))))x Run time: 0.0s Theorem DIFF_X autoloading from theory `LIM` ... DIFF_X = |- !x. ((\x. x) diffl (& 1))x Run time: 0.0s Theorem DIFF_CONST autoloading from theory `LIM` ... DIFF_CONST = |- !k x. ((\x. k) diffl (& 0))x Run time: 0.0s Theorem DIFF_NEG autoloading from theory `LIM` ... DIFF_NEG = |- !f l x. (f diffl l)x ==> ((\x. --(f x)) diffl (-- l))x Run time: 0.0s Theorem DIFF_SUB autoloading from theory `LIM` ... DIFF_SUB = |- !f g l m x. (f diffl l)x /\ (g diffl m)x ==> ((\x. (f x) - (g x)) diffl (l - m))x Run time: 0.0s Theorem DIFF_MUL autoloading from theory `LIM` ... DIFF_MUL = |- !f g l m x. (f diffl l)x /\ (g diffl m)x ==> ((\x. (f x) * (g x)) diffl ((l * (g x)) + (m * (f x))))x Run time: 0.0s Theorem DIFF_ADD autoloading from theory `LIM` ... DIFF_ADD = |- !f g l m x. (f diffl l)x /\ (g diffl m)x ==> ((\x. (f x) + (g x)) diffl (l + m))x Run time: 0.0s Theorem DIFF_DIV autoloading from theory `LIM` ... DIFF_DIV = |- !f g l m. (f diffl l)x /\ (g diffl m)x /\ ~(g x = & 0) ==> ((\x. (f x) / (g x)) diffl (((l * (g x)) - (m * (f x))) / ((g x) pow 2))) x Run time: 0.0s Theorem DIFF_INV autoloading from theory `LIM` ... DIFF_INV = |- !f l x. (f diffl l)x /\ ~(f x = & 0) ==> ((\x. inv(f x)) diffl (--(l / ((f x) pow 2))))x Run time: 0.0s DIFF_CONV = - : conv Run time: 0.0s exp_ser = "\n. inv(&(FACT n))" : term Run time: 0.0s sin_ser = "\n. (EVEN n => & 0 | ((--(& 1)) pow ((n num_sub 1) DIV 2)) / (&(FACT n)))" : term Run time: 0.0s cos_ser = "\n. (EVEN n => ((--(& 1)) pow (n DIV 2)) / (&(FACT n)) | & 0)" : term Run time: 0.0s exp = |- !x. exp x = suminf(\n. ((\n'. inv(&(FACT n')))n) * (x pow n)) Run time: 0.0s Intermediate theorems generated: 2 sin = |- !x. sin x = suminf (\n. ((\n'. (EVEN n' => & 0 | ((--(& 1)) pow ((n' num_sub 1) DIV 2)) / (&(FACT n')))) n) * (x pow n)) Run time: 0.0s Intermediate theorems generated: 2 cos = |- !x. cos x = suminf (\n. ((\n'. (EVEN n' => ((--(& 1)) pow (n' DIV 2)) / (&(FACT n')) | & 0)) n) * (x pow n)) Run time: 0.0s Intermediate theorems generated: 2 Theorem LESS_EQ_SUC_REFL autoloading from theory `arithmetic` ... LESS_EQ_SUC_REFL = |- !m. m num_le (SUC m) Run time: 0.0s Theorem LESS_EQ_TRANS autoloading from theory `arithmetic` ... LESS_EQ_TRANS = |- !m n p. m num_le n /\ n num_le p ==> m num_le p Run time: 0.0s Theorem REAL_LE_RMUL autoloading from theory `REAL` ... REAL_LE_RMUL = |- !x y z. (& 0) < z ==> ((x * z) <= (y * z) = x <= y) Run time: 0.0s Theorem REAL_LT_IMP_LE autoloading from theory `REAL` ... REAL_LT_IMP_LE = |- !x y. x < y ==> x <= y Run time: 0.0s Theorem REAL_LE_TRANS autoloading from theory `REAL` ... REAL_LE_TRANS = |- !x y z. x <= y /\ y <= z ==> x <= z Run time: 0.0s Theorem ZERO_LESS_EQ autoloading from theory `arithmetic` ... ZERO_LESS_EQ = |- !n. 0 num_le n Run time: 0.0s Theorem REAL_LE autoloading from theory `REAL` ... REAL_LE = |- !m n. (& m) <= (& n) = m num_le n Run time: 0.0s Theorem ABS_REFL autoloading from theory `REAL` ... ABS_REFL = |- !x. (abs x = x) = (& 0) <= x Run time: 0.0s Theorem ABS_NZ autoloading from theory `REAL` ... ABS_NZ = |- !x. ~(x = & 0) = (& 0) < (abs x) Run time: 0.0s Theorem REAL_LE_LDIV autoloading from theory `REAL` ... REAL_LE_LDIV = |- !x y z. (& 0) < x /\ y <= (z * x) ==> (y / x) <= z Run time: 0.0s Definition real_div autoloading from theory `REAL` ... real_div = |- !x y. x / y = x * (inv y) Run time: 0.0s Intermediate theorems generated: 1 Theorem ABS_INV autoloading from theory `REAL` ... ABS_INV = |- !x. ~(x = & 0) ==> (abs(inv x) = inv(abs x)) Run time: 0.0s Theorem LESS_0 autoloading from theory `prim_rec` ... LESS_0 = |- !n. 0 num_lt (SUC n) Run time: 0.0s Theorem NOT_SUC autoloading from theory `num` ... NOT_SUC = |- !n. ~(SUC n = 0) Run time: 0.0s Theorem REAL_INJ autoloading from theory `REAL` ... REAL_INJ = |- !m n. (& m = & n) = (m = n) Run time: 0.0s Theorem REAL_INV_MUL autoloading from theory `REAL` ... REAL_INV_MUL = |- !x y. ~(x = & 0) /\ ~(y = & 0) ==> (inv(x * y) = (inv x) * (inv y)) Run time: 0.0s Theorem REAL_MUL autoloading from theory `REAL` ... REAL_MUL = |- !m n. (& m) * (& n) = &(m num_mul n) Run time: 0.0s Definition FACT autoloading from theory `arithmetic` ... FACT = |- (FACT 0 = 1) /\ (!n. FACT(SUC n) = (SUC n) num_mul (FACT n)) Run time: 0.0s Intermediate theorems generated: 1 Theorem ABS_POS autoloading from theory `REAL` ... ABS_POS = |- !x. (& 0) <= (abs x) Run time: 0.0s Theorem REAL_LE_RMUL_IMP autoloading from theory `REAL` ... REAL_LE_RMUL_IMP = |- !x y z. (& 0) <= x /\ y <= z ==> (y * x) <= (z * x) Run time: 0.0s Theorem REAL_MUL_SYM autoloading from theory `REAL` ... REAL_MUL_SYM = |- !x y. x * y = y * x Run time: 0.0s Theorem POW_1 autoloading from theory `REAL` ... POW_1 = |- !x. x pow 1 = x Run time: 0.0s Theorem REAL_MUL_ASSOC autoloading from theory `REAL` ... REAL_MUL_ASSOC = |- !x y z. x * (y * z) = (x * y) * z Run time: 0.0s Theorem ABS_MUL autoloading from theory `REAL` ... ABS_MUL = |- !x y. abs(x * y) = (abs x) * (abs y) Run time: 0.0s Theorem POW_ADD autoloading from theory `REAL` ... POW_ADD = |- !c m n. c pow (m num_add n) = (c pow m) * (c pow n) Run time: 0.0s Theorem GREATER_EQ autoloading from theory `arithmetic` ... GREATER_EQ = |- !n m. n num_ge m = m num_le n Run time: 0.0s Theorem REAL_ARCH autoloading from theory `REAL` ... REAL_ARCH = |- !x. (& 0) < x ==> (!y. ?n. y < ((& n) * x)) Run time: 0.0s Theorem REAL_LT_01 autoloading from theory `REAL` ... REAL_LT_01 = |- (& 0) < (& 1) Run time: 0.0s Theorem REAL_DOWN autoloading from theory `REAL` ... REAL_DOWN = |- !x. (& 0) < x ==> (?y. (& 0) < y /\ y < x) Run time: 0.0s Theorem SER_RATIO autoloading from theory `SEQ` ... SER_RATIO = |- !f c N. c < (& 1) /\ (!n. n num_ge N ==> (abs(f(SUC n))) <= (c * (abs(f n)))) ==> summable f Run time: 0.0s Theorem SUMMABLE_SUM autoloading from theory `SEQ` ... SUMMABLE_SUM = |- !f. summable f ==> f sums (suminf f) Run time: 0.0s Theorem FACT_LESS autoloading from theory `arithmetic` ... FACT_LESS = |- !n. 0 num_lt (FACT n) Run time: 0.0s Theorem REAL_LT autoloading from theory `REAL` ... REAL_LT = |- !m n. (& m) < (& n) = m num_lt n Run time: 0.0s Theorem REAL_LT_IMP_NE autoloading from theory `REAL` ... REAL_LT_IMP_NE = |- !x y. x < y ==> ~(x = y) Run time: 0.0s EXP_CONVERGES = |- !x. (\n. ((\n. inv(&(FACT n)))n) * (x pow n)) sums (exp x) Run time: 0.3s Intermediate theorems generated: 628 Theorem REAL_INV_POS autoloading from theory `REAL` ... REAL_INV_POS = |- !x. (& 0) < x ==> (& 0) < (inv x) Run time: 0.0s Theorem REAL_EQ_IMP_LE autoloading from theory `REAL` ... REAL_EQ_IMP_LE = |- !x y. (x = y) ==> x <= y Run time: 0.0s Theorem REAL_MUL_LID autoloading from theory `REAL` ... REAL_MUL_LID = |- !x. (& 1) * x = x Run time: 0.0s Theorem POW_M1 autoloading from theory `REAL` ... POW_M1 = |- !n. abs((--(& 1)) pow n) = & 1 Run time: 0.0s Theorem REAL_LE_MUL autoloading from theory `REAL` ... REAL_LE_MUL = |- !x y. (& 0) <= x /\ (& 0) <= y ==> (& 0) <= (x * y) Run time: 0.0s Theorem REAL_MUL_LZERO autoloading from theory `REAL` ... REAL_MUL_LZERO = |- !x. (& 0) * x = & 0 Run time: 0.0s Theorem ABS_0 autoloading from theory `REAL` ... ABS_0 = |- abs(& 0) = & 0 Run time: 0.1s Theorem POW_ABS autoloading from theory `REAL` ... POW_ABS = |- !c n. (abs c) pow n = abs(c pow n) Run time: 0.0s Theorem SUM_SUMMABLE autoloading from theory `SEQ` ... SUM_SUMMABLE = |- !f l. f sums l ==> summable f Run time: 0.0s Theorem SER_COMPAR autoloading from theory `SEQ` ... SER_COMPAR = |- !f g. (?N. !n. n num_ge N ==> (abs(f n)) <= (g n)) /\ summable g ==> summable f Run time: 0.0s SIN_CONVERGES = |- !x. (\n. ((\n. (EVEN n => & 0 | ((--(& 1)) pow ((n num_sub 1) DIV 2)) / (&(FACT n)))) n) * (x pow n)) sums (sin x) Run time: 0.1s Intermediate theorems generated: 272 COS_CONVERGES = |- !x. (\n. ((\n. (EVEN n => ((--(& 1)) pow (n DIV 2)) / (&(FACT n)) | & 0))n) * (x pow n)) sums (cos x) Run time: 0.1s Intermediate theorems generated: 272 Theorem REAL_MUL_RINV autoloading from theory `REAL` ... REAL_MUL_RINV = |- !x. ~(x = & 0) ==> (x * (inv x) = & 1) Run time: 0.1s Theorem REAL_EQ_RMUL autoloading from theory `REAL` ... REAL_EQ_RMUL = |- !x y z. (x * z = y * z) = (z = & 0) \/ (x = y) Run time: 0.0s Definition diffs autoloading from theory `POWSER` ... diffs = |- !c. diffs c = (\n. (&(SUC n)) * (c(SUC n))) Run time: 0.0s Intermediate theorems generated: 1 EXP_FDIFF = |- diffs(\n. inv(&(FACT n))) = (\n. inv(&(FACT n))) Run time: 0.0s Intermediate theorems generated: 193 Theorem REAL_MUL_RZERO autoloading from theory `REAL` ... REAL_MUL_RZERO = |- !x. x * (& 0) = & 0 Run time: 0.0s Definition EVEN autoloading from theory `arithmetic` ... EVEN = |- (EVEN 0 = T) /\ (!n. EVEN(SUC n) = ~EVEN n) Run time: 0.0s Intermediate theorems generated: 1 SIN_FDIFF = |- diffs (\n. (EVEN n => & 0 | ((--(& 1)) pow ((n num_sub 1) DIV 2)) / (&(FACT n)))) = (\n. (EVEN n => ((--(& 1)) pow (n DIV 2)) / (&(FACT n)) | & 0)) Run time: 0.1s Intermediate theorems generated: 361 Theorem REAL_NEG_MINUS1 autoloading from theory `REAL` ... REAL_NEG_MINUS1 = |- !x. -- x = (--(& 1)) * x Run time: 0.0s Definition pow autoloading from theory `REAL` ... pow = |- (!x. x pow 0 = & 1) /\ (!x n. x pow (SUC n) = x * (x pow n)) Run time: 0.1s Intermediate theorems generated: 1 Theorem REAL_NEG_LMUL autoloading from theory `REAL` ... REAL_NEG_LMUL = |- !x y. --(x * y) = (-- x) * y Run time: 0.0s Theorem REAL_NEG_0 autoloading from theory `REAL` ... REAL_NEG_0 = |- --(& 0) = & 0 Run time: 0.0s COS_FDIFF = |- diffs(\n. (EVEN n => ((--(& 1)) pow (n DIV 2)) / (&(FACT n)) | & 0)) = (\n. -- ((\n. (EVEN n => & 0 | ((--(& 1)) pow ((n num_sub 1) DIV 2)) / (&(FACT n)))) n)) Run time: 0.1s Intermediate theorems generated: 407 Theorem SER_NEG autoloading from theory `SEQ` ... SER_NEG = |- !x x0. x sums x0 ==> (\n. --(x n)) sums (-- x0) Run time: 0.0s Theorem SUM_UNIQ autoloading from theory `SEQ` ... SUM_UNIQ = |- !f x. f sums x ==> (x = suminf f) Run time: 0.0s SIN_NEGLEMMA = |- !x. --(sin x) = suminf (\n. -- (((\n. (EVEN n => & 0 | ((--(& 1)) pow ((n num_sub 1) DIV 2)) / (&(FACT n)))) n) * (x pow n))) Run time: 0.0s Intermediate theorems generated: 42 Theorem REAL_LT_ADDR autoloading from theory `REAL` ... REAL_LT_ADDR = |- !x y. x < (x + y) = (& 0) < y Run time: 0.1s Theorem ABS_LE autoloading from theory `REAL` ... ABS_LE = |- !x. x <= (abs x) Run time: 0.0s Theorem REAL_LTE_TRANS autoloading from theory `REAL` ... REAL_LTE_TRANS = |- !x y z. x < y /\ y <= z ==> x < z Run time: 0.0s Theorem TERMDIFF autoloading from theory `POWSER` ... TERMDIFF = |- !c K. summable(\n. (c n) * (K pow n)) /\ summable(\n. (diffs c n) * (K pow n)) /\ summable(\n. (diffs(diffs c)n) * (K pow n)) /\ (abs x) < (abs K) ==> ((\x. suminf(\n. (c n) * (x pow n))) diffl (suminf(\n. (diffs c n) * (x pow n)))) x Run time: 0.0s DIFF_EXP = |- !x. (exp diffl (exp x))x Run time: 0.0s Intermediate theorems generated: 144 DIFF_SIN = |- !x. (sin diffl (cos x))x Run time: 0.0s Intermediate theorems generated: 200 Theorem DIFFS_NEG autoloading from theory `POWSER` ... DIFFS_NEG = |- !c. diffs(\n. --(c n)) = (\n. --(diffs c n)) Run time: 0.0s DIFF_COS = |- !x. (cos diffl (--(sin x)))x Run time: 0.1s Intermediate theorems generated: 283 [|- !x. (exp diffl (exp x))x; |- !x. (sin diffl (cos x))x; |- !x. (cos diffl (--(sin x)))x] : thm list Run time: 0.0s Theorem POW_0 autoloading from theory `REAL` ... POW_0 = |- !n. (& 0) pow (SUC n) = & 0 Run time: 0.0s Theorem LESS_ADD_1 autoloading from theory `arithmetic` ... LESS_ADD_1 = |- !m n. n num_lt m ==> (?p. m = n num_add (p num_add 1)) Run time: 0.0s Theorem LESS_EQ autoloading from theory `arithmetic` ... LESS_EQ = |- !m n. m num_lt n = (SUC m) num_le n Run time: 0.1s Theorem REAL_INV1 autoloading from theory `REAL` ... REAL_INV1 = |- inv(& 1) = & 1 Run time: 0.0s Theorem REAL_MUL_RID autoloading from theory `REAL` ... REAL_MUL_RID = |- !x. x * (& 1) = x Run time: 0.0s Theorem REAL_ADD_LID autoloading from theory `REAL` ... REAL_ADD_LID = |- !x. (& 0) + x = x Run time: 0.0s Theorem Sum autoloading from theory `REAL` ... Sum = |- (Sum(n,0)f = & 0) /\ (Sum(n,SUC m)f = (Sum(n,m)f) + (f(n num_add m))) Run time: 0.0s Theorem SER_0 autoloading from theory `SEQ` ... SER_0 = |- !f n. (!m. n num_le m ==> (f m = & 0)) ==> f sums (Sum(0,n)f) Run time: 0.0s EXP_0 = |- exp(& 0) = & 1 Run time: 0.1s Intermediate theorems generated: 274 Theorem REAL_LE_REFL autoloading from theory `REAL` ... REAL_LE_REFL = |- !x. x <= x Run time: 0.0s Theorem REAL_ADD_RID autoloading from theory `REAL` ... REAL_ADD_RID = |- !x. x + (& 0) = x Run time: 0.0s Theorem MULT_CLAUSES autoloading from theory `arithmetic` ... MULT_CLAUSES = |- !m n. (0 num_mul m = 0) /\ (m num_mul 0 = 0) /\ (1 num_mul m = m) /\ (m num_mul 1 = m) /\ ((SUC m) num_mul n = (m num_mul n) num_add n) /\ (m num_mul (SUC n) = m num_add (m num_mul n)) Run time: 0.0s Theorem POW_POS autoloading from theory `REAL` ... POW_POS = |- !x. (& 0) <= x ==> (!n. (& 0) <= (x pow n)) Run time: 0.0s Theorem SER_POS_LE autoloading from theory `SEQ` ... SER_POS_LE = |- !f n. summable f /\ (!m. n num_le m ==> (& 0) <= (f m)) ==> (Sum(0,n)f) <= (suminf f) Run time: 0.0s Theorem REAL_LE_LT autoloading from theory `REAL` ... REAL_LE_LT = |- !x y. x <= y = x < y \/ (x = y) Run time: 0.0s EXP_LE_X = |- !x. (& 0) <= x ==> ((& 1) + x) <= (exp x) Run time: 0.1s Intermediate theorems generated: 420 EXP_LT_1 = |- !x. (& 0) < x ==> (& 1) < (exp x) Run time: 0.0s Intermediate theorems generated: 56 Theorem REAL_SUB_0 autoloading from theory `REAL` ... REAL_SUB_0 = |- !x y. (x - y = & 0) = (x = y) Run time: 0.0s Definition real_sub autoloading from theory `REAL` ... real_sub = |- !x y. x - y = x + (-- y) Run time: 0.0s Intermediate theorems generated: 1 Theorem REAL_NEG_RMUL autoloading from theory `REAL` ... REAL_NEG_RMUL = |- !x y. --(x * y) = x * (-- y) Run time: 0.0s Theorem DIFF_ISCONST_ALL autoloading from theory `LIM` ... DIFF_ISCONST_ALL = |- !f. (!x. (f diffl (& 0))x) ==> (!x y. f x = f y) Run time: 0.0s EXP_ADD_MUL = |- !x y. (exp(x + y)) * (exp(-- x)) = exp y Run time: 0.2s Intermediate theorems generated: 660 EXP_NEG_MUL = |- !x. (exp x) * (exp(-- x)) = & 1 Run time: 0.0s Intermediate theorems generated: 19 EXP_NEG_MUL2 = |- !x. (exp(-- x)) * (exp x) = & 1 Run time: 0.0s Intermediate theorems generated: 16 Theorem REAL_RINV_UNIQ autoloading from theory `REAL` ... REAL_RINV_UNIQ = |- !x y. (x * y = & 1) ==> (y = inv x) Run time: 0.1s EXP_NEG = |- !x. exp(-- x) = inv(exp x) Run time: 0.0s Intermediate theorems generated: 13 Theorem EXP_ADD autoloading from theory `arithmetic` ... EXP_ADD = |- !p q n. n EXP (p num_add q) = (n EXP p) num_mul (n EXP q) Run time: 0.0s EXP_ADD = |- !x y. exp(x + y) = (exp x) * (exp y) Run time: 0.0s Intermediate theorems generated: 71 Theorem REAL_LE_SQUARE autoloading from theory `REAL` ... REAL_LE_SQUARE = |- !x. (& 0) <= (x * x) Run time: 0.0s Theorem REAL_HALF_DOUBLE autoloading from theory `REAL` ... REAL_HALF_DOUBLE = |- !x. (x / (& 2)) + (x / (& 2)) = x Run time: 0.0s EXP_POS_LE = |- !x. (& 0) <= (exp x) Run time: 0.0s Intermediate theorems generated: 27 Theorem REAL_10 autoloading from theory `REAL` ... REAL_10 = |- ~(& 1 = & 0) Run time: 0.0s EXP_NZ = |- !x. ~(exp x = & 0) Run time: 0.0s Intermediate theorems generated: 29 Theorem REAL_LT_LE autoloading from theory `REAL` ... REAL_LT_LE = |- !x y. x < y = x <= y /\ ~(x = y) Run time: 0.0s EXP_POS_LT = |- !x. (& 0) < (exp x) Run time: 0.0s Intermediate theorems generated: 38 Theorem REAL_RDISTRIB autoloading from theory `REAL` ... REAL_RDISTRIB = |- !x y z. (x + y) * z = (x * z) + (y * z) Run time: 0.0s Theorem REAL_ADD autoloading from theory `REAL` ... REAL_ADD = |- !m n. (& m) + (& n) = &(m num_add n) Run time: 0.0s Theorem ADD_SYM autoloading from theory `arithmetic` ... ADD_SYM = |- !m n. m num_add n = n num_add m Run time: 0.0s EXP_N = |- !n x. exp((& n) * x) = (exp x) pow n Run time: 0.1s Intermediate theorems generated: 152 EXP_SUB = |- !x y. exp(x - y) = (exp x) / (exp y) Run time: 0.0s Intermediate theorems generated: 38 Theorem REAL_LT_RMUL autoloading from theory `REAL` ... REAL_LT_RMUL = |- !x y z. (& 0) < z ==> ((x * z) < (y * z) = x < y) Run time: 0.0s Theorem REAL_SUB_LT autoloading from theory `REAL` ... REAL_SUB_LT = |- !x y. (& 0) < (x - y) = y < x Run time: 0.0s EXP_MONO_IMP = |- !x y. x < y ==> (exp x) < (exp y) Run time: 0.0s Intermediate theorems generated: 127 Theorem REAL_NOT_LT autoloading from theory `REAL` ... REAL_NOT_LT = |- !x y. ~x < y = y <= x Run time: 0.1s EXP_MONO_LT = |- !x y. (exp x) < (exp y) = x < y Run time: 0.0s Intermediate theorems generated: 85 EXP_MONO_LE = |- !x y. (exp x) <= (exp y) = x <= y Run time: 0.0s Intermediate theorems generated: 37 Theorem REAL_LE_ANTISYM autoloading from theory `REAL` ... REAL_LE_ANTISYM = |- !x y. x <= y /\ y <= x = (x = y) Run time: 0.0s EXP_INJ = |- !x y. (exp x = exp y) = (x = y) Run time: 0.0s Intermediate theorems generated: 39 Theorem DIFF_CONT autoloading from theory `LIM` ... DIFF_CONT = |- !f l x. (f diffl l)x ==> f contl x Run time: 0.0s Theorem REAL_SUB_ADD2 autoloading from theory `REAL` ... REAL_SUB_ADD2 = |- !x y. y + (x - y) = x Run time: 0.1s Theorem REAL_SUB_LE autoloading from theory `REAL` ... REAL_SUB_LE = |- !x y. (& 0) <= (x - y) = y <= x Run time: 0.0s Theorem REAL_LE_SUB_LADD autoloading from theory `REAL` ... REAL_LE_SUB_LADD = |- !x y z. x <= (y - z) = (x + z) <= y Run time: 0.0s Theorem IVT autoloading from theory `LIM` ... IVT = |- !f a b y. a <= b /\ ((f a) <= y /\ y <= (f b)) /\ (!x. a <= x /\ x <= b ==> f contl x) ==> (?x. a <= x /\ x <= b /\ (f x = y)) Run time: 0.0s EXP_TOTAL_LEMMA = |- !y. (& 1) <= y ==> (?x. (& 0) <= x /\ x <= (y - (& 1)) /\ (exp x = y)) Run time: 0.1s Intermediate theorems generated: 116 Theorem REAL_INVINV autoloading from theory `REAL` ... REAL_INVINV = |- !x. ~(x = & 0) ==> (inv(inv x) = x) Run time: 0.0s Theorem REAL_INV_LT1 autoloading from theory `REAL` ... REAL_INV_LT1 = |- !x. (& 0) < x /\ x < (& 1) ==> (& 1) < (inv x) Run time: 0.0s Theorem REAL_LET_TOTAL autoloading from theory `REAL` ... REAL_LET_TOTAL = |- !x y. x <= y \/ y < x Run time: 0.0s EXP_TOTAL = |- !y. (& 0) < y ==> (?x. exp x = y) Run time: 0.0s Intermediate theorems generated: 134 ln = |- !x. ln x = (@u. exp u = x) Run time: 0.0s Intermediate theorems generated: 2 LN_EXP = |- !x. ln(exp x) = x Run time: 0.1s Intermediate theorems generated: 52 EXP_LN = |- !x. (exp(ln x) = x) = (& 0) < x Run time: 0.0s Intermediate theorems generated: 41 Theorem REAL_LT_MUL autoloading from theory `REAL` ... REAL_LT_MUL = |- !x y. (& 0) < x /\ (& 0) < y ==> (& 0) < (x * y) Run time: 0.0s LN_MUL = |- !x y. (& 0) < x /\ (& 0) < y ==> (ln(x * y) = (ln x) + (ln y)) Run time: 0.1s Intermediate theorems generated: 113 LN_INJ = |- !x y. (& 0) < x /\ (& 0) < y ==> ((ln x = ln y) = (x = y)) Run time: 0.0s Intermediate theorems generated: 53 LN_1 = |- ln(& 1) = & 0 Run time: 0.0s Intermediate theorems generated: 27 Theorem REAL_POS_NZ autoloading from theory `REAL` ... REAL_POS_NZ = |- !x. (& 0) < x ==> ~(x = & 0) Run time: 0.0s Theorem REAL_RNEG_UNIQ autoloading from theory `REAL` ... REAL_RNEG_UNIQ = |- !x y. (x + y = & 0) = (y = -- x) Run time: 0.0s LN_INV = |- !x. (& 0) < x ==> (ln(inv x) = --(ln x)) Run time: 0.1s Intermediate theorems generated: 81 LN_DIV = |- !x. (& 0) < x /\ (& 0) < y ==> (ln(x / y) = (ln x) - (ln y)) Run time: 0.0s Intermediate theorems generated: 78 LN_MONO_LT = |- !x y. (& 0) < x /\ (& 0) < y ==> ((ln x) < (ln y) = x < y) Run time: 0.0s Intermediate theorems generated: 53 LN_MONO_LE = |- !x y. (& 0) < x /\ (& 0) < y ==> ((ln x) <= (ln y) = x <= y) Run time: 0.0s Intermediate theorems generated: 53 LN_POW = |- !n x. (& 0) < x ==> (ln(x pow n) = (& n) * (ln x)) Run time: 0.1s Intermediate theorems generated: 42 root = |- !n x. root n x = (@u. ((& 0) < x ==> (& 0) < u) /\ (u pow n = x)) Run time: 0.0s Intermediate theorems generated: 2 sqrt = |- !x. sqrt x = root 2 x Run time: 0.0s Intermediate theorems generated: 2 Theorem REAL_MUL_LINV autoloading from theory `REAL` ... REAL_MUL_LINV = |- !x. ~(x = & 0) ==> ((inv x) * x = & 1) Run time: 0.0s ROOT_LT_LEMMA = |- !n x. (& 0) < x ==> ((exp((ln x) / (&(SUC n)))) pow (SUC n) = x) Run time: 0.0s Intermediate theorems generated: 123 ROOT_LN = |- !n x. (& 0) < x ==> (!n. root(SUC n)x = exp((ln x) / (&(SUC n)))) Run time: 0.1s Intermediate theorems generated: 282 Theorem REAL_ENTIRE autoloading from theory `REAL` ... REAL_ENTIRE = |- !x y. (x * y = & 0) = (x = & 0) \/ (y = & 0) Run time: 0.0s Theorem REAL_LT_REFL autoloading from theory `REAL` ... REAL_LT_REFL = |- !x. ~x < x Run time: 0.0s ROOT_0 = |- !n. root(SUC n)(& 0) = & 0 Run time: 0.1s Intermediate theorems generated: 209 Theorem REAL_DIV_LZERO autoloading from theory `REAL` ... REAL_DIV_LZERO = |- !x. (& 0) / x = & 0 Run time: 0.0s ROOT_1 = |- !n. root(SUC n)(& 1) = & 1 Run time: 0.0s Intermediate theorems generated: 28 ROOT_POW_POS = |- !n x. (& 0) <= x ==> ((root(SUC n)x) pow (SUC n) = x) Run time: 0.0s Intermediate theorems generated: 66 SQRT_0 = |- sqrt(& 0) = & 0 Run time: 0.1s Intermediate theorems generated: 20 SQRT_1 = |- sqrt(& 1) = & 1 Run time: 0.0s Intermediate theorems generated: 20 Theorem REAL_LE_POW2 autoloading from theory `REAL` ... REAL_LE_POW2 = |- !x. (& 0) <= (x pow 2) Run time: 0.0s SQRT_POW2 = |- !x. ((sqrt x) pow 2 = x) = (& 0) <= x Run time: 0.0s Intermediate theorems generated: 33 Theorem ODD_EVEN autoloading from theory `arithmetic` ... ODD_EVEN = |- !n. ODD n = ~EVEN n Run time: 0.0s SIN_0 = |- sin(& 0) = & 0 Run time: 0.1s Intermediate theorems generated: 206 Theorem REAL_DIV_REFL autoloading from theory `REAL` ... REAL_DIV_REFL = |- !x. ~(x = & 0) ==> (x / x = & 1) Run time: 0.0s Theorem DIV_UNIQUE autoloading from theory `arithmetic` ... DIV_UNIQUE = |- !n k q. (?r. (k = (q num_mul n) num_add r) /\ r num_lt n) ==> (k DIV n = q) Run time: 0.0s COS_0 = |- cos(& 0) = & 1 Run time: 0.1s Intermediate theorems generated: 454 SIN_CIRCLE = |- !x. ((sin x) pow 2) + ((cos x) pow 2) = & 1 Run time: 0.2s Intermediate theorems generated: 690 Theorem REAL_ADD_RINV autoloading from theory `REAL` ... REAL_ADD_RINV = |- !x. x + (-- x) = & 0 Run time: 0.0s Theorem REAL_ADD_SYM autoloading from theory `REAL` ... REAL_ADD_SYM = |- !x y. x + y = y + x Run time: 0.0s Theorem REAL_ADD_ASSOC autoloading from theory `REAL` ... REAL_ADD_ASSOC = |- !x y z. x + (y + z) = (x + y) + z Run time: 0.0s Theorem REAL_LTE_ADD autoloading from theory `REAL` ... REAL_LTE_ADD = |- !x y. (& 0) < x /\ (& 0) <= y ==> (& 0) < (x + y) Run time: 0.0s Theorem POW_2 autoloading from theory `REAL` ... POW_2 = |- !x. x pow 2 = x * x Run time: 0.0s Theorem REAL_POW2_ABS autoloading from theory `REAL` ... REAL_POW2_ABS = |- !x. (abs x) pow 2 = x pow 2 Run time: 0.0s Theorem REAL_LT1_POW2 autoloading from theory `REAL` ... REAL_LT1_POW2 = |- !x. (& 1) < x ==> (& 1) < (x pow 2) Run time: 0.0s Theorem REAL_NOT_LE autoloading from theory `REAL` ... REAL_NOT_LE = |- !x y. ~x <= y = y < x Run time: 0.0s SIN_BOUND = |- !x. (abs(sin x)) <= (& 1) Run time: 0.1s Intermediate theorems generated: 212 Theorem ABS_BOUNDS autoloading from theory `REAL` ... ABS_BOUNDS = |- !x k. (abs x) <= k = (-- k) <= x /\ x <= k Run time: 0.0s SIN_BOUNDS = |- !x. (--(& 1)) <= (sin x) /\ (sin x) <= (& 1) Run time: 0.0s Intermediate theorems generated: 24 Theorem REAL_LET_ADD autoloading from theory `REAL` ... REAL_LET_ADD = |- !x y. (& 0) <= x /\ (& 0) < y ==> (& 0) < (x + y) Run time: 0.0s COS_BOUND = |- !x. (abs(cos x)) <= (& 1) Run time: 0.0s Intermediate theorems generated: 160 COS_BOUNDS = |- !x. (--(& 1)) <= (cos x) /\ (cos x) <= (& 1) Run time: 0.0s Intermediate theorems generated: 24 Theorem REAL_NEGNEG autoloading from theory `REAL` ... REAL_NEGNEG = |- !x. --(-- x) = x Run time: 0.0s Theorem REAL_NEG_ADD autoloading from theory `REAL` ... REAL_NEG_ADD = |- !x y. --(x + y) = (-- x) + (-- y) Run time: 0.0s Theorem REAL_SUB_LZERO autoloading from theory `REAL` ... REAL_SUB_LZERO = |- !x. (& 0) - x = -- x Run time: 0.0s Theorem REAL_EQ_SUB_LADD autoloading from theory `REAL` ... REAL_EQ_SUB_LADD = |- !x y z. (x = y - z) = (x + z = y) Run time: 0.0s Theorem REAL_SUB_REFL autoloading from theory `REAL` ... REAL_SUB_REFL = |- !x. x - x = & 0 Run time: 0.0s Theorem REAL_SUB_RZERO autoloading from theory `REAL` ... REAL_SUB_RZERO = |- !x. x - (& 0) = x Run time: 0.0s SIN_COS_ADD = |- !x y. (((sin(x + y)) - (((sin x) * (cos y)) + ((cos x) * (sin y)))) pow 2) + (((cos(x + y)) - (((cos x) * (cos y)) - ((sin x) * (sin y)))) pow 2) = & 0 Run time: 0.6s Intermediate theorems generated: 1747 SIN_COS_NEG = |- !x. (((sin(-- x)) + (sin x)) pow 2) + (((cos(-- x)) - (cos x)) pow 2) = & 0 Run time: 0.3s Intermediate theorems generated: 1099 Theorem REAL_SUMSQ autoloading from theory `REAL` ... REAL_SUMSQ = |- !x y. ((x * x) + (y * y) = & 0) = (x = & 0) /\ (y = & 0) Run time: 0.0s SIN_ADD = |- !x y. sin(x + y) = ((sin x) * (cos y)) + ((cos x) * (sin y)) Run time: 0.0s Intermediate theorems generated: 51 COS_ADD = |- !x y. cos(x + y) = ((cos x) * (cos y)) - ((sin x) * (sin y)) Run time: 0.1s Intermediate theorems generated: 51 Theorem REAL_LNEG_UNIQ autoloading from theory `REAL` ... REAL_LNEG_UNIQ = |- !x y. (x + y = & 0) = (x = -- y) Run time: 0.0s SIN_NEG = |- !x. sin(-- x) = --(sin x) Run time: 0.0s Intermediate theorems generated: 48 COS_NEG = |- !x. cos(-- x) = cos x Run time: 0.0s Intermediate theorems generated: 47 Theorem REAL_DOUBLE autoloading from theory `REAL` ... REAL_DOUBLE = |- !x. x + x = (& 2) * x Run time: 0.0s SIN_DOUBLE = |- !x. sin((& 2) * x) = (& 2) * ((sin x) * (cos x)) Run time: 0.0s Intermediate theorems generated: 29 COS_DOUBLE = |- !x. cos((& 2) * x) = ((cos x) pow 2) - ((sin x) pow 2) Run time: 0.0s Intermediate theorems generated: 34 Theorem ODD_DOUBLE autoloading from theory `arithmetic` ... ODD_DOUBLE = |- !n. ODD(SUC(2 num_mul n)) Run time: 0.0s Theorem EVEN_DOUBLE autoloading from theory `arithmetic` ... EVEN_DOUBLE = |- !n. EVEN(2 num_mul n) Run time: 0.0s Theorem SUM_2 autoloading from theory `REAL` ... SUM_2 = |- !f n. Sum(n,2)f = (f n) + (f(n num_add 1)) Run time: 0.0s Theorem SER_PAIR autoloading from theory `SEQ` ... SER_PAIR = |- !f. summable f ==> (\n. Sum(2 num_mul n,2)f) sums (suminf f) Run time: 0.0s SIN_PAIRED = |- !x. (\n. (((--(& 1)) pow n) / (&(FACT((2 num_mul n) num_add 1)))) * (x pow ((2 num_mul n) num_add 1))) sums (sin x) Run time: 0.1s Intermediate theorems generated: 183 Theorem LESS_EQ_MONO autoloading from theory `arithmetic` ... LESS_EQ_MONO = |- !n m. (SUC n) num_le (SUC m) = n num_le m Run time: 0.0s Theorem LESS_SUC_REFL autoloading from theory `prim_rec` ... LESS_SUC_REFL = |- !n. n num_lt (SUC n) Run time: 0.0s Theorem REAL_LT_TRANS autoloading from theory `REAL` ... REAL_LT_TRANS = |- !x y z. x < y /\ y < z ==> x < z Run time: 0.0s Theorem REAL_LT_MUL2 autoloading from theory `REAL` ... REAL_LT_MUL2 = |- !x1 x2 y1 y2. (& 0) <= x1 /\ (& 0) <= y1 /\ x1 < x2 /\ y1 < y2 ==> (x1 * y1) < (x2 * y2) Run time: 0.0s Theorem REAL_LT_1 autoloading from theory `REAL` ... REAL_LT_1 = |- !x y. (& 0) <= x /\ x < y ==> (x / y) < (& 1) Run time: 0.1s Theorem POW_POS_LT autoloading from theory `REAL` ... POW_POS_LT = |- !x n. (& 0) < x ==> (& 0) < (x pow (SUC n)) Run time: 0.0s Theorem REAL_LT_RMUL_IMP autoloading from theory `REAL` ... REAL_LT_RMUL_IMP = |- !x y z. x < y /\ (& 0) < z ==> (x * z) < (y * z) Run time: 0.0s Theorem SER_POS_LT autoloading from theory `SEQ` ... SER_POS_LT = |- !f n. summable f /\ (!m. n num_le m ==> (& 0) < (f m)) ==> (Sum(0,n)f) < (suminf f) Run time: 0.0s Theorem POW_MINUS1 autoloading from theory `REAL` ... POW_MINUS1 = |- !n. (--(& 1)) pow (2 num_mul n) = & 1 Run time: 0.0s SIN_POS = |- !x. (& 0) < x /\ x < (& 2) ==> (& 0) < (sin x) Run time: 0.3s Intermediate theorems generated: 2052 COS_PAIRED = |- !x. (\n. (((--(& 1)) pow n) / (&(FACT(2 num_mul n)))) * (x pow (2 num_mul n))) sums (cos x) Run time: 0.1s Intermediate theorems generated: 163 Theorem LESS_MONO_EQ autoloading from theory `arithmetic` ... LESS_MONO_EQ = |- !m n. (SUC m) num_lt (SUC n) = m num_lt n Run time: 0.0s Theorem SER_POS_LT_PAIR autoloading from theory `SEQ` ... SER_POS_LT_PAIR = |- !f n. summable f /\ (!d. (& 0) < ((f(n num_add (2 num_mul d))) + (f(n num_add ((2 num_mul d) num_add 1))))) ==> (Sum(0,n)f) < (suminf f) Run time: 0.0s Theorem REAL_ADD_LINV autoloading from theory `REAL` ... REAL_ADD_LINV = |- !x. (-- x) + x = & 0 Run time: 0.0s Theorem REAL_EQ_LMUL_IMP autoloading from theory `REAL` ... REAL_EQ_LMUL_IMP = |- !x y z. ~(x = & 0) /\ (x * y = x * z) ==> (y = z) Run time: 0.0s Theorem REAL_NEG_LT0 autoloading from theory `REAL` ... REAL_NEG_LT0 = |- !x. (-- x) < (& 0) = (& 0) < x Run time: 0.0s COS_2 = |- (cos(& 2)) < (& 0) Run time: 0.7s Intermediate theorems generated: 3794 Theorem REAL_LET_TRANS autoloading from theory `REAL` ... REAL_LET_TRANS = |- !x y z. x <= y /\ y < z ==> x < z Run time: 0.0s Theorem REAL_NEG_EQ0 autoloading from theory `REAL` ... REAL_NEG_EQ0 = |- !x. (-- x = & 0) = (x = & 0) Run time: 0.0s Theorem DIFF_UNIQ autoloading from theory `LIM` ... DIFF_UNIQ = |- !f l m x. (f diffl l)x /\ (f diffl m)x ==> (l = m) Run time: 0.0s Theorem ROLLE autoloading from theory `LIM` ... ROLLE = |- !f a b. a < b /\ (f a = f b) /\ (!x. a <= x /\ x <= b ==> f contl x) /\ (!x. a < x /\ x < b ==> f differentiable x) ==> (?z. a < z /\ z < b /\ (f diffl (& 0))z) Run time: 0.0s Definition differentiable autoloading from theory `LIM` ... differentiable = |- !f x. f differentiable x = (?l. (f diffl l)x) Run time: 0.0s Intermediate theorems generated: 1 Theorem REAL_LT_TOTAL autoloading from theory `REAL` ... REAL_LT_TOTAL = |- !x y. (x = y) \/ x < y \/ y < x Run time: 0.0s Theorem REAL_LE_01 autoloading from theory `REAL` ... REAL_LE_01 = |- (& 0) <= (& 1) Run time: 0.0s Theorem IVT2 autoloading from theory `LIM` ... IVT2 = |- !f a b y. a <= b /\ ((f b) <= y /\ y <= (f a)) /\ (!x. a <= x /\ x <= b ==> f contl x) ==> (?x. a <= x /\ x <= b /\ (f x = y)) Run time: 0.0s COS_ISZERO = |- ?! x. (& 0) <= x /\ x <= (& 2) /\ (cos x = & 0) Run time: 0.2s Intermediate theorems generated: 775 pi = |- pi = (& 2) * (@x. (& 0) <= x /\ x <= (& 2) /\ (cos x = & 0)) Run time: 0.0s Intermediate theorems generated: 2 PI2 = |- pi / (& 2) = (@x. (& 0) <= x /\ x <= (& 2) /\ (cos x = & 0)) Run time: 0.0s Intermediate theorems generated: 117 COS_PI2 = |- cos(pi / (& 2)) = & 0 Run time: 0.1s Intermediate theorems generated: 42 PI2_BOUNDS = |- (& 0) < (pi / (& 2)) /\ (pi / (& 2)) < (& 2) Run time: 0.0s Intermediate theorems generated: 124 Theorem REAL_LT_ADD autoloading from theory `REAL` ... REAL_LT_ADD = |- !x y. (& 0) < x /\ (& 0) < y ==> (& 0) < (x + y) Run time: 0.0s PI_POS = |- (& 0) < pi Run time: 0.0s Intermediate theorems generated: 31 Theorem REAL_LT_GT autoloading from theory `REAL` ... REAL_LT_GT = |- !x y. x < y ==> ~y < x Run time: 0.0s Theorem REAL_DIFFSQ autoloading from theory `REAL` ... REAL_DIFFSQ = |- !x y. (x + y) * (x - y) = (x * x) - (y * y) Run time: 0.0s SIN_PI2 = |- sin(pi / (& 2)) = & 1 Run time: 0.0s Intermediate theorems generated: 212 Theorem REAL_DIV_LMUL autoloading from theory `REAL` ... REAL_DIV_LMUL = |- !x y. ~(y = & 0) ==> (y * (x / y) = x) Run time: 0.0s COS_PI = |- cos pi = --(& 1) Run time: 0.0s Intermediate theorems generated: 84 SIN_PI = |- sin pi = & 0 Run time: 0.0s Intermediate theorems generated: 79 SIN_COS = |- !x. sin x = cos((pi / (& 2)) - x) Run time: 0.0s Intermediate theorems generated: 66 COS_SIN = |- !x. cos x = sin((pi / (& 2)) - x) Run time: 0.0s Intermediate theorems generated: 56 SIN_PERIODIC_PI = |- !x. sin(x + pi) = --(sin x) Run time: 0.0s Intermediate theorems generated: 59 COS_PERIODIC_PI = |- !x. cos(x + pi) = --(cos x) Run time: 0.0s Intermediate theorems generated: 59 SIN_PERIODIC = |- !x. sin(x + ((& 2) * pi)) = sin x Run time: 0.0s Intermediate theorems generated: 47 COS_PERIODIC = |- !x. cos(x + ((& 2) * pi)) = cos x Run time: 0.1s Intermediate theorems generated: 47 COS_NPI = |- !n. cos((& n) * pi) = (--(& 1)) pow n Run time: 0.0s Intermediate theorems generated: 134 SIN_NPI = |- !n. sin((& n) * pi) = & 0 Run time: 0.1s Intermediate theorems generated: 137 SIN_POS_PI2 = |- !x. (& 0) < x /\ x < (pi / (& 2)) ==> (& 0) < (sin x) Run time: 0.0s Intermediate theorems generated: 53 COS_POS_PI2 = |- !x. (& 0) < x /\ x < (pi / (& 2)) ==> (& 0) < (cos x) Run time: 0.1s Intermediate theorems generated: 450 Theorem REAL_LT_NEG autoloading from theory `REAL` ... REAL_LT_NEG = |- !x y. (-- x) < (-- y) = y < x Run time: 0.0s COS_POS_PI = |- !x. (--(pi / (& 2))) < x /\ x < (pi / (& 2)) ==> (& 0) < (cos x) Run time: 0.1s Intermediate theorems generated: 143 Theorem REAL_LT_SUB_RADD autoloading from theory `REAL` ... REAL_LT_SUB_RADD = |- !x y z. (x - y) < z = x < (z + y) Run time: 0.0s Theorem REAL_LT_SUB_LADD autoloading from theory `REAL` ... REAL_LT_SUB_LADD = |- !x y z. x < (y - z) = (x + z) < y Run time: 0.0s Theorem REAL_NEG_SUB autoloading from theory `REAL` ... REAL_NEG_SUB = |- !x y. --(x - y) = y - x Run time: 0.0s SIN_POS_PI = |- !x. (& 0) < x /\ x < pi ==> (& 0) < (sin x) Run time: 0.0s Intermediate theorems generated: 96 COS_TOTAL = |- !y. (--(& 1)) <= y /\ y <= (& 1) ==> (?! x. (& 0) <= x /\ x <= pi /\ (cos x = y)) Run time: 0.2s Intermediate theorems generated: 766 Theorem REAL_EQ_RADD autoloading from theory `REAL` ... REAL_EQ_RADD = |- !x y z. (x + z = y + z) = (x = y) Run time: 0.0s Theorem REAL_SUB_ADD autoloading from theory `REAL` ... REAL_SUB_ADD = |- !x y. (x - y) + y = x Run time: 0.0s Theorem REAL_LE_NEG autoloading from theory `REAL` ... REAL_LE_NEG = |- !x y. (-- x) <= (-- y) = y <= x Run time: 0.1s Theorem REAL_ADD_SUB autoloading from theory `REAL` ... REAL_ADD_SUB = |- !x y. (x + y) - x = y Run time: 0.0s Theorem REAL_EQ_NEG autoloading from theory `REAL` ... REAL_EQ_NEG = |- !x y. (-- x = -- y) = (x = y) Run time: 0.0s Theorem REAL_LE_SUB_RADD autoloading from theory `REAL` ... REAL_LE_SUB_RADD = |- !x y z. (x - y) <= z = x <= (z + y) Run time: 0.0s SIN_TOTAL = |- !y. (--(& 1)) <= y /\ y <= (& 1) ==> (?! x. (--(pi / (& 2))) <= x /\ x <= (pi / (& 2)) /\ (sin x = y)) Run time: 0.1s Intermediate theorems generated: 431 Theorem REAL_DIV_RMUL autoloading from theory `REAL` ... REAL_DIV_RMUL = |- !x y. ~(y = & 0) ==> ((x / y) * y = x) Run time: 0.0s Theorem REAL_EQ_SUB_RADD autoloading from theory `REAL` ... REAL_EQ_SUB_RADD = |- !x y z. (x - y = z) = (x = z + y) Run time: 0.0s Theorem REAL_LT_HALF2 autoloading from theory `REAL` ... REAL_LT_HALF2 = |- !d. (d / (& 2)) < d = (& 0) < d Run time: 0.0s Theorem REAL_LT_HALF1 autoloading from theory `REAL` ... REAL_LT_HALF1 = |- !d. (& 0) < (d / (& 2)) = (& 0) < d Run time: 0.0s Theorem REAL_NEG_LE0 autoloading from theory `REAL` ... REAL_NEG_LE0 = |- !x. (-- x) <= (& 0) = (& 0) <= x Run time: 0.0s Theorem REAL_ARCH_LEAST autoloading from theory `REAL` ... REAL_ARCH_LEAST = |- !y. (& 0) < y ==> (!x. (& 0) <= x ==> (?n. ((& n) * y) <= x /\ x < ((&(SUC n)) * y))) Run time: 0.0s COS_ZERO_LEMMA = |- !x. (& 0) <= x /\ (cos x = & 0) ==> (?n. ~EVEN n /\ (x = (& n) * (pi / (& 2)))) Run time: 0.1s Intermediate theorems generated: 675 Theorem REAL_LE_ADDR autoloading from theory `REAL` ... REAL_LE_ADDR = |- !x y. x <= (x + y) = (& 0) <= y Run time: 0.0s SIN_ZERO_LEMMA = |- !x. (& 0) <= x /\ (sin x = & 0) ==> (?n. EVEN n /\ (x = (& n) * (pi / (& 2)))) Run time: 0.0s Intermediate theorems generated: 305 Theorem REAL_NEG_EQ autoloading from theory `REAL` ... REAL_NEG_EQ = |- !x y. (-- x = y) = (x = -- y) Run time: 0.0s Theorem REAL_LE_TOTAL autoloading from theory `REAL` ... REAL_LE_TOTAL = |- !x y. x <= y \/ y <= x Run time: 0.1s COS_ZERO = |- !x. (cos x = & 0) = (?n. ~EVEN n /\ (x = (& n) * (pi / (& 2)))) \/ (?n. ~EVEN n /\ (x = --((& n) * (pi / (& 2))))) Run time: 0.1s Intermediate theorems generated: 630 Theorem EVEN_EXISTS autoloading from theory `arithmetic` ... EVEN_EXISTS = |- !n. EVEN n = (?m. n = 2 num_mul m) Run time: 0.0s Theorem REAL_NEG_GE0 autoloading from theory `REAL` ... REAL_NEG_GE0 = |- !x. (& 0) <= (-- x) = x <= (& 0) Run time: 0.0s SIN_ZERO = |- !x. (sin x = & 0) = (?n. EVEN n /\ (x = (& n) * (pi / (& 2)))) \/ (?n. EVEN n /\ (x = --((& n) * (pi / (& 2))))) Run time: 0.1s Intermediate theorems generated: 319 tan = |- !x. tan x = (sin x) / (cos x) Run time: 0.0s Intermediate theorems generated: 2 TAN_0 = |- tan(& 0) = & 0 Run time: 0.1s Intermediate theorems generated: 19 TAN_PI = |- tan pi = & 0 Run time: 0.0s Intermediate theorems generated: 19 TAN_NPI = |- !n. tan((& n) * pi) = & 0 Run time: 0.0s Intermediate theorems generated: 24 TAN_NEG = |- !x. tan(-- x) = --(tan x) Run time: 0.0s Intermediate theorems generated: 46 TAN_PERIODIC = |- !x. tan(x + ((& 2) * pi)) = tan x Run time: 0.0s Intermediate theorems generated: 24 Theorem REAL_LDISTRIB autoloading from theory `REAL` ... REAL_LDISTRIB = |- !x y z. x * (y + z) = (x * y) + (x * z) Run time: 0.0s Theorem REAL_SUB_LDISTRIB autoloading from theory `REAL` ... REAL_SUB_LDISTRIB = |- !x y z. x * (y - z) = (x * y) - (x * z) Run time: 0.0s Theorem REAL_DIV_MUL2 autoloading from theory `REAL` ... REAL_DIV_MUL2 = |- !x z. ~(x = & 0) /\ ~(z = & 0) ==> (!y. y / z = (x * y) / (x * z)) Run time: 0.0s TAN_ADD = |- !x y. ~(cos x = & 0) /\ ~(cos y = & 0) /\ ~(cos(x + y) = & 0) ==> (tan(x + y) = ((tan x) + (tan y)) / ((& 1) - ((tan x) * (tan y)))) Run time: 0.2s Intermediate theorems generated: 869 TAN_DOUBLE = |- !x. ~(cos x = & 0) /\ ~(cos((& 2) * x) = & 0) ==> (tan((& 2) * x) = ((& 2) * (tan x)) / ((& 1) - ((tan x) pow 2))) Run time: 0.0s Intermediate theorems generated: 68 TAN_POS_PI2 = |- !x. (& 0) < x /\ x < (pi / (& 2)) ==> (& 0) < (tan x) Run time: 0.0s Intermediate theorems generated: 78 Theorem REAL_INV_1OVER autoloading from theory `REAL` ... REAL_INV_1OVER = |- !x. inv x = (& 1) / x Run time: 0.0s DIFF_TAN = |- !x. ~(cos x = & 0) ==> (tan diffl (inv((cos x) pow 2)))x Run time: 0.2s Intermediate theorems generated: 532 Theorem REAL_LT_INV autoloading from theory `REAL` ... REAL_LT_INV = |- !x y. (& 0) < x /\ x < y ==> (inv y) < (inv x) Run time: 0.0s Theorem ABS_NEG autoloading from theory `REAL` ... ABS_NEG = |- !x. abs(-- x) = abs x Run time: 0.0s Theorem REAL_SUB_SUB autoloading from theory `REAL` ... REAL_SUB_SUB = |- !x y. (x - y) - x = -- y Run time: 0.0s Theorem REAL_DOWN2 autoloading from theory `REAL` ... REAL_DOWN2 = |- !x y. (& 0) < x /\ (& 0) < y ==> (?z. (& 0) < z /\ z < x /\ z < y) Run time: 0.0s Theorem LIM autoloading from theory `LIM` ... LIM = |- !f y0 x0. (f tends_real_real y0)x0 = (!e. (& 0) < e ==> (?d. (& 0) < d /\ (!x. (& 0) < (abs(x - x0)) /\ (abs(x - x0)) < d ==> (abs((f x) - y0)) < e))) Run time: 0.0s Theorem CONTL_LIM autoloading from theory `LIM` ... CONTL_LIM = |- !f x. f contl x = (f tends_real_real (f x))x Run time: 0.0s Theorem LIM_DIV autoloading from theory `LIM` ... LIM_DIV = |- !f g l m. (f tends_real_real l)x /\ (g tends_real_real m)x /\ ~(m = & 0) ==> ((\x. (f x) / (g x)) tends_real_real (l / m))x Run time: 0.0s TAN_TOTAL_LEMMA = |- !y. (& 0) < y ==> (?x. (& 0) < x /\ x < (pi / (& 2)) /\ y < (tan x)) Run time: 0.1s Intermediate theorems generated: 1046 TAN_TOTAL_POS = |- !y. (& 0) <= y ==> (?x. (& 0) <= x /\ x < (pi / (& 2)) /\ (tan x = y)) Run time: 0.1s Intermediate theorems generated: 372 Theorem POW_NZ autoloading from theory `REAL` ... POW_NZ = |- !c n. ~(c = & 0) ==> ~(c pow n = & 0) Run time: 0.0s Theorem REAL_INV_NZ autoloading from theory `REAL` ... REAL_INV_NZ = |- !x. ~(x = & 0) ==> ~(inv x = & 0) Run time: 0.0s Theorem REAL_LE_NEGL autoloading from theory `REAL` ... REAL_LE_NEGL = |- !x. (-- x) <= x = (& 0) <= x Run time: 0.0s Theorem REAL_LE_NEGTOTAL autoloading from theory `REAL` ... REAL_LE_NEGTOTAL = |- !x. (& 0) <= x \/ (& 0) <= (-- x) Run time: 0.0s TAN_TOTAL = |- !y. ?! x. (--(pi / (& 2))) < x /\ x < (pi / (& 2)) /\ (tan x = y) Run time: 0.2s Intermediate theorems generated: 1301 asn = |- !y. asn y = (@x. (--(pi / (& 2))) <= x /\ x <= (pi / (& 2)) /\ (sin x = y)) Run time: 0.0s Intermediate theorems generated: 2 acs = |- !y. acs y = (@x. (& 0) <= x /\ x <= pi /\ (cos x = y)) Run time: 0.1s Intermediate theorems generated: 2 atn = |- !y. atn y = (@x. (--(pi / (& 2))) < x /\ x < (pi / (& 2)) /\ (tan x = y)) Run time: 0.0s Intermediate theorems generated: 2 ASN = |- !y. (--(& 1)) <= y /\ y <= (& 1) ==> (--(pi / (& 2))) <= (asn y) /\ (asn y) <= (pi / (& 2)) /\ (sin(asn y) = y) Run time: 0.0s Intermediate theorems generated: 79 ASN_SIN = |- !y. (--(& 1)) <= y /\ y <= (& 1) ==> (sin(asn y) = y) Run time: 0.1s Intermediate theorems generated: 18 ASN_BOUNDS = |- !y. (--(& 1)) <= y /\ y <= (& 1) ==> (--(pi / (& 2))) <= (asn y) /\ (asn y) <= (pi / (& 2)) Run time: 0.1s Intermediate theorems generated: 17 SIN_ASN = |- !x. (--(pi / (& 2))) <= x /\ x <= (pi / (& 2)) ==> (asn(sin x) = x) Run time: 0.0s Intermediate theorems generated: 86 ACS = |- !y. (--(& 1)) <= y /\ y <= (& 1) ==> (& 0) <= (acs y) /\ (acs y) <= pi /\ (cos(acs y) = y) Run time: 0.0s Intermediate theorems generated: 79 ACS_COS = |- !y. (--(& 1)) <= y /\ y <= (& 1) ==> (cos(acs y) = y) Run time: 0.1s Intermediate theorems generated: 18 ACS_BOUNDS = |- !y. (--(& 1)) <= y /\ y <= (& 1) ==> (& 0) <= (acs y) /\ (acs y) <= pi Run time: 0.1s Intermediate theorems generated: 17 COS_ACS = |- !x. (& 0) <= x /\ x <= pi ==> (acs(cos x) = x) Run time: 0.0s Intermediate theorems generated: 86 ATN = |- !y. (--(pi / (& 2))) < (atn y) /\ (atn y) < (pi / (& 2)) /\ (tan(atn y) = y) Run time: 0.1s Intermediate theorems generated: 76 ATN_TAN = |- !y. tan(atn y) = y Run time: 0.0s Intermediate theorems generated: 28 ATN_BOUNDS = |- !y. (--(pi / (& 2))) < (atn y) /\ (atn y) < (pi / (& 2)) Run time: 0.0s Intermediate theorems generated: 28 TAN_ATN = |- !x. (--(pi / (& 2))) < x /\ x < (pi / (& 2)) ==> (atn(tan x) = x) Run time: 0.1s Intermediate theorems generated: 103 () : void Run time: 0.0s Intermediate theorems generated: 1 File transc.ml loaded () : void Run time: 12.7s Intermediate theorems generated: 30503 #make[5]: Leaving directory '/<>/Library/reals/theories' make[4]: Leaving directory '/<>/Library/reals' make[4]: Entering directory '/<>/Library/window' rm -f win.th echo 'set_flag(`abort_when_fail`,true);;' \ 'loadt `mk_win_th`;;' \ 'quit ();;' | ../../hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool () : void |- !a b. a <== b = b ==> a () : void File mk_win_th loaded () : void #echo 'set_flag(`abort_when_fail`,true);;' \ 'compilet `ml_ext`;;' \ 'quit();;' | ../../hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool () : void le = - : (int -> int -> bool) () : void ge = - : (int -> int -> bool) prefix = - : (* list -> * list -> bool) suffix = - : (* list -> * list -> bool) after = - : (* list -> * list -> * list) before = - : (* list -> * list -> * list) index = - : ((* -> bool) -> * list -> int) merge = - : (((* # *) -> bool) -> * list -> * list -> * list) best = - : (((* # *) -> bool) -> * list -> *) first = - : (int -> * list -> * list) last = - : (int -> * list -> * list) New constructors declared: POINTER : (((void -> *) # (* -> void) # (void -> void)) -> * pointer) value = - : (* pointer -> *) store = - : (* pointer -> * -> void) dispose = - : (* pointer -> void) is_nil = - : (* pointer -> bool) ptrtype = - : (string -> string -> void) New constructors declared: SIGNAL : (((* -> void) # (void -> void) # ((* -> void) -> void)) -> * signal) signal = - : (* signal -> * -> void) clear = - : (* signal -> void) handle = - : (* signal -> (* -> void) -> void) sigtype = - : (string -> string -> void) Calling Lisp compiler File ml_ext compiled () : void #echo 'set_flag(`abort_when_fail`,true);;' \ 'load_theory `win`;;' \ 'compilet `thms`;;' \ 'quit();;' | ../../hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool Theory win loaded () : void PMI_DEF = |- !a b. a <== b = b ==> a IMP_REFL_THM = |- !x. x ==> x IMP_TRANS_THM = |- !x y z. (x ==> y) /\ (y ==> z) ==> x ==> z PMI_REFL_THM = |- !x. x <== x PMI_TRANS_THM = |- !x y z. x <== y /\ y <== z ==> x <== z Calling Lisp compiler File thms compiled () : void #echo 'set_flag(`abort_when_fail`,true);;' \ 'load_theory `win`;;' \ 'loadf `thms`;;' \ 'compilet `hol_ext`;;' \ 'quit();;' | ../../hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool Theory win loaded () : void .....() : void goal_frees = - : (goal -> term list) term_mem = - : (term -> term list -> bool) term_subset = - : (term list -> term list -> bool) term_setify = - : (term list -> term list) term_intersect = - : (term list -> term list -> term list) term_union = - : (term list -> term list -> term list) better_thm = - : (thm -> thm -> bool) better_goal = - : (goal -> goal -> bool) thm_subset = - : (thm list -> thm list -> bool) thm_set_equal = - : (thm list -> thm list -> bool) goal_subset = - : (goal list -> goal list -> bool) goal_set_equal = - : (goal list -> goal list -> bool) thm_setify = - : (thm list -> thm list) goal_setify = - : (goal list -> goal list) is_fun = - : (term -> bool) dom = - : (term -> type) ran = - : (term -> type) is_trueimp = - : (term -> bool) is_pmi = - : (term -> bool) dest_pmi = - : (term -> (term # term)) IMP_PMI_CONV = - : conv IMP_PMI = - : (thm -> thm) PMI_IMP_CONV = - : conv PMI_IMP = - : (thm -> thm) IMP_REFL = - : conv PMI_REFL = - : conv PMI_TRANS = - : (thm -> thm -> thm) EXISTS_PMI = - : (term -> thm -> thm) DNEG_THM = |- !t. ~~t = t NOT_DISJ_THM = |- !t1 t2. ~(t1 \/ t2) = ~t1 /\ ~t2 NOT_IMP_THM = |- !t1 t2. ~(t1 ==> t2) = t1 /\ ~t2 NOT_PMI_THM = |- !t1 t2. ~t1 <== t2 = ~t1 /\ t2 COND_F_THM = |- !t1 t2. (t1 => t2 | F) = t1 /\ t2 SMASH = - : (thm -> thm list) - : (thm -> thm list) SMASH = - : (thm -> thm list) smash = - : (term -> term list) prove_hyp = - : (goal -> goal -> goal) true_tm = "T" : term false_tm = "F" : term imp_tm = "$==>" : term pmi_tm = "$<==" : term equiv_tm = "$=" : term Calling Lisp compiler File hol_ext compiled () : void #echo 'set_flag(`abort_when_fail`,true);;' \ 'load_theory `win`;;' \ 'loadf `thms`;;' \ 'loadf `hol_ext`;;' \ 'compilet `tables`;;' \ 'quit();;' | ../../hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool Theory win loaded () : void .....() : void .......................................() : void FAST_MATCH_MP = - : (thm -> thm -> thm) refl_ptr = - : conv add_refl = - : (thm -> void) reflexive = - : conv trans_ptr = - : (thm -> thm) add_trans = - : (thm -> void) transitive = - : (thm -> thm) known_relation = - : (term -> bool) weakenings = [] : thm list weak_table = [] : (term # term list) list check_weak_thm = - : (thm -> (term # term)) MATCH_IMP_TRANS = - : (thm -> thm -> thm) stronger = - : ((term # term) -> bool) weaker = - : ((term # term) -> bool) match_type = - : (term -> term -> (type # type) list) rel_str = - : (term -> term list) add_weak = - : (thm -> void) weaken = - : (term -> thm -> thm) relative_strengths = - : (term -> term list) add_relation = - : ((thm # thm) -> void) () : void () : void () : void ((-), (-), (-), (-), (-), -) : (((thm # thm) -> void) # conv # (thm -> thm) # (thm -> void) # (term -> thm -> thm) # (term -> term list)) add_relation = - : ((thm # thm) -> void) reflexive = - : conv transitive = - : (thm -> thm) add_weak = - : (thm -> void) weaken = - : (term -> thm -> thm) relative_strengths = - : (term -> term list) New constructors declared: RATOR : path_elt RAND : path_elt BODY : path_elt type path defined traverse = - : (path -> term -> term) New constructors declared: FOCUS_PATH : (path -> win_path) CONTEXT_PATH : ((term # path) -> win_path) type window_rule defined New constructors declared: TREE : ((((* list # **) -> void) # (* list -> (* list # **) list) # (void -> void)) -> (*,**) tree) plant = - : ((*,**) tree -> (* list # **) -> void) harvest = - : ((*,**) tree -> * list -> (* list # **) list) purge = - : ((*,**) tree -> void -> void) newtree = - : (void -> (path_elt,((term -> bool) # (term -> term -> term) # (term -> term -> term) # (term -> thm list -> thm list) # (term -> term list) # (term -> thm -> thm))) tree) rule_tree = TREE((-), (-), -) : (path_elt,((term -> bool) # (term -> term -> term) # (term -> term -> term) # (term -> thm list -> thm list) # (term -> term list) # (term -> thm -> thm))) tree store_rule = - : (window_rule -> void) search_rule = - : (path -> window_rule list) empty_rules = - : (void -> void) ((-), (-), -) : ((window_rule -> void) # (path -> window_rule list) # (void -> void)) store_rule = - : (window_rule -> void) search_rule = - : (path -> window_rule list) empty_rules = - : (void -> void) Calling Lisp compiler File tables compiled () : void #echo 'set_flag(`abort_when_fail`,true);;' \ 'load_theory `win`;;' \ 'loadf `thms`;;' \ 'loadf `hol_ext`;;' \ 'loadf `tables`;;' \ 'compilet `basic_close`;;' \ 'quit();;' | ../../hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool Theory win loaded () : void .....() : void .......................................() : void .....................................() : void RATOR_CLOSE = - : (term -> thm -> thm) RAND_CLOSE = - : (term -> thm -> thm) BODY_CLOSE = - : (term -> thm -> thm) COND1_THM = |- !R A B C D. (!x. R x x) ==> (A ==> R D B) ==> R(A => D | C)(A => B | C) COND1_CLOSE = - : (term -> thm -> thm) COND2_THM = |- !R A B C D. (!x. R x x) ==> (~A ==> R D C) ==> R(A => B | D)(A => B | C) COND2_CLOSE = - : (term -> thm -> thm) BODY2_THM = |- !c f g r. (!v. (v = c) ==> r(f v)(g v)) ==> r(f c)(g c) BODY2_CLOSE = - : (term -> thm -> thm) LET_THM = |- !c f g r. (!v. (v = c) ==> r(f v)(g v)) ==> r(LET f c)(LET g c) LET_CLOSE = - : (term -> thm -> thm) () : void () : void () : void () : void () : void () : void () : void Section basic_close ended Calling Lisp compiler File basic_close compiled () : void #echo 'set_flag(`abort_when_fail`,true);;' \ 'load_theory `win`;;' \ 'loadf `thms`;;' \ 'loadf `hol_ext`;;' \ 'loadf `tables`;;' \ 'compilet `eq_close`;;' \ 'quit();;' | ../../hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool Theory win loaded () : void .....() : void .......................................() : void .....................................() : void CONJ1_THM = |- !A B C. (B ==> (C = A)) ==> (C /\ B = A /\ B) CONJ1_CLOSE = - : (term -> thm -> thm) CONJ2_THM = |- !A B C. (A ==> (C = B)) ==> (A /\ C = A /\ B) CONJ2_CLOSE = - : (term -> thm -> thm) IMP1_THM = |- !A B C. (~B ==> (C = A)) ==> (C ==> B = A ==> B) IMP1_CLOSE = - : (term -> thm -> thm) IMP2_THM = |- !A B C. (A ==> (C = B)) ==> (A ==> C = A ==> B) IMP2_CLOSE = - : (term -> thm -> thm) PMI1_THM = |- !A B C. (B ==> (C = A)) ==> (C <== B = A <== B) PMI1_CLOSE = - : (term -> thm -> thm) PMI2_THM = |- !A B C. (~A ==> (C = B)) ==> (A <== C = A <== B) PMI2_CLOSE = - : (term -> thm -> thm) DISJ1_THM = |- !A B C. (~B ==> (C = A)) ==> (C \/ B = A \/ B) DISJ1_CLOSE = - : (term -> thm -> thm) DISJ2_THM = |- !A B C. (~A ==> (C = B)) ==> (A \/ C = A \/ B) DISJ2_CLOSE = - : (term -> thm -> thm) () : void () : void () : void () : void () : void () : void () : void () : void Section eq_close ended Calling Lisp compiler File eq_close compiled () : void #echo 'set_flag(`abort_when_fail`,true);;' \ 'load_theory `win`;;' \ 'loadf `thms`;;' \ 'loadf `hol_ext`;;' \ 'loadf `tables`;;' \ 'compilet `imp_close`;;' \ 'quit();;' | ../../hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool Theory win loaded () : void .....() : void .......................................() : void .....................................() : void IMP_CONJ1_THM = |- !A B C. (B ==> C ==> A) ==> C /\ B ==> A /\ B IMP_CONJ1_CLOSE = - : (term -> thm -> thm) IMP_CONJ2_THM = |- !A B C. (A ==> C ==> B) ==> A /\ C ==> A /\ B IMP_CONJ2_CLOSE = - : (term -> thm -> thm) IMP_IMP1_THM = |- !A B C. (~B ==> C <== A) ==> (C ==> B) ==> A ==> B IMP_IMP1_CLOSE = - : (term -> thm -> thm) IMP_IMP2_THM = |- !A B C. (A ==> C ==> B) ==> (A ==> C) ==> A ==> B IMP_IMP2_CLOSE = - : (term -> thm -> thm) IMP_PMI1_THM = |- !A B C. (B ==> C ==> A) ==> C <== B ==> A <== B IMP_PMI1_CLOSE = - : (term -> thm -> thm) IMP_PMI2_THM = |- !A B C. (~A ==> C <== B) ==> A <== C ==> A <== B IMP_PMI2_CLOSE = - : (term -> thm -> thm) IMP_DISJ1_THM = |- !A B C. (~B ==> C ==> A) ==> C \/ B ==> A \/ B IMP_DISJ1_CLOSE = - : (term -> thm -> thm) IMP_DISJ2_THM = |- !A B C. (~A ==> C ==> B) ==> A \/ C ==> A \/ B IMP_DISJ2_CLOSE = - : (term -> thm -> thm) IMP_NEG_THM = |- !A B. B <== A ==> ~B ==> ~A IMP_NEG_CLOSE = - : (term -> thm -> thm) IMP_ALL_CLOSE = - : (term -> thm -> thm) IMP_EXISTS_CLOSE = - : (term -> thm -> thm) PMI_CONJ1_THM = |- !A B C. (B ==> C <== A) ==> (C /\ B) <== (A /\ B) PMI_CONJ1_CLOSE = - : (term -> thm -> thm) PMI_CONJ2_THM = |- !A B C. (A ==> C <== B) ==> (A /\ C) <== (A /\ B) PMI_CONJ2_CLOSE = - : (term -> thm -> thm) PMI_IMP1_THM = |- !A B C. (~B ==> C ==> A) ==> (C ==> B) <== (A ==> B) PMI_IMP1_CLOSE = - : (term -> thm -> thm) PMI_IMP2_THM = |- !A B C. (A ==> C <== B) ==> (A ==> C) <== (A ==> B) PMI_IMP2_CLOSE = - : (term -> thm -> thm) PMI_PMI1_THM = |- !A B C. (B ==> C <== A) ==> (C <== B) <== (A <== B) PMI_PMI1_CLOSE = - : (term -> thm -> thm) PMI_PMI2_THM = |- !A B C. (~A ==> C ==> B) ==> (A <== C) <== (A <== B) PMI_PMI2_CLOSE = - : (term -> thm -> thm) PMI_DISJ1_THM = |- !A B C. (~B ==> C <== A) ==> (C \/ B) <== (A \/ B) PMI_DISJ1_CLOSE = - : (term -> thm -> thm) PMI_DISJ2_THM = |- !A B C. (~A ==> C <== B) ==> (A \/ C) <== (A \/ B) PMI_DISJ2_CLOSE = - : (term -> thm -> thm) PMI_NEG_THM = |- !A B. (B ==> A) ==> (~B) <== (~A) PMI_NEG_CLOSE = - : (term -> thm -> thm) PMI_ALL_CLOSE = - : (term -> thm -> thm) PMI_EXISTS_CLOSE = - : (term -> thm -> thm) () : void () : void () : void () : void () : void () : void () : void () : void () : void () : void () : void () : void () : void () : void () : void () : void () : void () : void () : void () : void () : void () : void Calling Lisp compiler File imp_close compiled () : void #echo 'set_flag(`abort_when_fail`,true);;' \ 'loadf `ml_ext`;;' \ 'load_theory `win`;;' \ 'loadf `thms`;;' \ 'loadf `hol_ext`;;' \ 'loadf `tables`;;' \ 'compilet `win`;;' \ 'quit();;' | ../../hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool ...................() : void Theory win loaded () : void .....() : void .......................................() : void .....................................() : void type window defined win_thm = - : (window -> thm) relation = - : (window -> term) focus = - : (window -> term) origin = - : (window -> term) bound = - : (window -> term list) hyp_thms = - : (window -> thm list) hypotheses = - : (window -> term list) disp_hypotheses = - : (window -> term list) all_hypotheses = - : (window -> term list) used_hypotheses = - : (window -> term list) lemma_thms = - : (window -> thm list) suppositions = - : (window -> goal list) conjectures = - : (window -> term list) used_conjectures = - : (window -> term list) lemmas = - : (window -> term list) context = - : (window -> term list) make_win = - : (term -> goal list -> term list -> thm list -> thm list -> window) create_win = - : (term -> term list -> thm list -> window) transform = - : (term -> term list -> thm list -> (window -> window) -> thm) get_thm = - : (term -> window -> thm) add_suppose = - : (goal -> window -> window) conjecture = - : (term -> window -> window) add_theorem = - : (thm -> window -> window) transform_win = - : (thm -> window -> window) match_transform_win = - : (thm -> window -> window) convert_win = - : (conv -> window -> window) rule_win = - : ((thm -> thm) -> window -> window) thm_rule_win = - : ((thm -> thm) -> window -> window) foc_rule_win = - : (conv -> window -> window) tactic_win = - : (tactic -> window -> window) gen_rewrite_win = - : ((conv -> conv) -> thm list -> thm list -> window -> window) pure_rewrite_win = - : (thm list -> window -> window) rewrite_win = - : (thm list -> window -> window) pure_once_rewrite_win = - : (thm list -> window -> window) once_rewrite_win = - : (thm list -> window -> window) pure_asm_rewrite_win = - : (thm list -> window -> window) asm_rewrite_win = - : (thm list -> window -> window) pure_once_asm_rewrite_win = - : (thm list -> window -> window) once_asm_rewrite_win = - : (thm list -> window -> window) filter_pure_asm_rewrite_win = - : ((term -> bool) -> thm list -> window -> window) filter_asm_rewrite_win = - : ((term -> bool) -> thm list -> window -> window) filter_pure_once_asm_rewrite_win = - : ((term -> bool) -> thm list -> window -> window) filter_once_asm_rewrite_win = - : ((term -> bool) -> thm list -> window -> window) transfer_sups_thms = - : (window -> window -> window) open_win_basis = - : (win_path -> window -> (window # (window -> window -> window))) open_context_basis = - : (win_path -> window -> (window # (window -> window -> window))) gen_open_basis = - : (win_path -> window -> (window # (window -> window -> window))) establish_basis = - : (win_path -> window -> (window # (window -> window -> window))) open_win = - : (path -> (window -> window) -> window -> window) open_context = - : (term -> path -> (window -> window) -> window -> window) gen_open_win = - : (win_path -> (window -> window) -> window -> window) establish = - : (term -> (window -> window) -> window -> window) Calling Lisp compiler File win compiled () : void #echo 'set_flag(`abort_when_fail`,true);;' \ 'loadf `ml_ext`;;' \ 'load_theory `win`;;' \ 'loadf `thms`;;' \ 'loadf `hol_ext`;;' \ 'loadf `tables`;;' \ 'loadf `win`;;' \ 'compilet `inter`;;' \ 'quit();;' | ../../hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool ...................() : void Theory win loaded () : void .....() : void .......................................() : void .....................................() : void ............................................() : void epoch = - : (int -> * -> * history) present = - : (* history -> *) dodo = - : ((* -> *) -> * history -> * history) undo = - : (* history -> * history) redo = - : (* history -> * history) set_max_hist = - : (int -> * history -> * history) get_max_hist = - : (* history -> int) create_stack = - : (window -> window_stack) change_window = - : ((window -> window) -> window_stack -> window_stack) open_window = - : (win_path -> (win_path -> window -> (window # (window -> window -> window))) -> window_stack -> window_stack) pop_window = - : (window_stack -> window_stack) close_window = - : (window_stack -> window_stack) depth_stack = - : (window_stack -> int) top_window = - : (window_stack -> window) top_path = - : (window_stack -> win_path) bad_conjectures = - : (window_stack -> term list) print_stack = - : (window_stack -> void) () : void - : (string signal -> void) newsig_stk_sig = - : (void -> string signal) () : void - : (void signal -> void) newsig_win_sig = - : (void -> void signal) beg_stack_sig = (-) : string signal end_stack_sig = (-) : string signal set_stack_sig = (-) : string signal psh_win_sig = (-) : void signal pop_win_sig = (-) : void signal cng_win_sig = (-) : void signal () : void - : (window_stack history pointer -> void) new_wshp = - : (void -> window_stack history pointer) stack_table = [] : (string # window_stack history pointer) list cur_nam_st_hist = inr () : ((string # window_stack history pointer) + void) CURRENT_STACK = - : (void -> window_stack) CURRENT_NAME = - : (void -> string) CURRENT_SHP = - : (void -> window_stack history pointer) history_size = 20 : int EPOCH = - : (window_stack -> void) DO = - : ((window_stack -> window_stack) -> void) UNDO = - : (void -> void) REDO = - : (void -> void) SET_MAX_HIST = - : (int -> void list) GET_MAX_HIST = - : (void -> int) BEGIN_STACK = - : (string -> term -> term list -> thm list -> void) END_STACK = - : (string -> void) SET_STACK = - : (string -> void) GET_STACK = - : (string -> window_stack) ALL_STACKS = - : (void -> string list) ((-), (-), (-), (-), (-), (-), (-), (-), (-), (-), (-), -) : ((void -> window_stack) # (void -> string) # ((window_stack -> window_stack) -> void) # (void -> void) # (void -> void) # (int -> void list) # (void -> int) # (string -> term -> term list -> thm list -> void) # (string -> void) # (string -> void) # (string -> window_stack) # (void -> string list)) CURRENT_STACK = - : (void -> window_stack) CURRENT_NAME = - : (void -> string) DO = - : ((window_stack -> window_stack) -> void) UNDO = - : (void -> void) REDO = - : (void -> void) SET_MAX_HIST = - : (int -> void list) GET_MAX_HIST = - : (void -> int) BEGIN_STACK = - : (string -> term -> term list -> thm list -> void) END_STACK = - : (string -> void) SET_STACK = - : (string -> void) GET_STACK = - : (string -> window_stack) ALL_STACKS = - : (void -> string list) APPLY_OPEN = - : (win_path -> (win_path -> window -> (window # (window -> window -> window))) -> void) APPLY_TRANSFORM = - : ((window -> window) -> void) CLOSE_WIN = - : (void -> void) UNDO_WIN = - : (void -> void) GEN_OPEN_WIN = - : (win_path -> void) OPEN_WIN = - : (path -> void) OPEN_CONTEXT = - : (term -> path -> void) ESTABLISH = - : (term -> void) TOP_WIN = - : (void -> window) BAD_CONJECTURES = - : (void -> term list) TRANSFORM_WIN = - : (thm -> void) MATCH_TRANSFORM_WIN = - : (thm -> void) CONVERT_WIN = - : (conv -> void) RULE_WIN = - : ((thm -> thm) -> void) THM_RULE_WIN = - : ((thm -> thm) -> void) FOC_RULE_WIN = - : (conv -> void) TACTIC_WIN = - : (tactic -> void) ADD_THEOREM = - : (thm -> void) ADD_SUPPOSE = - : (goal -> void) CONJECTURE = - : (term -> void) FOCUS = - : (void -> term) LEMMA_THMS = - : (void -> thm list) WIN_THM = - : (void -> thm) GEN_REWRITE_WIN = - : ((conv -> conv) -> thm list -> thm list -> void) PURE_REWRITE_WIN = - : (thm list -> void) REWRITE_WIN = - : (thm list -> void) PURE_ONCE_REWRITE_WIN = - : (thm list -> void) ONCE_REWRITE_WIN = - : (thm list -> void) PURE_ASM_REWRITE_WIN = - : (thm list -> void) ASM_REWRITE_WIN = - : (thm list -> void) PURE_ONCE_ASM_REWRITE_WIN = - : (thm list -> void) ONCE_ASM_REWRITE_WIN = - : (thm list -> void) FILTER_PURE_ASM_REWRITE_WIN = - : ((term -> bool) -> thm list -> void) FILTER_ASM_REWRITE_WIN = - : ((term -> bool) -> thm list -> void) FILTER_PURE_ONCE_ASM_REWRITE_WIN = - : ((term -> bool) -> thm list -> void) FILTER_ONCE_ASM_REWRITE_WIN = - : ((term -> bool) -> thm list -> void) SAVE_WIN_THM = - : (void -> thm) PRINT_STACK = - : (void -> void) () : void () : void () : void () : void () : void Calling Lisp compiler File inter compiled () : void #echo 'set_flag(`abort_when_fail`,true);;' \ 'load_theory `win`;;' \ 'compilet `load_code`;;' \ 'quit();;' | ../../hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool Theory win loaded () : void () : void Calling Lisp compiler File load_code compiled () : void #echo 'set_flag(`abort_when_fail`,true);;' \ 'compilet `load_window`;;' \ 'quit();;' | ../../hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool load_window = - : (void -> void) Calling Lisp compiler File load_window compiled () : void #echo 'set_flag(`abort_when_fail`,true);;' \ 'compilet `window`;;' \ 'quit();;' | ../../hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool Extending help search path () : void Extending search path () : void Theory win loaded () : void () : void window_version = `Revision: 3.1` : string window Library (Revision: 3.1) loaded. Copyright (c) Jim Grundy 1992 () : void All rights reserved () : void Calling Lisp compiler File window compiled () : void #echo 'set_flag(`abort_when_fail`,true);;' \ 'loadf `ml_ext`;;' \ 'load_theory `win`;;' \ 'loadf `thms`;;' \ 'loadf `hol_ext`;;' \ 'loadf `tables`;;' \ 'loadf `win`;;' \ 'loadf `inter`;;' \ 'compilet `xlabel`;;' \ 'quit();;' | ../../hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool ...................() : void Theory win loaded () : void .....() : void .......................................() : void .....................................() : void ............................................() : void ......................................................() : void () : void - : (string pointer -> void) new_strptr = - : (void -> string pointer) set_title = - : (string -> void) label = (-) : string pointer xset_stack = - : (string -> void) xbeg_stack = - : (string -> void) xend_stack = - : (string -> void) () : void () : void () : void () : void Calling Lisp compiler File xlabel compiled () : void #echo 'set_flag(`abort_when_fail`,true);;' \ 'loadf `ml_ext`;;' \ 'load_theory `win`;;' \ 'loadf `thms`;;' \ 'loadf `hol_ext`;;' \ 'loadf `tables`;;' \ 'loadf `win`;;' \ 'loadf `inter`;;' \ 'compilet `tactic`;;' \ 'quit();;' | ../../hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool ...................() : void Theory win loaded () : void .....() : void .......................................() : void .....................................() : void ............................................() : void ......................................................() : void open_TAC = - : (path -> thm list -> (window -> window) -> tactic) close_table = [] : (string # window # (window -> window -> window)) list BEGIN_STACK_TAC = - : (string -> path -> thm list -> tactic) END_STACK_TAC = - : (string -> tactic) ((-), -) : ((string -> path -> thm list -> tactic) # (string -> tactic)) BEGIN_STACK_TAC = - : (string -> path -> thm list -> tactic) END_STACK_TAC = - : (string -> tactic) Calling Lisp compiler File tactic compiled () : void #===> library window built make[4]: Leaving directory '/<>/Library/window' make[4]: Entering directory '/<>/Library/pair' echo 'set_flag(`abort_when_fail`,true);;' \ 'compilet `syn`;;' \ 'quit();;' | ../../hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool mk_pabs = - : ((term # term) -> term) mk_pforall = - : ((term # term) -> term) mk_pexists = - : ((term # term) -> term) mk_pselect = - : ((term # term) -> term) dest_pabs = - : (term -> (term # term)) dest_pforall = - : (term -> (term # term)) dest_pexists = - : (term -> (term # term)) dest_pselect = - : (term -> (term # term)) is_pabs = - : (term -> bool) is_pforall = - : (term -> bool) is_pexists = - : (term -> bool) is_pselect = - : (term -> bool) rip_pair = - : (term -> term list) is_pvar = - : (term -> bool) pvariant = - : (term list -> term -> term) genlike = - : (term -> term) list_mk_pabs = - : (goal -> term) list_mk_pforall = - : (goal -> term) list_mk_pexists = - : (goal -> term) strip_pabs = - : (term -> goal) strip_pforall = - : (term -> goal) strip_pexists = - : (term -> goal) bndpair = - : (term -> term) pbody = - : (term -> term) occs_in = - : (term -> term -> bool) is_prod = - : (type -> bool) dest_prod = - : (type -> (type # type)) mk_prod = - : ((type # type) -> type) Calling Lisp compiler File syn compiled () : void #echo 'set_flag(`abort_when_fail`,true);;' \ 'loadf `syn`;;' \ 'compilet `basic`;;' \ 'quit();;' | ../../hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool ........................() : void MK_PAIR = - : ((thm # thm) -> thm) PABS = - : (term -> thm -> thm) PABS_CONV = - : (conv -> conv) PSUB_CONV = - : (conv -> conv) CURRY_CONV = - : conv UNCURRY_CONV = - : conv PBETA_CONV = - : conv PBETA_RULE = - : (thm -> thm) PBETA_TAC = - : tactic RIGHT_PBETA = - : (thm -> thm) LIST_PBETA_CONV = - : conv RIGHT_LIST_PBETA = - : (thm -> thm) LEFT_PBETA = - : (thm -> thm) LEFT_LIST_PBETA = - : (thm -> thm) UNPBETA_CONV = - : (term -> conv) CURRY_UNCURRY_THM = |- !f. CURRY(UNCURRY f) = f UNCURRY_CURRY_THM = |- !f. UNCURRY(CURRY f) = f PETA_CONV = - : conv PALPHA_CONV = - : (term -> conv) GEN_PALPHA_CONV = - : (term -> conv) PALPHA = - : (term -> conv) paconv = - : (term -> term -> bool) PAIR_CONV = - : (conv -> conv) CURRY_ONE_ONE_THM = |- (CURRY f = CURRY g) = (f = g) UNCURRY_ONE_ONE_THM = |- (UNCURRY f = UNCURRY g) = (f = g) Calling Lisp compiler File basic compiled () : void #echo 'set_flag(`abort_when_fail`,true);;' \ 'loadf `syn`;;' \ 'loadf `basic`;;' \ 'compilet `both1`;;' \ 'quit();;' | ../../hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool ........................() : void ........................() : void PFORALL_THM = |- !f. (!x y. f x y) = (!(x,y). f x y) PEXISTS_THM = |- !f. (?x y. f x y) = (?(x,y). f x y) CURRY_FORALL_CONV = - : conv CURRY_EXISTS_CONV = - : conv UNCURRY_FORALL_CONV = - : conv UNCURRY_EXISTS_CONV = - : conv Calling Lisp compiler File both1 compiled () : void #echo 'set_flag(`abort_when_fail`,true);;' \ 'loadf `syn`;;' \ 'loadf `basic`;;' \ 'loadf `both1`;;' \ 'compilet `all`;;' \ 'quit();;' | ../../hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool ........................() : void ........................() : void ......() : void PSPEC = - : (term -> thm -> thm) PSPECL = - : (term list -> thm -> thm) IPSPEC = - : (term -> thm -> thm) IPSPECL = - : (term list -> thm -> thm) PSPEC_PAIR = - : (thm -> (term # thm)) PSPEC_ALL = - : (thm -> thm) GPSPEC = - : (thm -> thm) PSPEC_TAC = - : ((term # term) -> tactic) PGEN = - : (term -> thm -> thm) PGENL = - : (term list -> thm -> thm) P_PGEN_TAC = - : (term -> tactic) PGEN_TAC = - : tactic FILTER_PGEN_TAC = - : (term -> tactic) Calling Lisp compiler File all compiled () : void #echo 'set_flag(`abort_when_fail`,true);;' \ 'loadf `syn`;;' \ 'loadf `basic`;;' \ 'loadf `both1`;;' \ 'loadf `all`;;' \ 'compilet `exi`;;' \ 'quit();;' | ../../hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool ........................() : void ........................() : void ......() : void .............() : void PEXISTS_CONV = - : conv PSELECT_RULE = - : (thm -> thm) PSELECT_CONV = - : conv PEXISTS_RULE = - : (thm -> thm) PSELECT_INTRO = - : (thm -> thm) PSELECT_ELIM = - : (thm -> (term # thm) -> thm) PEXISTS = - : ((term # term) -> thm -> thm) PCHOOSE = - : ((term # thm) -> thm -> thm) P_PCHOOSE_THEN = - : (term -> thm_tactical) PCHOOSE_THEN = - : thm_tactical P_PCHOOSE_TAC = - : (term -> thm_tactic) PCHOOSE_TAC = - : thm_tactic PEXISTS_TAC = - : (term -> tactic) PEXISTENCE = - : (thm -> thm) PEXISTS_UNIQUE_CONV = - : conv BABY_P_PSKOLEM_CONV = - : (term -> conv) P_PSKOLEM_CONV = - : (term -> conv) - : (term -> conv) P_PSKOLEM_CONV = - : (term -> conv) PSKOLEM_CONV = - : conv Calling Lisp compiler File exi compiled () : void #echo 'set_flag(`abort_when_fail`,true);;' \ 'loadf `syn`;;' \ 'loadf `basic`;;' \ 'loadf `both1`;;' \ 'loadf `all`;;' \ 'loadf `exi`;;' \ 'compilet `both2`;;' \ 'quit();;' | ../../hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool ........................() : void ........................() : void ......() : void .............() : void ....................() : void PSTRIP_THM_THEN = - : thm_tactical PSTRIP_ASSUME_TAC = - : thm_tactic PSTRUCT_CASES_TAC = - : thm_tactic PSTRIP_GOAL_THEN = - : (thm_tactic -> tactic) FILTER_PSTRIP_THEN = - : (thm_tactic -> term -> tactic) PSTRIP_TAC = - : tactic FILTER_PSTRIP_TAC = - : (term -> tactic) PEXT = - : (thm -> thm) P_FUN_EQ_CONV = - : (term -> conv) MK_PABS = - : (thm -> thm) HALF_MK_PABS = - : (thm -> thm) MK_PFORALL = - : (thm -> thm) MK_PEXISTS = - : (thm -> thm) MK_PEXISTS = - : (thm -> thm) PFORALL_EQ = - : (term -> thm -> thm) PEXISTS_EQ = - : (term -> thm -> thm) PSELECT_EQ = - : (term -> thm -> thm) LIST_MK_PFORALL = - : (term list -> thm -> thm) LIST_MK_PEXISTS = - : (term list -> thm -> thm) PEXISTS_IMP = - : (term -> thm -> thm) SWAP_PFORALL_CONV = - : conv SWAP_PEXISTS_CONV = - : conv PART_PMATCH = - : ((term -> term) -> thm -> conv) PMATCH_MP_TAC = - : thm_tactic PMATCH_MP = - : (thm -> thm -> thm) Calling Lisp compiler File both2 compiled () : void #echo 'set_flag(`abort_when_fail`,true);;' \ 'loadf `syn`;;' \ 'loadf `basic`;;' \ 'compilet `conv`;;' \ 'quit();;' | ../../hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool ........................() : void ........................() : void NOT_FORALL_THM = |- !f. ~(!x. f x) = (?x. ~f x) NOT_EXISTS_THM = |- !f. ~(?x. f x) = (!x. ~f x) NOT_PFORALL_CONV = - : conv NOT_PEXISTS_CONV = - : conv PEXISTS_NOT_CONV = - : conv PFORALL_NOT_CONV = - : conv FORALL_AND_THM = |- !f g. (!x. f x /\ g x) = (!x. f x) /\ (!x. g x) PFORALL_AND_CONV = - : conv EXISTS_OR_THM = |- !f g. (?x. f x \/ g x) = (?x. f x) \/ (?x. g x) PEXISTS_OR_CONV = - : conv AND_PFORALL_CONV = - : conv LEFT_AND_FORALL_THM = |- !Q f. (!x. f x) /\ Q = (!x. f x /\ Q) LEFT_AND_PFORALL_CONV = - : conv RIGHT_AND_FORALL_THM = |- !P g. P /\ (!x. g x) = (!x. P /\ g x) RIGHT_AND_PFORALL_CONV = - : conv OR_PEXISTS_CONV = - : conv LEFT_OR_EXISTS_THM = |- !Q f. (?x. f x) \/ Q = (?x. f x \/ Q) LEFT_OR_PEXISTS_CONV = - : conv RIGHT_OR_EXISTS_THM = |- !P g. P \/ (?x. g x) = (?x. P \/ g x) RIGHT_OR_PEXISTS_CONV = - : conv BOTH_EXISTS_AND_THM = |- !P Q. (?x. P /\ Q) = (?x. P) /\ (?x. Q) LEFT_EXISTS_AND_THM = |- !Q f. (?x. f x /\ Q) = (?x. f x) /\ Q RIGHT_EXISTS_AND_THM = |- !P g. (?x. P /\ g x) = P /\ (?x. g x) PEXISTS_AND_CONV = - : conv AND_PEXISTS_CONV = - : conv LEFT_AND_PEXISTS_CONV = - : conv RIGHT_AND_PEXISTS_CONV = - : conv BOTH_FORALL_OR_THM = |- !P Q. (!x. P \/ Q) = (!x. P) \/ (!x. Q) LEFT_FORALL_OR_THM = |- !Q f. (!x. f x \/ Q) = (!x. f x) \/ Q RIGHT_FORALL_OR_THM = |- !P g. (!x. P \/ g x) = P \/ (!x. g x) PFORALL_OR_CONV = - : conv OR_PFORALL_CONV = - : conv LEFT_OR_PFORALL_CONV = - : conv RIGHT_OR_PFORALL_CONV = - : conv BOTH_FORALL_IMP_THM = |- !P Q. (!x. P ==> Q) = (?x. P) ==> (!x. Q) LEFT_FORALL_IMP_THM = |- !Q f. (!x. f x ==> Q) = (?x. f x) ==> Q RIGHT_FORALL_IMP_THM = |- !P g. (!x. P ==> g x) = P ==> (!x. g x) BOTH_EXISTS_IMP_THM = |- !P Q. (?x. P ==> Q) = (!x. P) ==> (?x. Q) LEFT_EXISTS_IMP_THM = |- !Q f. (?x. f x ==> Q) = (!x. f x) ==> Q RIGHT_EXISTS_IMP_THM = |- !P g. (?x. P ==> g x) = P ==> (?x. g x) PFORALL_IMP_CONV = - : conv LEFT_IMP_PEXISTS_CONV = - : conv RIGHT_IMP_PFORALL_CONV = - : conv PEXISTS_IMP_CONV = - : conv LEFT_IMP_PFORALL_CONV = - : conv RIGHT_IMP_PEXISTS_CONV = - : conv ((-), (-), (-), (-), (-), (-), (-), (-), (-), (-), (-), (-), (-), (-), (-), (-), (-), (-), (-), (-), (-), (-), (-), (-), (-), -) : (conv # conv # conv # conv # conv # conv # conv # conv # conv # conv # conv # conv # conv # conv # conv # conv # conv # conv # conv # conv # conv # conv # conv # conv # conv # conv) NOT_PFORALL_CONV = - : conv NOT_PEXISTS_CONV = - : conv PEXISTS_NOT_CONV = - : conv PFORALL_NOT_CONV = - : conv PFORALL_AND_CONV = - : conv PEXISTS_OR_CONV = - : conv AND_PFORALL_CONV = - : conv LEFT_AND_PFORALL_CONV = - : conv RIGHT_AND_PFORALL_CONV = - : conv OR_PEXISTS_CONV = - : conv LEFT_OR_PEXISTS_CONV = - : conv RIGHT_OR_PEXISTS_CONV = - : conv PEXISTS_AND_CONV = - : conv AND_PEXISTS_CONV = - : conv LEFT_AND_PEXISTS_CONV = - : conv RIGHT_AND_PEXISTS_CONV = - : conv PFORALL_OR_CONV = - : conv OR_PFORALL_CONV = - : conv LEFT_OR_PFORALL_CONV = - : conv RIGHT_OR_PFORALL_CONV = - : conv PFORALL_IMP_CONV = - : conv LEFT_IMP_PEXISTS_CONV = - : conv RIGHT_IMP_PFORALL_CONV = - : conv PEXISTS_IMP_CONV = - : conv LEFT_IMP_PFORALL_CONV = - : conv RIGHT_IMP_PEXISTS_CONV = - : conv Calling Lisp compiler File conv compiled () : void #echo 'set_flag(`abort_when_fail`,true);;' \ 'compilet `pair`;;' \ 'quit();;' | ../../hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool Extending help search path () : void () : void pair_version = `Revision: 3.1` : string pair Library (Revision: 3.1) loaded. Copyright (c) Jim Grundy 1992 () : void All rights reserved () : void Calling Lisp compiler File pair compiled () : void #===> library pair built make[4]: Leaving directory '/<>/Library/pair' make[4]: Entering directory '/<>/Library/word' rm -f word_base.th echo 'set_flag(`abort_when_fail`,true);;'\ 'loadt `mk_word_base`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool autoload_all = - : (string -> void) Loading library arith ... Loading library reduce ... Extending help search path. Loading boolean conversions........ Loading arithmetic conversions.................. Loading general conversions, rule and tactic..... Library reduce loaded. .Updating help search path ....................................................................................................................................................................................................................................................................................... Library arith loaded. () : void Loading library res_quan ... Updating search path Theory res_quan loaded ...............................................................................Updating help search path . Library res_quan loaded. () : void ....() : void File ver_202 loaded () : void Theorem LESS_EQ_ADD autoloading from theory `arithmetic` ... LESS_EQ_ADD = |- !m n. m <= (m + n) Theorem ADD_SYM autoloading from theory `arithmetic` ... ADD_SYM = |- !m n. m + n = n + m Theorem LESS_EQ_TRANS autoloading from theory `arithmetic` ... LESS_EQ_TRANS = |- !m n p. m <= n /\ n <= p ==> m <= p LESS_EQ_SPLIT = |- !m n p. (m + n) <= p ==> n <= p /\ m <= p Theorem SUB_ADD autoloading from theory `arithmetic` ... SUB_ADD = |- !m n. n <= m ==> ((m - n) + n = m) Theorem LESS_EQ_MONO_ADD_EQ autoloading from theory `arithmetic` ... LESS_EQ_MONO_ADD_EQ = |- !m n p. (m + p) <= (n + p) = m <= n Theorem GREATER_EQ autoloading from theory `arithmetic` ... GREATER_EQ = |- !n m. n >= m = m <= n SUB_GREATER_EQ_ADD = |- !p n m. p >= n ==> ((p - n) >= m = p >= (m + n)) ADD_LESS_EQ_SUB = |- !p n m. n <= p ==> ((m + n) <= p = m <= (p - n)) Theorem LESS_EQ_MONO autoloading from theory `arithmetic` ... LESS_EQ_MONO = |- !n m. (SUC n) <= (SUC m) = n <= m Theorem NOT_SUC_LESS_EQ_0 autoloading from theory `arithmetic` ... NOT_SUC_LESS_EQ_0 = |- !n. ~(SUC n) <= 0 Definition ADD autoloading from theory `arithmetic` ... ADD = |- (!n. 0 + n = n) /\ (!m n. (SUC m) + n = SUC(m + n)) ADD_LESS_EQ_TRANS = |- !m n p q. (m + n) <= p /\ q <= n ==> (m + q) <= p Theorem LESS_ANTISYM autoloading from theory `arithmetic` ... LESS_ANTISYM = |- !m n. ~(m < n /\ n < m) Theorem LESS_IMP_LESS_ADD autoloading from theory `arithmetic` ... LESS_IMP_LESS_ADD = |- !n m. n < m ==> (!p. n < (m + p)) Definition SUB autoloading from theory `arithmetic` ... SUB = |- (!m. 0 - m = 0) /\ (!m n. (SUC m) - n = (m < n => 0 | SUC(m - n))) Theorem SUB_MONO_EQ autoloading from theory `arithmetic` ... SUB_MONO_EQ = |- !n m. (SUC n) - (SUC m) = n - m Theorem SUB_0 autoloading from theory `arithmetic` ... SUB_0 = |- !m. (0 - m = 0) /\ (m - 0 = m) Theorem LESS_MONO_EQ autoloading from theory `arithmetic` ... LESS_MONO_EQ = |- !m n. (SUC m) < (SUC n) = m < n Theorem ADD_CLAUSES autoloading from theory `arithmetic` ... ADD_CLAUSES = |- (0 + m = m) /\ (m + 0 = m) /\ ((SUC m) + n = SUC(m + n)) /\ (m + (SUC n) = SUC(m + n)) Theorem NOT_LESS_0 autoloading from theory `prim_rec` ... NOT_LESS_0 = |- !n. ~n < 0 ADD_SUB_LEM = |- !m n p. p < n ==> ((m + n) - p = m + (n - p)) LESS_EQ_0_EQ = |- !m. m <= 0 ==> (m = 0) Theorem LESS_SUC_REFL autoloading from theory `prim_rec` ... LESS_SUC_REFL = |- !n. n < (SUC n) Theorem PRE autoloading from theory `prim_rec` ... PRE = |- (PRE 0 = 0) /\ (!m. PRE(SUC m) = m) Theorem LESS_0 autoloading from theory `prim_rec` ... LESS_0 = |- !n. 0 < (SUC n) Theorem LESS_REFL autoloading from theory `prim_rec` ... LESS_REFL = |- !n. ~n < n Theorem INDUCTION autoloading from theory `num` ... INDUCTION = |- !P. P 0 /\ (!n. P n ==> P(SUC n)) ==> (!n. P n) PRE_LESS_REFL = |- !m. 0 < m ==> (PRE m) < m Theorem DIV_MULT autoloading from theory `arithmetic` ... DIV_MULT = |- !n r. r < n ==> (!q. ((q * n) + r) DIV n = q) Definition MULT autoloading from theory `arithmetic` ... MULT = |- (!n. 0 * n = 0) /\ (!m n. (SUC m) * n = (m * n) + n) LESS_DIV_EQ_ZERO = |- !r n. r < n ==> (r DIV n = 0) Theorem ADD_0 autoloading from theory `arithmetic` ... ADD_0 = |- !m. m + 0 = m MULT_DIV = |- !n q. 0 < n ==> ((q * n) DIV n = q) Theorem RIGHT_ADD_DISTRIB autoloading from theory `arithmetic` ... RIGHT_ADD_DISTRIB = |- !m n p. (m + n) * p = (m * p) + (n * p) Theorem ADD_ASSOC autoloading from theory `arithmetic` ... ADD_ASSOC = |- !m n p. m + (n + p) = (m + n) + p Theorem DA autoloading from theory `arithmetic` ... DA = |- !k n. 0 < n ==> (?r q. (k = (q * n) + r) /\ r < n) ADD_DIV_ADD_DIV = |- !n. 0 < n ==> (!x r. ((x * n) + r) DIV n = x + (r DIV n)) Theorem MULT_CLAUSES autoloading from theory `arithmetic` ... MULT_CLAUSES = |- !m n. (0 * m = 0) /\ (m * 0 = 0) /\ (1 * m = m) /\ (m * 1 = m) /\ ((SUC m) * n = (m * n) + n) /\ (m * (SUC n) = m + (m * n)) NOT_MULT_LESS_0 = |- !m n. 0 < m /\ 0 < n ==> 0 < (m * n) Theorem MOD_TIMES autoloading from theory `arithmetic` ... MOD_TIMES = |- !n. 0 < n ==> (!q r. ((q * n) + r) MOD n = r MOD n) Theorem MULT_ASSOC autoloading from theory `arithmetic` ... MULT_ASSOC = |- !m n p. m * (n * p) = (m * n) * p Theorem MULT_SYM autoloading from theory `arithmetic` ... MULT_SYM = |- !m n. m * n = n * m Theorem MOD_MULT autoloading from theory `arithmetic` ... MOD_MULT = |- !n r. r < n ==> (!q. ((q * n) + r) MOD n = r) MOD_MULT_MOD = |- !m n. 0 < n /\ 0 < m ==> (!x. (x MOD (n * m)) MOD n = x MOD n) MULT_RIGHT_1 = |- !m. m * 1 = m DIV_ONE = |- !q. q DIV (SUC 0) = q Theorem ADD1 autoloading from theory `arithmetic` ... ADD1 = |- !m. SUC m = m + 1 Theorem LESS_THM autoloading from theory `prim_rec` ... LESS_THM = |- !m n. m < (SUC n) = (m = n) \/ m < n Less_lemma = |- !m n. m < n ==> (?p. (n = m + p) /\ 0 < p) Theorem LESS_TRANS autoloading from theory `arithmetic` ... LESS_TRANS = |- !m n p. m < n /\ n < p ==> m < p Theorem LESS_LESS_EQ_TRANS autoloading from theory `arithmetic` ... LESS_LESS_EQ_TRANS = |- !m n p. m < n /\ n <= p ==> m < p Less_MULT_lemma = |- !r m p. 0 < p ==> r < m ==> r < (p * m) Theorem LESS_MONO_ADD_EQ autoloading from theory `arithmetic` ... LESS_MONO_ADD_EQ = |- !m n p. (m + p) < (n + p) = m < n Less_MULT_ADD_lemma = |- !m n r r'. 0 < m /\ 0 < n /\ r < m /\ r' < n ==> ((r' * m) + r) < (n * m) Theorem ADD_INV_0_EQ autoloading from theory `arithmetic` ... ADD_INV_0_EQ = |- !m n. (m + n = m) = (n = 0) DIV_DIV_DIV_MULT = |- !m n. 0 < m /\ 0 < n ==> (!x. (x DIV m) DIV n = x DIV (m * n)) File arith_thms loaded () : void () : void Theorem SUB_LESS_EQ autoloading from theory `arithmetic` ... SUB_LESS_EQ = |- !n m. (n - m) <= n Theorem SUB_LESS_0 autoloading from theory `arithmetic` ... SUB_LESS_0 = |- !n m. m < n = 0 < (n - m) Theorem LESS_OR autoloading from theory `arithmetic` ... LESS_OR = |- !m n. m < n ==> (SUC m) <= n Theorem PRE_SUB1 autoloading from theory `arithmetic` ... PRE_SUB1 = |- !m. PRE m = m - 1 Theorem SEG_SEG autoloading from theory `list` ... SEG_SEG = |- !n1 m1 n2 m2 l. (n1 + m1) <= (LENGTH l) /\ (n2 + m2) <= n1 ==> (SEG n2 m2(SEG n1 m1 l) = SEG n2(m1 + m2)l) Definition LESS_OR_EQ autoloading from theory `arithmetic` ... LESS_OR_EQ = |- !m n. m <= n = m < n \/ (m = n) Theorem LENGTH_SEG autoloading from theory `list` ... LENGTH_SEG = |- !n k l. (n + k) <= (LENGTH l) ==> (LENGTH(SEG n k l) = n) Theorem ELL_SEG autoloading from theory `list` ... ELL_SEG = |- !n l. n < (LENGTH l) ==> (ELL n l = HD(SEG 1(PRE((LENGTH l) - n))l)) Theorem LASTN_SEG autoloading from theory `list` ... LASTN_SEG = |- !n l. n <= (LENGTH l) ==> (LASTN n l = SEG n((LENGTH l) - n)l) Theorem LESS_EQ_REFL autoloading from theory `arithmetic` ... LESS_EQ_REFL = |- !m. m <= m ELL_LASTN = |- !l m j. m <= (LENGTH l) ==> j < m ==> (ELL j(LASTN m l) = ELL j l) Theorem ELL_SUC_SNOC autoloading from theory `list` ... ELL_SUC_SNOC = |- !n x l. ELL(SUC n)(SNOC x l) = ELL n l Definition BUTLASTN autoloading from theory `list` ... BUTLASTN = |- (!l. BUTLASTN 0 l = l) /\ (!n x l. BUTLASTN(SUC n)(SNOC x l) = BUTLASTN n l) Theorem ADD_EQ_0 autoloading from theory `arithmetic` ... ADD_EQ_0 = |- !m n. (m + n = 0) = (m = 0) /\ (n = 0) Theorem LENGTH_SNOC autoloading from theory `list` ... LENGTH_SNOC = |- !x l. LENGTH(SNOC x l) = SUC(LENGTH l) Definition LENGTH autoloading from theory `list` ... LENGTH = |- (LENGTH[] = 0) /\ (!h t. LENGTH(CONS h t) = SUC(LENGTH t)) ELL_BUTLASTN = |- !l k j. (j + k) <= (LENGTH l) ==> (ELL j(BUTLASTN k l) = ELL(j + k)l) Theorem SNOC_11 autoloading from theory `list` ... SNOC_11 = |- !x l x' l'. (SNOC x l = SNOC x' l') = (x = x') /\ (l = l') Theorem APPEND_SNOC autoloading from theory `list` ... APPEND_SNOC = |- !l1 x l2. APPEND l1(SNOC x l2) = SNOC x(APPEND l1 l2) Theorem APPEND_NIL autoloading from theory `list` ... APPEND_NIL = |- (!l. APPEND l[] = l) /\ (!l. APPEND[]l = l) Definition LASTN autoloading from theory `list` ... LASTN = |- (!l. LASTN 0 l = []) /\ (!n x l. LASTN(SUC n)(SNOC x l) = SNOC x(LASTN n l)) APPEND_LASTN_LASTN = |- !l m1 m2. (m1 + m2) <= (LENGTH l) ==> (APPEND(LASTN m2(BUTLASTN m1 l))(LASTN m1 l) = LASTN(m1 + m2)l) Theorem LASTN_BUTLASTN autoloading from theory `list` ... LASTN_BUTLASTN = |- !n m l. (n + m) <= (LENGTH l) ==> (LASTN n(BUTLASTN m l) = BUTLASTN m(LASTN(n + m)l)) Theorem SUB_SUB autoloading from theory `arithmetic` ... SUB_SUB = |- !b c. c <= b ==> (!a. a - (b - c) = (a + c) - b) Theorem SUB_LESS_EQ_ADD autoloading from theory `arithmetic` ... SUB_LESS_EQ_ADD = |- !m p. m <= p ==> (!n. (p - m) <= n = p <= (m + n)) Theorem LENGTH_BUTLASTN autoloading from theory `list` ... LENGTH_BUTLASTN = |- !n l. n <= (LENGTH l) ==> (LENGTH(BUTLASTN n l) = (LENGTH l) - n) Theorem LESS_IMP_LESS_OR_EQ autoloading from theory `arithmetic` ... LESS_IMP_LESS_OR_EQ = |- !m n. m < n ==> m <= n Theorem BUTLASTN_APPEND2 autoloading from theory `list` ... BUTLASTN_APPEND2 = |- !n l1 l2. n <= (LENGTH l2) ==> (BUTLASTN n(APPEND l1 l2) = APPEND l1(BUTLASTN n l2)) Theorem LASTN_APPEND1 autoloading from theory `list` ... LASTN_APPEND1 = |- !l2 n. (LENGTH l2) <= n ==> (!l1. LASTN n(APPEND l1 l2) = APPEND(LASTN(n - (LENGTH l2))l1)l2) Theorem LASTN_LENGTH_ID autoloading from theory `list` ... LASTN_LENGTH_ID = |- !l. LASTN(LENGTH l)l = l Theorem ADD_SUB autoloading from theory `arithmetic` ... ADD_SUB = |- !a c. (a + c) - c = a Theorem SUB_EQUAL_0 autoloading from theory `arithmetic` ... SUB_EQUAL_0 = |- !c. c - c = 0 Theorem LESS_EQUAL_ANTISYM autoloading from theory `arithmetic` ... LESS_EQUAL_ANTISYM = |- !n m. n <= m /\ m <= n ==> (n = m) Definition APPEND autoloading from theory `list` ... APPEND = |- (!l. APPEND[]l = l) /\ (!l1 l2 h. APPEND(CONS h l1)l2 = CONS h(APPEND l1 l2)) LASTN_BUTLASTN_APPEND = |- !l1 l2 m k. (m + k) <= ((LENGTH l1) + (LENGTH l2)) /\ k < (LENGTH l2) /\ (LENGTH l2) <= (m + k) ==> (LASTN m(BUTLASTN k(APPEND l1 l2)) = APPEND (LASTN((m + k) - (LENGTH l2))l1) (LASTN((LENGTH l2) - k)(BUTLASTN k l2))) word_Ax = |- !f. ?! fn. !l. fn(WORD l) = f l WORD_11 = |- !l l'. (WORD l = WORD l') = (l = l') word_induct = |- !P. (!l. P(WORD l)) ==> (!w. P w) word_cases = |- !w. ?l. w = WORD l WORDLEN_DEF = |- !l. WORDLEN(WORD l) = LENGTH l PWORDLEN_DEF = |- !n l. PWORDLEN n(WORD l) = (n = LENGTH l) word_CASES_TAC = - : (term -> tactic) word_INDUCT_TAC = - : tactic RESQ_WORDLEN_TAC = - : tactic File word_funs loaded () : void PWORDLEN = |- !n w. PWORDLEN n w = (WORDLEN w = n) Theorem NOT_SUC autoloading from theory `num` ... NOT_SUC = |- !n. ~(SUC n = 0) PWORDLEN0 = |- !w. PWORDLEN 0 w ==> (w = WORD[]) PWORDLEN1 = |- !x. PWORDLEN 1(WORD[x]) WSEG_DEF = |- !m k l. WSEG m k(WORD l) = WORD(LASTN m(BUTLASTN k l)) WSEG0 = |- !k w. WSEG 0 k w = WORD[] Theorem LENGTH_LASTN autoloading from theory `list` ... LENGTH_LASTN = |- !n l. n <= (LENGTH l) ==> (LENGTH(LASTN n l) = n) WSEG_PWORDLEN = |- !n. !w :: PWORDLEN n. !m k. (m + k) <= n ==> PWORDLEN m(WSEG m k w) WSEG_WORDLEN = |- !n. !w :: PWORDLEN n. !m k. (m + k) <= n ==> (WORDLEN(WSEG m k w) = m) WSEG_WORD_LENGTH = |- !n. !w :: PWORDLEN n. WSEG n 0 w = w BIT_DEF = |- !k l. BIT k(WORD l) = ELL k l Definition SNOC autoloading from theory `list` ... SNOC = |- (!x. SNOC x[] = [x]) /\ (!x x' l. SNOC x(CONS x' l) = CONS x'(SNOC x l)) Theorem LAST autoloading from theory `list` ... LAST = |- !x l. LAST(SNOC x l) = x Definition ELL autoloading from theory `list` ... ELL = |- (!l. ELL 0 l = LAST l) /\ (!n l. ELL(SUC n)l = ELL n(BUTLAST l)) BIT0 = |- !b. BIT 0(WORD[b]) = b Theorem BUTLAST autoloading from theory `list` ... BUTLAST = |- !x l. BUTLAST(SNOC x l) = l WSEG_BIT = |- !n. !w :: PWORDLEN n. !k. k < n ==> (WSEG 1 k w = WORD[BIT k w]) BIT_WSEG = |- !n. !w :: PWORDLEN n. !m k j. (m + k) <= n ==> j < m ==> (BIT j(WSEG m k w) = BIT(j + k)w) MSB_DEF = |- !l. MSB(WORD l) = HD l Theorem ELL_PRE_LENGTH autoloading from theory `list` ... ELL_PRE_LENGTH = |- !l. ~(l = []) ==> (ELL(PRE(LENGTH l))l = HD l) Theorem NULL_EQ_NIL autoloading from theory `list` ... NULL_EQ_NIL = |- !l. NULL l = (l = []) Theorem LENGTH_NOT_NULL autoloading from theory `list` ... LENGTH_NOT_NULL = |- !l. 0 < (LENGTH l) = ~NULL l MSB = |- !n. !w :: PWORDLEN n. 0 < n ==> (MSB w = BIT(PRE n)w) LSB_DEF = |- !l. LSB(WORD l) = LAST l Theorem ELL_LAST autoloading from theory `list` ... ELL_LAST = |- !l. ~NULL l ==> (ELL 0 l = LAST l) LSB = |- !n. !w :: PWORDLEN n. 0 < n ==> (LSB w = BIT 0 w) WSPLIT_DEF = |- !m l. WSPLIT m(WORD l) = WORD(BUTLASTN m l),WORD(LASTN m l) th = |- ?bt. !l. bt(WORD l) = l word_bits = |- ?bt. (!l. bt(WORD l) = l) /\ (!w. WORD(bt w) = w) WCAT_lemma = |- ?WCAT. !l1 l2. WCAT(WORD l1,WORD l2) = WORD(APPEND l1 l2) WCAT_DEF = |- !l1 l2. WCAT(WORD l1,WORD l2) = WORD(APPEND l1 l2) Theorem APPEND_BUTLASTN_LASTN autoloading from theory `list` ... APPEND_BUTLASTN_LASTN = |- !n l. n <= (LENGTH l) ==> (APPEND(BUTLASTN n l)(LASTN n l) = l) WCAT_WSPLIT = |- !n. !w :: PWORDLEN n. !m. m <= n ==> (WCAT(WSPLIT m w) = w) Theorem LASTN_LENGTH_APPEND autoloading from theory `list` ... LASTN_LENGTH_APPEND = |- !l1 l2. LASTN(LENGTH l2)(APPEND l1 l2) = l2 Theorem BUTLASTN_LENGTH_APPEND autoloading from theory `list` ... BUTLASTN_LENGTH_APPEND = |- !l2 l1. BUTLASTN(LENGTH l2)(APPEND l1 l2) = l1 WSPLIT_WCAT = |- !n m. !w1 :: PWORDLEN n. !w2 :: PWORDLEN m. WSPLIT m(WCAT(w1,w2)) = w1,w2 WORD_PARTITION = |- (!n. !w :: PWORDLEN n. !m. m <= n ==> (WCAT(WSPLIT m w) = w)) /\ (!n m. !w1 :: PWORDLEN n. !w2 :: PWORDLEN m. WSPLIT m(WCAT(w1,w2)) = w1,w2) Theorem APPEND_ASSOC autoloading from theory `list` ... APPEND_ASSOC = |- !l1 l2 l3. APPEND l1(APPEND l2 l3) = APPEND(APPEND l1 l2)l3 WCAT_ASSOC = |- !w1 w2 w3. WCAT(w1,WCAT(w2,w3)) = WCAT(WCAT(w1,w2),w3) WCAT0 = |- !w. (WCAT(WORD[],w) = w) /\ (WCAT(w,WORD[]) = w) Theorem APPEND_LENGTH_EQ autoloading from theory `list` ... APPEND_LENGTH_EQ = |- !l1 l1'. (LENGTH l1 = LENGTH l1') ==> (!l2 l2'. (LENGTH l2 = LENGTH l2') ==> ((APPEND l1 l2 = APPEND l1' l2') = (l1 = l1') /\ (l2 = l2'))) WCAT_11 = |- !m n. !wm1 wm2 :: PWORDLEN m. !wn1 wn2 :: PWORDLEN n. (WCAT(wm1,wn1) = WCAT(wm2,wn2)) = (wm1 = wm2) /\ (wn1 = wn2) WSPLIT_PWORDLEN = |- !n. !w :: PWORDLEN n. !m. m <= n ==> PWORDLEN(n - m)(FST(WSPLIT m w)) /\ PWORDLEN m(SND(WSPLIT m w)) Theorem LENGTH_APPEND autoloading from theory `list` ... LENGTH_APPEND = |- !l1 l2. LENGTH(APPEND l1 l2) = (LENGTH l1) + (LENGTH l2) WCAT_PWORDLEN = |- !n1. !w1 :: PWORDLEN n1. !n2. !w2 :: PWORDLEN n2. PWORDLEN(n1 + n2)(WCAT(w1,w2)) Theorem LESS_EQ_SUC_REFL autoloading from theory `arithmetic` ... LESS_EQ_SUC_REFL = |- !m. m <= (SUC m) WORDLEN_SUC_WCAT = |- !n w. PWORDLEN(SUC n)w ==> (?b :: PWORDLEN 1. ?w' :: PWORDLEN n. w = WCAT(b,w')) Theorem LASTN_LASTN autoloading from theory `list` ... LASTN_LASTN = |- !l n m. m <= (LENGTH l) ==> n <= m ==> (LASTN n(LASTN m l) = LASTN n l) Theorem BUTLASTN_BUTLASTN autoloading from theory `list` ... BUTLASTN_BUTLASTN = |- !m n l. (n + m) <= (LENGTH l) ==> (BUTLASTN n(BUTLASTN m l) = BUTLASTN(n + m)l) Theorem BUTLASTN_LASTN autoloading from theory `list` ... BUTLASTN_LASTN = |- !m n l. m <= n /\ n <= (LENGTH l) ==> (BUTLASTN m(LASTN n l) = LASTN(n - m)(BUTLASTN m l)) WSEG_WSEG = |- !n. !w :: PWORDLEN n. !m1 k1 m2 k2. (m1 + k1) <= n /\ (m2 + k2) <= m1 ==> (WSEG m2 k2(WSEG m1 k1 w) = WSEG m2(k1 + k2)w) WSPLIT_WSEG = |- !n. !w :: PWORDLEN n. !k. k <= n ==> (WSPLIT k w = WSEG(n - k)k w,WSEG k 0 w) WSPLIT_WSEG1 = |- !n. !w :: PWORDLEN n. !k. k <= n ==> (FST(WSPLIT k w) = WSEG(n - k)k w) WSPLIT_WSEG2 = |- !n. !w :: PWORDLEN n. !k. k <= n ==> (SND(WSPLIT k w) = WSEG k 0 w) WCAT_WSEG_WSEG = |- !n. !w :: PWORDLEN n. !m1 m2 k. (m1 + (m2 + k)) <= n ==> (WCAT(WSEG m2(m1 + k)w,WSEG m1 k w) = WSEG(m1 + m2)k w) WORD_SPLIT = |- !n1 n2. !w :: PWORDLEN(n1 + n2). w = WCAT(WSEG n1 n2 w,WSEG n2 0 w) WORDLEN_SUC_WCAT_WSEG_WSEG = |- !w :: PWORDLEN(SUC n). w = WCAT(WSEG 1 n w,WSEG n 0 w) WORDLEN_SUC_WCAT_WSEG_WSEG_RIGHT = |- !w :: PWORDLEN(SUC n). w = WCAT(WSEG n 1 w,WSEG 1 0 w) WORDLEN_SUC_WCAT_BIT_WSEG = |- !n. !w :: PWORDLEN(SUC n). w = WCAT(WORD[BIT n w],WSEG n 0 w) WORDLEN_SUC_WCAT_BIT_WSEG_RIGHT = |- !n. !w :: PWORDLEN(SUC n). w = WCAT(WSEG n 1 w,WORD[BIT 0 w]) WSEG_WCAT1 = |- !n1 n2. !w1 :: PWORDLEN n1. !w2 :: PWORDLEN n2. WSEG n1 n2(WCAT(w1,w2)) = w1 WSEG_WCAT2 = |- !n1 n2. !w1 :: PWORDLEN n1. !w2 :: PWORDLEN n2. WSEG n2 0(WCAT(w1,w2)) = w2 Theorem CONS_APPEND autoloading from theory `list` ... CONS_APPEND = |- !x l. CONS x l = APPEND[x]l WORD_CONS_WCAT = |- !x l. WORD(CONS x l) = WCAT(WORD[x],WORD l) Theorem SNOC_APPEND autoloading from theory `list` ... SNOC_APPEND = |- !x l. SNOC x l = APPEND l[x] WORD_SNOC_WCAT = |- !x l. WORD(SNOC x l) = WCAT(WORD l,WORD[x]) Theorem ELL_APPEND1 autoloading from theory `list` ... ELL_APPEND1 = |- !l2 n. (LENGTH l2) <= n ==> (!l1. ELL n(APPEND l1 l2) = ELL(n - (LENGTH l2))l1) BIT_WCAT_FST = |- !n1 n2. !w1 :: PWORDLEN n1. !w2 :: PWORDLEN n2. !k. n2 <= k /\ k < (n1 + n2) ==> (BIT k(WCAT(w1,w2)) = BIT(k - n2)w1) Theorem ELL_APPEND2 autoloading from theory `list` ... ELL_APPEND2 = |- !n l2. n < (LENGTH l2) ==> (!l1. ELL n(APPEND l1 l2) = ELL n l2) BIT_WCAT_SND = |- !n1 n2. !w1 :: PWORDLEN n1. !w2 :: PWORDLEN n2. !k. k < n2 ==> (BIT k(WCAT(w1,w2)) = BIT k w2) Theorem ELL_LENGTH_CONS autoloading from theory `list` ... ELL_LENGTH_CONS = |- !l x. ELL(LENGTH l)(CONS x l) = x BIT_WCAT1 = |- !n. !w :: PWORDLEN n. !b. BIT n(WCAT(WORD[b],w)) = b Theorem BUTLASTN_APPEND1 autoloading from theory `list` ... BUTLASTN_APPEND1 = |- !l2 n. (LENGTH l2) <= n ==> (!l1. BUTLASTN n(APPEND l1 l2) = BUTLASTN(n - (LENGTH l2))l1) WSEG_WCAT_WSEG1 = |- !n1 n2. !w1 :: PWORDLEN n1. !w2 :: PWORDLEN n2. !m k. m <= n1 /\ n2 <= k ==> (WSEG m k(WCAT(w1,w2)) = WSEG m(k - n2)w1) Theorem LASTN_APPEND2 autoloading from theory `list` ... LASTN_APPEND2 = |- !n l2. n <= (LENGTH l2) ==> (!l1. LASTN n(APPEND l1 l2) = LASTN n l2) WSEG_WCAT_WSEG2 = |- !n1 n2. !w1 :: PWORDLEN n1. !w2 :: PWORDLEN n2. !m k. (m + k) <= n2 ==> (WSEG m k(WCAT(w1,w2)) = WSEG m k w2) WSEG_WCAT_WSEG = |- !n1 n2. !w1 :: PWORDLEN n1. !w2 :: PWORDLEN n2. !m k. (m + k) <= (n1 + n2) /\ k < n2 /\ n2 <= (m + k) ==> (WSEG m k(WCAT(w1,w2)) = WCAT(WSEG((m + k) - n2)0 w1,WSEG(n2 - k)k w2)) PWORDLEN_BIT1 = |- !x. PWORDLEN 1(WORD[x]) Theorem LESS_SUC autoloading from theory `prim_rec` ... LESS_SUC = |- !m n. m < n ==> m < (SUC n) Theorem CONS_11 autoloading from theory `list` ... CONS_11 = |- !h t h' t'. (CONS h t = CONS h' t') = (h = h') /\ (t = t') BIT_EQ_IMP_WORD_EQ = |- !n. !w1 w2 :: PWORDLEN n. (!k. k < n ==> (BIT k w1 = BIT k w2)) ==> (w1 = w2) () : void File mk_word_base loaded () : void #rm -f word_bitop.th echo 'set_flag(`abort_when_fail`,true);;'\ 'loadt `mk_word_bitop`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool autoload_all = - : (string -> void) Loading library arith ... Loading library reduce ... Extending help search path. Loading boolean conversions........ Loading arithmetic conversions.................. Loading general conversions, rule and tactic..... Library reduce loaded. .Updating help search path ....................................................................................................................................................................................................................................................................................... Library arith loaded. () : void Loading library res_quan ... Updating search path Theory res_quan loaded ...............................................................................Updating help search path . Library res_quan loaded. () : void ....() : void File ver_202 loaded () : void .........................................................() : void Theory word_base loaded () : void () : void () : void ...() : void Theorem SUB_LESS_EQ autoloading from theory `arithmetic` ... SUB_LESS_EQ = |- !n m. (n - m) <= n Theorem SEG_LASTN_BUTLASTN autoloading from theory `list` ... SEG_LASTN_BUTLASTN = |- !n m l. (n + m) <= (LENGTH l) ==> (SEG n m l = LASTN n(BUTLASTN((LENGTH l) - (n + m))l)) LASTN_BUTLASTN_SEG = |- !m k l. (m + k) <= (LENGTH l) ==> (LASTN m(BUTLASTN k l) = SEG m((LENGTH l) - (m + k))l) PBITOP_DEF = |- !op. PBITOP op = (!n. !w :: PWORDLEN n. PWORDLEN n(op w) /\ (!m k. (m + k) <= n ==> (op(WSEG m k w) = WSEG m k(op w)))) PBITOP_PWORDLEN = |- !op :: PBITOP. !n. !w :: PWORDLEN n. PWORDLEN n(op w) PBITOP_WSEG = |- !op :: PBITOP. !n. !w :: PWORDLEN n. !m k. (m + k) <= n ==> (op(WSEG m k w) = WSEG m k(op w)) Theorem LESS_EQ autoloading from theory `arithmetic` ... LESS_EQ = |- !m n. m < n = (SUC m) <= n Theorem WSEG_BIT autoloading from theory `word_base` ... WSEG_BIT = |- !n. !w :: PWORDLEN n. !k. k < n ==> (WSEG 1 k w = WORD[BIT k w]) PBITOP_BIT = |- !op :: PBITOP. !n. !w :: PWORDLEN n. !k. k < n ==> (op(WORD[BIT k w]) = WORD[BIT k(op w)]) Theorem BIT0 autoloading from theory `word_base` ... BIT0 = |- !b. BIT 0(WORD[b]) = b BIT_op_EXISTS = |- !op :: PBITOP. ?op'. !n. !w :: PWORDLEN n. !k. k < n ==> (BIT k(op w) = op'(BIT k w)) PBITBOP_DEF = |- !op. PBITBOP op = (!n. !w1 :: PWORDLEN n. !w2 :: PWORDLEN n. PWORDLEN n(op w1 w2) /\ (!m k. (m + k) <= n ==> (op(WSEG m k w1)(WSEG m k w2) = WSEG m k(op w1 w2)))) PBITBOP_PWORDLEN = |- !op :: PBITBOP. !n. !w1 :: PWORDLEN n. !w2 :: PWORDLEN n. PWORDLEN n(op w1 w2) PBITBOP_WSEG = |- !op :: PBITBOP. !n. !w1 :: PWORDLEN n. !w2 :: PWORDLEN n. !m k. (m + k) <= n ==> (op(WSEG m k w1)(WSEG m k w2) = WSEG m k(op w1 w2)) Theorem word_Ax autoloading from theory `word_base` ... word_Ax = |- !f. ?! fn. !l. fn(WORD l) = f l PBITBOP_EXISTS = |- !f. ?fn. !l1 l2. fn(WORD l1)(WORD l2) = WORD(MAP2 f l1 l2) WMAP_DEF = |- !f l. WMAP f(WORD l) = WORD(MAP f l) Theorem LENGTH_MAP autoloading from theory `list` ... LENGTH_MAP = |- !l f. LENGTH(MAP f l) = LENGTH l Definition PWORDLEN_DEF autoloading from theory `word_base` ... PWORDLEN_DEF = |- !n l. PWORDLEN n(WORD l) = (n = LENGTH l) WMAP_PWORDLEN = |- !w :: PWORDLEN n. !f. PWORDLEN n(WMAP f w) Definition MAP autoloading from theory `list` ... MAP = |- (!f. MAP f[] = []) /\ (!f h t. MAP f(CONS h t) = CONS(f h)(MAP f t)) WMAP0 = |- !f. WMAP f(WORD[]) = WORD[] Theorem ELL_MAP autoloading from theory `list` ... ELL_MAP = |- !n l f. n < (LENGTH l) ==> (ELL n(MAP f l) = f(ELL n l)) Definition BIT_DEF autoloading from theory `word_base` ... BIT_DEF = |- !k l. BIT k(WORD l) = ELL k l WMAP_BIT = |- !n. !w :: PWORDLEN n. !k. k < n ==> (!f. BIT k(WMAP f w) = f(BIT k w)) Theorem LENGTH_BUTLASTN autoloading from theory `list` ... LENGTH_BUTLASTN = |- !n l. n <= (LENGTH l) ==> (LENGTH(BUTLASTN n l) = (LENGTH l) - n) Theorem LASTN_MAP autoloading from theory `list` ... LASTN_MAP = |- !n l. n <= (LENGTH l) ==> (!f. LASTN n(MAP f l) = MAP f(LASTN n l)) Theorem BUTLASTN_MAP autoloading from theory `list` ... BUTLASTN_MAP = |- !n l. n <= (LENGTH l) ==> (!f. BUTLASTN n(MAP f l) = MAP f(BUTLASTN n l)) Theorem WORD_11 autoloading from theory `word_base` ... WORD_11 = |- !l l'. (WORD l = WORD l') = (l = l') Definition WSEG_DEF autoloading from theory `word_base` ... WSEG_DEF = |- !m k l. WSEG m k(WORD l) = WORD(LASTN m(BUTLASTN k l)) WMAP_WSEG = |- !n. !w :: PWORDLEN n. !m k. (m + k) <= n ==> (!f. WMAP f(WSEG m k w) = WSEG m k(WMAP f w)) WMAP_PBITOP = |- !f. PBITOP(WMAP f) Theorem MAP_APPEND autoloading from theory `list` ... MAP_APPEND = |- !f l1 l2. MAP f(APPEND l1 l2) = APPEND(MAP f l1)(MAP f l2) Definition WCAT_DEF autoloading from theory `word_base` ... WCAT_DEF = |- !l1 l2. WCAT(WORD l1,WORD l2) = WORD(APPEND l1 l2) WMAP_WCAT = |- !w1 w2 f. WMAP f(WCAT(w1,w2)) = WCAT(WMAP f w1,WMAP f w2) Theorem MAP_MAP_o autoloading from theory `list` ... MAP_MAP_o = |- !f g l. MAP f(MAP g l) = MAP(f o g)l WMAP_o = |- !w f g. WMAP g(WMAP f w) = WMAP(g o f)w FORALLBITS_DEF = |- !P l. FORALLBITS P(WORD l) = ALL_EL P l Theorem ELL_CONS autoloading from theory `list` ... ELL_CONS = |- !n l. n < (LENGTH l) ==> (!x. ELL n(CONS x l) = ELL n l) Theorem ELL_LENGTH_CONS autoloading from theory `list` ... ELL_LENGTH_CONS = |- !l x. ELL(LENGTH l)(CONS x l) = x Definition ALL_EL autoloading from theory `list` ... ALL_EL = |- (!P. ALL_EL P[] = T) /\ (!P x l. ALL_EL P(CONS x l) = P x /\ ALL_EL P l) Definition LENGTH autoloading from theory `list` ... LENGTH = |- (LENGTH[] = 0) /\ (!h t. LENGTH(CONS h t) = SUC(LENGTH t)) FORALLBITS = |- !n. !w :: PWORDLEN n. !P. FORALLBITS P w = (!k. k < n ==> P(BIT k w)) Theorem ALL_EL_LASTN autoloading from theory `list` ... ALL_EL_LASTN = |- !P l. ALL_EL P l ==> (!m. m <= (LENGTH l) ==> ALL_EL P(LASTN m l)) Theorem ALL_EL_SNOC autoloading from theory `list` ... ALL_EL_SNOC = |- !P x l. ALL_EL P(SNOC x l) = ALL_EL P l /\ P x Theorem LENGTH_SNOC autoloading from theory `list` ... LENGTH_SNOC = |- !x l. LENGTH(SNOC x l) = SUC(LENGTH l) Definition BUTLASTN autoloading from theory `list` ... BUTLASTN = |- (!l. BUTLASTN 0 l = l) /\ (!n x l. BUTLASTN(SUC n)(SNOC x l) = BUTLASTN n l) Definition LASTN autoloading from theory `list` ... LASTN = |- (!l. LASTN 0 l = []) /\ (!n x l. LASTN(SUC n)(SNOC x l) = SNOC x(LASTN n l)) Theorem ADD_EQ_0 autoloading from theory `arithmetic` ... ADD_EQ_0 = |- !m n. (m + n = 0) = (m = 0) /\ (n = 0) FORALLBITS_WSEG = |- !n. !w :: PWORDLEN n. !P. FORALLBITS P w ==> (!m k. (m + k) <= n ==> FORALLBITS P(WSEG m k w)) Theorem ALL_EL_APPEND autoloading from theory `list` ... ALL_EL_APPEND = |- !P l1 l2. ALL_EL P(APPEND l1 l2) = ALL_EL P l1 /\ ALL_EL P l2 FORALLBITS_WCAT = |- !w1 w2 P. FORALLBITS P(WCAT(w1,w2)) = FORALLBITS P w1 /\ FORALLBITS P w2 EXISTSABIT_DEF = |- !P l. EXISTSABIT P(WORD l) = SOME_EL P l Theorem NOT_SOME_EL_ALL_EL autoloading from theory `list` ... NOT_SOME_EL_ALL_EL = |- !P l. ~SOME_EL P l = ALL_EL($~ o P)l NOT_EXISTSABIT = |- !P w. ~EXISTSABIT P w = FORALLBITS($~ o P)w Theorem NOT_ALL_EL_SOME_EL autoloading from theory `list` ... NOT_ALL_EL_SOME_EL = |- !P l. ~ALL_EL P l = SOME_EL($~ o P)l NOT_FORALLBITS = |- !P w. ~FORALLBITS P w = EXISTSABIT($~ o P)w Definition SOME_EL autoloading from theory `list` ... SOME_EL = |- (!P. SOME_EL P[] = F) /\ (!P x l. SOME_EL P(CONS x l) = P x \/ SOME_EL P l) EXISTSABIT_BIT = |- !n. !w :: PWORDLEN n. !P. EXISTSABIT P w = (?k. k < n /\ P(BIT k w)) Theorem SOME_EL_SEG autoloading from theory `list` ... SOME_EL_SEG = |- !m k l. (m + k) <= (LENGTH l) ==> (!P. SOME_EL P(SEG m k l) ==> SOME_EL P l) EXISTSABIT_WSEG = |- !n. !w :: PWORDLEN n. !m k. (m + k) <= n ==> (!P. EXISTSABIT P(WSEG m k w) ==> EXISTSABIT P w) Theorem SOME_EL_APPEND autoloading from theory `list` ... SOME_EL_APPEND = |- !P l1 l2. SOME_EL P(APPEND l1 l2) = SOME_EL P l1 \/ SOME_EL P l2 EXISTSABIT_WCAT = |- !w1 w2 P. EXISTSABIT P(WCAT(w1,w2)) = EXISTSABIT P w1 \/ EXISTSABIT P w2 SHR_DEF = |- !f b w. SHR f b w = WCAT ((f => WSEG 1(PRE(WORDLEN w))w | WORD[b]),WSEG(PRE(WORDLEN w))1 w), BIT 0 w SHL_DEF = |- !f w b. SHL f w b = BIT(PRE(WORDLEN w))w, WCAT(WSEG(PRE(WORDLEN w))0 w,(f => WSEG 1 0 w | WORD[b])) Theorem BIT_WSEG autoloading from theory `word_base` ... BIT_WSEG = |- !n. !w :: PWORDLEN n. !m k j. (m + k) <= n ==> j < m ==> (BIT j(WSEG m k w) = BIT(j + k)w) Theorem WSEG_WSEG autoloading from theory `word_base` ... WSEG_WSEG = |- !n. !w :: PWORDLEN n. !m1 k1 m2 k2. (m1 + k1) <= n /\ (m2 + k2) <= m1 ==> (WSEG m2 k2(WSEG m1 k1 w) = WSEG m2(k1 + k2)w) Theorem PRE_SUB1 autoloading from theory `arithmetic` ... PRE_SUB1 = |- !m. PRE m = m - 1 Theorem WSEG_WORDLEN autoloading from theory `word_base` ... WSEG_WORDLEN = |- !n. !w :: PWORDLEN n. !m k. (m + k) <= n ==> (WORDLEN(WSEG m k w) = m) SHR_WSEG = |- !n. !w :: PWORDLEN n. !m k. (m + k) <= n ==> 0 < m ==> (!f b. SHR f b(WSEG m k w) = (f => WCAT(WSEG 1(k + (m - 1))w,WSEG(m - 1)(k + 1)w) | WCAT(WORD[b],WSEG(m - 1)(k + 1)w)),BIT k w) SHR_WSEG_1F = |- !n. !w :: PWORDLEN n. !m k. (m + k) <= n ==> 0 < m ==> (!b. SHR F b(WSEG m k w) = WCAT(WORD[b],WSEG(m - 1)(k + 1)w),BIT k w) SHR_WSEG_NF_lem1 = |- 0 < m ==> ((m - 1) + 1 = m) SHR_WSEG_NF_lem2 = |- 0 < m ==> ((m - 1) + (k + 1) = m + k) Theorem LESS_OR autoloading from theory `arithmetic` ... LESS_OR = |- !m n. m < n ==> (SUC m) <= n Theorem WCAT_WSEG_WSEG autoloading from theory `word_base` ... WCAT_WSEG_WSEG = |- !n. !w :: PWORDLEN n. !m1 m2 k. (m1 + (m2 + k)) <= n ==> (WCAT(WSEG m2(m1 + k)w,WSEG m1 k w) = WSEG(m1 + m2)k w) Theorem LESS_IMP_LESS_OR_EQ autoloading from theory `arithmetic` ... LESS_IMP_LESS_OR_EQ = |- !m n. m < n ==> m <= n SHR_WSEG_NF = |- !n. !w :: PWORDLEN n. !m k. (m + k) < n ==> 0 < m ==> (SHR F(BIT(m + k)w)(WSEG m k w) = WSEG m(k + 1)w,BIT k w) SHL_WSEG = |- !n. !w :: PWORDLEN n. !m k. (m + k) <= n ==> 0 < m ==> (!f b. SHL f(WSEG m k w)b = BIT(k + (m - 1))w, (f => WCAT(WSEG(m - 1)k w,WSEG 1 k w) | WCAT(WSEG(m - 1)k w,WORD[b]))) SHL_WSEG_1F = |- !n. !w :: PWORDLEN n. !m k. (m + k) <= n ==> 0 < m ==> (!b. SHL F(WSEG m k w)b = BIT(k + (m - 1))w,WCAT(WSEG(m - 1)k w,WORD[b])) SHL_WSEG_NF = |- !n. !w :: PWORDLEN n. !m k. (m + k) <= n ==> 0 < m ==> 0 < k ==> (SHL F(WSEG m k w)(BIT(k - 1)w) = BIT(k + (m - 1))w,WSEG m(k - 1)w) Theorem PWORDLEN1 autoloading from theory `word_base` ... PWORDLEN1 = |- !x. PWORDLEN 1(WORD[x]) Theorem ZERO_LESS_EQ autoloading from theory `arithmetic` ... ZERO_LESS_EQ = |- !n. 0 <= n Theorem LESS_EQ_SUC_REFL autoloading from theory `arithmetic` ... LESS_EQ_SUC_REFL = |- !m. m <= (SUC m) Theorem WSEG_PWORDLEN autoloading from theory `word_base` ... WSEG_PWORDLEN = |- !n. !w :: PWORDLEN n. !m k. (m + k) <= n ==> PWORDLEN m(WSEG m k w) Theorem WSEG_WCAT_WSEG1 autoloading from theory `word_base` ... WSEG_WCAT_WSEG1 = |- !n1 n2. !w1 :: PWORDLEN n1. !w2 :: PWORDLEN n2. !m k. m <= n1 /\ n2 <= k ==> (WSEG m k(WCAT(w1,w2)) = WSEG m(k - n2)w1) Theorem PWORDLEN autoloading from theory `word_base` ... PWORDLEN = |- !n w. PWORDLEN n w = (WORDLEN w = n) WSEG_SHL = |- !n. !w :: PWORDLEN(SUC n). !m k. 0 < k /\ (m + k) <= (SUC n) ==> (!b. WSEG m k(SND(SHL f w b)) = WSEG m(k - 1)w) Theorem WSEG_WORD_LENGTH autoloading from theory `word_base` ... WSEG_WORD_LENGTH = |- !n. !w :: PWORDLEN n. WSEG n 0 w = w Theorem WSEG_WCAT_WSEG autoloading from theory `word_base` ... WSEG_WCAT_WSEG = |- !n1 n2. !w1 :: PWORDLEN n1. !w2 :: PWORDLEN n2. !m k. (m + k) <= (n1 + n2) /\ k < n2 /\ n2 <= (m + k) ==> (WSEG m k(WCAT(w1,w2)) = WCAT(WSEG((m + k) - n2)0 w1,WSEG(n2 - k)k w2)) WSEG_SHL_0 = |- !n. !w :: PWORDLEN(SUC n). !m b. 0 < m /\ m <= (SUC n) ==> (WSEG m 0(SND(SHL f w b)) = WCAT(WSEG(m - 1)0 w,(f => WSEG 1 0 w | WORD[b]))) () : void File mk_word_bitop loaded () : void #rm -f word_num.th echo 'set_flag(`abort_when_fail`,true);;'\ 'loadt `mk_word_num`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool autoload_all = - : (string -> void) Loading library arith ... Loading library reduce ... Extending help search path. Loading boolean conversions........ Loading arithmetic conversions.................. Loading general conversions, rule and tactic..... Library reduce loaded. .Updating help search path ....................................................................................................................................................................................................................................................................................... Library arith loaded. () : void Loading library res_quan ... Updating search path Theory res_quan loaded ...............................................................................Updating help search path . Library res_quan loaded. () : void ....() : void File ver_202 loaded () : void Theory word_base loaded () : void [()] : void list () : void ...() : void LVAL_DEF = |- !f b l. LVAL f b l = FOLDL(\e x. (b * e) + (f x))0 l Theorem LEFT_ADD_DISTRIB autoloading from theory `arithmetic` ... LEFT_ADD_DISTRIB = |- !m n p. p * (m + n) = (p * m) + (p * n) Theorem ADD_ASSOC autoloading from theory `arithmetic` ... ADD_ASSOC = |- !m n p. m + (n + p) = (m + n) + p Theorem MULT_SYM autoloading from theory `arithmetic` ... MULT_SYM = |- !m n. m * n = n * m Theorem MULT_ASSOC autoloading from theory `arithmetic` ... MULT_ASSOC = |- !m n p. m * (n * p) = (m * n) * p Theorem LENGTH_SNOC autoloading from theory `list` ... LENGTH_SNOC = |- !x l. LENGTH(SNOC x l) = SUC(LENGTH l) Theorem FOLDL_SNOC autoloading from theory `list` ... FOLDL_SNOC = |- !f e x l. FOLDL f e(SNOC x l) = f(FOLDL f e l)x Definition EXP autoloading from theory `arithmetic` ... EXP = |- (!m. m EXP 0 = 1) /\ (!m n. m EXP (SUC n) = m * (m EXP n)) Definition LENGTH autoloading from theory `list` ... LENGTH = |- (LENGTH[] = 0) /\ (!h t. LENGTH(CONS h t) = SUC(LENGTH t)) Theorem ADD_CLAUSES autoloading from theory `arithmetic` ... ADD_CLAUSES = |- (0 + m = m) /\ (m + 0 = m) /\ ((SUC m) + n = SUC(m + n)) /\ (m + (SUC n) = SUC(m + n)) Theorem MULT_CLAUSES autoloading from theory `arithmetic` ... MULT_CLAUSES = |- !m n. (0 * m = 0) /\ (m * 0 = 0) /\ (1 * m = m) /\ (m * 1 = m) /\ ((SUC m) * n = (m * n) + n) /\ (m * (SUC n) = m + (m * n)) Definition FOLDL autoloading from theory `list` ... FOLDL = |- (!f e. FOLDL f e[] = e) /\ (!f e x l. FOLDL f e(CONS x l) = FOLDL f(f e x)l) LVAL = |- (!f b. LVAL f b[] = 0) /\ (!l f b x. LVAL f b(CONS x l) = ((f x) * (b EXP (LENGTH l))) + (LVAL f b l)) Theorem word_Ax autoloading from theory `word_base` ... word_Ax = |- !f. ?! fn. !l. fn(WORD l) = f l NVAL_DEF = |- !f b l. NVAL f b(WORD l) = LVAL f b l Theorem RIGHT_ADD_DISTRIB autoloading from theory `arithmetic` ... RIGHT_ADD_DISTRIB = |- !m n p. (m + n) * p = (m * p) + (n * p) Definition MULT autoloading from theory `arithmetic` ... MULT = |- (!n. 0 * n = 0) /\ (!m n. (SUC m) * n = (m * n) + n) Definition SNOC autoloading from theory `list` ... SNOC = |- (!x. SNOC x[] = [x]) /\ (!x x' l. SNOC x(CONS x' l) = CONS x'(SNOC x l)) LVAL_SNOC = |- !l h f b. LVAL f b(SNOC h l) = ((LVAL f b l) * b) + (f h) Definition LESS_OR_EQ autoloading from theory `arithmetic` ... LESS_OR_EQ = |- !m n. m <= n = m < n \/ (m = n) Theorem LESS_THM autoloading from theory `prim_rec` ... LESS_THM = |- !m n. m < (SUC n) = (m = n) \/ m < n LESS_SUC_IMP_LESS_EQ = |- !m n. m < (SUC n) = m <= n Theorem LESS_LESS_EQ_TRANS autoloading from theory `arithmetic` ... LESS_LESS_EQ_TRANS = |- !m n p. m < n /\ n <= p ==> m < p Theorem LESS_MONO_ADD autoloading from theory `arithmetic` ... LESS_MONO_ADD = |- !m n p. m < n ==> (m + p) < (n + p) Theorem ADD_SYM autoloading from theory `arithmetic` ... ADD_SYM = |- !m n. m + n = n + m LVAL_MAX_lem = |- !a b c y. (a + b) < (SUC c) /\ y < b ==> (a + y) < c Theorem LESS_OR autoloading from theory `arithmetic` ... LESS_OR = |- !m n. m < n ==> (SUC m) <= n Theorem LESS_EQ_LESS_EQ_MONO autoloading from theory `arithmetic` ... LESS_EQ_LESS_EQ_MONO = |- !m n p q. m <= p /\ n <= q ==> (m + n) <= (p + q) Theorem LESS_EQ_REFL autoloading from theory `arithmetic` ... LESS_EQ_REFL = |- !m. m <= m Theorem INDUCTION autoloading from theory `num` ... INDUCTION = |- !P. P 0 /\ (!n. P n ==> P(SUC n)) ==> (!n. P n) LESS_MULT_PLUS_DIFF = |- !n k l. k < l ==> ((k * n) + n) <= (l * n) Theorem LESS_EQ_IMP_LESS_SUC autoloading from theory `arithmetic` ... LESS_EQ_IMP_LESS_SUC = |- !n m. n <= m ==> n < (SUC m) Theorem LESS_0 autoloading from theory `prim_rec` ... LESS_0 = |- !n. 0 < (SUC n) LVAL_MAX = |- !l f b. (!x. (f x) < b) ==> (LVAL f b l) < (b EXP (LENGTH l)) NVAL_MAX = |- !f b. (!x. (f x) < b) ==> (!n. !w :: PWORDLEN n. (NVAL f b w) < (b EXP n)) NVAL0 = |- !f b. NVAL f b(WORD[]) = 0 NVAL1 = |- !f b x. NVAL f b(WORD[x]) = f x Theorem PWORDLEN0 autoloading from theory `word_base` ... PWORDLEN0 = |- !w. PWORDLEN 0 w ==> (w = WORD[]) NVAL_WORDLEN_0 = |- !w :: PWORDLEN 0. !fv r. NVAL fv r w = 0 Theorem SNOC_APPEND autoloading from theory `list` ... SNOC_APPEND = |- !x l. SNOC x l = APPEND l[x] Definition WCAT_DEF autoloading from theory `word_base` ... WCAT_DEF = |- !l1 l2. WCAT(WORD l1,WORD l2) = WORD(APPEND l1 l2) NVAL_WCAT1 = |- !w f b x. NVAL f b(WCAT(w,WORD[x])) = ((NVAL f b w) * b) + (f x) Theorem CONS_APPEND autoloading from theory `list` ... CONS_APPEND = |- !x l. CONS x l = APPEND[x]l NVAL_WCAT2 = |- !n. !w :: PWORDLEN n. !f b x. NVAL f b(WCAT(WORD[x],w)) = ((f x) * (b EXP n)) + (NVAL f b w) Theorem EXP_ADD autoloading from theory `arithmetic` ... EXP_ADD = |- !p q n. n EXP (p + q) = (n EXP p) * (n EXP q) Theorem EQ_MONO_ADD_EQ autoloading from theory `arithmetic` ... EQ_MONO_ADD_EQ = |- !m n p. (m + p = n + p) = (m = n) Theorem WCAT_PWORDLEN autoloading from theory `word_base` ... WCAT_PWORDLEN = |- !n1. !w1 :: PWORDLEN n1. !n2. !w2 :: PWORDLEN n2. PWORDLEN(n1 + n2)(WCAT(w1,w2)) Theorem WCAT_ASSOC autoloading from theory `word_base` ... WCAT_ASSOC = |- !w1 w2 w3. WCAT(w1,WCAT(w2,w3)) = WCAT(WCAT(w1,w2),w3) Theorem WORDLEN_SUC_WCAT_BIT_WSEG autoloading from theory `word_base` ... WORDLEN_SUC_WCAT_BIT_WSEG = |- !n. !w :: PWORDLEN(SUC n). w = WCAT(WORD[BIT n w],WSEG n 0 w) Definition ADD autoloading from theory `arithmetic` ... ADD = |- (!n. 0 + n = n) /\ (!m n. (SUC m) + n = SUC(m + n)) Theorem WCAT0 autoloading from theory `word_base` ... WCAT0 = |- !w. (WCAT(WORD[],w) = w) /\ (WCAT(w,WORD[]) = w) Theorem WSEG_PWORDLEN autoloading from theory `word_base` ... WSEG_PWORDLEN = |- !n. !w :: PWORDLEN n. !m k. (m + k) <= n ==> PWORDLEN m(WSEG m k w) Theorem LESS_EQ_SUC_REFL autoloading from theory `arithmetic` ... LESS_EQ_SUC_REFL = |- !m. m <= (SUC m) Theorem ADD_0 autoloading from theory `arithmetic` ... ADD_0 = |- !m. m + 0 = m NVAL_WCAT = |- !n m. !w1 :: PWORDLEN n. !w2 :: PWORDLEN m. !f b. NVAL f b(WCAT(w1,w2)) = ((NVAL f b w1) * (b EXP m)) + (NVAL f b w2) NLIST_DEF = |- (!frep b m. NLIST 0 frep b m = []) /\ (!n frep b m. NLIST(SUC n)frep b m = SNOC(frep(m MOD b))(NLIST n frep b(m DIV b))) NWORD_DEF = |- !n frep b m. NWORD n frep b m = WORD(NLIST n frep b m) NLIST_LENGTH = |- !n f b m. LENGTH(NLIST n f b m) = n Definition WORDLEN_DEF autoloading from theory `word_base` ... WORDLEN_DEF = |- !l. WORDLEN(WORD l) = LENGTH l NWORD_LENGTH = |- !n f b m. WORDLEN(NWORD n f b m) = n Definition PWORDLEN_DEF autoloading from theory `word_base` ... PWORDLEN_DEF = |- !n l. PWORDLEN n(WORD l) = (n = LENGTH l) NWORD_PWORDLEN = |- !n f b m. PWORDLEN n(NWORD n f b m) () : void File mk_word_num loaded () : void #rm -f bword_bitop.th echo 'set_flag(`abort_when_fail`,true);;'\ 'loadt `mk_bword_bitop`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool autoload_all = - : (string -> void) Loading library arith ... Loading library reduce ... Extending help search path. Loading boolean conversions........ Loading arithmetic conversions.................. Loading general conversions, rule and tactic..... Library reduce loaded. .Updating help search path ....................................................................................................................................................................................................................................................................................... Library arith loaded. () : void Loading library res_quan ... Updating search path Theory res_quan loaded ...............................................................................Updating help search path . Library res_quan loaded. () : void ....() : void File ver_202 loaded () : void .........................................................() : void Theory word_bitop loaded () : void [(); ()] : void list () : void ...() : void Theorem CONS_11 autoloading from theory `list` ... CONS_11 = |- !h t h' t'. (CONS h t = CONS h' t') = (h = h') /\ (t = t') Theorem INV_SUC_EQ autoloading from theory `prim_rec` ... INV_SUC_EQ = |- !m n. (SUC m = SUC n) = (m = n) Definition LENGTH autoloading from theory `list` ... LENGTH = |- (LENGTH[] = 0) /\ (!h t. LENGTH(CONS h t) = SUC(LENGTH t)) Definition MAP2 autoloading from theory `list` ... MAP2 = |- (!f. MAP2 f[][] = []) /\ (!f h1 t1 h2 t2. MAP2 f(CONS h1 t1)(CONS h2 t2) = CONS(f h1 h2)(MAP2 f t1 t2)) Definition SNOC autoloading from theory `list` ... SNOC = |- (!x. SNOC x[] = [x]) /\ (!x x' l. SNOC x(CONS x' l) = CONS x'(SNOC x l)) MAP2_SNOC = |- !f h1 h2 l1 l2. (LENGTH l1 = LENGTH l2) ==> (MAP2 f(SNOC h1 l1)(SNOC h2 l2) = SNOC(f h1 h2)(MAP2 f l1 l2)) Definition BUTLASTN autoloading from theory `list` ... BUTLASTN = |- (!l. BUTLASTN 0 l = l) /\ (!n x l. BUTLASTN(SUC n)(SNOC x l) = BUTLASTN n l) BUTLASTN_MAP2 = |- !l1 l2. (LENGTH l1 = LENGTH l2) ==> (!n. n <= (LENGTH l1) ==> (!f. BUTLASTN n(MAP2 f l1 l2) = MAP2 f(BUTLASTN n l1)(BUTLASTN n l2))) Theorem SNOC_11 autoloading from theory `list` ... SNOC_11 = |- !x l x' l'. (SNOC x l = SNOC x' l') = (x = x') /\ (l = l') Theorem LENGTH_LASTN autoloading from theory `list` ... LENGTH_LASTN = |- !n l. n <= (LENGTH l) ==> (LENGTH(LASTN n l) = n) Definition LASTN autoloading from theory `list` ... LASTN = |- (!l. LASTN 0 l = []) /\ (!n x l. LASTN(SUC n)(SNOC x l) = SNOC x(LASTN n l)) LASTN_MAP2 = |- !l1 l2. (LENGTH l1 = LENGTH l2) ==> (!n. n <= (LENGTH l1) ==> (!f. LASTN n(MAP2 f l1 l2) = MAP2 f(LASTN n l1)(LASTN n l2))) Theorem word_Ax autoloading from theory `word_base` ... word_Ax = |- !f. ?! fn. !l. fn(WORD l) = f l WNOT_DEF = |- !l. WNOT(WORD l) = WORD(MAP $~ l) Theorem LENGTH_BUTLASTN autoloading from theory `list` ... LENGTH_BUTLASTN = |- !n l. n <= (LENGTH l) ==> (LENGTH(BUTLASTN n l) = (LENGTH l) - n) Theorem LASTN_MAP autoloading from theory `list` ... LASTN_MAP = |- !n l. n <= (LENGTH l) ==> (!f. LASTN n(MAP f l) = MAP f(LASTN n l)) Theorem BUTLASTN_MAP autoloading from theory `list` ... BUTLASTN_MAP = |- !n l. n <= (LENGTH l) ==> (!f. BUTLASTN n(MAP f l) = MAP f(BUTLASTN n l)) Theorem WORD_11 autoloading from theory `word_base` ... WORD_11 = |- !l l'. (WORD l = WORD l') = (l = l') Theorem LENGTH_MAP autoloading from theory `list` ... LENGTH_MAP = |- !l f. LENGTH(MAP f l) = LENGTH l Definition WSEG_DEF autoloading from theory `word_base` ... WSEG_DEF = |- !m k l. WSEG m k(WORD l) = WORD(LASTN m(BUTLASTN k l)) Definition PWORDLEN_DEF autoloading from theory `word_base` ... PWORDLEN_DEF = |- !n l. PWORDLEN n(WORD l) = (n = LENGTH l) BIT_WNOT_SYM_lemma = |- !n. !w :: PWORDLEN n. PWORDLEN n(WNOT w) /\ (!m k. (m + k) <= n ==> (WNOT(WSEG m k w) = WSEG m k(WNOT w))) Definition PBITOP_DEF autoloading from theory `word_bitop` ... PBITOP_DEF = |- !op. PBITOP op = (!n. !w :: PWORDLEN n. PWORDLEN n(op w) /\ (!m k. (m + k) <= n ==> (op(WSEG m k w) = WSEG m k(op w)))) PBITOP_WNOT = |- PBITOP WNOT Definition MAP autoloading from theory `list` ... MAP = |- (!f. MAP f[] = []) /\ (!f h t. MAP f(CONS h t) = CONS(f h)(MAP f t)) WNOT_WNOT = |- !w. WNOT(WNOT w) = w Theorem MAP_APPEND autoloading from theory `list` ... MAP_APPEND = |- !f l1 l2. MAP f(APPEND l1 l2) = APPEND(MAP f l1)(MAP f l2) Definition WCAT_DEF autoloading from theory `word_base` ... WCAT_DEF = |- !l1 l2. WCAT(WORD l1,WORD l2) = WORD(APPEND l1 l2) WCAT_WNOT = |- !n1 n2. !w1 :: PWORDLEN n1. !w2 :: PWORDLEN n2. WCAT(WNOT w1,WNOT w2) = WNOT(WCAT(w1,w2)) Theorem LENGTH_MAP2 autoloading from theory `list` ... LENGTH_MAP2 = |- !l1 l2. (LENGTH l1 = LENGTH l2) ==> (!f. (LENGTH(MAP2 f l1 l2) = LENGTH l1) /\ (LENGTH(MAP2 f l1 l2) = LENGTH l2)) LENGTH_MAP22 = |- !l1 l2 f. (LENGTH l1 = LENGTH l2) ==> (LENGTH(MAP2 f l1 l2) = LENGTH l2) Theorem PBITBOP_EXISTS autoloading from theory `word_bitop` ... PBITBOP_EXISTS = |- !f. ?fn. !l1 l2. fn(WORD l1)(WORD l2) = WORD(MAP2 f l1 l2) WAND_DEF = |- !l1 l2. (WORD l1) WAND (WORD l2) = WORD(MAP2 $/\ l1 l2) PBITBOP_WAND_lemma = |- !n. !w1 w2 :: PWORDLEN n. PWORDLEN n(w1 WAND w2) /\ (!m k. (m + k) <= n ==> ((WSEG m k w1) WAND (WSEG m k w2) = WSEG m k(w1 WAND w2))) Definition PBITBOP_DEF autoloading from theory `word_bitop` ... PBITBOP_DEF = |- !op. PBITBOP op = (!n. !w1 :: PWORDLEN n. !w2 :: PWORDLEN n. PWORDLEN n(op w1 w2) /\ (!m k. (m + k) <= n ==> (op(WSEG m k w1)(WSEG m k w2) = WSEG m k(op w1 w2)))) PBITBOP_WAND = |- PBITBOP $WAND WOR_DEF = |- !l1 l2. (WORD l1) WOR (WORD l2) = WORD(MAP2 $\/ l1 l2) PBITBOP_WOR_lemma = |- !n. !w1 w2 :: PWORDLEN n. PWORDLEN n(w1 WOR w2) /\ (!m k. (m + k) <= n ==> ((WSEG m k w1) WOR (WSEG m k w2) = WSEG m k(w1 WOR w2))) PBITBOP_WOR = |- PBITBOP $WOR WXOR_DEF = |- !l1 l2. (WORD l1) WXOR (WORD l2) = WORD(MAP2(\x y. ~(x = y))l1 l2) PBITBOP_WXOR_lemma = |- !n. !w1 w2 :: PWORDLEN n. PWORDLEN n(w1 WXOR w2) /\ (!m k. (m + k) <= n ==> ((WSEG m k w1) WXOR (WSEG m k w2) = WSEG m k(w1 WXOR w2))) PBITBOP_WXOR = |- PBITBOP $WXOR () : void File mk_bword_bitop loaded () : void #rm -f bword_num.th echo 'set_flag(`abort_when_fail`,true);;'\ 'loadt `mk_bword_num`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool autoload_all = - : (string -> void) Loading library arith ... Loading library reduce ... Extending help search path. Loading boolean conversions........ Loading arithmetic conversions.................. Loading general conversions, rule and tactic..... Library reduce loaded. .Updating help search path ....................................................................................................................................................................................................................................................................................... Library arith loaded. () : void Loading library res_quan ... Updating search path Theory res_quan loaded ...............................................................................Updating help search path . Library res_quan loaded. () : void ....() : void File ver_202 loaded () : void .........................................................() : void Theory word_bitop loaded () : void () : void Theory word_num loaded () : void [(); (); ()] : void list ...() : void BV_DEF = |- !b. BV b = (b => SUC 0 | 0) Theorem word_Ax autoloading from theory `word_base` ... word_Ax = |- !f. ?! fn. !l. fn(WORD l) = f l BNVAL_DEF = |- !l. BNVAL(WORD l) = LVAL BV 2 l BV_LESS_2 = |- !x. (BV x) < 2 Definition NVAL_DEF autoloading from theory `word_num` ... NVAL_DEF = |- !f b l. NVAL f b(WORD l) = LVAL f b l BNVAL_NVAL = |- !w. BNVAL w = NVAL BV 2 w Theorem NVAL0 autoloading from theory `word_num` ... NVAL0 = |- !f b. NVAL f b(WORD[]) = 0 BNVAL0 = |- BNVAL(WORD[]) = 0 Theorem SUC_LESS autoloading from theory `prim_rec` ... SUC_LESS = |- !m n. (SUC m) < n ==> m < n Theorem INV_SUC_EQ autoloading from theory `prim_rec` ... INV_SUC_EQ = |- !m n. (SUC m = SUC n) = (m = n) Theorem NOT_SUC autoloading from theory `num` ... NOT_SUC = |- !n. ~(SUC n = 0) Theorem ADD_EQ_0 autoloading from theory `arithmetic` ... ADD_EQ_0 = |- !m n. (m + n = 0) = (m = 0) /\ (n = 0) Theorem LESS_NOT_EQ autoloading from theory `prim_rec` ... LESS_NOT_EQ = |- !m n. m < n ==> ~(m = n) BNVAL_11_lem = |- !m n p. m < p /\ n < p ==> ~(p + m = n) Theorem EQ_MONO_ADD_EQ autoloading from theory `arithmetic` ... EQ_MONO_ADD_EQ = |- !m n p. (m + p = n + p) = (m = n) Theorem CONS_11 autoloading from theory `list` ... CONS_11 = |- !h t h' t'. (CONS h t = CONS h' t') = (h = h') /\ (t = t') Theorem LVAL autoloading from theory `word_num` ... LVAL = |- (!f b. LVAL f b[] = 0) /\ (!l f b x. LVAL f b(CONS x l) = ((f x) * (b EXP (LENGTH l))) + (LVAL f b l)) Theorem WORD_11 autoloading from theory `word_base` ... WORD_11 = |- !l l'. (WORD l = WORD l') = (l = l') Definition WORDLEN_DEF autoloading from theory `word_base` ... WORDLEN_DEF = |- !l. WORDLEN(WORD l) = LENGTH l Theorem LVAL_MAX autoloading from theory `word_num` ... LVAL_MAX = |- !l f b. (!x. (f x) < b) ==> (LVAL f b l) < (b EXP (LENGTH l)) BNVAL_11 = |- !w1 w2. (WORDLEN w1 = WORDLEN w2) ==> (BNVAL w1 = BNVAL w2) ==> (w1 = w2) BNVAL_ONTO = |- !w. ?n. BNVAL w = n BNVAL_MAX = |- !n. !w :: PWORDLEN n. (BNVAL w) < (2 EXP n) Theorem LVAL_SNOC autoloading from theory `word_num` ... LVAL_SNOC = |- !l h f b. LVAL f b(SNOC h l) = ((LVAL f b l) * b) + (f h) Theorem SNOC_APPEND autoloading from theory `list` ... SNOC_APPEND = |- !x l. SNOC x l = APPEND l[x] Definition WCAT_DEF autoloading from theory `word_base` ... WCAT_DEF = |- !l1 l2. WCAT(WORD l1,WORD l2) = WORD(APPEND l1 l2) BNVAL_WCAT1 = |- !n. !w :: PWORDLEN n. !x. BNVAL(WCAT(w,WORD[x])) = ((BNVAL w) * 2) + (BV x) Theorem NVAL_WCAT2 autoloading from theory `word_num` ... NVAL_WCAT2 = |- !n. !w :: PWORDLEN n. !f b x. NVAL f b(WCAT(WORD[x],w)) = ((f x) * (b EXP n)) + (NVAL f b w) BNVAL_WCAT2 = |- !n. !w :: PWORDLEN n. !x. BNVAL(WCAT(WORD[x],w)) = ((BV x) * (2 EXP n)) + (BNVAL w) Theorem NVAL_WCAT autoloading from theory `word_num` ... NVAL_WCAT = |- !n m. !w1 :: PWORDLEN n. !w2 :: PWORDLEN m. !f b. NVAL f b(WCAT(w1,w2)) = ((NVAL f b w1) * (b EXP m)) + (NVAL f b w2) BNVAL_WCAT = |- !n m. !w1 :: PWORDLEN n. !w2 :: PWORDLEN m. BNVAL(WCAT(w1,w2)) = ((BNVAL w1) * (2 EXP m)) + (BNVAL w2) VB_DEF = |- !n. VB n = ~(n MOD 2 = 0) NBWORD_DEF = |- !n m. NBWORD n m = WORD(NLIST n VB 2 m) Definition NLIST_DEF autoloading from theory `word_num` ... NLIST_DEF = |- (!frep b m. NLIST 0 frep b m = []) /\ (!n frep b m. NLIST(SUC n)frep b m = SNOC(frep(m MOD b))(NLIST n frep b(m DIV b))) NBWORD0 = |- !m. NBWORD 0 m = WORD[] Theorem LENGTH_SNOC autoloading from theory `list` ... LENGTH_SNOC = |- !x l. LENGTH(SNOC x l) = SUC(LENGTH l) Definition LENGTH autoloading from theory `list` ... LENGTH = |- (LENGTH[] = 0) /\ (!h t. LENGTH(CONS h t) = SUC(LENGTH t)) NLIST_LENGTH = |- !n f b m. LENGTH(NLIST n f b m) = n WORDLEN_NBWORD = |- !n m. WORDLEN(NBWORD n m) = n Theorem PWORDLEN autoloading from theory `word_base` ... PWORDLEN = |- !n w. PWORDLEN n w = (WORDLEN w = n) PWORDLEN_NBWORD = |- !n m. PWORDLEN n(NBWORD n m) Theorem WORD_SNOC_WCAT autoloading from theory `word_base` ... WORD_SNOC_WCAT = |- !x l. WORD(SNOC x l) = WCAT(WORD l,WORD[x]) NBWORD_SUC = |- !n m. NBWORD(SUC n)m = WCAT(NBWORD n(m DIV 2),WORD[VB(m MOD 2)]) Theorem SUC_ID autoloading from theory `prim_rec` ... SUC_ID = |- !n. ~(SUC n = n) Theorem LESS_MOD autoloading from theory `arithmetic` ... LESS_MOD = |- !n k. k < n ==> (k MOD n = k) VB_BV = |- !x. VB(BV x) = x Theorem ZERO_MOD autoloading from theory `arithmetic` ... ZERO_MOD = |- !n. 0 < n ==> (0 MOD n = 0) Theorem ZERO_DIV autoloading from theory `arithmetic` ... ZERO_DIV = |- !n. 0 < n ==> (0 DIV n = 0) BV_VB = |- !x. x < 2 ==> (BV(VB x) = x) Theorem MOD_EQ_0 autoloading from theory `arithmetic` ... MOD_EQ_0 = |- !n. 0 < n ==> (!k. (k * n) MOD n = 0) Theorem MOD_MOD autoloading from theory `arithmetic` ... MOD_MOD = |- !n. 0 < n ==> (!k. (k MOD n) MOD n = k MOD n) Theorem SNOC_11 autoloading from theory `list` ... SNOC_11 = |- !x l x' l'. (SNOC x l = SNOC x' l') = (x = x') /\ (l = l') NBWORD_BNVAL = |- !n. !w :: PWORDLEN n. NBWORD n(BNVAL w) = w Theorem LESS_MULT_MONO autoloading from theory `arithmetic` ... LESS_MULT_MONO = |- !m i n. ((SUC n) * m) < ((SUC n) * i) = m < i Theorem ZERO_LESS_EXP autoloading from theory `arithmetic` ... ZERO_LESS_EXP = |- !m n. 0 < ((SUC n) EXP m) Definition EXP autoloading from theory `arithmetic` ... EXP = |- (!m. m EXP 0 = 1) /\ (!m n. m EXP (SUC n) = m * (m EXP n)) Definition DIVISION autoloading from theory `arithmetic` ... DIVISION = |- !n. 0 < n ==> (!k. (k = ((k DIV n) * n) + (k MOD n)) /\ (k MOD n) < n) BNVAL_NBWORD = |- !n m. m < (2 EXP n) ==> (BNVAL(NBWORD n m) = m) ZERO_WORD_VAL = |- !n. !w :: PWORDLEN n. (w = NBWORD n 0) = (BNVAL w = 0) Theorem WCAT_ASSOC autoloading from theory `word_base` ... WCAT_ASSOC = |- !w1 w2 w3. WCAT(w1,WCAT(w2,w3)) = WCAT(WCAT(w1,w2),w3) Theorem ADD_SUC autoloading from theory `arithmetic` ... ADD_SUC = |- !m n. SUC(m + n) = m + (SUC n) Theorem WCAT0 autoloading from theory `word_base` ... WCAT0 = |- !w. (WCAT(WORD[],w) = w) /\ (WCAT(w,WORD[]) = w) WCAT_NBWORD_0 = |- !n1 n2. WCAT(NBWORD n1 0,NBWORD n2 0) = NBWORD(n1 + n2)0 WSPLIT_NBWORD_0 = |- !m n. m <= n ==> (WSPLIT m(NBWORD n 0) = NBWORD(n - m)0,NBWORD m 0) Theorem LESS_EQ_REFL autoloading from theory `arithmetic` ... LESS_EQ_REFL = |- !m. m <= m Theorem WSEG_PWORDLEN autoloading from theory `word_base` ... WSEG_PWORDLEN = |- !n. !w :: PWORDLEN n. !m k. (m + k) <= n ==> PWORDLEN m(WSEG m k w) Theorem WCAT_11 autoloading from theory `word_base` ... WCAT_11 = |- !m n. !wm1 wm2 :: PWORDLEN m. !wn1 wn2 :: PWORDLEN n. (WCAT(wm1,wn1) = WCAT(wm2,wn2)) = (wm1 = wm2) /\ (wn1 = wn2) Theorem WSPLIT_WSEG autoloading from theory `word_base` ... WSPLIT_WSEG = |- !n. !w :: PWORDLEN n. !k. k <= n ==> (WSPLIT k w = WSEG(n - k)k w,WSEG k 0 w) EQ_NBWORD0_SPLIT = |- !n. !w :: PWORDLEN n. !m. m <= n ==> ((w = NBWORD n 0) = (WSEG(n - m)m w = NBWORD(n - m)0) /\ (WSEG m 0 w = NBWORD m 0)) Theorem MULT_0 autoloading from theory `arithmetic` ... MULT_0 = |- !m. m * 0 = 0 LESS2_DIV2 = |- !r y. 0 < y /\ r < (2 * y) ==> (r DIV 2) < y less2 = |- 0 < 2 MOD_DIV_lemma = |- !x y. 0 < y ==> ((x MOD (2 * y)) DIV 2 = (x DIV 2) MOD y) Definition PWORDLEN_DEF autoloading from theory `word_base` ... PWORDLEN_DEF = |- !n l. PWORDLEN n(WORD l) = (n = LENGTH l) NBWORD_MOD = |- !n m. NBWORD n(m MOD (2 EXP n)) = NBWORD n m Theorem WSEG_WORD_LENGTH autoloading from theory `word_base` ... WSEG_WORD_LENGTH = |- !n. !w :: PWORDLEN n. WSEG n 0 w = w Theorem SUC_SUB1 autoloading from theory `arithmetic` ... SUC_SUB1 = |- !m. (SUC m) - 1 = m Theorem ZERO_LESS_EQ autoloading from theory `arithmetic` ... ZERO_LESS_EQ = |- !n. 0 <= n Theorem LESS_EQ_SUC_REFL autoloading from theory `arithmetic` ... LESS_EQ_SUC_REFL = |- !m. m <= (SUC m) Theorem PWORDLEN1 autoloading from theory `word_base` ... PWORDLEN1 = |- !x. PWORDLEN 1(WORD[x]) Theorem WSEG_WCAT_WSEG autoloading from theory `word_base` ... WSEG_WCAT_WSEG = |- !n1 n2. !w1 :: PWORDLEN n1. !w2 :: PWORDLEN n2. !m k. (m + k) <= (n1 + n2) /\ k < n2 /\ n2 <= (m + k) ==> (WSEG m k(WCAT(w1,w2)) = WCAT(WSEG((m + k) - n2)0 w1,WSEG(n2 - k)k w2)) Theorem WSEG0 autoloading from theory `word_base` ... WSEG0 = |- !k w. WSEG 0 k w = WORD[] WSEG_NBWORD_SUC = |- !n m. WSEG n 0(NBWORD(SUC n)m) = NBWORD n m Theorem NVAL_MAX autoloading from theory `word_num` ... NVAL_MAX = |- !f b. (!x. (f x) < b) ==> (!n. !w :: PWORDLEN n. (NVAL f b w) < (b EXP n)) Theorem WORDLEN_SUC_WCAT_BIT_WSEG autoloading from theory `word_base` ... WORDLEN_SUC_WCAT_BIT_WSEG = |- !n. !w :: PWORDLEN(SUC n). w = WCAT(WORD[BIT n w],WSEG n 0 w) NBWORD_SUC_WSEG = |- !n. !w :: PWORDLEN(SUC n). NBWORD n(BNVAL w) = WSEG n 0 w Theorem TIMES2 autoloading from theory `arithmetic` ... TIMES2 = |- !n. 2 * n = n + n Definition SHL_DEF autoloading from theory `word_bitop` ... SHL_DEF = |- !f w b. SHL f w b = BIT(PRE(WORDLEN w))w, WCAT(WSEG(PRE(WORDLEN w))0 w,(f => WSEG 1 0 w | WORD[b])) DOUBLE_EQ_SHL = |- !n. 0 < n ==> (!w :: PWORDLEN n. !b. NBWORD n((BNVAL w) + ((BNVAL w) + (BV b))) = SND(SHL F w b)) Theorem LESS_ADD_SUC autoloading from theory `arithmetic` ... LESS_ADD_SUC = |- !m n. m < (m + (SUC n)) Theorem BIT_WCAT_FST autoloading from theory `word_base` ... BIT_WCAT_FST = |- !n1 n2. !w1 :: PWORDLEN n1. !w2 :: PWORDLEN n2. !k. n2 <= k /\ k < (n1 + n2) ==> (BIT k(WCAT(w1,w2)) = BIT(k - n2)w1) Definition SNOC autoloading from theory `list` ... SNOC = |- (!x. SNOC x[] = [x]) /\ (!x x' l. SNOC x(CONS x' l) = CONS x'(SNOC x l)) Theorem BIT0 autoloading from theory `word_base` ... BIT0 = |- !b. BIT 0(WORD[b]) = b MSB_NBWORD = |- !n m. BIT n(NBWORD(SUC n)m) = VB((m DIV (2 EXP n)) MOD 2) ZERO_LESS_TWO_EXP = |- !m. 0 < (2 EXP m) NBWORD_SPLIT = |- !n1 n2 m. NBWORD(n1 + n2)m = WCAT(NBWORD n1(m DIV (2 EXP n2)),NBWORD n2 m) Theorem WSEG_WCAT2 autoloading from theory `word_base` ... WSEG_WCAT2 = |- !n1 n2. !w1 :: PWORDLEN n1. !w2 :: PWORDLEN n2. WSEG n2 0(WCAT(w1,w2)) = w2 Theorem SUB_EQUAL_0 autoloading from theory `arithmetic` ... SUB_EQUAL_0 = |- !c. c - c = 0 Theorem WSEG_WCAT_WSEG1 autoloading from theory `word_base` ... WSEG_WCAT_WSEG1 = |- !n1 n2. !w1 :: PWORDLEN n1. !w2 :: PWORDLEN n2. !m k. m <= n1 /\ n2 <= k ==> (WSEG m k(WCAT(w1,w2)) = WSEG m(k - n2)w1) WSEG_NBWORD = |- !m k n. (m + k) <= n ==> (!l. WSEG m k(NBWORD n l) = NBWORD m(l DIV (2 EXP k))) NBWORD_SUC_FST = |- !n m. NBWORD(SUC n)m = WCAT(WORD[VB((m DIV (2 EXP n)) MOD 2)],NBWORD n m) Theorem BIT_WSEG autoloading from theory `word_base` ... BIT_WSEG = |- !n. !w :: PWORDLEN n. !m k j. (m + k) <= n ==> j < m ==> (BIT j(WSEG m k w) = BIT(j + k)w) BIT_NBWORD0 = |- !k n. k < n ==> (BIT k(NBWORD n 0) = F) add_lem = |- !m1 m2 n1 n2 p. ((m1 * p) + n1) + ((m2 * p) + n2) = ((m1 * p) + (m2 * p)) + (n1 + n2) ADD_BNVAL_LEFT = |- !n. !w1 w2 :: PWORDLEN(SUC n). (BNVAL w1) + (BNVAL w2) = (((BV(BIT n w1)) + (BV(BIT n w2))) * (2 EXP n)) + ((BNVAL(WSEG n 0 w1)) + (BNVAL(WSEG n 0 w2))) Theorem WORDLEN_SUC_WCAT_BIT_WSEG_RIGHT autoloading from theory `word_base` ... WORDLEN_SUC_WCAT_BIT_WSEG_RIGHT = |- !n. !w :: PWORDLEN(SUC n). w = WCAT(WSEG n 1 w,WORD[BIT 0 w]) ADD_BNVAL_RIGHT = |- !n. !w1 w2 :: PWORDLEN(SUC n). (BNVAL w1) + (BNVAL w2) = (((BNVAL(WSEG n 1 w1)) + (BNVAL(WSEG n 1 w2))) * 2) + ((BV(BIT 0 w1)) + (BV(BIT 0 w2))) Theorem WCAT_WSEG_WSEG autoloading from theory `word_base` ... WCAT_WSEG_WSEG = |- !n. !w :: PWORDLEN n. !m1 m2 k. (m1 + (m2 + k)) <= n ==> (WCAT(WSEG m2(m1 + k)w,WSEG m1 k w) = WSEG(m1 + m2)k w) ADD_BNVAL_SPLIT = |- !n1 n2. !w1 w2 :: PWORDLEN(n1 + n2). (BNVAL w1) + (BNVAL w2) = (((BNVAL(WSEG n1 n2 w1)) + (BNVAL(WSEG n1 n2 w2))) * (2 EXP n2)) + ((BNVAL(WSEG n2 0 w1)) + (BNVAL(WSEG n2 0 w2))) () : void File mk_bword_num loaded () : void #rm -f bword_arith.th echo 'set_flag(`abort_when_fail`,true);;'\ 'loadt `mk_bword_arith`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool autoload_all = - : (string -> void) Loading library arith ... Loading library reduce ... Extending help search path. Loading boolean conversions........ Loading arithmetic conversions.................. Loading general conversions, rule and tactic..... Library reduce loaded. .Updating help search path ....................................................................................................................................................................................................................................................................................... Library arith loaded. () : void Loading library res_quan ... Updating search path Theory res_quan loaded ...............................................................................Updating help search path . Library res_quan loaded. () : void ....() : void File ver_202 loaded () : void .........................................................() : void Theory bword_num loaded () : void [(); (); ()] : void list () : void MULT_LEFT_1 = |- !m. 1 * m = m ADD_DIV_SUC_DIV = |- !n. 0 < n ==> (!r. (n + r) DIV n = SUC(r DIV n)) Theorem LESS_EQ autoloading from theory `arithmetic` ... LESS_EQ = |- !m n. m < n = (SUC m) <= n Theorem ZERO_LESS_EQ autoloading from theory `arithmetic` ... ZERO_LESS_EQ = |- !n. 0 <= n LESS_IMP_LESS_EQ_PRE = |- !m n. 0 < n ==> (m < n = m <= (PRE n)) LESS_MONO_DIV = |- !n. 0 < n ==> (!p q. p < q ==> (p DIV n) <= (q DIV n)) Theorem LESS_EQ_REFL autoloading from theory `arithmetic` ... LESS_EQ_REFL = |- !m. m <= m Definition LESS_OR_EQ autoloading from theory `arithmetic` ... LESS_OR_EQ = |- !m n. m <= n = m < n \/ (m = n) LESS_EQ_MONO_DIV = |- !n. 0 < n ==> (!p q. p <= q ==> (p DIV n) <= (q DIV n)) Theorem PRE_SUC_EQ autoloading from theory `arithmetic` ... PRE_SUC_EQ = |- !m n. 0 < n ==> ((m = PRE n) = (SUC m = n)) SUC_PRE = |- !n. 0 < n ==> (SUC(PRE n) = n) Theorem TIMES2 autoloading from theory `arithmetic` ... TIMES2 = |- !n. 2 * n = n + n Definition EXP autoloading from theory `arithmetic` ... EXP = |- (!m. m EXP 0 = 1) /\ (!m n. m EXP (SUC n) = m * (m EXP n)) ONE_LESS_TWO_EXP_SUC = |- !n. 1 < (2 EXP (SUC n)) ADD_MONO_EQ = |- !m n p. (p + m = p + n) = (m = n) ACARRY_DEF = |- (!w1 w2 cin. ACARRY 0 w1 w2 cin = cin) /\ (!n w1 w2 cin. ACARRY(SUC n)w1 w2 cin = VB (((BV(BIT n w1)) + ((BV(BIT n w2)) + (BV(ACARRY n w1 w2 cin)))) DIV 2)) ICARRY_DEF = |- (!w1 w2 cin. ICARRY 0 w1 w2 cin = cin) /\ (!n w1 w2 cin. ICARRY(SUC n)w1 w2 cin = BIT n w1 /\ BIT n w2 \/ (BIT n w1 \/ BIT n w2) /\ ICARRY n w1 w2 cin) Theorem ZERO_MOD autoloading from theory `arithmetic` ... ZERO_MOD = |- !n. 0 < n ==> (0 MOD n = 0) Theorem ZERO_DIV autoloading from theory `arithmetic` ... ZERO_DIV = |- !n. 0 < n ==> (0 DIV n = 0) div_mod_lemmas = [|- !x. (SUC(SUC x)) DIV 2 = SUC(x DIV 2); |- (SUC 0) DIV 2 = 0; |- 0 DIV 2 = 0; |- (SUC 0) MOD 2 = SUC 0; |- 0 MOD 2 = 0] : thm list Theorem SUC_NOT autoloading from theory `arithmetic` ... SUC_NOT = |- !n. ~(0 = SUC n) Theorem NOT_SUC autoloading from theory `num` ... NOT_SUC = |- !n. ~(SUC n = 0) Definition VB_DEF autoloading from theory `bword_num` ... VB_DEF = |- !n. VB n = ~(n MOD 2 = 0) Definition BV_DEF autoloading from theory `bword_num` ... BV_DEF = |- !b. BV b = (b => SUC 0 | 0) Theorem LESS_IMP_LESS_OR_EQ autoloading from theory `arithmetic` ... LESS_IMP_LESS_OR_EQ = |- !m n. m < n ==> m <= n ACARRY_EQ_ICARRY = |- !n. !w1 w2 :: PWORDLEN n. !cin k. k <= n ==> (ACARRY k w1 w2 cin = ICARRY k w1 w2 cin) Less2 = |- 0 < 2 Less2_SUC0 = |- (SUC 0) < 2 Theorem LESS_EQ_SUC_REFL autoloading from theory `arithmetic` ... LESS_EQ_SUC_REFL = |- !m. m <= (SUC m) BV_LESS_EQ_1 = |- !x. (BV x) <= 1 Theorem LESS_EQ_LESS_EQ_MONO autoloading from theory `arithmetic` ... LESS_EQ_LESS_EQ_MONO = |- !m n p q. m <= p /\ n <= q ==> (m + n) <= (p + q) ADD_BV_LESS_EQ_2 = |- !x1 x2. ((BV x1) + (BV x2)) <= 2 LESS_EQ1_LESS2 = |- n < 2 = n <= 1 Theorem BNVAL_MAX autoloading from theory `bword_num` ... BNVAL_MAX = |- !n. !w :: PWORDLEN n. (BNVAL w) < (2 EXP n) Theorem ZERO_LESS_EXP autoloading from theory `arithmetic` ... ZERO_LESS_EXP = |- !m n. 0 < ((SUC n) EXP m) Theorem PRE_SUB1 autoloading from theory `arithmetic` ... PRE_SUB1 = |- !m. PRE m = m - 1 BNVAL_LESS_EQ = |- !n. !w :: PWORDLEN n. (BNVAL w) <= ((2 EXP n) - 1) Theorem LESS_MONO_MULT autoloading from theory `arithmetic` ... LESS_MONO_MULT = |- !m n p. m <= n ==> (m * p) <= (n * p) Theorem LEFT_SUB_DISTRIB autoloading from theory `arithmetic` ... LEFT_SUB_DISTRIB = |- !m n p. p * (m - n) = (p * m) - (p * n) ADD_BNVAL_LESS_EQ = |- !n. !w1 w2 :: PWORDLEN n. !cin. ((BNVAL w1) + ((BNVAL w2) + (BV cin))) <= ((2 EXP (SUC n)) - 1) ZERO_LESS_TWO_EXP = |- !m. 0 < (2 EXP m) EXP_SUB1_LESS = |- ((2 EXP n) - 1) < (2 EXP n) ADD_BNVAL_LESS_EQ1 = |- !n cin. !w1 w2 :: PWORDLEN n. (((BNVAL w1) + ((BNVAL w2) + (BV cin))) DIV (2 EXP n)) <= (SUC 0) ADD_BV_BNVAL_DIV_LESS_EQ1 = |- !n x1 x2 cin. !w1 w2 :: PWORDLEN n. ((((BV x1) + (BV x2)) + (((BNVAL w1) + ((BNVAL w2) + (BV cin))) DIV (2 EXP n))) DIV 2) <= 1 Theorem SUC_LESS autoloading from theory `prim_rec` ... SUC_LESS = |- !m n. (SUC m) < n ==> m < n ADD_BV_BNVAL_LESS_EQ = |- !n x1 x2 cin. !w1 w2 :: PWORDLEN n. (((BV x1) + (BV x2)) + ((BNVAL w1) + ((BNVAL w2) + (BV cin)))) <= (SUC(2 EXP (SUC n))) ADD_BV_BNVAL_LESS_EQ1 = |- !n x1 x2 cin. !w1 w2 :: PWORDLEN n. ((((BV x1) + (BV x2)) + ((BNVAL w1) + ((BNVAL w2) + (BV cin)))) DIV (2 EXP (n + 1))) <= 1 Theorem WSEG_PWORDLEN autoloading from theory `word_base` ... WSEG_PWORDLEN = |- !n. !w :: PWORDLEN n. !m k. (m + k) <= n ==> PWORDLEN m(WSEG m k w) seg_pw = |- !w. PWORDLEN n w ==> (SUC k) <= n ==> PWORDLEN(SUC k)(WSEG(SUC k)0 w) Theorem BIT_WSEG autoloading from theory `word_base` ... BIT_WSEG = |- !n. !w :: PWORDLEN n. !m k j. (m + k) <= n ==> j < m ==> (BIT j(WSEG m k w) = BIT(j + k)w) bit_thm = |- !w. PWORDLEN n w ==> (SUC k) <= n ==> (BIT k(WSEG(SUC k)0 w) = BIT k w) Theorem WSEG_WSEG autoloading from theory `word_base` ... WSEG_WSEG = |- !n. !w :: PWORDLEN n. !m1 k1 m2 k2. (m1 + k1) <= n /\ (m2 + k2) <= m1 ==> (WSEG m2 k2(WSEG m1 k1 w) = WSEG m2(k1 + k2)w) seg_thm = |- !w. PWORDLEN n w ==> (SUC k) <= n ==> (WSEG k 0(WSEG(SUC k)0 w) = WSEG k 0 w) seg_pw_thm' = |- !w. PWORDLEN n w ==> k <= n ==> PWORDLEN k(WSEG k 0 w) spec_thm = - : (thm -> thm list) Theorem ADD_BNVAL_LEFT autoloading from theory `bword_num` ... ADD_BNVAL_LEFT = |- !n. !w1 w2 :: PWORDLEN(SUC n). (BNVAL w1) + (BNVAL w2) = (((BV(BIT n w1)) + (BV(BIT n w2))) * (2 EXP n)) + ((BNVAL(WSEG n 0 w1)) + (BNVAL(WSEG n 0 w2))) add_left = ... |- (BNVAL(WSEG(SUC k)0 w1)) + (BNVAL(WSEG(SUC k)0 w2)) = (((BV(BIT k w1)) + (BV(BIT k w2))) * (2 EXP k)) + ((BNVAL(WSEG k 0 w1)) + (BNVAL(WSEG k 0 w2))) less1_lem = ... |- ((((BV(BIT k w1)) + (BV(BIT k w2))) + (((BNVAL(WSEG k 0 w1)) + ((BNVAL(WSEG k 0 w2)) + (BV cin))) DIV (2 EXP k))) DIV 2) <= 1 Theorem BV_VB autoloading from theory `bword_num` ... BV_VB = |- !x. x < 2 ==> (BV(VB x) = x) Theorem BNVAL0 autoloading from theory `bword_num` ... BNVAL0 = |- BNVAL(WORD[]) = 0 Theorem WSEG0 autoloading from theory `word_base` ... WSEG0 = |- !k w. WSEG 0 k w = WORD[] ACARRY_EQ_ADD_DIV = |- !n. !w1 w2 :: PWORDLEN n. !k. k < n ==> (BV(ACARRY k w1 w2 cin) = ((BNVAL(WSEG k 0 w1)) + ((BNVAL(WSEG k 0 w2)) + (BV cin))) DIV (2 EXP k)) Theorem NBWORD_MOD autoloading from theory `bword_num` ... NBWORD_MOD = |- !n m. NBWORD n(m MOD (2 EXP n)) = NBWORD n m Theorem LESS_ADD_NONZERO autoloading from theory `arithmetic` ... LESS_ADD_NONZERO = |- !m n. ~(n = 0) ==> m < (m + n) Theorem NBWORD_SPLIT autoloading from theory `bword_num` ... NBWORD_SPLIT = |- !n1 n2 m. NBWORD(n1 + n2)m = WCAT(NBWORD n1(m DIV (2 EXP n2)),NBWORD n2 m) Theorem WSEG_WORD_LENGTH autoloading from theory `word_base` ... WSEG_WORD_LENGTH = |- !n. !w :: PWORDLEN n. WSEG n 0 w = w Theorem WCAT0 autoloading from theory `word_base` ... WCAT0 = |- !w. (WCAT(WORD[],w) = w) /\ (WCAT(w,WORD[]) = w) Theorem NBWORD0 autoloading from theory `bword_num` ... NBWORD0 = |- !m. NBWORD 0 m = WORD[] Theorem PWORDLEN_NBWORD autoloading from theory `bword_num` ... PWORDLEN_NBWORD = |- !n m. PWORDLEN n(NBWORD n m) Theorem WCAT_11 autoloading from theory `word_base` ... WCAT_11 = |- !m n. !wm1 wm2 :: PWORDLEN m. !wn1 wn2 :: PWORDLEN n. (WCAT(wm1,wn1) = WCAT(wm2,wn2)) = (wm1 = wm2) /\ (wn1 = wn2) Theorem ADD_BNVAL_SPLIT autoloading from theory `bword_num` ... ADD_BNVAL_SPLIT = |- !n1 n2. !w1 w2 :: PWORDLEN(n1 + n2). (BNVAL w1) + (BNVAL w2) = (((BNVAL(WSEG n1 n2 w1)) + (BNVAL(WSEG n1 n2 w2))) * (2 EXP n2)) + ((BNVAL(WSEG n2 0 w1)) + (BNVAL(WSEG n2 0 w2))) ADD_WORD_SPLIT = |- !n1 n2. !w1 w2 :: PWORDLEN(n1 + n2). !cin. NBWORD(n1 + n2)((BNVAL w1) + ((BNVAL w2) + (BV cin))) = WCAT (NBWORD n1 ((BNVAL(WSEG n1 n2 w1)) + ((BNVAL(WSEG n1 n2 w2)) + (BV(ACARRY n2 w1 w2 cin)))), NBWORD n2 ((BNVAL(WSEG n2 0 w1)) + ((BNVAL(WSEG n2 0 w2)) + (BV cin)))) Theorem WSEG_WCAT2 autoloading from theory `word_base` ... WSEG_WCAT2 = |- !n1 n2. !w1 :: PWORDLEN n1. !w2 :: PWORDLEN n2. WSEG n2 0(WCAT(w1,w2)) = w2 Theorem WSEG_WCAT_WSEG1 autoloading from theory `word_base` ... WSEG_WCAT_WSEG1 = |- !n1 n2. !w1 :: PWORDLEN n1. !w2 :: PWORDLEN n2. !m k. m <= n1 /\ n2 <= k ==> (WSEG m k(WCAT(w1,w2)) = WSEG m(k - n2)w1) Theorem SUB_EQUAL_0 autoloading from theory `arithmetic` ... SUB_EQUAL_0 = |- !c. c - c = 0 WSEG_NBWORD_ADD = |- !n. !w1 w2 :: PWORDLEN n. !m k cin. (m + k) <= n ==> (WSEG m k(NBWORD n((BNVAL w1) + ((BNVAL w2) + (BV cin)))) = NBWORD m ((BNVAL(WSEG m k w1)) + ((BNVAL(WSEG m k w2)) + (BV(ACARRY k w1 w2 cin))))) ADD_NBWORD_EQ0_SPLIT = |- !n1 n2. !w1 w2 :: PWORDLEN(n1 + n2). !cin. (NBWORD(n1 + n2)((BNVAL w1) + ((BNVAL w2) + (BV cin))) = NBWORD(n1 + n2)0) = (NBWORD n1 ((BNVAL(WSEG n1 n2 w1)) + ((BNVAL(WSEG n1 n2 w2)) + (BV(ACARRY n2 w1 w2 cin)))) = NBWORD n1 0) /\ (NBWORD n2 ((BNVAL(WSEG n2 0 w1)) + ((BNVAL(WSEG n2 0 w2)) + (BV cin))) = NBWORD n2 0) Theorem MOD_MOD autoloading from theory `arithmetic` ... MOD_MOD = |- !n. 0 < n ==> (!k. (k MOD n) MOD n = k MOD n) VB_MOD_2 = |- !n. VB(n MOD 2) = VB n Theorem NBWORD_SUC_FST autoloading from theory `bword_num` ... NBWORD_SUC_FST = |- !n m. NBWORD(SUC n)m = WCAT(WORD[VB((m DIV (2 EXP n)) MOD 2)],NBWORD n m) Theorem VB_BV autoloading from theory `bword_num` ... VB_BV = |- !x. VB(BV x) = x Theorem BV_LESS_2 autoloading from theory `bword_num` ... BV_LESS_2 = |- !x. (BV x) < 2 Theorem LESS_MOD autoloading from theory `arithmetic` ... LESS_MOD = |- !n k. k < n ==> (k MOD n = k) Theorem NVAL0 autoloading from theory `word_num` ... NVAL0 = |- !f b. NVAL f b(WORD[]) = 0 Theorem NBWORD_SUC autoloading from theory `bword_num` ... NBWORD_SUC = |- !n m. NBWORD(SUC n)m = WCAT(NBWORD n(m DIV 2),WORD[VB(m MOD 2)]) Theorem BNVAL_NVAL autoloading from theory `bword_num` ... BNVAL_NVAL = |- !w. BNVAL w = NVAL BV 2 w Theorem PWORDLEN0 autoloading from theory `word_base` ... PWORDLEN0 = |- !w. PWORDLEN 0 w ==> (w = WORD[]) Theorem BIT_WCAT_FST autoloading from theory `word_base` ... BIT_WCAT_FST = |- !n1 n2. !w1 :: PWORDLEN n1. !w2 :: PWORDLEN n2. !k. n2 <= k /\ k < (n1 + n2) ==> (BIT k(WCAT(w1,w2)) = BIT(k - n2)w1) Theorem BIT0 autoloading from theory `word_base` ... BIT0 = |- !b. BIT 0(WORD[b]) = b Theorem LESS_ADD_SUC autoloading from theory `arithmetic` ... LESS_ADD_SUC = |- !m n. m < (m + (SUC n)) Theorem PWORDLEN1 autoloading from theory `word_base` ... PWORDLEN1 = |- !x. PWORDLEN 1(WORD[x]) ACARRY_MSB = |- !n. !w1 w2 :: PWORDLEN n. !cin. ACARRY n w1 w2 cin = BIT n(NBWORD(SUC n)((BNVAL w1) + ((BNVAL w2) + (BV cin)))) Theorem LESS_SUC autoloading from theory `prim_rec` ... LESS_SUC = |- !m n. m < n ==> m < (SUC n) ACARRY_WSEG = |- !n. !w1 w2 :: PWORDLEN n. !cin k m. k < m /\ m <= n ==> (ACARRY k(WSEG m 0 w1)(WSEG m 0 w2)cin = ACARRY k w1 w2 cin) ICARRY_WSEG = |- !n. !w1 w2 :: PWORDLEN n. !cin k m. k < m /\ m <= n ==> (ICARRY k(WSEG m 0 w1)(WSEG m 0 w2)cin = ICARRY k w1 w2 cin) ACARRY_ACARRY_WSEG = |- !n. !w1 w2 :: PWORDLEN n. !cin m k1 k2. k1 < m /\ k2 < n /\ (m + k2) <= n ==> (ACARRY k1(WSEG m k2 w1)(WSEG m k2 w2)(ACARRY k2 w1 w2 cin) = ACARRY(k1 + k2)w1 w2 cin) () : void File mk_bword_arith loaded () : void #rm -f word.th echo 'set_flag(`abort_when_fail`,true);;'\ 'loadt `mk_word`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool autoload_all = - : (string -> void) Loading library arith ... Loading library reduce ... Extending help search path. Loading boolean conversions........ Loading arithmetic conversions.................. Loading general conversions, rule and tactic..... Library reduce loaded. .Updating help search path ....................................................................................................................................................................................................................................................................................... Library arith loaded. () : void Loading library res_quan ... Updating search path Theory res_quan loaded ...............................................................................Updating help search path . Library res_quan loaded. () : void ....() : void File ver_202 loaded () : void () : void Theory bword_bitop loaded Theory bword_num loaded Theory bword_arith loaded [(); (); ()] : void list () : void File mk_word loaded () : void #echo 'set_flag(`abort_when_fail`,true);;'\ 'load_library`res_quan`;;'\ 'load_theory `word`;;'\ 'compilet `word_convs`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool Loading library res_quan ... Updating search path Theory res_quan loaded ...............................................................................Updating help search path . Library res_quan loaded. () : void #Theory word loaded () : void word_CASES_TAC = - : (term -> tactic) word_INDUCT_TAC = - : tactic RESQ_WORDLEN_TAC = - : tactic BIT_CONV = - : conv WSEG_CONV = - : conv LESS_CONV = - : conv LESS_EQ_CONV = - : conv word_inst_thm = - : ((term # term) -> thm -> thm) WNOT_PWORDLEN = |- !n. !w :: PWORDLEN n. PWORDLEN n(WNOT w) WAND_PWORDLEN = |- !n. !w1 w2 :: PWORDLEN n. PWORDLEN n(w1 WAND w2) WOR_PWORDLEN = |- !n. !w1 w2 :: PWORDLEN n. PWORDLEN n(w1 WOR w2) WXOR_PWORDLEN = |- !n. !w1 w2 :: PWORDLEN n. PWORDLEN n(w1 WXOR w2) pwordlen_bitop_funs = [(`WNOT`, |- !n. !w :: PWORDLEN n. PWORDLEN n(WNOT w)); (`WAND`, |- !n. !w1 w2 :: PWORDLEN n. PWORDLEN n(w1 WAND w2)); (`WOR`, |- !n. !w1 w2 :: PWORDLEN n. PWORDLEN n(w1 WOR w2)); (`WXOR`, |- !n. !w1 w2 :: PWORDLEN n. PWORDLEN n(w1 WXOR w2))] : (string # thm) list pwordlen_funs = [(`WORD`, -); (`WSEG`, -); (`WNOT`, -); (`WAND`, -); (`WOR`, -); (`WXOR`, -); (`WCAT`, -)] : (string # (term list -> term -> term list -> thm)) list check = - : (string -> term -> term) pick_fn = - : (string -> (string # *) list -> term -> *) PWORDLEN_CONV = - : (term list -> conv) PWORDLEN_bitop_CONV = - : conv WSEG_WSEG_CONV = - : (term -> conv) ((-), (-), -) : ((term list -> conv) # conv # (term -> conv)) PWORDLEN_CONV = - : (term list -> conv) PWORDLEN_bitop_CONV = - : conv WSEG_WSEG_CONV = - : (term -> conv) PWORDLEN_TAC = - : (term list -> tactic) Calling Lisp compiler File word_convs compiled () : void #===> library word rebuilt make[4]: Leaving directory '/<>/Library/word' make[4]: Entering directory '/<>/Library/record_proof' echo 'set_flag(`abort_when_fail`,true);;'\ 'compilet `proof_rec`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool New constructors declared: Hypothesis : justification Assume : (term -> justification) Refl : (term -> justification) Subst : (((int # term) list # term # int) -> justification) BetaConv : (term -> justification) Abs : ((term # int) -> justification) InstType : (((type # type) list # int) -> justification) Disch : ((term # int) -> justification) Mp : ((int # int) -> justification) MkComb : ((int # int) -> justification) MkAbs : (int -> justification) Alpha : ((term # term) -> justification) AddAssum : ((term # int) -> justification) Sym : (int -> justification) Trans : ((int # int) -> justification) ImpTrans : ((int # int) -> justification) ApTerm : ((term # int) -> justification) ApThm : ((int # term) -> justification) EqMp : ((int # int) -> justification) EqImpRuleR : (int -> justification) EqImpRuleL : (int -> justification) Spec : ((term # int) -> justification) EqtIntro : (int -> justification) Gen : ((term # int) -> justification) EtaConv : (term -> justification) Ext : (int -> justification) Exists : (((term # term) # int) -> justification) Choose : (((term # int) # int) -> justification) ImpAntisymRule : ((int # int) -> justification) MkExists : (int -> justification) Subs : ((int list # int) -> justification) SubsOccs : (((int list # int) list # int) -> justification) SubstConv : (((int # term) list # term # term) -> justification) Conj : ((int # int) -> justification) Conjunct1 : (int -> justification) Conjunct2 : (int -> justification) Disj1 : ((int # term) -> justification) Disj2 : ((term # int) -> justification) DisjCases : ((int # int # int) -> justification) NotIntro : (int -> justification) NotElim : (int -> justification) Contr : ((term # int) -> justification) Ccontr : ((term # int) -> justification) Inst : (((term # term) list # int) -> justification) StoreDefinition : ((string # term) -> justification) Definition : ((string # string) -> justification) DefExistsRule : (term -> justification) NewAxiom : ((string # term) -> justification) Axiom : ((string # string) -> justification) Theorem : ((string # string) -> justification) NewConstant : ((string # type) -> justification) NewType : ((int # string) -> justification) NumConv : (term -> justification) New constructors declared: Line : ((int # thm # justification) -> line) MakeProof = - : (step list -> line list) output_strings = - : (string -> string list -> void) write_pair = - : (string -> ((string -> * -> **) # (string -> *** -> ****)) -> (* # ***) -> void) write_list = - : (string -> (string -> * -> **) -> * list -> void) write_type = - : (string -> type -> void) write_term = - : (string -> term -> void) write_thm = - : (string -> thm -> void) write_all_thm = - : (string -> thm -> void) write_int = - : (string -> int -> void) write_just = - : (string -> justification -> void) write_line = - : (string -> line -> void) write_tyconst = - : (string -> (int # string) -> void) write_sig = - : (string -> (string # type) -> void) write_env = - : (string -> void) write_thm_list = - : (string -> thm list -> void) ((-), (-), -) : ((string -> line -> void) # (string -> thm list -> void) # (string -> void)) write_line = - : (string -> line -> void) write_thm_list = - : (string -> thm list -> void) write_env = - : (string -> void) format_version = `(VERSION PRF FORMAT 1.0 EXTENDED) ` : string write_proof_add_to = - : (string -> string -> thm list -> line list -> void) write_proof_to = - : (string -> string -> thm list -> line list -> void) proof_file_name = `` : string proof_file_port = `` : string proof_name = `` : string proof_count = 0 : int current_goals = [] : thm list write_last_proof = - : (string -> thm list -> void) current_proof_file = - : (void -> string) current_proof = - : (void -> string) close_proof_file = - : (void -> void) new_proof_file = - : (string -> void) begin_proof = - : (string -> void) end_proof = - : (* -> void) sanitise = - : (string -> string) TAC_PROOF = - : ((goal # tactic) -> thm) PROVE = - : ((term # tactic) -> thm) prove = - : ((term # tactic) -> thm) prove_thm = - : ((string # term # tactic) -> thm) ((-), (-), (-), (-), (-), (-), (-), (-), (-), (-), (-), (-), -) : ((string -> string -> thm list -> line list -> void) # (string -> string -> thm list -> line list -> void) # (string -> thm list -> void) # (void -> string) # (void -> string) # (string -> void) # (void -> void) # (string -> void) # (* -> void) # ((goal # tactic) -> thm) # ((term # tactic) -> thm) # ((term # tactic) -> thm) # ((string # term # tactic) -> thm)) write_proof_add_to = - : (string -> string -> thm list -> line list -> void) write_proof_to = - : (string -> string -> thm list -> line list -> void) write_last_proof = - : (string -> thm list -> void) current_proof = - : (void -> string) current_proof_file = - : (void -> string) new_proof_file = - : (string -> void) close_proof_file = - : (void -> void) begin_proof = - : (string -> void) end_proof = - : (* -> void) TAC_PROOF = - : ((goal # tactic) -> thm) PROVE = - : ((term # tactic) -> thm) prove = - : ((term # tactic) -> thm) prove_thm = - : ((string # term # tactic) -> thm) Calling Lisp compiler File proof_rec compiled () : void #echo 'set_flag(`abort_when_fail`,true);;'\ 'compilet `dummy_funs`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool new_proof_file = - : (string -> void) close_proof_file = - : (void -> void) begin_proof = - : (string -> void) end_proof = - : (void -> void) current_proof = - : (void -> string) current_proof_file = - : (void -> string) write_proof_add_to = - : (string -> string -> thm list -> * list -> void) write_proof_to = - : (string -> string -> thm list -> * list -> void) write_last_proof = - : (string -> thm list -> void) Calling Lisp compiler File dummy_funs compiled () : void #===> library record_proof rebuilt make[4]: Leaving directory '/<>/Library/record_proof' make[4]: Entering directory '/<>/Library/parser' echo 'set_flag(`abort_when_fail`,true);;'\ 'compilet `general`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool FIRST_CHARS = [] : string list CHARS = [] : string list DEBUG = false : bool IGNORE = [] : (string # string) list USEFUL = [] : (string # string) list push = - : (* -> * list -> * list) pop = - : (* list -> (* # * list)) write_string = - : (string -> string -> void) read_char = - : (string -> string) close_file = - : (string -> void) open_file = - : (string -> string -> string) e_w_s = - : (string -> string -> string list -> string) e_w_s_ok = - : (string -> string -> string list -> string) determine_lst = - : (* -> * list -> * list -> bool) get_word2 = - : (string -> string list -> string -> string list -> (string # *) list -> (string # **) list -> (string # ***) list -> (string list # string)) get_word1 = - : (string -> string list -> string -> string list -> string list -> (string list # string)) complete_separator = - : (string -> string -> string list -> (string # string list) list -> (string # *) list -> (string # **) list -> (string # string)) get_word = - : (string -> string list -> string -> (string # string list) list -> string -> (string # *) list -> (string # **) list -> (string # string)) useful_stuff = - : (string -> string -> string -> string list -> (string # string)) ignore_stuff = - : (string -> string -> string -> string list -> string) read_input = - : (string -> string list -> string list -> (string # string list) list -> string -> (string # string) list -> (string # string) list -> string list) gnt = - : (string list -> string -> string -> (string # string list)) eat_terminal = - : (string -> string -> string list -> * -> (string # string list)) chop_off = - : (int -> * list -> * list -> (* list # * list)) debug_return = - : (string -> string -> void) do_return_1 = - : (* list -> ** -> string -> ** -> ** list -> ** -> (* # * list # ** # ** list)) do_return = - : (* list -> string -> string -> string -> string list -> string -> (* # * list # string # string list)) debug_enter = - : ((string # string # string) -> void) debug_on = - : (* -> bool) debug_off = - : (* -> bool) Calling Lisp compiler File general compiled () : void #echo 'set_flag(`abort_when_fail`,true);;'\ 'compilet `parser`;;' \ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool () : void EXPECTED = [] : string list pg_failwith = - : (string -> string -> string -> *) escaped = - : (string -> string -> string) write_string = - : (string -> string -> void) read_char = - : (string -> string) split_filename = - : (string list -> string list -> bool -> (string # string)) close_file = - : (string -> void) bad_read = - : (string -> *) terminal_read_1 = - : (string -> string list) terminal_read = - : (* -> string) make_Makefile = - : (string -> string -> string -> void) make_makefile = - : (string -> void) open_file = - : (string -> string -> (string # string)) eat_white_space = - : (string -> string -> string) e_w_s = - : (string -> string -> string) e_w_s_ok = - : (string -> string -> string) write_comments = - : (string -> string -> string -> string -> string) get_word1 = - : (string -> string list -> string -> string -> string -> string -> (string list # string)) first_test = - : (string -> string -> bool) get_word = - : (string -> string -> string -> string -> string -> (string # string)) get_inits1 = - : (string -> string list -> string -> (string list # string)) get_inits = - : (string -> string -> string -> string) get_inits1_specials = - : (string -> string list -> string -> (string list # string)) get_inits_specials = - : (string -> string -> string -> string) separator = - : (string -> string) MK_word = - : (string -> string list) MK_start = - : (string -> string list) EOF = - : (string -> string) write_conditional = - : (string -> string list list) write_if = - : (string -> string -> string list list) finish_terminal = - : (string -> string -> * list) epsilon_start = - : (string -> string list list) get_terminal_2 = - : (string -> string -> string -> string list) is_EOF = - : (string -> string) get_terminal_1 = - : (string -> string -> string -> string -> * -> (string list list # string # string # bool)) get_terminal = - : (string -> string -> string -> string -> * -> (string list list # string # string # bool)) system_function_args = - : (string -> bool) prdn_errors_args = - : (string -> string -> void) tmp_var = - : (string -> int -> string) HOL_term = - : (string -> bool) top_or_middle = - : (string -> string list) get_args_prdn = - : (string -> * -> string -> string -> (string # string)) finish_arg = - : (string -> string -> string -> string list) get_argn1 = - : (string -> string -> string -> string -> string -> bool -> string list) get_arg_name = - : (string -> string -> string -> string -> bool -> (string # string)) add_new_calls = - : (* list -> string -> * list -> * list -> (* list # * list)) require_start = - : (string -> string -> string -> (string list # string)) need_to_use_pops = - : (int -> string list) add_EXPECTED = - : (string -> bool -> string list) pop_or_reg = - : (string -> string -> bool -> (string list # string # string # bool)) mk_lets = - : (string -> int -> string -> bool -> (string list # string # int # string # bool)) comma = - : (bool -> string -> string) failed_arg = - : (string -> bool) preprocess_args = - : (string -> string list -> string list -> string list -> string -> string -> int -> string -> string -> bool -> int -> bool -> (string list # string # int # string list # int # string # bool)) get_args_act = - : (string -> string -> string -> string list list -> int -> string -> string -> bool -> (string list list # string list # int # string # string # bool)) write_tabs = - : (int -> string -> void) then_if = - : (int -> string -> int) pop_EXPECTED = - : (* -> string) write_final = - : (string -> string list -> int -> string -> (int # string)) write_final_all = - : (string list list -> string -> int -> string -> void) eat_arrow = - : (string -> string -> string -> int -> string) unwind_parens = - : (int -> string list) finish_arm = - : (* list -> * list -> * -> * list -> * -> * list -> * list) new_letrefs = - : (string -> string -> string -> bool -> string list list) NT_letrefs = - : (string -> string -> string -> string list list) ACTION_letrefs = - : (string -> string -> string -> string list list) MK_failed = - : (bool -> * -> ** -> *** -> string list list) MK_return = - : (string -> bool -> string -> string list) system_function = - : (string -> bool) terminal_errors = - : (string -> string -> string -> void) prdn_errors = - : (string -> string -> void) action_errors = - : (string -> string -> void) final_trap = - : (bool -> * -> string list list) get_rest_of_prdn = - : (string -> string list list -> string list list -> string -> string -> int -> int -> bool -> string -> string -> bool -> string list list) process = - : (string -> string -> string -> string -> string list list) MK_lambda = - : (string -> string list list -> string list list) write_decs = - : (string -> string -> string -> void) make_main_wrapper = - : (string -> void) emit_firsts = - : (string -> string -> string -> void) emit_specials = - : (string -> string -> string -> void) token_failwith = - : (string -> *) make_tokeniser = - : (string -> bool -> bool -> void) decls_fail = - : (string -> *) decls_errors = - : (string -> bool -> bool -> (bool # bool)) make_productions = - : (string -> string -> string -> string -> bool -> bool -> void) get_ty = - : (string list -> bool -> string) parse = - : (* -> void) - : (* -> void) parse = - : (* -> void) Calling Lisp compiler File parser compiled () : void #===> library parser rebuilt make[4]: Leaving directory '/<>/Library/parser' make[4]: Entering directory '/<>/Library/prettyp' echo 'set_flag(`abort_when_fail`,true);;'\ 'compilet `PP_printer/extents`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool max = - : (int list -> int) min = - : (int list -> int) change_assocl = - : ((* # **) list -> (* # **) list -> (* # **) list) Nat = - : (int -> nat) Int = - : (nat -> int) print_nat = - : (nat -> void) - : (nat -> void) get_margin = - : (void -> int) Calling Lisp compiler File PP_printer/extents compiled () : void #echo 'set_flag(`abort_when_fail`,true);;'\ 'loadf `PP_printer/extents`;;'\ 'compilet `PP_printer/strings`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool ......() : void substr = - : (int -> int -> string -> string) strlen = - : (string -> int) num_of_leading_chars = - : (string list -> string -> int) trim_leading_chars = - : (string list -> string -> string) trim_trailing_chars = - : (string list -> string -> string) trim_enclosing_chars = - : (string list -> string -> string) string_contains = - : (string -> string -> bool) strings_contain = - : (string list -> string -> bool) string_copies = - : (string -> int -> string) Calling Lisp compiler File PP_printer/strings compiled () : void #echo 'set_flag(`abort_when_fail`,true);;'\ 'loadf `PP_printer/extents`;;'\ 'loadf `PP_printer/strings`;;'\ 'compilet `PP_printer/ptree`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool ......() : void .........() : void New constructors declared: Print_node : ((string # print_tree list) -> print_tree) print_tree_name = - : (print_tree -> string) print_tree_children = - : (print_tree -> print_tree list) Calling Lisp compiler File PP_printer/ptree compiled () : void #echo 'set_flag(`abort_when_fail`,true);;'\ 'loadf `PP_printer/extents`;;'\ 'loadf `PP_printer/strings`;;'\ 'loadf `PP_printer/ptree`;;'\ 'compilet `PP_printer/treematch`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool ......() : void .........() : void ...() : void New constructors declared: No_address : address Address : (int list -> address) New constructors declared: Bound_name : ((string # address) -> metavar_binding) Bound_names : ((string # address) list -> metavar_binding) Bound_child : ((print_tree # address) -> metavar_binding) Bound_children : ((print_tree # address) list -> metavar_binding) type print_binding defined type print_test defined New constructors declared: Default : loop_limit Val : (nat -> loop_limit) New constructors declared: Const_name : ((string # child_metavar list) -> print_patt_tree) Var_name : ((string # child_metavar list) -> print_patt_tree) Wild_name : (child_metavar list -> print_patt_tree) Var_child : (string -> print_patt_tree) Wild_child : print_patt_tree Link_child : (((loop_limit # loop_limit) # string list) -> print_patt_tree) Print_label : ((string # print_patt_tree) -> print_patt_tree) Print_link : ((((loop_limit # loop_limit) # string list) # print_patt_tree) -> print_patt_tree) Print_loop : ((print_patt_tree # print_patt_tree) -> print_patt_tree) Var_children : (string -> child_metavar) Wild_children : child_metavar Patt_child : (print_patt_tree -> child_metavar) type print_pattern defined New constructors declared: No_link : print_loop_link Link : ((((loop_limit # loop_limit) # string list) # print_tree # int list) -> print_loop_link) lookup_metavar = - : (print_binding -> string -> metavar_binding) eq_metavar_bind = - : (metavar_binding -> metavar_binding -> bool) no_address_meta = - : (metavar_binding -> metavar_binding) replace = - : ((* # **) list -> (* # **) -> (* # **) list) replacel = - : ((* # **) list -> (* # **) list -> (* # **) list) print_merge = - : (print_binding -> print_binding -> print_binding) print_loop_merge = - : (print_binding -> print_binding -> print_binding) raise_binding = - : (print_binding -> print_binding) raise_bindings = - : (print_binding -> print_binding -> print_binding) correspond_bindings = - : (print_binding -> print_binding -> print_binding) raise_bindings_safe = - : (print_binding -> print_binding -> print_binding) extract_info_from_patt = - : (print_patt_tree -> ((string list # string list) # print_loop_link)) extract_info_from_child = - : (child_metavar -> ((string list # string list) # print_loop_link)) zero_loop_info = - : (print_patt_tree -> (print_binding # loop_limit)) new_addresses = - : (int list -> print_tree list -> (print_tree # int list) list) split_list = - : ((int # int) -> * list -> (* list # * list # * list)) print_tree_match' = - : (print_patt_tree -> (print_tree # int list) -> (print_binding # print_loop_link)) children_match = - : (child_metavar list -> (print_tree # int list) list -> (print_binding # print_loop_link)) print_tree_match = - : (print_patt_tree -> print_tree -> (print_binding # print_loop_link)) add_context = - : (string -> (string # int) list -> (string # int) list) print_pattern_match = - : (print_pattern -> string -> (string # int) list -> print_tree -> print_binding) ((-), -) : ((string -> (string # int) list -> (string # int) list) # (print_pattern -> string -> (string # int) list -> print_tree -> print_binding)) add_context = - : (string -> (string # int) list -> (string # int) list) print_pattern_match = - : (print_pattern -> string -> (string # int) list -> print_tree -> print_binding) Calling Lisp compiler File PP_printer/treematch compiled () : void #echo 'set_flag(`abort_when_fail`,true);;'\ 'loadf `PP_printer/extents`;;'\ 'loadf `PP_printer/strings`;;'\ 'loadf `PP_printer/ptree`;;'\ 'loadf `PP_printer/treematch`;;'\ 'compilet `PP_printer/boxes`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool ......() : void .........() : void ...() : void .............................() : void New constructors declared: N_box : * print_box A_box : (((nat # string) # *) -> * print_box) L_box : (((nat # nat # * print_box # * print_box) # *) -> * print_box) C_box : ((((nat # nat # nat) # nat # (int # nat) # * print_box # * print_box) # *) -> * print_box) print_box_io = - : (* print_box -> int) print_box_width = - : (* print_box -> int) print_box_fo = - : (* print_box -> int) print_box_height = - : (* print_box -> int) print_box_sizes = - : (* print_box -> ((int # int # int) # int)) replace_box_label = - : (* -> * print_box -> * print_box) New constructors declared: Abs : (int -> print_indent) Inc : (int -> print_indent) New constructors declared: UB_H : (((int -> int -> * print_box) # (nat # (int -> int -> * print_box)) list) -> * unbuilt_box) UB_V : (((int -> int -> * print_box) # ((print_indent # nat) # (int -> int -> * print_box)) list) -> * unbuilt_box) UB_HV : (((int -> int -> * print_box) # ((nat # print_indent # nat) # (int -> int -> * print_box)) list) -> * unbuilt_box) UB_HoV : (((int -> int -> * print_box) # ((nat # print_indent # nat) # (int -> int -> * print_box)) list) -> * unbuilt_box) join_boxes = - : (int -> int -> * print_box -> * print_box -> * -> * print_box) join_H_boxes = - : (nat -> * print_box -> * print_box -> * -> * print_box) join_V_boxes = - : (int -> nat -> * print_box -> * print_box -> * -> * print_box) build_H_box = - : (int -> int -> * -> (int -> int -> * print_box) -> (nat # (int -> int -> * print_box)) list -> * print_box) build_V_box = - : (int -> int -> * -> (int -> int -> * print_box) -> ((print_indent # nat) # (int -> int -> * print_box)) list -> * print_box) build_HV_box = - : (int -> int -> * -> (int -> int -> * print_box) -> ((nat # print_indent # nat) # (int -> int -> * print_box)) list -> * print_box) build_HoV_box = - : (int -> int -> * -> (int -> int -> * print_box) -> ((nat # print_indent # nat) # (int -> int -> * print_box)) list -> * print_box) build_print_box = - : (int -> int -> * -> * unbuilt_box -> * print_box) - : (int -> int -> * -> * unbuilt_box -> * print_box) build_print_box = - : (int -> int -> * -> * unbuilt_box -> * print_box) Calling Lisp compiler File PP_printer/boxes compiled () : void #echo 'set_flag(`abort_when_fail`,true);;'\ 'loadf `PP_printer/extents`;;'\ 'loadf `PP_printer/strings`;;'\ 'loadf `PP_printer/ptree`;;'\ 'loadf `PP_printer/treematch`;;'\ 'loadf `PP_printer/boxes`;;'\ 'compilet `PP_printer/treetobox`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool ......() : void .........() : void ...() : void .............................() : void ...................() : void type print_special defined type print_int_exp defined New constructors declared: H_box : ((nat # print_object) list -> print_box_spec) V_box : (((print_indent # nat) # print_object) list -> print_box_spec) HV_box : (((nat # print_indent # nat) # print_object) list -> print_box_spec) HoV_box : (((nat # print_indent # nat) # print_object) list -> print_box_spec) PF_empty : print_format PF : (print_box_spec -> print_format) PF_branch : ((print_test # print_format # print_format) -> print_format) PO_constant : (string -> print_object) PO_leaf : ((string # (string -> string)) -> print_object) PO_subcall : (((string # ((print_tree # address) list -> (print_tree # address) list)) # (string # print_int_exp) list) -> print_object) PO_context_subcall : ((string # (string # ((print_tree # address) list -> (print_tree # address) list)) # (string # print_int_exp) list) -> print_object) PO_format : (print_format -> print_object) PO_expand : (print_box_spec -> print_object) PF_H = - : ((nat # print_object) list -> print_format) PF_V = - : (((print_indent # nat) # print_object) list -> print_format) PF_HV = - : (((nat # print_indent # nat) # print_object) list -> print_format) PF_HoV = - : (((nat # print_indent # nat) # print_object) list -> print_format) type print_rule defined type print_rule_function defined print_special_fun = - : (string -> (string # int) list -> print_binding -> print_special list -> print_binding) print_rule_fun = - : (print_rule list -> print_rule_function) () : void then_try = - : (print_rule_function -> print_rule_function -> print_rule_function) raw_tree_rules = [((``, (Var_name(`n`, [Var_children `cl`; Patt_child(Var_child `c`)])), -), [], PF(HV_box[((0, (Abs 0), 0), PO_leaf(`n`, -)); ((0, (Abs 3), 0), PO_format(PF(H_box[(0, PO_constant `(`); (0, PO_format(PF(HoV_box[((0, (Abs 0), 0), PO_expand(H_box[(0, PO_subcall((`cl`, -), [])); (0, PO_constant `,`)])); ((0, (Abs 0), 0), PO_subcall((`c`, -), []))]))); (0, PO_constant `)`)])))])); ((``, (Var_name(`n`, [])), -), [], PF(H_box[(0, PO_leaf(`n`, -))]))] : print_rule list raw_tree_rules_fun = - : print_rule_function expand_binding = - : ((* # metavar_binding) list -> (* # metavar_binding) list list) extract_expanded_from_spec = - : (print_box_spec -> string list) extract_expanded_from_object = - : (print_object -> string list) print_tree_to_box = - : (int -> int -> print_rule_function -> string -> (string # int) list -> print_tree -> address print_box) print_box_spec_fun = - : (int -> int -> print_rule_function -> string -> (string # int) list -> print_binding -> print_binding -> bool -> print_box_spec -> address print_box) print_format_fun = - : (int -> int -> print_rule_function -> string -> (string # int) list -> print_binding -> print_format -> address print_box) print_object_fun = - : (print_rule_function -> string -> (string # int) list -> print_binding -> print_binding -> bool -> print_object -> (int -> int -> address print_box) list) - : (int -> int -> print_rule_function -> string -> (string # int) list -> print_tree -> address print_box) print_tree_to_box = - : (int -> int -> print_rule_function -> string -> (string # int) list -> print_tree -> address print_box) Calling Lisp compiler File PP_printer/treetobox compiled () : void #echo 'set_flag(`abort_when_fail`,true);;'\ 'loadf `PP_printer/extents`;;'\ 'loadf `PP_printer/strings`;;'\ 'loadf `PP_printer/ptree`;;'\ 'loadf `PP_printer/treematch`;;'\ 'loadf `PP_printer/boxes`;;'\ 'loadf `PP_printer/treetobox`;;'\ 'compilet `PP_printer/boxtostring`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool ......() : void .........() : void ...() : void .............................() : void ...................() : void .................() : void join_strings = - : ((string # int) -> (string # int) -> (string # int)) merge_string_lists = - : ((string # int # int) list -> (string # int # int) list -> (string # int # int) list) stringify_print_box = - : (int -> int -> * print_box -> (string # int # int) list) fill_in_strings = - : (bool -> int -> int -> (string # int # int) list -> string list) print_box_to_strings = - : (bool -> int -> * print_box -> string list) - : (bool -> int -> * print_box -> string list) print_box_to_strings = - : (bool -> int -> * print_box -> string list) Calling Lisp compiler File PP_printer/boxtostring compiled () : void #echo 'set_flag(`abort_when_fail`,true);;'\ 'loadf `PP_printer/extents`;;'\ 'loadf `PP_printer/strings`;;'\ 'loadf `PP_printer/ptree`;;'\ 'loadf `PP_printer/treematch`;;'\ 'loadf `PP_printer/boxes`;;'\ 'loadf `PP_printer/treetobox`;;'\ 'loadf `PP_printer/boxtostring`;;'\ 'compilet `PP_printer/print`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool ......() : void .........() : void ...() : void .............................() : void ...................() : void .................() : void .......() : void display_strings = - : (string list -> void) output_strings = - : (string -> string list -> void) insert_strings = - : (string list -> void) pretty_print = - : (int -> int -> print_rule_function -> string -> (string # int) list -> print_tree -> void) pp_write = - : (string -> int -> int -> print_rule_function -> string -> (string # int) list -> print_tree -> void) pp = - : (print_rule_function -> string -> (string # int) list -> print_tree -> void) ((-), (-), -) : ((int -> int -> print_rule_function -> string -> (string # int) list -> print_tree -> void) # (string -> int -> int -> print_rule_function -> string -> (string # int) list -> print_tree -> void) # (print_rule_function -> string -> (string # int) list -> print_tree -> void)) pretty_print = - : (int -> int -> print_rule_function -> string -> (string # int) list -> print_tree -> void) pp_write = - : (string -> int -> int -> print_rule_function -> string -> (string # int) list -> print_tree -> void) pp = - : (print_rule_function -> string -> (string # int) list -> print_tree -> void) Calling Lisp compiler File PP_printer/print compiled () : void #echo 'set_flag(`abort_when_fail`,true);;'\ 'loadf `PP_printer/extents`;;'\ 'loadf `PP_printer/strings`;;'\ 'loadf `PP_printer/ptree`;;'\ 'loadf `PP_printer/treematch`;;'\ 'loadf `PP_printer/boxes`;;'\ 'loadf `PP_printer/treetobox`;;'\ 'loadf `PP_printer/boxtostring`;;'\ 'loadf `PP_printer/print`;;'\ 'compilet `PP_printer/utils`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool ......() : void .........() : void ...() : void .............................() : void ...................() : void .................() : void .......() : void ........() : void () : void is_a_member_of = - : (string -> string list -> print_test) bound_number = - : (string -> print_int_exp) bound_name = - : (string -> (string # int) list -> print_binding -> string) bound_names = - : (string -> (string # int) list -> print_binding -> string list) bound_child = - : (string -> (string # int) list -> print_binding -> print_tree) bound_children = - : (string -> (string # int) list -> print_binding -> print_tree list) bound_context = - : ((string # int) list -> print_binding -> string) apply0 = - : (* -> (string # int) list -> print_binding -> *) apply1 = - : ((* -> **) -> ((string # int) list -> print_binding -> *) -> (string # int) list -> print_binding -> **) apply2 = - : ((* -> ** -> ***) -> ((string # int) list -> print_binding -> *) -> ((string # int) list -> print_binding -> **) -> (string # int) list -> print_binding -> ***) new_name = - : ((string -> string) -> string -> (string # int) list -> print_binding -> metavar_binding) new_names = - : (((string # address) list -> (string # address) list) -> string -> (string # int) list -> print_binding -> metavar_binding) new_child = - : ((print_tree -> print_tree) -> string -> (string # int) list -> print_binding -> metavar_binding) new_children = - : (((print_tree # address) list -> (print_tree # address) list) -> string -> (string # int) list -> print_binding -> metavar_binding) Calling Lisp compiler File PP_printer/utils compiled () : void #(cd PP_parser; cp pp_lang1.build pp_lang1_pp.ml) (cd PP_parser; cp pp_lang2.build pp_lang2_pp.ml) echo 'set_flag(`abort_when_fail`,true);;'\ 'loadf `PP_printer/PP_printer`;;'\ 'compilet `PP_parser/pp_lang1_pp`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool ..................................................................................................................() : void # pp_lang1_rules = [] : print_rule list pp_lang1_rules_fun = - : print_rule_function Calling Lisp compiler File PP_parser/pp_lang1_pp compiled () : void #echo 'set_flag(`abort_when_fail`,true);;'\ 'loadf `PP_printer/PP_printer`;;'\ 'loadf `PP_parser/pp_lang1_pp`;;'\ 'compilet `PP_parser/pp_lang2_pp`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool ..................................................................................................................() : void #..() : void pp_lang2_rules = [] : print_rule list pp_lang2_rules_fun = - : print_rule_function Calling Lisp compiler File PP_parser/pp_lang2_pp compiled () : void #echo 'set_flag(`abort_when_fail`,true);;'\ 'loadf `PP_printer/PP_printer`;;'\ 'loadf `PP_parser/pp_lang1_pp`;;'\ 'loadf `PP_parser/pp_lang2_pp`;;'\ 'compilet `PP_parser/lex`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool ..................................................................................................................() : void #..() : void ..() : void copy_chars = - : (int -> (string -> string) -> string -> (string -> void) -> void) New constructors declared: Lex_spec : (string -> lex_symb) Lex_num : (string -> lex_symb) Lex_id : (string -> lex_symb) Lex_block : (((string # string) # string list) -> lex_symb) is_lex_char = - : ((string # string # string) -> bool) is_lex_ucase = - : (string -> bool) is_lex_lcase = - : (string -> bool) is_lex_letter = - : (string -> bool) is_lex_digit = - : (string -> bool) is_lex_underscore = - : (string -> bool) is_lex_eof = - : (string -> bool) is_lex_eol = - : (string -> bool) is_lex_space = - : (string -> bool) lex_error = - : ((string -> string) -> string -> string -> string -> *) read_char = - : ((* -> string) -> * -> string) read_number = - : ((* -> string) -> * -> string -> (lex_symb # string)) read_identifier = - : ((string -> string) -> string -> string -> (lex_symb # string)) read_block = - : ((string -> string) -> string -> (string # string) -> string -> (lex_symb # string)) read_special = - : ((string -> string) -> string -> string list -> string -> (lex_symb # string)) read_symb = - : ((string -> string) -> string -> (string # string) list -> string list -> string list -> string -> (lex_symb # string)) - : ((string -> string) -> string -> (string # string) list -> string list -> string list -> string -> (lex_symb # string)) read_symb = - : ((string -> string) -> string -> (string # string) list -> string list -> string list -> string -> (lex_symb # string)) Calling Lisp compiler File PP_parser/lex compiled () : void #echo 'set_flag(`abort_when_fail`,true);;'\ 'loadf `PP_printer/PP_printer`;;'\ 'loadf `PP_parser/pp_lang1_pp`;;'\ 'loadf `PP_parser/pp_lang2_pp`;;'\ 'loadf `PP_parser/lex`;;'\ 'compilet `PP_parser/syntax`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool ..................................................................................................................() : void #..() : void ..() : void ....................() : void PP_quotes = [(`'`, `'`); (`"`, `"`); (`{`, `}`); (`#`, `#`); (`%`, `%`)] : (string # string) list PP_keywords = [`prettyprinter`; `rules`; `declarations`; `abbreviations`; `with`; `end`; `where`; `if`; `then`; `else`; `h`; `v`; `hv`; `hov`] : string list PP_specials = [`+`; `-`; `*`; `**`; `***`; `,`; `;`; `:`; `::`; `=`; `:=`; `->`; `..`; `(`; `)`; `**[`; `[`; `]`; `<`; `>`; `<<`; `>>`; `|`] : string list syntax_error = - : ((string -> string) -> string -> string -> string -> lex_symb -> *) general_error = - : ((string -> string) -> string -> string -> string -> string -> *) read_PP_symb = - : ((string -> string) -> string -> string -> (lex_symb # string)) read_PP_number = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_integer = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_string = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_terminal = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_ML_function = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_identifier = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_name_metavar = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_child_metavar = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_children_metavar = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_metavar_list = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_min = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_max = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_loop_range = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_loop_link = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_label = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_node_name = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_child = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_child_list = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_pattern_tree = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_loop = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_test = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_pattern = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_transformation = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_p_special = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_p_special_list = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_int_expression = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_assignment = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_assignments = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_fun_subcall = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_context_subcall = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_leaf_or_subcall = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_indent = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_h_params = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_v_params = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_hv_params = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_hov_params = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_h_box = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_v_box = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_hv_box = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_hov_box = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_object = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_h_object = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_v_object = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_hv_object = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_hov_object = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_h_object_list = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_v_object_list = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_hv_object_list = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_hov_object_list = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_box_spec = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_expand = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_format = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_rule = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_rule_list = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_rules = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_binding = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_binding_list = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_declarations = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_abbreviations = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_body = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP = - : ((string -> string) -> string -> print_tree) - : ((string -> string) -> string -> print_tree) read_PP = - : ((string -> string) -> string -> print_tree) Calling Lisp compiler File PP_parser/syntax compiled () : void #echo 'set_flag(`abort_when_fail`,true);;'\ 'loadf `PP_printer/PP_printer`;;'\ 'loadf `PP_parser/pp_lang1_pp`;;'\ 'loadf `PP_parser/pp_lang2_pp`;;'\ 'loadf `PP_parser/lex`;;'\ 'loadf `PP_parser/syntax`;;'\ 'compilet `PP_parser/convert`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool ..................................................................................................................() : void #..() : void ..() : void ....................() : void .......................................................() : void construction_error = - : (print_tree -> string -> *) indirect_string = - : (string -> string) convert_NUM = - : ((print_tree # *) -> (print_tree # ** list)) convert_NEG = - : ((print_tree # *) -> (print_tree # ** list)) convert_ML_FUN = - : ((print_tree # *) -> (print_tree # ** list)) convert_ID_to_VAR = - : ((print_tree # *) -> (print_tree # ** list)) convert_ID_to_TOKCONST = - : ((print_tree # *) -> (print_tree # ** list)) convert_METAVAR = - : ((print_tree # *) -> (print_tree # ** list)) convert_METAVAR_to_TOKCONST = - : ((print_tree # *) -> (print_tree # ** list)) convert_METAVAR_LIST = - : ((print_tree # *) -> (print_tree # ** list)) convert_MIN = - : ((print_tree # *) -> (print_tree # ** list)) convert_MAX = - : ((print_tree # *) -> (print_tree # ** list)) convert_LOOP_RANGE = - : ((print_tree # *) -> (print_tree # ** list)) convert_LOOP_LINK = - : ((print_tree # *) -> (print_tree # ** list)) convert_LABEL = - : ((print_tree # *) -> (print_tree # ** list)) convert_NODE_NAME = - : ((print_tree # (string # print_tree) list) -> (print_tree # * list)) convert_CHILD = - : ((print_tree # (string # print_tree) list) -> (print_tree # * list)) convert_CHILD_LIST = - : ((print_tree # (string # print_tree) list) -> (print_tree # * list)) convert_PATT_TREE = - : ((print_tree # (string # print_tree) list) -> (print_tree # * list)) convert_LOOP = - : ((print_tree # (string # print_tree) list) -> (print_tree # * list)) convert_STRING = - : ((print_tree # *) -> (print_tree # ** list)) convert_TEST = - : ((print_tree # (string # print_tree) list) -> (print_tree # * list)) convert_PATTERN = - : ((print_tree # (string # print_tree) list) -> (print_tree # * list)) convert_TRANSFORM = - : ((print_tree # (string # print_tree) list) -> (print_tree # * list)) convert_P_SPECIAL = - : ((print_tree # (string # print_tree) list) -> (print_tree # * list)) convert_P_SPECIAL_LIST = - : ((print_tree # (string # print_tree) list) -> (print_tree # * list)) convert_INT_EXP = - : ((print_tree # (string # print_tree) list) -> (print_tree # * list)) convert_ASSIGN = - : ((print_tree # (string # print_tree) list) -> (print_tree # * list)) convert_ASSIGNMENTS = - : ((print_tree # (string # print_tree) list) -> (print_tree # * list)) convert_F_SUBCALL = - : ((print_tree # (string # print_tree) list) -> (print_tree # (string # print_tree) list)) convert_C_SUBCALL = - : ((print_tree # (string # print_tree) list) -> (print_tree # (string # print_tree) list)) convert_LEAF_OR_SUBCALL = - : ((print_tree # (string # print_tree) list) -> (print_tree # (string # print_tree) list)) convert_TERMINAL = - : ((print_tree # *) -> (print_tree # ** list)) convert_INC = - : ((print_tree # *) -> (print_tree # ** list)) convert_H_PARAMS = - : ((print_tree # *) -> (print_tree # ** list)) convert_V_PARAMS = - : ((print_tree # *) -> (print_tree # ** list)) convert_HV_PARAMS = - : ((print_tree # *) -> (print_tree # ** list)) convert_HOV_PARAMS = - : ((print_tree # *) -> (print_tree # ** list)) convert_BOX = - : ((print_tree # *) -> (print_tree # ** list)) convert_OBJECT = - : ((print_tree # (string # print_tree) list) -> (print_tree # (string # print_tree) list)) convert_H_OBJECT = - : ((print_tree # (string # print_tree) list) -> (print_tree # (string # print_tree) list)) convert_V_OBJECT = - : ((print_tree # (string # print_tree) list) -> (print_tree # (string # print_tree) list)) convert_HV_OBJECT = - : ((print_tree # (string # print_tree) list) -> (print_tree # (string # print_tree) list)) convert_HOV_OBJECT = - : ((print_tree # (string # print_tree) list) -> (print_tree # (string # print_tree) list)) convert_H_OBJECT_LIST = - : ((print_tree # (string # print_tree) list) -> (print_tree # (string # print_tree) list)) convert_V_OBJECT_LIST = - : ((print_tree # (string # print_tree) list) -> (print_tree # (string # print_tree) list)) convert_HV_OBJECT_LIST = - : ((print_tree # (string # print_tree) list) -> (print_tree # (string # print_tree) list)) convert_HOV_OBJECT_LIST = - : ((print_tree # (string # print_tree) list) -> (print_tree # (string # print_tree) list)) convert_BOX_SPEC = - : ((print_tree # (string # print_tree) list) -> (print_tree # (string # print_tree) list)) convert_EXPAND = - : ((print_tree # (string # print_tree) list) -> (print_tree # (string # print_tree) list)) convert_FORMAT = - : ((print_tree # (string # print_tree) list) -> (print_tree # (string # print_tree) list)) convert_RULE = - : ((print_tree # (string # print_tree) list) -> (print_tree # (string # print_tree) list)) convert_RULE_LIST = - : ((print_tree # (string # print_tree) list) -> (print_tree # (string # print_tree) list)) convert_RULES = - : ((print_tree # (string # print_tree) list) -> (print_tree # (string # print_tree) list)) convert_BINDING = - : ((print_tree # *) -> (print_tree # ** list)) convert_BINDING_LIST_to_LIST = - : ((print_tree # *) -> (print_tree # ** list)) convert_BINDING_LIST_to_LETREC = - : ((print_tree # *) -> (print_tree # ** list)) convert_DECLARS = - : ((print_tree # *) -> (print_tree # ** list)) convert_ABBREVS = - : ((print_tree # *) -> (print_tree # (string # print_tree) list)) convert_BODY = - : ((print_tree # (string # print_tree) list) -> (print_tree # (string # print_tree) list)) convert_PP = - : ((print_tree # (string # print_tree) list) -> (print_tree # (string # print_tree) list)) - : ((print_tree # (string # print_tree) list) -> (print_tree # (string # print_tree) list)) convert_PP = - : ((print_tree # (string # print_tree) list) -> (print_tree # (string # print_tree) list)) Calling Lisp compiler File PP_parser/convert compiled () : void #echo 'set_flag(`abort_when_fail`,true);;'\ 'loadf `PP_printer/PP_printer`;;'\ 'loadf `PP_parser/pp_lang1_pp`;;'\ 'loadf `PP_parser/pp_lang2_pp`;;'\ 'loadf `PP_parser/lex`;;'\ 'loadf `PP_parser/syntax`;;'\ 'loadf `PP_parser/convert`;;'\ 'compilet `PP_parser/generate`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool ..................................................................................................................() : void #..() : void ..() : void ....................() : void .......................................................() : void .................................................() : void PP_to_ML_rules = [((`name`, (Var_name(`n`, [])), -), [], PF(H_box[(0, PO_leaf(`n`, -))])); ((``, (Const_name(`INTCONST`, [Patt_child(Var_name(`n`, []))])), -), [], PF(H_box[(0, PO_leaf(`n`, -))])); ((``, (Const_name(`TOKCONST`, [Patt_child(Var_name(`n`, []))])), -), [], PF(H_box[(0, PO_constant ```); (0, PO_leaf(`n`, -)); (0, PO_constant ```)])); ((``, (Const_name(`VAR`, [Patt_child(Var_name(`n`, []))])), -), [], PF(H_box[(0, PO_leaf(`n`, -))])); ((``, (Const_name(`CON`, [Patt_child(Var_name(`n`, []))])), -), [], PF(H_box[(0, PO_leaf(`n`, -))])); ((``, (Const_name(`CON0`, [Patt_child(Var_name(`n`, []))])), -), [], PF(H_box[(0, PO_leaf(`n`, -))])); ((``, (Const_name(`UNOP`, [Patt_child(Var_name(`n`, [])); Patt_child(Var_child `c`)])), -), [], PF(H_box[(0, PO_constant `(`); (0, PO_format(PF(HV_box[((0, (Abs 0), 0), PO_leaf(`n`, -)); ((0, (Abs 0), 0), PO_subcall((`c`, -), []))]))); (0, PO_constant `)`)])); ((``, (Const_name(`APPN`, [Patt_child(Var_child `c1`); Patt_child(Var_child `c2`)])), -), [], PF(H_box[(0, PO_constant `(`); (0, PO_format(PF(HV_box[((1, (Abs 1), 0), PO_subcall((`c1`, -), [])); ((1, (Abs 1), 0), PO_subcall((`c2`, -), []))]))); (0, PO_constant `)`)])); ((``, (Const_name(`ABSTR`, [Patt_child(Var_child `c1`); Patt_child(Var_child `c2`)])), -), [], PF(H_box[(0, PO_constant `(\`); (0, PO_format(PF(HV_box[((1, (Abs 1), 0), PO_format(PF(H_box[(0, PO_subcall((`c1`, -), [])); (0, PO_constant `.`)]))); ((1, (Abs 1), 0), PO_subcall((`c2`, -), []))]))); (0, PO_constant `)`)])); ((``, (Const_name(`LIST`, [Var_children `cl`; Patt_child(Var_child `c`)])), -), [], PF(H_box[(0, PO_constant `[`); (0, PO_format(PF(HoV_box[((0, (Abs 0), 0), PO_expand(H_box[(0, PO_subcall((`cl`, -), [])); (0, PO_constant `;`)])); ((0, (Abs 0), 0), PO_subcall((`c`, -), []))]))); (0, PO_constant `]`)])); ((``, (Const_name(`LIST`, [])), -), [], PF(H_box[(0, PO_constant `[]`)])); ((``, (Print_loop((Const_name(`DUPL`, [Patt_child(Var_child `cl`); Patt_child(Link_child(((Val 1), Default), []))])), Var_child `c`)), -), [], PF(H_box[(0, PO_constant `(`); (0, PO_format(PF(HV_box[((0, (Abs 0), 0), PO_expand(H_box[(0, PO_subcall((`cl`, -), [])); (0, PO_constant `,`)])); ((0, (Abs 0), 0), PO_subcall((`c`, -), []))]))); (0, PO_constant `)`)])); ((``, (Const_name(`LETREC`, [Patt_child(Const_name(`DUPL`, [Patt_child(Var_child `var1`); Patt_child(Print_loop((Const_name(`DUPL`, [Patt_child(Var_child `varl`); Patt_child(Link_child(((Default), Default), []))])), Var_child `varl`))])); Patt_child(Const_name(`DUPL`, [Patt_child(Var_child `body1`); Patt_child(Print_loop((Const_name(`DUPL`, [Patt_child(Var_child `bodyl`); Patt_child(Link_child(((Default), Default), []))])), Var_child `bodyl`))]))])), -), [], PF(V_box[(((Abs 0), 0), PO_format(PF(HV_box[((1, (Inc 1), 0), PO_constant `letrec`); ((1, (Inc 1), 0), PO_format(PF(H_box[(1, PO_subcall((`var1`, -), [])); (1, PO_constant `=`)]))); ((1, (Inc 1), 0), PO_subcall((`body1`, -), []))]))); (((Abs 0), 0), PO_expand(HV_box[((1, (Inc 1), 0), PO_constant `and`); ((1, (Inc 1), 0), PO_expand(H_box[(1, PO_subcall((`varl`, -), [])); (1, PO_constant `=`)])); ((1, (Inc 1), 0), PO_subcall((`bodyl`, -), []))]))])); ((``, (Const_name(`LETREC`, [Patt_child(Var_child `c1`); Patt_child(Var_child `c2`)])), -), [], PF(HV_box[((1, (Inc 1), 0), PO_constant `letrec`); ((1, (Inc 1), 0), PO_format(PF(H_box[(1, PO_subcall((`c1`, -), [])); (1, PO_constant `=`)]))); ((1, (Inc 1), 0), PO_subcall((`c2`, -), []))])); ((``, (Const_name(`ML_FUN`, [Var_children `cl`])), -), [], PF(H_box[(0, PO_constant `(`); (0, PO_format(PF(V_box[(((Abs 0), 0), PO_context_subcall(`name`, (`cl`, -), []))]))); (0, PO_constant `)`)]))] : print_rule list PP_to_ML_rules_fun = - : print_rule_function write_strings = - : (((* # string) -> **) -> * -> string list -> void) generate_rule = - : (print_tree -> string list) write_rule = - : (((* # string) -> **) -> * -> print_tree -> void) write_rules = - : (((* # string) -> **) -> * -> print_tree list -> void) generate_declarations = - : (print_tree -> string list) write_declarations = - : (((* # string) -> **) -> * -> print_tree -> void) generate_head = - : (string -> string list) write_head = - : (((* # string) -> **) -> * -> string -> void) generate_tail = - : (string -> string list) write_tail = - : (((* # string) -> **) -> * -> string -> void) generate_ML = - : (((string # string) -> void) -> string -> print_tree -> void) - : (((string # string) -> void) -> string -> print_tree -> void) generate_ML = - : (((string # string) -> void) -> string -> print_tree -> void) Calling Lisp compiler File PP_parser/generate compiled () : void #echo 'set_flag(`abort_when_fail`,true);;'\ 'loadf `PP_printer/PP_printer`;;'\ 'loadf `PP_parser/pp_lang1_pp`;;'\ 'loadf `PP_parser/pp_lang2_pp`;;'\ 'loadf `PP_parser/lex`;;'\ 'loadf `PP_parser/syntax`;;'\ 'loadf `PP_parser/convert`;;'\ 'loadf `PP_parser/generate`;;'\ 'compilet `PP_parser/PP_to_ML`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool ..................................................................................................................() : void #..() : void ..() : void ....................() : void .......................................................() : void .................................................() : void ...............() : void PP_to_ML = - : (bool -> string -> string -> void) Calling Lisp compiler File PP_parser/PP_to_ML compiled () : void #echo 'set_flag(`abort_when_fail`,true);;'\ 'loadf `PP_printer/PP_printer`;;'\ 'loadf `PP_parser/pp_lang1_pp`;;'\ 'loadf `PP_parser/pp_lang2_pp`;;'\ 'loadf `PP_parser/lex`;;'\ 'loadf `PP_parser/syntax`;;'\ 'loadf `PP_parser/convert`;;'\ 'loadf `PP_parser/generate`;;'\ 'loadf `PP_parser/PP_to_ML`;;'\ 'PP_to_ML false `PP_parser/pp_lang1` ``;;'\ 'PP_to_ML false `PP_parser/pp_lang2` ``;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool ..................................................................................................................() : void #..() : void ..() : void ....................() : void .......................................................() : void .................................................() : void ...............() : void .() : void () : void () : void echo 'set_flag(`abort_when_fail`,true);;'\ 'loadf `PP_printer/PP_printer`;;'\ 'compilet `PP_parser/pp_lang1_pp`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool ..................................................................................................................() : void # pp_lang1_rules = [((``, (Const_name(`NUM`, [Patt_child(Var_name(`num`, []))])), -), [], PF(H_box[(0, PO_leaf(`num`, -))])); ((``, (Const_name(`NEG`, [Patt_child(Var_child `num`)])), -), [], PF(H_box[(0, PO_constant `-`); (0, PO_subcall((`num`, -), []))])); ((``, (Const_name(`STRING`, [Patt_child(Var_name(`string`, []))])), -), [], PF(H_box[(0, PO_constant `'`); (0, PO_leaf(`string`, -)); (0, PO_constant `'`)])); ((``, (Const_name(`TERMINAL`, [Patt_child(Var_name(`string`, []))])), -), [], PF(H_box[(0, PO_constant `"`); (0, PO_leaf(`string`, -)); (0, PO_constant `"`)])); ((``, (Const_name(`ML_FUN`, [Var_children `strings`])), -), [], PF(H_box[(0, PO_constant `{`); (0, PO_format(PF(V_box[(((Abs 0), 0), PO_subcall((`strings`, -), []))]))); (0, PO_constant `}`)])); ((``, (Const_name(`ID`, [Patt_child(Var_name(`id`, []))])), -), [], PF(H_box[(0, PO_leaf(`id`, -))])); ((``, (Const_name(`NAME_META`, [Var_children `id`])), -), [], PF(H_box[(0, PO_constant `***`); (0, PO_subcall((`id`, -), []))])); ((``, (Const_name(`CHILD_META`, [Var_children `id`])), -), [], PF(H_box[(0, PO_constant `*`); (0, PO_subcall((`id`, -), []))])); ((``, (Const_name(`CHILDREN_META`, [Var_children `id`])), -), [], PF(H_box[(0, PO_constant `**`); (0, PO_subcall((`id`, -), []))])); ((``, (Print_loop((Const_name(`METAVAR_LIST`, [Patt_child(Var_child `metavars`); Patt_child(Link_child(((Default), Default), []))])), Const_name(`METAVAR_LIST`, [Patt_child(Var_child `metavar`)]))), -), [], PF(HV_box[((0, (Abs 3), 0), PO_expand(H_box[(0, PO_subcall((`metavars`, -), [])); (0, PO_constant `;`)])); ((0, (Abs 3), 0), PO_subcall((`metavar`, -), []))])); ((``, (Const_name(`MIN`, [Patt_child(Var_child `num`)])), -), [], PF(H_box[(0, PO_subcall((`num`, -), []))])); ((``, (Const_name(`MAX`, [Patt_child(Var_child `num`)])), -), [], PF(H_box[(0, PO_subcall((`num`, -), []))])); ((``, (Const_name(`LOOP_RANGE`, [Patt_child(Const_name(`MIN`, [Patt_child(Var_child `num`)]))])), -), [], PF(H_box[(0, PO_subcall((`num`, -), [])); (0, PO_constant `..`)])); ((``, (Const_name(`LOOP_RANGE`, [Patt_child(Const_name(`MAX`, [Patt_child(Var_child `num`)]))])), -), [], PF(H_box[(0, PO_constant `..`); (0, PO_subcall((`num`, -), []))])); ((``, (Const_name(`LOOP_RANGE`, [Patt_child(Var_child `min`); Patt_child(Var_child `max`)])), -), [], PF(H_box[(0, PO_subcall((`min`, -), [])); (0, PO_constant `..`); (0, PO_subcall((`max`, -), []))])); ((``, (Const_name(`LOOP_LINK`, [Patt_child(Var_child `loop_range`); Patt_child(Var_child `metavar_list`)])), -), [], PF(H_box[(0, PO_constant `<`); (0, PO_subcall((`loop_range`, -), [])); (0, PO_constant `:`); (1, PO_subcall((`metavar_list`, -), [])); (0, PO_constant `>`)])); ((``, (Const_name(`LOOP_LINK`, [Var_children `metavar_list`])), -), [], PF(H_box[(0, PO_constant `<`); (0, PO_subcall((`metavar_list`, -), [])); (0, PO_constant `>`)])); ((``, (Const_name(`LABEL`, [Patt_child(Var_child `child_meta`)])), -), [], PF(H_box[(0, PO_constant `|`); (0, PO_subcall((`child_meta`, -), [])); (0, PO_constant `|`)])); ((``, (Const_name(`NODE_NAME`, [Patt_child(Var_child `node_name`)])), -), [], PF(H_box[(0, PO_subcall((`node_name`, -), []))])); ((``, (Const_name(`CHILD`, [Patt_child(Var_child `child`)])), -), [], PF(H_box[(0, PO_subcall((`child`, -), []))])); ((``, (Print_loop((Const_name(`CHILD_LIST`, [Patt_child(Var_child `children`); Patt_child(Link_child(((Default), Default), []))])), Const_name(`CHILD_LIST`, [Patt_child(Var_child `child`)]))), -), [], PF(HV_box[((0, (Abs 3), 0), PO_expand(H_box[(0, PO_subcall((`children`, -), [])); (0, PO_constant `,`)])); ((0, (Abs 3), 0), PO_subcall((`child`, -), []))])); ((``, (Const_name(`PATT_TREE`, [Patt_child(Const_name(`NODE_NAME`, [Patt_child(Var_child `node_name`)])); Patt_child(Var_child `child_list`)])), -), [], PF(HV_box[((0, (Abs 3), 0), PO_subcall((`node_name`, -), [])); ((0, (Abs 3), 0), PO_format(PF(H_box[(0, PO_constant `(`); (0, PO_subcall((`child_list`, -), [])); (0, PO_constant `)`)])))])); ((``, (Const_name(`PATT_TREE`, [Patt_child(Const_name(`NODE_NAME`, [Patt_child(Var_child `node_name`)]))])), -), [], PF(H_box[(0, PO_subcall((`node_name`, -), [])); (0, PO_constant `()`)])); ((``, (Const_name(`PATT_TREE`, [Var_children `x`])), -), [], PF(HV_box[((0, (Abs 3), 0), PO_subcall((`x`, -), []))])); ((``, (Const_name(`LOOP`, [Patt_child(Var_child `patt_tree`)])), -), [], PF(H_box[(0, PO_constant `[`); (0, PO_subcall((`patt_tree`, -), [])); (0, PO_constant `]`)])); ((``, (Const_name(`TEST`, [Patt_child(Var_child `test`)])), -), [], PF(H_box[(0, PO_subcall((`test`, -), []))])); ((``, (Const_name(`PATTERN`, [Patt_child(Var_child `string`); Patt_child(Var_child `patt_tree`); Var_children `test`])), -), [], PF(H_box[(0, PO_subcall((`string`, -), [])); (0, PO_constant `::`); (0, PO_format(PF(HV_box[((1, (Abs 3), 0), PO_subcall((`patt_tree`, -), [])); ((1, (Abs 3), 0), PO_expand(HV_box[((1, (Abs 3), 0), PO_constant `where`); ((1, (Abs 3), 0), PO_subcall((`test`, -), []))]))])))])); ((``, (Const_name(`TRANSFORM`, [Patt_child(Var_child `transform`)])), -), [], PF(H_box[(0, PO_subcall((`transform`, -), []))])); ((``, (Const_name(`P_SPECIAL`, [Patt_child(Var_child `metavar`); Patt_child(Var_child `transform`)])), -), [], PF(HV_box[((1, (Abs 3), 0), PO_format(PF(H_box[(1, PO_subcall((`metavar`, -), [])); (1, PO_constant `=`)]))); ((1, (Abs 3), 0), PO_subcall((`transform`, -), []))])); ((``, (Print_loop((Const_name(`P_SPECIAL_LIST`, [Patt_child(Var_child `p_specials`); Patt_child(Link_child(((Default), Default), []))])), Const_name(`P_SPECIAL_LIST`, [Patt_child(Var_child `p_special`)]))), -), [], PF(HoV_box[((1, (Abs 0), 0), PO_expand(H_box[(0, PO_subcall((`p_specials`, -), [])); (0, PO_constant `;`)])); ((1, (Abs 0), 0), PO_subcall((`p_special`, -), []))]))] : print_rule list pp_lang1_rules_fun = - : print_rule_function Calling Lisp compiler File PP_parser/pp_lang1_pp compiled () : void #echo 'set_flag(`abort_when_fail`,true);;'\ 'loadf `PP_printer/PP_printer`;;'\ 'loadf `PP_parser/pp_lang1_pp`;;'\ 'compilet `PP_parser/pp_lang2_pp`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool ..................................................................................................................() : void #..() : void pp_lang2_rules = [((``, (Const_name(`INT_EXP`, [Patt_child(Var_child `int_exp`)])), -), [], PF(H_box[(0, PO_subcall((`int_exp`, -), []))])); ((``, (Const_name(`ASSIGN`, [Patt_child(Var_child `id`); Patt_child(Var_child `exp`)])), -), [], PF(HV_box[((1, (Abs 3), 0), PO_format(PF(H_box[(1, PO_subcall((`id`, -), [])); (1, PO_constant `:=`)]))); ((1, (Abs 3), 0), PO_subcall((`exp`, -), []))])); ((``, (Print_loop((Const_name(`ASSIGNMENTS`, [Patt_child(Var_child `assigns`); Patt_child(Link_child(((Default), Default), []))])), Const_name(`ASSIGNMENTS`, [Patt_child(Var_child `assign`)]))), -), [], PF(HoV_box[((1, (Abs 0), 0), PO_expand(H_box[(0, PO_subcall((`assigns`, -), [])); (0, PO_constant `;`)])); ((1, (Abs 0), 0), PO_subcall((`assign`, -), []))])); ((``, (Const_name(`F_SUBCALL`, [Patt_child(Var_child `child`)])), -), [], PF(H_box[(0, PO_subcall((`child`, -), []))])); ((``, (Const_name(`F_SUBCALL`, [Patt_child(Var_child `transform`); Patt_child(Var_child `metavar`)])), -), [], PF(HV_box[((0, (Abs 3), 0), PO_subcall((`transform`, -), [])); ((0, (Abs 3), 0), PO_format(PF(H_box[(0, PO_constant `(`); (0, PO_subcall((`metavar`, -), [])); (0, PO_constant `)`)])))])); ((``, (Const_name(`C_SUBCALL`, [Patt_child(Var_child `f_subcall`)])), -), [], PF(H_box[(0, PO_subcall((`f_subcall`, -), []))])); ((``, (Const_name(`C_SUBCALL`, [Patt_child(Var_child `string`); Patt_child(Var_child `f_subcall`)])), -), [], PF(HV_box[((0, (Abs 3), 0), PO_format(PF(H_box[(0, PO_subcall((`string`, -), [])); (0, PO_constant `::`)]))); ((0, (Abs 3), 0), PO_subcall((`f_subcall`, -), []))])); ((``, (Const_name(`LEAF_OR_SUBCALL`, [Patt_child(Var_child `c_subcall`); Var_children `assigns`])), -), [], PF(HV_box[((1, (Abs 3), 0), PO_subcall((`c_subcall`, -), [])); ((1, (Abs 3), 0), PO_expand(V_box[(((Abs 0), 0), PO_constant `with`); (((Abs 3), 0), PO_subcall((`assigns`, -), [])); (((Abs 0), 0), PO_constant `end with`)]))])); ((``, (Const_name(`INC`, [Patt_child(Var_child `num`)])), -), [], PF(H_box[(0, PO_constant `+`); (0, PO_subcall((`num`, -), []))])); ((``, (Const_name(`H_PARAMS`, [Patt_child(Var_child `num`)])), -), [], PF(H_box[(0, PO_subcall((`num`, -), []))])); ((``, (Const_name(`V_PARAMS`, [Patt_child(Var_child `indent`); Patt_child(Var_child `num`)])), -), [], PF(H_box[(0, PO_subcall((`indent`, -), [])); (0, PO_constant `,`); (0, PO_subcall((`num`, -), []))])); ((``, (Const_name(`HV_PARAMS`, [Patt_child(Var_child `num1`); Patt_child(Var_child `indent`); Patt_child(Var_child `num2`)])), -), [], PF(H_box[(0, PO_subcall((`num1`, -), [])); (0, PO_constant `,`); (0, PO_subcall((`indent`, -), [])); (0, PO_constant `,`); (0, PO_subcall((`num2`, -), []))])); ((``, (Const_name(`HOV_PARAMS`, [Patt_child(Var_child `num1`); Patt_child(Var_child `indent`); Patt_child(Var_child `num2`)])), -), [], PF(H_box[(0, PO_subcall((`num1`, -), [])); (0, PO_constant `,`); (0, PO_subcall((`indent`, -), [])); (0, PO_constant `,`); (0, PO_subcall((`num2`, -), []))])); ((``, (Const_name(`H_BOX`, [Patt_child(Var_child `h_params`)])), -), [], PF(H_box[(1, PO_constant `h`); (1, PO_subcall((`h_params`, -), []))])); ((``, (Const_name(`V_BOX`, [Patt_child(Var_child `v_params`)])), -), [], PF(H_box[(1, PO_constant `v`); (1, PO_subcall((`v_params`, -), []))])); ((``, (Const_name(`HV_BOX`, [Patt_child(Var_child `hv_params`)])), -), [], PF(H_box[(1, PO_constant `hv`); (1, PO_subcall((`hv_params`, -), []))])); ((``, (Const_name(`HOV_BOX`, [Patt_child(Var_child `hov_params`)])), -), [], PF(H_box[(1, PO_constant `hov`); (1, PO_subcall((`hov_params`, -), []))])); ((``, (Const_name(`OBJECT`, [Patt_child(Var_child `object`)])), -), [], PF(H_box[(0, PO_subcall((`object`, -), []))])); ((``, (Const_name(`H_OBJECT`, [Var_children `h_params`; Patt_child(Var_child `object`)])), -), [], PF(HV_box[((1, (Abs 3), 0), PO_expand(H_box[(0, PO_constant `<`); (0, PO_subcall((`h_params`, -), [])); (0, PO_constant `>`)])); ((1, (Abs 3), 0), PO_subcall((`object`, -), []))])); ((``, (Const_name(`V_OBJECT`, [Var_children `v_params`; Patt_child(Var_child `object`)])), -), [], PF(HV_box[((1, (Abs 3), 0), PO_expand(H_box[(0, PO_constant `<`); (0, PO_subcall((`v_params`, -), [])); (0, PO_constant `>`)])); ((1, (Abs 3), 0), PO_subcall((`object`, -), []))])); ((``, (Const_name(`HV_OBJECT`, [Var_children `hv_params`; Patt_child(Var_child `object`)])), -), [], PF(HV_box[((1, (Abs 3), 0), PO_expand(H_box[(0, PO_constant `<`); (0, PO_subcall((`hv_params`, -), [])); (0, PO_constant `>`)])); ((1, (Abs 3), 0), PO_subcall((`object`, -), []))])); ((``, (Const_name(`HOV_OBJECT`, [Var_children `hov_params`; Patt_child(Var_child `object`)])), -), [], PF(HV_box[((1, (Abs 3), 0), PO_expand(H_box[(0, PO_constant `<`); (0, PO_subcall((`hov_params`, -), [])); (0, PO_constant `>`)])); ((1, (Abs 3), 0), PO_subcall((`object`, -), []))])); ((``, (Print_loop((Const_name(`H_OBJECT_LIST`, [Patt_child(Var_child `h_objects`); Patt_child(Link_child(((Default), Default), []))])), Const_name(`H_OBJECT_LIST`, [Patt_child(Var_child `h_object`)]))), -), [], PF(HoV_box[((1, (Abs 0), 0), PO_subcall((`h_objects`, -), [])); ((1, (Abs 0), 0), PO_subcall((`h_object`, -), []))])); ((``, (Print_loop((Const_name(`V_OBJECT_LIST`, [Patt_child(Var_child `v_objects`); Patt_child(Link_child(((Default), Default), []))])), Const_name(`V_OBJECT_LIST`, [Patt_child(Var_child `v_object`)]))), -), [], PF(HoV_box[((1, (Abs 0), 0), PO_subcall((`v_objects`, -), [])); ((1, (Abs 0), 0), PO_subcall((`v_object`, -), []))])); ((``, (Print_loop((Const_name(`HV_OBJECT_LIST`, [Patt_child(Var_child `hv_objects`); Patt_child(Link_child(((Default), Default), []))])), Const_name(`HV_OBJECT_LIST`, [Patt_child(Var_child `hv_object`)]))), -), [], PF(HoV_box[((1, (Abs 0), 0), PO_subcall((`hv_objects`, -), [])); ((1, (Abs 0), 0), PO_subcall((`hv_object`, -), []))])); ((``, (Print_loop((Const_name(`HOV_OBJECT_LIST`, [Patt_child(Var_child `hov_objects`); Patt_child(Link_child(((Default), Default), []))])), Const_name(`HOV_OBJECT_LIST`, [Patt_child(Var_child `hov_object`)]))), -), [], PF(HoV_box[((1, (Abs 0), 0), PO_subcall((`hov_objects`, -), [])); ((1, (Abs 0), 0), PO_subcall((`hov_object`, -), []))])); ((``, (Const_name(`BOX_SPEC`, [Patt_child(Var_child `box`); Patt_child(Var_child `object_list`)])), -), [], PF(H_box[(0, PO_constant `<`); (0, PO_subcall((`box`, -), [])); (0, PO_constant `>`); (1, PO_subcall((`object_list`, -), []))])); ((``, (Const_name(`EXPAND`, [Patt_child(Var_child `box_spec`)])), -), [], PF(H_box[(0, PO_constant `**[`); (0, PO_subcall((`box_spec`, -), [])); (0, PO_constant `]`)])); ((``, (Const_name(`FORMAT`, [])), -), [], PF(H_box[(0, PO_constant `[]`)])); ((``, (Const_name(`FORMAT`, [Patt_child(Var_child `box_spec`)])), -), [], PF(H_box[(0, PO_constant `[`); (0, PO_subcall((`box_spec`, -), [])); (0, PO_constant `]`)])); ((``, (Const_name(`FORMAT`, [Patt_child(Var_child `test`); Patt_child(Var_child `format1`); Patt_child(Var_child `format2`)])), -), [], PF(HoV_box[((1, (Abs 0), 0), PO_format(PF(H_box[(1, PO_constant `if`); (1, PO_subcall((`test`, -), []))]))); ((1, (Abs 0), 0), PO_format(PF(H_box[(1, PO_constant `then`); (1, PO_subcall((`format1`, -), []))]))); ((1, (Abs 0), 0), PO_format(PF(H_box[(1, PO_constant `else`); (1, PO_subcall((`format2`, -), []))])))])); ((``, (Const_name(`RULE`, [Patt_child(Const_name(`PATTERN`, [Patt_child(Var_child `string`); Patt_child(Var_child `patt_tree`); Var_children `test`])); Var_children `p_specials`; Patt_child(Var_child `format`)])), -), [], PF(H_box[(0, PO_subcall((`string`, -), [])); (0, PO_constant `::`); (0, PO_format(PF(HoV_box[((1, (Abs 0), 0), PO_format(PF(H_box[(1, PO_format(PF(HV_box[((1, (Abs 3), 0), PO_subcall((`patt_tree`, -), [])); ((1, (Abs 3), 0), PO_expand(HV_box[((1, (Abs 3), 0), PO_constant `where`); ((1, (Abs 3), 0), PO_subcall((`test`, -), []))]))]))); (1, PO_constant `->`)]))); ((1, (Abs 0), 0), PO_expand(H_box[(1, PO_constant `<<`); (1, PO_subcall((`p_specials`, -), [])); (1, PO_constant `>>`)])); ((1, (Abs 0), 0), PO_subcall((`format`, -), []))])))])); ((``, (Print_loop((Const_name(`RULE_LIST`, [Patt_child(Var_child `rules`); Patt_child(Link_child(((Default), Default), []))])), Const_name(`RULE_LIST`, [Patt_child(Var_child `rule`)]))), -), [], PF(V_box[(((Abs 0), 1), PO_expand(H_box[(0, PO_subcall((`rules`, -), [])); (0, PO_constant `;`)])); (((Abs 0), 1), PO_format(PF(H_box[(0, PO_subcall((`rule`, -), [])); (0, PO_constant `;`)])))])); ((``, (Const_name(`RULES`, [Patt_child(Var_child `rule_list`)])), -), [], PF(V_box[(((Abs 3), 0), PO_constant `rules`); (((Abs 3), 0), PO_subcall((`rule_list`, -), [])); (((Abs 0), 1), PO_constant `end rules`)])); ((``, (Const_name(`BINDING`, [Patt_child(Var_child `id`); Patt_child(Var_child `ml_fun`)])), -), [], PF(HV_box[((1, (Abs 3), 0), PO_format(PF(H_box[(1, PO_subcall((`id`, -), [])); (1, PO_constant `=`)]))); ((1, (Abs 3), 0), PO_subcall((`ml_fun`, -), []))])); ((``, (Print_loop((Const_name(`BINDING_LIST`, [Patt_child(Var_child `bindings`); Patt_child(Link_child(((Default), Default), []))])), Const_name(`BINDING_LIST`, [Patt_child(Var_child `binding`)]))), -), [], PF(V_box[(((Abs 0), 1), PO_expand(H_box[(0, PO_subcall((`bindings`, -), [])); (0, PO_constant `;`)])); (((Abs 0), 1), PO_format(PF(H_box[(0, PO_subcall((`binding`, -), [])); (0, PO_constant `;`)])))])); ((``, (Const_name(`DECLARS`, [Patt_child(Var_child `binding_list`)])), -), [], PF(V_box[(((Abs 3), 0), PO_constant `declarations`); (((Abs 3), 0), PO_subcall((`binding_list`, -), [])); (((Abs 0), 1), PO_constant `end declarations`)])); ((``, (Const_name(`ABBREVS`, [Patt_child(Var_child `binding_list`)])), -), [], PF(V_box[(((Abs 3), 0), PO_constant `abbreviations`); (((Abs 3), 0), PO_subcall((`binding_list`, -), [])); (((Abs 0), 1), PO_constant `end abbreviations`)])); ((``, (Const_name(`BODY`, [Var_children `x`])), -), [], PF(V_box[(((Abs 0), 2), PO_subcall((`x`, -), []))])); ((``, (Const_name(`PP`, [Patt_child(Var_child `id`); Patt_child(Var_child `body`)])), -), [], PF(V_box[(((Abs 0), 1), PO_format(PF(H_box[(1, PO_constant `prettyprinter`); (1, PO_subcall((`id`, -), [])); (1, PO_constant `=`)]))); (((Abs 0), 1), PO_subcall((`body`, -), [])); (((Abs 0), 2), PO_constant `end prettyprinter`)]))] : print_rule list pp_lang2_rules_fun = - : print_rule_function Calling Lisp compiler File PP_parser/pp_lang2_pp compiled () : void #echo 'set_flag(`abort_when_fail`,true);;'\ 'loadf `PP_printer/PP_printer`;;'\ 'loadf `PP_parser/pp_lang1_pp`;;'\ 'loadf `PP_parser/pp_lang2_pp`;;'\ 'compilet `PP_parser/lex`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool ..................................................................................................................() : void #..() : void ..() : void copy_chars = - : (int -> (string -> string) -> string -> (string -> void) -> void) New constructors declared: Lex_spec : (string -> lex_symb) Lex_num : (string -> lex_symb) Lex_id : (string -> lex_symb) Lex_block : (((string # string) # string list) -> lex_symb) is_lex_char = - : ((string # string # string) -> bool) is_lex_ucase = - : (string -> bool) is_lex_lcase = - : (string -> bool) is_lex_letter = - : (string -> bool) is_lex_digit = - : (string -> bool) is_lex_underscore = - : (string -> bool) is_lex_eof = - : (string -> bool) is_lex_eol = - : (string -> bool) is_lex_space = - : (string -> bool) lex_error = - : ((string -> string) -> string -> string -> string -> *) read_char = - : ((* -> string) -> * -> string) read_number = - : ((* -> string) -> * -> string -> (lex_symb # string)) read_identifier = - : ((string -> string) -> string -> string -> (lex_symb # string)) read_block = - : ((string -> string) -> string -> (string # string) -> string -> (lex_symb # string)) read_special = - : ((string -> string) -> string -> string list -> string -> (lex_symb # string)) read_symb = - : ((string -> string) -> string -> (string # string) list -> string list -> string list -> string -> (lex_symb # string)) - : ((string -> string) -> string -> (string # string) list -> string list -> string list -> string -> (lex_symb # string)) read_symb = - : ((string -> string) -> string -> (string # string) list -> string list -> string list -> string -> (lex_symb # string)) Calling Lisp compiler File PP_parser/lex compiled () : void #echo 'set_flag(`abort_when_fail`,true);;'\ 'loadf `PP_printer/PP_printer`;;'\ 'loadf `PP_parser/pp_lang1_pp`;;'\ 'loadf `PP_parser/pp_lang2_pp`;;'\ 'loadf `PP_parser/lex`;;'\ 'compilet `PP_parser/syntax`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool ..................................................................................................................() : void #..() : void ..() : void ....................() : void PP_quotes = [(`'`, `'`); (`"`, `"`); (`{`, `}`); (`#`, `#`); (`%`, `%`)] : (string # string) list PP_keywords = [`prettyprinter`; `rules`; `declarations`; `abbreviations`; `with`; `end`; `where`; `if`; `then`; `else`; `h`; `v`; `hv`; `hov`] : string list PP_specials = [`+`; `-`; `*`; `**`; `***`; `,`; `;`; `:`; `::`; `=`; `:=`; `->`; `..`; `(`; `)`; `**[`; `[`; `]`; `<`; `>`; `<<`; `>>`; `|`] : string list syntax_error = - : ((string -> string) -> string -> string -> string -> lex_symb -> *) general_error = - : ((string -> string) -> string -> string -> string -> string -> *) read_PP_symb = - : ((string -> string) -> string -> string -> (lex_symb # string)) read_PP_number = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_integer = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_string = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_terminal = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_ML_function = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_identifier = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_name_metavar = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_child_metavar = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_children_metavar = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_metavar_list = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_min = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_max = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_loop_range = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_loop_link = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_label = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_node_name = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_child = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_child_list = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_pattern_tree = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_loop = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_test = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_pattern = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_transformation = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_p_special = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_p_special_list = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_int_expression = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_assignment = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_assignments = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_fun_subcall = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_context_subcall = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_leaf_or_subcall = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_indent = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_h_params = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_v_params = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_hv_params = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_hov_params = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_h_box = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_v_box = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_hv_box = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_hov_box = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_object = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_h_object = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_v_object = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_hv_object = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_hov_object = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_h_object_list = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_v_object_list = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_hv_object_list = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_hov_object_list = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_box_spec = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_expand = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_format = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_rule = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_rule_list = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_rules = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_binding = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_binding_list = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_declarations = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_abbreviations = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP_body = - : ((string -> string) -> string -> (lex_symb # string) -> (print_tree # lex_symb # string)) read_PP = - : ((string -> string) -> string -> print_tree) - : ((string -> string) -> string -> print_tree) read_PP = - : ((string -> string) -> string -> print_tree) Calling Lisp compiler File PP_parser/syntax compiled () : void #echo 'set_flag(`abort_when_fail`,true);;'\ 'loadf `PP_printer/PP_printer`;;'\ 'loadf `PP_parser/pp_lang1_pp`;;'\ 'loadf `PP_parser/pp_lang2_pp`;;'\ 'loadf `PP_parser/lex`;;'\ 'loadf `PP_parser/syntax`;;'\ 'compilet `PP_parser/convert`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool ..................................................................................................................() : void #..() : void ..() : void ....................() : void .......................................................() : void construction_error = - : (print_tree -> string -> *) indirect_string = - : (string -> string) convert_NUM = - : ((print_tree # *) -> (print_tree # ** list)) convert_NEG = - : ((print_tree # *) -> (print_tree # ** list)) convert_ML_FUN = - : ((print_tree # *) -> (print_tree # ** list)) convert_ID_to_VAR = - : ((print_tree # *) -> (print_tree # ** list)) convert_ID_to_TOKCONST = - : ((print_tree # *) -> (print_tree # ** list)) convert_METAVAR = - : ((print_tree # *) -> (print_tree # ** list)) convert_METAVAR_to_TOKCONST = - : ((print_tree # *) -> (print_tree # ** list)) convert_METAVAR_LIST = - : ((print_tree # *) -> (print_tree # ** list)) convert_MIN = - : ((print_tree # *) -> (print_tree # ** list)) convert_MAX = - : ((print_tree # *) -> (print_tree # ** list)) convert_LOOP_RANGE = - : ((print_tree # *) -> (print_tree # ** list)) convert_LOOP_LINK = - : ((print_tree # *) -> (print_tree # ** list)) convert_LABEL = - : ((print_tree # *) -> (print_tree # ** list)) convert_NODE_NAME = - : ((print_tree # (string # print_tree) list) -> (print_tree # * list)) convert_CHILD = - : ((print_tree # (string # print_tree) list) -> (print_tree # * list)) convert_CHILD_LIST = - : ((print_tree # (string # print_tree) list) -> (print_tree # * list)) convert_PATT_TREE = - : ((print_tree # (string # print_tree) list) -> (print_tree # * list)) convert_LOOP = - : ((print_tree # (string # print_tree) list) -> (print_tree # * list)) convert_STRING = - : ((print_tree # *) -> (print_tree # ** list)) convert_TEST = - : ((print_tree # (string # print_tree) list) -> (print_tree # * list)) convert_PATTERN = - : ((print_tree # (string # print_tree) list) -> (print_tree # * list)) convert_TRANSFORM = - : ((print_tree # (string # print_tree) list) -> (print_tree # * list)) convert_P_SPECIAL = - : ((print_tree # (string # print_tree) list) -> (print_tree # * list)) convert_P_SPECIAL_LIST = - : ((print_tree # (string # print_tree) list) -> (print_tree # * list)) convert_INT_EXP = - : ((print_tree # (string # print_tree) list) -> (print_tree # * list)) convert_ASSIGN = - : ((print_tree # (string # print_tree) list) -> (print_tree # * list)) convert_ASSIGNMENTS = - : ((print_tree # (string # print_tree) list) -> (print_tree # * list)) convert_F_SUBCALL = - : ((print_tree # (string # print_tree) list) -> (print_tree # (string # print_tree) list)) convert_C_SUBCALL = - : ((print_tree # (string # print_tree) list) -> (print_tree # (string # print_tree) list)) convert_LEAF_OR_SUBCALL = - : ((print_tree # (string # print_tree) list) -> (print_tree # (string # print_tree) list)) convert_TERMINAL = - : ((print_tree # *) -> (print_tree # ** list)) convert_INC = - : ((print_tree # *) -> (print_tree # ** list)) convert_H_PARAMS = - : ((print_tree # *) -> (print_tree # ** list)) convert_V_PARAMS = - : ((print_tree # *) -> (print_tree # ** list)) convert_HV_PARAMS = - : ((print_tree # *) -> (print_tree # ** list)) convert_HOV_PARAMS = - : ((print_tree # *) -> (print_tree # ** list)) convert_BOX = - : ((print_tree # *) -> (print_tree # ** list)) convert_OBJECT = - : ((print_tree # (string # print_tree) list) -> (print_tree # (string # print_tree) list)) convert_H_OBJECT = - : ((print_tree # (string # print_tree) list) -> (print_tree # (string # print_tree) list)) convert_V_OBJECT = - : ((print_tree # (string # print_tree) list) -> (print_tree # (string # print_tree) list)) convert_HV_OBJECT = - : ((print_tree # (string # print_tree) list) -> (print_tree # (string # print_tree) list)) convert_HOV_OBJECT = - : ((print_tree # (string # print_tree) list) -> (print_tree # (string # print_tree) list)) convert_H_OBJECT_LIST = - : ((print_tree # (string # print_tree) list) -> (print_tree # (string # print_tree) list)) convert_V_OBJECT_LIST = - : ((print_tree # (string # print_tree) list) -> (print_tree # (string # print_tree) list)) convert_HV_OBJECT_LIST = - : ((print_tree # (string # print_tree) list) -> (print_tree # (string # print_tree) list)) convert_HOV_OBJECT_LIST = - : ((print_tree # (string # print_tree) list) -> (print_tree # (string # print_tree) list)) convert_BOX_SPEC = - : ((print_tree # (string # print_tree) list) -> (print_tree # (string # print_tree) list)) convert_EXPAND = - : ((print_tree # (string # print_tree) list) -> (print_tree # (string # print_tree) list)) convert_FORMAT = - : ((print_tree # (string # print_tree) list) -> (print_tree # (string # print_tree) list)) convert_RULE = - : ((print_tree # (string # print_tree) list) -> (print_tree # (string # print_tree) list)) convert_RULE_LIST = - : ((print_tree # (string # print_tree) list) -> (print_tree # (string # print_tree) list)) convert_RULES = - : ((print_tree # (string # print_tree) list) -> (print_tree # (string # print_tree) list)) convert_BINDING = - : ((print_tree # *) -> (print_tree # ** list)) convert_BINDING_LIST_to_LIST = - : ((print_tree # *) -> (print_tree # ** list)) convert_BINDING_LIST_to_LETREC = - : ((print_tree # *) -> (print_tree # ** list)) convert_DECLARS = - : ((print_tree # *) -> (print_tree # ** list)) convert_ABBREVS = - : ((print_tree # *) -> (print_tree # (string # print_tree) list)) convert_BODY = - : ((print_tree # (string # print_tree) list) -> (print_tree # (string # print_tree) list)) convert_PP = - : ((print_tree # (string # print_tree) list) -> (print_tree # (string # print_tree) list)) - : ((print_tree # (string # print_tree) list) -> (print_tree # (string # print_tree) list)) convert_PP = - : ((print_tree # (string # print_tree) list) -> (print_tree # (string # print_tree) list)) Calling Lisp compiler File PP_parser/convert compiled () : void #echo 'set_flag(`abort_when_fail`,true);;'\ 'loadf `PP_printer/PP_printer`;;'\ 'loadf `PP_parser/pp_lang1_pp`;;'\ 'loadf `PP_parser/pp_lang2_pp`;;'\ 'loadf `PP_parser/lex`;;'\ 'loadf `PP_parser/syntax`;;'\ 'loadf `PP_parser/convert`;;'\ 'compilet `PP_parser/generate`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool ..................................................................................................................() : void #..() : void ..() : void ....................() : void .......................................................() : void .................................................() : void PP_to_ML_rules = [((`name`, (Var_name(`n`, [])), -), [], PF(H_box[(0, PO_leaf(`n`, -))])); ((``, (Const_name(`INTCONST`, [Patt_child(Var_name(`n`, []))])), -), [], PF(H_box[(0, PO_leaf(`n`, -))])); ((``, (Const_name(`TOKCONST`, [Patt_child(Var_name(`n`, []))])), -), [], PF(H_box[(0, PO_constant ```); (0, PO_leaf(`n`, -)); (0, PO_constant ```)])); ((``, (Const_name(`VAR`, [Patt_child(Var_name(`n`, []))])), -), [], PF(H_box[(0, PO_leaf(`n`, -))])); ((``, (Const_name(`CON`, [Patt_child(Var_name(`n`, []))])), -), [], PF(H_box[(0, PO_leaf(`n`, -))])); ((``, (Const_name(`CON0`, [Patt_child(Var_name(`n`, []))])), -), [], PF(H_box[(0, PO_leaf(`n`, -))])); ((``, (Const_name(`UNOP`, [Patt_child(Var_name(`n`, [])); Patt_child(Var_child `c`)])), -), [], PF(H_box[(0, PO_constant `(`); (0, PO_format(PF(HV_box[((0, (Abs 0), 0), PO_leaf(`n`, -)); ((0, (Abs 0), 0), PO_subcall((`c`, -), []))]))); (0, PO_constant `)`)])); ((``, (Const_name(`APPN`, [Patt_child(Var_child `c1`); Patt_child(Var_child `c2`)])), -), [], PF(H_box[(0, PO_constant `(`); (0, PO_format(PF(HV_box[((1, (Abs 1), 0), PO_subcall((`c1`, -), [])); ((1, (Abs 1), 0), PO_subcall((`c2`, -), []))]))); (0, PO_constant `)`)])); ((``, (Const_name(`ABSTR`, [Patt_child(Var_child `c1`); Patt_child(Var_child `c2`)])), -), [], PF(H_box[(0, PO_constant `(\`); (0, PO_format(PF(HV_box[((1, (Abs 1), 0), PO_format(PF(H_box[(0, PO_subcall((`c1`, -), [])); (0, PO_constant `.`)]))); ((1, (Abs 1), 0), PO_subcall((`c2`, -), []))]))); (0, PO_constant `)`)])); ((``, (Const_name(`LIST`, [Var_children `cl`; Patt_child(Var_child `c`)])), -), [], PF(H_box[(0, PO_constant `[`); (0, PO_format(PF(HoV_box[((0, (Abs 0), 0), PO_expand(H_box[(0, PO_subcall((`cl`, -), [])); (0, PO_constant `;`)])); ((0, (Abs 0), 0), PO_subcall((`c`, -), []))]))); (0, PO_constant `]`)])); ((``, (Const_name(`LIST`, [])), -), [], PF(H_box[(0, PO_constant `[]`)])); ((``, (Print_loop((Const_name(`DUPL`, [Patt_child(Var_child `cl`); Patt_child(Link_child(((Val 1), Default), []))])), Var_child `c`)), -), [], PF(H_box[(0, PO_constant `(`); (0, PO_format(PF(HV_box[((0, (Abs 0), 0), PO_expand(H_box[(0, PO_subcall((`cl`, -), [])); (0, PO_constant `,`)])); ((0, (Abs 0), 0), PO_subcall((`c`, -), []))]))); (0, PO_constant `)`)])); ((``, (Const_name(`LETREC`, [Patt_child(Const_name(`DUPL`, [Patt_child(Var_child `var1`); Patt_child(Print_loop((Const_name(`DUPL`, [Patt_child(Var_child `varl`); Patt_child(Link_child(((Default), Default), []))])), Var_child `varl`))])); Patt_child(Const_name(`DUPL`, [Patt_child(Var_child `body1`); Patt_child(Print_loop((Const_name(`DUPL`, [Patt_child(Var_child `bodyl`); Patt_child(Link_child(((Default), Default), []))])), Var_child `bodyl`))]))])), -), [], PF(V_box[(((Abs 0), 0), PO_format(PF(HV_box[((1, (Inc 1), 0), PO_constant `letrec`); ((1, (Inc 1), 0), PO_format(PF(H_box[(1, PO_subcall((`var1`, -), [])); (1, PO_constant `=`)]))); ((1, (Inc 1), 0), PO_subcall((`body1`, -), []))]))); (((Abs 0), 0), PO_expand(HV_box[((1, (Inc 1), 0), PO_constant `and`); ((1, (Inc 1), 0), PO_expand(H_box[(1, PO_subcall((`varl`, -), [])); (1, PO_constant `=`)])); ((1, (Inc 1), 0), PO_subcall((`bodyl`, -), []))]))])); ((``, (Const_name(`LETREC`, [Patt_child(Var_child `c1`); Patt_child(Var_child `c2`)])), -), [], PF(HV_box[((1, (Inc 1), 0), PO_constant `letrec`); ((1, (Inc 1), 0), PO_format(PF(H_box[(1, PO_subcall((`c1`, -), [])); (1, PO_constant `=`)]))); ((1, (Inc 1), 0), PO_subcall((`c2`, -), []))])); ((``, (Const_name(`ML_FUN`, [Var_children `cl`])), -), [], PF(H_box[(0, PO_constant `(`); (0, PO_format(PF(V_box[(((Abs 0), 0), PO_context_subcall(`name`, (`cl`, -), []))]))); (0, PO_constant `)`)]))] : print_rule list PP_to_ML_rules_fun = - : print_rule_function write_strings = - : (((* # string) -> **) -> * -> string list -> void) generate_rule = - : (print_tree -> string list) write_rule = - : (((* # string) -> **) -> * -> print_tree -> void) write_rules = - : (((* # string) -> **) -> * -> print_tree list -> void) generate_declarations = - : (print_tree -> string list) write_declarations = - : (((* # string) -> **) -> * -> print_tree -> void) generate_head = - : (string -> string list) write_head = - : (((* # string) -> **) -> * -> string -> void) generate_tail = - : (string -> string list) write_tail = - : (((* # string) -> **) -> * -> string -> void) generate_ML = - : (((string # string) -> void) -> string -> print_tree -> void) - : (((string # string) -> void) -> string -> print_tree -> void) generate_ML = - : (((string # string) -> void) -> string -> print_tree -> void) Calling Lisp compiler File PP_parser/generate compiled () : void #echo 'set_flag(`abort_when_fail`,true);;'\ 'loadf `PP_printer/PP_printer`;;'\ 'loadf `PP_parser/pp_lang1_pp`;;'\ 'loadf `PP_parser/pp_lang2_pp`;;'\ 'loadf `PP_parser/lex`;;'\ 'loadf `PP_parser/syntax`;;'\ 'loadf `PP_parser/convert`;;'\ 'loadf `PP_parser/generate`;;'\ 'compilet `PP_parser/PP_to_ML`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool ..................................................................................................................() : void #..() : void ..() : void ....................() : void .......................................................() : void .................................................() : void ...............() : void PP_to_ML = - : (bool -> string -> string -> void) Calling Lisp compiler File PP_parser/PP_to_ML compiled () : void #echo 'set_flag(`abort_when_fail`,true);;'\ 'loadf `PP_printer/PP_printer`;;'\ 'loadf `PP_parser/PP_parser`;;'\ 'compilet `PP_hol/hol_trees`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool ..................................................................................................................() : void #.................................................................................................................................................() : void # New constructors declared: No_types : type_selection Hidden_types : type_selection Useful_types : type_selection All_types : type_selection type_to_print_tree = - : (type -> print_tree) term_to_print_tree = - : (bool -> type_selection -> term -> print_tree) thm_to_print_tree = - : (bool -> bool -> type_selection -> thm -> print_tree) Calling Lisp compiler File PP_hol/hol_trees compiled () : void #echo 'set_flag(`abort_when_fail`,true);;'\ 'loadf `PP_printer/PP_printer`;;'\ 'loadf `PP_parser/PP_parser`;;'\ 'loadf `PP_hol/hol_trees`;;'\ 'compilet `PP_hol/precedence`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool ..................................................................................................................() : void #.................................................................................................................................................() : void #....() : void type_prec = - : (string -> int) min_type_prec = 0 : int max_type_prec = 400 : int term_prec = - : (string -> int) min_term_prec = 0 : int max_term_prec = 1700 : int Calling Lisp compiler File PP_hol/precedence compiled () : void #echo 'set_flag(`abort_when_fail`,true);;'\ 'loadf `PP_printer/PP_printer`;;'\ 'loadf `PP_parser/PP_parser`;;'\ 'PP_to_ML false `PP_hol/hol_type` ``;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool ..................................................................................................................() : void #.................................................................................................................................................() : void #() : void echo 'set_flag(`abort_when_fail`,true);;'\ 'loadf `PP_printer/PP_printer`;;'\ 'loadf `PP_parser/PP_parser`;;'\ 'loadf `PP_hol/hol_trees`;;'\ 'loadf `PP_hol/precedence`;;'\ 'compilet `PP_hol/hol_type_pp`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool ..................................................................................................................() : void #.................................................................................................................................................() : void #....() : void ......() : void hol_type_rules = [((`type`, (Const_name(`VAR`, [Patt_child(Var_name(`op`, []))])), -), [], PF(H_box[(0, PO_leaf(`op`, -))])); ((`type`, (Const_name(`OP`, [Patt_child(Var_name(`op`, []))])), -), [], PF(H_box[(0, PO_leaf(`op`, -))])); ((`type`, (Const_name(`OP`, [Patt_child(Var_name(`op`, [])); Patt_child(Var_child `type1`); Patt_child(Var_child `type2`)])), -), [], PF(H_box[(0, PO_format(PF_branch((-), (PF_empty), PF(H_box[(0, PO_constant `(`)])))); (0, PO_format(PF(HV_box[((1, (Abs 3), 0), PO_format(PF(H_box[(1, PO_subcall((`type1`, -), [(`prec`, -)])); (1, PO_leaf(`op`, -))]))); ((1, (Abs 3), 0), PO_subcall((`type2`, -), [(`prec`, -)]))]))); (0, PO_format(PF_branch((-), (PF_empty), PF(H_box[(0, PO_constant `)`)]))))])); ((`type`, (Const_name(`OP`, [Patt_child(Var_name(`op`, [])); Var_children `types`; Patt_child(Var_child `type`)])), -), [], PF(HV_box[((0, (Abs 3), 0), PO_format(PF(H_box[(0, PO_constant `(`); (0, PO_format(PF(HV_box[((0, (Inc 3), 0), PO_expand(H_box[(0, PO_subcall((`types`, -), [(`prec`, -)])); (0, PO_constant `,`)])); ((0, (Inc 3), 0), PO_subcall((`type`, -), [(`prec`, -)]))]))); (0, PO_constant `)`)]))); ((0, (Abs 3), 0), PO_leaf(`op`, -))])); ((`type`, (Const_name(`type`, [Patt_child(Var_child `type`)])), -), [], PF(H_box[(0, PO_constant `":`); (0, PO_subcall((`type`, -), [(`prec`, -)])); (0, PO_constant `"`)])); ((`term`, (Var_child `type`), -), [], PF(H_box[(0, PO_context_subcall(`type`, (`type`, -), [(`prec`, -)]))]))] : print_rule list hol_type_rules_fun = - : print_rule_function Calling Lisp compiler File PP_hol/hol_type_pp compiled () : void #echo 'set_flag(`abort_when_fail`,true);;'\ 'loadf `PP_printer/PP_printer`;;'\ 'loadf `PP_parser/PP_parser`;;'\ 'PP_to_ML false `PP_hol/hol_term` ``;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool ..................................................................................................................() : void #.................................................................................................................................................() : void #() : void echo 'set_flag(`abort_when_fail`,true);;'\ 'loadf `PP_printer/PP_printer`;;'\ 'loadf `PP_parser/PP_parser`;;'\ 'loadf `PP_hol/hol_trees`;;'\ 'loadf `PP_hol/precedence`;;'\ 'loadf `PP_hol/hol_type_pp`;;'\ 'compilet `PP_hol/hol_term_pp`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool ..................................................................................................................() : void #.................................................................................................................................................() : void #....() : void ......() : void ..() : void hol_term_rules = [((`term`, (Const_name(`CONST`, [Patt_child(Const_name(`NIL`, [])); Wild_children])), -), [], PF(H_box[(0, PO_constant `[]`)])); ((`term`, (Const_name(`VAR`, [Patt_child(Var_name(`var`, []))])), -), [], PF(H_box[(0, PO_leaf(`var`, -))])); ((`term`, (Const_name(`VAR`, [Patt_child(Var_name(`var`, [])); Patt_child(Const_name(`type`, [Patt_child(Var_child `type`)]))])), -), [], PF(H_box[(0, PO_format(PF_branch((-), (PF_empty), PF(H_box[(0, PO_constant `(`)])))); (0, PO_format(PF(HV_box[((0, (Abs 0), 0), PO_leaf(`var`, -)); ((0, (Abs 0), 0), PO_format(PF(H_box[(0, PO_constant `:`); (0, PO_subcall((`type`, -), []))])))]))); (0, PO_format(PF_branch((-), (PF_empty), PF(H_box[(0, PO_constant `)`)]))))])); ((`term`, (Const_name(`CONST`, [Patt_child(Var_name(`const`, []))])), -), [], PF(H_box[(0, PO_leaf(`const`, -))])); ((`term`, (Const_name(`CONST`, [Patt_child(Var_name(`const`, [])); Patt_child(Const_name(`type`, [Patt_child(Var_child `type`)]))])), -), [], PF(H_box[(0, PO_format(PF_branch((-), (PF_empty), PF(H_box[(0, PO_constant `(`)])))); (0, PO_format(PF(HV_box[((0, (Abs 0), 0), PO_leaf(`const`, -)); ((0, (Abs 0), 0), PO_format(PF(H_box[(0, PO_constant `:`); (0, PO_subcall((`type`, -), []))])))]))); (0, PO_format(PF_branch((-), (PF_empty), PF(H_box[(0, PO_constant `)`)]))))])); ((`term`, (Print_loop((Const_name(`COMB`, [Patt_child(Const_name(`COMB`, [Patt_child(Const_name(`CONST`, [Patt_child(Var_name(`op`, [])); Wild_children])); Patt_child(Var_child `comps`)])); Patt_child(Link_child(((Val 1), Default), [`op`]))])), Var_child `comp`)), -), [], PF(H_box[(0, PO_format(PF_branch((-), (PF_empty), PF(H_box[(0, PO_constant `(`)])))); (0, PO_format(PF(HV_box[((0, (Abs 0), 0), PO_expand(H_box[(0, PO_subcall((`comps`, -), [(`prec`, -)])); (0, PO_leaf(`op`, -))])); ((0, (Abs 0), 0), PO_subcall((`comp`, -), [(`prec`, -)]))]))); (0, PO_format(PF_branch((-), (PF_empty), PF(H_box[(0, PO_constant `)`)]))))])); ((`term`, (Print_loop((Const_name(`COMB`, [Patt_child(Const_name(`COMB`, [Patt_child(Const_name(`CONST`, [Patt_child(Var_name(`op`, [])); Wild_children])); Patt_child(Var_child `args`)])); Patt_child(Link_child(((Val 1), Default), [`op`]))])), Var_child `arg`)), -), [], PF(H_box[(0, PO_format(PF_branch((-), (PF_empty), PF(H_box[(0, PO_constant `(`)])))); (0, PO_format(PF(HoV_box[((1, (Abs 0), 0), PO_expand(HV_box[((1, (Abs 0), 0), PO_subcall((`args`, -), [(`prec`, -)])); ((1, (Abs 0), 0), PO_leaf(`op`, -))])); ((1, (Abs 0), 0), PO_subcall((`arg`, -), [(`prec`, -)]))]))); (0, PO_format(PF_branch((-), (PF_empty), PF(H_box[(0, PO_constant `)`)]))))])); ((`term`, (Const_name(`COMB`, [Patt_child(Const_name(`COMB`, [Patt_child(Const_name(`CONST`, [Patt_child(Var_name(`op`, [])); Wild_children])); Patt_child(Var_child `arg1`)])); Patt_child(Var_child `arg2`)])), -), [], PF(H_box[(0, PO_format(PF_branch((-), (PF_empty), PF(H_box[(0, PO_constant `(`)])))); (0, PO_format(PF(HV_box[((1, (Abs 3), 0), PO_format(PF(H_box[(1, PO_subcall((`arg1`, -), [(`prec`, -)])); (1, PO_leaf(`op`, -))]))); ((1, (Abs 3), 0), PO_subcall((`arg2`, -), [(`prec`, -)]))]))); (0, PO_format(PF_branch((-), (PF_empty), PF(H_box[(0, PO_constant `)`)]))))])); ((`term`, (Const_name(`COMB`, [Patt_child(Const_name(`CONST`, [Patt_child(Var_name(`op`, [])); Wild_children])); Patt_child(Var_child `arg`)])), -), [], PF(H_box[(0, PO_format(PF_branch((-), (PF_empty), PF(H_box[(0, PO_constant `(`)])))); (0, PO_leaf(`op`, -)); (0, PO_subcall((`arg`, -), [(`prec`, -)])); (0, PO_format(PF_branch((-), (PF_empty), PF(H_box[(0, PO_constant `)`)]))))])); ((`term`, (Print_loop((Const_name(`COMB`, [Patt_child(Const_name(`CONST`, [Patt_child(Var_name(`op`, [])); Wild_children])); Patt_child(Const_name(`ABS`, [Patt_child(Var_child `bvs`); Patt_child(Link_child(((Val 1), Default), [`op`]))]))])), Var_child `body`)), -), [], PF(H_box[(0, PO_format(PF_branch((-), (PF_empty), PF(H_box[(0, PO_constant `(`)])))); (0, PO_format(PF(HV_box[((1, (Abs 3), 0), PO_format(PF(H_box[(0, PO_leaf(`op`, -)); (0, PO_format(PF(HV_box[((1, (Abs 0), 0), PO_subcall((`bvs`, -), [(`prec`, -)]))]))); (0, PO_constant `.`)]))); ((1, (Abs 3), 0), PO_subcall((`body`, -), [(`prec`, -)]))]))); (0, PO_format(PF_branch((-), (PF_empty), PF(H_box[(0, PO_constant `)`)]))))])); ((`term`, (Print_loop((Const_name(`ABS`, [Patt_child(Var_child `bvs`); Patt_child(Link_child(((Val 1), Default), []))])), Var_child `body`)), -), [], PF(H_box[(0, PO_format(PF_branch((-), (PF_empty), PF(H_box[(0, PO_constant `(`)])))); (0, PO_format(PF(HV_box[((1, (Abs 3), 0), PO_format(PF(H_box[(0, PO_constant `\`); (0, PO_format(PF(HV_box[((1, (Abs 0), 0), PO_subcall((`bvs`, -), [(`prec`, -)]))]))); (0, PO_constant `.`)]))); ((1, (Abs 3), 0), PO_subcall((`body`, -), [(`prec`, -)]))]))); (0, PO_format(PF_branch((-), (PF_empty), PF(H_box[(0, PO_constant `)`)]))))])); ((`term`, (Const_name(`COMB`, [Patt_child(Const_name(`COMB`, [Patt_child(Const_name(`COMB`, [Patt_child(Const_name(`CONST`, [Patt_child(Const_name(`COND`, [])); Wild_children])); Patt_child(Var_child `cond`)])); Patt_child(Var_child `x`)])); Patt_child(Var_child `y`)])), -), [], PF(H_box[(0, PO_format(PF_branch((-), (PF_empty), PF(H_box[(0, PO_constant `(`)])))); (0, PO_format(PF(HoV_box[((1, (Abs 0), 0), PO_format(PF(HV_box[((1, (Abs 0), 0), PO_subcall((`cond`, -), [(`prec`, -)])); ((1, (Abs 0), 0), PO_constant `=>`)]))); ((1, (Abs 0), 0), PO_format(PF(HV_box[((1, (Abs 0), 0), PO_subcall((`x`, -), [(`prec`, -)])); ((1, (Abs 0), 0), PO_constant `|`)]))); ((1, (Abs 0), 0), PO_subcall((`y`, -), [(`prec`, -)]))]))); (0, PO_format(PF_branch((-), (PF_empty), PF(H_box[(0, PO_constant `)`)]))))])); ((`term_let`, (Print_loop((Const_name(`ABS`, [Patt_child(Var_child `args`); Patt_child(Link_child(((Default), Default), []))])), Wild_child)), -), [], PF(H_box[(1, PO_context_subcall(`term`, (`args`, -), []))])); ((`term`, (Print_loop((Const_name(`COMB`, [Patt_child(Const_name(`COMB`, [Patt_child(Const_name(`CONST`, [Patt_child(Const_name(`LET`, [])); Wild_children])); Patt_child(Print_link((((Default), Default), []), Const_name(`COMB`, [Patt_child(Const_name(`COMB`, [Patt_child(Const_name(`CONST`, [Patt_child(Const_name(`LET`, [])); Wild_children])); Patt_child (Wild_child)])); Patt_child (Wild_child)])))])); Patt_child(Print_label(`argsl`, Print_loop((Const_name(`ABS`, [Patt_child (Wild_child); Patt_child(Link_child(((Default), Default), []))])), Var_child `letbodyl`)))])), Const_name(`COMB`, [Patt_child(Const_name(`COMB`, [Patt_child(Const_name(`CONST`, [Patt_child(Const_name(`LET`, [])); Wild_children])); Patt_child(Const_name(`ABS`, [Patt_child(Var_child `bv`); Patt_child(Print_loop((Const_name(`ABS`, [Patt_child(Var_child `bvl`); Patt_child(Link_child(((Default), Default), []))])), Var_child `body`))]))])); Patt_child(Print_label(`args`, Print_loop((Const_name(`ABS`, [Patt_child (Wild_child); Patt_child(Link_child(((Default), Default), []))])), Var_child `letbody`)))]))), -), [(`argsl`, -); (`letbodyl`, -)], PF(H_box[(0, PO_format(PF_branch((-), (PF_empty), PF(H_box[(0, PO_constant `(`)])))); (0, PO_format(PF(HoV_box[((1, (Abs 0), 0), PO_format(PF(HV_box[((1, (Abs 3), 0), PO_format(PF(H_box[(1, PO_constant `let`); (1, PO_subcall((`bv`, -), [(`prec`, -)])); (1, PO_context_subcall(`term_let`, (`args`, -), [(`prec`, -)])); (1, PO_constant `=`)]))); ((1, (Abs 3), 0), PO_subcall((`letbody`, -), [(`prec`, -)]))]))); ((1, (Abs 0), 0), PO_expand(HV_box[((1, (Abs 3), 0), PO_expand(H_box[(1, PO_constant `and`); (1, PO_subcall((`bvl`, -), [(`prec`, -)])); (1, PO_context_subcall(`term_let`, (`argsl`, -), [(`prec`, -)])); (1, PO_constant `=`)])); ((1, (Abs 3), 0), PO_subcall((`letbodyl`, -), [(`prec`, -)]))])); ((1, (Abs 0), 0), PO_format(PF(H_box[(1, PO_constant `in`); (1, PO_subcall((`body`, -), [(`prec`, -)]))])))]))); (0, PO_format(PF_branch((-), (PF_empty), PF(H_box[(0, PO_constant `)`)]))))])); ((`term`, (Print_loop((Const_name(`COMB`, [Patt_child(Const_name(`COMB`, [Patt_child(Const_name(`CONST`, [Patt_child(Const_name(`CONS`, [])); Wild_children])); Patt_child(Var_child `elems`)])); Patt_child(Print_link((((Default), Default), []), Const_name(`COMB`, [Wild_children])))])), Const_name(`COMB`, [Patt_child(Const_name(`COMB`, [Patt_child(Const_name(`CONST`, [Patt_child(Const_name(`CONS`, [])); Wild_children])); Patt_child(Var_child `elem`)])); Patt_child(Const_name(`CONST`, [Patt_child(Const_name(`NIL`, [])); Wild_children]))]))), -), [], PF(H_box[(0, PO_constant `[`); (0, PO_format(PF(HoV_box[((0, (Abs 0), 0), PO_expand(H_box[(0, PO_subcall((`elems`, -), [(`prec`, -)])); (0, PO_constant `;`)])); ((0, (Abs 0), 0), PO_subcall((`elem`, -), [(`prec`, -)]))]))); (0, PO_constant `]`)])); ((`term`, (Print_loop((Const_name(`COMB`, [Patt_child(Link_child(((Val 1), Default), [])); Patt_child(Var_child `rands`)])), Var_child `rator`)), -), [], PF(H_box[(0, PO_format(PF_branch((-), (PF_empty), PF(H_box[(0, PO_constant `(`)])))); (0, PO_format(PF(HV_box[((1, (Abs 3), 0), PO_subcall((`rator`, -), [(`prec`, -)])); ((1, (Abs 3), 0), PO_subcall((`rands`, -), [(`prec`, -)]))]))); (0, PO_format(PF_branch((-), (PF_empty), PF(H_box[(0, PO_constant `)`)]))))])); ((`term`, (Const_name(`term`, [Patt_child(Var_child `term`)])), -), [], PF(H_box[(0, PO_constant `"`); (0, PO_subcall((`term`, -), [(`prec`, -)])); (0, PO_constant `"`)])); ((`thm`, (Var_child `term`), -), [], PF(H_box[(0, PO_context_subcall(`term`, (`term`, -), [(`prec`, -)]))]))] : print_rule list hol_term_rules_fun = - : print_rule_function Calling Lisp compiler File PP_hol/hol_term_pp compiled () : void #echo 'set_flag(`abort_when_fail`,true);;'\ 'loadf `PP_printer/PP_printer`;;'\ 'loadf `PP_parser/PP_parser`;;'\ 'PP_to_ML false `PP_hol/hol_thm` ``;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool ..................................................................................................................() : void #.................................................................................................................................................() : void #() : void echo 'set_flag(`abort_when_fail`,true);;'\ 'loadf `PP_printer/PP_printer`;;'\ 'loadf `PP_parser/PP_parser`;;'\ 'loadf `PP_hol/hol_trees`;;'\ 'loadf `PP_hol/precedence`;;'\ 'loadf `PP_hol/hol_type_pp`;;'\ 'loadf `PP_hol/hol_term_pp`;;'\ 'compilet `PP_hol/hol_thm_pp`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool ..................................................................................................................() : void #.................................................................................................................................................() : void #....() : void ......() : void ..() : void ..() : void hol_thm_rules = [((`thm`, (Const_name(`dot`, [])), -), [], PF(H_box[(0, PO_constant `.`)])); ((`thm`, (Const_name(`term`, [Patt_child(Var_child `term`)])), -), [], PF(H_box[(0, PO_subcall((`term`, -), []))])); ((`thm`, (Const_name(`thm`, [Patt_child(Var_child `concl`); Patt_child(Const_name(`dots`, [Var_children `dots`]))])), -), [], PF(H_box[(1, PO_format(PF(H_box[(0, PO_subcall((`dots`, -), []))]))); (1, PO_constant `|-`); (1, PO_subcall((`concl`, -), []))])); ((`thm`, (Const_name(`thm`, [Patt_child(Var_child `concl`); Patt_child(Const_name(`hyp`, [Var_children `hyps`; Patt_child(Var_child `hyp`)]))])), -), [], PF(HoV_box[((1, (Abs 0), 0), PO_expand(H_box[(0, PO_subcall((`hyps`, -), [])); (0, PO_constant `,`)])); ((1, (Abs 0), 0), PO_subcall((`hyp`, -), [])); ((1, (Abs 0), 0), PO_format(PF(H_box[(1, PO_constant `|-`); (1, PO_subcall((`concl`, -), []))])))])); ((`thm`, (Const_name(`thm`, [Patt_child(Var_child `concl`); Patt_child(Const_name(`hyp`, []))])), -), [], PF(H_box[(1, PO_constant `|-`); (1, PO_subcall((`concl`, -), []))]))] : print_rule list hol_thm_rules_fun = - : print_rule_function Calling Lisp compiler File PP_hol/hol_thm_pp compiled () : void #echo 'set_flag(`abort_when_fail`,true);;'\ 'loadf `PP_printer/PP_printer`;;'\ 'loadf `PP_parser/PP_parser`;;'\ 'loadf `PP_hol/hol_trees`;;'\ 'loadf `PP_hol/precedence`;;'\ 'loadf `PP_hol/hol_type_pp`;;'\ 'loadf `PP_hol/hol_term_pp`;;'\ 'loadf `PP_hol/hol_thm_pp`;;'\ 'compilet `PP_hol/new_printers`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool ..................................................................................................................() : void #.................................................................................................................................................() : void #....() : void ......() : void ..() : void ..() : void ..() : void hol_rules_fun = - : print_rule_function pp_convert_type = - : (type -> print_tree) pp_convert_term = - : (term -> print_tree) pp_convert_thm = - : (thm -> print_tree) pp_convert_all_thm = - : (thm -> print_tree) pp_print_type = - : (type -> void) pp_print_term = - : (term -> void) pp_print_thm = - : (thm -> void) pp_print_all_thm = - : (thm -> void) pp_print_theory = - : (string -> void) Calling Lisp compiler File PP_hol/new_printers compiled () : void #echo 'set_flag(`abort_when_fail`,true);;'\ 'loadf `PP_printer/PP_printer`;;'\ 'loadf `PP_parser/PP_parser`;;'\ 'loadf `PP_hol/hol_trees`;;'\ 'loadf `PP_hol/precedence`;;'\ 'loadf `PP_hol/hol_type_pp`;;'\ 'loadf `PP_hol/hol_term_pp`;;'\ 'loadf `PP_hol/hol_thm_pp`;;'\ 'loadf `PP_hol/new_printers`;;'\ 'compilet `PP_hol/link_to_hol`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool ..................................................................................................................() : void #.................................................................................................................................................() : void #....() : void ......() : void ..() : void ..() : void ..() : void ..........() : void - : (type -> void) - : (term -> void) - : (thm -> void) - : (term -> void) Calling Lisp compiler File PP_hol/link_to_hol compiled () : void #===> library prettyp rebuilt make[4]: Leaving directory '/<>/Library/prettyp' make[4]: Entering directory '/<>/Library/trs' echo 'set_flag(`abort_when_fail`,true);;'\ 'compilet `extents`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool Calling Lisp compiler File extents compiled () : void #echo 'set_flag(`abort_when_fail`,true);;'\ 'loadf `extents`;;'\ 'compilet `sets`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool () : void no_rep = - : (* list -> bool) remove_rep = - : (* list -> * list) is_subset = - : (* list -> * list -> bool) Calling Lisp compiler File sets compiled () : void #echo 'set_flag(`abort_when_fail`,true);;'\ 'loadf `extents`;;'\ 'loadf `sets`;;'\ 'compilet `extract`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool () : void ...() : void get_ids = - : (term -> (term list # term list # term list)) get_consts = - : (term -> term list) get_freevars = - : (term -> term list) get_boundvars = - : (term -> term list) get_types = - : (term -> type list) is_primtype = - : (type -> bool) subtypes = - : (type -> type list) prim_subtypes = - : (type -> type list) get_primtypes = - : (term -> type list) get_primvartypes = - : (term -> type list) Calling Lisp compiler File extract compiled () : void #echo 'set_flag(`abort_when_fail`,true);;'\ 'loadf `extents`;;'\ 'loadf `sets`;;'\ 'loadf `extract`;;'\ 'compilet `struct`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool () : void ...() : void ..........() : void merge = - : ((* # **) list -> (* # **) list -> (* # **) list) join = - : (((term # term) list # (type # type) list) -> ((term # term) list # (type # type) list) -> ((term # term) list # (type # type) list)) remove_bv = - : (term -> ((term # term) list # (type # type) list) -> ((term # term) list # (type # type) list)) match_type = - : (type -> type -> (type # type) list) match_term = - : (term -> term -> ((term # term) list # (type # type) list)) match_internal_term = - : (term -> term -> ((term # term) list # (type # type) list)) show_wildvar = - : (wildvar -> term) make_wildvar = - : (term -> wildvar) wildvarlist = - : (term list -> wildvar list) show_wildtype = - : (wildtype -> type) make_wildtype = - : (type -> wildtype) wildtypelist = - : (type list -> wildtype list) show_termpattern = - : (termpattern -> (term # wildvar list # wildtype list)) make_termpattern = - : ((term # wildvar list # wildtype list) -> termpattern) show_full_termpattern = - : (termpattern -> (term # term list # type list)) make_full_termpattern = - : ((term # term list # type list) -> termpattern) autotermpattern = - : (term -> termpattern) show_matching = - : (matching -> ((wildvar # term) list # (wildtype # type) list)) null_matching = - : matching make_matching = - : (termpattern -> term -> matching) join_matchings = - : (matching -> matching -> matching) show_full_matching = - : (matching -> ((term # term) list # (type # type) list)) match_of_var = - : (matching -> wildvar -> term) match_of_type = - : (matching -> wildtype -> type) New constructors declared: Nomatch : result_of_match Match : ((matching # (void -> result_of_match)) -> result_of_match) Match_null = Match((-), -) : result_of_match approms = - : ((void -> result_of_match) -> (void -> result_of_match) -> void -> result_of_match) bool_to_rom = - : (bool -> result_of_match) rom_to_bool = - : (result_of_match -> bool) type side_condition defined Calling Lisp compiler File struct compiled () : void #echo 'set_flag(`abort_when_fail`,true);;'\ 'loadf `extents`;;'\ 'loadf `sets`;;'\ 'loadf `extract`;;'\ 'loadf `struct`;;'\ 'compilet `name`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool () : void ...() : void ..........() : void ........................() : void show_wildchar = - : (wildchar -> string) make_wildchar = - : (string -> wildchar) show_namepattern = - : (namepattern -> (string # wildchar # wildchar)) make_namepattern = - : ((string # wildchar # wildchar) -> namepattern) show_full_namepattern = - : (namepattern -> (string # string # string)) make_full_namepattern = - : ((string # string # string) -> namepattern) wildchar1 = `?` : string wildcharn = `*` : string autonamepattern = - : (string -> namepattern) namematch = - : (namepattern -> string -> bool) Calling Lisp compiler File name compiled () : void #echo 'set_flag(`abort_when_fail`,true);;'\ 'loadf `extents`;;'\ 'loadf `sets`;;'\ 'loadf `extract`;;'\ 'loadf `struct`;;'\ 'loadf `name`;;'\ 'compilet `thmkind`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool () : void ...() : void ..........() : void ........................() : void .......() : void New constructors declared: Axiom : thmkind Definition : thmkind Theorem : thmkind Calling Lisp compiler File thmkind compiled () : void #echo 'set_flag(`abort_when_fail`,true);;'\ 'loadf `extents`;;'\ 'loadf `sets`;;'\ 'loadf `extract`;;'\ 'loadf `struct`;;'\ 'loadf `name`;;'\ 'loadf `thmkind`;;'\ 'compilet `matching`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool () : void ...() : void ..........() : void ........................() : void .......() : void .() : void type foundthm defined New constructors declared: Kind' : (thmkind -> thmpattern_rep) Thryname' : (namepattern -> thmpattern_rep) Thmname' : (namepattern -> thmpattern_rep) Conc' : (termpattern -> thmpattern_rep) HypP' : (termpattern list -> thmpattern_rep) HypF' : (termpattern list -> thmpattern_rep) Side' : (side_condition -> thmpattern_rep) Andalso' : ((thmpattern_rep # thmpattern_rep) -> thmpattern_rep) Orelse' : ((thmpattern_rep # thmpattern_rep) -> thmpattern_rep) Not' : (thmpattern_rep -> thmpattern_rep) Where' : ((thmpattern_rep # thmpattern_rep) -> thmpattern_rep) show_thmpattern = - : (thmpattern -> thmpattern_rep) Kind = - : (thmkind -> thmpattern) Thryname = - : (namepattern -> thmpattern) Thmname = - : (namepattern -> thmpattern) Conc = - : (termpattern -> thmpattern) HypP = - : (termpattern list -> thmpattern) HypF = - : (termpattern list -> thmpattern) Side = - : (side_condition -> thmpattern) Andalso = - : ((thmpattern # thmpattern) -> thmpattern) Orelse = - : ((thmpattern # thmpattern) -> thmpattern) Not = - : (thmpattern -> thmpattern) Where = - : ((thmpattern # thmpattern) -> thmpattern) thmmatch = - : (thmpattern -> foundthm -> bool) () : void () : void () : void thmfilter = - : (thmpattern -> foundthm list -> foundthm list) Calling Lisp compiler File matching compiled () : void #echo 'set_flag(`abort_when_fail`,true);;'\ 'loadf `extents`;;'\ 'loadf `sets`;;'\ 'loadf `extract`;;'\ 'loadf `struct`;;'\ 'loadf `name`;;'\ 'loadf `thmkind`;;'\ 'loadf `matching`;;'\ 'compilet `sidecond`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool () : void ...() : void ..........() : void ........................() : void .......() : void .() : void .......() : void containsfn = - : (termpattern -> term -> void -> result_of_match) () : void Contains = - : (wildvar -> termpattern -> thmpattern) () : void contains = - : (term -> term -> thmpattern) () : void Matches = - : (wildvar -> termpattern -> thmpattern) () : void matches = - : (term -> term -> thmpattern) dest_binder = - : (term -> (term # term)) strip_binders = - : (term -> term) () : void Has_body = - : (wildvar -> termpattern -> thmpattern) () : void has_body = - : (term -> term -> thmpattern) Test1term = - : ((term -> bool) -> wildvar -> thmpattern) test1term = - : ((term -> bool) -> term -> thmpattern) Test1type = - : ((type -> bool) -> wildtype -> thmpattern) test1type = - : ((type -> bool) -> type -> thmpattern) Test2terms = - : ((term -> term -> bool) -> wildvar -> wildvar -> thmpattern) test2terms = - : ((term -> term -> bool) -> term -> term -> thmpattern) Test2types = - : ((type -> type -> bool) -> wildtype -> wildtype -> thmpattern) test2types = - : ((type -> type -> bool) -> type -> type -> thmpattern) Calling Lisp compiler File sidecond compiled () : void #echo 'set_flag(`abort_when_fail`,true);;'\ 'loadf `extents`;;'\ 'loadf `sets`;;'\ 'loadf `extract`;;'\ 'loadf `struct`;;'\ 'loadf `name`;;'\ 'loadf `thmkind`;;'\ 'loadf `matching`;;'\ 'loadf `sidecond`;;'\ 'compilet `search`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool () : void ...() : void ..........() : void ........................() : void .......() : void .() : void .......() : void .......................() : void get_theorems = - : (string -> foundthm list) New constructors declared: Theory : (string -> searchpath) Ancestors : ((string list # string list) -> searchpath) New constructors declared: List : (foundthm list -> source) Paths : (searchpath list -> source) do_once_only = - : (* list -> * list) searchseq = - : (string list -> string list -> string list) flatten_paths = - : (searchpath list -> string list) New constructors declared: Endofsearch : (foundthm list -> searchstep) Step : ((foundthm list # (void -> searchstep)) -> searchstep) find_theorems = - : (thmpattern -> source -> searchstep) show_step = - : (searchstep -> foundthm list) continue_search = - : (searchstep -> searchstep) Calling Lisp compiler File search compiled () : void #echo 'set_flag(`abort_when_fail`,true);;'\ 'loadf `extents`;;'\ 'loadf `sets`;;'\ 'loadf `extract`;;'\ 'loadf `struct`;;'\ 'loadf `name`;;'\ 'loadf `thmkind`;;'\ 'loadf `matching`;;'\ 'loadf `sidecond`;;'\ 'loadf `search`;;'\ 'compilet `user`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool () : void ...() : void ..........() : void ........................() : void .......() : void .() : void .......() : void .......................() : void ..........() : void FT = - : (thmpattern -> source -> searchstep) CS = - : (searchstep -> searchstep) run_search = - : (searchstep -> foundthm list) full_search = - : (thmpattern -> source -> foundthm list) search_until_find = - : (searchstep -> searchstep) search_n_theories = - : (int -> searchstep -> searchstep) search_n_until_find = - : (int -> searchstep -> searchstep) ancestors_excluding = - : (string list -> string list -> searchpath) Ancestry = - : (string list -> searchpath) List_from = - : (searchstep -> source) kind = - : (thmkind -> thmpattern) thryname = - : (string -> thmpattern) thmname = - : (string -> thmpattern) conc = - : (term -> thmpattern) hypP = - : (term list -> thmpattern) hypF = - : (term list -> thmpattern) side = - : (side_condition -> thmpattern) BigAnd = - : (thmpattern list -> thmpattern) BigOr = - : (thmpattern list -> thmpattern) Calling Lisp compiler File user compiled () : void #===> library trs rebuilt make[4]: Leaving directory '/<>/Library/trs' make[4]: Entering directory '/<>/Library/latex-hol' echo 'set_flag(`abort_when_fail`,true);;'\ 'compilet `filters`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool spec_list = [(`_`, `\US `); (`#`, `\SH `); (`&`, `\AM `); (`%`, `\PC `); (`$`, `\DO `); (`\`, `\BS `); (`'`, `\PR `); (`~`, `\TI `); (`*`, `\AS `); (`<`, `\LES `); (`|`, `\BA `); (`>`, `\GRE `); (`[`, `\LB `); (`]`, `\RB `); (`^`, `\CI `); (`{`, `\LC `); (`}`, `\RC `)] : (string # string) list do_char = - : (string -> string) filter_id = - : (string -> string) dovar = - : (string -> string) symb_of = - : (string -> string) doinfix = - : (string -> string) Calling Lisp compiler File filters compiled () : void #echo 'set_flag(`abort_when_fail`,true);;'\ 'loadf(library_pathname() ^ `/prettyp/PP_printer`);;'\ 'loadf(library_pathname() ^ `/prettyp/PP_parser`);;'\ 'compilet `hol_trees`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool Updating help search path ....................................................................................................................() : void #Updating help search path ...................................................................................................................................................() : void # New constructors declared: No_types : type_selection Hidden_types : type_selection Useful_types : type_selection All_types : type_selection type_to_print_tree = - : (type -> print_tree) term_to_print_tree = - : (bool -> type_selection -> term -> print_tree) thm_to_print_tree = - : (bool -> bool -> type_selection -> thm -> print_tree) Calling Lisp compiler File hol_trees compiled () : void #echo 'set_flag(`abort_when_fail`,true);;'\ 'loadf(library_pathname() ^ `/prettyp/PP_printer`);;'\ 'loadf(library_pathname() ^ `/prettyp/PP_parser`);;'\ 'loadf `hol_trees`;;'\ 'compilet `precedence`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool Updating help search path ....................................................................................................................() : void #Updating help search path ...................................................................................................................................................() : void #....() : void is_res_quan = - : (string -> bool) type_prec = - : (string -> int) min_type_prec = 0 : int max_type_prec = 400 : int term_prec = - : (string -> int) min_term_prec = 0 : int max_term_prec = 1800 : int Calling Lisp compiler File precedence compiled () : void #echo 'set_flag(`abort_when_fail`,true);;'\ 'loadf(library_pathname() ^ `/prettyp/PP_printer`);;'\ 'loadf(library_pathname() ^ `/prettyp/PP_parser`);;'\ 'PP_to_ML false `latex_type` ``;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool Updating help search path ....................................................................................................................() : void #Updating help search path ...................................................................................................................................................() : void #() : void echo 'set_flag(`abort_when_fail`,true);;'\ 'loadf(library_pathname() ^ `/prettyp/PP_printer`);;'\ 'loadf(library_pathname() ^ `/prettyp/PP_parser`);;'\ 'loadf `filters`;;'\ 'loadf `hol_trees`;;'\ 'loadf `precedence`;;'\ 'compilet `latex_type_pp`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool Updating help search path ....................................................................................................................() : void #Updating help search path ...................................................................................................................................................() : void #......() : void ....() : void .......() : void latex_type_rules = [((`type`, (Const_name(`VAR`, [Patt_child(Var_name(`op`, []))])), -), [], PF(H_box[(0, PO_leaf(`op`, -))])); ((`type`, (Const_name(`OP`, [Patt_child(Var_name(`op`, []))])), -), [], PF(H_box[(0, PO_leaf(`op`, -))])); ((`type`, (Const_name(`OP`, [Patt_child(Var_name(`op`, [])); Patt_child(Var_child `type1`); Patt_child(Var_child `type2`)])), -), [], PF(H_box[(0, PO_format(PF_branch((-), (PF_empty), PF(H_box[(0, PO_constant `(`)])))); (0, PO_format(PF(HV_box[((1, (Abs 3), 0), PO_format(PF(H_box[(1, PO_subcall((`type1`, -), [(`prec`, -)])); (1, PO_leaf(`op`, -))]))); ((1, (Abs 3), 0), PO_subcall((`type2`, -), [(`prec`, -)]))]))); (0, PO_format(PF_branch((-), (PF_empty), PF(H_box[(0, PO_constant `)`)]))))])); ((`type`, (Const_name(`OP`, [Patt_child(Var_name(`op`, [])); Var_children `types`; Patt_child(Var_child `type`)])), -), [], PF(HV_box[((0, (Abs 3), 0), PO_format(PF(H_box[(0, PO_constant `(`); (0, PO_format(PF(HV_box[((0, (Inc 3), 0), PO_expand(H_box[(0, PO_subcall((`types`, -), [(`prec`, -)])); (0, PO_constant `,`)])); ((0, (Inc 3), 0), PO_subcall((`type`, -), [(`prec`, -)]))]))); (0, PO_constant `)`)]))); ((0, (Abs 3), 0), PO_leaf(`op`, -))])); ((`type`, (Const_name(`type`, [Patt_child(Var_child `type`)])), -), [], PF(H_box[(0, PO_constant `":`); (0, PO_subcall((`type`, -), [(`prec`, -)])); (0, PO_constant `"`)])); ((`term`, (Var_child `type`), -), [], PF(H_box[(0, PO_context_subcall(`type`, (`type`, -), [(`prec`, -)]))]))] : print_rule list latex_type_rules_fun = - : print_rule_function Calling Lisp compiler File latex_type_pp compiled () : void #echo 'set_flag(`abort_when_fail`,true);;'\ 'loadf(library_pathname() ^ `/prettyp/PP_printer`);;'\ 'loadf(library_pathname() ^ `/prettyp/PP_parser`);;'\ 'PP_to_ML false `latex_thm` ``;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool Updating help search path ....................................................................................................................() : void #Updating help search path ...................................................................................................................................................() : void #() : void echo 'set_flag(`abort_when_fail`,true);;'\ 'loadf(library_pathname() ^ `/prettyp/PP_printer`);;'\ 'loadf(library_pathname() ^ `/prettyp/PP_parser`);;'\ 'PP_to_ML false `latex_term` ``;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool Updating help search path ....................................................................................................................() : void #Updating help search path ...................................................................................................................................................() : void #() : void echo 'set_flag(`abort_when_fail`,true);;'\ 'loadf(library_pathname() ^ `/prettyp/PP_printer`);;'\ 'loadf(library_pathname() ^ `/prettyp/PP_parser`);;'\ 'loadf `filters`;;'\ 'loadf `hol_trees`;;'\ 'loadf `precedence`;;'\ 'loadf `latex_type_pp`;;'\ 'compilet `latex_term_pp`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool Updating help search path ....................................................................................................................() : void #Updating help search path ...................................................................................................................................................() : void #......() : void ....() : void .......() : void ..() : void latex_term_rules = [((`term`, (Const_name(`CONST`, [Patt_child(Const_name(`NIL`, [])); Wild_children])), -), [], PF(H_box[(0, PO_constant `\NIL `)])); ((`term`, (Const_name(`VAR`, [Patt_child(Var_name(`var`, []))])), -), [], PF(H_box[(0, PO_leaf(`var`, -))])); ((`term`, (Const_name(`VAR`, [Patt_child(Var_name(`var`, [])); Patt_child(Const_name(`type`, [Patt_child(Var_child `type`)]))])), -), [], PF(H_box[(0, PO_format(PF_branch((-), (PF_empty), PF(H_box[(0, PO_constant `(`)])))); (0, PO_format(PF(HV_box[((0, (Abs 0), 0), PO_leaf(`var`, -)); ((0, (Abs 0), 0), PO_format(PF(H_box[(0, PO_constant `:`); (0, PO_subcall((`type`, -), []))])))]))); (0, PO_format(PF_branch((-), (PF_empty), PF(H_box[(0, PO_constant `)`)]))))])); ((`term`, (Const_name(`CONST`, [Patt_child(Var_name(`const`, []))])), -), [], PF(H_box[(0, PO_leaf(`const`, -))])); ((`term`, (Const_name(`CONST`, [Patt_child(Var_name(`const`, [])); Patt_child(Const_name(`type`, [Patt_child(Var_child `type`)]))])), -), [], PF(H_box[(0, PO_format(PF_branch((-), (PF_empty), PF(H_box[(0, PO_constant `(`)])))); (0, PO_format(PF(HV_box[((0, (Abs 0), 0), PO_leaf(`const`, -)); ((0, (Abs 0), 0), PO_format(PF(H_box[(0, PO_constant `:`); (0, PO_subcall((`type`, -), []))])))]))); (0, PO_format(PF_branch((-), (PF_empty), PF(H_box[(0, PO_constant `)`)]))))])); ((`term`, (Print_loop((Const_name(`COMB`, [Patt_child(Const_name(`COMB`, [Patt_child(Const_name(`CONST`, [Patt_child(Var_name(`op`, [])); Wild_children])); Patt_child(Var_child `comps`)])); Patt_child(Link_child(((Val 1), Default), [`op`]))])), Var_child `comp`)), -), [], PF(H_box[(0, PO_format(PF_branch((-), (PF_empty), PF(H_box[(0, PO_constant `(`)])))); (0, PO_format(PF(HV_box[((0, (Abs 0), 0), PO_expand(H_box[(0, PO_subcall((`comps`, -), [(`prec`, -)])); (0, PO_leaf(`op`, -))])); ((0, (Abs 0), 0), PO_subcall((`comp`, -), [(`prec`, -)]))]))); (0, PO_format(PF_branch((-), (PF_empty), PF(H_box[(0, PO_constant `)`)]))))])); ((`term`, (Print_loop((Const_name(`COMB`, [Patt_child(Const_name(`COMB`, [Patt_child(Const_name(`CONST`, [Patt_child(Var_name(`op`, [])); Wild_children])); Patt_child(Var_child `args`)])); Patt_child(Link_child(((Val 1), Default), [`op`]))])), Var_child `arg`)), -), [], PF(H_box[(0, PO_format(PF_branch((-), (PF_empty), PF(H_box[(0, PO_constant `(`)])))); (0, PO_format(PF(HoV_box[((1, (Abs 0), 0), PO_constant `(`); ((1, (Abs 0), 0), PO_expand(HV_box[((1, (Abs 0), 0), PO_subcall((`args`, -), [(`prec`, -)])); ((1, (Abs 0), 0), PO_constant `)\:\CONST{EXP}\:(`)])); ((1, (Abs 0), 0), PO_subcall((`arg`, -), [(`prec`, -)])); ((1, (Abs 0), 0), PO_constant `)`)]))); (0, PO_format(PF_branch((-), (PF_empty), PF(H_box[(0, PO_constant `)`)]))))])); ((`term`, (Print_loop((Const_name(`COMB`, [Patt_child(Const_name(`COMB`, [Patt_child(Const_name(`CONST`, [Patt_child(Var_name(`op`, [])); Wild_children])); Patt_child(Var_child `args`)])); Patt_child(Link_child(((Val 1), Default), [`op`]))])), Var_child `arg`)), -), [], PF(H_box[(0, PO_format(PF_branch((-), (PF_empty), PF(H_box[(0, PO_constant `(`)])))); (0, PO_format(PF(HoV_box[((1, (Abs 0), 0), PO_expand(HV_box[((1, (Abs 0), 0), PO_subcall((`args`, -), [(`prec`, -)])); ((1, (Abs 0), 0), PO_leaf(`op`, -))])); ((1, (Abs 0), 0), PO_subcall((`arg`, -), [(`prec`, -)]))]))); (0, PO_format(PF_branch((-), (PF_empty), PF(H_box[(0, PO_constant `)`)]))))])); ((`term`, (Const_name(`COMB`, [Patt_child(Const_name(`COMB`, [Patt_child(Const_name(`CONST`, [Patt_child(Var_name(`op`, [])); Wild_children])); Patt_child(Var_child `arg1`)])); Patt_child(Var_child `arg2`)])), -), [], PF(H_box[(0, PO_format(PF_branch((-), (PF_empty), PF(H_box[(0, PO_constant `(`)])))); (0, PO_format(PF(HV_box[((1, (Abs 3), 0), PO_format(PF(H_box[(1, PO_subcall((`arg1`, -), [(`prec`, -)])); (1, PO_leaf(`op`, -))]))); ((1, (Abs 3), 0), PO_subcall((`arg2`, -), [(`prec`, -)]))]))); (0, PO_format(PF_branch((-), (PF_empty), PF(H_box[(0, PO_constant `)`)]))))])); ((`term`, (Const_name(`COMB`, [Patt_child(Const_name(`CONST`, [Patt_child(Var_name(`op`, [])); Wild_children])); Patt_child(Var_child `arg`)])), -), [], PF(H_box[(0, PO_format(PF_branch((-), (PF_empty), PF(H_box[(0, PO_constant `(`)])))); (0, PO_leaf(`op`, -)); (0, PO_subcall((`arg`, -), [(`prec`, -)])); (0, PO_format(PF_branch((-), (PF_empty), PF(H_box[(0, PO_constant `)`)]))))])); ((`term`, (Print_loop((Const_name(`COMB`, [Patt_child(Const_name(`COMB`, [Patt_child(Const_name(`CONST`, [Patt_child(Var_name(`op`, [])); Wild_children])); Patt_child(Var_child `pred`)])); Patt_child(Const_name(`ABS`, [Patt_child(Var_child `bvs`); Patt_child(Link_child(((Val 1), Default), [`op`; `pred`]))]))])), Var_child `body`)), -), [(`bv`, -); (`bvs`, -)], PF(H_box[(0, PO_format(PF_branch((-), (PF(H_box[(0, PO_constant `(`)])), PF_empty))); (0, PO_format(PF(HV_box[((1, (Abs 3), 0), PO_format(PF(H_box[(0, PO_leaf(`op`, -)); (0, PO_format(PF(H_box[(1, PO_subcall((`bv`, -), [])); (1, PO_format(PF_branch((-), (PF_empty), PF(H_box[(1, PO_expand(H_box[(0, PO_constant `\,`); (0, PO_subcall((`bvs`, -), [(`prec`, -)]))]))]))))]))); (0, PO_constant `\RESDOT `); (0, PO_format(PF(H_box[(1, PO_subcall((`pred`, -), [(`prec`, -)]))]))); (0, PO_constant `\DOT`)]))); ((1, (Abs 3), 0), PO_subcall((`body`, -), [(`prec`, -)]))]))); (0, PO_format(PF_branch((-), (PF(H_box[(0, PO_constant `)`)])), PF_empty)))])); ((`term`, (Print_loop((Const_name(`COMB`, [Patt_child(Const_name(`CONST`, [Patt_child(Var_name(`op`, [])); Wild_children])); Patt_child(Const_name(`ABS`, [Patt_child(Var_child `bvs`); Patt_child(Link_child(((Val 1), Default), [`op`]))]))])), Var_child `body`)), -), [(`bv`, -); (`bvs`, -)], PF(H_box[(0, PO_format(PF_branch((-), (PF(H_box[(0, PO_constant `(`)])), PF_empty))); (0, PO_format(PF(HV_box[((1, (Abs 3), 0), PO_format(PF(H_box[(0, PO_leaf(`op`, -)); (0, PO_format(PF(H_box[(1, PO_subcall((`bv`, -), [])); (1, PO_format(PF_branch((-), (PF_empty), PF(H_box[(1, PO_expand(H_box[(0, PO_constant `\,`); (0, PO_subcall((`bvs`, -), [(`prec`, -)]))]))]))))]))); (0, PO_constant `\DOT`)]))); ((1, (Abs 3), 0), PO_subcall((`body`, -), [(`prec`, -)]))]))); (0, PO_format(PF_branch((-), (PF(H_box[(0, PO_constant `)`)])), PF_empty)))])); ((`term`, (Print_loop((Const_name(`ABS`, [Patt_child(Var_child `bvs`); Patt_child(Print_link((((Default), Default), []), Const_name(`ABS`, [Wild_children])))])), Const_name(`ABS`, [Patt_child(Var_child `bv`); Patt_child(Var_child `body`)]))), -), [], PF(H_box[(0, PO_format(PF_branch((-), (PF_empty), PF(H_box[(0, PO_constant `(`)])))); (0, PO_format(PF(HV_box[((1, (Abs 3), 0), PO_format(PF(H_box[(1, PO_constant `\LAMBDA`); (1, PO_format(PF(H_box[(1, PO_expand(H_box[(1, PO_subcall((`bvs`, -), [(`prec`, -)])); (1, PO_constant `\,`)]))]))); (1, PO_subcall((`bv`, -), [])); (1, PO_constant `\DOT`)]))); ((1, (Abs 3), 0), PO_subcall((`body`, -), [(`prec`, -)]))]))); (0, PO_format(PF_branch((-), (PF_empty), PF(H_box[(0, PO_constant `)`)]))))])); ((`term`, (Const_name(`COMB`, [Patt_child(Const_name(`COMB`, [Patt_child(Const_name(`COMB`, [Patt_child(Const_name(`CONST`, [Patt_child(Const_name(`COND`, [])); Wild_children])); Patt_child(Var_child `cond`)])); Patt_child(Var_child `x`)])); Patt_child(Var_child `y`)])), -), [], PF(H_box[(0, PO_constant `(`); (0, PO_format(PF(HoV_box[((1, (Abs 0), 0), PO_format(PF(HV_box[((1, (Abs 0), 0), PO_subcall((`cond`, -), [(`prec`, -)])); ((1, (Abs 0), 0), PO_constant `\Rightarrow `)]))); ((1, (Abs 0), 0), PO_format(PF(HV_box[((1, (Abs 0), 0), PO_subcall((`x`, -), [(`prec`, -)])); ((1, (Abs 0), 0), PO_constant `\mid `)]))); ((1, (Abs 0), 0), PO_subcall((`y`, -), [(`prec`, -)]))]))); (0, PO_constant `)`)])); ((`term_let`, (Print_loop((Const_name(`ABS`, [Patt_child(Var_child `args`); Patt_child(Link_child(((Default), Default), []))])), Wild_child)), -), [], PF(H_box[(1, PO_context_subcall(`term`, (`args`, -), []))])); ((`term`, (Print_loop((Const_name(`COMB`, [Patt_child(Const_name(`COMB`, [Patt_child(Const_name(`CONST`, [Patt_child(Const_name(`LET`, [])); Wild_children])); Patt_child(Print_link((((Default), Default), []), Const_name(`COMB`, [Patt_child(Const_name(`COMB`, [Patt_child(Const_name(`CONST`, [Patt_child(Const_name(`LET`, [])); Wild_children])); Patt_child (Wild_child)])); Patt_child (Wild_child)])))])); Patt_child(Print_label(`argsl`, Print_loop((Const_name(`ABS`, [Patt_child (Wild_child); Patt_child(Link_child(((Default), Default), []))])), Var_child `letbodyl`)))])), Const_name(`COMB`, [Patt_child(Const_name(`COMB`, [Patt_child(Const_name(`CONST`, [Patt_child(Const_name(`LET`, [])); Wild_children])); Patt_child(Const_name(`ABS`, [Patt_child(Var_child `bv`); Patt_child(Print_loop((Const_name(`ABS`, [Patt_child(Var_child `bvl`); Patt_child(Link_child(((Default), Default), []))])), Var_child `body`))]))])); Patt_child(Print_label(`args`, Print_loop((Const_name(`ABS`, [Patt_child (Wild_child); Patt_child(Link_child(((Default), Default), []))])), Var_child `letbody`)))]))), -), [(`argsl`, -); (`letbodyl`, -)], PF(H_box[(0, PO_format(PF_branch((-), (PF_empty), PF(H_box[(0, PO_constant `(`)])))); (0, PO_format(PF(HoV_box[((1, (Abs 0), 0), PO_format(PF(HV_box[((1, (Abs 1), 0), PO_format(PF(H_box[(1, PO_constant `\KEYWD{let}\;`); (1, PO_subcall((`bv`, -), [(`prec`, -)])); (1, PO_context_subcall(`term_let`, (`args`, -), [(`prec`, -)])); (1, PO_constant `=`)]))); ((1, (Abs 1), 0), PO_subcall((`letbody`, -), [(`prec`, -)]))]))); ((1, (Abs 0), 0), PO_expand(HV_box[((1, (Abs 1), 0), PO_expand(HV_box[((1, (Abs 0), 0), PO_constant `\;\KEYWD{and}`); ((1, (Abs 0), 0), PO_subcall((`bvl`, -), [(`prec`, -)])); ((1, (Abs 0), 0), PO_context_subcall(`term_let`, (`argsl`, -), [(`prec`, -)])); ((1, (Abs 0), 0), PO_constant `=`)])); ((1, (Abs 1), 0), PO_subcall((`letbodyl`, -), [(`prec`, -)]))])); ((1, (Abs 0), 0), PO_format(PF(V_box[(((Abs 0), 0), PO_constant `\;\KEYWD{in}`); (((Abs 0), 0), PO_format(PF(HV_box[((1, (Abs 0), 0), PO_subcall((`body`, -), [(`prec`, -)]))])))])))]))); (0, PO_format(PF_branch((-), (PF_empty), PF(H_box[(0, PO_constant `)`)]))))])); ((`term`, (Print_loop((Const_name(`COMB`, [Patt_child(Const_name(`COMB`, [Patt_child(Const_name(`CONST`, [Patt_child(Const_name(`CONS`, [])); Wild_children])); Patt_child(Var_child `elems`)])); Patt_child(Print_link((((Default), Default), []), Const_name(`COMB`, [Wild_children])))])), Const_name(`COMB`, [Patt_child(Const_name(`COMB`, [Patt_child(Const_name(`CONST`, [Patt_child(Const_name(`CONS`, [])); Wild_children])); Patt_child(Var_child `elem`)])); Patt_child(Const_name(`CONST`, [Patt_child(Const_name(`NIL`, [])); Wild_children]))]))), -), [], PF(H_box[(0, PO_constant `[`); (0, PO_format(PF(HoV_box[((0, (Abs 0), 0), PO_expand(H_box[(0, PO_subcall((`elems`, -), [(`prec`, -)])); (0, PO_constant `;`)])); ((0, (Abs 0), 0), PO_subcall((`elem`, -), [(`prec`, -)]))]))); (0, PO_constant `]`)])); ((`term`, (Print_loop((Const_name(`COMB`, [Patt_child(Link_child(((Val 1), Default), [])); Patt_child(Var_child `rands`)])), Var_child `rator`)), -), [(`rands`, -)], PF(H_box[(0, PO_format(PF_branch((-), (PF_empty), PF(H_box[(0, PO_constant `(`)])))); (0, PO_format(PF(HV_box[((1, (Abs 3), 0), PO_subcall((`rator`, -), [(`prec`, -)])); ((1, (Abs 3), 0), PO_expand(H_box[(0, PO_constant `\,`); (0, PO_subcall((`rands`, -), [(`prec`, -)]))]))]))); (0, PO_format(PF_branch((-), (PF_empty), PF(H_box[(0, PO_constant `)`)]))))])); ((`term`, (Const_name(`term`, [Patt_child(Var_child `term`)])), -), [], PF(H_box[(0, PO_constant `"`); (0, PO_subcall((`term`, -), [(`prec`, -)])); (0, PO_constant `"`)])); ((`thm`, (Var_child `term`), -), [], PF(H_box[(0, PO_context_subcall(`term`, (`term`, -), [(`prec`, -)]))]))] : print_rule list latex_term_rules_fun = - : print_rule_function Calling Lisp compiler File latex_term_pp compiled () : void #echo 'set_flag(`abort_when_fail`,true);;'\ 'loadf(library_pathname() ^ `/prettyp/PP_printer`);;'\ 'loadf(library_pathname() ^ `/prettyp/PP_parser`);;'\ 'loadf `filters`;;'\ 'loadf `hol_trees`;;'\ 'loadf `precedence`;;'\ 'loadf `latex_type_pp`;;'\ 'loadf `latex_term_pp`;;'\ 'compilet `latex_thm_pp`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool Updating help search path ....................................................................................................................() : void #Updating help search path ...................................................................................................................................................() : void #......() : void ....() : void .......() : void ..() : void ..() : void latex_thm_rules = [((`thm`, (Const_name(`dot`, [])), -), [], PF(H_box[(0, PO_constant `.`)])); ((`thm`, (Const_name(`term`, [Patt_child(Var_child `term`)])), -), [], PF(H_box[(0, PO_subcall((`term`, -), []))])); ((`thm`, (Const_name(`thm`, [Patt_child(Var_child `concl`); Patt_child(Const_name(`dots`, [Var_children `dots`]))])), -), [], PF(H_box[(1, PO_format(PF(H_box[(0, PO_subcall((`dots`, -), []))]))); (1, PO_constant `\THM`); (1, PO_subcall((`concl`, -), []))])); ((`thm`, (Const_name(`thm`, [Patt_child(Var_child `concl`); Patt_child(Const_name(`hyp`, [Var_children `hyps`; Patt_child(Var_child `hyp`)]))])), -), [], PF(HoV_box[((1, (Abs 0), 0), PO_expand(H_box[(0, PO_subcall((`hyps`, -), [])); (0, PO_constant `,`)])); ((1, (Abs 0), 0), PO_subcall((`hyp`, -), [])); ((1, (Abs 0), 0), PO_format(PF(H_box[(1, PO_constant `\THM`); (1, PO_subcall((`concl`, -), []))])))])); ((`thm`, (Const_name(`thm`, [Patt_child(Var_child `concl`); Patt_child(Const_name(`hyp`, []))])), -), [], PF(H_box[(1, PO_constant `\THM`); (1, PO_subcall((`concl`, -), []))]))] : print_rule list latex_thm_rules_fun = - : print_rule_function Calling Lisp compiler File latex_thm_pp compiled () : void #echo 'set_flag(`abort_when_fail`,true);;'\ 'loadf(library_pathname() ^ `/prettyp/PP_printer`);;'\ 'loadf(library_pathname() ^ `/prettyp/PP_parser`);;'\ 'PP_to_ML false `latex_sets` ``;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool Updating help search path ....................................................................................................................() : void #Updating help search path ...................................................................................................................................................() : void #() : void echo 'set_flag(`abort_when_fail`,true);;'\ 'loadf(library_pathname() ^ `/prettyp/PP_printer`);;'\ 'loadf(library_pathname() ^ `/prettyp/PP_parser`);;'\ 'loadf `filters`;;'\ 'loadf `hol_trees`;;'\ 'loadf `precedence`;;'\ 'loadf `latex_type_pp`;;'\ 'loadf `latex_term_pp`;;'\ 'loadf `latex_thm_pp`;;'\ 'compilet `latex_sets_pp`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool Updating help search path ....................................................................................................................() : void #Updating help search path ...................................................................................................................................................() : void #......() : void ....() : void .......() : void ..() : void ..() : void ..() : void latex_sets_rules = [((`term`, (Const_name(`CONST`, [Patt_child(Const_name(`EMPTY`, [])); Wild_children])), -), [], PF(H_box[(0, PO_constant `\EMPTYSET `)])); ((`term`, (Const_name(`COMB`, [Patt_child(Const_name(`CONST`, [Patt_child(Const_name(`GSPEC`, [])); Wild_children])); Patt_child(Const_name(`ABS`, [Patt_child(Var_child `var`); Patt_child(Const_name(`COMB`, [Patt_child(Const_name(`COMB`, [Patt_child(Const_name(`CONST`, [Patt_child (Wild_child)])); Patt_child(Var_child `elem`)])); Patt_child(Var_child `spec`)]))]))])), -), [], PF(H_box[(0, PO_constant `\BEGINSET `); (0, PO_format(PF(HV_box[((1, (Abs 1), 0), PO_subcall((`elem`, -), [(`prec`, -)])); ((1, (Abs 1), 0), PO_constant `\SUCHTHAT `); ((1, (Abs 1), 0), PO_subcall((`spec`, -), [(`prec`, -)]))]))); (0, PO_constant `\ENDSET `)])); ((`term`, (Print_loop((Const_name(`COMB`, [Patt_child(Const_name(`COMB`, [Patt_child(Const_name(`CONST`, [Patt_child(Const_name(`INSERT`, [])); Wild_children])); Patt_child(Var_child `elems`)])); Patt_child(Print_link((((Default), Default), []), Const_name(`COMB`, [Wild_children])))])), Const_name(`COMB`, [Patt_child(Const_name(`COMB`, [Patt_child(Const_name(`CONST`, [Patt_child(Const_name(`INSERT`, [])); Wild_children])); Patt_child(Var_child `elem`)])); Patt_child(Const_name(`CONST`, [Patt_child(Const_name(`EMPTY`, [])); Wild_children]))]))), -), [], PF(H_box[(0, PO_constant `\BEGINSET `); (0, PO_format(PF(HV_box[((0, (Abs 0), 0), PO_expand(H_box[(0, PO_subcall((`elems`, -), [(`prec`, -)])); (0, PO_constant `,`)])); ((0, (Abs 0), 0), PO_subcall((`elem`, -), [(`prec`, -)]))]))); (0, PO_constant `\ENDSET `)]))] : print_rule list latex_sets_rules_fun = - : print_rule_function Calling Lisp compiler File latex_sets_pp compiled () : void #echo 'set_flag(`abort_when_fail`,true);;'\ 'loadf(library_pathname() ^ `/prettyp/PP_printer`);;'\ 'loadf(library_pathname() ^ `/prettyp/PP_parser`);;'\ 'loadf `filters`;;'\ 'loadf `hol_trees`;;'\ 'loadf `precedence`;;'\ 'loadf `latex_sets_pp`;;'\ 'loadf `latex_thm_pp`;;'\ 'loadf `latex_term_pp`;;'\ 'loadf `latex_type_pp`;;'\ 'compilet `formaters`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool Updating help search path ....................................................................................................................() : void #Updating help search path ...................................................................................................................................................() : void #......() : void ....() : void .......() : void ..() : void ..() : void ..() : void ..() : void output_strings = - : (string -> string list -> void) latex_hol_rules_fun = - : print_rule_function pp_convert_type = - : (type -> print_tree) pp_convert_term = - : (term -> print_tree) pp_convert_thm = - : (thm -> print_tree) pp_convert_all_thm = - : (thm -> print_tree) latex_type = - : (type -> void) latex_term = - : (term -> void) latex_thm = - : (thm -> void) latex_all_thm = - : (thm -> void) latex_type_to = - : (string -> type -> void) latex_type_add_to = - : (string -> type -> void) latex_term_to = - : (string -> term -> void) latex_term_add_to = - : (string -> term -> void) latex_thm_to = - : (string -> thm -> void) latex_thm_add_to = - : (string -> thm -> void) latex_all_thm_to = - : (string -> thm -> void) latex_all_thm_add_to = - : (string -> thm -> void) latex_theory_to = - : (string -> bool -> string -> void) latex_thm_tag = `@t ` : string latex_thm_end = `` : string latex_theorems_to = - : (string -> (string -> thm) -> string list -> void) latex_all_theorems_to = - : (string -> (string -> thm) -> string list -> void) latex_theorems_add_to = - : (string -> (string -> thm) -> string list -> void) Calling Lisp compiler File formaters compiled () : void #===>Library latex-hol rebuilt make[4]: Leaving directory '/<>/Library/latex-hol' make[4]: Entering directory '/<>/Library/more_arithmetic' rm -f ineq.th echo 'set_flag(`abort_when_fail`,true);;'\ 'loadt `ineq`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool 0 : int () : void Loading library taut ... Updating help search path ........................................ Library taut loaded. () : void NOT_EQ = |- !t1 t2. (t1 = t2) = (~t1 = ~t2) Theorem EQ_LESS_EQ autoloading from theory `arithmetic` ... EQ_LESS_EQ = |- !m n. (m = n) = m <= n /\ n <= m Theorem NOT_LESS autoloading from theory `arithmetic` ... NOT_LESS = |- !m n. ~m < n = n <= m NOT_EQ_LESS_EQ = |- !a b. ~(a = b) = a < b \/ b < a Theorem LESS_CASES_IMP autoloading from theory `arithmetic` ... LESS_CASES_IMP = |- !m n. ~m < n /\ ~(m = n) ==> n < m Theorem LESS_NOT_EQ autoloading from theory `prim_rec` ... LESS_NOT_EQ = |- !m n. m < n ==> ~(m = n) Theorem LESS_ANTISYM autoloading from theory `arithmetic` ... LESS_ANTISYM = |- !m n. ~(m < n /\ n < m) Definition LESS_OR_EQ autoloading from theory `arithmetic` ... LESS_OR_EQ = |- !m n. m <= n = m < n \/ (m = n) LESS_IS_NOT_LESS_OR_EQ = |- !x y. x < y = ~y <= x Theorem LESS_SUC_REFL autoloading from theory `prim_rec` ... LESS_SUC_REFL = |- !n. n < (SUC n) Theorem LESS_THM autoloading from theory `prim_rec` ... LESS_THM = |- !m n. m < (SUC n) = (m = n) \/ m < n Theorem NOT_LESS_0 autoloading from theory `prim_rec` ... NOT_LESS_0 = |- !n. ~n < 0 GEN_INDUCTION = |- !P. P 0 /\ (!n. (!m. m < n ==> P m) ==> P n) ==> (!n. P n) Theorem LESS_EQ_ANTISYM autoloading from theory `arithmetic` ... LESS_EQ_ANTISYM = |- !m n. ~(m < n /\ n <= m) Theorem GREATER_EQ autoloading from theory `arithmetic` ... GREATER_EQ = |- !n m. n >= m = m <= n GREATER_EQ_ANTISYM = |- !n m. ~(n >= m /\ n < m) Theorem LESS_EQ_REFL autoloading from theory `arithmetic` ... LESS_EQ_REFL = |- !m. m <= m Theorem LESS_EQUAL_ANTISYM autoloading from theory `arithmetic` ... LESS_EQUAL_ANTISYM = |- !n m. n <= m /\ m <= n ==> (n = m) LESS_EQ_LESS_EQ_EQ = |- !m n. m <= n /\ n <= m = (m = n) Theorem LESS_SUC autoloading from theory `prim_rec` ... LESS_SUC = |- !m n. m < n ==> m < (SUC n) NOT_LESS_AND_GREATER = |- !n m. n < m ==> ~m < n () : void File ineq loaded () : void #rm -f pre.th echo 'set_flag(`abort_when_fail`,true);;'\ 'loadt `pre`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool 0 : int () : void Theorem PRE_SUC_EQ autoloading from theory `arithmetic` ... PRE_SUC_EQ = |- !m n. 0 < n ==> ((m = PRE n) = (SUC m = n)) SUC_PRE = |- !n. 0 < n ==> (SUC(PRE n) = n) Theorem LESS_MONO autoloading from theory `prim_rec` ... LESS_MONO = |- !m n. m < n ==> (SUC m) < (SUC n) Theorem LESS_0 autoloading from theory `prim_rec` ... LESS_0 = |- !n. 0 < (SUC n) Theorem NOT_LESS_0 autoloading from theory `prim_rec` ... NOT_LESS_0 = |- !n. ~n < 0 Theorem PRE autoloading from theory `prim_rec` ... PRE = |- (PRE 0 = 0) /\ (!m. PRE(SUC m) = m) PRE_MONO = |- !m n. (PRE m) < (PRE n) ==> m < n Definition LESS_OR_EQ autoloading from theory `arithmetic` ... LESS_OR_EQ = |- !m n. m <= n = m < n \/ (m = n) Theorem ZERO_LESS_EQ autoloading from theory `arithmetic` ... ZERO_LESS_EQ = |- !n. 0 <= n Theorem LESS_MONO_EQ autoloading from theory `arithmetic` ... LESS_MONO_EQ = |- !m n. (SUC m) < (SUC n) = m < n PRE_MONO_LESS_EQ = |- !m n. m < n ==> (PRE m) <= (PRE n) Theorem LESS_SUC_REFL autoloading from theory `prim_rec` ... LESS_SUC_REFL = |- !n. n < (SUC n) PRE_LESS_EQ = |- !n. (PRE n) <= n Theorem ADD_CLAUSES autoloading from theory `arithmetic` ... ADD_CLAUSES = |- (0 + m = m) /\ (m + 0 = m) /\ ((SUC m) + n = SUC(m + n)) /\ (m + (SUC n) = SUC(m + n)) PRE_ADD = |- !n m. 0 < n ==> (PRE(n + m) = (PRE n) + m) SUC_LESS_PRE = |- !m n. (SUC m) < n ==> m < (PRE n) SUC_LESS_EQ_PRE = |- !m n. 0 < n ==> (SUC m) <= n ==> m <= (PRE n) Theorem LESS_REFL autoloading from theory `prim_rec` ... LESS_REFL = |- !n. ~n < n Theorem INDUCTION autoloading from theory `num` ... INDUCTION = |- !P. P 0 /\ (!n. P n ==> P(SUC n)) ==> (!n. P n) PRE_K_K = |- !k. 0 < k ==> (PRE k) < k Theorem LESS_EQ_ADD autoloading from theory `arithmetic` ... LESS_EQ_ADD = |- !m n. m <= (m + n) Theorem LESS_EQ_MONO_ADD_EQ autoloading from theory `arithmetic` ... LESS_EQ_MONO_ADD_EQ = |- !m n p. (m + p) <= (n + p) = m <= n Theorem NOT_LESS autoloading from theory `arithmetic` ... NOT_LESS = |- !m n. ~m < n = n <= m Theorem SUB_ADD autoloading from theory `arithmetic` ... SUB_ADD = |- !m n. n <= m ==> ((m - n) + n = m) Theorem LESS_IMP_LESS_OR_EQ autoloading from theory `arithmetic` ... LESS_IMP_LESS_OR_EQ = |- !m n. m < n ==> m <= n Theorem NOT_LESS_EQUAL autoloading from theory `arithmetic` ... NOT_LESS_EQUAL = |- !m n. ~m <= n = n < m Theorem SUB_EQ_0 autoloading from theory `arithmetic` ... SUB_EQ_0 = |- !m n. (m - n = 0) = m <= n NOT_LESS_SUB = |- !m n. ~m < (m - n) Theorem PRE_SUB1 autoloading from theory `arithmetic` ... PRE_SUB1 = |- !m. PRE m = m - 1 Theorem LESS_EQ_LESS_TRANS autoloading from theory `arithmetic` ... LESS_EQ_LESS_TRANS = |- !m n p. m <= n /\ n < p ==> m < p PRE_LESS = |- !b. 0 < b /\ b < a ==> (PRE b) < a Theorem LESS_EQ autoloading from theory `arithmetic` ... LESS_EQ = |- !m n. m < n = (SUC m) <= n LESS_IMP_LESS_EQ_PRE = |- !m n. 0 < n ==> (m < n = m <= (PRE n)) () : void File pre loaded () : void #rm -f suc.th echo 'set_flag(`abort_when_fail`,true);;'\ 'loadt `suc`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool 0 : int () : void Theorem NOT_SUC_LESS_EQ_0 autoloading from theory `arithmetic` ... NOT_SUC_LESS_EQ_0 = |- !n. ~(SUC n) <= 0 NOT_FORALL_SUC_LESS_EQ = |- ~(!n m. (SUC m) <= n) Theorem LESS_EQ_ANTISYM autoloading from theory `arithmetic` ... LESS_EQ_ANTISYM = |- !m n. ~(m < n /\ n <= m) Theorem GREATER_EQ autoloading from theory `arithmetic` ... GREATER_EQ = |- !n m. n >= m = m <= n Theorem LESS_0 autoloading from theory `prim_rec` ... LESS_0 = |- !n. 0 < (SUC n) NOT_0_GREATER_EQ_SUC = |- !n. ~0 >= (SUC n) Theorem LESS_EQ_MONO autoloading from theory `arithmetic` ... LESS_EQ_MONO = |- !n m. (SUC n) <= (SUC m) = n <= m SUC_GREATER_EQ_SUC = |- !n m. (SUC m) >= (SUC n) = m >= n LESS_EQ_MONO_EQ = |- !n m. (SUC n) <= (SUC m) = n <= m Theorem LESS_THM autoloading from theory `prim_rec` ... LESS_THM = |- !m n. m < (SUC n) = (m = n) \/ m < n Theorem LESS_SUC_REFL autoloading from theory `prim_rec` ... LESS_SUC_REFL = |- !n. n < (SUC n) Theorem LESS_SUC autoloading from theory `prim_rec` ... LESS_SUC = |- !m n. m < n ==> m < (SUC n) Definition LESS_OR_EQ autoloading from theory `arithmetic` ... LESS_OR_EQ = |- !m n. m <= n = m < n \/ (m = n) LESS_EQ_LESS_SUC = |- !m n. m <= n = m < (SUC n) Theorem LESS_EQ autoloading from theory `arithmetic` ... LESS_EQ = |- !m n. m < n = (SUC m) <= n SUC_LESS_EQ = |- !m n. m <= n /\ ~(m = n) ==> (SUC m) <= n Theorem LESS_EQ_SUC_REFL autoloading from theory `arithmetic` ... LESS_EQ_SUC_REFL = |- !m. m <= (SUC m) Theorem NOT_LESS autoloading from theory `arithmetic` ... NOT_LESS = |- !m n. ~m < n = n <= m Theorem SUC_ID autoloading from theory `prim_rec` ... SUC_ID = |- !n. ~(SUC n = n) NOT_SUC_LESS_EQ_SELF = |- !n. ~(SUC n) <= n Theorem ADD_CLAUSES autoloading from theory `arithmetic` ... ADD_CLAUSES = |- (0 + m = m) /\ (m + 0 = m) /\ ((SUC m) + n = SUC(m + n)) /\ (m + (SUC n) = SUC(m + n)) Theorem ADD1 autoloading from theory `arithmetic` ... ADD1 = |- !m. SUC m = m + 1 SUC_0 = |- 1 = SUC 0 Theorem SUC_NOT autoloading from theory `arithmetic` ... SUC_NOT = |- !n. ~(0 = SUC n) SUC_NOT_0 = |- !n. ~(SUC n = 0) () : void File suc loaded () : void #rm -f add.th echo 'set_flag(`abort_when_fail`,true);;'\ 'loadt `add`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool 0 : int () : void Theory suc loaded () : void [(); (); (); (); (); (); (); ()] : void list ....() : void Theorem LESS_EQ autoloading from theory `arithmetic` ... LESS_EQ = |- !m n. m < n = (SUC m) <= n Theorem ADD1 autoloading from theory `arithmetic` ... ADD1 = |- !m. SUC m = m + 1 LESS_LESS_EQ = |- !a b. a < b = (a + 1) <= b Theorem ADD_SYM autoloading from theory `arithmetic` ... ADD_SYM = |- !m n. m + n = n + m ADD_SUC_0 = |- !m. SUC m = (SUC 0) + m LESS_EQ_MONO_ADD_EQ0 = |- !m n p. m <= n = (p + m) <= (p + n) Definition ADD autoloading from theory `arithmetic` ... ADD = |- (!n. 0 + n = n) /\ (!m n. (SUC m) + n = SUC(m + n)) LESS_EQ_MONO_ADD_EQ1 = |- !m p. (m + p) <= p = m <= 0 Theorem ZERO_LESS_EQ autoloading from theory `arithmetic` ... ZERO_LESS_EQ = |- !n. 0 <= n LESS_EQ_ADD1 = |- !p n. p <= (n + p) Theorem ADD_ASSOC autoloading from theory `arithmetic` ... ADD_ASSOC = |- !m n p. m + (n + p) = (m + n) + p ADD_SYM_ASSOC = |- !a b c. a + (b + c) = b + (a + c) Theorem LESS_EQ_ADD autoloading from theory `arithmetic` ... LESS_EQ_ADD = |- !m n. m <= (m + n) Theorem LESS_EQ_TRANS autoloading from theory `arithmetic` ... LESS_EQ_TRANS = |- !m n p. m <= n /\ n <= p ==> m <= p LESS_EQ_SPLIT = |- !m n p. (m + n) <= p ==> n <= p /\ m <= p Theorem LESS_SUC autoloading from theory `prim_rec` ... LESS_SUC = |- !m n. m < n ==> m < (SUC n) Theorem ADD_CLAUSES autoloading from theory `arithmetic` ... ADD_CLAUSES = |- (0 + m = m) /\ (m + 0 = m) /\ ((SUC m) + n = SUC(m + n)) /\ (m + (SUC n) = SUC(m + n)) ADDL_GREATER = |- !m n p. m < n ==> m < (p + n) Theorem NOT_LESS_0 autoloading from theory `prim_rec` ... NOT_LESS_0 = |- !n. ~n < 0 Theorem NOT_LESS autoloading from theory `arithmetic` ... NOT_LESS = |- !m n. ~m < n = n <= m Theorem LESS_EQ_LESS_EQ_MONO autoloading from theory `arithmetic` ... LESS_EQ_LESS_EQ_MONO = |- !m n p q. m <= p /\ n <= q ==> (m + n) <= (p + q) ADDL_GREATER_EQ = |- !m n p. m <= n ==> m <= (p + n) ADDR_GREATER = |- !m n p. m < n ==> m < (n + p) ADDR_GREATER_EQ = |- !m n p. m <= n ==> m <= (n + p) Theorem LESS_TRANS autoloading from theory `arithmetic` ... LESS_TRANS = |- !m n p. m < n /\ n < p ==> m < p LESS_LESS_MONO = |- !m n p q. m < p /\ n < q ==> (m + n) < (p + q) Definition LESS_OR_EQ autoloading from theory `arithmetic` ... LESS_OR_EQ = |- !m n. m <= n = m < n \/ (m = n) LESS_LESS_EQ_MONO = |- (!m n p q. m < p /\ n <= q ==> (m + n) < (p + q)) /\ (!m n p q. m <= p /\ n < q ==> (m + n) < (p + q)) Theorem LESS_REFL autoloading from theory `prim_rec` ... LESS_REFL = |- !n. ~n < n ADD_EQ_LESS_IMP_LESS = |- !n m k l. (k + m = l + n) /\ k < l ==> n < m LESS_ADD_ASSOC = |- !a b c d. a < (b + c) ==> a < (b + (c + d)) Theorem GREATER_EQ autoloading from theory `arithmetic` ... GREATER_EQ = |- !n m. n >= m = m <= n GREATER_EQ_SPLIT = |- !m n p. p >= (m + n) ==> p >= n /\ p >= m Theorem LESS_MONO_ADD autoloading from theory `arithmetic` ... LESS_MONO_ADD = |- !m n p. m < n ==> (m + p) < (n + p) LESS_TRANS_ADD = |- !m n p q. m < (n + p) /\ p < q ==> m < (n + q) Definition GREATER autoloading from theory `arithmetic` ... GREATER = |- !m n. m > n = n < m Definition GREATER_OR_EQ autoloading from theory `arithmetic` ... GREATER_OR_EQ = |- !m n. m >= n = m > n \/ (m = n) ADD_GREATER_EQ = |- !m n. (m + n) >= m ADD_MONO_LESS = |- !m n p. (m + p) < (m + n) = p < n Theorem LESS_NOT_EQ autoloading from theory `prim_rec` ... LESS_NOT_EQ = |- !m n. m < n ==> ~(m = n) Theorem LESS_0 autoloading from theory `prim_rec` ... LESS_0 = |- !n. 0 < (SUC n) Theorem INV_SUC_EQ autoloading from theory `prim_rec` ... INV_SUC_EQ = |- !m n. (SUC m = SUC n) = (m = n) Theorem SUC_ID autoloading from theory `prim_rec` ... SUC_ID = |- !n. ~(SUC n = n) Theorem SUC_0 autoloading from theory `suc` ... SUC_0 = |- 1 = SUC 0 NOT_1_TWICE = |- !n. ~(1 = n + n) Theorem LESS_EQ_LESS_TRANS autoloading from theory `arithmetic` ... LESS_EQ_LESS_TRANS = |- !m n p. m <= n /\ n < p ==> m < p SUM_LESS = |- !m n p. (m + n) < p ==> m < p /\ n < p Theorem LESS_IMP_LESS_OR_EQ autoloading from theory `arithmetic` ... LESS_IMP_LESS_OR_EQ = |- !m n. m < n ==> m <= n Theorem LESS_SUC_REFL autoloading from theory `prim_rec` ... LESS_SUC_REFL = |- !n. n < (SUC n) NOT_LESS_IMP_LESS_EQ_ADD1 = |- !a b. ~a < b ==> b <= (a + 1) NOT_ADD_LESS = |- !m n. ~(m + n) < n ADD_EQ_LESS_EQ = |- !m n p. (m + n = p) ==> m <= p SUC_LESS_N_LESS = |- !m n. (m + 1) < n ==> m < n Theorem LESS_ADD_SUC autoloading from theory `arithmetic` ... LESS_ADD_SUC = |- !m n. m < (m + (SUC n)) LESS_ADD1 = |- !a. a < (a + 1) () : void File add loaded () : void #rm -f zero_ineq.th echo 'set_flag(`abort_when_fail`,true);;'\ 'loadt `zero`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool 0 : int () : void [(); (); (); (); (); (); (); (); (); (); (); (); (); (); (); (); (); (); (); (); (); (); (); (); ()] : void list Theorem ZERO_LESS_EQ autoloading from theory `arithmetic` ... ZERO_LESS_EQ = |- !n. 0 <= n Theorem LESS_EQ_LESS_TRANS autoloading from theory `arithmetic` ... LESS_EQ_LESS_TRANS = |- !m n p. m <= n /\ n < p ==> m < p M_LESS_0_LESS = |- !m n. m < n ==> 0 < n Theorem LESS_SUC_REFL autoloading from theory `prim_rec` ... LESS_SUC_REFL = |- !n. n < (SUC n) Theorem LESS_LEMMA1 autoloading from theory `prim_rec` ... LESS_LEMMA1 = |- !m n. m < (SUC n) ==> (m = n) \/ m < n Theorem NOT_LESS_0 autoloading from theory `prim_rec` ... NOT_LESS_0 = |- !n. ~n < 0 LESS1EQ0 = |- !m. m < 1 = (m = 0) Theorem LESS_EQ_ADD autoloading from theory `arithmetic` ... LESS_EQ_ADD = |- !m n. m <= (m + n) Theorem ADD_SYM autoloading from theory `arithmetic` ... ADD_SYM = |- !m n. m + n = n + m Theorem ADD1 autoloading from theory `arithmetic` ... ADD1 = |- !m. SUC m = m + 1 Theorem GREATER_EQ autoloading from theory `arithmetic` ... GREATER_EQ = |- !n m. n >= m = m <= n Theorem LESS_EQ_REFL autoloading from theory `arithmetic` ... LESS_EQ_REFL = |- !m. m <= m NOT_EQ_0 = |- !m. ~(m = 0) ==> m >= 1 Theorem LESS_0_CASES autoloading from theory `arithmetic` ... LESS_0_CASES = |- !m. (0 = m) \/ 0 < m Theorem NOT_LESS_EQUAL autoloading from theory `arithmetic` ... NOT_LESS_EQUAL = |- !m n. ~m <= n = n < m Definition LESS_OR_EQ autoloading from theory `arithmetic` ... LESS_OR_EQ = |- !m n. m <= n = m < n \/ (m = n) LESS_EQ_0_EQ = |- !m. m <= 0 ==> (m = 0) Theorem LESS_REFL autoloading from theory `prim_rec` ... LESS_REFL = |- !n. ~n < n GREATER_NOT_ZERO = |- !x. 0 < x ==> ~(x = 0) NOT_0_AND_MORE = |- !x. ~((x = 0) /\ 0 < x) () : void File zero loaded () : void #rm -f sub.th echo 'set_flag(`abort_when_fail`,true);;'\ 'loadt `sub`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool 0 : int () : void Theory add loaded () : void Theory zero_ineq loaded () : void Theorem EQ_MONO_ADD_EQ autoloading from theory `arithmetic` ... EQ_MONO_ADD_EQ = |- !m n p. (m + p = n + p) = (m = n) Theorem LESS_MONO_ADD_EQ autoloading from theory `arithmetic` ... LESS_MONO_ADD_EQ = |- !m n p. (m + p) < (n + p) = m < n Theorem LESS_EQ_MONO_ADD_EQ autoloading from theory `arithmetic` ... LESS_EQ_MONO_ADD_EQ = |- !m n p. (m + p) <= (n + p) = m <= n NUM_LESS_EQ_PLUS_CONV = - : (term -> conv) NUM_EQ_PLUS_CONV = - : (term -> conv) NUM_LESS_PLUS_CONV = - : (term -> conv) File num_convs loaded () : void [(); (); (); (); (); ()] : void list Theorem PRE autoloading from theory `prim_rec` ... PRE = |- (PRE 0 = 0) /\ (!m. PRE(SUC m) = m) Theorem SUB_MONO_EQ autoloading from theory `arithmetic` ... SUB_MONO_EQ = |- !n m. (SUC n) - (SUC m) = n - m Theorem NOT_LESS_0 autoloading from theory `prim_rec` ... NOT_LESS_0 = |- !n. ~n < 0 SUB_SUC_PRE_SUB = |- !n m. 0 < n ==> (n - (SUC m) = (PRE n) - m) Theorem ADD_CLAUSES autoloading from theory `arithmetic` ... ADD_CLAUSES = |- (0 + m = m) /\ (m + 0 = m) /\ ((SUC m) + n = SUC(m + n)) /\ (m + (SUC n) = SUC(m + n)) Theorem ADD_SUC autoloading from theory `arithmetic` ... ADD_SUC = |- !m n. SUC(m + n) = m + (SUC n) ADD_SUC = |- SUC(m + n) = m + (SUC n) Definition SUB autoloading from theory `arithmetic` ... SUB = |- (!m. 0 - m = 0) /\ (!m n. (SUC m) - n = (m < n => 0 | SUC(m - n))) Theorem LESS_SUC_NOT autoloading from theory `arithmetic` ... LESS_SUC_NOT = |- !m n. m < n ==> ~n < (SUC m) SUB_SUC = |- !k m. m < k ==> (k - m = SUC(k - (SUC m))) Theorem SUB_ADD autoloading from theory `arithmetic` ... SUB_ADD = |- !m n. n <= m ==> ((m - n) + n = m) SUB_LESS_TO_LESS_ADDR = |- !m n p. p <= m ==> ((m - p) < n = m < (n + p)) Theorem ADD_SYM autoloading from theory `arithmetic` ... ADD_SYM = |- !m n. m + n = n + m SUB_LESS_TO_LESS_ADDL = |- !m n p. n <= m ==> ((m - n) < p = m < (n + p)) LESS_SUB_TO_ADDR_LESS = |- !m n p. p <= m ==> (n < (m - p) = (n + p) < m) LESS_SUB_TO_ADDL_LESS = |- !m n p. n <= m ==> (p < (m - n) = (n + p) < m) SUC_SUB = |- !m n. (m < n ==> ((SUC m) - n = 0)) /\ (~m < n ==> ((SUC m) - n = SUC(m - n))) Theorem SUB_LESS_EQ autoloading from theory `arithmetic` ... SUB_LESS_EQ = |- !n m. (n - m) <= n LESS_SUB_BOUND = |- !k l. k < l ==> (l - k) <= l Theorem LESS_IMP_LESS_OR_EQ autoloading from theory `arithmetic` ... LESS_IMP_LESS_OR_EQ = |- !m n. m < n ==> m <= n SUB_SUB_ID = |- !k l. l < k ==> (k - (k - l) = l) Theorem SUB_0 autoloading from theory `arithmetic` ... SUB_0 = |- !m. (0 - m = 0) /\ (m - 0 = m) Theorem SUB_EQ_0 autoloading from theory `arithmetic` ... SUB_EQ_0 = |- !m n. (m - n = 0) = m <= n Theorem NOT_LESS autoloading from theory `arithmetic` ... NOT_LESS = |- !m n. ~m < n = n <= m LESS_SUB_IMP_INV = |- !k l. 0 < (k - l) ==> l < k Theorem ADDL_GREATER_EQ autoloading from theory `add` ... ADDL_GREATER_EQ = |- !m n p. m <= n ==> m <= (p + n) Definition ADD autoloading from theory `arithmetic` ... ADD = |- (!n. 0 + n = n) /\ (!m n. (SUC m) + n = SUC(m + n)) LESS_EQ_ADD_SUB1 = |- !m n p. p <= n ==> (m + (n - p) = (m + n) - p) LESS_EQ_SUB_ADD = |- !m n p. p <= m ==> ((m - p) + n = (m + n) - p) Theorem GREATER_EQ autoloading from theory `arithmetic` ... GREATER_EQ = |- !n m. n >= m = m <= n GREATER_EQ_SUB_LESS_TO_ADD = |- !n m p. p >= n ==> ((p - n) < m = p < (n + m)) SUB_GREATER_EQ_ADD = |- !n m p. p >= n ==> ((p - n) >= m = p >= (n + m)) SUB_LE_ADD = |- !n m p. n <= p ==> (m <= (p - n) = (n + m) <= p) Theorem LESS_EQ_ANTISYM autoloading from theory `arithmetic` ... LESS_EQ_ANTISYM = |- !m n. ~(m < n /\ n <= m) NOT_SUB_0 = |- !m n. m < n ==> ~(n - m = 0) NOT_0_SUB = |- !m n. ~(m - n = 0) ==> ~(m = 0) Theorem NOT_EQ_0 autoloading from theory `zero_ineq` ... NOT_EQ_0 = |- !m. ~(m = 0) ==> m >= 1 Theorem ADD1 autoloading from theory `arithmetic` ... ADD1 = |- !m. SUC m = m + 1 SUB_1_LESS = |- !m n. ~(m = 0) /\ m < (SUC n) ==> (m - 1) < n Theorem LESS_THM autoloading from theory `prim_rec` ... LESS_THM = |- !m n. m < (SUC n) = (m = n) \/ m < n Definition LESS_OR_EQ autoloading from theory `arithmetic` ... LESS_OR_EQ = |- !m n. m <= n = m < n \/ (m = n) Theorem SUC_SUB1 autoloading from theory `arithmetic` ... SUC_SUB1 = |- !m. (SUC m) - 1 = m SUB_1_LESS_EQ = |- !m n. m < n ==> (n - 1) >= m ADD_LESS_EQ_SUB = |- !n m p. n <= p ==> ((n + m) <= p = m <= (p - n)) PRE_SUB_SUC = |- !m n. m < n ==> (PRE(n - m) = n - (SUC m)) Theorem LESS_SUC autoloading from theory `prim_rec` ... LESS_SUC = |- !m n. m < n ==> m < (SUC n) Theorem PRE_SUB1 autoloading from theory `arithmetic` ... PRE_SUB1 = |- !m. PRE m = m - 1 LESS_PRE = |- !i m. i < (m - 1) ==> i < m Theorem LESS_MONO_EQ autoloading from theory `arithmetic` ... LESS_MONO_EQ = |- !m n. (SUC m) < (SUC n) = m < n Theorem LESS_0 autoloading from theory `prim_rec` ... LESS_0 = |- !n. 0 < (SUC n) Theorem LESS_REFL autoloading from theory `prim_rec` ... LESS_REFL = |- !n. ~n < n PRE_LESS_LESS_SUC = |- !i m. i < (m - 1) /\ 0 < m ==> (i + 1) < m Theorem SUC_0 autoloading from theory `suc` ... SUC_0 = |- 1 = SUC 0 Theorem LESS_OR autoloading from theory `arithmetic` ... LESS_OR = |- !m n. m < n ==> (SUC m) <= n Theorem SUB_PLUS autoloading from theory `arithmetic` ... SUB_PLUS = |- !a b c. a - (b + c) = (a - b) - c SUB_PRE_SUB_1 = |- !a b. 0 < b ==> ((a - (PRE b)) - 1 = a - b) LESS_SUB_IMP_SUM_LESS = |- !i m. i < (m - 1) /\ 1 < m ==> (i + 1) < m Theorem SUB_EQUAL_0 autoloading from theory `arithmetic` ... SUB_EQUAL_0 = |- !c. c - c = 0 SUB_SELF = |- !c. c - c = 0 Theorem ADD_SUB autoloading from theory `arithmetic` ... ADD_SUB = |- !a c. (a + c) - c = a ADD_SUB_SYM = |- !a c. (c + a) - c = a SUB_ADD_SELF = |- !m n. ~m < n ==> ((m - n) + n = m) Theorem LESS_ANTISYM autoloading from theory `arithmetic` ... LESS_ANTISYM = |- !m n. ~(m < n /\ n < m) Theorem ADD_MONO_LESS autoloading from theory `add` ... ADD_MONO_LESS = |- !m n p. (m + p) < (m + n) = p < n Theorem LESS_MONO_ADD autoloading from theory `arithmetic` ... LESS_MONO_ADD = |- !m n p. m < n ==> (m + p) < (n + p) Theorem NOT_LESS_EQUAL autoloading from theory `arithmetic` ... NOT_LESS_EQUAL = |- !m n. ~m <= n = n < m Definition GREATER autoloading from theory `arithmetic` ... GREATER = |- !m n. m > n = n < m SMALLER_SUM = |- !m n p. m < p /\ n < p ==> ~((m + n) - p) > m Theorem LESS_EQ_ADD autoloading from theory `arithmetic` ... LESS_EQ_ADD = |- !m n. m <= (m + n) NOT_LESS_SUB = |- !m n. ~m < (m - n) SUB_BOTH_SIDES = |- !m n p. (m = n) ==> (m - p = n - p) Theorem LESS_EQ_LESS_TRANS autoloading from theory `arithmetic` ... LESS_EQ_LESS_TRANS = |- !m n p. m <= n /\ n < p ==> m < p SUB_LESS_BOTH_SIDES = |- !m n p. p <= m /\ m < n ==> (m - p) < (n - p) Theorem LESS_LESS_MONO autoloading from theory `add` ... LESS_LESS_MONO = |- !m n p q. m < p /\ n < q ==> (m + n) < (p + q) LESS_TWICE_IMP_LESS_SUB = |- !a b m. a < m /\ b < m /\ m <= (a + b) ==> ((a + b) - m) < m Theorem SUB_LESS_OR autoloading from theory `arithmetic` ... SUB_LESS_OR = |- !m n. n < m ==> n <= (m - 1) Theorem OR_LESS autoloading from theory `arithmetic` ... OR_LESS = |- !m n. (SUC m) <= n ==> m < n Theorem LESS_EQ_TRANS autoloading from theory `arithmetic` ... LESS_EQ_TRANS = |- !m n p. m <= n /\ n <= p ==> m <= p Theorem ZERO_LESS_EQ autoloading from theory `arithmetic` ... ZERO_LESS_EQ = |- !n. 0 <= n Theorem LESS_EQ_MONO autoloading from theory `arithmetic` ... LESS_EQ_MONO = |- !n m. (SUC n) <= (SUC m) = n <= m SUB_LESS_EQ_SUB_SUC = |- !a b c n. 0 < c /\ a <= (b - n) ==> (a - c) <= (b - (SUC n)) Theorem ADD_ASSOC autoloading from theory `arithmetic` ... ADD_ASSOC = |- !m n p. m + (n + p) = (m + n) + p SUB_EQ_SUB_ADD_SUB = |- !a b c. a <= b /\ b <= c ==> (c - a = (c - b) + (b - a)) Theorem ADD_EQ_SUB autoloading from theory `arithmetic` ... ADD_EQ_SUB = |- !m n p. n <= p ==> ((m + n = p) = (m = p - n)) ADD_EQ_IMP_SUB_EQ = |- !a b c. (a = b + c) ==> (a - b = c) Theorem LESS_0_CASES autoloading from theory `arithmetic` ... LESS_0_CASES = |- !m. (0 = m) \/ 0 < m SUB_GREATER_0 = |- !a b. a < b ==> (b - a) > 0 Theorem LESS_EQ_REFL autoloading from theory `arithmetic` ... LESS_EQ_REFL = |- !m. m <= m LESS_EQ_SUB_1 = |- !a b. a <= b ==> (a - 1) <= (b - 1) SUB_LESS_EQ_SUB1 = |- !x. x > 0 ==> (!a. (a - x) <= (a - 1)) () : void File sub loaded () : void #rm -f mult.th echo 'set_flag(`abort_when_fail`,true);;'\ 'loadt `mult`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool 0 : int () : void Theorem LESS_MONO_MULT autoloading from theory `arithmetic` ... LESS_MONO_MULT = |- !m n p. m <= n ==> (m * p) <= (n * p) Theorem MULT_SYM autoloading from theory `arithmetic` ... MULT_SYM = |- !m n. m * n = n * m LESS_MONO_MULT1 = |- !m n p. m <= n ==> (p * m) <= (p * n) Theorem LESS_OR autoloading from theory `arithmetic` ... LESS_OR = |- !m n. m < n ==> (SUC m) <= n Theorem LESS_EQ_LESS_EQ_MONO autoloading from theory `arithmetic` ... LESS_EQ_LESS_EQ_MONO = |- !m n p q. m <= p /\ n <= q ==> (m + n) <= (p + q) Theorem ADD_ASSOC autoloading from theory `arithmetic` ... ADD_ASSOC = |- !m n p. m + (n + p) = (m + n) + p Theorem LESS_EQ_REFL autoloading from theory `arithmetic` ... LESS_EQ_REFL = |- !m. m <= m Theorem ADD_CLAUSES autoloading from theory `arithmetic` ... ADD_CLAUSES = |- (0 + m = m) /\ (m + 0 = m) /\ ((SUC m) + n = SUC(m + n)) /\ (m + (SUC n) = SUC(m + n)) Theorem MULT_CLAUSES autoloading from theory `arithmetic` ... MULT_CLAUSES = |- !m n. (0 * m = 0) /\ (m * 0 = 0) /\ (1 * m = m) /\ (m * 1 = m) /\ ((SUC m) * n = (m * n) + n) /\ (m * (SUC n) = m + (m * n)) Theorem INDUCTION autoloading from theory `num` ... INDUCTION = |- !P. P 0 /\ (!n. P n ==> P(SUC n)) ==> (!n. P n) LESS_MULT_PLUS_DIFF = |- !n k l. k < l ==> ((k * n) + n) <= (l * n) Theorem LESS_LESS_EQ_TRANS autoloading from theory `arithmetic` ... LESS_LESS_EQ_TRANS = |- !m n p. m < n /\ n <= p ==> m < p Theorem LESS_EQ_ADD autoloading from theory `arithmetic` ... LESS_EQ_ADD = |- !m n. m <= (m + n) Theorem TIMES2 autoloading from theory `arithmetic` ... TIMES2 = |- !n. 2 * n = n + n Theorem LESS_SUC_REFL autoloading from theory `prim_rec` ... LESS_SUC_REFL = |- !n. n < (SUC n) Definition EXP autoloading from theory `arithmetic` ... EXP = |- (!m. m EXP 0 = 1) /\ (!m n. m EXP (SUC n) = m * (m EXP n)) ONE_LESS_TWO_EXP_SUC = |- !n. 1 < (2 EXP (SUC n)) Theorem LESS_0 autoloading from theory `prim_rec` ... LESS_0 = |- !n. 0 < (SUC n) Theorem NOT_LESS_0 autoloading from theory `prim_rec` ... NOT_LESS_0 = |- !n. ~n < 0 NOT_MULT_LESS_0 = |- !m n. 0 < m /\ 0 < n ==> 0 < (m * n) EXP1 = |- !n. n EXP 1 = n Theorem ZERO_LESS_EXP autoloading from theory `arithmetic` ... ZERO_LESS_EXP = |- !m n. 0 < ((SUC n) EXP m) ZERO_LESS_TWO_EXP = |- !n. 0 < (2 EXP n) Definition LESS_OR_EQ autoloading from theory `arithmetic` ... LESS_OR_EQ = |- !m n. m <= n = m < n \/ (m = n) ONE_LESS_EQ_TWO_EXP = |- !n. 1 <= (2 EXP n) () : void File mult loaded () : void #rm -f odd_even.th echo 'set_flag(`abort_when_fail`,true);;'\ 'loadt `odd_even`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool 0 : int () : void Definition EVEN autoloading from theory `arithmetic` ... EVEN = |- (EVEN 0 = T) /\ (!n. EVEN(SUC n) = ~EVEN n) Definition ODD autoloading from theory `arithmetic` ... ODD = |- (ODD 0 = F) /\ (!n. ODD(SUC n) = ~ODD n) EVEN_ODD_0 = |- EVEN 0 /\ ~ODD 0 NOT_EVEN_ODD_SUC_EVEN_ODD = |- !n. (~EVEN(SUC n) = EVEN n) /\ (~ODD(SUC n) = ODD n) Theorem EVEN_ODD autoloading from theory `arithmetic` ... EVEN_ODD = |- !n. EVEN n = ~ODD n Theorem ODD_EVEN autoloading from theory `arithmetic` ... ODD_EVEN = |- !n. ODD n = ~EVEN n EVEN_ODD_SUC = |- !n. (EVEN(SUC n) = ODD n) /\ (ODD(SUC n) = EVEN n) Theorem ODD_ADD autoloading from theory `arithmetic` ... ODD_ADD = |- !m n. ODD(m + n) = ~(ODD m = ODD n) Theorem EVEN_ADD autoloading from theory `arithmetic` ... EVEN_ADD = |- !m n. EVEN(m + n) = (EVEN m = EVEN n) EVEN_ODD_PLUS_CASES = |- !n m. (ODD n /\ ODD m ==> EVEN(n + m)) /\ (ODD n /\ EVEN m ==> ODD(n + m)) /\ (EVEN n /\ EVEN m ==> EVEN(n + m)) Theorem EVEN_MULT autoloading from theory `arithmetic` ... EVEN_MULT = |- !m n. EVEN(m * n) = EVEN m \/ EVEN n EVEN_IMPL_MULT = |- !n m. EVEN n \/ EVEN m ==> EVEN(n * m) Theorem ODD_MULT autoloading from theory `arithmetic` ... ODD_MULT = |- !m n. ODD(m * n) = ODD m /\ ODD n ODD_IMPL_MULT = |- !n m. ODD n /\ ODD m ==> ODD(n * m) MULT_ODD = |- !n m. ODD(n * m) ==> ODD n /\ ODD m MULT_EVEN = |- !n m. EVEN(n * m) ==> EVEN n \/ EVEN m () : void File odd_even loaded () : void #rm -f min_max.th echo 'set_flag(`abort_when_fail`,true);;'\ 'loadt `minmax`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool 0 : int () : void MAX_DEF = |- !n p. MAX n p = (n <= p => p | n) Theorem ZERO_LESS_EQ autoloading from theory `arithmetic` ... ZERO_LESS_EQ = |- !n. 0 <= n MAX_0 = |- !n. MAX 0 n = n Theorem NOT_LESS autoloading from theory `arithmetic` ... NOT_LESS = |- !m n. ~m < n = n <= m Definition LESS_OR_EQ autoloading from theory `arithmetic` ... LESS_OR_EQ = |- !m n. m <= n = m < n \/ (m = n) MAX_SYM = |- !n p. MAX n p = MAX p n MAX_REFL = |- !n. MAX n n = n Theorem LESS_EQ_SUC_REFL autoloading from theory `arithmetic` ... LESS_EQ_SUC_REFL = |- !m. m <= (SUC m) MAX_SUC = |- !n. MAX n(SUC n) = SUC n Theorem LESS_EQ_MONO autoloading from theory `arithmetic` ... LESS_EQ_MONO = |- !n m. (SUC n) <= (SUC m) = n <= m SUC_MAX = |- !n p. MAX(SUC n)(SUC p) = SUC(MAX n p) MIN_DEF = |- !n p. MIN n p = (n <= p => n | p) MIN_0 = |- !n. MIN 0 n = 0 MIN_SYM = |- !n p. MIN n p = MIN p n MIN_REFL = |- !n. MIN n n = n MIN_SUC = |- !n. MIN n(SUC n) = n SUC_MIN = |- !n p. MIN(SUC n)(SUC p) = SUC(MIN n p) () : void File minmax loaded () : void #rm -f div_mod.th echo 'set_flag(`abort_when_fail`,true);;'\ 'loadt `div_mod`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool 0 : int () : void Theorem LESS_MOD autoloading from theory `arithmetic` ... LESS_MOD = |- !n k. k < n ==> (k MOD n = k) Theorem SUC_LESS autoloading from theory `prim_rec` ... SUC_LESS = |- !m n. (SUC m) < n ==> m < n SUC_MOD = |- !n m. (SUC n) < m ==> ((SUC n) MOD m = SUC(n MOD m)) Theorem LESS_0 autoloading from theory `prim_rec` ... LESS_0 = |- !n. 0 < (SUC n) Theorem ADD_CLAUSES autoloading from theory `arithmetic` ... ADD_CLAUSES = |- (0 + m = m) /\ (m + 0 = m) /\ ((SUC m) + n = SUC(m + n)) /\ (m + (SUC n) = SUC(m + n)) Theorem MULT_CLAUSES autoloading from theory `arithmetic` ... MULT_CLAUSES = |- !m n. (0 * m = 0) /\ (m * 0 = 0) /\ (1 * m = m) /\ (m * 1 = m) /\ ((SUC m) * n = (m * n) + n) /\ (m * (SUC n) = m + (m * n)) Theorem NOT_LESS_0 autoloading from theory `prim_rec` ... NOT_LESS_0 = |- !n. ~n < 0 NOT_MULT_LESS_0 = |- !m n. 0 < m /\ 0 < n ==> 0 < (m * n) Theorem MOD_TIMES autoloading from theory `arithmetic` ... MOD_TIMES = |- !n. 0 < n ==> (!q r. ((q * n) + r) MOD n = r MOD n) Theorem MULT_ASSOC autoloading from theory `arithmetic` ... MULT_ASSOC = |- !m n p. m * (n * p) = (m * n) * p Theorem MULT_SYM autoloading from theory `arithmetic` ... MULT_SYM = |- !m n. m * n = n * m Theorem MOD_MULT autoloading from theory `arithmetic` ... MOD_MULT = |- !n r. r < n ==> (!q. ((q * n) + r) MOD n = r) Theorem DA autoloading from theory `arithmetic` ... DA = |- !k n. 0 < n ==> (?r q. (k = (q * n) + r) /\ r < n) MOD_MULT_MOD = |- !m n. 0 < n /\ 0 < m ==> (!x. (x MOD (n * m)) MOD n = x MOD n) MULT_LEFT_1 = |- !m. 1 * m = m MULT_RIGHT_1 = |- !m. m * 1 = m Theorem DIV_MULT autoloading from theory `arithmetic` ... DIV_MULT = |- !n r. r < n ==> (!q. ((q * n) + r) DIV n = q) Theorem ADD_0 autoloading from theory `arithmetic` ... ADD_0 = |- !m. m + 0 = m MULT_DIV = |- !n q. 0 < n ==> ((q * n) DIV n = q) DIV_ONE = |- !q. q DIV (SUC 0) = q Definition ADD autoloading from theory `arithmetic` ... ADD = |- (!n. 0 + n = n) /\ (!m n. (SUC m) + n = SUC(m + n)) Definition MULT autoloading from theory `arithmetic` ... MULT = |- (!n. 0 * n = 0) /\ (!m n. (SUC m) * n = (m * n) + n) LESS_DIV_EQ_ZERO = |- !r n. r < n ==> (r DIV n = 0) Theorem MOD_EQ_0 autoloading from theory `arithmetic` ... MOD_EQ_0 = |- !n. 0 < n ==> (!k. (k * n) MOD n = 0) SUC_MOD_SELF = |- !n. (SUC n) MOD (SUC n) = 0 Definition DIVISION autoloading from theory `arithmetic` ... DIVISION = |- !n. 0 < n ==> (!k. (k = ((k DIV n) * n) + (k MOD n)) /\ (k MOD n) < n) Theorem MULT_SUC_EQ autoloading from theory `arithmetic` ... MULT_SUC_EQ = |- !p m n. (n * (SUC p) = m * (SUC p)) = (n = m) SUC_DIV_SELF = |- !n. (SUC n) DIV (SUC n) = 1 Theorem ADD_ASSOC autoloading from theory `arithmetic` ... ADD_ASSOC = |- !m n p. m + (n + p) = (m + n) + p Theorem ADD_SYM autoloading from theory `arithmetic` ... ADD_SYM = |- !m n. m + n = n + m ADD_DIV_SUC_DIV = |- !n. 0 < n ==> (!r. (n + r) DIV n = SUC(r DIV n)) Theorem RIGHT_ADD_DISTRIB autoloading from theory `arithmetic` ... RIGHT_ADD_DISTRIB = |- !m n p. (m + n) * p = (m * p) + (n * p) ADD_DIV_ADD_DIV = |- !n. 0 < n ==> (!x r. ((x * n) + r) DIV n = x + (r DIV n)) Theorem ADD1 autoloading from theory `arithmetic` ... ADD1 = |- !m. SUC m = m + 1 Theorem LESS_OR autoloading from theory `arithmetic` ... LESS_OR = |- !m n. m < n ==> (SUC m) <= n Definition LESS_OR_EQ autoloading from theory `arithmetic` ... LESS_OR_EQ = |- !m n. m <= n = m < n \/ (m = n) SUC_DIV_CASES = |- !n. 0 < n ==> (!x. ((SUC x) DIV n = x DIV n) \/ ((SUC x) DIV n = SUC(x DIV n))) Theorem LESS_THM autoloading from theory `prim_rec` ... LESS_THM = |- !m n. m < (SUC n) = (m = n) \/ m < n Less_lemma = |- !m n. m < n ==> (?p. (n = m + p) /\ 0 < p) Theorem LESS_EQ_ADD autoloading from theory `arithmetic` ... LESS_EQ_ADD = |- !m n. m <= (m + n) LESS_MONO_DIV = |- !n. 0 < n ==> (!p q. p < q ==> (p DIV n) <= (q DIV n)) Theorem LESS_EQ_REFL autoloading from theory `arithmetic` ... LESS_EQ_REFL = |- !m. m <= m LESS_EQ_MONO_DIV = |- !n. 0 < n ==> (!p q. p <= q ==> (p DIV n) <= (q DIV n)) Theorem LESS_TRANS autoloading from theory `arithmetic` ... LESS_TRANS = |- !m n p. m < n /\ n < p ==> m < p Theorem LESS_SUC_REFL autoloading from theory `prim_rec` ... LESS_SUC_REFL = |- !n. n < (SUC n) Theorem LESS_LESS_EQ_TRANS autoloading from theory `arithmetic` ... LESS_LESS_EQ_TRANS = |- !m n p. m < n /\ n <= p ==> m < p Less_MULT_lemma = |- !r m p. 0 < p ==> r < m ==> r < (p * m) Theorem LESS_MONO_ADD_EQ autoloading from theory `arithmetic` ... LESS_MONO_ADD_EQ = |- !m n p. (m + p) < (n + p) = m < n Less_MULT_ADD_lemma = |- !m n r r'. 0 < m /\ 0 < n /\ r < m /\ r' < n ==> ((r' * m) + r) < (n * m) Theorem ADD_INV_0_EQ autoloading from theory `arithmetic` ... ADD_INV_0_EQ = |- !m n. (m + n = m) = (n = 0) DIV_DIV_DIV_MULT = |- !m n. 0 < m /\ 0 < n ==> (!x. (x DIV m) DIV n = x DIV (m * n)) () : void File div_mod loaded () : void #rm -f more_arithmetic.th echo 'set_flag(`abort_when_fail`,true);;'\ 'loadt `mk_more_arithmetic`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool () : void Theory ineq loaded () : void Theory pre loaded () : void Theory sub loaded () : void Theory mult loaded () : void Theory min_max loaded () : void Theory odd_even loaded () : void Theory div_mod loaded () : void () : void File mk_more_arithmetic loaded () : void #echo 'set_flag(`abort_when_fail`,true);;'\ 'compilet `num_convs`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool Theorem EQ_MONO_ADD_EQ autoloading from theory `arithmetic` ... EQ_MONO_ADD_EQ = |- !m n p. (m + p = n + p) = (m = n) Theorem LESS_MONO_ADD_EQ autoloading from theory `arithmetic` ... LESS_MONO_ADD_EQ = |- !m n p. (m + p) < (n + p) = m < n Theorem LESS_EQ_MONO_ADD_EQ autoloading from theory `arithmetic` ... LESS_EQ_MONO_ADD_EQ = |- !m n p. (m + p) <= (n + p) = m <= n NUM_LESS_EQ_PLUS_CONV = - : (term -> conv) NUM_EQ_PLUS_CONV = - : (term -> conv) NUM_LESS_PLUS_CONV = - : (term -> conv) Calling Lisp compiler File num_convs compiled () : void #echo 'set_flag(`abort_when_fail`,true);;'\ 'compilet `num_tac`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool () : void GEN_INDUCT_RULE = - : (thm -> thm -> thm) GEN_INDUCT_TAC = - : tactic Calling Lisp compiler File num_tac compiled () : void #===> library more_arithmetic rebuilt make[4]: Leaving directory '/<>/Library/more_arithmetic' make[4]: Entering directory '/<>/Library/numeral' echo 'set_flag(`abort_when_fail`,true);;' \ 'loadt `numeral_theory`;;' \ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool false : bool () : void def_buffer = "T" : term new_defn = - : (string list -> thm) define = - : (term -> void) File define loaded () : void Theorem LESS_0 autoloading from theory `prim_rec` ... LESS_0 = |- !n. 0 < (SUC n) Theorem NOT_SUC autoloading from theory `num` ... NOT_SUC = |- !n. ~(SUC n = 0) Theorem NOT_LESS_0 autoloading from theory `prim_rec` ... NOT_LESS_0 = |- !n. ~n < 0 NOT_0_IMP_0_LESS = |- !n. ~(n = 0) = 0 < n Theorem LESS_EQ_TRANS autoloading from theory `arithmetic` ... LESS_EQ_TRANS = |- !m n p. m <= n /\ n <= p ==> m <= p Theorem LESS_EQ_ADD autoloading from theory `arithmetic` ... LESS_EQ_ADD = |- !m n. m <= (m + n) LESS_OR_EQ_IMP_LESS_OR_EQ_ADD = |- !m n p. m <= n ==> m <= (n + p) Theorem LESS_EQ_MONO autoloading from theory `arithmetic` ... LESS_EQ_MONO = |- !n m. (SUC n) <= (SUC m) = n <= m Definition ADD autoloading from theory `arithmetic` ... ADD = |- (!n. 0 + n = n) /\ (!m n. (SUC m) + n = SUC(m + n)) Theorem ADD_SYM autoloading from theory `arithmetic` ... ADD_SYM = |- !m n. m + n = n + m Definition LESS_OR_EQ autoloading from theory `arithmetic` ... LESS_OR_EQ = |- !m n. m <= n = m < n \/ (m = n) Definition MULT autoloading from theory `arithmetic` ... MULT = |- (!n. 0 * n = 0) /\ (!m n. (SUC m) * n = (m * n) + n) Theorem MULT_SYM autoloading from theory `arithmetic` ... MULT_SYM = |- !m n. m * n = n * m MULT_NONNEG_MONO_LESS_OR_EQ = |- !m n. 0 < m ==> n <= (m * n) Theorem LESS_LESS_EQ_TRANS autoloading from theory `arithmetic` ... LESS_LESS_EQ_TRANS = |- !m n p. m < n /\ n <= p ==> m < p ADDR_GREATER = |- !m n p. m < n ==> m < (n + p) ADDL_GREATER = |- !m n p. m < n ==> m < (p + n) Theorem LENGTH_APPEND autoloading from theory `list` ... LENGTH_APPEND = |- !l1 l2. LENGTH(APPEND l1 l2) = (LENGTH l1) + (LENGTH l2) Theorem LENGTH_SNOC autoloading from theory `list` ... LENGTH_SNOC = |- !x l. LENGTH(SNOC x l) = SUC(LENGTH l) Theorem LENGTH_REVERSE autoloading from theory `list` ... LENGTH_REVERSE = |- !l. LENGTH(REVERSE l) = LENGTH l Definition LENGTH autoloading from theory `list` ... LENGTH = |- (LENGTH[] = 0) /\ (!h t. LENGTH(CONS h t) = SUC(LENGTH t)) LENGTH_CLAUSES = |- (LENGTH[] = 0) /\ (!h t. LENGTH(CONS h t) = SUC(LENGTH t)) /\ (!x l. LENGTH(SNOC x l) = SUC(LENGTH l)) /\ (!l1 l2. LENGTH(APPEND l1 l2) = (LENGTH l1) + (LENGTH l2)) /\ (!l. LENGTH(REVERSE l) = LENGTH l) Theorem MULT_CLAUSES autoloading from theory `arithmetic` ... MULT_CLAUSES = |- !m n. (0 * m = 0) /\ (m * 0 = 0) /\ (1 * m = m) /\ (m * 1 = m) /\ ((SUC m) * n = (m * n) + n) /\ (m * (SUC n) = m + (m * n)) Theorem LESS_EQ_MONO_ADD_EQ autoloading from theory `arithmetic` ... LESS_EQ_MONO_ADD_EQ = |- !m n p. (m + p) <= (n + p) = m <= n Theorem RIGHT_ADD_DISTRIB autoloading from theory `arithmetic` ... RIGHT_ADD_DISTRIB = |- !m n p. (m + n) * p = (m * p) + (n * p) Theorem LESS_ADD_1 autoloading from theory `arithmetic` ... LESS_ADD_1 = |- !m n. n < m ==> (?p. m = n + (p + 1)) LESS_MULT_PLUS_DIFF = |- !n k l. k < l ==> ((k * n) + n) <= (l * n) Theorem LAST autoloading from theory `list` ... LAST = |- !x l. LAST(SNOC x l) = x Theorem BUTLAST autoloading from theory `list` ... BUTLAST = |- !x l. BUTLAST(SNOC x l) = l Theorem NULL autoloading from theory `list` ... NULL = |- NULL[] /\ (!h t. ~NULL(CONS h t)) Theorem SNOC_INDUCT autoloading from theory `list` ... SNOC_INDUCT = |- !P. P[] /\ (!l. P l ==> (!x. P(SNOC x l))) ==> (!l. P l) SNOC_BUTLAST = |- !l. ~NULL l ==> (SNOC(LAST l)(BUTLAST l) = l) Theorem LESS_MONO_ADD_EQ autoloading from theory `arithmetic` ... LESS_MONO_ADD_EQ = |- !m n p. (m + p) < (n + p) = m < n Theorem LESS_TRANS autoloading from theory `arithmetic` ... LESS_TRANS = |- !m n p. m < n /\ n < p ==> m < p LESS_LESS_MONO = |- !m n p q. m < p /\ n < q ==> (m + n) < (p + q) Theorem LESS_EQ_REFL autoloading from theory `arithmetic` ... LESS_EQ_REFL = |- !m. m <= m Theorem LESS_EQUAL_ANTISYM autoloading from theory `arithmetic` ... LESS_EQUAL_ANTISYM = |- !n m. n <= m /\ m <= n ==> (n = m) Theorem NOT_LESS autoloading from theory `arithmetic` ... NOT_LESS = |- !m n. ~m < n = n <= m NOT_EQ_LESS_EQ = |- !a b. ~(a = b) = a < b \/ b < a Theorem LESS_REFL autoloading from theory `prim_rec` ... LESS_REFL = |- !n. ~n < n GREATER_NOT_ZERO = |- !x. 0 < x ==> ~(x = 0) Theorem NOT_LESS_EQUAL autoloading from theory `arithmetic` ... NOT_LESS_EQUAL = |- !m n. ~m <= n = n < m LESS_IS_NOT_LESS_OR_EQ = |- !x y. x < y = ~y <= x Theorem INV_SUC_EQ autoloading from theory `prim_rec` ... INV_SUC_EQ = |- !m n. (SUC m = SUC n) = (m = n) Definition REPLICATE autoloading from theory `list` ... REPLICATE = |- (!x. REPLICATE 0 x = []) /\ (!n x. REPLICATE(SUC n)x = CONS x(REPLICATE n x)) Theorem LENGTH_REPLICATE autoloading from theory `list` ... LENGTH_REPLICATE = |- !n x. LENGTH(REPLICATE n x) = n LENGTH_REPLICATE = |- !n e. LENGTH(REPLICATE n e) = n Definition ALL_EL autoloading from theory `list` ... ALL_EL = |- (!P. ALL_EL P[] = T) /\ (!P x l. ALL_EL P(CONS x l) = P x /\ ALL_EL P l) EVERY_REPLICATE = |- !n e. ALL_EL($= e)(REPLICATE n e) () : void IS_NORMALIZED = |- !digits. IS_NORMALIZED digits = (digits = []) \/ 0 < (HD digits) IS_NORMALIZED_NIL = |- IS_NORMALIZED[] Theorem NOT_CONS_NIL autoloading from theory `list` ... NOT_CONS_NIL = |- !h t. ~(CONS h t = []) Definition HD autoloading from theory `list` ... HD = |- !h t. HD(CONS h t) = h IS_NORMALIZED_CONS = |- !e l. IS_NORMALIZED(CONS e l) = 0 < e () : void IS_BASEN = |- !radix digits. IS_BASEN radix digits = ALL_EL($> radix)digits IS_BASEN_NIL = |- !r. IS_BASEN r[] Definition GREATER autoloading from theory `arithmetic` ... GREATER = |- !m n. m > n = n < m IS_BASEN_CONS = |- !r l e. IS_BASEN r(CONS e l) = e < r /\ IS_BASEN r l IS_BASEN_CONS_IMP_LESS = |- !r l e. 1 < r ==> IS_BASEN r(CONS e l) ==> e < r IS_BASEN_CONS_IMP_IS_BASEN = |- !r l e. 1 < r ==> IS_BASEN r(CONS e l) ==> IS_BASEN r l Theorem list_Axiom autoloading from theory `list` ... list_Axiom = |- !x f. ?! fn. (fn[] = x) /\ (!h t. fn(CONS h t) = f(fn t)h t) BASEN = |- (!radix. BASEN radix[] = 0) /\ (!radix digit digits. BASEN radix(CONS digit digits) = (digit * (radix EXP (LENGTH digits))) + (BASEN radix digits)) Theorem ADD_CLAUSES autoloading from theory `arithmetic` ... ADD_CLAUSES = |- (0 + m = m) /\ (m + 0 = m) /\ ((SUC m) + n = SUC(m + n)) /\ (m + (SUC n) = SUC(m + n)) BASEN_ZEROS = |- !r n. BASEN r(REPLICATE n 0) = 0 Theorem SUC_LESS autoloading from theory `prim_rec` ... SUC_LESS = |- !m n. (SUC m) < n ==> m < n Theorem ZERO_LESS_EXP autoloading from theory `arithmetic` ... ZERO_LESS_EXP = |- !m n. 0 < ((SUC n) EXP m) one_less_exp_lemma = . |- !m. 0 < (r EXP m) BASEN_EMPTY_EQ_0 = |- !r l. 1 < r ==> IS_NORMALIZED l ==> ((BASEN r l = 0) = (l = [])) BASEN_CONS_0 = |- !r l. BASEN r(CONS 0 l) = BASEN r l Theorem MULT_ASSOC autoloading from theory `arithmetic` ... MULT_ASSOC = |- !m n p. m * (n * p) = (m * n) * p Theorem EQ_MONO_ADD_EQ autoloading from theory `arithmetic` ... EQ_MONO_ADD_EQ = |- !m n p. (m + p = n + p) = (m = n) Theorem ADD_ASSOC autoloading from theory `arithmetic` ... ADD_ASSOC = |- !m n p. m + (n + p) = (m + n) + p Definition EXP autoloading from theory `arithmetic` ... EXP = |- (!m. m EXP 0 = 1) /\ (!m n. m EXP (SUC n) = m * (m EXP n)) Definition SNOC autoloading from theory `list` ... SNOC = |- (!x. SNOC x[] = [x]) /\ (!x x' l. SNOC x(CONS x' l) = CONS x'(SNOC x l)) BASEN_SNOC = |- !r e l. BASEN r(SNOC e l) = ((BASEN r l) * r) + e BASEN_DIGIT_EQ_DIGIT = |- !r e. BASEN r[e] = e BASEN_EXP_N = |- !r n. BASEN r(CONS 1(REPLICATE n 0)) = r EXP n BASEN_LESS_EXP_LENGTH = |- !r l. 1 < r ==> IS_BASEN r l ==> (BASEN r l) < (r EXP (LENGTH l)) Theorem SUB_LESS_OR autoloading from theory `arithmetic` ... SUB_LESS_OR = |- !m n. n < m ==> n <= (m - 1) BASEN_LESS_OR_EQ_EXP_LENGTH = |- !r l. 1 < r ==> IS_BASEN r l ==> (BASEN r l) <= ((r EXP (LENGTH l)) - 1) Theorem DIV_MULT autoloading from theory `arithmetic` ... DIV_MULT = |- !n r. r < n ==> (!q. ((q * n) + r) DIV n = q) Theorem MOD_MULT autoloading from theory `arithmetic` ... MOD_MULT = |- !n r. r < n ==> (!q. ((q * n) + r) MOD n = r) numeral_lemma = |- !r' n r q q'. r' < n ==> r < n ==> ((q * n) + r = (q' * n) + r') ==> (r = r') /\ (q = q') basen_and_eq_lemma = ..... |- (BASEN r l1 = BASEN r l2) /\ (h = h') Theorem CONS_11 autoloading from theory `list` ... CONS_11 = |- !h t h' t'. (CONS h t = CONS h' t') = (h = h') /\ (t = t') Theorem SUC_NOT autoloading from theory `arithmetic` ... SUC_NOT = |- !n. ~(0 = SUC n) Theorem list_INDUCT autoloading from theory `list` ... list_INDUCT = |- !P. P[] /\ (!t. P t ==> (!h. P(CONS h t))) ==> (!l. P l) BASEN_11 = |- !r l1 l2. 1 < r ==> IS_BASEN r l1 ==> IS_BASEN r l2 ==> (LENGTH l1 = LENGTH l2) ==> (BASEN r l1 = BASEN r l2) ==> (l1 = l2) Theorem SUB_0 autoloading from theory `arithmetic` ... SUB_0 = |- !m. (0 - m = 0) /\ (m - 0 = m) Theorem SUB_MONO_EQ autoloading from theory `arithmetic` ... SUB_MONO_EQ = |- !n m. (SUC n) - (SUC m) = n - m BASEN_EXP_LESS_OR_EQ = |- !r l. 1 < r ==> ~NULL l ==> IS_NORMALIZED l ==> IS_BASEN r l ==> (r EXP ((LENGTH l) - 1)) <= (BASEN r l) Theorem LESS_EQ autoloading from theory `arithmetic` ... LESS_EQ = |- !m n. m < n = (SUC m) <= n BASEN_EXP_LESS = |- !r l. IS_BASEN r l ==> IS_NORMALIZED l ==> ~NULL l ==> 1 < r ==> ((r EXP ((LENGTH l) - 1)) - 1) < (BASEN r l) BASEN_ONTO = |- !r l. ?n. BASEN r l = n Theorem LEFT_ADD_DISTRIB autoloading from theory `arithmetic` ... LEFT_ADD_DISTRIB = |- !m n p. p * (m + n) = (p * m) + (p * n) Theorem EXP_ADD autoloading from theory `arithmetic` ... EXP_ADD = |- !p q n. n EXP (p + q) = (n EXP p) * (n EXP q) Definition APPEND autoloading from theory `list` ... APPEND = |- (!l. APPEND[]l = l) /\ (!l1 l2 h. APPEND(CONS h l1)l2 = CONS h(APPEND l1 l2)) BASEN_APPEND = |- !r l m. BASEN r(APPEND l m) = ((r EXP (LENGTH m)) * (BASEN r l)) + (BASEN r m) IS_BASEN_APPEND = |- !r l m. IS_BASEN r(APPEND l m) = IS_BASEN r l /\ IS_BASEN r m Theorem LESS_MOD autoloading from theory `arithmetic` ... LESS_MOD = |- !n k. k < n ==> (k MOD n = k) Theorem MOD_TIMES autoloading from theory `arithmetic` ... MOD_TIMES = |- !n. 0 < n ==> (!q r. ((q * n) + r) MOD n = r MOD n) Theorem LESS_MONO_EQ autoloading from theory `arithmetic` ... LESS_MONO_EQ = |- !m n. (SUC m) < (SUC n) = m < n Theorem num_CASES autoloading from theory `arithmetic` ... num_CASES = |- !m. (m = 0) \/ (?n. m = SUC n) Theorem SUC_SUB1 autoloading from theory `arithmetic` ... SUC_SUB1 = |- !m. (SUC m) - 1 = m Definition TL autoloading from theory `list` ... TL = |- !h t. TL(CONS h t) = t Theorem list_CASES autoloading from theory `list` ... list_CASES = |- !l. (l = []) \/ (?t h. l = CONS h t) BASEN_TRAILING = |- !r l. 1 < r ==> IS_BASEN r l ==> ~NULL l ==> (BASEN r(TL l) = (BASEN r l) MOD (r EXP ((LENGTH l) - 1))) Theorem SNOC_APPEND autoloading from theory `list` ... SNOC_APPEND = |- !x l. SNOC x l = APPEND l[x] BASEN_LEADING = |- !r l. 1 < r ==> IS_BASEN r l ==> ~NULL l ==> (BASEN r(BUTLAST l) = (BASEN r l) DIV r) Theorem LESS_EQ_EXISTS autoloading from theory `arithmetic` ... LESS_EQ_EXISTS = |- !m n. m <= n = (?p. n = m + p) Theorem LESS_THM autoloading from theory `prim_rec` ... LESS_THM = |- !m n. m < (SUC n) = (m = n) \/ m < n NORMALIZED_LENGTHS_LEMMA = |- !l1 l2 r. ~(1 < r /\ IS_BASEN r l1 /\ IS_BASEN r l2 /\ IS_NORMALIZED l1 /\ IS_NORMALIZED l2 /\ (BASEN r l1 = BASEN r l2) /\ (LENGTH l1) < (LENGTH l2)) NORMALIZED_LENGTHS = |- !l1 l2 r. 1 < r ==> IS_BASEN r l1 ==> IS_BASEN r l2 ==> IS_NORMALIZED l1 ==> IS_NORMALIZED l2 ==> (BASEN r l1 = BASEN r l2) ==> (LENGTH l1 = LENGTH l2) NORMALIZED_BASEN_11 = |- !l1 l2 r. 1 < r ==> IS_BASEN r l1 ==> IS_BASEN r l2 ==> IS_NORMALIZED l1 ==> IS_NORMALIZED l2 ==> (BASEN r l1 = BASEN r l2) ==> (l1 = l2) Definition DIVISION autoloading from theory `arithmetic` ... DIVISION = |- !n. 0 < n ==> (!k. (k = ((k DIV n) * n) + (k MOD n)) /\ (k MOD n) < n) div_mod_lemma = . |- (n = ((n DIV (r EXP m)) * (r EXP m)) + (n MOD (r EXP m))) /\ (n MOD (r EXP m)) < (r EXP m) BASEN_ONTO_MOD_LEMMA = |- !m n r. ?l. 1 < r ==> n < (r EXP m) ==> (LENGTH l = m) /\ (n = BASEN r l) BASEN_MOD_ONTO_LEMMA = |- !n m r. ?l. 1 < r ==> (LENGTH l = n) /\ (BASEN r l = m MOD (r EXP n)) BASEN_DIGITS_EXISTS = |- ?f. !n m r. 1 < r ==> (LENGTH(f r n m) = n) /\ (BASEN r(f r n m) = m MOD (r EXP n)) BASEN_DIGITS = |- !n m r. 1 < r ==> (LENGTH(BASEN_DIGITS r n m) = n) /\ (BASEN r(BASEN_DIGITS r n m) = m MOD (r EXP n)) SELECT_TAC = - : tactic EXP_1 = |- !r. r EXP 1 = r MULT_POS_MONO = |- !m n. 0 < n ==> m <= (m * n) POS_EXP_POS = |- !r x. 0 < r ==> 0 < x ==> r <= (r EXP x) LESS_LEMMA1 = |- !m n. m < (SUC n) ==> (m = n) \/ m < n LESS_MONO_REV = |- !m n. (SUC m) < (SUC n) ==> m < n Theorem LESS_SUC autoloading from theory `prim_rec` ... LESS_SUC = |- !m n. m < n ==> m < (SUC n) MULT_LESS_MULT = |- !m n p q. m < n ==> p < q ==> (m * p) < (n * q) MULT_POS_STRICT_MONO = |- !m n p. n < p ==> n < ((SUC m) * p) Theorem LESS_EXP_SUC_MONO autoloading from theory `arithmetic` ... LESS_EXP_SUC_MONO = |- !n m. ((SUC(SUC m)) EXP n) < ((SUC(SUC m)) EXP (SUC n)) EXP_LESS_EXP = |- !m n n'. 1 < m ==> n < n' ==> (m EXP n) < (m EXP n') EXP_2_STRICT_MONO = |- !m n. 1 < m ==> 1 < n ==> m < (m EXP n) NUM_CASES_DISJ = |- !n m. m < n \/ (m = n) \/ n < m Theorem LESS_MULT_MONO autoloading from theory `arithmetic` ... LESS_MULT_MONO = |- !m i n. ((SUC n) * m) < ((SUC n) * i) = m < i MULT_POS_STRICT_MONO2 = |- !m n1 n2. 0 < m ==> ((m * n1) < (m * n2) = n1 < n2) () : void LOG = |- !r n. LOG r n = (@x. (r EXP x) <= n /\ n < (r EXP (x + 1))) Theorem LESS_OR autoloading from theory `arithmetic` ... LESS_OR = |- !m n. m < n ==> (SUC m) <= n Theorem LESS_0_CASES autoloading from theory `arithmetic` ... LESS_0_CASES = |- !m. (0 = m) \/ 0 < m LOG_1 = |- !r. 1 < r ==> (LOG r 1 = 0) () : void File numeral_theory loaded () : void #rm -f dummy.th echo 'set_flag(`abort_when_fail`,true);;' \ 'new_theory `dummy`;;' \ 'load_library `reduce`;;' \ 'new_parent `numeral`;;' \ 'let t = `numeral` in do' \ 'map (\s. autoload_theory(`definition`,t,fst s)) (definitions t);' \ 'map (\s. autoload_theory(`theorem`,t,fst s)) (theorems t);;' \ 'compilet `numeral_rules`;;' \ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool () : void Loading library reduce ... Extending help search path. Loading boolean conversions........ Loading arithmetic conversions.................. Loading general conversions, rule and tactic..... Library reduce loaded. () : void Theory numeral loaded () : void [(); (); (); (); (); (); (); (); (); (); (); (); (); (); (); (); (); (); (); (); (); (); (); (); (); (); (); (); (); (); (); (); (); (); ()] : void list Theorem LESS_EQ_ADD autoloading from theory `arithmetic` ... LESS_EQ_ADD = |- !m n. m <= (m + n) Theorem ADD_ASSOC autoloading from theory `arithmetic` ... ADD_ASSOC = |- !m n p. m + (n + p) = (m + n) + p Theorem LESS_EQ_EXISTS autoloading from theory `arithmetic` ... LESS_EQ_EXISTS = |- !m n. m <= n = (?p. n = m + p) ADDR_GREATER_EQ = |- !m n p. m <= n ==> m <= (n + p) Theorem LESS_ANTISYM autoloading from theory `arithmetic` ... LESS_ANTISYM = |- !m n. ~(m < n /\ n < m) NOT_LESS_AND_GREATER = |- !n m. n < m ==> ~m < n Theorem LESS_MONO_ADD_EQ autoloading from theory `arithmetic` ... LESS_MONO_ADD_EQ = |- !m n p. (m + p) < (n + p) = m < n Theorem ADD_SYM autoloading from theory `arithmetic` ... ADD_SYM = |- !m n. m + n = n + m ADD_MONO_LESS = |- !m n p. (m + p) < (m + n) = p < n Theorem ADD_SUB autoloading from theory `arithmetic` ... ADD_SUB = |- !a c. (a + c) - c = a ADD_EQ_IMP_SUB_EQ = |- !a b c. (a = b + c) ==> (a - b = c) radices = [10; 16] : int list max = - : (int -> int -> int) max_radix = 16 : int () : void upto = - : (int -> int list) zero_upto = - : (int -> int list) lengthen = - : (* -> int -> * list -> * list) listify = - : (* -> * list) firstn = - : (int -> * list -> * list) butfirstn = - : (int -> * list -> * list) absolute_value = - : (int -> int) mk_binary_comb = - : (term -> term -> term -> term) dest_unary_comb = - : (term -> term -> term) dest_binary_comb = - : (term -> term -> (term # term)) mk_term_list = - : ((string # type) -> int -> term list) Definition SNOC autoloading from theory `list` ... SNOC = |- (!x. SNOC x[] = [x]) /\ (!x x' l. SNOC x(CONS x' l) = CONS x'(SNOC x l)) CONS_OF_SNOC_CONV = - : conv SNOC_OF_CONS_CONV = - : conv Definition GREATER autoloading from theory `arithmetic` ... GREATER = |- !m n. m > n = n < m Theorem LESS_SUC autoloading from theory `prim_rec` ... LESS_SUC = |- !m n. m < n ==> m < (SUC n) Theorem LESS_SUC_REFL autoloading from theory `prim_rec` ... LESS_SUC_REFL = |- !n. n < (SUC n) Definition LENGTH autoloading from theory `list` ... LENGTH = |- (LENGTH[] = 0) /\ (!h t. LENGTH(CONS h t) = SUC(LENGTH t)) LENGTH_COMPARE_CONV = - : conv Theorem LESS_NOT_EQ autoloading from theory `prim_rec` ... LESS_NOT_EQ = |- !m n. m < n ==> ~(m = n) COMPARE_EQ_RULE = - : (thm -> thm) COMPARE_LT_RULE = - : (thm -> thm) Theorem NOT_LESS autoloading from theory `arithmetic` ... NOT_LESS = |- !m n. ~m < n = n <= m Definition LESS_OR_EQ autoloading from theory `arithmetic` ... LESS_OR_EQ = |- !m n. m <= n = m < n \/ (m = n) COMPARE_LE_RULE = - : (thm -> thm) Theorem LESS_REFL autoloading from theory `prim_rec` ... LESS_REFL = |- !n. ~n < n COMPARE_GT_RULE = - : (thm -> thm) Theorem GREATER_EQ autoloading from theory `arithmetic` ... GREATER_EQ = |- !n m. n >= m = m <= n Definition GREATER_OR_EQ autoloading from theory `arithmetic` ... GREATER_OR_EQ = |- !m n. m >= n = m > n \/ (m = n) COMPARE_GE_RULE = - : (thm -> thm) LENGTH_EQ_CONV = - : conv is_lt = - : (term -> bool) LENGTH_LT_CONV = - : conv is_le = - : (term -> bool) LENGTH_LE_CONV = - : conv is_gt = - : (term -> bool) LENGTH_GT_CONV = - : conv is_ge = - : (term -> bool) LENGTH_GE_CONV = - : conv fast_num_CONV = - : conv Theorem LESS_TRANS autoloading from theory `arithmetic` ... LESS_TRANS = |- !m n p. m < n /\ n < p ==> m < p Theorem EQ_LESS autoloading from theory `prim_rec` ... EQ_LESS = |- !n. (SUC m = n) ==> m < n fast_GT_CONV = - : conv fast_LT_CONV = - : conv mk_basen = - : (term -> term list -> term) dest_basen = - : (term -> (term # term)) is_basen = - : (term -> bool) dest_unary_basen_comb = - : (term -> (term # term # term # term # term list)) dest_binary_basen_comb = - : (term -> (term # term # term # term # term list # term # term # term list)) numeral_of_int = - : ((int # int) -> int list) basen_of_numeral = - : ((int # int list) -> term) basen_of_int = - : ((int # int) -> term) numeral_of_basen = - : (term -> (int # int list)) int_of_numeral = - : ((int # int list) -> int) int_of_basen = - : (term -> int) Definition ALL_EL autoloading from theory `list` ... ALL_EL = |- (!P. ALL_EL P[] = T) /\ (!P x l. ALL_EL P(CONS x l) = P x /\ ALL_EL P l) Definition IS_BASEN autoloading from theory `numeral` ... IS_BASEN = |- !radix digits. IS_BASEN radix digits = ALL_EL($> radix)digits Theorem IS_BASEN_NIL autoloading from theory `numeral` ... IS_BASEN_NIL = |- !r. IS_BASEN r[] IS_BASEN_CONV = - : conv Theorem IS_NORMALIZED_CONS autoloading from theory `numeral` ... IS_NORMALIZED_CONS = |- !e l. IS_NORMALIZED(CONS e l) = 0 < e Theorem IS_NORMALIZED_NIL autoloading from theory `numeral` ... IS_NORMALIZED_NIL = |- IS_NORMALIZED[] IS_NORMALIZED_CONV = - : conv Theorem BASEN_CONS_0 autoloading from theory `numeral` ... BASEN_CONS_0 = |- !r l. BASEN r(CONS 0 l) = BASEN r l ONCE_BASEN_NORMALIZE_CONV = - : conv BASEN_NORMALIZE_CONV = - : conv ONCE_BASEN_DENORMALIZE_CONV = - : conv BASEN_DENORMALIZE_CONV = - : (int -> conv) Theorem ADD_CLAUSES autoloading from theory `arithmetic` ... ADD_CLAUSES = |- (0 + m = m) /\ (m + 0 = m) /\ ((SUC m) + n = SUC(m + n)) /\ (m + (SUC n) = SUC(m + n)) Theorem MULT_CLAUSES autoloading from theory `arithmetic` ... MULT_CLAUSES = |- !m n. (0 * m = 0) /\ (m * 0 = 0) /\ (1 * m = m) /\ (m * 1 = m) /\ ((SUC m) * n = (m * n) + n) /\ (m * (SUC n) = m + (m * n)) Theorem LESS_MONO_MULT autoloading from theory `arithmetic` ... LESS_MONO_MULT = |- !m n p. m <= n ==> (m * p) <= (n * p) Theorem LESS_EQ autoloading from theory `arithmetic` ... LESS_EQ = |- !m n. m < n = (SUC m) <= n Definition MULT autoloading from theory `arithmetic` ... MULT = |- (!n. 0 * n = 0) /\ (!m n. (SUC m) * n = (m * n) + n) Theorem BASEN_LESS_EXP_LENGTH autoloading from theory `numeral` ... BASEN_LESS_EXP_LENGTH = |- !r l. 1 < r ==> IS_BASEN r l ==> (BASEN r l) < (r EXP (LENGTH l)) Theorem LESS_LESS_EQ_TRANS autoloading from theory `arithmetic` ... LESS_LESS_EQ_TRANS = |- !m n p. m < n /\ n <= p ==> m < p Definition BASEN autoloading from theory `numeral` ... BASEN = |- (!radix. BASEN radix[] = 0) /\ (!radix digit digits. BASEN radix(CONS digit digits) = (digit * (radix EXP (LENGTH digits))) + (BASEN radix digits)) BASEN_COMPARE_CONV = - : conv BASEN_EQ_CONV = - : conv BASEN_LT_CONV = - : conv BASEN_LE_CONV = - : conv BASEN_GT_CONV = - : conv BASEN_GE_CONV = - : conv Theorem ADD_SUC autoloading from theory `arithmetic` ... ADD_SUC = |- !m n. SUC(m + n) = m + (SUC n) fast_add = - : (int -> int -> thm) fast_add_with_carry = - : (int -> int -> int -> thm) fast_mul_with_carry = - : (int -> int -> int -> thm) Theorem MOD_TIMES autoloading from theory `arithmetic` ... MOD_TIMES = |- !n. 0 < n ==> (!q r. ((q * n) + r) MOD n = r MOD n) Definition DIVISION autoloading from theory `arithmetic` ... DIVISION = |- !n. 0 < n ==> (!k. (k = ((k DIV n) * n) + (k MOD n)) /\ (k MOD n) < n) Theorem EQ_MONO_ADD_EQ autoloading from theory `arithmetic` ... EQ_MONO_ADD_EQ = |- !m n p. (m + p = n + p) = (m = n) Theorem RIGHT_ADD_DISTRIB autoloading from theory `arithmetic` ... RIGHT_ADD_DISTRIB = |- !m n p. (m + n) * p = (m * p) + (n * p) Theorem DIV_UNIQUE autoloading from theory `arithmetic` ... DIV_UNIQUE = |- !n k q. (?r. (k = (q * n) + r) /\ r < n) ==> (k DIV n = q) Theorem MOD_MULT autoloading from theory `arithmetic` ... MOD_MULT = |- !n r. r < n ==> (!q. ((q * n) + r) MOD n = r) Theorem DIV_MULT autoloading from theory `arithmetic` ... DIV_MULT = |- !n r. r < n ==> (!q. ((q * n) + r) DIV n = q) fast_div_mod = - : (int -> int -> (thm # thm)) basen_add_basecase = |- !r. ((BASEN r[]) + (BASEN r[]) = BASEN r[0]) /\ (LENGTH[] = LENGTH[]) /\ (LENGTH[] = LENGTH[]) Theorem MULT_ASSOC autoloading from theory `arithmetic` ... MULT_ASSOC = |- !m n p. m * (n * p) = (m * n) * p Definition EXP autoloading from theory `arithmetic` ... EXP = |- (!m. m EXP 0 = 1) /\ (!m n. m EXP (SUC n) = m * (m EXP n)) basen_add_step_lemma = |- !r. 0 < r ==> (!x y xs ys z zs. ((BASEN r xs) + (BASEN r ys) = BASEN r(CONS z zs)) /\ (LENGTH xs = LENGTH ys) /\ (LENGTH xs = LENGTH zs) ==> ((BASEN r(CONS x xs)) + (BASEN r(CONS y ys)) = BASEN r(CONS(((x + y) + z) DIV r)(CONS(((x + y) + z) MOD r)zs))) /\ (LENGTH(CONS x xs) = LENGTH(CONS y ys)) /\ (LENGTH(CONS x xs) = LENGTH(CONS(((x + y) + z) MOD r)zs))) PURE_BASEN_ADD_CONV = - : conv BASEN_ADD_CONV = - : conv Theorem ADD_0 autoloading from theory `arithmetic` ... ADD_0 = |- !m. m + 0 = m Theorem ADD1 autoloading from theory `arithmetic` ... ADD1 = |- !m. SUC m = m + 1 PURE_BASEN_SUC_CONV = - : conv BASEN_SUC_CONV = - : conv Theorem SUB_EQ_0 autoloading from theory `arithmetic` ... SUB_EQ_0 = |- !m n. (m - n = 0) = m <= n Theorem SUB_EQUAL_0 autoloading from theory `arithmetic` ... SUB_EQUAL_0 = |- !c. c - c = 0 BASEN_SUB_CONV = - : conv Theorem PRE_SUB1 autoloading from theory `arithmetic` ... PRE_SUB1 = |- !m. PRE m = m - 1 PURE_BASEN_PRE_CONV = - : conv BASEN_PRE_CONV = - : conv basen_mul_basecase = |- !r n. ((BASEN r[]) * (BASEN r[n]) = BASEN r[0]) /\ (LENGTH[] = LENGTH[]) Theorem MULT_SYM autoloading from theory `arithmetic` ... MULT_SYM = |- !m n. m * n = n * m Theorem BASEN_DIGIT_EQ_DIGIT autoloading from theory `numeral` ... BASEN_DIGIT_EQ_DIGIT = |- !r e. BASEN r[e] = e basen_mul_step_lemma = |- !r. (0 < r = T) ==> (!n x xs y ys. ((BASEN r xs) * (BASEN r[n]) = BASEN r(CONS y ys)) /\ (LENGTH xs = LENGTH ys) ==> ((BASEN r(CONS x xs)) * (BASEN r[n]) = BASEN r(CONS(((n * x) + y) DIV r)(CONS(((n * x) + y) MOD r)ys))) /\ (LENGTH(CONS x xs) = LENGTH(CONS(((n * x) + y) MOD r)ys))) PURE_BASEN_MUL_BY_DIGIT_CONV = - : conv basen_mul_sum_basecase = |- !r x. BASEN r[BASEN r x] = BASEN r x basen_mul_sum_step_lemma = |- !r x1 x2 xs. BASEN r(CONS(BASEN r x1)(CONS(BASEN r x2)xs)) = BASEN r(CONS(((BASEN r x1) * r) + (BASEN r x2))xs) Theorem LEFT_ADD_DISTRIB autoloading from theory `arithmetic` ... LEFT_ADD_DISTRIB = |- !m n p. p * (m + n) = (p * m) + (p * n) Theorem BASEN_SNOC autoloading from theory `numeral` ... BASEN_SNOC = |- !r e l. BASEN r(SNOC e l) = ((BASEN r l) * r) + e basen_extend_mul_lemma = |- !x r y more_zs. (x * (BASEN r[y]) = BASEN r more_zs) ==> (!ys zs. (x * (BASEN r ys) = BASEN r zs) ==> (x * (BASEN r(SNOC y ys)) = BASEN r[BASEN r zs;BASEN r more_zs])) PURE_BASEN_MUL_EXTEND_RULE = - : (term -> thm -> thm) basen_mul_combine_pps_basecase = |- !r y. (BASEN r[BASEN r[];BASEN r[y]] = BASEN r[0;y]) /\ (LENGTH[y] = SUC(LENGTH[])) /\ (LENGTH[y] = SUC(LENGTH[])) basen_mul_combine_pps_step_lemma = |- !r. 0 < r ==> (!x y xs ys z zs. (BASEN r[BASEN r xs;BASEN r ys] = BASEN r(CONS z zs)) /\ (LENGTH ys = SUC(LENGTH xs)) /\ (LENGTH zs = SUC(LENGTH xs)) ==> (BASEN r[BASEN r(CONS x xs);BASEN r(CONS y ys)] = BASEN r(CONS(((x + y) + z) DIV r)(CONS(((x + y) + z) MOD r)zs))) /\ (LENGTH(CONS y ys) = SUC(LENGTH(CONS x xs))) /\ (LENGTH(CONS(((x + y) + z) MOD r)zs) = SUC(LENGTH(CONS x xs)))) PURE_BASEN_MUL_COMBINE_PPS_CONV = - : conv BASEN_MUL_COMBINE_PPS_CONV = - : conv BASEN_MUL_EXTEND_RULE = - : (term -> thm -> thm) basen_mul_basecase = |- !r x. x * (BASEN r[]) = BASEN r[] BASEN_MUL_SNOC_CONV = - : conv STEP_BASEN_MUL_CONV = - : conv Theorem INV_SUC_EQ autoloading from theory `prim_rec` ... INV_SUC_EQ = |- !m n. (SUC m = SUC n) = (m = n) Theorem LENGTH_MAP autoloading from theory `list` ... LENGTH_MAP = |- !l f. LENGTH(MAP f l) = LENGTH l Theorem BASEN_APPEND autoloading from theory `numeral` ... BASEN_APPEND = |- !r l m. BASEN r(APPEND l m) = ((r EXP (LENGTH m)) * (BASEN r l)) + (BASEN r m) Definition MAP autoloading from theory `list` ... MAP = |- (!f. MAP f[] = []) /\ (!f h t. MAP f(CONS h t) = CONS(f h)(MAP f t)) BASEN_MUL_CONV = - : conv LESS_DIV = |- !n k. k < n ==> (k DIV n = 0) Theorem LESS_MOD autoloading from theory `arithmetic` ... LESS_MOD = |- !n k. k < n ==> (k MOD n = k) LESS_DIV_MOD = |- !n k. k < n ==> (k DIV n = 0) /\ (k MOD n = k) less_divmod_thm = |- !dividend divisor r. ((BASEN r[]) * divisor) + dividend = dividend basen_divmod_conv = - : (term -> conv) BASEN_DIV_CONV = - : conv Theorem MOD_UNIQUE autoloading from theory `arithmetic` ... MOD_UNIQUE = |- !n k r. (?q. (k = (q * n) + r) /\ r < n) ==> (k MOD n = r) BASEN_MOD_CONV = - : conv Theorem EXP_ADD autoloading from theory `arithmetic` ... EXP_ADD = |- !p q n. n EXP (p + q) = (n EXP p) * (n EXP q) BASEN_EXP_CONV = - : conv BASEN_CONV = - : conv BASEN_OF_NUM_CONV = - : (term -> conv) NUM_ARITH_CONV = - : conv NUM_ARITH_RULE = - : (thm -> thm) NUM_ARITH_TAC = - : tactic Calling Lisp compiler File numeral_rules compiled () : void #rm -f dummy.th make[4]: Leaving directory '/<>/Library/numeral' make[4]: Entering directory '/<>/Library/ind_defs' echo 'set_flag(`abort_when_fail`,true);;'\ 'compilet `ind-defs`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool mk_predv = - : (term list -> term) checkfilter = - : (* list -> * list -> * list -> * list) checkside = - : (term -> term -> term) mk_mk_pred = - : ((term # term list # term list) -> (term # term # (term -> term))) make_rule = - : ((term # term # term list # (term -> term)) -> goal -> term) make_definition = - : ((term # term list) -> goal list -> term) derive_induction = - : conv usedef = - : ((term list # thm) -> ((thm -> thm) # conv)) eximp = - : (term list -> thm -> (term # thm)) derive_rule = - : (term -> ((thm -> thm) # conv) -> thm -> thm) derive_rules = - : conv prove_inductive_relation_exists = - : ((term # term list) -> goal list -> thm) - : ((term # term list) -> goal list -> thm) prove_inductive_relation_exists = - : ((term # term list) -> goal list -> thm) new_inductive_definition = - : (bool -> string -> (term # term list) -> goal list -> (thm list # thm)) simp_axiom = - : ((thm # term) -> thm) reduce_asm = - : (term -> conv) prove_asm = - : (term -> conv) simp_concl = - : (thm -> conv) simp_rule = - : ((thm # term) -> thm) simp = - : ((thm # term) -> thm) derive_strong_induction = - : ((thm list # thm) -> thm) - : ((thm list # thm) -> thm) derive_strong_induction = - : ((thm list # thm) -> thm) MK_CONJ_THEN = - : (term -> term -> thm_tactic -> thm_tactical) MK_CHOOSE_THEN = - : (term -> * list -> term -> thm_tactic -> thm_tactical) MK_THEN = - : (term -> term -> thm_tactic -> thm_tactical) TACF = - : (term -> term -> thm_tactic -> thm_tactic -> tactic) TACS = - : (term -> term -> thm_tactic -> thm_tactic -> tactic list) mkred = - : (term -> term list -> conv) RED_CASE = - : (term -> term -> conv) APPLY_CASE = - : (conv list -> conv) RED_WHERE = - : (term -> term -> conv) is_param = - : (* list -> (* # *) list -> * -> bool) RULE_INDUCT_THEN = - : (thm -> thm_tactic -> thm_tactic -> tactic) - : (thm -> thm_tactic -> thm_tactic -> tactic) RULE_INDUCT_THEN = - : (thm -> thm_tactic -> thm_tactic -> tactic) axiom_tac = - : thm_tactic prove_conj = - : (thm list -> conv) RULE_TAC = - : thm_tactic - : thm_tactic RULE_TAC = - : thm_tactic reduce = - : (term list -> thm list -> thm list -> (term # term) list -> (thm list # (term # term) list)) REDUCE = - : conv - : conv REDUCE = - : conv MATCH_MP = - : (thm -> thm -> thm) LIST_NOT_FORALL = - : ((thm -> (thm # *)) -> thm -> (thm # *)) simp_axiom = - : ((thm -> thm -> thm) -> term list -> thm -> thm -> (thm # thm)) crul = - : (term -> thm -> thm) CONJ_RUL = - : (term -> thm -> thm) LIST_EXISTS_THEN = - : ((thm -> thm) -> thm -> thm) RULE = - : (thm -> thm -> thm) EXISTS_IMP2 = - : (term -> thm -> thm) efn = - : (term -> thm -> thm) RULE2 = - : (* -> thm -> thm -> thm) NOT_NOT = - : (thm -> thm) simp_rule = - : ((thm -> thm -> thm) -> term -> term list -> thm -> thm -> (thm # thm)) simp = - : (term -> (thm -> thm -> thm) -> thm -> thm -> (thm # thm)) LIST_DE_MORGAN = - : ((* -> thm -> (thm # thm)) -> * list -> thm -> (thm # thm)) derive_cases_thm = - : ((thm list # thm) -> thm) - : ((thm list # thm) -> thm) derive_cases_thm = - : ((thm list # thm) -> thm) Calling Lisp compiler File ind-defs compiled () : void #echo 'set_flag(`abort_when_fail`,true);;'\ 'compilet `ind_defs`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #false : bool () : void Calling Lisp compiler File ind_defs compiled () : void #===> library ind_defs rebuilt make[4]: Leaving directory '/<>/Library/ind_defs' =======> library rebuilt make[3]: Leaving directory '/<>/Library' date Thu Apr 4 15:44:06 UTC 2024 make[2]: Leaving directory '/<>' date Thu Apr 4 15:44:06 UTC 2024 make permissions make[2]: Entering directory '/<>' find $(ls -1 | grep -v debian) \ \( -type d -exec chmod 775 {} \; \) -o\ \( -type f -exec chmod 664 {} \; \) for f in hol hol-lcf basic-hol Manual/LaTeX/makeindex Manual/LaTeX/makeindex.bin/*/makeindex Manual/Reference/bin/mktex Manual/Reference/bin/typecheck ; do\ ( if [ -f $f ] ; then\ find $f -exec chmod 775 {} \; ;fi) ; \ done make[2]: Leaving directory '/<>' =======> hol Version 2.02 (GCL) and libraries made make[1]: Leaving directory '/<>' find -name "raw_*_map" -exec rm {} \; for i in $(find -maxdepth 1 -name "*hol*"); do \ printf 'install `'/usr/share/hol88-2.02.19940316dfsg'`;;\nlisp `(ml-save "foo")`;;\n' | ./$i &&\ mv foo $i; done =============================================================================== HOL88 Version 2.02 (GCL), built on 4/4/24 =============================================================================== #HOL installed (`/usr/share/hol88-2.02.19940316dfsg`) () : void # HOL-LCF version 2.02 (GCL) created 4/4/24 #HOL installed (`/usr/share/hol88-2.02.19940316dfsg`) () : void # BASIC-HOL version 2.02 (GCL) created 4/4/24 #HOL installed (`/usr/share/hol88-2.02.19940316dfsg`) () : void #touch build-arch-stamp fakeroot debian/rules binary-arch find -maxdepth 1 -name "*hol*" | awk '{a=$1;sub("/[^/]*$","",a);printf("%s usr/lib/hol88-2.02.19940316dfsg/%s\n",$1,a);}' >>debian/hol88.install echo debian/hol88.sh usr/bin >>debian/hol88.install find Library -name "*.o" | awk '{a=$1;sub("/[^/]*$","",a);printf("%s usr/lib/hol88-2.02.19940316dfsg/%s\n",$1,a);}' >>debian/hol88-library.install find * -maxdepth 0 -name "*hol*" | awk '{printf("/usr/lib/hol88-2.02.19940316dfsg/%s usr/share/hol88-2.02.19940316dfsg/%s\n",$1,$1);}' >>debian/hol88.links find Library -name "*.o" | awk '{printf("/usr/lib/hol88-2.02.19940316dfsg/%s usr/share/hol88-2.02.19940316dfsg/%s\n",$1,$1);}' >>debian/hol88-library.links echo "#!/bin/bash" >debian/hol88.sh echo >>debian/hol88.sh echo "exec /usr/lib/hol88-2.02.19940316dfsg/hol" >>debian/hol88.sh chmod 755 debian/hol88.sh dh_testdir dh_testroot dh_prep -a -X./ml/site.ml.orig -X./contrib/tooltool/Makefile.orig \ -X./contrib/tooltool/events.c.orig -X./contrib/tooltool/func_fix.c.orig \ -X./contrib/tooltool/lex.c.orig -X./contrib/tooltool/parse.y.orig \ -X./contrib/tooltool/patchlevel.h.orig -X./contrib/tooltool/windows.c.orig \ -X./contrib/Xhelp/hol_apro.orig -X./contrib/Xhelp/hol_ref.orig \ -X./contrib/Xhelp/xholhelp.h.orig -X./contrib/Xhelp/hol_thm.orig dh_installdirs -a dh_installdirs: warning: Compatibility levels before 10 are deprecated (level 9 in use) dh_install -a dh_install: warning: Compatibility levels before 10 are deprecated (level 9 in use) mv debian/hol88/usr/bin/hol88.sh debian/hol88/usr/bin/hol88 /usr/bin/make -f debian/rules DH_OPTIONS=-a binary-common make[1]: Entering directory '/<>' dh_testdir dh_testroot dh_installchangelogs dh_installdocs dh_installdocs: warning: Compatibility levels before 10 are deprecated (level 9 in use) dh_installexamples dh_installexamples: warning: Compatibility levels before 10 are deprecated (level 9 in use) dh_installman dh_installman: warning: Compatibility levels before 10 are deprecated (level 9 in use) dh_lintian dh_link dh_link: warning: Compatibility levels before 10 are deprecated (level 9 in use) dh_strip dh_strip: warning: Compatibility levels before 10 are deprecated (level 9 in use) dh_strip: warning: Compatibility levels before 10 are deprecated (level 9 in use) dh_compress dh_compress: warning: Compatibility levels before 10 are deprecated (level 9 in use) dh_compress: warning: Compatibility levels before 10 are deprecated (level 9 in use) dh_fixperms dh_makeshlibs dh_makeshlibs: warning: Compatibility levels before 10 are deprecated (level 9 in use) dh_installdeb dh_installdeb: warning: Compatibility levels before 10 are deprecated (level 9 in use) dh_shlibdeps dh_shlibdeps: warning: Compatibility levels before 10 are deprecated (level 9 in use) dh_shlibdeps: warning: Compatibility levels before 10 are deprecated (level 9 in use) dpkg-shlibdeps: warning: diversions involved - output may be incorrect diversion by libtirpc3t64 from: /lib/riscv64-linux-gnu/libtirpc.so.3 dpkg-shlibdeps: warning: diversions involved - output may be incorrect diversion by libtirpc3t64 to: /lib/riscv64-linux-gnu/libtirpc.so.3.usr-is-merged dh_gencontrol dh_md5sums dh_builddeb INFO: pkgstriptranslations version 154 INFO: pkgstriptranslations version 154 pkgstriptranslations: processing hol88 (in debian/hol88); do_strip: , oemstrip: pkgstriptranslations: processing hol88-library (in debian/hol88-library); do_strip: , oemstrip: pkgmaintainermangler: Not overriding Maintainer for domain lists.ubuntu.com pkgmaintainermangler: Not overriding Maintainer for domain lists.ubuntu.com pkgstripfiles: processing control file: debian/hol88/DEBIAN/control, package hol88, directory debian/hol88 pkgstripfiles: Running PNG optimization (using 4 cpus) for package hol88 ... pkgstripfiles: No PNG files. dpkg-deb: building package 'hol88' in '../hol88_2.02.19940316dfsg-5build3_riscv64.deb'. pkgstripfiles: processing control file: debian/hol88-library/DEBIAN/control, package hol88-library, directory debian/hol88-library pkgstripfiles: Running PNG optimization (using 4 cpus) for package hol88-library ... pkgstripfiles: No PNG files. dpkg-deb: building package 'hol88-library' in '../hol88-library_2.02.19940316dfsg-5build3_riscv64.deb'. make[1]: Leaving directory '/<>' dpkg-genbuildinfo --build=any -O../hol88_2.02.19940316dfsg-5build3_riscv64.buildinfo dpkg-genchanges --build=any -mLaunchpad Build Daemon -O../hol88_2.02.19940316dfsg-5build3_riscv64.changes dpkg-genchanges: info: binary-only arch-specific upload (source code and arch-indep packages not included) dpkg-source --after-build . dpkg-buildpackage: info: binary-only upload (no source included) -------------------------------------------------------------------------------- Build finished at 2024-04-04T16:08:44Z Finished -------- I: Built successfully +------------------------------------------------------------------------------+ | Changes | +------------------------------------------------------------------------------+ hol88_2.02.19940316dfsg-5build3_riscv64.changes: ------------------------------------------------ Format: 1.8 Date: Mon, 01 Apr 2024 17:05:30 +1100 Source: hol88 Binary: hol88 hol88-library Built-For-Profiles: noudeb Architecture: riscv64 Version: 2.02.19940316dfsg-5build3 Distribution: noble-proposed Urgency: medium Maintainer: Launchpad Build Daemon Changed-By: William Grant Description: hol88 - Higher Order Logic, system image hol88-library - Higher Order Logic, binary library modules Changes: hol88 (2.02.19940316dfsg-5build3) noble; urgency=medium . * No-change rebuild for CVE-2024-3094 Checksums-Sha1: 298c4956a78f6f48007611a08896aa4fb6e25a77 14861120 hol88-library_2.02.19940316dfsg-5build3_riscv64.deb 766143a6dca54d11dc8a39b3b8e281f9bcfc3222 11502 hol88_2.02.19940316dfsg-5build3_riscv64.buildinfo 3c534988a482e2b50b26871d96e1730b98aa8667 7696796 hol88_2.02.19940316dfsg-5build3_riscv64.deb Checksums-Sha256: 86fad13a023924b60cd8cc3be976e8c442042a22864b821772244e631fce3814 14861120 hol88-library_2.02.19940316dfsg-5build3_riscv64.deb 213b813048984577179a51b262029fe307d90b2f622c99dd168503b13d851e8e 11502 hol88_2.02.19940316dfsg-5build3_riscv64.buildinfo 7cf2459529a33dbf926ada638ff86bfa5b0e5bc4f4342dccc3e296642805ce3a 7696796 hol88_2.02.19940316dfsg-5build3_riscv64.deb Files: 9b0dc278db90457020d79fb3e097f84d 14861120 math optional hol88-library_2.02.19940316dfsg-5build3_riscv64.deb 5f2c85f87f211750d81ff54b95dbd08a 11502 math optional hol88_2.02.19940316dfsg-5build3_riscv64.buildinfo 20b01344718272fa45ac7a35668b236a 7696796 math optional hol88_2.02.19940316dfsg-5build3_riscv64.deb Original-Maintainer: Camm Maguire /<>/hol88_2.02.19940316dfsg-5build3_riscv64.changes.new could not be renamed to /<>/hol88_2.02.19940316dfsg-5build3_riscv64.changes: Illegal seek Distribution field may be wrong!!! +------------------------------------------------------------------------------+ | Buildinfo | +------------------------------------------------------------------------------+ Format: 1.0 Source: hol88 Binary: hol88 hol88-library Architecture: riscv64 Version: 2.02.19940316dfsg-5build3 Checksums-Md5: 9b0dc278db90457020d79fb3e097f84d 14861120 hol88-library_2.02.19940316dfsg-5build3_riscv64.deb 20b01344718272fa45ac7a35668b236a 7696796 hol88_2.02.19940316dfsg-5build3_riscv64.deb Checksums-Sha1: 298c4956a78f6f48007611a08896aa4fb6e25a77 14861120 hol88-library_2.02.19940316dfsg-5build3_riscv64.deb 3c534988a482e2b50b26871d96e1730b98aa8667 7696796 hol88_2.02.19940316dfsg-5build3_riscv64.deb Checksums-Sha256: 86fad13a023924b60cd8cc3be976e8c442042a22864b821772244e631fce3814 14861120 hol88-library_2.02.19940316dfsg-5build3_riscv64.deb 7cf2459529a33dbf926ada638ff86bfa5b0e5bc4f4342dccc3e296642805ce3a 7696796 hol88_2.02.19940316dfsg-5build3_riscv64.deb Build-Origin: Ubuntu Build-Architecture: riscv64 Build-Date: Thu, 04 Apr 2024 16:08:33 +0000 Build-Path: /<> Build-Tainted-By: merged-usr-via-aliased-dirs usr-local-has-programs Installed-Build-Depends: adduser (= 3.137ubuntu1), adwaita-icon-theme (= 46.0-1), at-spi2-common (= 2.52.0-1), autoconf (= 2.71-3), automake (= 1:1.16.5-1.3ubuntu1), autopoint (= 0.21-14ubuntu1), autotools-dev (= 20220109.1), base-files (= 13ubuntu9), base-passwd (= 3.6.3), bash (= 5.2.21-2ubuntu4), binutils (= 2.42-4ubuntu2), binutils-common (= 2.42-4ubuntu2), binutils-riscv64-linux-gnu (= 2.42-4ubuntu2), bsdextrautils (= 2.39.3-9ubuntu4), bsdutils (= 1:2.39.3-9ubuntu4), build-essential (= 12.10ubuntu1), bzip2 (= 1.0.8-5.1), coreutils (= 9.4-3ubuntu5), cpp (= 4:13.2.0-7ubuntu1), cpp-13 (= 13.2.0-23ubuntu3), cpp-13-riscv64-linux-gnu (= 13.2.0-23ubuntu3), cpp-riscv64-linux-gnu (= 4:13.2.0-7ubuntu1), dash (= 0.5.12-6ubuntu5), dbus (= 1.14.10-4ubuntu3), dbus-bin (= 1.14.10-4ubuntu3), dbus-daemon (= 1.14.10-4ubuntu3), dbus-session-bus-common (= 1.14.10-4ubuntu3), dbus-system-bus-common (= 1.14.10-4ubuntu3), dbus-user-session (= 1.14.10-4ubuntu3), dconf-gsettings-backend (= 0.40.0-4build2), dconf-service (= 0.40.0-4build2), debconf (= 1.5.86), debhelper (= 13.14.1ubuntu5), debianutils (= 5.17build1), debugedit (= 1:5.0-5build1), dh-autoreconf (= 20), dh-strip-nondeterminism (= 1.13.1-1), diffutils (= 1:3.10-1), dpkg (= 1.22.6ubuntu6), dpkg-dev (= 1.22.6ubuntu6), dwz (= 0.15-1build6), emacs (= 1:29.3+1-1ubuntu2), emacs-bin-common (= 1:29.3+1-1ubuntu2), emacs-common (= 1:29.3+1-1ubuntu2), emacs-el (= 1:29.3+1-1ubuntu2), emacs-gtk (= 1:29.3+1-1ubuntu2), emacsen-common (= 3.0.5), file (= 1:5.45-3build1), findutils (= 4.9.0-5), fontconfig (= 2.15.0-1.1ubuntu2), fontconfig-config (= 2.15.0-1.1ubuntu2), fonts-dejavu-core (= 2.37-8), fonts-dejavu-mono (= 2.37-8), fonts-lmodern (= 2.005-1), g++ (= 4:13.2.0-7ubuntu1), g++-13 (= 13.2.0-23ubuntu3), g++-13-riscv64-linux-gnu (= 13.2.0-23ubuntu3), g++-riscv64-linux-gnu (= 4:13.2.0-7ubuntu1), gcc (= 4:13.2.0-7ubuntu1), gcc-13 (= 13.2.0-23ubuntu3), gcc-13-base (= 13.2.0-23ubuntu3), gcc-13-riscv64-linux-gnu (= 13.2.0-23ubuntu3), gcc-14-base (= 14-20240330-1ubuntu2), gcc-riscv64-linux-gnu (= 4:13.2.0-7ubuntu1), gcl (= 2.6.14-8build1), gettext (= 0.21-14ubuntu1), gettext-base (= 0.21-14ubuntu1), grep (= 3.11-4), groff-base (= 1.23.0-3build2), gtk-update-icon-cache (= 3.24.41-1.1ubuntu4), gzip (= 1.12-1ubuntu2), hicolor-icon-theme (= 0.17-2), hostname (= 3.23+nmu2ubuntu1), humanity-icon-theme (= 0.6.16), init-system-helpers (= 1.66ubuntu1), install-info (= 7.1-3build2), intltool-debian (= 0.35.0+20060710.6), libacl1 (= 2.3.2-1), libapparmor1 (= 4.0.0-beta3-0ubuntu3), libarchive-zip-perl (= 1.68-1), libargon2-1 (= 0~20190702+dfsg-4), libasan8 (= 14-20240330-1ubuntu2), libasound2-data (= 1.2.11-1build2), libasound2t64 (= 1.2.11-1build2), libatk-bridge2.0-0t64 (= 2.52.0-1), libatk1.0-0t64 (= 2.52.0-1), libatomic1 (= 14-20240330-1ubuntu2), libatspi2.0-0t64 (= 2.52.0-1), libattr1 (= 1:2.5.2-1), libaudit-common (= 1:3.1.2-2.1build1), libaudit1 (= 1:3.1.2-2.1build1), libavahi-client3 (= 0.8-13ubuntu5), libavahi-common-data (= 0.8-13ubuntu5), libavahi-common3 (= 0.8-13ubuntu5), libbinutils (= 2.42-4ubuntu2), libblkid1 (= 2.39.3-9ubuntu4), libbrotli1 (= 1.1.0-2build2), libbsd0 (= 0.12.1-1build1), libbz2-1.0 (= 1.0.8-5.1), libc-bin (= 2.39-0ubuntu8), libc-dev-bin (= 2.39-0ubuntu8), libc6 (= 2.39-0ubuntu8), libc6-dev (= 2.39-0ubuntu8), libcairo-gobject2 (= 1.18.0-3), libcairo2 (= 1.18.0-3), libcap-ng0 (= 0.8.4-2build2), libcap2 (= 1:2.66-5ubuntu1), libcc1-0 (= 14-20240330-1ubuntu2), libcolord2 (= 1.4.7-1build2), libcom-err2 (= 1.47.0-2.4~exp1ubuntu3), libcrypt-dev (= 1:4.4.36-4), libcrypt1 (= 1:4.4.36-4), libcryptsetup12 (= 2:2.7.0-1ubuntu3), libctf-nobfd0 (= 2.42-4ubuntu2), libctf0 (= 2.42-4ubuntu2), libcups2t64 (= 2.4.7-1.2ubuntu3), libdatrie1 (= 0.2.13-3), libdb5.3t64 (= 5.3.28+dfsg2-6build1), libdbus-1-3 (= 1.14.10-4ubuntu3), libdconf1 (= 0.40.0-4build2), libdebconfclient0 (= 0.271ubuntu3), libdebhelper-perl (= 13.14.1ubuntu5), libdeflate0 (= 1.19-1), libdevmapper1.02.1 (= 2:1.02.185-3ubuntu3), libdpkg-perl (= 1.22.6ubuntu6), libdw1t64 (= 0.190-1.1build3), libedit2 (= 3.1-20230828-1), libelf1t64 (= 0.190-1.1build3), libepoxy0 (= 1.5.10-1), libexpat1 (= 2.6.1-2build1), libfdisk1 (= 2.39.3-9ubuntu4), libffi8 (= 3.4.6-1), libfile-stripnondeterminism-perl (= 1.13.1-1), libfontconfig1 (= 2.15.0-1.1ubuntu2), libfreetype6 (= 2.13.2+dfsg-1build3), libfribidi0 (= 1.0.13-3), libgcc-13-dev (= 13.2.0-23ubuntu3), libgcc-s1 (= 14-20240330-1ubuntu2), libgcrypt20 (= 1.10.3-2), libgd3 (= 2.3.3-9ubuntu4), libgdbm-compat4t64 (= 1.23-5.1build1), libgdbm6t64 (= 1.23-5.1build1), libgdk-pixbuf-2.0-0 (= 2.42.10+dfsg-3ubuntu2), libgdk-pixbuf2.0-common (= 2.42.10+dfsg-3ubuntu2), libgif7 (= 5.2.2-1), libglib2.0-0t64 (= 2.80.0-6ubuntu1), libgmp10 (= 2:6.3.0+dfsg-2ubuntu4), libgnutls30t64 (= 3.8.3-1.1ubuntu3), libgomp1 (= 14-20240330-1ubuntu2), libgpg-error0 (= 1.47-3build1), libgpm2 (= 1.20.7-11), libgraphite2-3 (= 1.3.14-2), libgssapi-krb5-2 (= 1.20.1-6ubuntu2), libgtk-3-0t64 (= 3.24.41-1.1ubuntu4), libgtk-3-common (= 3.24.41-1.1ubuntu4), libharfbuzz0b (= 8.3.0-2build2), libhogweed6t64 (= 3.9.1-2.2build1), libice6 (= 2:1.0.10-1build2), libicu74 (= 74.2-1ubuntu1), libidn2-0 (= 2.3.7-2), libisl23 (= 0.26-3), libjansson4 (= 2.14-2build2), libjbig0 (= 2.1-6.1ubuntu1), libjpeg-turbo8 (= 2.1.5-2ubuntu1), libjpeg8 (= 8c-2ubuntu11), libjson-c5 (= 0.17-1), libk5crypto3 (= 1.20.1-6ubuntu2), libkeyutils1 (= 1.6.3-3), libkmod2 (= 31+20240202-2ubuntu5), libkpathsea6 (= 2023.20230311.66589-9build3), libkrb5-3 (= 1.20.1-6ubuntu2), libkrb5support0 (= 1.20.1-6ubuntu2), liblcms2-2 (= 2.14-2), liblerc4 (= 4.0.0+ds-4ubuntu1), liblz4-1 (= 1.9.4-1), liblzma5 (= 5.6.1+really5.4.5-1), libm17n-0 (= 1.8.4-1build2), libmagic-mgc (= 1:5.45-3build1), libmagic1t64 (= 1:5.45-3build1), libmd0 (= 1.1.0-2), libmount1 (= 2.39.3-9ubuntu4), libmpc3 (= 1.3.1-1), libmpfr6 (= 4.2.1-1), libncursesw6 (= 6.4+20240113-1ubuntu1), libnettle8t64 (= 3.9.1-2.2build1), libnsl-dev (= 1.3.0-3build3), libnsl2 (= 1.3.0-3build3), libotf1 (= 0.9.16-4build2), libp11-kit0 (= 0.25.3-4ubuntu1), libpam-modules (= 1.5.3-5ubuntu4), libpam-modules-bin (= 1.5.3-5ubuntu4), libpam-runtime (= 1.5.3-5ubuntu4), libpam-systemd (= 255.4-1ubuntu6), libpam0g (= 1.5.3-5ubuntu4), libpango-1.0-0 (= 1.52.1+ds-1build1), libpangocairo-1.0-0 (= 1.52.1+ds-1build1), libpangoft2-1.0-0 (= 1.52.1+ds-1build1), libpaper-utils (= 1.1.29), libpaper1 (= 1.1.29), libpcre2-8-0 (= 10.42-4ubuntu1), libperl5.38t64 (= 5.38.2-3.2build1), libpipeline1 (= 1.5.7-2), libpixman-1-0 (= 0.42.2-1), libpng16-16t64 (= 1.6.43-5build1), libpotrace0 (= 1.16-2), libproc2-0 (= 2:4.0.4-4ubuntu3), libptexenc1 (= 2023.20230311.66589-9build3), librsvg2-2 (= 2.58.0+dfsg-1build1), libseccomp2 (= 2.5.5-1ubuntu3), libselinux1 (= 3.5-2ubuntu2), libsemanage-common (= 3.5-1build5), libsemanage2 (= 3.5-1build5), libsepol2 (= 3.5-2), libsframe1 (= 2.42-4ubuntu2), libsharpyuv0 (= 1.3.2-0.4build3), libsm6 (= 2:1.2.3-1build2), libsmartcols1 (= 2.39.3-9ubuntu4), libsqlite3-0 (= 3.45.1-1ubuntu2), libssl3t64 (= 3.0.13-0ubuntu3), libstdc++-13-dev (= 13.2.0-23ubuntu3), libstdc++6 (= 14-20240330-1ubuntu2), libsub-override-perl (= 0.10-1), libsynctex2 (= 2023.20230311.66589-9build3), libsystemd-shared (= 255.4-1ubuntu6), libsystemd0 (= 255.4-1ubuntu6), libtasn1-6 (= 4.19.0-3), libtcl8.6 (= 8.6.14+dfsg-1build1), libteckit0 (= 2.5.12+ds1-1), libtexlua53-5 (= 2023.20230311.66589-9build3), libthai-data (= 0.1.29-2), libthai0 (= 0.1.29-2), libtiff6 (= 4.5.1+git230720-4ubuntu2), libtinfo6 (= 6.4+20240113-1ubuntu1), libtirpc-common (= 1.3.4+ds-1.1build1), libtirpc-dev (= 1.3.4+ds-1.1build1), libtirpc3t64 (= 1.3.4+ds-1.1build1), libtk8.6 (= 8.6.14-1build1), libtool (= 2.4.7-7), libtree-sitter0 (= 0.20.8-2), libubsan1 (= 14-20240330-1ubuntu2), libuchardet0 (= 0.0.8-1), libudev1 (= 255.4-1ubuntu6), libunistring5 (= 1.1-2), libuuid1 (= 2.39.3-9ubuntu4), libwayland-client0 (= 1.22.0-2.1), libwayland-cursor0 (= 1.22.0-2.1), libwayland-egl1 (= 1.22.0-2.1), libwebp7 (= 1.3.2-0.4build3), libwebpdecoder3 (= 1.3.2-0.4build3), libwebpdemux2 (= 1.3.2-0.4build3), libx11-6 (= 2:1.8.7-1), libx11-data (= 2:1.8.7-1), libxau6 (= 1:1.0.9-1build5), libxaw7 (= 2:1.0.14-1build2), libxcb-render0 (= 1.15-1), libxcb-shm0 (= 1.15-1), libxcb1 (= 1.15-1), libxcomposite1 (= 1:0.4.5-1build2), libxcursor1 (= 1:1.2.1-1), libxdamage1 (= 1:1.1.6-1), libxdmcp6 (= 1:1.1.3-0ubuntu5), libxext6 (= 2:1.3.4-1build1), libxfixes3 (= 1:6.0.0-2), libxft2 (= 2.3.6-1), libxi6 (= 2:1.8.1-1), libxinerama1 (= 2:1.1.4-3), libxkbcommon0 (= 1.6.0-1), libxml2 (= 2.9.14+dfsg-1.3ubuntu3), libxmu6 (= 2:1.1.3-3build2), libxpm4 (= 1:3.5.17-1build2), libxrandr2 (= 2:1.5.2-2), libxrender1 (= 1:0.9.10-1.1), libxss1 (= 1:1.2.3-1build2), libxt6t64 (= 1:1.2.1-1.2build1), libzstd1 (= 1.5.5+dfsg2-2), libzzip-0-13t64 (= 0.13.72+dfsg.1-1.2build1), linux-libc-dev (= 6.8.0-20.20), login (= 1:4.13+dfsg1-4ubuntu1), lto-disabled-list (= 47), m17n-db (= 1.8.5-1), m4 (= 1.4.19-4), make (= 4.3-4.1build1), man-db (= 2.12.0-4build1), mawk (= 1.3.4.20240123-1), mount (= 2.39.3-9ubuntu4), ncurses-base (= 6.4+20240113-1ubuntu1), ncurses-bin (= 6.4+20240113-1ubuntu1), passwd (= 1:4.13+dfsg1-4ubuntu1), patch (= 2.7.6-7build2), perl (= 5.38.2-3.2build1), perl-base (= 5.38.2-3.2build1), perl-modules-5.38 (= 5.38.2-3.2build1), po-debconf (= 1.0.21+nmu1), procps (= 2:4.0.4-4ubuntu3), rpcsvc-proto (= 1.4.2-0ubuntu6), sed (= 4.9-2), sensible-utils (= 0.0.22), shared-mime-info (= 2.4-4), systemd (= 255.4-1ubuntu6), systemd-dev (= 255.4-1ubuntu6), systemd-sysv (= 255.4-1ubuntu6), sysvinit-utils (= 3.08-6ubuntu2), t1utils (= 1.41-4build2), tar (= 1.35+dfsg-3), tex-common (= 6.18), texlive-base (= 2023.20240207-1), texlive-binaries (= 2023.20230311.66589-9build3), texlive-latex-base (= 2023.20240207-1), tzdata (= 2024a-1ubuntu1), ubuntu-mono (= 24.04-0ubuntu1), ucf (= 3.0043+nmu1), util-linux (= 2.39.3-9ubuntu4), x11-common (= 1:7.7+23ubuntu2), xdg-utils (= 1.1.3-4.1ubuntu3), xkb-data (= 2.41-2), xz-utils (= 5.6.1+really5.4.5-1), zlib1g (= 1:1.3.dfsg-3.1ubuntu2) Environment: DEB_BUILD_OPTIONS="nocheck parallel=4" DEB_BUILD_PROFILES="noudeb" LANG="C.UTF-8" LC_ALL="C.UTF-8" LC_COLLATE="C.UTF-8" SOURCE_DATE_EPOCH="1711951530" +------------------------------------------------------------------------------+ | Package contents | +------------------------------------------------------------------------------+ hol88-library_2.02.19940316dfsg-5build3_riscv64.deb --------------------------------------------------- new Debian package, version 2.0. size 14861120 bytes: control archive=3700 bytes. 689 bytes, 16 lines control 11128 bytes, 115 lines md5sums Package: hol88-library Source: hol88 Version: 2.02.19940316dfsg-5build3 Architecture: riscv64 Maintainer: Ubuntu Developers Installed-Size: 148434 Section: math Priority: optional Description: Higher Order Logic, binary library modules The HOL System is an environment for interactive theorem proving in a higher-order logic. Its most outstanding feature is its high degree of programmability through the meta-language ML. The system has a wide variety of uses from formalizing pure mathematics to verification of industrial hardware. Academic and industrial sites world-wide are using HOL. Original-Maintainer: Camm Maguire drwxr-xr-x root/root 0 2024-04-01 06:05 ./ drwxr-xr-x root/root 0 2024-04-01 06:05 ./usr/ drwxr-xr-x root/root 0 2024-04-01 06:05 ./usr/lib/ drwxr-xr-x root/root 0 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/ drwxr-xr-x root/root 0 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/ drwxr-xr-x root/root 0 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/abs_theory/ -rw-r--r-- root/root 1989466 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/abs_theory/abs_theory_ml.o drwxr-xr-x root/root 0 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/arith/ -rw-r--r-- root/root 835436 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/arith/arith_cons_ml.o -rw-r--r-- root/root 836159 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/arith/decls_ml.o -rw-r--r-- root/root 414654 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/arith/exists_arith_ml.o -rw-r--r-- root/root 561912 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/arith/gen_arith_ml.o -rw-r--r-- root/root 131673 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/arith/instance_ml.o -rw-r--r-- root/root 266780 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/arith/int_extra_ml.o -rw-r--r-- root/root 1516424 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/arith/norm_arith_ml.o -rw-r--r-- root/root 420272 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/arith/norm_bool_ml.o -rw-r--r-- root/root 421696 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/arith/norm_ineqs_ml.o -rw-r--r-- root/root 285905 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/arith/prenex_ml.o -rw-r--r-- root/root 729966 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/arith/qconv_ml.o -rw-r--r-- root/root 750480 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/arith/rationals_ml.o -rw-r--r-- root/root 881142 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/arith/sol_ranges_ml.o -rw-r--r-- root/root 1434044 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/arith/solve_ineqs_ml.o -rw-r--r-- root/root 627834 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/arith/solve_ml.o -rw-r--r-- root/root 385331 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/arith/streams_ml.o -rw-r--r-- root/root 103252 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/arith/string_extra_ml.o -rw-r--r-- root/root 379352 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/arith/sub_and_cond_ml.o -rw-r--r-- root/root 1748253 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/arith/sup-inf_ml.o -rw-r--r-- root/root 812968 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/arith/term_coeffs_ml.o drwxr-xr-x root/root 0 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/finite_sets/ -rw-r--r-- root/root 1711752 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/finite_sets/fset_conv_ml.o -rw-r--r-- root/root 381366 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/finite_sets/set_ind_ml.o drwxr-xr-x root/root 0 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/ind_defs/ -rw-r--r-- root/root 5285594 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/ind_defs/ind-defs_ml.o -rw-r--r-- root/root 58757 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/ind_defs/ind_defs_ml.o drwxr-xr-x root/root 0 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/latex-hol/ -rw-r--r-- root/root 386747 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/latex-hol/filters_ml.o -rw-r--r-- root/root 1117196 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/latex-hol/formaters_ml.o -rw-r--r-- root/root 477668 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/latex-hol/hol_trees_ml.o -rw-r--r-- root/root 178105 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/latex-hol/latex_sets_pp_ml.o -rw-r--r-- root/root 1622386 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/latex-hol/latex_term_pp_ml.o -rw-r--r-- root/root 179671 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/latex-hol/latex_thm_pp_ml.o -rw-r--r-- root/root 372774 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/latex-hol/latex_type_pp_ml.o -rw-r--r-- root/root 260343 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/latex-hol/precedence_ml.o drwxr-xr-x root/root 0 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/more_arithmetic/ -rw-r--r-- root/root 437038 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/more_arithmetic/num_convs_ml.o -rw-r--r-- root/root 583863 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/more_arithmetic/num_tac_ml.o drwxr-xr-x root/root 0 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/numeral/ -rw-r--r-- root/root 21999359 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/numeral/numeral_rules_ml.o drwxr-xr-x root/root 0 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/pair/ -rw-r--r-- root/root 1107239 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/pair/all_ml.o -rw-r--r-- root/root 2658264 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/pair/basic_ml.o -rw-r--r-- root/root 1199164 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/pair/both1_ml.o -rw-r--r-- root/root 1804943 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/pair/both2_ml.o -rw-r--r-- root/root 6228099 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/pair/conv_ml.o -rw-r--r-- root/root 1683983 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/pair/exi_ml.o -rw-r--r-- root/root 186027 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/pair/pair_ml.o -rw-r--r-- root/root 1331491 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/pair/syn_ml.o drwxr-xr-x root/root 0 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/parser/ -rw-r--r-- root/root 1295591 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/parser/general_ml.o -rw-r--r-- root/root 4681226 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/parser/parser_ml.o drwxr-xr-x root/root 0 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/pred_sets/ -rw-r--r-- root/root 2011092 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/pred_sets/fset_conv_ml.o -rw-r--r-- root/root 1152793 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/pred_sets/gspec_ml.o -rw-r--r-- root/root 407962 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/pred_sets/set_ind_ml.o drwxr-xr-x root/root 0 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/prettyp/ drwxr-xr-x root/root 0 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/prettyp/PP_hol/ -rw-r--r-- root/root 1255930 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/prettyp/PP_hol/hol_term_pp_ml.o -rw-r--r-- root/root 179657 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/prettyp/PP_hol/hol_thm_pp_ml.o -rw-r--r-- root/root 477676 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/prettyp/PP_hol/hol_trees_ml.o -rw-r--r-- root/root 372666 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/prettyp/PP_hol/hol_type_pp_ml.o -rw-r--r-- root/root 116447 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/prettyp/PP_hol/link_to_hol_ml.o -rw-r--r-- root/root 470247 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/prettyp/PP_hol/new_printers_ml.o -rw-r--r-- root/root 231085 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/prettyp/PP_hol/precedence_ml.o drwxr-xr-x root/root 0 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/prettyp/PP_parser/ -rw-r--r-- root/root 214413 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/prettyp/PP_parser/PP_to_ML_ml.o -rw-r--r-- root/root 4250659 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/prettyp/PP_parser/convert_ml.o -rw-r--r-- root/root 1121128 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/prettyp/PP_parser/generate_ml.o -rw-r--r-- root/root 971175 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/prettyp/PP_parser/lex_ml.o -rw-r--r-- root/root 1199945 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/prettyp/PP_parser/pp_lang1_pp_ml.o -rw-r--r-- root/root 1643986 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/prettyp/PP_parser/pp_lang2_pp_ml.o -rw-r--r-- root/root 4472055 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/prettyp/PP_parser/syntax_ml.o drwxr-xr-x root/root 0 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/prettyp/PP_printer/ -rw-r--r-- root/root 1541421 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/prettyp/PP_printer/boxes_ml.o -rw-r--r-- root/root 492187 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/prettyp/PP_printer/boxtostring_ml.o -rw-r--r-- root/root 289066 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/prettyp/PP_printer/extents_ml.o -rw-r--r-- root/root 380647 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/prettyp/PP_printer/print_ml.o -rw-r--r-- root/root 108702 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/prettyp/PP_printer/ptree_ml.o -rw-r--r-- root/root 542802 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/prettyp/PP_printer/strings_ml.o -rw-r--r-- root/root 2207808 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/prettyp/PP_printer/treematch_ml.o -rw-r--r-- root/root 1529251 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/prettyp/PP_printer/treetobox_ml.o -rw-r--r-- root/root 977897 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/prettyp/PP_printer/utils_ml.o drwxr-xr-x root/root 0 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/record_proof/ -rw-r--r-- root/root 109533 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/record_proof/dummy_funs_ml.o -rw-r--r-- root/root 2710820 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/record_proof/proof_rec_ml.o drwxr-xr-x root/root 0 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/reduce/ -rw-r--r-- root/root 4972349 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/reduce/arithconv_ml.o -rw-r--r-- root/root 1799752 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/reduce/boolconv_ml.o -rw-r--r-- root/root 212289 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/reduce/reduce_ml.o drwxr-xr-x root/root 0 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/res_quan/ -rw-r--r-- root/root 1052454 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/res_quan/cond_rewr_ml.o -rw-r--r-- root/root 3016258 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/res_quan/res_rules_ml.o drwxr-xr-x root/root 0 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/sets/ -rw-r--r-- root/root 2002271 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/sets/fset_conv_ml.o -rw-r--r-- root/root 1152442 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/sets/gspec_ml.o -rw-r--r-- root/root 407933 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/sets/set_ind_ml.o drwxr-xr-x root/root 0 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/string/ -rw-r--r-- root/root 294730 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/string/ascii_ml.o -rw-r--r-- root/root 252210 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/string/string_ml.o -rw-r--r-- root/root 546536 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/string/string_rules_ml.o -rw-r--r-- root/root 282207 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/string/stringconv_ml.o drwxr-xr-x root/root 0 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/taut/ -rw-r--r-- root/root 2685882 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/taut/taut_check_ml.o drwxr-xr-x root/root 0 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/trs/ -rw-r--r-- root/root 28012 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/trs/extents_ml.o -rw-r--r-- root/root 409427 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/trs/extract_ml.o -rw-r--r-- root/root 1134249 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/trs/matching_ml.o -rw-r--r-- root/root 441812 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/trs/name_ml.o -rw-r--r-- root/root 506776 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/trs/search_ml.o -rw-r--r-- root/root 129853 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/trs/sets_ml.o -rw-r--r-- root/root 889932 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/trs/sidecond_ml.o -rw-r--r-- root/root 1330855 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/trs/struct_ml.o -rw-r--r-- root/root 43770 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/trs/thmkind_ml.o -rw-r--r-- root/root 462352 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/trs/user_ml.o drwxr-xr-x root/root 0 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/unwind/ -rw-r--r-- root/root 3214956 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/unwind/unwinding_ml.o drwxr-xr-x root/root 0 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/window/ -rw-r--r-- root/root 1799717 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/window/basic_close_ml.o -rw-r--r-- root/root 1754488 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/window/eq_close_ml.o -rw-r--r-- root/root 1647471 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/window/hol_ext_ml.o -rw-r--r-- root/root 4107523 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/window/imp_close_ml.o -rw-r--r-- root/root 2267294 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/window/inter_ml.o -rw-r--r-- root/root 105444 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/window/load_code_ml.o -rw-r--r-- root/root 81394 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/window/load_window_ml.o -rw-r--r-- root/root 775358 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/window/ml_ext_ml.o -rw-r--r-- root/root 1978726 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/window/tables_ml.o -rw-r--r-- root/root 325320 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/window/tactic_ml.o -rw-r--r-- root/root 417543 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/window/thms_ml.o -rw-r--r-- root/root 2754436 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/window/win_ml.o -rw-r--r-- root/root 244501 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/window/window_ml.o -rw-r--r-- root/root 328371 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/window/xlabel_ml.o drwxr-xr-x root/root 0 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/word/ -rw-r--r-- root/root 1706669 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/Library/word/word_convs_ml.o drwxr-xr-x root/root 0 2024-04-01 06:05 ./usr/share/ drwxr-xr-x root/root 0 2024-04-01 06:05 ./usr/share/doc/ drwxr-xr-x root/root 0 2024-04-01 06:05 ./usr/share/doc/hol88-library/ -rw-r--r-- root/root 661 2024-04-01 06:05 ./usr/share/doc/hol88-library/changelog.Debian.gz -rw-r--r-- root/root 1124 2010-11-05 16:09 ./usr/share/doc/hol88-library/copyright drwxr-xr-x root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/ drwxr-xr-x root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/ drwxr-xr-x root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/abs_theory/ lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/abs_theory/abs_theory_ml.o -> ../../../../lib/hol88-2.02.19940316dfsg/Library/abs_theory/abs_theory_ml.o drwxr-xr-x root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/arith/ lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/arith/arith_cons_ml.o -> ../../../../lib/hol88-2.02.19940316dfsg/Library/arith/arith_cons_ml.o lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/arith/decls_ml.o -> ../../../../lib/hol88-2.02.19940316dfsg/Library/arith/decls_ml.o lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/arith/exists_arith_ml.o -> ../../../../lib/hol88-2.02.19940316dfsg/Library/arith/exists_arith_ml.o lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/arith/gen_arith_ml.o -> ../../../../lib/hol88-2.02.19940316dfsg/Library/arith/gen_arith_ml.o lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/arith/instance_ml.o -> ../../../../lib/hol88-2.02.19940316dfsg/Library/arith/instance_ml.o lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/arith/int_extra_ml.o -> ../../../../lib/hol88-2.02.19940316dfsg/Library/arith/int_extra_ml.o lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/arith/norm_arith_ml.o -> ../../../../lib/hol88-2.02.19940316dfsg/Library/arith/norm_arith_ml.o lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/arith/norm_bool_ml.o -> ../../../../lib/hol88-2.02.19940316dfsg/Library/arith/norm_bool_ml.o lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/arith/norm_ineqs_ml.o -> ../../../../lib/hol88-2.02.19940316dfsg/Library/arith/norm_ineqs_ml.o lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/arith/prenex_ml.o -> ../../../../lib/hol88-2.02.19940316dfsg/Library/arith/prenex_ml.o lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/arith/qconv_ml.o -> ../../../../lib/hol88-2.02.19940316dfsg/Library/arith/qconv_ml.o lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/arith/rationals_ml.o -> ../../../../lib/hol88-2.02.19940316dfsg/Library/arith/rationals_ml.o lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/arith/sol_ranges_ml.o -> ../../../../lib/hol88-2.02.19940316dfsg/Library/arith/sol_ranges_ml.o lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/arith/solve_ineqs_ml.o -> ../../../../lib/hol88-2.02.19940316dfsg/Library/arith/solve_ineqs_ml.o lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/arith/solve_ml.o -> ../../../../lib/hol88-2.02.19940316dfsg/Library/arith/solve_ml.o lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/arith/streams_ml.o -> ../../../../lib/hol88-2.02.19940316dfsg/Library/arith/streams_ml.o lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/arith/string_extra_ml.o -> ../../../../lib/hol88-2.02.19940316dfsg/Library/arith/string_extra_ml.o lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/arith/sub_and_cond_ml.o -> ../../../../lib/hol88-2.02.19940316dfsg/Library/arith/sub_and_cond_ml.o lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/arith/sup-inf_ml.o -> ../../../../lib/hol88-2.02.19940316dfsg/Library/arith/sup-inf_ml.o lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/arith/term_coeffs_ml.o -> ../../../../lib/hol88-2.02.19940316dfsg/Library/arith/term_coeffs_ml.o drwxr-xr-x root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/finite_sets/ lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/finite_sets/fset_conv_ml.o -> ../../../../lib/hol88-2.02.19940316dfsg/Library/finite_sets/fset_conv_ml.o lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/finite_sets/set_ind_ml.o -> ../../../../lib/hol88-2.02.19940316dfsg/Library/finite_sets/set_ind_ml.o drwxr-xr-x root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/ind_defs/ lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/ind_defs/ind-defs_ml.o -> ../../../../lib/hol88-2.02.19940316dfsg/Library/ind_defs/ind-defs_ml.o lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/ind_defs/ind_defs_ml.o -> ../../../../lib/hol88-2.02.19940316dfsg/Library/ind_defs/ind_defs_ml.o drwxr-xr-x root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/latex-hol/ lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/latex-hol/filters_ml.o -> ../../../../lib/hol88-2.02.19940316dfsg/Library/latex-hol/filters_ml.o lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/latex-hol/formaters_ml.o -> ../../../../lib/hol88-2.02.19940316dfsg/Library/latex-hol/formaters_ml.o lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/latex-hol/hol_trees_ml.o -> ../../../../lib/hol88-2.02.19940316dfsg/Library/latex-hol/hol_trees_ml.o lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/latex-hol/latex_sets_pp_ml.o -> ../../../../lib/hol88-2.02.19940316dfsg/Library/latex-hol/latex_sets_pp_ml.o lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/latex-hol/latex_term_pp_ml.o -> ../../../../lib/hol88-2.02.19940316dfsg/Library/latex-hol/latex_term_pp_ml.o lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/latex-hol/latex_thm_pp_ml.o -> ../../../../lib/hol88-2.02.19940316dfsg/Library/latex-hol/latex_thm_pp_ml.o lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/latex-hol/latex_type_pp_ml.o -> ../../../../lib/hol88-2.02.19940316dfsg/Library/latex-hol/latex_type_pp_ml.o lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/latex-hol/precedence_ml.o -> ../../../../lib/hol88-2.02.19940316dfsg/Library/latex-hol/precedence_ml.o drwxr-xr-x root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/more_arithmetic/ lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/more_arithmetic/num_convs_ml.o -> ../../../../lib/hol88-2.02.19940316dfsg/Library/more_arithmetic/num_convs_ml.o lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/more_arithmetic/num_tac_ml.o -> ../../../../lib/hol88-2.02.19940316dfsg/Library/more_arithmetic/num_tac_ml.o drwxr-xr-x root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/numeral/ lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/numeral/numeral_rules_ml.o -> ../../../../lib/hol88-2.02.19940316dfsg/Library/numeral/numeral_rules_ml.o drwxr-xr-x root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/pair/ lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/pair/all_ml.o -> ../../../../lib/hol88-2.02.19940316dfsg/Library/pair/all_ml.o lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/pair/basic_ml.o -> ../../../../lib/hol88-2.02.19940316dfsg/Library/pair/basic_ml.o lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/pair/both1_ml.o -> ../../../../lib/hol88-2.02.19940316dfsg/Library/pair/both1_ml.o lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/pair/both2_ml.o -> ../../../../lib/hol88-2.02.19940316dfsg/Library/pair/both2_ml.o lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/pair/conv_ml.o -> ../../../../lib/hol88-2.02.19940316dfsg/Library/pair/conv_ml.o lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/pair/exi_ml.o -> ../../../../lib/hol88-2.02.19940316dfsg/Library/pair/exi_ml.o lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/pair/pair_ml.o -> ../../../../lib/hol88-2.02.19940316dfsg/Library/pair/pair_ml.o lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/pair/syn_ml.o -> ../../../../lib/hol88-2.02.19940316dfsg/Library/pair/syn_ml.o drwxr-xr-x root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/parser/ lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/parser/general_ml.o -> ../../../../lib/hol88-2.02.19940316dfsg/Library/parser/general_ml.o lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/parser/parser_ml.o -> ../../../../lib/hol88-2.02.19940316dfsg/Library/parser/parser_ml.o drwxr-xr-x root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/pred_sets/ lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/pred_sets/fset_conv_ml.o -> ../../../../lib/hol88-2.02.19940316dfsg/Library/pred_sets/fset_conv_ml.o lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/pred_sets/gspec_ml.o -> ../../../../lib/hol88-2.02.19940316dfsg/Library/pred_sets/gspec_ml.o lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/pred_sets/set_ind_ml.o -> ../../../../lib/hol88-2.02.19940316dfsg/Library/pred_sets/set_ind_ml.o drwxr-xr-x root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/prettyp/ drwxr-xr-x root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/prettyp/PP_hol/ lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/prettyp/PP_hol/hol_term_pp_ml.o -> ../../../../../lib/hol88-2.02.19940316dfsg/Library/prettyp/PP_hol/hol_term_pp_ml.o lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/prettyp/PP_hol/hol_thm_pp_ml.o -> ../../../../../lib/hol88-2.02.19940316dfsg/Library/prettyp/PP_hol/hol_thm_pp_ml.o lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/prettyp/PP_hol/hol_trees_ml.o -> ../../../../../lib/hol88-2.02.19940316dfsg/Library/prettyp/PP_hol/hol_trees_ml.o lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/prettyp/PP_hol/hol_type_pp_ml.o -> ../../../../../lib/hol88-2.02.19940316dfsg/Library/prettyp/PP_hol/hol_type_pp_ml.o lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/prettyp/PP_hol/link_to_hol_ml.o -> ../../../../../lib/hol88-2.02.19940316dfsg/Library/prettyp/PP_hol/link_to_hol_ml.o lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/prettyp/PP_hol/new_printers_ml.o -> ../../../../../lib/hol88-2.02.19940316dfsg/Library/prettyp/PP_hol/new_printers_ml.o lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/prettyp/PP_hol/precedence_ml.o -> ../../../../../lib/hol88-2.02.19940316dfsg/Library/prettyp/PP_hol/precedence_ml.o drwxr-xr-x root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/prettyp/PP_parser/ lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/prettyp/PP_parser/PP_to_ML_ml.o -> ../../../../../lib/hol88-2.02.19940316dfsg/Library/prettyp/PP_parser/PP_to_ML_ml.o lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/prettyp/PP_parser/convert_ml.o -> ../../../../../lib/hol88-2.02.19940316dfsg/Library/prettyp/PP_parser/convert_ml.o lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/prettyp/PP_parser/generate_ml.o -> ../../../../../lib/hol88-2.02.19940316dfsg/Library/prettyp/PP_parser/generate_ml.o lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/prettyp/PP_parser/lex_ml.o -> ../../../../../lib/hol88-2.02.19940316dfsg/Library/prettyp/PP_parser/lex_ml.o lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/prettyp/PP_parser/pp_lang1_pp_ml.o -> ../../../../../lib/hol88-2.02.19940316dfsg/Library/prettyp/PP_parser/pp_lang1_pp_ml.o lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/prettyp/PP_parser/pp_lang2_pp_ml.o -> ../../../../../lib/hol88-2.02.19940316dfsg/Library/prettyp/PP_parser/pp_lang2_pp_ml.o lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/prettyp/PP_parser/syntax_ml.o -> ../../../../../lib/hol88-2.02.19940316dfsg/Library/prettyp/PP_parser/syntax_ml.o drwxr-xr-x root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/prettyp/PP_printer/ lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/prettyp/PP_printer/boxes_ml.o -> ../../../../../lib/hol88-2.02.19940316dfsg/Library/prettyp/PP_printer/boxes_ml.o lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/prettyp/PP_printer/boxtostring_ml.o -> ../../../../../lib/hol88-2.02.19940316dfsg/Library/prettyp/PP_printer/boxtostring_ml.o lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/prettyp/PP_printer/extents_ml.o -> ../../../../../lib/hol88-2.02.19940316dfsg/Library/prettyp/PP_printer/extents_ml.o lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/prettyp/PP_printer/print_ml.o -> ../../../../../lib/hol88-2.02.19940316dfsg/Library/prettyp/PP_printer/print_ml.o lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/prettyp/PP_printer/ptree_ml.o -> ../../../../../lib/hol88-2.02.19940316dfsg/Library/prettyp/PP_printer/ptree_ml.o lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/prettyp/PP_printer/strings_ml.o -> ../../../../../lib/hol88-2.02.19940316dfsg/Library/prettyp/PP_printer/strings_ml.o lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/prettyp/PP_printer/treematch_ml.o -> ../../../../../lib/hol88-2.02.19940316dfsg/Library/prettyp/PP_printer/treematch_ml.o lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/prettyp/PP_printer/treetobox_ml.o -> ../../../../../lib/hol88-2.02.19940316dfsg/Library/prettyp/PP_printer/treetobox_ml.o lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/prettyp/PP_printer/utils_ml.o -> ../../../../../lib/hol88-2.02.19940316dfsg/Library/prettyp/PP_printer/utils_ml.o drwxr-xr-x root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/record_proof/ lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/record_proof/dummy_funs_ml.o -> ../../../../lib/hol88-2.02.19940316dfsg/Library/record_proof/dummy_funs_ml.o lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/record_proof/proof_rec_ml.o -> ../../../../lib/hol88-2.02.19940316dfsg/Library/record_proof/proof_rec_ml.o drwxr-xr-x root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/reduce/ lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/reduce/arithconv_ml.o -> ../../../../lib/hol88-2.02.19940316dfsg/Library/reduce/arithconv_ml.o lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/reduce/boolconv_ml.o -> ../../../../lib/hol88-2.02.19940316dfsg/Library/reduce/boolconv_ml.o lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/reduce/reduce_ml.o -> ../../../../lib/hol88-2.02.19940316dfsg/Library/reduce/reduce_ml.o drwxr-xr-x root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/res_quan/ lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/res_quan/cond_rewr_ml.o -> ../../../../lib/hol88-2.02.19940316dfsg/Library/res_quan/cond_rewr_ml.o lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/res_quan/res_rules_ml.o -> ../../../../lib/hol88-2.02.19940316dfsg/Library/res_quan/res_rules_ml.o drwxr-xr-x root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/sets/ lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/sets/fset_conv_ml.o -> ../../../../lib/hol88-2.02.19940316dfsg/Library/sets/fset_conv_ml.o lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/sets/gspec_ml.o -> ../../../../lib/hol88-2.02.19940316dfsg/Library/sets/gspec_ml.o lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/sets/set_ind_ml.o -> ../../../../lib/hol88-2.02.19940316dfsg/Library/sets/set_ind_ml.o drwxr-xr-x root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/string/ lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/string/ascii_ml.o -> ../../../../lib/hol88-2.02.19940316dfsg/Library/string/ascii_ml.o lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/string/string_ml.o -> ../../../../lib/hol88-2.02.19940316dfsg/Library/string/string_ml.o lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/string/string_rules_ml.o -> ../../../../lib/hol88-2.02.19940316dfsg/Library/string/string_rules_ml.o lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/string/stringconv_ml.o -> ../../../../lib/hol88-2.02.19940316dfsg/Library/string/stringconv_ml.o drwxr-xr-x root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/taut/ lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/taut/taut_check_ml.o -> ../../../../lib/hol88-2.02.19940316dfsg/Library/taut/taut_check_ml.o drwxr-xr-x root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/trs/ lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/trs/extents_ml.o -> ../../../../lib/hol88-2.02.19940316dfsg/Library/trs/extents_ml.o lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/trs/extract_ml.o -> ../../../../lib/hol88-2.02.19940316dfsg/Library/trs/extract_ml.o lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/trs/matching_ml.o -> ../../../../lib/hol88-2.02.19940316dfsg/Library/trs/matching_ml.o lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/trs/name_ml.o -> ../../../../lib/hol88-2.02.19940316dfsg/Library/trs/name_ml.o lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/trs/search_ml.o -> ../../../../lib/hol88-2.02.19940316dfsg/Library/trs/search_ml.o lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/trs/sets_ml.o -> ../../../../lib/hol88-2.02.19940316dfsg/Library/trs/sets_ml.o lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/trs/sidecond_ml.o -> ../../../../lib/hol88-2.02.19940316dfsg/Library/trs/sidecond_ml.o lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/trs/struct_ml.o -> ../../../../lib/hol88-2.02.19940316dfsg/Library/trs/struct_ml.o lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/trs/thmkind_ml.o -> ../../../../lib/hol88-2.02.19940316dfsg/Library/trs/thmkind_ml.o lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/trs/user_ml.o -> ../../../../lib/hol88-2.02.19940316dfsg/Library/trs/user_ml.o drwxr-xr-x root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/unwind/ lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/unwind/unwinding_ml.o -> ../../../../lib/hol88-2.02.19940316dfsg/Library/unwind/unwinding_ml.o drwxr-xr-x root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/window/ lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/window/basic_close_ml.o -> ../../../../lib/hol88-2.02.19940316dfsg/Library/window/basic_close_ml.o lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/window/eq_close_ml.o -> ../../../../lib/hol88-2.02.19940316dfsg/Library/window/eq_close_ml.o lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/window/hol_ext_ml.o -> ../../../../lib/hol88-2.02.19940316dfsg/Library/window/hol_ext_ml.o lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/window/imp_close_ml.o -> ../../../../lib/hol88-2.02.19940316dfsg/Library/window/imp_close_ml.o lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/window/inter_ml.o -> ../../../../lib/hol88-2.02.19940316dfsg/Library/window/inter_ml.o lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/window/load_code_ml.o -> ../../../../lib/hol88-2.02.19940316dfsg/Library/window/load_code_ml.o lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/window/load_window_ml.o -> ../../../../lib/hol88-2.02.19940316dfsg/Library/window/load_window_ml.o lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/window/ml_ext_ml.o -> ../../../../lib/hol88-2.02.19940316dfsg/Library/window/ml_ext_ml.o lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/window/tables_ml.o -> ../../../../lib/hol88-2.02.19940316dfsg/Library/window/tables_ml.o lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/window/tactic_ml.o -> ../../../../lib/hol88-2.02.19940316dfsg/Library/window/tactic_ml.o lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/window/thms_ml.o -> ../../../../lib/hol88-2.02.19940316dfsg/Library/window/thms_ml.o lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/window/win_ml.o -> ../../../../lib/hol88-2.02.19940316dfsg/Library/window/win_ml.o lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/window/window_ml.o -> ../../../../lib/hol88-2.02.19940316dfsg/Library/window/window_ml.o lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/window/xlabel_ml.o -> ../../../../lib/hol88-2.02.19940316dfsg/Library/window/xlabel_ml.o drwxr-xr-x root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/word/ lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/Library/word/word_convs_ml.o -> ../../../../lib/hol88-2.02.19940316dfsg/Library/word/word_convs_ml.o hol88_2.02.19940316dfsg-5build3_riscv64.deb ------------------------------------------- new Debian package, version 2.0. size 7696796 bytes: control archive=915 bytes. 775 bytes, 16 lines control 538 bytes, 8 lines md5sums Package: hol88 Version: 2.02.19940316dfsg-5build3 Architecture: riscv64 Maintainer: Ubuntu Developers Installed-Size: 58638 Depends: libc6 (>= 2.38), libedit2 (>= 2.11-20080614-0), libgmp10 (>= 2:6.3.0+dfsg), libtirpc3t64 (>= 1.0.2), libx11-6 Section: math Priority: optional Description: Higher Order Logic, system image The HOL System is an environment for interactive theorem proving in a higher-order logic. Its most outstanding feature is its high degree of programmability through the meta-language ML. The system has a wide variety of uses from formalizing pure mathematics to verification of industrial hardware. Academic and industrial sites world-wide are using HOL. Original-Maintainer: Camm Maguire drwxr-xr-x root/root 0 2024-04-01 06:05 ./ drwxr-xr-x root/root 0 2024-04-01 06:05 ./usr/ drwxr-xr-x root/root 0 2024-04-01 06:05 ./usr/bin/ -rwxr-xr-x root/root 55 2024-04-01 06:05 ./usr/bin/hol88 drwxr-xr-x root/root 0 2024-04-01 06:05 ./usr/lib/ drwxr-xr-x root/root 0 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/ -rwxr-xr-x root/root 22047272 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/basic-hol -rwxr-xr-x root/root 25279080 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/hol -rwxr-xr-x root/root 12696040 2024-04-01 06:05 ./usr/lib/hol88-2.02.19940316dfsg/hol-lcf drwxr-xr-x root/root 0 2024-04-01 06:05 ./usr/share/ drwxr-xr-x root/root 0 2024-04-01 06:05 ./usr/share/doc/ drwxr-xr-x root/root 0 2024-04-01 06:05 ./usr/share/doc/hol88/ -rw-r--r-- root/root 449 2010-11-05 16:09 ./usr/share/doc/hol88/README.Debian -rw-r--r-- root/root 655 2024-04-01 06:05 ./usr/share/doc/hol88/changelog.Debian.gz -rw-r--r-- root/root 1124 2010-11-05 16:09 ./usr/share/doc/hol88/copyright drwxr-xr-x root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/ lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/basic-hol -> ../../lib/hol88-2.02.19940316dfsg/basic-hol lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/hol -> ../../lib/hol88-2.02.19940316dfsg/hol lrwxrwxrwx root/root 0 2024-04-01 06:05 ./usr/share/hol88-2.02.19940316dfsg/hol-lcf -> ../../lib/hol88-2.02.19940316dfsg/hol-lcf drwxr-xr-x root/root 0 2024-04-01 06:05 ./usr/share/man/ drwxr-xr-x root/root 0 2024-04-01 06:05 ./usr/share/man/man1/ -rw-r--r-- root/root 734 2024-04-01 06:05 ./usr/share/man/man1/hol88.1.gz +------------------------------------------------------------------------------+ | Post Build | +------------------------------------------------------------------------------+ +------------------------------------------------------------------------------+ | Cleanup | +------------------------------------------------------------------------------+ Purging /<> Not removing build depends: as requested +------------------------------------------------------------------------------+ | Summary | +------------------------------------------------------------------------------+ Build Architecture: riscv64 Build Type: any Build-Space: 580872 Build-Time: 7052 Distribution: noble-proposed Host Architecture: riscv64 Install-Time: 1096 Job: hol88_2.02.19940316dfsg-5build3.dsc Machine Architecture: riscv64 Package: hol88 Package-Time: 8201 Source-Version: 2.02.19940316dfsg-5build3 Space: 580872 Status: successful Version: 2.02.19940316dfsg-5build3 -------------------------------------------------------------------------------- Finished at 2024-04-04T16:08:44Z Build needed 02:16:41, 580872k disk space RUN: /usr/share/launchpad-buildd/bin/in-target scan-for-processes --backend=chroot --series=noble --arch=riscv64 PACKAGEBUILD-28004878 Scanning for processes to kill in build PACKAGEBUILD-28004878