https://launchpad.net/ubuntu/+source/hol88/2.02.19940316-35build1/+build/16281177 RUN: /usr/share/launchpad-buildd/slavebin/slave-prep Forking launchpad-buildd slave process... Kernel version: Linux lgw01-amd64-027 4.4.0-141-generic #167-Ubuntu SMP Wed Dec 5 10:40:15 UTC 2018 x86_64 Buildd toolchain package versions: launchpad-buildd_165 python-lpbuildd_165 sbuild_0.67.0-2ubuntu7.1 bzr-builder_0.7.3+bzr174~ppa13~ubuntu14.10.1 bzr_2.7.0-2ubuntu3.1 git-build-recipe_0.3.4~git201611291343.dcee459~ubuntu16.04.1 git_1:2.7.4-0ubuntu1.6 dpkg-dev_1.18.4ubuntu1.5 python-debian_0.1.27ubuntu2. Syncing the system clock with the buildd NTP service... 15 Jan 11:05:50 ntpdate[1821]: adjust time server 10.211.37.1 offset -0.006095 sec RUN: /usr/share/launchpad-buildd/slavebin/in-target unpack-chroot --backend=chroot --series=disco --arch=i386 PACKAGEBUILD-16281177 /home/buildd/filecache-default/1b8bd95dfc080fb8062b439d66609df4d6cce84f Creating target for build PACKAGEBUILD-16281177 RUN: /usr/share/launchpad-buildd/slavebin/in-target mount-chroot --backend=chroot --series=disco --arch=i386 PACKAGEBUILD-16281177 Starting target for build PACKAGEBUILD-16281177 RUN: /usr/share/launchpad-buildd/slavebin/in-target override-sources-list --backend=chroot --series=disco --arch=i386 PACKAGEBUILD-16281177 'deb http://ftpmaster.internal/ubuntu disco main universe' 'deb http://ftpmaster.internal/ubuntu disco-security main universe' 'deb http://ftpmaster.internal/ubuntu disco-updates main universe' 'deb http://ftpmaster.internal/ubuntu disco-proposed main universe' Overriding sources.list in build-PACKAGEBUILD-16281177 RUN: /usr/share/launchpad-buildd/slavebin/in-target update-debian-chroot --backend=chroot --series=disco --arch=i386 PACKAGEBUILD-16281177 Updating target for build PACKAGEBUILD-16281177 Get:1 http://ftpmaster.internal/ubuntu disco InRelease [243 kB] Get:2 http://ftpmaster.internal/ubuntu disco-security InRelease [65.4 kB] Get:3 http://ftpmaster.internal/ubuntu disco-updates InRelease [65.4 kB] Get:4 http://ftpmaster.internal/ubuntu disco-proposed InRelease [93.2 kB] Get:5 http://ftpmaster.internal/ubuntu disco/main i386 Packages [995 kB] Get:6 http://ftpmaster.internal/ubuntu disco/main Translation-en [510 kB] Get:7 http://ftpmaster.internal/ubuntu disco/universe i386 Packages [8933 kB] Get:8 http://ftpmaster.internal/ubuntu disco/universe Translation-en [5196 kB] Get:9 http://ftpmaster.internal/ubuntu disco-proposed/main i386 Packages [120 kB] Get:10 http://ftpmaster.internal/ubuntu disco-proposed/main Translation-en [56.7 kB] Get:11 http://ftpmaster.internal/ubuntu disco-proposed/universe i386 Packages [472 kB] Get:12 http://ftpmaster.internal/ubuntu disco-proposed/universe Translation-en [269 kB] Fetched 17.0 MB in 10s (1749 kB/s) Reading package lists... Reading package lists... Building dependency tree... Reading state information... Calculating upgrade... The following package was automatically installed and is no longer required: libreadline7 Use 'sudo apt autoremove' to remove it. The following NEW packages will be installed: libreadline8 The following packages will be upgraded: apt bash binutils binutils-common binutils-i686-linux-gnu bsdutils coreutils cpp-8 dash dpkg dpkg-dev e2fslibs e2fsprogs fdisk g++-8 gcc-8 gcc-8-base gpg gpg-agent gpgconf gpgv grep gzip init init-system-helpers libapt-pkg5.0 libargon2-1 libasan5 libassuan0 libatomic1 libbinutils libblkid1 libcap-ng0 libcc1-0 libcom-err2 libcomerr2 libdpkg-perl libext2fs2 libfdisk1 libgcc-8-dev libgcc1 libgdbm-compat4 libgdbm6 libgnutls30 libgomp1 libgpg-error0 libitm1 liblz4-1 libmount1 libmpfr6 libmpx2 libpng16-16 libquadmath0 libsemanage-common libsemanage1 libsmartcols1 libsqlite3-0 libss2 libstdc++-8-dev libstdc++6 libubsan1 libuuid1 libzstd1 linux-libc-dev mount readline-common sed tar tzdata 69 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. Need to get 45.7 MB of archives. After this operation, 655 kB of additional disk space will be used. Get:1 http://ftpmaster.internal/ubuntu disco-proposed/main i386 bash i386 5.0-1ubuntu1 [676 kB] Get:2 http://ftpmaster.internal/ubuntu disco-proposed/main i386 bsdutils i386 1:2.33.1-0.1ubuntu1 [65.9 kB] Get:3 http://ftpmaster.internal/ubuntu disco-proposed/main i386 coreutils i386 8.30-1ubuntu1 [1316 kB] Get:4 http://ftpmaster.internal/ubuntu disco/main i386 tar i386 1.30+dfsg-4 [264 kB] Get:5 http://ftpmaster.internal/ubuntu disco/main i386 dpkg i386 1.19.2ubuntu2 [1124 kB] Get:6 http://ftpmaster.internal/ubuntu disco/main i386 dash i386 0.5.10.2-4ubuntu1 [90.8 kB] Get:7 http://ftpmaster.internal/ubuntu disco/main i386 grep i386 3.3-1 [155 kB] Get:8 http://ftpmaster.internal/ubuntu disco/main i386 gzip i386 1.9-3 [94.8 kB] Get:9 http://ftpmaster.internal/ubuntu disco/main i386 sed i386 4.7-1 [193 kB] Get:10 http://ftpmaster.internal/ubuntu disco/main i386 init-system-helpers all 1.56+nmu1 [38.2 kB] Get:11 http://ftpmaster.internal/ubuntu disco/main i386 libgnutls30 i386 3.6.5-2ubuntu1 [770 kB] Get:12 http://ftpmaster.internal/ubuntu disco-proposed/main i386 libubsan1 i386 8.2.0-14ubuntu1 [138 kB] Get:13 http://ftpmaster.internal/ubuntu disco-proposed/main i386 gcc-8-base i386 8.2.0-14ubuntu1 [18.6 kB] Get:14 http://ftpmaster.internal/ubuntu disco-proposed/main i386 libgcc1 i386 1:8.2.0-14ubuntu1 [48.1 kB] Get:15 http://ftpmaster.internal/ubuntu disco-proposed/main i386 libgomp1 i386 8.2.0-14ubuntu1 [80.7 kB] Get:16 http://ftpmaster.internal/ubuntu disco-proposed/main i386 libitm1 i386 8.2.0-14ubuntu1 [30.8 kB] Get:17 http://ftpmaster.internal/ubuntu disco-proposed/main i386 libatomic1 i386 8.2.0-14ubuntu1 [9620 B] Get:18 http://ftpmaster.internal/ubuntu disco-proposed/main i386 libasan5 i386 8.2.0-14ubuntu1 [375 kB] Get:19 http://ftpmaster.internal/ubuntu disco-proposed/main i386 libmpx2 i386 8.2.0-14ubuntu1 [13.0 kB] Get:20 http://ftpmaster.internal/ubuntu disco-proposed/main i386 libquadmath0 i386 8.2.0-14ubuntu1 [208 kB] Get:21 http://ftpmaster.internal/ubuntu disco-proposed/main i386 cpp-8 i386 8.2.0-14ubuntu1 [7539 kB] Get:22 http://ftpmaster.internal/ubuntu disco-proposed/main i386 libcc1-0 i386 8.2.0-14ubuntu1 [41.9 kB] Get:23 http://ftpmaster.internal/ubuntu disco-proposed/main i386 g++-8 i386 8.2.0-14ubuntu1 [8444 kB] Get:24 http://ftpmaster.internal/ubuntu disco-proposed/main i386 gcc-8 i386 8.2.0-14ubuntu1 [8335 kB] Get:25 http://ftpmaster.internal/ubuntu disco-proposed/main i386 libgcc-8-dev i386 8.2.0-14ubuntu1 [2304 kB] Get:26 http://ftpmaster.internal/ubuntu disco-proposed/main i386 libstdc++-8-dev i386 8.2.0-14ubuntu1 [1586 kB] Get:27 http://ftpmaster.internal/ubuntu disco-proposed/main i386 libstdc++6 i386 8.2.0-14ubuntu1 [429 kB] Get:28 http://ftpmaster.internal/ubuntu disco/main i386 libmpfr6 i386 4.0.2~rc1-1 [246 kB] Get:29 http://ftpmaster.internal/ubuntu disco-proposed/main i386 libbinutils i386 2.31.1-11ubuntu1 [519 kB] Get:30 http://ftpmaster.internal/ubuntu disco-proposed/main i386 binutils-common i386 2.31.1-11ubuntu1 [194 kB] Get:31 http://ftpmaster.internal/ubuntu disco-proposed/main i386 binutils i386 2.31.1-11ubuntu1 [3392 B] Get:32 http://ftpmaster.internal/ubuntu disco-proposed/main i386 binutils-i686-linux-gnu i386 2.31.1-11ubuntu1 [1988 kB] Get:33 http://ftpmaster.internal/ubuntu disco-proposed/main i386 liblz4-1 i386 1.8.3-1ubuntu1 [61.2 kB] Get:34 http://ftpmaster.internal/ubuntu disco/main i386 libzstd1 i386 1.3.8+dfsg-3 [225 kB] Get:35 http://ftpmaster.internal/ubuntu disco/main i386 libapt-pkg5.0 i386 1.8.0~alpha3 [891 kB] Get:36 http://ftpmaster.internal/ubuntu disco-proposed/main i386 libgpg-error0 i386 1.33-3 [62.0 kB] Get:37 http://ftpmaster.internal/ubuntu disco-proposed/main i386 gpgv i386 2.2.12-1ubuntu2 [217 kB] Get:38 http://ftpmaster.internal/ubuntu disco/main i386 apt i386 1.8.0~alpha3 [1191 kB] Get:39 http://ftpmaster.internal/ubuntu disco/main i386 libext2fs2 i386 1.44.5-1 [186 kB] Get:40 http://ftpmaster.internal/ubuntu disco/main i386 e2fsprogs i386 1.44.5-1 [550 kB] Get:41 http://ftpmaster.internal/ubuntu disco-proposed/main i386 libuuid1 i386 2.33.1-0.1ubuntu1 [21.9 kB] Get:42 http://ftpmaster.internal/ubuntu disco-proposed/main i386 libblkid1 i386 2.33.1-0.1ubuntu1 [147 kB] Get:43 http://ftpmaster.internal/ubuntu disco-proposed/main i386 libmount1 i386 2.33.1-0.1ubuntu1 [158 kB] Get:44 http://ftpmaster.internal/ubuntu disco-proposed/main i386 libsmartcols1 i386 2.33.1-0.1ubuntu1 [98.7 kB] Get:45 http://ftpmaster.internal/ubuntu disco-proposed/main i386 mount i386 2.33.1-0.1ubuntu1 [117 kB] Get:46 http://ftpmaster.internal/ubuntu disco/main i386 init i386 1.56+nmu1 [6076 B] Get:47 http://ftpmaster.internal/ubuntu disco-proposed/main i386 libfdisk1 i386 2.33.1-0.1ubuntu1 [190 kB] Get:48 http://ftpmaster.internal/ubuntu disco-proposed/main i386 fdisk i386 2.33.1-0.1ubuntu1 [126 kB] Get:49 http://ftpmaster.internal/ubuntu disco/main i386 libcap-ng0 i386 0.7.9-2 [11.1 kB] Get:50 http://ftpmaster.internal/ubuntu disco/main i386 libsemanage-common all 2.8-2 [7016 B] Get:51 http://ftpmaster.internal/ubuntu disco/main i386 libsemanage1 i386 2.8-2 [94.2 kB] Get:52 http://ftpmaster.internal/ubuntu disco/main i386 libcom-err2 i386 1.44.5-1 [9708 B] Get:53 http://ftpmaster.internal/ubuntu disco/main i386 libss2 i386 1.44.5-1 [11.6 kB] Get:54 http://ftpmaster.internal/ubuntu disco/main i386 libargon2-1 i386 0~20171227-0.2 [23.5 kB] Get:55 http://ftpmaster.internal/ubuntu disco-proposed/main i386 readline-common all 8.0-1 [53.4 kB] Get:56 http://ftpmaster.internal/ubuntu disco-proposed/main i386 libreadline8 i386 8.0-1 [133 kB] Get:57 http://ftpmaster.internal/ubuntu disco-proposed/main i386 libsqlite3-0 i386 3.26.0+fossilbc891ac6b-1build1 [566 kB] Get:58 http://ftpmaster.internal/ubuntu disco/main i386 tzdata all 2018i-1 [189 kB] Get:59 http://ftpmaster.internal/ubuntu disco-proposed/main i386 libgdbm6 i386 1.18.1-2build1 [32.0 kB] Get:60 http://ftpmaster.internal/ubuntu disco-proposed/main i386 libpng16-16 i386 1.6.36-3 [187 kB] Get:61 http://ftpmaster.internal/ubuntu disco/main i386 dpkg-dev all 1.19.2ubuntu2 [549 kB] Get:62 http://ftpmaster.internal/ubuntu disco/main i386 libdpkg-perl all 1.19.2ubuntu2 [227 kB] Get:63 http://ftpmaster.internal/ubuntu disco/main i386 e2fslibs i386 1.44.5-1 [2704 B] Get:64 http://ftpmaster.internal/ubuntu disco/main i386 libassuan0 i386 2.5.2-1 [37.4 kB] Get:65 http://ftpmaster.internal/ubuntu disco-proposed/main i386 gpg i386 2.2.12-1ubuntu2 [515 kB] Get:66 http://ftpmaster.internal/ubuntu disco-proposed/main i386 gpgconf i386 2.2.12-1ubuntu2 [130 kB] Get:67 http://ftpmaster.internal/ubuntu disco-proposed/main i386 gpg-agent i386 2.2.12-1ubuntu2 [249 kB] Get:68 http://ftpmaster.internal/ubuntu disco/main i386 libcomerr2 i386 1.44.5-1 [2700 B] Get:69 http://ftpmaster.internal/ubuntu disco-proposed/main i386 libgdbm-compat4 i386 1.18.1-2build1 [6708 B] Get:70 http://ftpmaster.internal/ubuntu disco-proposed/main i386 linux-libc-dev i386 4.19.0-9.10 [1041 kB] debconf: delaying package configuration, since apt-utils is not installed Fetched 45.7 MB in 2s (19.2 MB/s) (Reading database ... 12659 files and directories currently installed.) Preparing to unpack .../bash_5.0-1ubuntu1_i386.deb ... Unpacking bash (5.0-1ubuntu1) over (4.4.18-2ubuntu3) ... Setting up bash (5.0-1ubuntu1) ... 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 ... 12659 files and directories currently installed.) Preparing to unpack .../bsdutils_1%3a2.33.1-0.1ubuntu1_i386.deb ... Unpacking bsdutils (1:2.33.1-0.1ubuntu1) over (1:2.32-0.1ubuntu2) ... Setting up bsdutils (1:2.33.1-0.1ubuntu1) ... (Reading database ... 12659 files and directories currently installed.) Preparing to unpack .../coreutils_8.30-1ubuntu1_i386.deb ... Unpacking coreutils (8.30-1ubuntu1) over (8.28-1ubuntu2) ... Setting up coreutils (8.30-1ubuntu1) ... (Reading database ... 12659 files and directories currently installed.) Preparing to unpack .../tar_1.30+dfsg-4_i386.deb ... Unpacking tar (1.30+dfsg-4) over (1.30+dfsg-3) ... Setting up tar (1.30+dfsg-4) ... (Reading database ... 12659 files and directories currently installed.) Preparing to unpack .../dpkg_1.19.2ubuntu2_i386.deb ... Unpacking dpkg (1.19.2ubuntu2) over (1.19.2ubuntu1) ... Setting up dpkg (1.19.2ubuntu2) ... (Reading database ... 12659 files and directories currently installed.) Preparing to unpack .../dash_0.5.10.2-4ubuntu1_i386.deb ... Unpacking dash (0.5.10.2-4ubuntu1) over (0.5.10.2-2) ... Setting up dash (0.5.10.2-4ubuntu1) ... (Reading database ... 12659 files and directories currently installed.) Preparing to unpack .../archives/grep_3.3-1_i386.deb ... Unpacking grep (3.3-1) over (3.1-3) ... Setting up grep (3.3-1) ... (Reading database ... 12659 files and directories currently installed.) Preparing to unpack .../archives/gzip_1.9-3_i386.deb ... Unpacking gzip (1.9-3) over (1.6-5ubuntu2) ... Setting up gzip (1.9-3) ... (Reading database ... 12659 files and directories currently installed.) Preparing to unpack .../archives/sed_4.7-1_i386.deb ... Unpacking sed (4.7-1) over (4.5-2) ... Setting up sed (4.7-1) ... (Reading database ... 12659 files and directories currently installed.) Preparing to unpack .../init-system-helpers_1.56+nmu1_all.deb ... Unpacking init-system-helpers (1.56+nmu1) over (1.56) ... Setting up init-system-helpers (1.56+nmu1) ... (Reading database ... 12659 files and directories currently installed.) Preparing to unpack .../libgnutls30_3.6.5-2ubuntu1_i386.deb ... Unpacking libgnutls30:i386 (3.6.5-2ubuntu1) over (3.6.4-2ubuntu2) ... Setting up libgnutls30:i386 (3.6.5-2ubuntu1) ... (Reading database ... 12659 files and directories currently installed.) Preparing to unpack .../libubsan1_8.2.0-14ubuntu1_i386.deb ... Unpacking libubsan1:i386 (8.2.0-14ubuntu1) over (8.2.0-12ubuntu1) ... Preparing to unpack .../gcc-8-base_8.2.0-14ubuntu1_i386.deb ... Unpacking gcc-8-base:i386 (8.2.0-14ubuntu1) over (8.2.0-12ubuntu1) ... Setting up gcc-8-base:i386 (8.2.0-14ubuntu1) ... (Reading database ... 12659 files and directories currently installed.) Preparing to unpack .../libgcc1_1%3a8.2.0-14ubuntu1_i386.deb ... Unpacking libgcc1:i386 (1:8.2.0-14ubuntu1) over (1:8.2.0-12ubuntu1) ... Setting up libgcc1:i386 (1:8.2.0-14ubuntu1) ... (Reading database ... 12659 files and directories currently installed.) Preparing to unpack .../00-libgomp1_8.2.0-14ubuntu1_i386.deb ... Unpacking libgomp1:i386 (8.2.0-14ubuntu1) over (8.2.0-12ubuntu1) ... Preparing to unpack .../01-libitm1_8.2.0-14ubuntu1_i386.deb ... Unpacking libitm1:i386 (8.2.0-14ubuntu1) over (8.2.0-12ubuntu1) ... Preparing to unpack .../02-libatomic1_8.2.0-14ubuntu1_i386.deb ... Unpacking libatomic1:i386 (8.2.0-14ubuntu1) over (8.2.0-12ubuntu1) ... Preparing to unpack .../03-libasan5_8.2.0-14ubuntu1_i386.deb ... Unpacking libasan5:i386 (8.2.0-14ubuntu1) over (8.2.0-12ubuntu1) ... Preparing to unpack .../04-libmpx2_8.2.0-14ubuntu1_i386.deb ... Unpacking libmpx2:i386 (8.2.0-14ubuntu1) over (8.2.0-12ubuntu1) ... Preparing to unpack .../05-libquadmath0_8.2.0-14ubuntu1_i386.deb ... Unpacking libquadmath0:i386 (8.2.0-14ubuntu1) over (8.2.0-12ubuntu1) ... Preparing to unpack .../06-cpp-8_8.2.0-14ubuntu1_i386.deb ... Unpacking cpp-8 (8.2.0-14ubuntu1) over (8.2.0-12ubuntu1) ... Preparing to unpack .../07-libcc1-0_8.2.0-14ubuntu1_i386.deb ... Unpacking libcc1-0:i386 (8.2.0-14ubuntu1) over (8.2.0-12ubuntu1) ... Preparing to unpack .../08-g++-8_8.2.0-14ubuntu1_i386.deb ... Unpacking g++-8 (8.2.0-14ubuntu1) over (8.2.0-12ubuntu1) ... Preparing to unpack .../09-gcc-8_8.2.0-14ubuntu1_i386.deb ... Unpacking gcc-8 (8.2.0-14ubuntu1) over (8.2.0-12ubuntu1) ... Preparing to unpack .../10-libgcc-8-dev_8.2.0-14ubuntu1_i386.deb ... Unpacking libgcc-8-dev:i386 (8.2.0-14ubuntu1) over (8.2.0-12ubuntu1) ... Preparing to unpack .../11-libstdc++-8-dev_8.2.0-14ubuntu1_i386.deb ... Unpacking libstdc++-8-dev:i386 (8.2.0-14ubuntu1) over (8.2.0-12ubuntu1) ... Preparing to unpack .../12-libstdc++6_8.2.0-14ubuntu1_i386.deb ... Unpacking libstdc++6:i386 (8.2.0-14ubuntu1) over (8.2.0-12ubuntu1) ... Setting up libstdc++6:i386 (8.2.0-14ubuntu1) ... (Reading database ... 12659 files and directories currently installed.) Preparing to unpack .../0-libmpfr6_4.0.2~rc1-1_i386.deb ... Unpacking libmpfr6:i386 (4.0.2~rc1-1) over (4.0.1-2) ... Preparing to unpack .../1-libbinutils_2.31.1-11ubuntu1_i386.deb ... Unpacking libbinutils:i386 (2.31.1-11ubuntu1) over (2.31.1-10ubuntu1) ... Preparing to unpack .../2-binutils-common_2.31.1-11ubuntu1_i386.deb ... Unpacking binutils-common:i386 (2.31.1-11ubuntu1) over (2.31.1-10ubuntu1) ... Preparing to unpack .../3-binutils_2.31.1-11ubuntu1_i386.deb ... Unpacking binutils (2.31.1-11ubuntu1) over (2.31.1-10ubuntu1) ... Preparing to unpack .../4-binutils-i686-linux-gnu_2.31.1-11ubuntu1_i386.deb ... Unpacking binutils-i686-linux-gnu (2.31.1-11ubuntu1) over (2.31.1-10ubuntu1) ... Preparing to unpack .../5-liblz4-1_1.8.3-1ubuntu1_i386.deb ... Unpacking liblz4-1:i386 (1.8.3-1ubuntu1) over (1.8.2-1ubuntu1) ... Setting up liblz4-1:i386 (1.8.3-1ubuntu1) ... (Reading database ... 12659 files and directories currently installed.) Preparing to unpack .../libzstd1_1.3.8+dfsg-3_i386.deb ... Unpacking libzstd1:i386 (1.3.8+dfsg-3) over (1.3.5+dfsg-1ubuntu1) ... Setting up libzstd1:i386 (1.3.8+dfsg-3) ... (Reading database ... 12659 files and directories currently installed.) Preparing to unpack .../libapt-pkg5.0_1.8.0~alpha3_i386.deb ... Unpacking libapt-pkg5.0:i386 (1.8.0~alpha3) over (1.8.0~alpha2ubuntu1) ... Setting up libapt-pkg5.0:i386 (1.8.0~alpha3) ... (Reading database ... 12659 files and directories currently installed.) Preparing to unpack .../libgpg-error0_1.33-3_i386.deb ... Unpacking libgpg-error0:i386 (1.33-3) over (1.32-3) ... Setting up libgpg-error0:i386 (1.33-3) ... (Reading database ... 12659 files and directories currently installed.) Preparing to unpack .../gpgv_2.2.12-1ubuntu2_i386.deb ... Unpacking gpgv (2.2.12-1ubuntu2) over (2.2.8-3ubuntu1) ... Setting up gpgv (2.2.12-1ubuntu2) ... (Reading database ... 12659 files and directories currently installed.) Preparing to unpack .../apt_1.8.0~alpha3_i386.deb ... Unpacking apt (1.8.0~alpha3) over (1.8.0~alpha2ubuntu1) ... Setting up apt (1.8.0~alpha3) ... (Reading database ... 12658 files and directories currently installed.) Preparing to unpack .../libext2fs2_1.44.5-1_i386.deb ... Unpacking libext2fs2:i386 (1.44.5-1) over (1.44.4-2ubuntu1) ... Setting up libext2fs2:i386 (1.44.5-1) ... (Reading database ... 12657 files and directories currently installed.) Preparing to unpack .../e2fsprogs_1.44.5-1_i386.deb ... Unpacking e2fsprogs (1.44.5-1) over (1.44.4-2ubuntu1) ... Preparing to unpack .../libuuid1_2.33.1-0.1ubuntu1_i386.deb ... Unpacking libuuid1:i386 (2.33.1-0.1ubuntu1) over (2.32-0.1ubuntu2) ... Setting up libuuid1:i386 (2.33.1-0.1ubuntu1) ... (Reading database ... 12657 files and directories currently installed.) Preparing to unpack .../libblkid1_2.33.1-0.1ubuntu1_i386.deb ... Unpacking libblkid1:i386 (2.33.1-0.1ubuntu1) over (2.32-0.1ubuntu2) ... Setting up libblkid1:i386 (2.33.1-0.1ubuntu1) ... (Reading database ... 12657 files and directories currently installed.) Preparing to unpack .../libmount1_2.33.1-0.1ubuntu1_i386.deb ... Unpacking libmount1:i386 (2.33.1-0.1ubuntu1) over (2.32-0.1ubuntu2) ... Setting up libmount1:i386 (2.33.1-0.1ubuntu1) ... (Reading database ... 12657 files and directories currently installed.) Preparing to unpack .../libsmartcols1_2.33.1-0.1ubuntu1_i386.deb ... Unpacking libsmartcols1:i386 (2.33.1-0.1ubuntu1) over (2.32-0.1ubuntu2) ... Setting up libsmartcols1:i386 (2.33.1-0.1ubuntu1) ... (Reading database ... 12657 files and directories currently installed.) Preparing to unpack .../mount_2.33.1-0.1ubuntu1_i386.deb ... Unpacking mount (2.33.1-0.1ubuntu1) over (2.32-0.1ubuntu2) ... Preparing to unpack .../init_1.56+nmu1_i386.deb ... Unpacking init (1.56+nmu1) over (1.56) ... Preparing to unpack .../libfdisk1_2.33.1-0.1ubuntu1_i386.deb ... Unpacking libfdisk1:i386 (2.33.1-0.1ubuntu1) over (2.32-0.1ubuntu2) ... Setting up libfdisk1:i386 (2.33.1-0.1ubuntu1) ... (Reading database ... 12657 files and directories currently installed.) Preparing to unpack .../fdisk_2.33.1-0.1ubuntu1_i386.deb ... Unpacking fdisk (2.33.1-0.1ubuntu1) over (2.32-0.1ubuntu2) ... Setting up fdisk (2.33.1-0.1ubuntu1) ... (Reading database ... 12660 files and directories currently installed.) Preparing to unpack .../libcap-ng0_0.7.9-2_i386.deb ... Unpacking libcap-ng0:i386 (0.7.9-2) over (0.7.9-1build1) ... Setting up libcap-ng0:i386 (0.7.9-2) ... (Reading database ... 12660 files and directories currently installed.) Preparing to unpack .../libsemanage-common_2.8-2_all.deb ... Unpacking libsemanage-common (2.8-2) over (2.8-1build2) ... Setting up libsemanage-common (2.8-2) ... (Reading database ... 12660 files and directories currently installed.) Preparing to unpack .../libsemanage1_2.8-2_i386.deb ... Unpacking libsemanage1:i386 (2.8-2) over (2.8-1build2) ... Setting up libsemanage1:i386 (2.8-2) ... (Reading database ... 12660 files and directories currently installed.) Preparing to unpack .../00-libcom-err2_1.44.5-1_i386.deb ... Unpacking libcom-err2:i386 (1.44.5-1) over (1.44.4-2ubuntu1) ... Preparing to unpack .../01-libss2_1.44.5-1_i386.deb ... Unpacking libss2:i386 (1.44.5-1) over (1.44.4-2ubuntu1) ... Preparing to unpack .../02-libargon2-1_0~20171227-0.2_i386.deb ... Unpacking libargon2-1:i386 (0~20171227-0.2) over (0~20171227-0.1) ... Preparing to unpack .../03-readline-common_8.0-1_all.deb ... Unpacking readline-common (8.0-1) over (7.0-5) ... Selecting previously unselected package libreadline8:i386. Preparing to unpack .../04-libreadline8_8.0-1_i386.deb ... Unpacking libreadline8:i386 (8.0-1) ... Preparing to unpack .../05-libsqlite3-0_3.26.0+fossilbc891ac6b-1build1_i386.deb ... Unpacking libsqlite3-0:i386 (3.26.0+fossilbc891ac6b-1build1) over (3.26.0-2) ... Preparing to unpack .../06-tzdata_2018i-1_all.deb ... Unpacking tzdata (2018i-1) over (2018g-1) ... Preparing to unpack .../07-libgdbm6_1.18.1-2build1_i386.deb ... Unpacking libgdbm6:i386 (1.18.1-2build1) over (1.18.1-2) ... Preparing to unpack .../08-libpng16-16_1.6.36-3_i386.deb ... Unpacking libpng16-16:i386 (1.6.36-3) over (1.6.34-2) ... Preparing to unpack .../09-dpkg-dev_1.19.2ubuntu2_all.deb ... Unpacking dpkg-dev (1.19.2ubuntu2) over (1.19.2ubuntu1) ... Preparing to unpack .../10-libdpkg-perl_1.19.2ubuntu2_all.deb ... Unpacking libdpkg-perl (1.19.2ubuntu2) over (1.19.2ubuntu1) ... Preparing to unpack .../11-e2fslibs_1.44.5-1_i386.deb ... Unpacking e2fslibs:i386 (1.44.5-1) over (1.44.4-2ubuntu1) ... Preparing to unpack .../12-libassuan0_2.5.2-1_i386.deb ... Unpacking libassuan0:i386 (2.5.2-1) over (2.5.1-2) ... Preparing to unpack .../13-gpg_2.2.12-1ubuntu2_i386.deb ... Unpacking gpg (2.2.12-1ubuntu2) over (2.2.8-3ubuntu1) ... Preparing to unpack .../14-gpgconf_2.2.12-1ubuntu2_i386.deb ... Unpacking gpgconf (2.2.12-1ubuntu2) over (2.2.8-3ubuntu1) ... Preparing to unpack .../15-gpg-agent_2.2.12-1ubuntu2_i386.deb ... Unpacking gpg-agent (2.2.12-1ubuntu2) over (2.2.8-3ubuntu1) ... Preparing to unpack .../16-libcomerr2_1.44.5-1_i386.deb ... Unpacking libcomerr2:i386 (1.44.5-1) over (1.44.4-2ubuntu1) ... Preparing to unpack .../17-libgdbm-compat4_1.18.1-2build1_i386.deb ... Unpacking libgdbm-compat4:i386 (1.18.1-2build1) over (1.18.1-2) ... Preparing to unpack .../18-linux-libc-dev_4.19.0-9.10_i386.deb ... Unpacking linux-libc-dev:i386 (4.19.0-9.10) over (4.18.0-11.12) ... Setting up libquadmath0:i386 (8.2.0-14ubuntu1) ... Setting up libcom-err2:i386 (1.44.5-1) ... Setting up libgomp1:i386 (8.2.0-14ubuntu1) ... Setting up libatomic1:i386 (8.2.0-14ubuntu1) ... Setting up readline-common (8.0-1) ... Setting up libss2:i386 (1.44.5-1) ... Setting up libcc1-0:i386 (8.2.0-14ubuntu1) ... Setting up e2fslibs:i386 (1.44.5-1) ... Setting up libpng16-16:i386 (1.6.36-3) ... Setting up tzdata (2018i-1) ... Current default time zone: 'Etc/UTC' Local time is now: Tue Jan 15 11:06:53 UTC 2019. Universal Time is now: Tue Jan 15 11:06:53 UTC 2019. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up init (1.56+nmu1) ... Setting up linux-libc-dev:i386 (4.19.0-9.10) ... Setting up libmpfr6:i386 (4.0.2~rc1-1) ... Setting up mount (2.33.1-0.1ubuntu1) ... Setting up libdpkg-perl (1.19.2ubuntu2) ... Setting up e2fsprogs (1.44.5-1) ... Setting up libgdbm6:i386 (1.18.1-2build1) ... Setting up binutils-common:i386 (2.31.1-11ubuntu1) ... Setting up libmpx2:i386 (8.2.0-14ubuntu1) ... Processing triggers for libc-bin (2.28-0ubuntu1) ... Setting up libsqlite3-0:i386 (3.26.0+fossilbc891ac6b-1build1) ... Setting up libcomerr2:i386 (1.44.5-1) ... Setting up libgdbm-compat4:i386 (1.18.1-2build1) ... Setting up libargon2-1:i386 (0~20171227-0.2) ... Setting up libasan5:i386 (8.2.0-14ubuntu1) ... Setting up libassuan0:i386 (2.5.2-1) ... Setting up libitm1:i386 (8.2.0-14ubuntu1) ... Setting up libreadline8:i386 (8.0-1) ... Setting up libubsan1:i386 (8.2.0-14ubuntu1) ... Setting up cpp-8 (8.2.0-14ubuntu1) ... Setting up libbinutils:i386 (2.31.1-11ubuntu1) ... Setting up gpgconf (2.2.12-1ubuntu2) ... Setting up gpg-agent (2.2.12-1ubuntu2) ... Setting up binutils-i686-linux-gnu (2.31.1-11ubuntu1) ... Setting up libgcc-8-dev:i386 (8.2.0-14ubuntu1) ... Setting up binutils (2.31.1-11ubuntu1) ... Setting up gpg (2.2.12-1ubuntu2) ... Setting up libstdc++-8-dev:i386 (8.2.0-14ubuntu1) ... Setting up gcc-8 (8.2.0-14ubuntu1) ... Setting up g++-8 (8.2.0-14ubuntu1) ... Setting up dpkg-dev (1.19.2ubuntu2) ... Processing triggers for libc-bin (2.28-0ubuntu1) ... RUN: /usr/share/launchpad-buildd/slavebin/sbuild-package PACKAGEBUILD-16281177 i386 disco-proposed -c chroot:build-PACKAGEBUILD-16281177 --arch=i386 --dist=disco-proposed --nolog hol88_2.02.19940316-35build1.dsc Initiating build PACKAGEBUILD-16281177 with 4 jobs across 4 processor cores. Kernel reported to sbuild: 4.4.0-141-generic #167-Ubuntu SMP Wed Dec 5 10:40:15 UTC 2018 i686 sbuild (Debian sbuild) 0.67.0 (26 Dec 2015) on lgw01-amd64-027.buildd +==============================================================================+ | hol88 2.02.19940316-35build1 (i386) 15 Jan 2019 11:06 | +==============================================================================+ Package: hol88 Version: 2.02.19940316-35build1 Source Version: 2.02.19940316-35build1 Distribution: disco-proposed Machine Architecture: amd64 Host Architecture: i386 Build Architecture: i386 I: NOTICE: Log filtering will replace 'build/hol88-WnpgAC/hol88-2.02.19940316' with '<>' I: NOTICE: Log filtering will replace 'build/hol88-WnpgAC' with '<>' I: NOTICE: Log filtering will replace 'home/buildd/build-PACKAGEBUILD-16281177/chroot-autobuild' with '<>' +------------------------------------------------------------------------------+ | Fetch source files | +------------------------------------------------------------------------------+ Local sources ------------- hol88_2.02.19940316-35build1.dsc exists in .; copying to chroot Check architectures ------------------- Check dependencies ------------------ Merged Build-Depends: build-essential, fakeroot Filtered Build-Depends: build-essential, fakeroot dpkg-deb: building package 'sbuild-build-depends-core-dummy' in '/<>/resolver-UB_D5D/apt_archive/sbuild-build-depends-core-dummy.deb'. Ign:1 copy:/<>/resolver-UB_D5D/apt_archive ./ InRelease Get:2 copy:/<>/resolver-UB_D5D/apt_archive ./ Release [2119 B] Ign:3 copy:/<>/resolver-UB_D5D/apt_archive ./ Release.gpg Get:4 copy:/<>/resolver-UB_D5D/apt_archive ./ Sources [214 B] Get:5 copy:/<>/resolver-UB_D5D/apt_archive ./ Packages [529 B] Fetched 2862 B in 0s (102 kB/s) Reading package lists... Reading package lists... +------------------------------------------------------------------------------+ | Install core build dependencies (apt-based resolver) | +------------------------------------------------------------------------------+ Installing build dependencies Reading package lists... Building dependency tree... Reading state information... The following package was automatically installed and is no longer required: libreadline7 Use 'apt autoremove' to remove it. The following NEW packages will be installed: sbuild-build-depends-core-dummy 0 upgraded, 1 newly installed, 0 to remove and 1 not upgraded. Need to get 852 B of archives. After this operation, 0 B of additional disk space will be used. Get:1 copy:/<>/resolver-UB_D5D/apt_archive ./ sbuild-build-depends-core-dummy 0.invalid.0 [852 B] debconf: delaying package configuration, since apt-utils is not installed Fetched 852 B in 0s (0 B/s) Selecting previously unselected package sbuild-build-depends-core-dummy. (Reading database ... 12678 files and directories currently installed.) Preparing to unpack .../sbuild-build-depends-core-dummy_0.invalid.0_i386.deb ... Unpacking sbuild-build-depends-core-dummy (0.invalid.0) ... Setting up sbuild-build-depends-core-dummy (0.invalid.0) ... Merged Build-Depends: debhelper (>= 9), gcl (>= 2.6.12-57), texlive-latex-base, libgmp3-dev, libreadline-dev, libxmu-dev, libxaw7-dev Filtered Build-Depends: debhelper (>= 9), gcl (>= 2.6.12-57), texlive-latex-base, libgmp3-dev, libreadline-dev, libxmu-dev, libxaw7-dev dpkg-deb: building package 'sbuild-build-depends-hol88-dummy' in '/<>/resolver-aWh1E5/apt_archive/sbuild-build-depends-hol88-dummy.deb'. Ign:1 copy:/<>/resolver-aWh1E5/apt_archive ./ InRelease Get:2 copy:/<>/resolver-aWh1E5/apt_archive ./ Release [2119 B] Ign:3 copy:/<>/resolver-aWh1E5/apt_archive ./ Release.gpg Get:4 copy:/<>/resolver-aWh1E5/apt_archive ./ Sources [261 B] Get:5 copy:/<>/resolver-aWh1E5/apt_archive ./ Packages [579 B] Fetched 2959 B in 0s (112 kB/s) Reading package lists... Reading package lists... +------------------------------------------------------------------------------+ | Install hol88 build dependencies (apt-based resolver) | +------------------------------------------------------------------------------+ Installing build dependencies Reading package lists... Building dependency tree... Reading state information... The following package was automatically installed and is no longer required: libreadline7 Use 'apt autoremove' to remove it. The following additional packages will be installed: adwaita-icon-theme autoconf automake autopoint autotools-dev bsdmainutils dbus dbus-user-session dconf-gsettings-backend dconf-service debhelper dh-autoreconf dh-strip-nondeterminism dwz emacs-bin-common emacs-common emacs-gtk emacs24 emacsen-common file fontconfig fontconfig-config fonts-dejavu-core fonts-lmodern gcl gettext gettext-base glib-networking glib-networking-common glib-networking-services groff-base gsettings-desktop-schemas gtk-update-icon-cache hicolor-icon-theme humanity-icon-theme imagemagick-6-common install-info intltool-debian libarchive-zip-perl libasound2 libasound2-data libatk-bridge2.0-0 libatk1.0-0 libatk1.0-data libatspi2.0-0 libavahi-client3 libavahi-common-data libavahi-common3 libbrotli1 libbsd0 libcairo-gobject2 libcairo2 libcolord2 libcroco3 libcups2 libcupsimage2 libdatrie1 libdbus-1-3 libdconf1 libelf1 libepoxy0 libexpat1 libfftw3-double3 libfile-stripnondeterminism-perl libfontconfig1 libfreetype6 libfribidi0 libgd3 libgdk-pixbuf2.0-0 libgdk-pixbuf2.0-common libgif7 libglib2.0-0 libgmp-dev libgmp3-dev libgmpxx4ldbl libgpm2 libgraphite2-3 libgs9 libgs9-common libgssapi-krb5-2 libgtk-3-0 libgtk-3-common libharfbuzz-icu0 libharfbuzz0b libice-dev libice6 libicu63 libijs-0.35 libjbig0 libjbig2dec0 libjpeg-turbo8 libjpeg8 libjson-glib-1.0-0 libjson-glib-1.0-common libk5crypto3 libkeyutils1 libkpathsea6 libkrb5-3 libkrb5support0 liblcms2-2 liblqr-1-0 libltdl7 libm17n-0 libmagic-mgc libmagic1 libmagickcore-6.q16-6 libmagickwand-6.q16-6 libncurses-dev libotf0 libpam-systemd libpango-1.0-0 libpangocairo-1.0-0 libpangoft2-1.0-0 libpaper-utils libpaper1 libpipeline1 libpixman-1-0 libpotrace0 libproxy1v5 libpsl5 libptexenc1 libpthread-stubs0-dev libreadline-dev librest-0.7-0 librsvg2-2 librsvg2-common libsigsegv2 libsm-dev libsm6 libsoup-gnome2.4-1 libsoup2.4-1 libsynctex2 libtcl8.6 libteckit0 libtexlua52 libtexlua53 libtexluajit2 libthai-data libthai0 libtiff5 libtk8.6 libtool libuchardet0 libwayland-client0 libwayland-cursor0 libwayland-egl1 libwebp6 libwoff1 libx11-6 libx11-data libx11-dev libx11-xcb1 libxau-dev libxau6 libxaw7 libxaw7-dev libxcb-render0 libxcb-shm0 libxcb1 libxcb1-dev libxcomposite1 libxcursor1 libxdamage1 libxdmcp-dev libxdmcp6 libxext-dev libxext6 libxfixes3 libxft2 libxi6 libxinerama1 libxkbcommon0 libxml2 libxmu-dev libxmu-headers libxmu6 libxpm-dev libxpm4 libxrandr2 libxrender1 libxss1 libxt-dev libxt6 libxxhash0 libzzip-0-13 m17n-db m4 man-db po-debconf poppler-data shared-mime-info t1utils tex-common texlive-base texlive-binaries texlive-latex-base ubuntu-mono ucf x11-common x11proto-core-dev x11proto-dev x11proto-xext-dev xdg-utils xkb-data xorg-sgml-doctools xtrans-dev Suggested packages: autoconf-archive gnu-standards autoconf-doc wamerican | wordlist whois vacation dh-make emacs-common-non-dfsg ncurses-term gcl-doc gettext-doc libasprintf-dev libgettextpo-dev groff libasound2-plugins alsa-utils colord cups-common libfftw3-bin libfftw3-dev libgd-tools gmp-doc libgmp10-doc libmpfr-dev gpm krb5-doc krb5-user gvfs libice-doc liblcms2-utils m17n-docs libmagickcore-6.q16-6-extra ncurses-doc readline-doc librsvg2-bin libsm-doc tcl8.6 tk8.6 libtool-doc gfortran | fortran95-compiler gcj-jdk libx11-doc libxaw-doc libxcb-doc libxext-doc libxt-doc gawk m4-doc apparmor less www-browser libmail-box-perl poppler-utils ghostscript fonts-japanese-mincho | fonts-ipafont-mincho fonts-japanese-gothic | fonts-ipafont-gothic fonts-arphic-ukai fonts-arphic-uming fonts-nanum gv | postscript-viewer perl-tk xpdf-reader | pdf-viewer texlive-latex-base-doc Recommended packages: mailutils emacs-el curl | wget | lynx at-spi2-core libcupsfilters1 libarchive-cpio-perl libgdk-pixbuf2.0-bin libglib2.0-data xdg-user-dirs fonts-droid-fallback libgtk-3-bin krb5-locales ghostscript gsfonts publicsuffix libltdl-dev libmail-sendmail-perl lmodern libfile-mimeinfo-perl libnet-dbus-perl libx11-protocol-perl x11-utils x11-xserver-utils The following NEW packages will be installed: adwaita-icon-theme autoconf automake autopoint autotools-dev bsdmainutils dbus dbus-user-session dconf-gsettings-backend dconf-service debhelper dh-autoreconf dh-strip-nondeterminism dwz emacs-bin-common emacs-common emacs-gtk emacs24 emacsen-common file fontconfig fontconfig-config fonts-dejavu-core fonts-lmodern gcl gettext gettext-base glib-networking glib-networking-common glib-networking-services groff-base gsettings-desktop-schemas gtk-update-icon-cache hicolor-icon-theme humanity-icon-theme imagemagick-6-common install-info intltool-debian libarchive-zip-perl libasound2 libasound2-data libatk-bridge2.0-0 libatk1.0-0 libatk1.0-data libatspi2.0-0 libavahi-client3 libavahi-common-data libavahi-common3 libbrotli1 libbsd0 libcairo-gobject2 libcairo2 libcolord2 libcroco3 libcups2 libcupsimage2 libdatrie1 libdbus-1-3 libdconf1 libelf1 libepoxy0 libexpat1 libfftw3-double3 libfile-stripnondeterminism-perl libfontconfig1 libfreetype6 libfribidi0 libgd3 libgdk-pixbuf2.0-0 libgdk-pixbuf2.0-common libgif7 libglib2.0-0 libgmp-dev libgmp3-dev libgmpxx4ldbl libgpm2 libgraphite2-3 libgs9 libgs9-common libgssapi-krb5-2 libgtk-3-0 libgtk-3-common libharfbuzz-icu0 libharfbuzz0b libice-dev libice6 libicu63 libijs-0.35 libjbig0 libjbig2dec0 libjpeg-turbo8 libjpeg8 libjson-glib-1.0-0 libjson-glib-1.0-common libk5crypto3 libkeyutils1 libkpathsea6 libkrb5-3 libkrb5support0 liblcms2-2 liblqr-1-0 libltdl7 libm17n-0 libmagic-mgc libmagic1 libmagickcore-6.q16-6 libmagickwand-6.q16-6 libncurses-dev libotf0 libpam-systemd libpango-1.0-0 libpangocairo-1.0-0 libpangoft2-1.0-0 libpaper-utils libpaper1 libpipeline1 libpixman-1-0 libpotrace0 libproxy1v5 libpsl5 libptexenc1 libpthread-stubs0-dev libreadline-dev librest-0.7-0 librsvg2-2 librsvg2-common libsigsegv2 libsm-dev libsm6 libsoup-gnome2.4-1 libsoup2.4-1 libsynctex2 libtcl8.6 libteckit0 libtexlua52 libtexlua53 libtexluajit2 libthai-data libthai0 libtiff5 libtk8.6 libtool libuchardet0 libwayland-client0 libwayland-cursor0 libwayland-egl1 libwebp6 libwoff1 libx11-6 libx11-data libx11-dev libx11-xcb1 libxau-dev libxau6 libxaw7 libxaw7-dev libxcb-render0 libxcb-shm0 libxcb1 libxcb1-dev libxcomposite1 libxcursor1 libxdamage1 libxdmcp-dev libxdmcp6 libxext-dev libxext6 libxfixes3 libxft2 libxi6 libxinerama1 libxkbcommon0 libxml2 libxmu-dev libxmu-headers libxmu6 libxpm-dev libxpm4 libxrandr2 libxrender1 libxss1 libxt-dev libxt6 libxxhash0 libzzip-0-13 m17n-db m4 man-db po-debconf poppler-data sbuild-build-depends-hol88-dummy shared-mime-info t1utils tex-common texlive-base texlive-binaries texlive-latex-base ubuntu-mono ucf x11-common x11proto-core-dev x11proto-dev x11proto-xext-dev xdg-utils xkb-data xorg-sgml-doctools xtrans-dev 0 upgraded, 207 newly installed, 0 to remove and 1 not upgraded. Need to get 135 MB of archives. After this operation, 598 MB of additional disk space will be used. Get:1 copy:/<>/resolver-aWh1E5/apt_archive ./ sbuild-build-depends-hol88-dummy 0.invalid.0 [908 B] Get:2 http://ftpmaster.internal/ubuntu disco/main i386 install-info i386 6.5.0.dfsg.1-4build1 [56.1 kB] Get:3 http://ftpmaster.internal/ubuntu disco/main i386 libxau6 i386 1:1.0.8-1 [8352 B] Get:4 http://ftpmaster.internal/ubuntu disco/main i386 libbsd0 i386 0.9.1-1 [48.8 kB] Get:5 http://ftpmaster.internal/ubuntu disco/main i386 libxdmcp6 i386 1:1.1.2-3 [11.1 kB] Get:6 http://ftpmaster.internal/ubuntu disco/main i386 libxcb1 i386 1.13.1-2 [49.9 kB] Get:7 http://ftpmaster.internal/ubuntu disco/main i386 libx11-data all 2:1.6.7-1 [113 kB] Get:8 http://ftpmaster.internal/ubuntu disco/main i386 libx11-6 i386 2:1.6.7-1 [594 kB] Get:9 http://ftpmaster.internal/ubuntu disco/main i386 libxext6 i386 2:1.3.3-1 [31.6 kB] Get:10 http://ftpmaster.internal/ubuntu disco/main i386 bsdmainutils i386 11.1.2ubuntu2 [183 kB] Get:11 http://ftpmaster.internal/ubuntu disco/universe i386 libuchardet0 i386 0.0.6-3 [65.2 kB] Get:12 http://ftpmaster.internal/ubuntu disco-proposed/main i386 groff-base i386 1.22.4-2 [880 kB] Get:13 http://ftpmaster.internal/ubuntu disco/main i386 libpipeline1 i386 1.5.0-2 [27.6 kB] Get:14 http://ftpmaster.internal/ubuntu disco/main i386 man-db i386 2.8.5-1 [1112 kB] Get:15 http://ftpmaster.internal/ubuntu disco/main i386 libfftw3-double3 i386 3.3.8-2 [632 kB] Get:16 http://ftpmaster.internal/ubuntu disco/main i386 libexpat1 i386 2.2.6-1 [84.8 kB] Get:17 http://ftpmaster.internal/ubuntu disco/main i386 libfreetype6 i386 2.9.1-3 [350 kB] Get:18 http://ftpmaster.internal/ubuntu disco-proposed/main i386 ucf all 3.0038+nmu1 [51.6 kB] Get:19 http://ftpmaster.internal/ubuntu disco/main i386 fonts-dejavu-core all 2.37-1 [1041 kB] Get:20 http://ftpmaster.internal/ubuntu disco/main i386 fontconfig-config all 2.13.0-5ubuntu3 [28.4 kB] Get:21 http://ftpmaster.internal/ubuntu disco/main i386 libfontconfig1 i386 2.13.0-5ubuntu3 [122 kB] Get:22 http://ftpmaster.internal/ubuntu disco/main i386 libjbig0 i386 2.1-3.1build1 [27.3 kB] Get:23 http://ftpmaster.internal/ubuntu disco/main i386 libjpeg-turbo8 i386 2.0.1-0ubuntu1 [126 kB] Get:24 http://ftpmaster.internal/ubuntu disco/main i386 libjpeg8 i386 8c-2ubuntu8 [2188 B] Get:25 http://ftpmaster.internal/ubuntu disco/main i386 liblcms2-2 i386 2.9-3 [149 kB] Get:26 http://ftpmaster.internal/ubuntu disco/main i386 libglib2.0-0 i386 2.58.1-2 [1246 kB] Get:27 http://ftpmaster.internal/ubuntu disco/main i386 liblqr-1-0 i386 0.4.2-2.1 [29.2 kB] Get:28 http://ftpmaster.internal/ubuntu disco-proposed/main i386 libltdl7 i386 2.4.6-7ubuntu1 [40.6 kB] Get:29 http://ftpmaster.internal/ubuntu disco/main i386 libwebp6 i386 0.6.1-2 [197 kB] Get:30 http://ftpmaster.internal/ubuntu disco/main i386 libtiff5 i386 4.0.10-3 [168 kB] Get:31 http://ftpmaster.internal/ubuntu disco/main i386 libicu63 i386 63.1-5 [8437 kB] Get:32 http://ftpmaster.internal/ubuntu disco/main i386 libxml2 i386 2.9.4+dfsg1-7ubuntu3 [658 kB] Get:33 http://ftpmaster.internal/ubuntu disco/main i386 imagemagick-6-common all 8:6.9.10.14+dfsg-7ubuntu2 [61.3 kB] Get:34 http://ftpmaster.internal/ubuntu disco/main i386 libmagickcore-6.q16-6 i386 8:6.9.10.14+dfsg-7ubuntu2 [1703 kB] Get:35 http://ftpmaster.internal/ubuntu disco/main i386 libmagickwand-6.q16-6 i386 8:6.9.10.14+dfsg-7ubuntu2 [293 kB] Get:36 http://ftpmaster.internal/ubuntu disco/main i386 x11-common all 1:7.7+19ubuntu8 [22.5 kB] Get:37 http://ftpmaster.internal/ubuntu disco/main i386 libice6 i386 2:1.0.9-2 [42.6 kB] Get:38 http://ftpmaster.internal/ubuntu disco/main i386 libsm6 i386 2:1.2.2-1 [14.8 kB] Get:39 http://ftpmaster.internal/ubuntu disco/main i386 poppler-data all 0.4.9-2 [1475 kB] Get:40 http://ftpmaster.internal/ubuntu disco/main i386 tex-common all 6.10 [32.6 kB] Get:41 http://ftpmaster.internal/ubuntu disco/main i386 libdbus-1-3 i386 1.12.10-1ubuntu2 [189 kB] Get:42 http://ftpmaster.internal/ubuntu disco/main i386 dbus i386 1.12.10-1ubuntu2 [162 kB] Get:43 http://ftpmaster.internal/ubuntu disco-proposed/main i386 libmagic-mgc i386 1:5.35-2 [200 kB] Get:44 http://ftpmaster.internal/ubuntu disco-proposed/main i386 libmagic1 i386 1:5.35-2 [80.0 kB] Get:45 http://ftpmaster.internal/ubuntu disco-proposed/main i386 file i386 1:5.35-2 [22.8 kB] Get:46 http://ftpmaster.internal/ubuntu disco-proposed/main i386 libelf1 i386 0.175-2 [49.9 kB] Get:47 http://ftpmaster.internal/ubuntu disco/main i386 libfribidi0 i386 1.0.5-3.1 [26.7 kB] Get:48 http://ftpmaster.internal/ubuntu disco/main i386 libpam-systemd i386 239-7ubuntu15 [120 kB] Get:49 http://ftpmaster.internal/ubuntu disco/main i386 shared-mime-info i386 1.10-1 [430 kB] Get:50 http://ftpmaster.internal/ubuntu disco/main i386 xkb-data all 2.23.1-1ubuntu1.18.10.1 [325 kB] Get:51 http://ftpmaster.internal/ubuntu disco/main i386 gettext-base i386 0.19.8.1-9 [51.2 kB] Get:52 http://ftpmaster.internal/ubuntu disco-proposed/main i386 libkrb5support0 i386 1.17-1 [36.2 kB] Get:53 http://ftpmaster.internal/ubuntu disco-proposed/main i386 libk5crypto3 i386 1.17-1 [90.0 kB] Get:54 http://ftpmaster.internal/ubuntu disco/main i386 libkeyutils1 i386 1.5.9-9.3 [9896 B] Get:55 http://ftpmaster.internal/ubuntu disco-proposed/main i386 libkrb5-3 i386 1.17-1 [357 kB] Get:56 http://ftpmaster.internal/ubuntu disco-proposed/main i386 libgssapi-krb5-2 i386 1.17-1 [132 kB] Get:57 http://ftpmaster.internal/ubuntu disco/main i386 libpsl5 i386 0.20.2-2 [50.7 kB] Get:58 http://ftpmaster.internal/ubuntu disco/main i386 hicolor-icon-theme all 0.17-2 [9976 B] Get:59 http://ftpmaster.internal/ubuntu disco/main i386 libgdk-pixbuf2.0-common all 2.38.0+dfsg-7 [6080 B] Get:60 http://ftpmaster.internal/ubuntu disco/main i386 libgdk-pixbuf2.0-0 i386 2.38.0+dfsg-7 [180 kB] Get:61 http://ftpmaster.internal/ubuntu disco-proposed/main i386 gtk-update-icon-cache i386 3.24.3-1ubuntu1 [27.7 kB] Get:62 http://ftpmaster.internal/ubuntu disco/main i386 libpixman-1-0 i386 0.36.0-1 [233 kB] Get:63 http://ftpmaster.internal/ubuntu disco/main i386 libxcb-render0 i386 1.13.1-2 [15.9 kB] Get:64 http://ftpmaster.internal/ubuntu disco/main i386 libxcb-shm0 i386 1.13.1-2 [5744 B] Get:65 http://ftpmaster.internal/ubuntu disco/main i386 libxrender1 i386 1:0.9.10-1 [19.9 kB] Get:66 http://ftpmaster.internal/ubuntu disco/main i386 libcairo2 i386 1.16.0-2 [640 kB] Get:67 http://ftpmaster.internal/ubuntu disco/main i386 libcroco3 i386 0.6.12-3 [87.9 kB] Get:68 http://ftpmaster.internal/ubuntu disco/main i386 fontconfig i386 2.13.0-5ubuntu3 [170 kB] Get:69 http://ftpmaster.internal/ubuntu disco/main i386 libthai-data all 0.1.28-1 [134 kB] Get:70 http://ftpmaster.internal/ubuntu disco/main i386 libdatrie1 i386 0.2.12-1 [19.8 kB] Get:71 http://ftpmaster.internal/ubuntu disco/main i386 libthai0 i386 0.1.28-1 [19.1 kB] Get:72 http://ftpmaster.internal/ubuntu disco/main i386 libpango-1.0-0 i386 1.42.4-6 [160 kB] Get:73 http://ftpmaster.internal/ubuntu disco/main i386 libgraphite2-3 i386 1.3.13-6 [76.5 kB] Get:74 http://ftpmaster.internal/ubuntu disco/main i386 libharfbuzz0b i386 2.3.0-1 [384 kB] Get:75 http://ftpmaster.internal/ubuntu disco/main i386 libpangoft2-1.0-0 i386 1.42.4-6 [38.3 kB] Get:76 http://ftpmaster.internal/ubuntu disco/main i386 libpangocairo-1.0-0 i386 1.42.4-6 [24.8 kB] Get:77 http://ftpmaster.internal/ubuntu disco/main i386 librsvg2-2 i386 2.44.10-1 [1258 kB] Get:78 http://ftpmaster.internal/ubuntu disco/main i386 librsvg2-common i386 2.44.10-1 [9188 B] Get:79 http://ftpmaster.internal/ubuntu disco/main i386 humanity-icon-theme all 0.6.15 [1250 kB] Get:80 http://ftpmaster.internal/ubuntu disco/main i386 ubuntu-mono all 16.10+18.10.20181005-0ubuntu1 [149 kB] Get:81 http://ftpmaster.internal/ubuntu disco/main i386 adwaita-icon-theme all 3.30.0-0ubuntu1 [3253 kB] Get:82 http://ftpmaster.internal/ubuntu disco/main i386 libsigsegv2 i386 2.12-2 [14.2 kB] Get:83 http://ftpmaster.internal/ubuntu disco/main i386 m4 i386 1.4.18-2 [202 kB] Get:84 http://ftpmaster.internal/ubuntu disco/main i386 autoconf all 2.69-11 [322 kB] Get:85 http://ftpmaster.internal/ubuntu disco/main i386 autotools-dev all 20180224.1 [39.6 kB] Get:86 http://ftpmaster.internal/ubuntu disco/main i386 automake all 1:1.16.1-4 [522 kB] Get:87 http://ftpmaster.internal/ubuntu disco/main i386 autopoint all 0.19.8.1-9 [412 kB] Get:88 http://ftpmaster.internal/ubuntu disco/main i386 dbus-user-session i386 1.12.10-1ubuntu2 [9424 B] Get:89 http://ftpmaster.internal/ubuntu disco/main i386 libdconf1 i386 0.30.1-2 [37.6 kB] Get:90 http://ftpmaster.internal/ubuntu disco/main i386 dconf-service i386 0.30.1-2 [31.9 kB] Get:91 http://ftpmaster.internal/ubuntu disco/main i386 dconf-gsettings-backend i386 0.30.1-2 [23.5 kB] Get:92 http://ftpmaster.internal/ubuntu disco-proposed/main i386 libtool all 2.4.6-7ubuntu1 [195 kB] Get:93 http://ftpmaster.internal/ubuntu disco/main i386 dh-autoreconf all 19 [16.1 kB] Get:94 http://ftpmaster.internal/ubuntu disco/main i386 libarchive-zip-perl all 1.64-1 [84.9 kB] Get:95 http://ftpmaster.internal/ubuntu disco/main i386 libfile-stripnondeterminism-perl all 1.1.0-1 [13.6 kB] Get:96 http://ftpmaster.internal/ubuntu disco/main i386 dh-strip-nondeterminism all 1.1.0-1 [5100 B] Get:97 http://ftpmaster.internal/ubuntu disco/main i386 dwz i386 0.12-3 [81.5 kB] Get:98 http://ftpmaster.internal/ubuntu disco/main i386 gettext i386 0.19.8.1-9 [905 kB] Get:99 http://ftpmaster.internal/ubuntu disco/main i386 intltool-debian all 0.35.0+20060710.4 [24.9 kB] Get:100 http://ftpmaster.internal/ubuntu disco/main i386 po-debconf all 1.0.21 [233 kB] Get:101 http://ftpmaster.internal/ubuntu disco/main i386 debhelper all 12ubuntu1 [887 kB] Get:102 http://ftpmaster.internal/ubuntu disco/main i386 emacsen-common all 3.0.4 [14.9 kB] Get:103 http://ftpmaster.internal/ubuntu disco-proposed/main i386 emacs-common all 1:26.1+1-3ubuntu1 [13.3 MB] Get:104 http://ftpmaster.internal/ubuntu disco-proposed/main i386 emacs-bin-common i386 1:26.1+1-3ubuntu1 [110 kB] Get:105 http://ftpmaster.internal/ubuntu disco/main i386 libasound2-data all 1.1.7-2ubuntu0.1 [38.7 kB] Get:106 http://ftpmaster.internal/ubuntu disco/main i386 libasound2 i386 1.1.7-2ubuntu0.1 [360 kB] Get:107 http://ftpmaster.internal/ubuntu disco/main i386 libgif7 i386 5.1.4-3 [31.8 kB] Get:108 http://ftpmaster.internal/ubuntu disco/main i386 libgpm2 i386 1.20.7-5 [15.8 kB] Get:109 http://ftpmaster.internal/ubuntu disco/main i386 libatk1.0-data all 2.30.0-2 [3032 B] Get:110 http://ftpmaster.internal/ubuntu disco/main i386 libatk1.0-0 i386 2.30.0-2 [44.3 kB] Get:111 http://ftpmaster.internal/ubuntu disco/main i386 libatspi2.0-0 i386 2.30.0-5 [63.0 kB] Get:112 http://ftpmaster.internal/ubuntu disco/main i386 libatk-bridge2.0-0 i386 2.30.0-2 [61.5 kB] Get:113 http://ftpmaster.internal/ubuntu disco/main i386 libcairo-gobject2 i386 1.16.0-2 [16.6 kB] Get:114 http://ftpmaster.internal/ubuntu disco/main i386 libcolord2 i386 1.4.3-3 [139 kB] Get:115 http://ftpmaster.internal/ubuntu disco/main i386 libavahi-common-data i386 0.7-4ubuntu4 [21.3 kB] Get:116 http://ftpmaster.internal/ubuntu disco/main i386 libavahi-common3 i386 0.7-4ubuntu4 [23.1 kB] Get:117 http://ftpmaster.internal/ubuntu disco/main i386 libavahi-client3 i386 0.7-4ubuntu4 [27.2 kB] Get:118 http://ftpmaster.internal/ubuntu disco/main i386 libcups2 i386 2.2.10-3 [225 kB] Get:119 http://ftpmaster.internal/ubuntu disco/main i386 libepoxy0 i386 1.5.3-0.1 [199 kB] Get:120 http://ftpmaster.internal/ubuntu disco/main i386 libjson-glib-1.0-common all 1.4.4-2 [3496 B] Get:121 http://ftpmaster.internal/ubuntu disco/main i386 libjson-glib-1.0-0 i386 1.4.4-2 [62.7 kB] Get:122 http://ftpmaster.internal/ubuntu disco/main i386 libproxy1v5 i386 0.4.15-5 [55.5 kB] Get:123 http://ftpmaster.internal/ubuntu disco/main i386 glib-networking-common all 2.58.0-2 [3580 B] Get:124 http://ftpmaster.internal/ubuntu disco/main i386 glib-networking-services i386 2.58.0-2 [9272 B] Get:125 http://ftpmaster.internal/ubuntu disco/main i386 gsettings-desktop-schemas all 3.28.1-1ubuntu1 [27.7 kB] Get:126 http://ftpmaster.internal/ubuntu disco/main i386 glib-networking i386 2.58.0-2 [53.1 kB] Get:127 http://ftpmaster.internal/ubuntu disco/main i386 libsoup2.4-1 i386 2.64.2-2 [255 kB] Get:128 http://ftpmaster.internal/ubuntu disco/main i386 libsoup-gnome2.4-1 i386 2.64.2-2 [5248 B] Get:129 http://ftpmaster.internal/ubuntu disco/main i386 librest-0.7-0 i386 0.8.1-1 [33.7 kB] Get:130 http://ftpmaster.internal/ubuntu disco/main i386 libwayland-client0 i386 1.16.0-1ubuntu2 [24.1 kB] Get:131 http://ftpmaster.internal/ubuntu disco/main i386 libwayland-cursor0 i386 1.16.0-1ubuntu2 [10.7 kB] Get:132 http://ftpmaster.internal/ubuntu disco/main i386 libwayland-egl1 i386 1.16.0-1ubuntu2 [5692 B] Get:133 http://ftpmaster.internal/ubuntu disco/main i386 libxcomposite1 i386 1:0.4.4-2 [7184 B] Get:134 http://ftpmaster.internal/ubuntu disco/main i386 libxfixes3 i386 1:5.0.3-1 [11.2 kB] Get:135 http://ftpmaster.internal/ubuntu disco/main i386 libxcursor1 i386 1:1.1.15-2 [21.4 kB] Get:136 http://ftpmaster.internal/ubuntu disco/main i386 libxdamage1 i386 1:1.1.4-3 [7090 B] Get:137 http://ftpmaster.internal/ubuntu disco/main i386 libxi6 i386 2:1.7.9-1 [31.7 kB] Get:138 http://ftpmaster.internal/ubuntu disco/main i386 libxinerama1 i386 2:1.1.4-1 [7352 B] Get:139 http://ftpmaster.internal/ubuntu disco/main i386 libxkbcommon0 i386 0.8.2-1 [103 kB] Get:140 http://ftpmaster.internal/ubuntu disco/main i386 libxrandr2 i386 2:1.5.1-1 [19.9 kB] Get:141 http://ftpmaster.internal/ubuntu disco-proposed/main i386 libgtk-3-common all 3.24.3-1ubuntu1 [230 kB] Get:142 http://ftpmaster.internal/ubuntu disco-proposed/main i386 libgtk-3-0 i386 3.24.3-1ubuntu1 [2715 kB] Get:143 http://ftpmaster.internal/ubuntu disco/main i386 m17n-db all 1.8.0-1 [1216 kB] Get:144 http://ftpmaster.internal/ubuntu disco/main i386 libxpm4 i386 1:3.5.12-1 [35.8 kB] Get:145 http://ftpmaster.internal/ubuntu disco/main i386 libgd3 i386 2.2.5-5 [123 kB] Get:146 http://ftpmaster.internal/ubuntu disco/main i386 libotf0 i386 0.9.13-4 [44.1 kB] Get:147 http://ftpmaster.internal/ubuntu disco/main i386 libxft2 i386 2.3.2-2 [39.6 kB] Get:148 http://ftpmaster.internal/ubuntu disco/main i386 libxt6 i386 1:1.1.5-1 [164 kB] Get:149 http://ftpmaster.internal/ubuntu disco/main i386 libm17n-0 i386 1.8.0-2 [258 kB] Get:150 http://ftpmaster.internal/ubuntu disco/main i386 libx11-xcb1 i386 2:1.6.7-1 [9208 B] Get:151 http://ftpmaster.internal/ubuntu disco-proposed/main i386 emacs-gtk i386 1:26.1+1-3ubuntu1 [3452 kB] Get:152 http://ftpmaster.internal/ubuntu disco-proposed/universe i386 emacs24 all 1:26.1+1-3ubuntu1 [14.2 kB] Get:153 http://ftpmaster.internal/ubuntu disco/main i386 fonts-lmodern all 2.004.5-5 [4532 kB] Get:154 http://ftpmaster.internal/ubuntu disco/main i386 libtcl8.6 i386 8.6.9+dfsg-1 [957 kB] Get:155 http://ftpmaster.internal/ubuntu disco/main i386 libxss1 i386 1:1.2.3-1 [8408 B] Get:156 http://ftpmaster.internal/ubuntu disco/main i386 libtk8.6 i386 8.6.9-1 [748 kB] Get:157 http://ftpmaster.internal/ubuntu disco-proposed/universe i386 gcl i386 2.6.12-80build1 [26.7 MB] Get:158 http://ftpmaster.internal/ubuntu disco/main i386 libbrotli1 i386 1.0.7-2 [265 kB] Get:159 http://ftpmaster.internal/ubuntu disco/main i386 libcupsimage2 i386 2.2.10-3 [19.3 kB] Get:160 http://ftpmaster.internal/ubuntu disco/main i386 libgmpxx4ldbl i386 2:6.1.2+dfsg-4 [9404 B] Get:161 http://ftpmaster.internal/ubuntu disco/main i386 libgmp-dev i386 2:6.1.2+dfsg-4 [332 kB] Get:162 http://ftpmaster.internal/ubuntu disco/main i386 libgmp3-dev i386 2:6.1.2+dfsg-4 [2016 B] Get:163 http://ftpmaster.internal/ubuntu disco/main i386 libijs-0.35 i386 0.35-13 [16.0 kB] Get:164 http://ftpmaster.internal/ubuntu disco/main i386 libjbig2dec0 i386 0.15-2 [61.1 kB] Get:165 http://ftpmaster.internal/ubuntu disco/main i386 libpaper1 i386 1.1.26 [13.0 kB] Get:166 http://ftpmaster.internal/ubuntu disco/main i386 libgs9-common all 9.26~dfsg+0-0ubuntu3 [5092 kB] Get:167 http://ftpmaster.internal/ubuntu disco/main i386 libgs9 i386 9.26~dfsg+0-0ubuntu3 [2502 kB] Get:168 http://ftpmaster.internal/ubuntu disco/main i386 libharfbuzz-icu0 i386 2.3.0-1 [5692 B] Get:169 http://ftpmaster.internal/ubuntu disco/main i386 xorg-sgml-doctools all 1:1.11-1 [12.9 kB] Get:170 http://ftpmaster.internal/ubuntu disco/main i386 x11proto-dev all 2018.4-4 [251 kB] Get:171 http://ftpmaster.internal/ubuntu disco/main i386 x11proto-core-dev all 2018.4-4 [2620 B] Get:172 http://ftpmaster.internal/ubuntu disco/main i386 libice-dev i386 2:1.0.9-2 [46.8 kB] Get:173 http://ftpmaster.internal/ubuntu disco/main i386 libkpathsea6 i386 2018.20181218.49446-1 [59.9 kB] Get:174 http://ftpmaster.internal/ubuntu disco/main i386 libncurses-dev i386 6.1+20180210-4ubuntu1 [360 kB] Get:175 http://ftpmaster.internal/ubuntu disco/main i386 libpaper-utils i386 1.1.26 [8516 B] Get:176 http://ftpmaster.internal/ubuntu disco/main i386 libpotrace0 i386 1.15-1 [16.9 kB] Get:177 http://ftpmaster.internal/ubuntu disco/main i386 libptexenc1 i386 2018.20181218.49446-1 [35.8 kB] Get:178 http://ftpmaster.internal/ubuntu disco/main i386 libpthread-stubs0-dev i386 0.3-4 [4054 B] Get:179 http://ftpmaster.internal/ubuntu disco-proposed/main i386 libreadline-dev i386 8.0-1 [152 kB] Get:180 http://ftpmaster.internal/ubuntu disco/main i386 libsm-dev i386 2:1.2.2-1 [15.1 kB] Get:181 http://ftpmaster.internal/ubuntu disco/main i386 libsynctex2 i386 2018.20181218.49446-1 [57.1 kB] Get:182 http://ftpmaster.internal/ubuntu disco/main i386 libteckit0 i386 2.5.8+ds2-5ubuntu1 [267 kB] Get:183 http://ftpmaster.internal/ubuntu disco/main i386 libtexlua52 i386 2018.20181218.49446-1 [99.0 kB] Get:184 http://ftpmaster.internal/ubuntu disco/main i386 libtexlua53 i386 2018.20181218.49446-1 [118 kB] Get:185 http://ftpmaster.internal/ubuntu disco/main i386 libtexluajit2 i386 2018.20181218.49446-1 [247 kB] Get:186 http://ftpmaster.internal/ubuntu disco/main i386 libwoff1 i386 1.0.2-1build1 [45.5 kB] Get:187 http://ftpmaster.internal/ubuntu disco/main i386 libxau-dev i386 1:1.0.8-1 [10.2 kB] Get:188 http://ftpmaster.internal/ubuntu disco/main i386 libxdmcp-dev i386 1:1.1.2-3 [24.9 kB] Get:189 http://ftpmaster.internal/ubuntu disco/main i386 xtrans-dev all 1.3.5-1 [70.5 kB] Get:190 http://ftpmaster.internal/ubuntu disco/main i386 libxcb1-dev i386 1.13.1-2 [85.9 kB] Get:191 http://ftpmaster.internal/ubuntu disco/main i386 libx11-dev i386 2:1.6.7-1 [670 kB] Get:192 http://ftpmaster.internal/ubuntu disco/main i386 libxmu6 i386 2:1.1.2-2 [48.4 kB] Get:193 http://ftpmaster.internal/ubuntu disco/main i386 libxaw7 i386 2:1.0.13-1 [182 kB] Get:194 http://ftpmaster.internal/ubuntu disco/main i386 x11proto-xext-dev all 2018.4-4 [2620 B] Get:195 http://ftpmaster.internal/ubuntu disco/main i386 libxext-dev i386 2:1.3.3-1 [82.8 kB] Get:196 http://ftpmaster.internal/ubuntu disco/main i386 libxt-dev i386 1:1.1.5-1 [393 kB] Get:197 http://ftpmaster.internal/ubuntu disco/main i386 libxmu-headers all 2:1.1.2-2 [54.3 kB] Get:198 http://ftpmaster.internal/ubuntu disco/main i386 libxmu-dev i386 2:1.1.2-2 [49.6 kB] Get:199 http://ftpmaster.internal/ubuntu disco/main i386 libxpm-dev i386 1:3.5.12-1 [87.3 kB] Get:200 http://ftpmaster.internal/ubuntu disco/main i386 libxaw7-dev i386 2:1.0.13-1 [234 kB] Get:201 http://ftpmaster.internal/ubuntu disco/main i386 libxxhash0 i386 0.6.5-2 [8792 B] Get:202 http://ftpmaster.internal/ubuntu disco/main i386 libzzip-0-13 i386 0.13.62-3.1ubuntu1 [27.8 kB] Get:203 http://ftpmaster.internal/ubuntu disco/main i386 t1utils i386 1.41-3 [56.0 kB] Get:204 http://ftpmaster.internal/ubuntu disco/main i386 texlive-binaries i386 2018.20181218.49446-1 [11.4 MB] Get:205 http://ftpmaster.internal/ubuntu disco/main i386 xdg-utils all 1.1.3-1ubuntu2 [60.5 kB] Get:206 http://ftpmaster.internal/ubuntu disco/main i386 texlive-base all 2018.20181214-1 [19.4 MB] Get:207 http://ftpmaster.internal/ubuntu disco/main i386 texlive-latex-base all 2018.20181214-1 [956 kB] debconf: delaying package configuration, since apt-utils is not installed Fetched 135 MB in 6s (22.0 MB/s) Selecting previously unselected package install-info. (Reading database ... 12678 files and directories currently installed.) Preparing to unpack .../install-info_6.5.0.dfsg.1-4build1_i386.deb ... Unpacking install-info (6.5.0.dfsg.1-4build1) ... Setting up install-info (6.5.0.dfsg.1-4build1) ... Selecting previously unselected package libxau6:i386. (Reading database ... 12691 files and directories currently installed.) Preparing to unpack .../000-libxau6_1%3a1.0.8-1_i386.deb ... Unpacking libxau6:i386 (1:1.0.8-1) ... Selecting previously unselected package libbsd0:i386. Preparing to unpack .../001-libbsd0_0.9.1-1_i386.deb ... Unpacking libbsd0:i386 (0.9.1-1) ... Selecting previously unselected package libxdmcp6:i386. Preparing to unpack .../002-libxdmcp6_1%3a1.1.2-3_i386.deb ... Unpacking libxdmcp6:i386 (1:1.1.2-3) ... Selecting previously unselected package libxcb1:i386. Preparing to unpack .../003-libxcb1_1.13.1-2_i386.deb ... Unpacking libxcb1:i386 (1.13.1-2) ... Selecting previously unselected package libx11-data. Preparing to unpack .../004-libx11-data_2%3a1.6.7-1_all.deb ... Unpacking libx11-data (2:1.6.7-1) ... Selecting previously unselected package libx11-6:i386. Preparing to unpack .../005-libx11-6_2%3a1.6.7-1_i386.deb ... Unpacking libx11-6:i386 (2:1.6.7-1) ... Selecting previously unselected package libxext6:i386. Preparing to unpack .../006-libxext6_2%3a1.3.3-1_i386.deb ... Unpacking libxext6:i386 (2:1.3.3-1) ... Selecting previously unselected package bsdmainutils. Preparing to unpack .../007-bsdmainutils_11.1.2ubuntu2_i386.deb ... Unpacking bsdmainutils (11.1.2ubuntu2) ... Selecting previously unselected package libuchardet0:i386. Preparing to unpack .../008-libuchardet0_0.0.6-3_i386.deb ... Unpacking libuchardet0:i386 (0.0.6-3) ... Selecting previously unselected package groff-base. Preparing to unpack .../009-groff-base_1.22.4-2_i386.deb ... Unpacking groff-base (1.22.4-2) ... Selecting previously unselected package libpipeline1:i386. Preparing to unpack .../010-libpipeline1_1.5.0-2_i386.deb ... Unpacking libpipeline1:i386 (1.5.0-2) ... Selecting previously unselected package man-db. Preparing to unpack .../011-man-db_2.8.5-1_i386.deb ... Unpacking man-db (2.8.5-1) ... Selecting previously unselected package libfftw3-double3:i386. Preparing to unpack .../012-libfftw3-double3_3.3.8-2_i386.deb ... Unpacking libfftw3-double3:i386 (3.3.8-2) ... Selecting previously unselected package libexpat1:i386. Preparing to unpack .../013-libexpat1_2.2.6-1_i386.deb ... Unpacking libexpat1:i386 (2.2.6-1) ... Selecting previously unselected package libfreetype6:i386. Preparing to unpack .../014-libfreetype6_2.9.1-3_i386.deb ... Unpacking libfreetype6:i386 (2.9.1-3) ... Selecting previously unselected package ucf. Preparing to unpack .../015-ucf_3.0038+nmu1_all.deb ... Moving old data out of the way Unpacking ucf (3.0038+nmu1) ... Selecting previously unselected package fonts-dejavu-core. Preparing to unpack .../016-fonts-dejavu-core_2.37-1_all.deb ... Unpacking fonts-dejavu-core (2.37-1) ... Selecting previously unselected package fontconfig-config. Preparing to unpack .../017-fontconfig-config_2.13.0-5ubuntu3_all.deb ... Unpacking fontconfig-config (2.13.0-5ubuntu3) ... Selecting previously unselected package libfontconfig1:i386. Preparing to unpack .../018-libfontconfig1_2.13.0-5ubuntu3_i386.deb ... Unpacking libfontconfig1:i386 (2.13.0-5ubuntu3) ... Selecting previously unselected package libjbig0:i386. Preparing to unpack .../019-libjbig0_2.1-3.1build1_i386.deb ... Unpacking libjbig0:i386 (2.1-3.1build1) ... Selecting previously unselected package libjpeg-turbo8:i386. Preparing to unpack .../020-libjpeg-turbo8_2.0.1-0ubuntu1_i386.deb ... Unpacking libjpeg-turbo8:i386 (2.0.1-0ubuntu1) ... Selecting previously unselected package libjpeg8:i386. Preparing to unpack .../021-libjpeg8_8c-2ubuntu8_i386.deb ... Unpacking libjpeg8:i386 (8c-2ubuntu8) ... Selecting previously unselected package liblcms2-2:i386. Preparing to unpack .../022-liblcms2-2_2.9-3_i386.deb ... Unpacking liblcms2-2:i386 (2.9-3) ... Selecting previously unselected package libglib2.0-0:i386. Preparing to unpack .../023-libglib2.0-0_2.58.1-2_i386.deb ... Unpacking libglib2.0-0:i386 (2.58.1-2) ... Selecting previously unselected package liblqr-1-0:i386. Preparing to unpack .../024-liblqr-1-0_0.4.2-2.1_i386.deb ... Unpacking liblqr-1-0:i386 (0.4.2-2.1) ... Selecting previously unselected package libltdl7:i386. Preparing to unpack .../025-libltdl7_2.4.6-7ubuntu1_i386.deb ... Unpacking libltdl7:i386 (2.4.6-7ubuntu1) ... Selecting previously unselected package libwebp6:i386. Preparing to unpack .../026-libwebp6_0.6.1-2_i386.deb ... Unpacking libwebp6:i386 (0.6.1-2) ... Selecting previously unselected package libtiff5:i386. Preparing to unpack .../027-libtiff5_4.0.10-3_i386.deb ... Unpacking libtiff5:i386 (4.0.10-3) ... Selecting previously unselected package libicu63:i386. Preparing to unpack .../028-libicu63_63.1-5_i386.deb ... Unpacking libicu63:i386 (63.1-5) ... Selecting previously unselected package libxml2:i386. Preparing to unpack .../029-libxml2_2.9.4+dfsg1-7ubuntu3_i386.deb ... Unpacking libxml2:i386 (2.9.4+dfsg1-7ubuntu3) ... Selecting previously unselected package imagemagick-6-common. Preparing to unpack .../030-imagemagick-6-common_8%3a6.9.10.14+dfsg-7ubuntu2_all.deb ... Unpacking imagemagick-6-common (8:6.9.10.14+dfsg-7ubuntu2) ... Selecting previously unselected package libmagickcore-6.q16-6:i386. Preparing to unpack .../031-libmagickcore-6.q16-6_8%3a6.9.10.14+dfsg-7ubuntu2_i386.deb ... Unpacking libmagickcore-6.q16-6:i386 (8:6.9.10.14+dfsg-7ubuntu2) ... Selecting previously unselected package libmagickwand-6.q16-6:i386. Preparing to unpack .../032-libmagickwand-6.q16-6_8%3a6.9.10.14+dfsg-7ubuntu2_i386.deb ... Unpacking libmagickwand-6.q16-6:i386 (8:6.9.10.14+dfsg-7ubuntu2) ... Selecting previously unselected package x11-common. Preparing to unpack .../033-x11-common_1%3a7.7+19ubuntu8_all.deb ... dpkg-query: no packages found matching nux-tools Unpacking x11-common (1:7.7+19ubuntu8) ... Selecting previously unselected package libice6:i386. Preparing to unpack .../034-libice6_2%3a1.0.9-2_i386.deb ... Unpacking libice6:i386 (2:1.0.9-2) ... Selecting previously unselected package libsm6:i386. Preparing to unpack .../035-libsm6_2%3a1.2.2-1_i386.deb ... Unpacking libsm6:i386 (2:1.2.2-1) ... Selecting previously unselected package poppler-data. Preparing to unpack .../036-poppler-data_0.4.9-2_all.deb ... Unpacking poppler-data (0.4.9-2) ... Selecting previously unselected package tex-common. Preparing to unpack .../037-tex-common_6.10_all.deb ... Unpacking tex-common (6.10) ... Selecting previously unselected package libdbus-1-3:i386. Preparing to unpack .../038-libdbus-1-3_1.12.10-1ubuntu2_i386.deb ... Unpacking libdbus-1-3:i386 (1.12.10-1ubuntu2) ... Selecting previously unselected package dbus. Preparing to unpack .../039-dbus_1.12.10-1ubuntu2_i386.deb ... Unpacking dbus (1.12.10-1ubuntu2) ... Selecting previously unselected package libmagic-mgc. Preparing to unpack .../040-libmagic-mgc_1%3a5.35-2_i386.deb ... Unpacking libmagic-mgc (1:5.35-2) ... Selecting previously unselected package libmagic1:i386. Preparing to unpack .../041-libmagic1_1%3a5.35-2_i386.deb ... Unpacking libmagic1:i386 (1:5.35-2) ... Selecting previously unselected package file. Preparing to unpack .../042-file_1%3a5.35-2_i386.deb ... Unpacking file (1:5.35-2) ... Selecting previously unselected package libelf1:i386. Preparing to unpack .../043-libelf1_0.175-2_i386.deb ... Unpacking libelf1:i386 (0.175-2) ... Selecting previously unselected package libfribidi0:i386. Preparing to unpack .../044-libfribidi0_1.0.5-3.1_i386.deb ... Unpacking libfribidi0:i386 (1.0.5-3.1) ... Selecting previously unselected package libpam-systemd:i386. Preparing to unpack .../045-libpam-systemd_239-7ubuntu15_i386.deb ... Unpacking libpam-systemd:i386 (239-7ubuntu15) ... Selecting previously unselected package shared-mime-info. Preparing to unpack .../046-shared-mime-info_1.10-1_i386.deb ... Unpacking shared-mime-info (1.10-1) ... Selecting previously unselected package xkb-data. Preparing to unpack .../047-xkb-data_2.23.1-1ubuntu1.18.10.1_all.deb ... Unpacking xkb-data (2.23.1-1ubuntu1.18.10.1) ... Selecting previously unselected package gettext-base. Preparing to unpack .../048-gettext-base_0.19.8.1-9_i386.deb ... Unpacking gettext-base (0.19.8.1-9) ... Selecting previously unselected package libkrb5support0:i386. Preparing to unpack .../049-libkrb5support0_1.17-1_i386.deb ... Unpacking libkrb5support0:i386 (1.17-1) ... Selecting previously unselected package libk5crypto3:i386. Preparing to unpack .../050-libk5crypto3_1.17-1_i386.deb ... Unpacking libk5crypto3:i386 (1.17-1) ... Selecting previously unselected package libkeyutils1:i386. Preparing to unpack .../051-libkeyutils1_1.5.9-9.3_i386.deb ... Unpacking libkeyutils1:i386 (1.5.9-9.3) ... Selecting previously unselected package libkrb5-3:i386. Preparing to unpack .../052-libkrb5-3_1.17-1_i386.deb ... Unpacking libkrb5-3:i386 (1.17-1) ... Selecting previously unselected package libgssapi-krb5-2:i386. Preparing to unpack .../053-libgssapi-krb5-2_1.17-1_i386.deb ... Unpacking libgssapi-krb5-2:i386 (1.17-1) ... Selecting previously unselected package libpsl5:i386. Preparing to unpack .../054-libpsl5_0.20.2-2_i386.deb ... Unpacking libpsl5:i386 (0.20.2-2) ... Selecting previously unselected package hicolor-icon-theme. Preparing to unpack .../055-hicolor-icon-theme_0.17-2_all.deb ... Unpacking hicolor-icon-theme (0.17-2) ... Selecting previously unselected package libgdk-pixbuf2.0-common. Preparing to unpack .../056-libgdk-pixbuf2.0-common_2.38.0+dfsg-7_all.deb ... Unpacking libgdk-pixbuf2.0-common (2.38.0+dfsg-7) ... Selecting previously unselected package libgdk-pixbuf2.0-0:i386. Preparing to unpack .../057-libgdk-pixbuf2.0-0_2.38.0+dfsg-7_i386.deb ... Unpacking libgdk-pixbuf2.0-0:i386 (2.38.0+dfsg-7) ... Selecting previously unselected package gtk-update-icon-cache. Preparing to unpack .../058-gtk-update-icon-cache_3.24.3-1ubuntu1_i386.deb ... No diversion 'diversion of /usr/sbin/update-icon-caches to /usr/sbin/update-icon-caches.gtk2 by libgtk-3-bin', none removed. No diversion 'diversion of /usr/share/man/man8/update-icon-caches.8.gz to /usr/share/man/man8/update-icon-caches.gtk2.8.gz by libgtk-3-bin', none removed. Unpacking gtk-update-icon-cache (3.24.3-1ubuntu1) ... Selecting previously unselected package libpixman-1-0:i386. Preparing to unpack .../059-libpixman-1-0_0.36.0-1_i386.deb ... Unpacking libpixman-1-0:i386 (0.36.0-1) ... Selecting previously unselected package libxcb-render0:i386. Preparing to unpack .../060-libxcb-render0_1.13.1-2_i386.deb ... Unpacking libxcb-render0:i386 (1.13.1-2) ... Selecting previously unselected package libxcb-shm0:i386. Preparing to unpack .../061-libxcb-shm0_1.13.1-2_i386.deb ... Unpacking libxcb-shm0:i386 (1.13.1-2) ... Selecting previously unselected package libxrender1:i386. Preparing to unpack .../062-libxrender1_1%3a0.9.10-1_i386.deb ... Unpacking libxrender1:i386 (1:0.9.10-1) ... Selecting previously unselected package libcairo2:i386. Preparing to unpack .../063-libcairo2_1.16.0-2_i386.deb ... Unpacking libcairo2:i386 (1.16.0-2) ... Selecting previously unselected package libcroco3:i386. Preparing to unpack .../064-libcroco3_0.6.12-3_i386.deb ... Unpacking libcroco3:i386 (0.6.12-3) ... Selecting previously unselected package fontconfig. Preparing to unpack .../065-fontconfig_2.13.0-5ubuntu3_i386.deb ... Unpacking fontconfig (2.13.0-5ubuntu3) ... Selecting previously unselected package libthai-data. Preparing to unpack .../066-libthai-data_0.1.28-1_all.deb ... Unpacking libthai-data (0.1.28-1) ... Selecting previously unselected package libdatrie1:i386. Preparing to unpack .../067-libdatrie1_0.2.12-1_i386.deb ... Unpacking libdatrie1:i386 (0.2.12-1) ... Selecting previously unselected package libthai0:i386. Preparing to unpack .../068-libthai0_0.1.28-1_i386.deb ... Unpacking libthai0:i386 (0.1.28-1) ... Selecting previously unselected package libpango-1.0-0:i386. Preparing to unpack .../069-libpango-1.0-0_1.42.4-6_i386.deb ... Unpacking libpango-1.0-0:i386 (1.42.4-6) ... Selecting previously unselected package libgraphite2-3:i386. Preparing to unpack .../070-libgraphite2-3_1.3.13-6_i386.deb ... Unpacking libgraphite2-3:i386 (1.3.13-6) ... Selecting previously unselected package libharfbuzz0b:i386. Preparing to unpack .../071-libharfbuzz0b_2.3.0-1_i386.deb ... Unpacking libharfbuzz0b:i386 (2.3.0-1) ... Selecting previously unselected package libpangoft2-1.0-0:i386. Preparing to unpack .../072-libpangoft2-1.0-0_1.42.4-6_i386.deb ... Unpacking libpangoft2-1.0-0:i386 (1.42.4-6) ... Selecting previously unselected package libpangocairo-1.0-0:i386. Preparing to unpack .../073-libpangocairo-1.0-0_1.42.4-6_i386.deb ... Unpacking libpangocairo-1.0-0:i386 (1.42.4-6) ... Selecting previously unselected package librsvg2-2:i386. Preparing to unpack .../074-librsvg2-2_2.44.10-1_i386.deb ... Unpacking librsvg2-2:i386 (2.44.10-1) ... Selecting previously unselected package librsvg2-common:i386. Preparing to unpack .../075-librsvg2-common_2.44.10-1_i386.deb ... Unpacking librsvg2-common:i386 (2.44.10-1) ... Selecting previously unselected package humanity-icon-theme. Preparing to unpack .../076-humanity-icon-theme_0.6.15_all.deb ... Unpacking humanity-icon-theme (0.6.15) ... Selecting previously unselected package ubuntu-mono. Preparing to unpack .../077-ubuntu-mono_16.10+18.10.20181005-0ubuntu1_all.deb ... Unpacking ubuntu-mono (16.10+18.10.20181005-0ubuntu1) ... Selecting previously unselected package adwaita-icon-theme. Preparing to unpack .../078-adwaita-icon-theme_3.30.0-0ubuntu1_all.deb ... Unpacking adwaita-icon-theme (3.30.0-0ubuntu1) ... Selecting previously unselected package libsigsegv2:i386. Preparing to unpack .../079-libsigsegv2_2.12-2_i386.deb ... Unpacking libsigsegv2:i386 (2.12-2) ... Selecting previously unselected package m4. Preparing to unpack .../080-m4_1.4.18-2_i386.deb ... Unpacking m4 (1.4.18-2) ... Selecting previously unselected package autoconf. Preparing to unpack .../081-autoconf_2.69-11_all.deb ... Unpacking autoconf (2.69-11) ... Selecting previously unselected package autotools-dev. Preparing to unpack .../082-autotools-dev_20180224.1_all.deb ... Unpacking autotools-dev (20180224.1) ... Selecting previously unselected package automake. Preparing to unpack .../083-automake_1%3a1.16.1-4_all.deb ... Unpacking automake (1:1.16.1-4) ... Selecting previously unselected package autopoint. Preparing to unpack .../084-autopoint_0.19.8.1-9_all.deb ... Unpacking autopoint (0.19.8.1-9) ... Selecting previously unselected package dbus-user-session. Preparing to unpack .../085-dbus-user-session_1.12.10-1ubuntu2_i386.deb ... Unpacking dbus-user-session (1.12.10-1ubuntu2) ... Selecting previously unselected package libdconf1:i386. Preparing to unpack .../086-libdconf1_0.30.1-2_i386.deb ... Unpacking libdconf1:i386 (0.30.1-2) ... Selecting previously unselected package dconf-service. Preparing to unpack .../087-dconf-service_0.30.1-2_i386.deb ... Unpacking dconf-service (0.30.1-2) ... Selecting previously unselected package dconf-gsettings-backend:i386. Preparing to unpack .../088-dconf-gsettings-backend_0.30.1-2_i386.deb ... Unpacking dconf-gsettings-backend:i386 (0.30.1-2) ... Selecting previously unselected package libtool. Preparing to unpack .../089-libtool_2.4.6-7ubuntu1_all.deb ... Unpacking libtool (2.4.6-7ubuntu1) ... Selecting previously unselected package dh-autoreconf. Preparing to unpack .../090-dh-autoreconf_19_all.deb ... Unpacking dh-autoreconf (19) ... Selecting previously unselected package libarchive-zip-perl. Preparing to unpack .../091-libarchive-zip-perl_1.64-1_all.deb ... Unpacking libarchive-zip-perl (1.64-1) ... Selecting previously unselected package libfile-stripnondeterminism-perl. Preparing to unpack .../092-libfile-stripnondeterminism-perl_1.1.0-1_all.deb ... Unpacking libfile-stripnondeterminism-perl (1.1.0-1) ... Selecting previously unselected package dh-strip-nondeterminism. Preparing to unpack .../093-dh-strip-nondeterminism_1.1.0-1_all.deb ... Unpacking dh-strip-nondeterminism (1.1.0-1) ... Selecting previously unselected package dwz. Preparing to unpack .../094-dwz_0.12-3_i386.deb ... Unpacking dwz (0.12-3) ... Selecting previously unselected package gettext. Preparing to unpack .../095-gettext_0.19.8.1-9_i386.deb ... Unpacking gettext (0.19.8.1-9) ... Selecting previously unselected package intltool-debian. Preparing to unpack .../096-intltool-debian_0.35.0+20060710.4_all.deb ... Unpacking intltool-debian (0.35.0+20060710.4) ... Selecting previously unselected package po-debconf. Preparing to unpack .../097-po-debconf_1.0.21_all.deb ... Unpacking po-debconf (1.0.21) ... Selecting previously unselected package debhelper. Preparing to unpack .../098-debhelper_12ubuntu1_all.deb ... Unpacking debhelper (12ubuntu1) ... Selecting previously unselected package emacsen-common. Preparing to unpack .../099-emacsen-common_3.0.4_all.deb ... Unpacking emacsen-common (3.0.4) ... Selecting previously unselected package emacs-common. Preparing to unpack .../100-emacs-common_1%3a26.1+1-3ubuntu1_all.deb ... Unpacking emacs-common (1:26.1+1-3ubuntu1) ... Selecting previously unselected package emacs-bin-common. Preparing to unpack .../101-emacs-bin-common_1%3a26.1+1-3ubuntu1_i386.deb ... Unpacking emacs-bin-common (1:26.1+1-3ubuntu1) ... Selecting previously unselected package libasound2-data. Preparing to unpack .../102-libasound2-data_1.1.7-2ubuntu0.1_all.deb ... Unpacking libasound2-data (1.1.7-2ubuntu0.1) ... Selecting previously unselected package libasound2:i386. Preparing to unpack .../103-libasound2_1.1.7-2ubuntu0.1_i386.deb ... Unpacking libasound2:i386 (1.1.7-2ubuntu0.1) ... Selecting previously unselected package libgif7:i386. Preparing to unpack .../104-libgif7_5.1.4-3_i386.deb ... Unpacking libgif7:i386 (5.1.4-3) ... Selecting previously unselected package libgpm2:i386. Preparing to unpack .../105-libgpm2_1.20.7-5_i386.deb ... Unpacking libgpm2:i386 (1.20.7-5) ... Selecting previously unselected package libatk1.0-data. Preparing to unpack .../106-libatk1.0-data_2.30.0-2_all.deb ... Unpacking libatk1.0-data (2.30.0-2) ... Selecting previously unselected package libatk1.0-0:i386. Preparing to unpack .../107-libatk1.0-0_2.30.0-2_i386.deb ... Unpacking libatk1.0-0:i386 (2.30.0-2) ... Selecting previously unselected package libatspi2.0-0:i386. Preparing to unpack .../108-libatspi2.0-0_2.30.0-5_i386.deb ... Unpacking libatspi2.0-0:i386 (2.30.0-5) ... Selecting previously unselected package libatk-bridge2.0-0:i386. Preparing to unpack .../109-libatk-bridge2.0-0_2.30.0-2_i386.deb ... Unpacking libatk-bridge2.0-0:i386 (2.30.0-2) ... Selecting previously unselected package libcairo-gobject2:i386. Preparing to unpack .../110-libcairo-gobject2_1.16.0-2_i386.deb ... Unpacking libcairo-gobject2:i386 (1.16.0-2) ... Selecting previously unselected package libcolord2:i386. Preparing to unpack .../111-libcolord2_1.4.3-3_i386.deb ... Unpacking libcolord2:i386 (1.4.3-3) ... Selecting previously unselected package libavahi-common-data:i386. Preparing to unpack .../112-libavahi-common-data_0.7-4ubuntu4_i386.deb ... Unpacking libavahi-common-data:i386 (0.7-4ubuntu4) ... Selecting previously unselected package libavahi-common3:i386. Preparing to unpack .../113-libavahi-common3_0.7-4ubuntu4_i386.deb ... Unpacking libavahi-common3:i386 (0.7-4ubuntu4) ... Selecting previously unselected package libavahi-client3:i386. Preparing to unpack .../114-libavahi-client3_0.7-4ubuntu4_i386.deb ... Unpacking libavahi-client3:i386 (0.7-4ubuntu4) ... Selecting previously unselected package libcups2:i386. Preparing to unpack .../115-libcups2_2.2.10-3_i386.deb ... Unpacking libcups2:i386 (2.2.10-3) ... Selecting previously unselected package libepoxy0:i386. Preparing to unpack .../116-libepoxy0_1.5.3-0.1_i386.deb ... Unpacking libepoxy0:i386 (1.5.3-0.1) ... Selecting previously unselected package libjson-glib-1.0-common. Preparing to unpack .../117-libjson-glib-1.0-common_1.4.4-2_all.deb ... Unpacking libjson-glib-1.0-common (1.4.4-2) ... Selecting previously unselected package libjson-glib-1.0-0:i386. Preparing to unpack .../118-libjson-glib-1.0-0_1.4.4-2_i386.deb ... Unpacking libjson-glib-1.0-0:i386 (1.4.4-2) ... Selecting previously unselected package libproxy1v5:i386. Preparing to unpack .../119-libproxy1v5_0.4.15-5_i386.deb ... Unpacking libproxy1v5:i386 (0.4.15-5) ... Selecting previously unselected package glib-networking-common. Preparing to unpack .../120-glib-networking-common_2.58.0-2_all.deb ... Unpacking glib-networking-common (2.58.0-2) ... Selecting previously unselected package glib-networking-services. Preparing to unpack .../121-glib-networking-services_2.58.0-2_i386.deb ... Unpacking glib-networking-services (2.58.0-2) ... Selecting previously unselected package gsettings-desktop-schemas. Preparing to unpack .../122-gsettings-desktop-schemas_3.28.1-1ubuntu1_all.deb ... Unpacking gsettings-desktop-schemas (3.28.1-1ubuntu1) ... Selecting previously unselected package glib-networking:i386. Preparing to unpack .../123-glib-networking_2.58.0-2_i386.deb ... Unpacking glib-networking:i386 (2.58.0-2) ... Selecting previously unselected package libsoup2.4-1:i386. Preparing to unpack .../124-libsoup2.4-1_2.64.2-2_i386.deb ... Unpacking libsoup2.4-1:i386 (2.64.2-2) ... Selecting previously unselected package libsoup-gnome2.4-1:i386. Preparing to unpack .../125-libsoup-gnome2.4-1_2.64.2-2_i386.deb ... Unpacking libsoup-gnome2.4-1:i386 (2.64.2-2) ... Selecting previously unselected package librest-0.7-0:i386. Preparing to unpack .../126-librest-0.7-0_0.8.1-1_i386.deb ... Unpacking librest-0.7-0:i386 (0.8.1-1) ... Selecting previously unselected package libwayland-client0:i386. Preparing to unpack .../127-libwayland-client0_1.16.0-1ubuntu2_i386.deb ... Unpacking libwayland-client0:i386 (1.16.0-1ubuntu2) ... Selecting previously unselected package libwayland-cursor0:i386. Preparing to unpack .../128-libwayland-cursor0_1.16.0-1ubuntu2_i386.deb ... Unpacking libwayland-cursor0:i386 (1.16.0-1ubuntu2) ... Selecting previously unselected package libwayland-egl1:i386. Preparing to unpack .../129-libwayland-egl1_1.16.0-1ubuntu2_i386.deb ... Unpacking libwayland-egl1:i386 (1.16.0-1ubuntu2) ... Selecting previously unselected package libxcomposite1:i386. Preparing to unpack .../130-libxcomposite1_1%3a0.4.4-2_i386.deb ... Unpacking libxcomposite1:i386 (1:0.4.4-2) ... Selecting previously unselected package libxfixes3:i386. Preparing to unpack .../131-libxfixes3_1%3a5.0.3-1_i386.deb ... Unpacking libxfixes3:i386 (1:5.0.3-1) ... Selecting previously unselected package libxcursor1:i386. Preparing to unpack .../132-libxcursor1_1%3a1.1.15-2_i386.deb ... Unpacking libxcursor1:i386 (1:1.1.15-2) ... Selecting previously unselected package libxdamage1:i386. Preparing to unpack .../133-libxdamage1_1%3a1.1.4-3_i386.deb ... Unpacking libxdamage1:i386 (1:1.1.4-3) ... Selecting previously unselected package libxi6:i386. Preparing to unpack .../134-libxi6_2%3a1.7.9-1_i386.deb ... Unpacking libxi6:i386 (2:1.7.9-1) ... Selecting previously unselected package libxinerama1:i386. Preparing to unpack .../135-libxinerama1_2%3a1.1.4-1_i386.deb ... Unpacking libxinerama1:i386 (2:1.1.4-1) ... Selecting previously unselected package libxkbcommon0:i386. Preparing to unpack .../136-libxkbcommon0_0.8.2-1_i386.deb ... Unpacking libxkbcommon0:i386 (0.8.2-1) ... Selecting previously unselected package libxrandr2:i386. Preparing to unpack .../137-libxrandr2_2%3a1.5.1-1_i386.deb ... Unpacking libxrandr2:i386 (2:1.5.1-1) ... Selecting previously unselected package libgtk-3-common. Preparing to unpack .../138-libgtk-3-common_3.24.3-1ubuntu1_all.deb ... Unpacking libgtk-3-common (3.24.3-1ubuntu1) ... Selecting previously unselected package libgtk-3-0:i386. Preparing to unpack .../139-libgtk-3-0_3.24.3-1ubuntu1_i386.deb ... Unpacking libgtk-3-0:i386 (3.24.3-1ubuntu1) ... Selecting previously unselected package m17n-db. Preparing to unpack .../140-m17n-db_1.8.0-1_all.deb ... Unpacking m17n-db (1.8.0-1) ... Selecting previously unselected package libxpm4:i386. Preparing to unpack .../141-libxpm4_1%3a3.5.12-1_i386.deb ... Unpacking libxpm4:i386 (1:3.5.12-1) ... Selecting previously unselected package libgd3:i386. Preparing to unpack .../142-libgd3_2.2.5-5_i386.deb ... Unpacking libgd3:i386 (2.2.5-5) ... Selecting previously unselected package libotf0:i386. Preparing to unpack .../143-libotf0_0.9.13-4_i386.deb ... Unpacking libotf0:i386 (0.9.13-4) ... Selecting previously unselected package libxft2:i386. Preparing to unpack .../144-libxft2_2.3.2-2_i386.deb ... Unpacking libxft2:i386 (2.3.2-2) ... Selecting previously unselected package libxt6:i386. Preparing to unpack .../145-libxt6_1%3a1.1.5-1_i386.deb ... Unpacking libxt6:i386 (1:1.1.5-1) ... Selecting previously unselected package libm17n-0:i386. Preparing to unpack .../146-libm17n-0_1.8.0-2_i386.deb ... Unpacking libm17n-0:i386 (1.8.0-2) ... Selecting previously unselected package libx11-xcb1:i386. Preparing to unpack .../147-libx11-xcb1_2%3a1.6.7-1_i386.deb ... Unpacking libx11-xcb1:i386 (2:1.6.7-1) ... Selecting previously unselected package emacs-gtk. Preparing to unpack .../148-emacs-gtk_1%3a26.1+1-3ubuntu1_i386.deb ... Unpacking emacs-gtk (1:26.1+1-3ubuntu1) ... Selecting previously unselected package emacs24. Preparing to unpack .../149-emacs24_1%3a26.1+1-3ubuntu1_all.deb ... Unpacking emacs24 (1:26.1+1-3ubuntu1) ... Selecting previously unselected package fonts-lmodern. Preparing to unpack .../150-fonts-lmodern_2.004.5-5_all.deb ... Unpacking fonts-lmodern (2.004.5-5) ... Selecting previously unselected package libtcl8.6:i386. Preparing to unpack .../151-libtcl8.6_8.6.9+dfsg-1_i386.deb ... Unpacking libtcl8.6:i386 (8.6.9+dfsg-1) ... Selecting previously unselected package libxss1:i386. Preparing to unpack .../152-libxss1_1%3a1.2.3-1_i386.deb ... Unpacking libxss1:i386 (1:1.2.3-1) ... Selecting previously unselected package libtk8.6:i386. Preparing to unpack .../153-libtk8.6_8.6.9-1_i386.deb ... Unpacking libtk8.6:i386 (8.6.9-1) ... Selecting previously unselected package gcl. Preparing to unpack .../154-gcl_2.6.12-80build1_i386.deb ... Unpacking gcl (2.6.12-80build1) ... Selecting previously unselected package libbrotli1:i386. Preparing to unpack .../155-libbrotli1_1.0.7-2_i386.deb ... Unpacking libbrotli1:i386 (1.0.7-2) ... Selecting previously unselected package libcupsimage2:i386. Preparing to unpack .../156-libcupsimage2_2.2.10-3_i386.deb ... Unpacking libcupsimage2:i386 (2.2.10-3) ... Selecting previously unselected package libgmpxx4ldbl:i386. Preparing to unpack .../157-libgmpxx4ldbl_2%3a6.1.2+dfsg-4_i386.deb ... Unpacking libgmpxx4ldbl:i386 (2:6.1.2+dfsg-4) ... Selecting previously unselected package libgmp-dev:i386. Preparing to unpack .../158-libgmp-dev_2%3a6.1.2+dfsg-4_i386.deb ... Unpacking libgmp-dev:i386 (2:6.1.2+dfsg-4) ... Selecting previously unselected package libgmp3-dev:i386. Preparing to unpack .../159-libgmp3-dev_2%3a6.1.2+dfsg-4_i386.deb ... Unpacking libgmp3-dev:i386 (2:6.1.2+dfsg-4) ... Selecting previously unselected package libijs-0.35:i386. Preparing to unpack .../160-libijs-0.35_0.35-13_i386.deb ... Unpacking libijs-0.35:i386 (0.35-13) ... Selecting previously unselected package libjbig2dec0:i386. Preparing to unpack .../161-libjbig2dec0_0.15-2_i386.deb ... Unpacking libjbig2dec0:i386 (0.15-2) ... Selecting previously unselected package libpaper1:i386. Preparing to unpack .../162-libpaper1_1.1.26_i386.deb ... Unpacking libpaper1:i386 (1.1.26) ... Selecting previously unselected package libgs9-common. Preparing to unpack .../163-libgs9-common_9.26~dfsg+0-0ubuntu3_all.deb ... Unpacking libgs9-common (9.26~dfsg+0-0ubuntu3) ... Selecting previously unselected package libgs9:i386. Preparing to unpack .../164-libgs9_9.26~dfsg+0-0ubuntu3_i386.deb ... Unpacking libgs9:i386 (9.26~dfsg+0-0ubuntu3) ... Selecting previously unselected package libharfbuzz-icu0:i386. Preparing to unpack .../165-libharfbuzz-icu0_2.3.0-1_i386.deb ... Unpacking libharfbuzz-icu0:i386 (2.3.0-1) ... Selecting previously unselected package xorg-sgml-doctools. Preparing to unpack .../166-xorg-sgml-doctools_1%3a1.11-1_all.deb ... Unpacking xorg-sgml-doctools (1:1.11-1) ... Selecting previously unselected package x11proto-dev. Preparing to unpack .../167-x11proto-dev_2018.4-4_all.deb ... Unpacking x11proto-dev (2018.4-4) ... Selecting previously unselected package x11proto-core-dev. Preparing to unpack .../168-x11proto-core-dev_2018.4-4_all.deb ... Unpacking x11proto-core-dev (2018.4-4) ... Selecting previously unselected package libice-dev:i386. Preparing to unpack .../169-libice-dev_2%3a1.0.9-2_i386.deb ... Unpacking libice-dev:i386 (2:1.0.9-2) ... Selecting previously unselected package libkpathsea6:i386. Preparing to unpack .../170-libkpathsea6_2018.20181218.49446-1_i386.deb ... Unpacking libkpathsea6:i386 (2018.20181218.49446-1) ... Selecting previously unselected package libncurses-dev:i386. Preparing to unpack .../171-libncurses-dev_6.1+20180210-4ubuntu1_i386.deb ... Unpacking libncurses-dev:i386 (6.1+20180210-4ubuntu1) ... Selecting previously unselected package libpaper-utils. Preparing to unpack .../172-libpaper-utils_1.1.26_i386.deb ... Unpacking libpaper-utils (1.1.26) ... Selecting previously unselected package libpotrace0:i386. Preparing to unpack .../173-libpotrace0_1.15-1_i386.deb ... Unpacking libpotrace0:i386 (1.15-1) ... Selecting previously unselected package libptexenc1:i386. Preparing to unpack .../174-libptexenc1_2018.20181218.49446-1_i386.deb ... Unpacking libptexenc1:i386 (2018.20181218.49446-1) ... Selecting previously unselected package libpthread-stubs0-dev:i386. Preparing to unpack .../175-libpthread-stubs0-dev_0.3-4_i386.deb ... Unpacking libpthread-stubs0-dev:i386 (0.3-4) ... Selecting previously unselected package libreadline-dev:i386. Preparing to unpack .../176-libreadline-dev_8.0-1_i386.deb ... Unpacking libreadline-dev:i386 (8.0-1) ... Selecting previously unselected package libsm-dev:i386. Preparing to unpack .../177-libsm-dev_2%3a1.2.2-1_i386.deb ... Unpacking libsm-dev:i386 (2:1.2.2-1) ... Selecting previously unselected package libsynctex2:i386. Preparing to unpack .../178-libsynctex2_2018.20181218.49446-1_i386.deb ... Unpacking libsynctex2:i386 (2018.20181218.49446-1) ... Selecting previously unselected package libteckit0:i386. Preparing to unpack .../179-libteckit0_2.5.8+ds2-5ubuntu1_i386.deb ... Unpacking libteckit0:i386 (2.5.8+ds2-5ubuntu1) ... Selecting previously unselected package libtexlua52:i386. Preparing to unpack .../180-libtexlua52_2018.20181218.49446-1_i386.deb ... Unpacking libtexlua52:i386 (2018.20181218.49446-1) ... Selecting previously unselected package libtexlua53:i386. Preparing to unpack .../181-libtexlua53_2018.20181218.49446-1_i386.deb ... Unpacking libtexlua53:i386 (2018.20181218.49446-1) ... Selecting previously unselected package libtexluajit2:i386. Preparing to unpack .../182-libtexluajit2_2018.20181218.49446-1_i386.deb ... Unpacking libtexluajit2:i386 (2018.20181218.49446-1) ... Selecting previously unselected package libwoff1:i386. Preparing to unpack .../183-libwoff1_1.0.2-1build1_i386.deb ... Unpacking libwoff1:i386 (1.0.2-1build1) ... Selecting previously unselected package libxau-dev:i386. Preparing to unpack .../184-libxau-dev_1%3a1.0.8-1_i386.deb ... Unpacking libxau-dev:i386 (1:1.0.8-1) ... Selecting previously unselected package libxdmcp-dev:i386. Preparing to unpack .../185-libxdmcp-dev_1%3a1.1.2-3_i386.deb ... Unpacking libxdmcp-dev:i386 (1:1.1.2-3) ... Selecting previously unselected package xtrans-dev. Preparing to unpack .../186-xtrans-dev_1.3.5-1_all.deb ... Unpacking xtrans-dev (1.3.5-1) ... Selecting previously unselected package libxcb1-dev:i386. Preparing to unpack .../187-libxcb1-dev_1.13.1-2_i386.deb ... Unpacking libxcb1-dev:i386 (1.13.1-2) ... Selecting previously unselected package libx11-dev:i386. Preparing to unpack .../188-libx11-dev_2%3a1.6.7-1_i386.deb ... Unpacking libx11-dev:i386 (2:1.6.7-1) ... Selecting previously unselected package libxmu6:i386. Preparing to unpack .../189-libxmu6_2%3a1.1.2-2_i386.deb ... Unpacking libxmu6:i386 (2:1.1.2-2) ... Selecting previously unselected package libxaw7:i386. Preparing to unpack .../190-libxaw7_2%3a1.0.13-1_i386.deb ... Unpacking libxaw7:i386 (2:1.0.13-1) ... Selecting previously unselected package x11proto-xext-dev. Preparing to unpack .../191-x11proto-xext-dev_2018.4-4_all.deb ... Unpacking x11proto-xext-dev (2018.4-4) ... Selecting previously unselected package libxext-dev:i386. Preparing to unpack .../192-libxext-dev_2%3a1.3.3-1_i386.deb ... Unpacking libxext-dev:i386 (2:1.3.3-1) ... Selecting previously unselected package libxt-dev:i386. Preparing to unpack .../193-libxt-dev_1%3a1.1.5-1_i386.deb ... Unpacking libxt-dev:i386 (1:1.1.5-1) ... Selecting previously unselected package libxmu-headers. Preparing to unpack .../194-libxmu-headers_2%3a1.1.2-2_all.deb ... Unpacking libxmu-headers (2:1.1.2-2) ... Selecting previously unselected package libxmu-dev:i386. Preparing to unpack .../195-libxmu-dev_2%3a1.1.2-2_i386.deb ... Unpacking libxmu-dev:i386 (2:1.1.2-2) ... Selecting previously unselected package libxpm-dev:i386. Preparing to unpack .../196-libxpm-dev_1%3a3.5.12-1_i386.deb ... Unpacking libxpm-dev:i386 (1:3.5.12-1) ... Selecting previously unselected package libxaw7-dev:i386. Preparing to unpack .../197-libxaw7-dev_2%3a1.0.13-1_i386.deb ... Unpacking libxaw7-dev:i386 (2:1.0.13-1) ... Selecting previously unselected package libxxhash0:i386. Preparing to unpack .../198-libxxhash0_0.6.5-2_i386.deb ... Unpacking libxxhash0:i386 (0.6.5-2) ... Selecting previously unselected package libzzip-0-13:i386. Preparing to unpack .../199-libzzip-0-13_0.13.62-3.1ubuntu1_i386.deb ... Unpacking libzzip-0-13:i386 (0.13.62-3.1ubuntu1) ... Selecting previously unselected package t1utils. Preparing to unpack .../200-t1utils_1.41-3_i386.deb ... Unpacking t1utils (1.41-3) ... Selecting previously unselected package texlive-binaries. Preparing to unpack .../201-texlive-binaries_2018.20181218.49446-1_i386.deb ... Unpacking texlive-binaries (2018.20181218.49446-1) ... Selecting previously unselected package xdg-utils. Preparing to unpack .../202-xdg-utils_1.1.3-1ubuntu2_all.deb ... Unpacking xdg-utils (1.1.3-1ubuntu2) ... Selecting previously unselected package texlive-base. Preparing to unpack .../203-texlive-base_2018.20181214-1_all.deb ... Unpacking texlive-base (2018.20181214-1) ... Selecting previously unselected package texlive-latex-base. Preparing to unpack .../204-texlive-latex-base_2018.20181214-1_all.deb ... Unpacking texlive-latex-base (2018.20181214-1) ... Selecting previously unselected package sbuild-build-depends-hol88-dummy. Preparing to unpack .../205-sbuild-build-depends-hol88-dummy_0.invalid.0_i386.deb ... Unpacking sbuild-build-depends-hol88-dummy (0.invalid.0) ... Setting up libgs9-common (9.26~dfsg+0-0ubuntu3) ... Setting up libbrotli1:i386 (1.0.7-2) ... Setting up libkpathsea6:i386 (2018.20181218.49446-1) ... Setting up libtexlua52:i386 (2018.20181218.49446-1) ... Setting up imagemagick-6-common (8:6.9.10.14+dfsg-7ubuntu2) ... Setting up libexpat1:i386 (2.2.6-1) ... Setting up libjson-glib-1.0-common (1.4.4-2) ... Setting up libptexenc1:i386 (2018.20181218.49446-1) ... Setting up glib-networking-common (2.58.0-2) ... Setting up libarchive-zip-perl (1.64-1) ... Setting up libwoff1:i386 (1.0.2-1build1) ... Setting up libicu63:i386 (63.1-5) ... Setting up liblcms2-2:i386 (2.9-3) ... Setting up libjbig0:i386 (2.1-3.1build1) ... Setting up libsigsegv2:i386 (2.12-2) ... Setting up libgpm2:i386 (1.20.7-5) ... Setting up libpthread-stubs0-dev:i386 (0.3-4) ... Setting up fonts-dejavu-core (2.37-1) ... Setting up poppler-data (0.4.9-2) ... Processing triggers for install-info (6.5.0.dfsg.1-4build1) ... Setting up libpsl5:i386 (0.20.2-2) ... Setting up libelf1:i386 (0.175-2) ... Setting up libglib2.0-0:i386 (2.58.1-2) ... Setting up libasound2-data (1.1.7-2ubuntu0.1) ... Setting up xorg-sgml-doctools (1:1.11-1) ... Setting up libtexlua53:i386 (2018.20181218.49446-1) ... Setting up emacsen-common (3.0.4) ... Setting up libwayland-client0:i386 (1.16.0-1ubuntu2) ... Setting up xkb-data (2.23.1-1ubuntu1.18.10.1) ... Setting up libproxy1v5:i386 (0.4.15-5) ... Setting up libgdk-pixbuf2.0-common (2.38.0+dfsg-7) ... Setting up glib-networking-services (2.58.0-2) ... Setting up libdatrie1:i386 (0.2.12-1) ... Setting up gettext-base (0.19.8.1-9) ... Setting up libsynctex2:i386 (2018.20181218.49446-1) ... Setting up libgif7:i386 (5.1.4-3) ... Setting up libjpeg-turbo8:i386 (2.0.1-0ubuntu1) ... Setting up libpipeline1:i386 (1.5.0-2) ... Setting up m4 (1.4.18-2) ... Setting up libfftw3-double3:i386 (3.3.8-2) ... Setting up libxxhash0:i386 (0.6.5-2) ... Setting up m17n-db (1.8.0-1) ... Setting up libbsd0:i386 (0.9.1-1) ... Setting up libkrb5support0:i386 (1.17-1) ... Setting up ucf (3.0038+nmu1) ... Setting up libxml2:i386 (2.9.4+dfsg1-7ubuntu3) ... Setting up libuchardet0:i386 (0.0.6-3) ... Setting up x11proto-dev (2018.4-4) ... Setting up libfreetype6:i386 (2.9.1-3) ... Setting up libmagic-mgc (1:5.35-2) ... Setting up libasound2:i386 (1.1.7-2ubuntu0.1) ... Setting up libmagic1:i386 (1:5.35-2) ... Setting up libjson-glib-1.0-0:i386 (1.4.4-2) ... Setting up libgraphite2-3:i386 (1.3.13-6) ... Setting up libcroco3:i386 (0.6.12-3) ... Setting up libatk1.0-data (2.30.0-2) ... Setting up liblqr-1-0:i386 (0.4.2-2.1) ... Setting up libjbig2dec0:i386 (0.15-2) ... Setting up libx11-xcb1:i386 (2:1.6.7-1) ... Setting up libpixman-1-0:i386 (0.36.0-1) ... Setting up xtrans-dev (1.3.5-1) ... Setting up x11proto-xext-dev (2018.4-4) ... Processing triggers for libc-bin (2.28-0ubuntu1) ... Setting up dwz (0.12-3) ... Setting up libepoxy0:i386 (1.5.3-0.1) ... Setting up autotools-dev (20180224.1) ... Setting up t1utils (1.41-3) ... Setting up libatk1.0-0:i386 (2.30.0-2) ... Processing triggers for systemd (239-7ubuntu15) ... Setting up libltdl7:i386 (2.4.6-7ubuntu1) ... Setting up libijs-0.35:i386 (0.35-13) ... Setting up libdconf1:i386 (0.30.1-2) ... Setting up libfribidi0:i386 (1.0.5-3.1) ... Setting up libpotrace0:i386 (1.15-1) ... Setting up shared-mime-info (1.10-1) ... Setting up libxkbcommon0:i386 (0.8.2-1) ... Setting up libteckit0:i386 (2.5.8+ds2-5ubuntu1) ... Setting up emacs-common (1:26.1+1-3ubuntu1) ... Setting up libtcl8.6:i386 (8.6.9+dfsg-1) ... Setting up libcolord2:i386 (1.4.3-3) ... Setting up libthai-data (0.1.28-1) ... Setting up libxdmcp6:i386 (1:1.1.2-3) ... Setting up libkeyutils1:i386 (1.5.9-9.3) ... Setting up bsdmainutils (11.1.2ubuntu2) ... update-alternatives: using /usr/bin/bsd-write to provide /usr/bin/write (write) in auto mode update-alternatives: using /usr/bin/bsd-from to provide /usr/bin/from (from) in auto mode Setting up libgmpxx4ldbl:i386 (2:6.1.2+dfsg-4) ... Setting up x11-common (1:7.7+19ubuntu8) ... update-rc.d: warning: start and stop actions are no longer supported; falling back to defaults Running in chroot, ignoring request. invoke-rc.d: policy-rc.d denied execution of start. Setting up libzzip-0-13:i386 (0.13.62-3.1ubuntu1) ... Setting up xdg-utils (1.1.3-1ubuntu2) ... Setting up hicolor-icon-theme (0.17-2) ... Setting up libncurses-dev:i386 (6.1+20180210-4ubuntu1) ... Setting up libwayland-cursor0:i386 (1.16.0-1ubuntu2) ... Setting up libtexluajit2:i386 (2018.20181218.49446-1) ... Setting up libwayland-egl1:i386 (1.16.0-1ubuntu2) ... Setting up libx11-data (2:1.6.7-1) ... Setting up libxau6:i386 (1:1.0.8-1) ... Setting up autopoint (0.19.8.1-9) ... Setting up libdbus-1-3:i386 (1.12.10-1ubuntu2) ... Setting up fonts-lmodern (2.004.5-5) ... Setting up libavahi-common-data:i386 (0.7-4ubuntu4) ... Setting up libwebp6:i386 (0.6.1-2) ... Setting up libfile-stripnondeterminism-perl (1.1.0-1) ... Setting up libjpeg8:i386 (8c-2ubuntu8) ... Setting up libgmp-dev:i386 (2:6.1.2+dfsg-4) ... Setting up libpaper1:i386 (1.1.26) ... Creating config file /etc/papersize with new version Setting up libk5crypto3:i386 (1.17-1) ... Setting up libpaper-utils (1.1.26) ... Setting up fontconfig-config (2.13.0-5ubuntu3) ... Setting up tex-common (6.10) ... update-language: texlive-base not installed and configured, doing nothing! Setting up x11proto-core-dev (2018.4-4) ... Setting up emacs-bin-common (1:26.1+1-3ubuntu1) ... 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/emacsclient.emacs to provide /usr/bin/emacsclient (emacsclient) in auto mode update-alternatives: using /usr/bin/etags.emacs to provide /usr/bin/etags (etags) in auto mode Setting up gettext (0.19.8.1-9) ... Setting up libotf0:i386 (0.9.13-4) ... Setting up groff-base (1.22.4-2) ... Setting up libharfbuzz0b:i386 (2.3.0-1) ... Setting up libtiff5:i386 (4.0.10-3) ... Setting up libxau-dev:i386 (1:1.0.8-1) ... Setting up autoconf (2.69-11) ... Setting up libthai0:i386 (0.1.28-1) ... Setting up file (1:5.35-2) ... Setting up intltool-debian (0.35.0+20060710.4) ... Setting up libxdmcp-dev:i386 (1:1.1.2-3) ... Setting up automake (1:1.16.1-4) ... update-alternatives: using /usr/bin/automake-1.16 to provide /usr/bin/automake (automake) in auto mode Setting up libreadline-dev:i386 (8.0-1) ... Setting up libice6:i386 (2:1.0.9-2) ... Setting up man-db (2.8.5-1) ... Not building database; man-db/auto-update is not 'true'. Created symlink /etc/systemd/system/timers.target.wants/man-db.timer → /lib/systemd/system/man-db.timer. Setting up libkrb5-3:i386 (1.17-1) ... Setting up libavahi-common3:i386 (0.7-4ubuntu4) ... Setting up dbus (1.12.10-1ubuntu2) ... Setting up libxcb1:i386 (1.13.1-2) ... Setting up libgmp3-dev:i386 (2:6.1.2+dfsg-4) ... Setting up libtool (2.4.6-7ubuntu1) ... Setting up libfontconfig1:i386 (2.13.0-5ubuntu3) ... Setting up libsm6:i386 (2:1.2.2-1) ... Setting up libxcb-render0:i386 (1.13.1-2) ... Setting up libpam-systemd:i386 (239-7ubuntu15) ... Setting up libharfbuzz-icu0:i386 (2.3.0-1) ... Setting up po-debconf (1.0.21) ... Setting up libx11-6:i386 (2:1.6.7-1) ... Setting up dbus-user-session (1.12.10-1ubuntu2) ... Setting up libgssapi-krb5-2:i386 (1.17-1) ... Setting up libice-dev:i386 (2:1.0.9-2) ... Setting up libxcomposite1:i386 (1:0.4.4-2) ... Setting up libxcb-shm0:i386 (1.13.1-2) ... Setting up libxpm4:i386 (1:3.5.12-1) ... Setting up libxt6:i386 (1:1.1.5-1) ... Setting up libxrender1:i386 (1:0.9.10-1) ... Setting up libxcb1-dev:i386 (1.13.1-2) ... Setting up libavahi-client3:i386 (0.7-4ubuntu4) ... Setting up libx11-dev:i386 (2:1.6.7-1) ... Setting up libxft2:i386 (2.3.2-2) ... Setting up fontconfig (2.13.0-5ubuntu3) ... Regenerating fonts cache... done. Setting up libcups2:i386 (2.2.10-3) ... Setting up libsm-dev:i386 (2:1.2.2-1) ... Setting up libxdamage1:i386 (1:1.1.4-3) ... Setting up libxext6:i386 (2:1.3.3-1) ... Setting up libxfixes3:i386 (1:5.0.3-1) ... Setting up dconf-service (0.30.1-2) ... Setting up libxpm-dev:i386 (1:3.5.12-1) ... Setting up libatspi2.0-0:i386 (2.30.0-5) ... Setting up libxmu-headers (2:1.1.2-2) ... Setting up libxss1:i386 (1:1.2.3-1) ... Setting up libgdk-pixbuf2.0-0:i386 (2.38.0+dfsg-7) ... Setting up libgd3:i386 (2.2.5-5) ... Setting up libxmu6:i386 (2:1.1.2-2) ... Setting up libcupsimage2:i386 (2.2.10-3) ... Setting up gtk-update-icon-cache (3.24.3-1ubuntu1) ... Setting up libxcursor1:i386 (1:1.1.15-2) ... Setting up libmagickcore-6.q16-6:i386 (8:6.9.10.14+dfsg-7ubuntu2) ... Setting up libm17n-0:i386 (1.8.0-2) ... Setting up libxext-dev:i386 (2:1.3.3-1) ... Setting up libpango-1.0-0:i386 (1.42.4-6) ... Setting up libatk-bridge2.0-0:i386 (2.30.0-2) ... Setting up libgs9:i386 (9.26~dfsg+0-0ubuntu3) ... Setting up dconf-gsettings-backend:i386 (0.30.1-2) ... Setting up libxrandr2:i386 (2:1.5.1-1) ... Setting up libxi6:i386 (2:1.7.9-1) ... Setting up libxaw7:i386 (2:1.0.13-1) ... Setting up libcairo2:i386 (1.16.0-2) ... Setting up libxinerama1:i386 (2:1.1.4-1) ... Setting up libxt-dev:i386 (1:1.1.5-1) ... Setting up gsettings-desktop-schemas (3.28.1-1ubuntu1) ... Setting up libxmu-dev:i386 (2:1.1.2-2) ... Setting up libgtk-3-common (3.24.3-1ubuntu1) ... Setting up libxaw7-dev:i386 (2:1.0.13-1) ... Setting up libtk8.6:i386 (8.6.9-1) ... Setting up libcairo-gobject2:i386 (1.16.0-2) ... Setting up texlive-binaries (2018.20181218.49446-1) ... 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 libpangoft2-1.0-0:i386 (1.42.4-6) ... Setting up libmagickwand-6.q16-6:i386 (8:6.9.10.14+dfsg-7ubuntu2) ... Setting up glib-networking:i386 (2.58.0-2) ... Setting up texlive-base (2018.20181214-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/config/pdftexconfig.tex tl-paper: setting paper size for dvipdfmx to letter: /var/lib/texmf/dvipdfmx/dvipdfmx-paper.cfg tl-paper: setting paper size for dvips to letter: /var/lib/texmf/dvips/config/config-paper.ps tl-paper: setting paper size for pdftex to letter: /var/lib/texmf/tex/generic/config/pdftexconfig.tex tl-paper: setting paper size for xdvi to letter: /var/lib/texmf/xdvi/XDvi-paper Setting up texlive-latex-base (2018.20181214-1) ... Setting up libsoup2.4-1:i386 (2.64.2-2) ... Setting up libsoup-gnome2.4-1:i386 (2.64.2-2) ... Setting up libpangocairo-1.0-0:i386 (1.42.4-6) ... Setting up librest-0.7-0:i386 (0.8.1-1) ... Setting up librsvg2-2:i386 (2.44.10-1) ... Setting up librsvg2-common:i386 (2.44.10-1) ... Setting up adwaita-icon-theme (3.30.0-0ubuntu1) ... 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 dh-autoreconf (19) ... Setting up humanity-icon-theme (0.6.15) ... Setting up libgtk-3-0:i386 (3.24.3-1ubuntu1) ... Setting up dh-strip-nondeterminism (1.1.0-1) ... Setting up debhelper (12ubuntu1) ... Setting up emacs-gtk (1:26.1+1-3ubuntu1) ... 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 Install emacsen-common for emacs emacsen-common: Handling install of emacsen flavor emacs Setting up ubuntu-mono (16.10+18.10.20181005-0ubuntu1) ... Setting up emacs24 (1:26.1+1-3ubuntu1) ... Setting up gcl (2.6.12-80build1) ... Creating config file /etc/default/gcl with new version Install gcl for emacs Setting up sbuild-build-depends-hol88-dummy (0.invalid.0) ... Processing triggers for libc-bin (2.28-0ubuntu1) ... Processing triggers for systemd (239-7ubuntu15) ... Processing triggers for tex-common (6.10) ... 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. Processing triggers for libgdk-pixbuf2.0-0:i386 (2.38.0+dfsg-7) ... +------------------------------------------------------------------------------+ | Build environment | +------------------------------------------------------------------------------+ Kernel: Linux 4.4.0-141-generic amd64 (i686) Toolchain package versions: binutils_2.31.1-11ubuntu1 dpkg-dev_1.19.2ubuntu2 g++-8_8.2.0-14ubuntu1 gcc-8_8.2.0-14ubuntu1 libc6-dev_2.28-0ubuntu1 libstdc++-8-dev_8.2.0-14ubuntu1 libstdc++6_8.2.0-14ubuntu1 linux-libc-dev_4.19.0-9.10 Package versions: adduser_3.117ubuntu1 advancecomp_2.1-1 adwaita-icon-theme_3.30.0-0ubuntu1 apt_1.8.0~alpha3 autoconf_2.69-11 automake_1:1.16.1-4 autopoint_0.19.8.1-9 autotools-dev_20180224.1 base-files_10.1ubuntu8 base-passwd_3.5.45 bash_5.0-1ubuntu1 binutils_2.31.1-11ubuntu1 binutils-common_2.31.1-11ubuntu1 binutils-i686-linux-gnu_2.31.1-11ubuntu1 bsdmainutils_11.1.2ubuntu2 bsdutils_1:2.33.1-0.1ubuntu1 build-essential_12.5ubuntu2 bzip2_1.0.6-9 ca-certificates_20180409 coreutils_8.30-1ubuntu1 cpp_4:8.2.0-2ubuntu2 cpp-8_8.2.0-14ubuntu1 dash_0.5.10.2-4ubuntu1 dbus_1.12.10-1ubuntu2 dbus-user-session_1.12.10-1ubuntu2 dconf-gsettings-backend_0.30.1-2 dconf-service_0.30.1-2 debconf_1.5.69 debhelper_12ubuntu1 debianutils_4.8.6 dh-autoreconf_19 dh-strip-nondeterminism_1.1.0-1 diffutils_1:3.6-1 dmsetup_2:1.02.145-4.1ubuntu4 dpkg_1.19.2ubuntu2 dpkg-dev_1.19.2ubuntu2 dwz_0.12-3 e2fslibs_1.44.5-1 e2fsprogs_1.44.5-1 emacs-bin-common_1:26.1+1-3ubuntu1 emacs-common_1:26.1+1-3ubuntu1 emacs-gtk_1:26.1+1-3ubuntu1 emacs24_1:26.1+1-3ubuntu1 emacsen-common_3.0.4 fakeroot_1.23-1 fdisk_2.33.1-0.1ubuntu1 file_1:5.35-2 findutils_4.6.0+git+20181018-1 fontconfig_2.13.0-5ubuntu3 fontconfig-config_2.13.0-5ubuntu3 fonts-dejavu-core_2.37-1 fonts-lmodern_2.004.5-5 g++_4:8.2.0-2ubuntu2 g++-8_8.2.0-14ubuntu1 gcc_4:8.2.0-2ubuntu2 gcc-8_8.2.0-14ubuntu1 gcc-8-base_8.2.0-14ubuntu1 gcl_2.6.12-80build1 gettext_0.19.8.1-9 gettext-base_0.19.8.1-9 glib-networking_2.58.0-2 glib-networking-common_2.58.0-2 glib-networking-services_2.58.0-2 gpg_2.2.12-1ubuntu2 gpg-agent_2.2.12-1ubuntu2 gpgconf_2.2.12-1ubuntu2 gpgv_2.2.12-1ubuntu2 grep_3.3-1 groff-base_1.22.4-2 gsettings-desktop-schemas_3.28.1-1ubuntu1 gtk-update-icon-cache_3.24.3-1ubuntu1 gzip_1.9-3 hicolor-icon-theme_0.17-2 hostname_3.21 humanity-icon-theme_0.6.15 imagemagick-6-common_8:6.9.10.14+dfsg-7ubuntu2 init_1.56+nmu1 init-system-helpers_1.56+nmu1 initscripts_2.88dsf-59.3ubuntu2 insserv_1.14.0-5ubuntu3 install-info_6.5.0.dfsg.1-4build1 intltool-debian_0.35.0+20060710.4 libacl1_2.2.52-3build1 libapparmor1_2.12-4ubuntu10 libapt-pkg5.0_1.8.0~alpha3 libarchive-zip-perl_1.64-1 libargon2-1_0~20171227-0.2 libasan5_8.2.0-14ubuntu1 libasound2_1.1.7-2ubuntu0.1 libasound2-data_1.1.7-2ubuntu0.1 libassuan0_2.5.2-1 libatk-bridge2.0-0_2.30.0-2 libatk1.0-0_2.30.0-2 libatk1.0-data_2.30.0-2 libatomic1_8.2.0-14ubuntu1 libatspi2.0-0_2.30.0-5 libattr1_1:2.4.47-2build1 libaudit-common_1:2.8.3-1ubuntu3 libaudit1_1:2.8.3-1ubuntu3 libavahi-client3_0.7-4ubuntu4 libavahi-common-data_0.7-4ubuntu4 libavahi-common3_0.7-4ubuntu4 libbinutils_2.31.1-11ubuntu1 libblkid1_2.33.1-0.1ubuntu1 libbrotli1_1.0.7-2 libbsd0_0.9.1-1 libbz2-1.0_1.0.6-9 libc-bin_2.28-0ubuntu1 libc-dev-bin_2.28-0ubuntu1 libc6_2.28-0ubuntu1 libc6-dev_2.28-0ubuntu1 libcairo-gobject2_1.16.0-2 libcairo2_1.16.0-2 libcap-ng0_0.7.9-2 libcap2_1:2.25-1.2 libcc1-0_8.2.0-14ubuntu1 libcolord2_1.4.3-3 libcom-err2_1.44.5-1 libcomerr2_1.44.5-1 libcroco3_0.6.12-3 libcryptsetup12_2:2.0.4-2ubuntu2 libcups2_2.2.10-3 libcupsimage2_2.2.10-3 libdatrie1_0.2.12-1 libdb5.3_5.3.28+dfsg1-0.2 libdbus-1-3_1.12.10-1ubuntu2 libdconf1_0.30.1-2 libdebconfclient0_0.244ubuntu1 libdevmapper1.02.1_2:1.02.145-4.1ubuntu4 libdpkg-perl_1.19.2ubuntu2 libelf1_0.175-2 libepoxy0_1.5.3-0.1 libexpat1_2.2.6-1 libext2fs2_1.44.5-1 libfakeroot_1.23-1 libfdisk1_2.33.1-0.1ubuntu1 libffi6_3.2.1-9 libfftw3-double3_3.3.8-2 libfile-stripnondeterminism-perl_1.1.0-1 libfontconfig1_2.13.0-5ubuntu3 libfreetype6_2.9.1-3 libfribidi0_1.0.5-3.1 libgcc-8-dev_8.2.0-14ubuntu1 libgcc1_1:8.2.0-14ubuntu1 libgcrypt20_1.8.4-3ubuntu1 libgd3_2.2.5-5 libgdbm-compat4_1.18.1-2build1 libgdbm6_1.18.1-2build1 libgdk-pixbuf2.0-0_2.38.0+dfsg-7 libgdk-pixbuf2.0-common_2.38.0+dfsg-7 libgif7_5.1.4-3 libglib2.0-0_2.58.1-2 libgmp-dev_2:6.1.2+dfsg-4 libgmp10_2:6.1.2+dfsg-4 libgmp3-dev_2:6.1.2+dfsg-4 libgmpxx4ldbl_2:6.1.2+dfsg-4 libgnutls30_3.6.5-2ubuntu1 libgomp1_8.2.0-14ubuntu1 libgpg-error0_1.33-3 libgpm2_1.20.7-5 libgraphite2-3_1.3.13-6 libgs9_9.26~dfsg+0-0ubuntu3 libgs9-common_9.26~dfsg+0-0ubuntu3 libgssapi-krb5-2_1.17-1 libgtk-3-0_3.24.3-1ubuntu1 libgtk-3-common_3.24.3-1ubuntu1 libharfbuzz-icu0_2.3.0-1 libharfbuzz0b_2.3.0-1 libhogweed4_3.4.1~rc1-1 libice-dev_2:1.0.9-2 libice6_2:1.0.9-2 libicu63_63.1-5 libidn11_1.33-2.2ubuntu1 libidn2-0_2.0.5-1 libijs-0.35_0.35-13 libip4tc0_1.6.1-2ubuntu3 libisl19_0.20-2 libitm1_8.2.0-14ubuntu1 libjbig0_2.1-3.1build1 libjbig2dec0_0.15-2 libjpeg-turbo8_2.0.1-0ubuntu1 libjpeg8_8c-2ubuntu8 libjson-c3_0.12.1-1.3 libjson-glib-1.0-0_1.4.4-2 libjson-glib-1.0-common_1.4.4-2 libk5crypto3_1.17-1 libkeyutils1_1.5.9-9.3 libkmod2_25-1ubuntu2 libkpathsea6_2018.20181218.49446-1 libkrb5-3_1.17-1 libkrb5support0_1.17-1 liblcms2-2_2.9-3 liblockfile-bin_1.14-1.1 liblockfile1_1.14-1.1 liblqr-1-0_0.4.2-2.1 libltdl7_2.4.6-7ubuntu1 liblz4-1_1.8.3-1ubuntu1 liblzma5_5.2.2-1.3 libm17n-0_1.8.0-2 libmagic-mgc_1:5.35-2 libmagic1_1:5.35-2 libmagickcore-6.q16-6_8:6.9.10.14+dfsg-7ubuntu2 libmagickwand-6.q16-6_8:6.9.10.14+dfsg-7ubuntu2 libmount1_2.33.1-0.1ubuntu1 libmpc3_1.1.0-1 libmpfr6_4.0.2~rc1-1 libmpx2_8.2.0-14ubuntu1 libncurses-dev_6.1+20180210-4ubuntu1 libncurses6_6.1+20180210-4ubuntu1 libncursesw6_6.1+20180210-4ubuntu1 libnettle6_3.4.1~rc1-1 libnpth0_1.6-1 libotf0_0.9.13-4 libp11-kit0_0.23.14-2 libpam-modules_1.1.8-3.6ubuntu2 libpam-modules-bin_1.1.8-3.6ubuntu2 libpam-runtime_1.1.8-3.6ubuntu2 libpam-systemd_239-7ubuntu15 libpam0g_1.1.8-3.6ubuntu2 libpango-1.0-0_1.42.4-6 libpangocairo-1.0-0_1.42.4-6 libpangoft2-1.0-0_1.42.4-6 libpaper-utils_1.1.26 libpaper1_1.1.26 libpcre3_2:8.39-11 libperl5.28_5.28.1-3 libpipeline1_1.5.0-2 libpixman-1-0_0.36.0-1 libpng16-16_1.6.36-3 libpotrace0_1.15-1 libprocps7_2:3.3.15-2ubuntu1 libproxy1v5_0.4.15-5 libpsl5_0.20.2-2 libptexenc1_2018.20181218.49446-1 libpthread-stubs0-dev_0.3-4 libquadmath0_8.2.0-14ubuntu1 libreadline-dev_8.0-1 libreadline7_7.0-5 libreadline8_8.0-1 librest-0.7-0_0.8.1-1 librsvg2-2_2.44.10-1 librsvg2-common_2.44.10-1 libseccomp2_2.3.3-3ubuntu2 libselinux1_2.8-1build2 libsemanage-common_2.8-2 libsemanage1_2.8-2 libsepol1_2.8-1 libsigsegv2_2.12-2 libslang2_2.3.2-1ubuntu1 libsm-dev_2:1.2.2-1 libsm6_2:1.2.2-1 libsmartcols1_2.33.1-0.1ubuntu1 libsoup-gnome2.4-1_2.64.2-2 libsoup2.4-1_2.64.2-2 libsqlite3-0_3.26.0+fossilbc891ac6b-1build1 libss2_1.44.5-1 libssl1.1_1.1.1a-1ubuntu2 libstdc++-8-dev_8.2.0-14ubuntu1 libstdc++6_8.2.0-14ubuntu1 libsynctex2_2018.20181218.49446-1 libsystemd0_239-7ubuntu15 libtasn1-6_4.13-3 libtcl8.6_8.6.9+dfsg-1 libteckit0_2.5.8+ds2-5ubuntu1 libtexlua52_2018.20181218.49446-1 libtexlua53_2018.20181218.49446-1 libtexluajit2_2018.20181218.49446-1 libthai-data_0.1.28-1 libthai0_0.1.28-1 libtiff5_4.0.10-3 libtinfo6_6.1+20180210-4ubuntu1 libtk8.6_8.6.9-1 libtool_2.4.6-7ubuntu1 libubsan1_8.2.0-14ubuntu1 libuchardet0_0.0.6-3 libudev1_239-7ubuntu15 libunistring2_0.9.10-1ubuntu1 libusb-0.1-4_2:0.1.12-32 libuuid1_2.33.1-0.1ubuntu1 libwayland-client0_1.16.0-1ubuntu2 libwayland-cursor0_1.16.0-1ubuntu2 libwayland-egl1_1.16.0-1ubuntu2 libwebp6_0.6.1-2 libwoff1_1.0.2-1build1 libx11-6_2:1.6.7-1 libx11-data_2:1.6.7-1 libx11-dev_2:1.6.7-1 libx11-xcb1_2:1.6.7-1 libxau-dev_1:1.0.8-1 libxau6_1:1.0.8-1 libxaw7_2:1.0.13-1 libxaw7-dev_2:1.0.13-1 libxcb-render0_1.13.1-2 libxcb-shm0_1.13.1-2 libxcb1_1.13.1-2 libxcb1-dev_1.13.1-2 libxcomposite1_1:0.4.4-2 libxcursor1_1:1.1.15-2 libxdamage1_1:1.1.4-3 libxdmcp-dev_1:1.1.2-3 libxdmcp6_1:1.1.2-3 libxext-dev_2:1.3.3-1 libxext6_2:1.3.3-1 libxfixes3_1:5.0.3-1 libxft2_2.3.2-2 libxi6_2:1.7.9-1 libxinerama1_2:1.1.4-1 libxkbcommon0_0.8.2-1 libxml2_2.9.4+dfsg1-7ubuntu3 libxmu-dev_2:1.1.2-2 libxmu-headers_2:1.1.2-2 libxmu6_2:1.1.2-2 libxpm-dev_1:3.5.12-1 libxpm4_1:3.5.12-1 libxrandr2_2:1.5.1-1 libxrender1_1:0.9.10-1 libxss1_1:1.2.3-1 libxt-dev_1:1.1.5-1 libxt6_1:1.1.5-1 libxxhash0_0.6.5-2 libzstd1_1.3.8+dfsg-3 libzzip-0-13_0.13.62-3.1ubuntu1 linux-libc-dev_4.19.0-9.10 lockfile-progs_0.1.18 login_1:4.5-1ubuntu1 lsb-base_9.20170808ubuntu1 m17n-db_1.8.0-1 m4_1.4.18-2 make_4.2.1-1.2 man-db_2.8.5-1 mawk_1.3.3-17ubuntu3 mount_2.33.1-0.1ubuntu1 multiarch-support_2.28-0ubuntu1 ncurses-base_6.1+20180210-4ubuntu1 ncurses-bin_6.1+20180210-4ubuntu1 openssl_1.1.1a-1ubuntu2 optipng_0.7.6-1.1 passwd_1:4.5-1ubuntu1 patch_2.7.6-3 perl_5.28.1-3 perl-base_5.28.1-3 perl-modules-5.28_5.28.1-3 pinentry-curses_1.1.0-1build2 pkgbinarymangler_143 po-debconf_1.0.21 policyrcd-script-zg2_0.1-3 poppler-data_0.4.9-2 procps_2:3.3.15-2ubuntu1 readline-common_8.0-1 sbuild-build-depends-core-dummy_0.invalid.0 sbuild-build-depends-hol88-dummy_0.invalid.0 sed_4.7-1 sensible-utils_0.0.12 shared-mime-info_1.10-1 systemd_239-7ubuntu15 systemd-sysv_239-7ubuntu15 sysv-rc_2.88dsf-59.3ubuntu2 sysvinit-utils_2.88dsf-59.10ubuntu2 t1utils_1.41-3 tar_1.30+dfsg-4 tex-common_6.10 texlive-base_2018.20181214-1 texlive-binaries_2018.20181218.49446-1 texlive-latex-base_2018.20181214-1 tzdata_2018i-1 ubuntu-keyring_2018.09.18.1 ubuntu-mono_16.10+18.10.20181005-0ubuntu1 ucf_3.0038+nmu1 util-linux_2.32-0.1ubuntu2 x11-common_1:7.7+19ubuntu8 x11proto-core-dev_2018.4-4 x11proto-dev_2018.4-4 x11proto-xext-dev_2018.4-4 xdg-utils_1.1.3-1ubuntu2 xkb-data_2.23.1-1ubuntu1.18.10.1 xorg-sgml-doctools_1:1.11-1 xtrans-dev_1.3.5-1 xz-utils_5.2.2-1.3 zlib1g_1:1.2.11.dfsg-0ubuntu2 +------------------------------------------------------------------------------+ | Build | +------------------------------------------------------------------------------+ Unpack source ------------- gpgv: Signature made Tue Jan 15 11:03:38 2019 UTC gpgv: using RSA key D56571B88A8BBAF140BF63D6BD7EAA60778FA6F5 gpgv: issuer "doko@ubuntu.com" gpgv: Can't check signature: No public key dpkg-source: warning: failed to verify signature on ./hol88_2.02.19940316-35build1.dsc dpkg-source: info: extracting hol88 in hol88-2.02.19940316 dpkg-source: info: unpacking hol88_2.02.19940316.orig.tar.gz dpkg-source: info: unpacking hol88_2.02.19940316-35build1.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 disc 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-16281177 SCHROOT_CHROOT_NAME=build-PACKAGEBUILD-16281177 SCHROOT_COMMAND=env SCHROOT_GID=2501 SCHROOT_GROUP=buildd SCHROOT_SESSION_ID=build-PACKAGEBUILD-16281177 SCHROOT_UID=2001 SCHROOT_USER=buildd SHELL=/bin/sh TERM=unknown USER=buildd V=1 dpkg-buildpackage ----------------- dpkg-buildpackage: info: source package hol88 dpkg-buildpackage: info: source version 2.02.19940316-35build1 dpkg-buildpackage: info: source distribution disco dpkg-source --before-build . dpkg-buildpackage: info: host architecture i386 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/prettyp/Manual' rm -f *.dvi *.aux *.toc *.log *.idx *.ilg make[1]: Leaving directory '/<>/Library/prettyp/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/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/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/unwind/Manual' rm -f *.dvi *.aux *.toc *.log *.idx *.ilg make[1]: Leaving directory '/<>/Library/unwind/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/arith/Manual' rm -f *.dvi *.aux *.toc *.log *.idx *.ilg make[1]: Leaving directory '/<>/Library/arith/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/res_quan/Manual' rm -f *.dvi *.aux *.toc *.log *.idx *.ilg make[1]: Leaving directory '/<>/Library/res_quan/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/record_proof/Manual' rm -f *.dvi *.aux *.toc *.log *.idx *.ilg make[1]: Leaving directory '/<>/Library/record_proof/Manual' 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/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/finite_sets/Manual' rm -f *.dvi *.aux *.toc *.log *.idx *.ilg make[1]: Leaving directory '/<>/Library/finite_sets/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/word/Manual' rm -f *.dvi *.aux *.toc *.log *.idx *.ilg make[1]: Leaving directory '/<>/Library/word/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/taut/Manual' rm -f *.dvi *.aux *.toc *.log *.idx *.ilg make[1]: Leaving directory '/<>/Library/taut/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/pred_sets/Manual' rm -f *.dvi *.aux *.toc *.log *.idx *.ilg make[1]: Leaving directory '/<>/Library/pred_sets/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/sets/Manual' rm -f *.dvi *.aux *.toc *.log *.idx *.ilg make[1]: Leaving directory '/<>/Library/sets/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 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.12 CLtL1 Fri Apr 22 15:51:11 UTC 2016 Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl) Binary License: GPL due to GPL'ed components: (XGCL READLINE 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 Tue Jan 15 11:09:08 UTC 2019 /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.12 CLtL1 Fri Apr 22 15:51:11 UTC 2016 Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl) Binary License: GPL due to GPL'ed components: (XGCL READLINE 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" >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.12 CLtL1 Fri Apr 22 15:51:11 UTC 2016 Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl) Binary License: GPL due to GPL'ed components: (XGCL READLINE 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 0x7bd6f0 ;; Finished loading "lisp/f-cl" 19063 > 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" >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.12 CLtL1 Fri Apr 22 15:51:11 UTC 2016 Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl) Binary License: GPL due to GPL'ed components: (XGCL READLINE 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 0x7bd6f0 ;; Finished loading "lisp/f-cl" 19063 > Compiling lisp/f-system.l. ;;; Including lisp/f-macrostart address -T 0x667af0 ; (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" >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.12 CLtL1 Fri Apr 22 15:51:11 UTC 2016 Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl) Binary License: GPL due to GPL'ed components: (XGCL READLINE 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 0x7bd6f0 ;; Finished loading "lisp/f-cl" 19063 > Compiling lisp/f-help.l. ;;; Including lisp/f-macrostart address -T 0x667af0 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" >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.12 CLtL1 Fri Apr 22 15:51:11 UTC 2016 Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl) Binary License: GPL due to GPL'ed components: (XGCL READLINE 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 0x7bd6f0 ;; Finished loading "lisp/f-cl" 19063 > 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" >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.12 CLtL1 Fri Apr 22 15:51:11 UTC 2016 Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl) Binary License: GPL due to GPL'ed components: (XGCL READLINE 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 0x7bd6f0 ;; Finished loading "lisp/f-cl" 19063 > Compiling lisp/genmacs.l. ;;; Including lisp/f-macrostart address -T 0x667af0 ;;; Including lisp/f-ol-recstart address -T 0x7c82c0 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" >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.12 CLtL1 Fri Apr 22 15:51:11 UTC 2016 Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl) Binary License: GPL due to GPL'ed components: (XGCL READLINE 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 0x7bd6f0 ;; Finished loading "lisp/f-cl" 19063 > 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" >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.12 CLtL1 Fri Apr 22 15:51:11 UTC 2016 Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl) Binary License: GPL due to GPL'ed components: (XGCL READLINE 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 0x7bd6f0 ;; Finished loading "lisp/f-cl" 19063 > 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" >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.12 CLtL1 Fri Apr 22 15:51:11 UTC 2016 Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl) Binary License: GPL due to GPL'ed components: (XGCL READLINE 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 0x7bd6f0 ;; Finished loading "lisp/f-cl" 19063 > 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" >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.12 CLtL1 Fri Apr 22 15:51:11 UTC 2016 Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl) Binary License: GPL due to GPL'ed components: (XGCL READLINE 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 0x7bd6f0 ;; Finished loading "lisp/f-cl" 19063 > Compiling lisp/f-site.l. ;;; Including lisp/f-constantsstart address -T 0x7081d8 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" >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.12 CLtL1 Fri Apr 22 15:51:11 UTC 2016 Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl) Binary License: GPL due to GPL'ed components: (XGCL READLINE 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 0x7bd6f0 ;; Finished loading "lisp/f-cl" 19063 > Compiling lisp/f-gp.l. ;;; Including lisp/f-constantsstart address -T 0x7081d8 ;;; Including lisp/f-macrostart address -T 0x7c8168 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" >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.12 CLtL1 Fri Apr 22 15:51:11 UTC 2016 Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl) Binary License: GPL due to GPL'ed components: (XGCL READLINE 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 0x7bd6f0 ;; Finished loading "lisp/f-cl" 19063 > Compiling lisp/f-parser.l. ;;; Including lisp/f-constantsstart address -T 0x7081d8 ;;; Including lisp/f-macrostart address -T 0x7c8168 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" >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.12 CLtL1 Fri Apr 22 15:51:11 UTC 2016 Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl) Binary License: GPL due to GPL'ed components: (XGCL READLINE 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 0x7bd6f0 ;; Finished loading "lisp/f-cl" 19063 > Compiling lisp/f-parsml.l. ;;; Including lisp/f-constantsstart address -T 0x7081d8 ;;; Including lisp/f-macrostart address -T 0x7c8168 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" >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.12 CLtL1 Fri Apr 22 15:51:11 UTC 2016 Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl) Binary License: GPL due to GPL'ed components: (XGCL READLINE 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 0x7bd6f0 ;; Finished loading "lisp/f-cl" 19063 > Compiling lisp/f-mlprin.l. ;;; Including lisp/f-constantsstart address -T 0x7081d8 ;;; Including lisp/f-macrostart address -T 0x7c8168 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" >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.12 CLtL1 Fri Apr 22 15:51:11 UTC 2016 Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl) Binary License: GPL due to GPL'ed components: (XGCL READLINE 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 0x7bd6f0 ;; Finished loading "lisp/f-cl" 19063 > Compiling lisp/f-typeml.l. ;;; Including lisp/f-constantsstart address -T 0x7081d8 ;;; Including lisp/f-macrostart address -T 0x7c8168 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" >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.12 CLtL1 Fri Apr 22 15:51:11 UTC 2016 Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl) Binary License: GPL due to GPL'ed components: (XGCL READLINE 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 0x7bd6f0 ;; Finished loading "lisp/f-cl" 19063 > Compiling lisp/f-dml.l. ;;; Including lisp/f-macrostart address -T 0x667af0 ;;; Including lisp/f-constantsstart address -T 0x669190 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:1122:19: warning: unused variable ‘V12’ [-Wunused-variable] {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" >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.12 CLtL1 Fri Apr 22 15:51:11 UTC 2016 Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl) Binary License: GPL due to GPL'ed components: (XGCL READLINE 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 0x7bd6f0 ;; Finished loading "lisp/f-cl" 19063 > Compiling lisp/f-format.l. ;;; Including lisp/f-macrostart address -T 0x667af0 ;;; Including lisp/f-constantsstart address -T 0x669190 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" >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.12 CLtL1 Fri Apr 22 15:51:11 UTC 2016 Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl) Binary License: GPL due to GPL'ed components: (XGCL READLINE 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 0x7bd6f0 ;; Finished loading "lisp/f-cl" 19063 > Compiling lisp/f-tran.l. ;;; Including lisp/f-constantsstart address -T 0x7081d8 ;;; Including lisp/f-macrostart address -T 0x7c8168 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:4166:19: warning: unused variable ‘V248’ [-Wunused-variable] {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" >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.12 CLtL1 Fri Apr 22 15:51:11 UTC 2016 Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl) Binary License: GPL due to GPL'ed components: (XGCL READLINE 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 0x7bd6f0 ;; Finished loading "lisp/f-cl" 19063 > Compiling lisp/f-iox-stand.l. ;;; Including lisp/f-constantsstart address -T 0x7081d8 ;;; Including lisp/f-macrostart address -T 0x7c8168 End of Pass 1. End of Pass 2. /<>/lisp/f-iox-stand.c: In function ‘L2’: /<>/lisp/f-iox-stand.c:1133:19: warning: unused variable ‘V6’ [-Wunused-variable] {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" >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.12 CLtL1 Fri Apr 22 15:51:11 UTC 2016 Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl) Binary License: GPL due to GPL'ed components: (XGCL READLINE 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 0x7bd6f0 ;; Finished loading "lisp/f-cl" 19063 > Compiling lisp/f-writml.l. ;;; Including lisp/f-constantsstart address -T 0x7081d8 ;;; Including lisp/f-macrostart address -T 0x7c8168 ; (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" >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.12 CLtL1 Fri Apr 22 15:51:11 UTC 2016 Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl) Binary License: GPL due to GPL'ed components: (XGCL READLINE 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 0x7bd6f0 ;; Finished loading "lisp/f-cl" 19063 > Compiling lisp/f-tml.l. ;;; Including lisp/f-constantsstart address -T 0x7081d8 ;;; Including lisp/f-macrostart address -T 0x7c8168 ; (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" >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.12 CLtL1 Fri Apr 22 15:51:11 UTC 2016 Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl) Binary License: GPL due to GPL'ed components: (XGCL READLINE 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 0x7bd6f0 ;; Finished loading "lisp/f-cl" 19063 > Compiling lisp/f-lis.l. ;;; Including lisp/f-constantsstart address -T 0x7081d8 ;;; Including lisp/f-macrostart address -T 0x7c8168 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" >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.12 CLtL1 Fri Apr 22 15:51:11 UTC 2016 Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl) Binary License: GPL due to GPL'ed components: (XGCL READLINE 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 0x7bd6f0 ;; Finished loading "lisp/f-cl" 19063 > Compiling lisp/f-parsol.l. ;;; Including lisp/f-constantsstart address -T 0x7081d8 ;;; Including lisp/f-macrostart address -T 0x7c8168 ; (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" >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.12 CLtL1 Fri Apr 22 15:51:11 UTC 2016 Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl) Binary License: GPL due to GPL'ed components: (XGCL READLINE 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 0x7bd6f0 ;; Finished loading "lisp/f-cl" 19063 > Compiling lisp/f-typeol.l. ;;; Including lisp/f-constantsstart address -T 0x7081d8 ;;; Including lisp/f-macrostart address -T 0x7c8168 ;;; Including lisp/f-ol-recstart address -T 0x667df0 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:1210:10: warning: unused variable ‘V10’ [-Wunused-variable] {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" >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.12 CLtL1 Fri Apr 22 15:51:11 UTC 2016 Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl) Binary License: GPL due to GPL'ed components: (XGCL READLINE 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 0x7bd6f0 ;; Finished loading "lisp/f-cl" 19063 > Compiling lisp/f-writol.l. ;;; Including lisp/f-constantsstart address -T 0x7081d8 ;;; Including lisp/f-macrostart address -T 0x7c8168 ;;; Including lisp/f-ol-recstart address -T 0x667df0 ;;; Including lisp/genmacsstart address -T 0x7cd988 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" >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.12 CLtL1 Fri Apr 22 15:51:11 UTC 2016 Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl) Binary License: GPL due to GPL'ed components: (XGCL READLINE 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 0x7bd6f0 ;; Finished loading "lisp/f-cl" 19063 > Compiling lisp/f-thyfns.l. ;;; Including lisp/f-constantsstart address -T 0x7081d8 ;;; Including lisp/f-macrostart address -T 0x7c8168 ;;; Including lisp/f-ol-recstart address -T 0x667df0 ; (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" >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.12 CLtL1 Fri Apr 22 15:51:11 UTC 2016 Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl) Binary License: GPL due to GPL'ed components: (XGCL READLINE 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 0x7bd6f0 ;; Finished loading "lisp/f-cl" 19063 > Compiling lisp/f-freadth.l. ;;; Including lisp/f-macrostart address -T 0x667af0 ; (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" >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.12 CLtL1 Fri Apr 22 15:51:11 UTC 2016 Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl) Binary License: GPL due to GPL'ed components: (XGCL READLINE 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 0x7bd6f0 ;; Finished loading "lisp/f-cl" 19063 > Compiling lisp/f-ol-syntax.l. ;;; Including lisp/f-constantsstart address -T 0x7081d8 ;;; Including lisp/f-macrostart address -T 0x7c8168 ;;; Including lisp/f-ol-recstart address -T 0x667df0 ; (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" >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.12 CLtL1 Fri Apr 22 15:51:11 UTC 2016 Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl) Binary License: GPL due to GPL'ed components: (XGCL READLINE 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 0x7bd6f0 ;; Finished loading "lisp/f-cl" 19063 > Compiling lisp/f-subst.l. ;;; Including lisp/f-constantsstart address -T 0x7081d8 ;;; Including lisp/f-macrostart address -T 0x7c8168 ;;; Including lisp/f-ol-recstart address -T 0x667df0 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" >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.12 CLtL1 Fri Apr 22 15:51:11 UTC 2016 Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl) Binary License: GPL due to GPL'ed components: (XGCL READLINE 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 0x7bd6f0 ;; Finished loading "lisp/f-cl" 19063 > Compiling lisp/f-inst.l. ;;; Including lisp/f-constantsstart address -T 0x7081d8 ;;; Including lisp/f-macrostart address -T 0x7c8168 ;;; Including lisp/f-ol-recstart address -T 0x667df0 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" >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.12 CLtL1 Fri Apr 22 15:51:11 UTC 2016 Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl) Binary License: GPL due to GPL'ed components: (XGCL READLINE 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 0x7bd6f0 ;; Finished loading "lisp/f-cl" 19063 > Compiling lisp/f-simpl.l. ;;; Including lisp/f-constantsstart address -T 0x7081d8 ;;; Including lisp/f-macrostart address -T 0x7c8168 ;;; Including lisp/f-ol-recstart address -T 0x667df0 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:1395:10: warning: unused variable ‘V27’ [-Wunused-variable] {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" >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.12 CLtL1 Fri Apr 22 15:51:11 UTC 2016 Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl) Binary License: GPL due to GPL'ed components: (XGCL READLINE 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 0x7bd6f0 ;; Finished loading "lisp/f-cl" 19063 > Compiling lisp/f-ol-net.l. ;;; Including lisp/f-constantsstart address -T 0x7081d8 ;;; Including lisp/f-macrostart address -T 0x7c8168 ;;; Including lisp/f-ol-recstart address -T 0x667df0 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" >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.12 CLtL1 Fri Apr 22 15:51:11 UTC 2016 Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl) Binary License: GPL due to GPL'ed components: (XGCL READLINE 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 0x7bd6f0 ;; Finished loading "lisp/f-cl" ;; Loading "lisp/f-system" start address -T 0x7c4168 ;; Finished loading "lisp/f-system" ;; Loading "lisp/f-constants" start address -T 0x667bf0 ;; Finished loading "lisp/f-constants" ;; Loading "lisp/f-site" start address -T 0x667da8 ;; Finished loading "lisp/f-site" ;; Loading "lisp/f-gp" start address -T 0x7cbff8 ;; Finished loading "lisp/f-gp" ;; Loading "lisp/f-parser" start address -T 0x7cfe50 ;; Finished loading "lisp/f-parser" ;; Loading "lisp/f-parsml" start address -T 0x7d6200 ;; Finished loading "lisp/f-parsml" ;; Loading "lisp/f-mlprin" start address -T 0x7df5d8 ;; Finished loading "lisp/f-mlprin" ;; Loading "lisp/f-typeml" start address -T 0x7e36e8 ;; Finished loading "lisp/f-typeml" ;; Loading "lisp/f-dml" start address -T 0x7f0948 ;; Finished loading "lisp/f-dml" ;; Loading "lisp/f-format" start address -T 0x7f6390 ;; Finished loading "lisp/f-format" ;; Loading "lisp/f-tran" start address -T 0x7faad0 ;; Finished loading "lisp/f-tran" ;; Loading "lisp/f-iox-stand" start address -T 0x807910 ;; Finished loading "lisp/f-iox-stand" ;; Loading "lisp/f-writml" start address -T 0x80c2c0 ;; Finished loading "lisp/f-writml" ;; Loading "lisp/f-tml" start address -T 0x8108b8 ;; Finished loading "lisp/f-tml" ;; Loading "lisp/f-lis" start address -T 0x81c110 ;; Finished loading "lisp/f-lis" ;; Loading "lisp/f-ol-rec" start address -T 0x81f410 ;; Finished loading "lisp/f-ol-rec" ;; Loading "lisp/f-help" start address -T 0x8229c0 ;; Finished loading "lisp/f-help" start address -T 0x667590 ;; Finished loading "lisp/mk-ml" 599 >;; Loading "lisp/mk-hol-lcf" ;; Loading "lisp/f-parsol" start address -T 0x8274f8 ;; Finished loading "lisp/f-parsol" ;; Loading "lisp/f-typeol" start address -T 0x82c8f0 ;; Finished loading "lisp/f-typeol" ;; Loading "lisp/f-help" start address -T 0x8318c8 ;; Finished loading "lisp/f-help" ;; Loading "lisp/f-format" start address -T 0x834028 ;; Finished loading "lisp/f-format" ;; Loading "lisp/f-writol" start address -T 0x838768 ;; Finished loading "lisp/f-writol" ;; Loading "lisp/f-thyfns" start address -T 0x83ef38 ;; Finished loading "lisp/f-thyfns" ;; Loading "lisp/f-freadth" Warning: lisp/f-freadth.l is redefining function THY-READ start address -T 0x84c468 ;; Finished loading "lisp/f-freadth" ;; Loading "lisp/f-ol-syntax" start address -T 0x850160 ;; Finished loading "lisp/f-ol-syntax" ;; Loading "lisp/f-subst" start address -T 0x8599b8 ;; Finished loading "lisp/f-subst" ;; Loading "lisp/f-inst" start address -T 0x85fd28 ;; Finished loading "lisp/f-inst" ;; Loading "lisp/f-simpl" start address -T 0x865c30 ;; Finished loading "lisp/f-simpl" ;; Loading "lisp/f-ol-net" start address -T 0x869418 ;; Finished loading "lisp/f-ol-net" start address -T 0x825120 ;; Finished loading "lisp/mk-hol-lcf" 599 > "HOL-LCF" > "" > "2.02 (GCL)" > NIL > HOL-LCF version 2.02 (GCL) created 15/1/19 # 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.12 CLtL1 Fri Apr 22 15:51:11 UTC 2016 Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl) Binary License: GPL due to GPL'ed components: (XGCL READLINE 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 0x7bd6f0 ;; Finished loading "lisp/f-cl" ;; Loading "lisp/f-system" start address -T 0x7c4168 ;; Finished loading "lisp/f-system" ;; Loading "lisp/f-constants" start address -T 0x667bf0 ;; Finished loading "lisp/f-constants" ;; Loading "lisp/f-site" start address -T 0x667da8 ;; Finished loading "lisp/f-site" ;; Loading "lisp/f-gp" start address -T 0x7cbff8 ;; Finished loading "lisp/f-gp" ;; Loading "lisp/f-parser" start address -T 0x7cfe50 ;; Finished loading "lisp/f-parser" ;; Loading "lisp/f-parsml" start address -T 0x7d6200 ;; Finished loading "lisp/f-parsml" ;; Loading "lisp/f-mlprin" start address -T 0x7df5d8 ;; Finished loading "lisp/f-mlprin" ;; Loading "lisp/f-typeml" start address -T 0x7e36e8 ;; Finished loading "lisp/f-typeml" ;; Loading "lisp/f-dml" start address -T 0x7f0948 ;; Finished loading "lisp/f-dml" ;; Loading "lisp/f-format" start address -T 0x7f6390 ;; Finished loading "lisp/f-format" ;; Loading "lisp/f-tran" start address -T 0x7faad0 ;; Finished loading "lisp/f-tran" ;; Loading "lisp/f-iox-stand" start address -T 0x807910 ;; Finished loading "lisp/f-iox-stand" ;; Loading "lisp/f-writml" start address -T 0x80c2c0 ;; Finished loading "lisp/f-writml" ;; Loading "lisp/f-tml" start address -T 0x8108b8 ;; Finished loading "lisp/f-tml" ;; Loading "lisp/f-lis" start address -T 0x81c110 ;; Finished loading "lisp/f-lis" ;; Loading "lisp/f-ol-rec" start address -T 0x81f410 ;; Finished loading "lisp/f-ol-rec" ;; Loading "lisp/f-help" start address -T 0x8229c0 ;; Finished loading "lisp/f-help" start address -T 0x667590 ;; Finished loading "lisp/mk-ml" 599 >;; Loading "lisp/mk-hol-lcf" ;; Loading "lisp/f-parsol" start address -T 0x8274f8 ;; Finished loading "lisp/f-parsol" ;; Loading "lisp/f-typeol" start address -T 0x82c8f0 ;; Finished loading "lisp/f-typeol" ;; Loading "lisp/f-help" start address -T 0x8318c8 ;; Finished loading "lisp/f-help" ;; Loading "lisp/f-format" start address -T 0x834028 ;; Finished loading "lisp/f-format" ;; Loading "lisp/f-writol" start address -T 0x838768 ;; Finished loading "lisp/f-writol" ;; Loading "lisp/f-thyfns" start address -T 0x83ef38 ;; Finished loading "lisp/f-thyfns" ;; Loading "lisp/f-freadth" Warning: lisp/f-freadth.l is redefining function THY-READ start address -T 0x84c468 ;; Finished loading "lisp/f-freadth" ;; Loading "lisp/f-ol-syntax" start address -T 0x850160 ;; Finished loading "lisp/f-ol-syntax" ;; Loading "lisp/f-subst" start address -T 0x8599b8 ;; Finished loading "lisp/f-subst" ;; Loading "lisp/f-inst" start address -T 0x85fd28 ;; Finished loading "lisp/f-inst" ;; Loading "lisp/f-simpl" start address -T 0x865c30 ;; Finished loading "lisp/f-simpl" ;; Loading "lisp/f-ol-net" start address -T 0x869418 ;; Finished loading "lisp/f-ol-net" start address -T 0x825120 ;; Finished loading "lisp/mk-hol-lcf" 599 > "HOL-LCF" > "" > "2.02 (GCL)" > NIL > HOL-LCF version 2.02 (GCL) created 15/1/19 #.............start address -T 0x94c008 () : 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.12 CLtL1 Fri Apr 22 15:51:11 UTC 2016 Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl) Binary License: GPL due to GPL'ed components: (XGCL READLINE 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 0x7bd6f0 ;; Finished loading "lisp/f-cl" ;; Loading "lisp/f-system" start address -T 0x7c4168 ;; Finished loading "lisp/f-system" ;; Loading "lisp/f-constants" start address -T 0x667bf0 ;; Finished loading "lisp/f-constants" ;; Loading "lisp/f-site" start address -T 0x667da8 ;; Finished loading "lisp/f-site" ;; Loading "lisp/f-gp" start address -T 0x7cbff8 ;; Finished loading "lisp/f-gp" ;; Loading "lisp/f-parser" start address -T 0x7cfe50 ;; Finished loading "lisp/f-parser" ;; Loading "lisp/f-parsml" start address -T 0x7d6200 ;; Finished loading "lisp/f-parsml" ;; Loading "lisp/f-mlprin" start address -T 0x7df5d8 ;; Finished loading "lisp/f-mlprin" ;; Loading "lisp/f-typeml" start address -T 0x7e36e8 ;; Finished loading "lisp/f-typeml" ;; Loading "lisp/f-dml" start address -T 0x7f0948 ;; Finished loading "lisp/f-dml" ;; Loading "lisp/f-format" start address -T 0x7f6390 ;; Finished loading "lisp/f-format" ;; Loading "lisp/f-tran" start address -T 0x7faad0 ;; Finished loading "lisp/f-tran" ;; Loading "lisp/f-iox-stand" start address -T 0x807910 ;; Finished loading "lisp/f-iox-stand" ;; Loading "lisp/f-writml" start address -T 0x80c2c0 ;; Finished loading "lisp/f-writml" ;; Loading "lisp/f-tml" start address -T 0x8108b8 ;; Finished loading "lisp/f-tml" ;; Loading "lisp/f-lis" start address -T 0x81c110 ;; Finished loading "lisp/f-lis" ;; Loading "lisp/f-ol-rec" start address -T 0x81f410 ;; Finished loading "lisp/f-ol-rec" ;; Loading "lisp/f-help" start address -T 0x8229c0 ;; Finished loading "lisp/f-help" start address -T 0x667590 ;; Finished loading "lisp/mk-ml" 599 >;; Loading "lisp/mk-hol-lcf" ;; Loading "lisp/f-parsol" start address -T 0x8274f8 ;; Finished loading "lisp/f-parsol" ;; Loading "lisp/f-typeol" start address -T 0x82c8f0 ;; Finished loading "lisp/f-typeol" ;; Loading "lisp/f-help" start address -T 0x8318c8 ;; Finished loading "lisp/f-help" ;; Loading "lisp/f-format" start address -T 0x834028 ;; Finished loading "lisp/f-format" ;; Loading "lisp/f-writol" start address -T 0x838768 ;; Finished loading "lisp/f-writol" ;; Loading "lisp/f-thyfns" start address -T 0x83ef38 ;; Finished loading "lisp/f-thyfns" ;; Loading "lisp/f-freadth" Warning: lisp/f-freadth.l is redefining function THY-READ start address -T 0x84c468 ;; Finished loading "lisp/f-freadth" ;; Loading "lisp/f-ol-syntax" start address -T 0x850160 ;; Finished loading "lisp/f-ol-syntax" ;; Loading "lisp/f-subst" start address -T 0x8599b8 ;; Finished loading "lisp/f-subst" ;; Loading "lisp/f-inst" start address -T 0x85fd28 ;; Finished loading "lisp/f-inst" ;; Loading "lisp/f-simpl" start address -T 0x865c30 ;; Finished loading "lisp/f-simpl" ;; Loading "lisp/f-ol-net" start address -T 0x869418 ;; Finished loading "lisp/f-ol-net" start address -T 0x825120 ;; Finished loading "lisp/mk-hol-lcf" 599 > "HOL-LCF" > "" > "2.02 (GCL)" > NIL > HOL-LCF version 2.02 (GCL) created 15/1/19 #.............start address -T 0x94c008 () : void ......................start address -T 0x950660 () : 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.12 CLtL1 Fri Apr 22 15:51:11 UTC 2016 Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl) Binary License: GPL due to GPL'ed components: (XGCL READLINE 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 0x7bd6f0 ;; Finished loading "lisp/f-cl" ;; Loading "lisp/f-system" start address -T 0x7c4168 ;; Finished loading "lisp/f-system" ;; Loading "lisp/f-constants" start address -T 0x667bf0 ;; Finished loading "lisp/f-constants" ;; Loading "lisp/f-site" start address -T 0x667da8 ;; Finished loading "lisp/f-site" ;; Loading "lisp/f-gp" start address -T 0x7cbff8 ;; Finished loading "lisp/f-gp" ;; Loading "lisp/f-parser" start address -T 0x7cfe50 ;; Finished loading "lisp/f-parser" ;; Loading "lisp/f-parsml" start address -T 0x7d6200 ;; Finished loading "lisp/f-parsml" ;; Loading "lisp/f-mlprin" start address -T 0x7df5d8 ;; Finished loading "lisp/f-mlprin" ;; Loading "lisp/f-typeml" start address -T 0x7e36e8 ;; Finished loading "lisp/f-typeml" ;; Loading "lisp/f-dml" start address -T 0x7f0948 ;; Finished loading "lisp/f-dml" ;; Loading "lisp/f-format" start address -T 0x7f6390 ;; Finished loading "lisp/f-format" ;; Loading "lisp/f-tran" start address -T 0x7faad0 ;; Finished loading "lisp/f-tran" ;; Loading "lisp/f-iox-stand" start address -T 0x807910 ;; Finished loading "lisp/f-iox-stand" ;; Loading "lisp/f-writml" start address -T 0x80c2c0 ;; Finished loading "lisp/f-writml" ;; Loading "lisp/f-tml" start address -T 0x8108b8 ;; Finished loading "lisp/f-tml" ;; Loading "lisp/f-lis" start address -T 0x81c110 ;; Finished loading "lisp/f-lis" ;; Loading "lisp/f-ol-rec" start address -T 0x81f410 ;; Finished loading "lisp/f-ol-rec" ;; Loading "lisp/f-help" start address -T 0x8229c0 ;; Finished loading "lisp/f-help" start address -T 0x667590 ;; Finished loading "lisp/mk-ml" 599 >;; Loading "lisp/mk-hol-lcf" ;; Loading "lisp/f-parsol" start address -T 0x8274f8 ;; Finished loading "lisp/f-parsol" ;; Loading "lisp/f-typeol" start address -T 0x82c8f0 ;; Finished loading "lisp/f-typeol" ;; Loading "lisp/f-help" start address -T 0x8318c8 ;; Finished loading "lisp/f-help" ;; Loading "lisp/f-format" start address -T 0x834028 ;; Finished loading "lisp/f-format" ;; Loading "lisp/f-writol" start address -T 0x838768 ;; Finished loading "lisp/f-writol" ;; Loading "lisp/f-thyfns" start address -T 0x83ef38 ;; Finished loading "lisp/f-thyfns" ;; Loading "lisp/f-freadth" Warning: lisp/f-freadth.l is redefining function THY-READ start address -T 0x84c468 ;; Finished loading "lisp/f-freadth" ;; Loading "lisp/f-ol-syntax" start address -T 0x850160 ;; Finished loading "lisp/f-ol-syntax" ;; Loading "lisp/f-subst" start address -T 0x8599b8 ;; Finished loading "lisp/f-subst" ;; Loading "lisp/f-inst" start address -T 0x85fd28 ;; Finished loading "lisp/f-inst" ;; Loading "lisp/f-simpl" start address -T 0x865c30 ;; Finished loading "lisp/f-simpl" ;; Loading "lisp/f-ol-net" start address -T 0x869418 ;; Finished loading "lisp/f-ol-net" start address -T 0x825120 ;; Finished loading "lisp/mk-hol-lcf" 599 > "HOL-LCF" > "" > "2.02 (GCL)" > NIL > HOL-LCF version 2.02 (GCL) created 15/1/19 # 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.12 CLtL1 Fri Apr 22 15:51:11 UTC 2016 Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl) Binary License: GPL due to GPL'ed components: (XGCL READLINE 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 0x7bf6f0 ;; Finished loading "lisp/f-cl" ;; Loading "lisp/f-system" start address -T 0x7c6168 ;; Finished loading "lisp/f-system" ;; Loading "lisp/f-constants" start address -T 0x667d48 ;; Finished loading "lisp/f-constants" ;; Loading "lisp/f-site" start address -T 0x667f00 ;; Finished loading "lisp/f-site" ;; Loading "lisp/f-gp" start address -T 0x7ceea0 ;; Finished loading "lisp/f-gp" ;; Loading "lisp/f-parser" start address -T 0x7d2ba0 ;; Finished loading "lisp/f-parser" ;; Loading "lisp/f-parsml" start address -T 0x7d8df8 ;; Finished loading "lisp/f-parsml" ;; Loading "lisp/f-mlprin" start address -T 0x7e2078 ;; Finished loading "lisp/f-mlprin" ;; Loading "lisp/f-typeml" start address -T 0x7e6030 ;; Finished loading "lisp/f-typeml" ;; Loading "lisp/f-dml" start address -T 0x7f3110 ;; Finished loading "lisp/f-dml" ;; Loading "lisp/f-format" start address -T 0x7f89d8 ;; Finished loading "lisp/f-format" ;; Loading "lisp/f-tran" start address -T 0x7fcf98 ;; Finished loading "lisp/f-tran" ;; Loading "lisp/f-iox-stand" start address -T 0x809c58 ;; Finished loading "lisp/f-iox-stand" ;; Loading "lisp/f-writml" start address -T 0x80e488 ;; Finished loading "lisp/f-writml" ;; Loading "lisp/f-tml" start address -T 0x812a58 ;; Finished loading "lisp/f-tml" ;; Loading "lisp/f-lis" start address -T 0x81e288 ;; Finished loading "lisp/f-lis" ;; Loading "lisp/f-ol-rec" start address -T 0x821560 ;; Finished loading "lisp/f-ol-rec" ;; Loading "lisp/f-help" start address -T 0x824b10 ;; Finished loading "lisp/f-help" start address -T 0x6676e8 ;; Finished loading "lisp/mk-ml" ;; Loading "lisp/mk-hol-lcf" ;; Loading "lisp/f-parsol" start address -T 0x829648 ;; Finished loading "lisp/f-parsol" ;; Loading "lisp/f-typeol" start address -T 0x82ea40 ;; Finished loading "lisp/f-typeol" ;; Loading "lisp/f-help" start address -T 0x833a18 ;; Finished loading "lisp/f-help" ;; Loading "lisp/f-format" start address -T 0x836178 ;; Finished loading "lisp/f-format" ;; Loading "lisp/f-writol" start address -T 0x83a8b8 ;; Finished loading "lisp/f-writol" ;; Loading "lisp/f-thyfns" start address -T 0x841088 ;; Finished loading "lisp/f-thyfns" ;; Loading "lisp/f-freadth" Warning: lisp/f-freadth.l is redefining function THY-READ start address -T 0x84e5b8 ;; Finished loading "lisp/f-freadth" ;; Loading "lisp/f-ol-syntax" start address -T 0x8522b0 ;; Finished loading "lisp/f-ol-syntax" ;; Loading "lisp/f-subst" start address -T 0x85bb08 ;; Finished loading "lisp/f-subst" ;; Loading "lisp/f-inst" start address -T 0x861e78 ;; Finished loading "lisp/f-inst" ;; Loading "lisp/f-simpl" start address -T 0x867d80 ;; Finished loading "lisp/f-simpl" ;; Loading "lisp/f-ol-net" start address -T 0x86b568 ;; Finished loading "lisp/f-ol-net" start address -T 0x827270 ;; Finished loading "lisp/mk-hol-lcf" version 2.02 (GCL) created 15/1/19 #...start address -T 0x86f3f0 () : void .............start address -T 0x94e000 () : void ......................start address -T 0x952658 () : void ..................................start address -T 0x95ac48 () : 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.12 CLtL1 Fri Apr 22 15:51:11 UTC 2016 Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl) Binary License: GPL due to GPL'ed components: (XGCL READLINE 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 0x7bd6f0 ;; Finished loading "lisp/f-cl" 19063 > Compiling lisp/genfns.l. ;;; Including lisp/f-macrostart address -T 0x667af0 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" >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.12 CLtL1 Fri Apr 22 15:51:11 UTC 2016 Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl) Binary License: GPL due to GPL'ed components: (XGCL READLINE 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 0x7bd6f0 ;; Finished loading "lisp/f-cl" 19063 > Compiling lisp/gnt.l. ;;; Including lisp/f-constantsstart address -T 0x7081d8 ;;; Including lisp/f-macrostart address -T 0x7c8168 ;;; Including lisp/f-ol-recstart address -T 0x667df0 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" >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.12 CLtL1 Fri Apr 22 15:51:11 UTC 2016 Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl) Binary License: GPL due to GPL'ed components: (XGCL READLINE 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 0x7bd6f0 ;; Finished loading "lisp/f-cl" 19063 > Compiling lisp/hol-pars.l. ;;; Including lisp/f-constantsstart address -T 0x7081d8 ;;; Including lisp/f-macrostart address -T 0x7c8168 ;;; Including lisp/f-ol-recstart address -T 0x667df0 ;;; Including lisp/genmacsstart address -T 0x7cd988 ; (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" >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.12 CLtL1 Fri Apr 22 15:51:11 UTC 2016 Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl) Binary License: GPL due to GPL'ed components: (XGCL READLINE 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 0x7bd6f0 ;; Finished loading "lisp/f-cl" 19063 > Compiling lisp/parslist.l. ;;; Including lisp/f-constantsstart address -T 0x7081d8 ;;; Including lisp/f-macrostart address -T 0x7c8168 ;;; Including lisp/f-ol-recstart address -T 0x667df0 ;;; Including lisp/genmacsstart address -T 0x7cd988 ; (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" >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.12 CLtL1 Fri Apr 22 15:51:11 UTC 2016 Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl) Binary License: GPL due to GPL'ed components: (XGCL READLINE 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 0x7bd6f0 ;; Finished loading "lisp/f-cl" 19063 > Compiling lisp/parslet.l. ;;; Including lisp/f-constantsstart address -T 0x7081d8 ;;; Including lisp/f-macrostart address -T 0x7c8168 ;;; Including lisp/f-ol-recstart address -T 0x667df0 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" >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.12 CLtL1 Fri Apr 22 15:51:11 UTC 2016 Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl) Binary License: GPL due to GPL'ed components: (XGCL READLINE 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 0x7bd6f0 ;; Finished loading "lisp/f-cl" 19063 > 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" >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.12 CLtL1 Fri Apr 22 15:51:11 UTC 2016 Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl) Binary License: GPL due to GPL'ed components: (XGCL READLINE 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 0x7bd6f0 ;; Finished loading "lisp/f-cl" 19063 > Compiling lisp/hol-writ.l. ;;; Including lisp/f-constantsstart address -T 0x7081d8 ;;; Including lisp/f-macrostart address -T 0x7c8168 ;;; Including lisp/f-ol-recstart address -T 0x667df0 ;;; Including lisp/genmacsstart address -T 0x7cd988 ; (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" >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.12 CLtL1 Fri Apr 22 15:51:11 UTC 2016 Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl) Binary License: GPL due to GPL'ed components: (XGCL READLINE 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 0x7bd6f0 ;; Finished loading "lisp/f-cl" 19063 > Compiling lisp/mk_pp_thm.l. ;;; Including lisp/f-macrostart address -T 0x667af0 ;;; Including lisp/f-ol-recstart address -T 0x7c82c0 ;;; Including lisp/genmacsstart address -T 0x7cb848 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" >cd /<>/theories; rm -f PPLAMB.th;\ /<>/hol-lcf < /<>/theories/mk_PPLAMB.ml;\ cd /<> HOL-LCF version 2.02 (GCL) created 15/1/19 ###########################() : 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 15/1/19 ################################################################################################() : 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 15/1/19 ############################() : 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 15/1/19 ############################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 15/1/19 # 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 15/1/19 #() : 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 15/1/19 #() : 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 15/1/19 #() : 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 15/1/19 #() : 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 15/1/19 #() : 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 15/1/19 #() : 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 15/1/19 #() : 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 15/1/19 #() : 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 15/1/19 #() : 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 15/1/19 #() : 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 15/1/19 #() : 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 15/1/19 #() : 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 15/1/19 #() : 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 15/1/19 #() : 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 15/1/19 #() : 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 15/1/19 #GCL (GNU Common Lisp) 2.6.12 CLtL1 Fri Apr 22 15:51:11 UTC 2016 Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl) Binary License: GPL due to GPL'ed components: (XGCL READLINE 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 15/1/19 #() : 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 15/1/19 ##########################() : 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 15/1/19 ##############################() : 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 15/1/19 #######################################################################() : 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 15/1/19 ###########################() : 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 15/1/19 #############################() : 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 15/1/19 ###########################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 15/1/19 ##################################() : 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 15/1/19 #################################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 15/1/19 ###############################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 15/1/19 #############################() : 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 15/1/19 ############################() : 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 15/1/19 ############################() : 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 15/1/19 ############################################() : 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 15/1/19 ##################################() : 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 15/1/19 #() : 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 15/1/19 #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 15/1/19 #() : 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 15/1/19 # 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 15/1/19 # 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 15/1/19 #() : 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 15/1/19 #() : 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 15/1/19 #() : 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 15/1/19 # 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.12 CLtL1 Fri Apr 22 15:51:11 UTC 2016 Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl) Binary License: GPL due to GPL'ed components: (XGCL READLINE 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 0x7bd6f0 ;; Finished loading "lisp/f-cl" 19063 > 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" >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 15/1/19 #GCL (GNU Common Lisp) 2.6.12 CLtL1 Fri Apr 22 15:51:11 UTC 2016 Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl) Binary License: GPL due to GPL'ed components: (XGCL READLINE 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 15/1/19 #() : 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 Tue Jan 15 11:13:56 UTC 2019 /usr/bin/make library make[2]: Entering directory '/<>' date Tue Jan 15 11:13:56 UTC 2019 (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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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.0s 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.0s 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.0s 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.1s 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.0s Intermediate theorems generated: 1294 PAIRED_EXT = |- !l m. (!x y. l(x,y) = m(x,y)) = (l = m) Run time: 0.0s 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.0s 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.0s 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.0s 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.0s 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.0s 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.0s 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.0s 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.0s 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.0s Intermediate theorems generated: 259 UNION_FL = |- !P l. fl(Union P)x = (?l. P l /\ fl l x) Run time: 0.0s Intermediate theorems generated: 170 UNION_INSEG = |- !P l. (!m. P m ==> m inseg l) ==> (Union P) inseg l Run time: 0.0s 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.0s Intermediate theorems generated: 187 INSEG_WOSET = |- !l m. m inseg l /\ woset l ==> woset m Run time: 0.0s Intermediate theorems generated: 401 LINSEG_INSEG = |- !l a. woset l ==> (linseg l a) inseg l Run time: 0.0s 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.0s 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.0s 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.1s Intermediate theorems generated: 489 ORDINAL_CHAINED = |- !l m. ordinal l /\ ordinal m ==> m inseg l \/ l inseg m Run time: 0.0s 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.1s 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.0s Intermediate theorems generated: 2338 ORDINAL_UNION = |- !P. (!l. P l ==> ordinal l) ==> ordinal(Union P) Run time: 0.0s 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.0s Intermediate theorems generated: 392 WO = |- !P. ?l. woset l /\ (fl l = P) Run time: 0.0s Intermediate theorems generated: 403 HP = |- !l. poset l ==> (?P. chain l P /\ (!Q. chain l Q /\ P subset Q ==> (Q = P))) Run time: 0.1s 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.0s 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.0s Intermediate theorems generated: 1083 () : void Run time: 0.0s Intermediate theorems generated: 1 File mk_wellorder loaded () : void Run time: 1.2s 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 15/1/19 =============================================================================== #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.0s 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.0s 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.0s 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.0s Intermediate theorems generated: 614 Making ../../Library/abs_theory/group_def.th... =============================================================================== HOL88 Version 2.02 (GCL), built on 15/1/19 =============================================================================== #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.0s 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.0s Intermediate theorems generated: 6 GROUP = |- !f. ?! fn. !f0 x f1. fn(group f0 x f1) = f f0 x f1 Run time: 0.0s 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.1s Intermediate theorems generated: 1089 Making ../../Library/abs_theory/example.th... =============================================================================== HOL88 Version 2.02 (GCL), built on 15/1/19 =============================================================================== #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.0s /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.0s Intermediate theorems generated: 153 Theory group_def loaded () : void Run time: 0.0s 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.0s Intermediate theorems generated: 378 |- !f. (!a. (~(a = f) = a) /\ (~(f = a) = a)) ==> ~f Run time: 0.1s Intermediate theorems generated: 733 |- !x y a. (~(a = x) = ~(a = y)) ==> (x = y) Run time: 0.0s Intermediate theorems generated: 732 |- !a. I(I a) = a Run time: 0.0s 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.0s 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.1s Intermediate theorems generated: 2546 () : void Run time: 0.0s Intermediate theorems generated: 1 File ../../Library/abs_theory/example.ml loaded () : void Run time: 0.2s Intermediate theorems generated: 6013 ===> abs_theory rebuilt on Tue Jan 15 11:16:03 UTC 2019 Making abs_theory.ml =============================================================================== HOL88 Version 2.02 (GCL), built on 15/1/19 =============================================================================== #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.1s 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 15/1/19 =============================================================================== #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.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.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.0s 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.0s 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.0s 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.1s 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.0s 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.0s 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.0s 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.0s 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.0s 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.0s 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.0s 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.0s 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.0s 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: 0.2s 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.0s 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.1s 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: 0.6s Intermediate theorems generated: 11032 #\ echo 'set_flag(`abort_when_fail`,true);;'\ 'loadt `hreal.ml`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 15/1/19 =============================================================================== #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.0s autoload_theorems = - : (string -> void) Run time: 0.0s EXPAND_TAC = - : (string -> tactic) Run time: 0.0s File useful loaded () : void Run time: 0.0s () : 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.0s 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.0s 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.0s 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.0s Intermediate theorems generated: 102 CUT_STRADDLE = |- !X x y. cut X x /\ ~cut X y ==> x hrat_lt y Run time: 0.0s 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.0s 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.1s 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.0s 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.0s 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.0s 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.0s Intermediate theorems generated: 537 HREAL_ADD_SYM = |- !X Y. X hreal_add Y = Y hreal_add X Run time: 0.0s 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.0s 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.1s 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.0s Intermediate theorems generated: 935 HREAL_MUL_LID = |- !X. hreal_1 hreal_mul X = X Run time: 0.0s Intermediate theorems generated: 278 HREAL_MUL_LINV = |- !X. (hreal_inv X) hreal_mul X = hreal_1 Run time: 0.0s 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.0s Intermediate theorems generated: 837 HREAL_LT_TOTAL = |- !X Y. (X = Y) \/ X hreal_lt Y \/ Y hreal_lt X Run time: 0.1s 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.0s 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.0s Intermediate theorems generated: 553 () : void Run time: 0.1s Intermediate theorems generated: 1 File hreal.ml loaded () : void Run time: 0.8s Intermediate theorems generated: 10456 #\ echo 'set_flag(`abort_when_fail`,true);;'\ 'loadt `realax.ml`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 15/1/19 =============================================================================== #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.0s () : 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.0s 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.0s 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.0s 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.0s 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.0s 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.1s 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.0s 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.0s 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.0s 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.1s 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.0s 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.0s 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.0s 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.1s Intermediate theorems generated: 1446 TREAL_NEG_WELLDEF = |- !x1 x2. x1 treal_eq x2 ==> (treal_neg x1) treal_eq (treal_neg x2) Run time: 0.0s 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.0s 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.0s 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.0s 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: 0.4s 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.0s 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.0s Intermediate theorems generated: 135 SUP_ALLPOS_LEMMA4 = |- !y. ~r0 real_lt y ==> (!x. y real_lt (real_of_hreal x)) Run time: 0.0s 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.0s 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.0s Intermediate theorems generated: 1 File realax.ml loaded () : void Run time: 1.2s Intermediate theorems generated: 26795 #\ echo 'set_flag(`abort_when_fail`,true);;'\ 'loadt `real.ml`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 15/1/19 =============================================================================== #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.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.0s () : 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.0s 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.1s 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.0s 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.0s 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.0s 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.0s 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.0s 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.0s 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.0s 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.0s Intermediate theorems generated: 79 REAL_LE_NEGTOTAL = |- !x. (& 0) <= x \/ (& 0) <= (-- x) Run time: 0.1s 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.0s 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.0s 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.1s 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.0s 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.0s 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.0s Intermediate theorems generated: 42 REAL_NEG_EQ0 = |- !x. (-- x = & 0) = (x = & 0) Run time: 0.1s 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.0s 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.0s 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.0s 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.1s Intermediate theorems generated: 57 REAL_LT_RMUL = |- !x y z. (& 0) < z ==> ((x * z) < (y * z) = x < y) Run time: 0.0s 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.0s Intermediate theorems generated: 111 REAL_RINV_UNIQ = |- !x y. (x * y = & 1) ==> (y = inv x) Run time: 0.0s 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.0s 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.0s 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.0s 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.1s 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.0s 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.0s 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.0s 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.1s Intermediate theorems generated: 70 REAL_DIV_RMUL = |- !x y. ~(y = & 0) ==> ((x / y) * y = x) Run time: 0.0s 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.0s 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.1s 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.0s 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.0s Intermediate theorems generated: 37 REAL_ADD2_SUB2 = |- !a b c d. (a + b) - (c + d) = (a - c) + (b - d) Run time: 0.1s Intermediate theorems generated: 73 REAL_SUB_LZERO = |- !x. (& 0) - x = -- x Run time: 0.0s 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.0s 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.0s 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.0s 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.0s 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.1s 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.0s Intermediate theorems generated: 345 REAL_LE_LDIV = |- !x y z. (& 0) < x /\ y <= (z * x) ==> (y / x) <= z Run time: 0.0s 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.0s 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.0s 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.1s 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.0s 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.0s 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.0s 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.0s 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.0s 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.1s 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.0s Intermediate theorems generated: 604 ABS_POS = |- !x. (& 0) <= (abs x) Run time: 0.0s 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.0s Intermediate theorems generated: 56 ABS_SUB = |- !x y. abs(x - y) = abs(y - x) Run time: 0.0s Intermediate theorems generated: 31 ABS_NZ = |- !x. ~(x = & 0) = (& 0) < (abs x) Run time: 0.0s 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.0s Intermediate theorems generated: 27 ABS_LE = |- !x. x <= (abs x) Run time: 0.0s Intermediate theorems generated: 75 ABS_REFL = |- !x. (abs x = x) = (& 0) <= x Run time: 0.0s Intermediate theorems generated: 156 ABS_N = |- !n. abs(& n) = & n Run time: 0.1s Intermediate theorems generated: 21 ABS_BETWEEN = |- !x y d. (& 0) < d /\ (x - d) < y /\ y < (x + d) = (abs(y - x)) < d Run time: 0.0s 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.0s 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.1s Intermediate theorems generated: 102 ABS_SIGN = |- !x y. (abs(x - y)) < y ==> (& 0) < x Run time: 0.0s 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.0s Intermediate theorems generated: 41 ABS_CIRCLE = |- !x y h. (abs h) < ((abs y) - (abs x)) ==> (abs(x + h)) < (abs y) Run time: 0.1s Intermediate theorems generated: 61 REAL_SUB_ABS = |- !x y. ((abs x) - (abs y)) <= (abs(x - y)) Run time: 0.0s Intermediate theorems generated: 94 ABS_SUB_ABS = |- !x y. (abs((abs x) - (abs y))) <= (abs(x - y)) Run time: 0.0s 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.0s Intermediate theorems generated: 935 ABS_BOUNDS = |- !x k. (abs x) <= k = (-- k) <= x /\ x <= k Run time: 0.0s Intermediate theorems generated: 250 pow = |- (!x. x pow 0 = & 1) /\ (!x n. x pow (SUC n) = x * (x pow n)) Run time: 0.0s 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.1s Intermediate theorems generated: 108 POW_INV = |- !c. ~(c = & 0) ==> (!n. inv(c pow n) = (inv c) pow n) Run time: 0.0s 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.0s 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.0s 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.0s 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.1s Intermediate theorems generated: 160 POW_M1 = |- !n. abs((--(& 1)) pow n) = & 1 Run time: 0.0s Intermediate theorems generated: 80 POW_MUL = |- !n x y. (x * y) pow n = (x pow n) * (y pow n) Run time: 0.0s 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.0s 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.0s Intermediate theorems generated: 54 POW_POS_LT = |- !x n. (& 0) < x ==> (& 0) < (x pow (SUC n)) Run time: 0.1s 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.0s 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.0s Intermediate theorems generated: 103 POW_MINUS1 = |- !n. (--(& 1)) pow (2 num_mul n) = & 1 Run time: 0.0s 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.0s 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.0s 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.0s 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.0s 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.0s 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.1s Intermediate theorems generated: 15 REAL_ARCH = |- !x. (& 0) < x ==> (!y. ?n. y < ((& n) * x)) Run time: 0.0s 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.0s 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.0s 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.0s 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.0s Intermediate theorems generated: 82 SUM_POS = |- !f. (!n. (& 0) <= (f n)) ==> (!m n. (& 0) <= (Sum(m,n)f)) Run time: 0.1s 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.0s 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.0s 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.0s 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.0s Intermediate theorems generated: 100 SUM_NEG = |- !f n d. Sum(n,d)(\n'. --(f n')) = --(Sum(n,d)f) Run time: 0.0s 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.0s 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.0s 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.1s Intermediate theorems generated: 169 SUM_1 = |- !f n. Sum(n,1)f = f n Run time: 0.0s 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.1s 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.0s Intermediate theorems generated: 117 SUM_0 = |- !m n. Sum(m,n)(\r. & 0) = & 0 Run time: 0.0s 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.1s 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.0s 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.1s 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.0s Intermediate theorems generated: 206 () : void Run time: 0.1s Intermediate theorems generated: 1 File real.ml loaded () : void Run time: 5.1s Intermediate theorems generated: 23746 #\ echo 'set_flag(`abort_when_fail`,true);;'\ 'loadt `topology.ml`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 15/1/19 =============================================================================== #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.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.0s [] : (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.0s 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.0s 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.0s 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.1s 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.0s 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.0s 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.0s 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.0s 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.0s 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.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_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.0s 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.0s 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.1s 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.0s 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.0s 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: 0.5s Intermediate theorems generated: 4132 #\ echo 'set_flag(`abort_when_fail`,true);;'\ 'loadt `nets.ml`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 15/1/19 =============================================================================== #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.0s () : 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.0s 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.0s 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.1s 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.0s 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.0s 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.0s 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.0s 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.0s 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.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_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.0s 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.0s 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.0s 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.0s 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.0s 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.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_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.0s 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.1s 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.0s 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.0s Intermediate theorems generated: 400 () : void Run time: 0.0s Intermediate theorems generated: 1 File nets.ml loaded () : void Run time: 0.7s Intermediate theorems generated: 7389 #\ echo 'set_flag(`abort_when_fail`,true);;'\ 'loadt `seq.ml`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 15/1/19 =============================================================================== #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.0s [(); ()] : 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.0s 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.1s 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.0s 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.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 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.0s 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.0s 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.0s 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.0s 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.0s 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.0s 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.1s 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.0s SEQ_ICONV = |- !f. bounded(mr1,$num_ge)f /\ (!m n. m num_ge n ==> (f m) >= (f n)) ==> convergent f Run time: 0.0s 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.0s 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.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 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.0s Intermediate theorems generated: 1286 SEQ_SBOUNDED = |- !s f. bounded(mr1,$num_ge)s ==> bounded(mr1,$num_ge)(\n. s(f n)) Run time: 0.0s 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.0s 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.0s 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.0s 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.0s 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.0s 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.1s 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.0s 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.1s 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.0s 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.0s 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.0s 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.0s 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.1s 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.0s 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.0s 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.0s 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.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 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.1s 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.0s 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.0s Intermediate theorems generated: 683 () : void Run time: 0.0s Intermediate theorems generated: 1 File seq.ml loaded () : void Run time: 1.5s Intermediate theorems generated: 18704 #\ echo 'set_flag(`abort_when_fail`,true);;'\ 'loadt `lim.ml`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 15/1/19 =============================================================================== #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.0s 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.0s () : 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.0s 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.0s 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.0s 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.1s 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.0s 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.1s 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.0s 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.0s 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.0s 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.0s 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.1s 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.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 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.0s 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.0s 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.0s 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.0s 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.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 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.0s 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.0s 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.0s 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.0s 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.0s 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.0s 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.0s 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.0s 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.1s 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.0s 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.0s 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.0s 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.0s Intermediate theorems generated: 310 DIFF_ISCONST_ALL = |- !f. (!x. (f diffl (& 0))x) ==> (!x y. f x = f y) Run time: 0.1s Intermediate theorems generated: 172 () : void Run time: 0.0s Intermediate theorems generated: 1 File lim.ml loaded () : void Run time: 1.6s Intermediate theorems generated: 21608 #\ echo 'set_flag(`abort_when_fail`,true);;'\ 'loadt `powser.ml`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 15/1/19 =============================================================================== #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.0s 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.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 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.1s 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.0s 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.0s 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.0s 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.0s 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.0s 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.0s 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.0s 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.0s 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.0s 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.1s 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.1s 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.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 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.0s 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.0s 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.1s Intermediate theorems generated: 2494 () : void Run time: 0.0s Intermediate theorems generated: 1 File powser.ml loaded () : void Run time: 0.8s Intermediate theorems generated: 8507 #\ echo 'set_flag(`abort_when_fail`,true);;'\ 'loadt `transc.ml`;;'\ 'quit();;' | /<>/hol =============================================================================== HOL88 Version 2.02 (GCL), built on 15/1/19 =============================================================================== #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.0s false : bool Run time: 0.0s () : void Run time: 0.0s Intermediate theorems generated: 1 Theory POWSER loaded () : void Run time: 0.1s 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.1s 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.0s 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.0s 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.0s 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.0s 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.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 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.0s 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.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 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.0s 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.0s 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.0s 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.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 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.0s 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.0s 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.0s 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.0s 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.1s 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.0s 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.0s 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.0s 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.0s 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.0s 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.0s 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.0s 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.0s 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.0s Intermediate theorems generated: 42 root = |- !n x. root n x = (@u. ((& 0) < x ==> (& 0) < u) /\ (u pow n = x)) Run time: 0.1s 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.0s 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.0s 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.0s 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.0s 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.0s 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.0s 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.1s 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.0s Intermediate theorems generated: 1747 SIN_COS_NEG = |- !x. (((sin(-- x)) + (sin x)) pow 2) + (((cos(-- x)) - (cos x)) pow 2) = & 0 Run time: 0.0s 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.0s 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.1s 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.0s 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.0s 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.1s 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.0s 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.2s 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.0s 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.0s Intermediate theorems generated: 42 PI2_BOUNDS = |- (& 0) < (pi / (& 2)) /\ (pi / (& 2)) < (& 2) Run time: 0.1s 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.1s 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.0s 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.0s 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.0s 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.0s 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.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_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.0s 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.0s 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.0s 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.0s 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.0s 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.0s 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.1s 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.0s 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.1s 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.0s Intermediate theorems generated: 1046 TAN_TOTAL_POS = |- !y. (& 0) <= y ==> (?x. (& 0) <= x /\ x < (pi / (& 2)) /\ (tan x = y)) Run time: 0.0s 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.0s Intermediate theorems generated: 1301 asn = |- !y. asn y = (@x. (--(pi / (& 2))) <= x /\ x <= (pi / (& 2)) /\ (sin x = y)) Run time: 0.1s Intermediate theorems generated: 2 acs = |- !y. acs y = (@x. (& 0) <= x /\ x <= pi /\ (cos x = y)) Run time: 0.0s 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.0s Intermediate theorems generated: 18 ASN_BOUNDS = |- !y. (--(& 1)) <= y /\ y <= (& 1) ==> (--(pi / (& 2))) <= (asn y) /\ (asn y) <= (pi / (& 2)) Run time: 0.0s 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.1s Intermediate theorems generated: 79 ACS_COS = |- !y. (--(& 1)) <= y /\ y <= (& 1) ==> (cos(acs y) = y) Run time: 0.0s Intermediate theorems generated: 18 ACS_BOUNDS = |- !y. (--(& 1)) <= y /\ y <= (& 1) ==> (& 0) <= (acs y) /\ (acs y) <= pi Run time: 0.0s 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.0s 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: 2.6s 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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 15/1/19 =============================================================================== #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 Tue Jan 15 11:23:28 UTC 2019 make[2]: Leaving directory '/<>' date Tue Jan 15 11:23:28 UTC 2019 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.19940316'`;;\nlisp `(ml-save "foo")`;;\n' | ./$i &&\ mv foo $i; done =============================================================================== HOL88 Version 2.02 (GCL), built on 15/1/19 =============================================================================== #HOL installed (`/usr/share/hol88-2.02.19940316`) () : void # HOL-LCF version 2.02 (GCL) created 15/1/19 #HOL installed (`/usr/share/hol88-2.02.19940316`) () : void # BASIC-HOL version 2.02 (GCL) created 15/1/19 #HOL installed (`/usr/share/hol88-2.02.19940316`) () : 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.19940316/%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.19940316/%s\n",$1,a);}' >>debian/hol88-library.install find * -maxdepth 0 -name "*hol*" | awk '{printf("/usr/lib/hol88-2.02.19940316/%s usr/share/hol88-2.02.19940316/%s\n",$1,$1);}' >>debian/hol88.links find Library -name "*.o" | awk '{printf("/usr/lib/hol88-2.02.19940316/%s usr/share/hol88-2.02.19940316/%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.19940316/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_install -a 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_installexamples dh_installman dh_lintian dh_link dh_strip dh_compress dh_fixperms dh_makeshlibs dh_installdeb dh_shlibdeps dh_gencontrol dh_md5sums dh_builddeb INFO: pkgstriptranslations version 143 INFO: pkgstriptranslations version 143 pkgstriptranslations: processing hol88-library (in debian/hol88-library); do_strip: , oemstrip: pkgstriptranslations: processing hol88 (in debian/hol88); do_strip: , oemstrip: pkgmaintainermangler: Maintainer field overridden to "Ubuntu Developers " pkgstripfiles: processing control file: debian/hol88-library/DEBIAN/control, package hol88-library, directory debian/hol88-library INFO: pkgstripfiles: waiting for lock (hol88-library) ... INFO: pkgstripfiles: waiting for lock (hol88-library) ... INFO: pkgstripfiles: waiting for lock (hol88-library) ... INFO: pkgstripfiles: waiting for lock (hol88-library) ... INFO: pkgstripfiles: waiting for lock (hol88-library) ... pkgmaintainermangler: Maintainer field overridden to "Ubuntu Developers " INFO: pkgstripfiles: waiting for lock (hol88-library) ... pkgstripfiles: processing control file: debian/hol88/DEBIAN/control, package hol88, directory debian/hol88 pkgstripfiles: Truncating usr/share/doc/hol88/changelog.Debian.gz to topmost ten records pkgstripfiles: Running PNG optimization (using 4 cpus) for package hol88 ... pkgstripfiles: No PNG files. dpkg-deb: building package 'hol88' in '../hol88_2.02.19940316-35build1_i386.deb'. pkgstripfiles: Truncating usr/share/doc/hol88-library/changelog.Debian.gz to topmost ten records 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.19940316-35build1_i386.deb'. make[1]: Leaving directory '/<>' dpkg-genbuildinfo --build=any dpkg-genchanges --build=any -mLaunchpad Build Daemon >../hol88_2.02.19940316-35build1_i386.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 20190115-1124 Finished -------- I: Built successfully +------------------------------------------------------------------------------+ | Post Build Chroot | +------------------------------------------------------------------------------+ +------------------------------------------------------------------------------+ | Changes | +------------------------------------------------------------------------------+ hol88_2.02.19940316-35build1_i386.changes: ------------------------------------------ Format: 1.8 Date: Tue, 15 Jan 2019 10:25:54 +0000 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: i386 Version: 2.02.19940316-35build1 Distribution: disco-proposed Urgency: medium Maintainer: Launchpad Build Daemon Changed-By: Matthias Klose Description: hol88 - Higher Order Logic, system image hol88-contrib-help - Higher Order Logic, user contributed online help files hol88-contrib-source - Higher Order Logic, user contributed source hol88-doc - Documentation for hol88 hol88-help - Higher Order Logic, online help files hol88-library - Higher Order Logic, binary library modules hol88-library-help - Higher Order Logic, library online help files hol88-library-source - Higher Order Logic, library source files hol88-source - Higher Order Logic, source files Changes: hol88 (2.02.19940316-35build1) disco; urgency=medium . * No-change rebuild for readline soname change. Checksums-Sha1: e01f00fb43b68c28fe90f5ffd8d57925d9a84612 3605008 hol88-library_2.02.19940316-35build1_i386.deb 55a4ab2bdb7ceecd4bf2e14c34eb912f0cb02d51 11559 hol88_2.02.19940316-35build1_i386.buildinfo 7798a0d9eb65fa37801cb1daafa35cc279512f80 5804712 hol88_2.02.19940316-35build1_i386.deb Checksums-Sha256: 8df62b6c313e0a25e82c152460a9f3544f708e38f77431a5b5da1ee4969cd87a 3605008 hol88-library_2.02.19940316-35build1_i386.deb 42e88d8763ad8c2332b285208078033c3e7a4cb167a55fd1796b16f5485b0d59 11559 hol88_2.02.19940316-35build1_i386.buildinfo 7b3e50d65204b706ebe90ab93e3e33502f1020bc22b85e3942ddbe7aae714ade 5804712 hol88_2.02.19940316-35build1_i386.deb Files: 918c436b2f277a3bfa60a01033b1f798 3605008 math optional hol88-library_2.02.19940316-35build1_i386.deb 9a1e2aee532c93bf8ee9dd534dc01d1d 11559 math optional hol88_2.02.19940316-35build1_i386.buildinfo c4f7c8e45c6e331e192ffd37bec6b15d 5804712 math optional hol88_2.02.19940316-35build1_i386.deb +------------------------------------------------------------------------------+ | Package contents | +------------------------------------------------------------------------------+ hol88-library_2.02.19940316-35build1_i386.deb --------------------------------------------- new debian package, version 2.0. size 3605008 bytes: control archive=3792 bytes. 682 bytes, 16 lines control 10676 bytes, 115 lines md5sums Package: hol88-library Source: hol88 Version: 2.02.19940316-35build1 Architecture: i386 Maintainer: Ubuntu Developers Original-Maintainer: Camm Maguire Installed-Size: 21495 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. drwxr-xr-x root/root 0 2019-01-15 10:25 ./ drwxr-xr-x root/root 0 2019-01-15 10:25 ./usr/ drwxr-xr-x root/root 0 2019-01-15 10:25 ./usr/lib/ drwxr-xr-x root/root 0 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/ drwxr-xr-x root/root 0 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/ drwxr-xr-x root/root 0 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/abs_theory/ -rw-r--r-- root/root 312583 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/abs_theory/abs_theory_ml.o drwxr-xr-x root/root 0 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/arith/ -rw-r--r-- root/root 130048 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/arith/arith_cons_ml.o -rw-r--r-- root/root 129955 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/arith/decls_ml.o -rw-r--r-- root/root 71369 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/arith/exists_arith_ml.o -rw-r--r-- root/root 86009 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/arith/gen_arith_ml.o -rw-r--r-- root/root 32625 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/arith/instance_ml.o -rw-r--r-- root/root 45932 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/arith/int_extra_ml.o -rw-r--r-- root/root 208618 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/arith/norm_arith_ml.o -rw-r--r-- root/root 68072 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/arith/norm_bool_ml.o -rw-r--r-- root/root 72200 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/arith/norm_ineqs_ml.o -rw-r--r-- root/root 52964 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/arith/prenex_ml.o -rw-r--r-- root/root 110896 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/arith/qconv_ml.o -rw-r--r-- root/root 95295 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/arith/rationals_ml.o -rw-r--r-- root/root 129395 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/arith/sol_ranges_ml.o -rw-r--r-- root/root 201020 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/arith/solve_ineqs_ml.o -rw-r--r-- root/root 99279 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/arith/solve_ml.o -rw-r--r-- root/root 71149 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/arith/streams_ml.o -rw-r--r-- root/root 28472 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/arith/string_extra_ml.o -rw-r--r-- root/root 63916 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/arith/sub_and_cond_ml.o -rw-r--r-- root/root 266937 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/arith/sup-inf_ml.o -rw-r--r-- root/root 125030 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/arith/term_coeffs_ml.o drwxr-xr-x root/root 0 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/finite_sets/ -rw-r--r-- root/root 225518 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/finite_sets/fset_conv_ml.o -rw-r--r-- root/root 64918 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/finite_sets/set_ind_ml.o drwxr-xr-x root/root 0 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/ind_defs/ -rw-r--r-- root/root 747063 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/ind_defs/ind-defs_ml.o -rw-r--r-- root/root 21893 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/ind_defs/ind_defs_ml.o drwxr-xr-x root/root 0 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/latex-hol/ -rw-r--r-- root/root 69133 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/latex-hol/filters_ml.o -rw-r--r-- root/root 174525 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/latex-hol/formaters_ml.o -rw-r--r-- root/root 82161 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/latex-hol/hol_trees_ml.o -rw-r--r-- root/root 46624 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/latex-hol/latex_sets_pp_ml.o -rw-r--r-- root/root 301305 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/latex-hol/latex_term_pp_ml.o -rw-r--r-- root/root 45942 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/latex-hol/latex_thm_pp_ml.o -rw-r--r-- root/root 77453 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/latex-hol/latex_type_pp_ml.o -rw-r--r-- root/root 51340 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/latex-hol/precedence_ml.o drwxr-xr-x root/root 0 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/more_arithmetic/ -rw-r--r-- root/root 70349 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/more_arithmetic/num_convs_ml.o -rw-r--r-- root/root 81912 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/more_arithmetic/num_tac_ml.o drwxr-xr-x root/root 0 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/numeral/ -rw-r--r-- root/root 2407177 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/numeral/numeral_rules_ml.o drwxr-xr-x root/root 0 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/pair/ -rw-r--r-- root/root 162044 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/pair/all_ml.o -rw-r--r-- root/root 343175 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/pair/basic_ml.o -rw-r--r-- root/root 159148 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/pair/both1_ml.o -rw-r--r-- root/root 252585 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/pair/both2_ml.o -rw-r--r-- root/root 765054 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/pair/conv_ml.o -rw-r--r-- root/root 238597 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/pair/exi_ml.o -rw-r--r-- root/root 39979 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/pair/pair_ml.o -rw-r--r-- root/root 193314 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/pair/syn_ml.o drwxr-xr-x root/root 0 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/parser/ -rw-r--r-- root/root 209359 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/parser/general_ml.o -rw-r--r-- root/root 701286 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/parser/parser_ml.o drwxr-xr-x root/root 0 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/pred_sets/ -rw-r--r-- root/root 261653 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/pred_sets/fset_conv_ml.o -rw-r--r-- root/root 166334 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/pred_sets/gspec_ml.o -rw-r--r-- root/root 68505 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/pred_sets/set_ind_ml.o drwxr-xr-x root/root 0 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/prettyp/ drwxr-xr-x root/root 0 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/prettyp/PP_hol/ -rw-r--r-- root/root 235709 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/prettyp/PP_hol/hol_term_pp_ml.o -rw-r--r-- root/root 45932 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/prettyp/PP_hol/hol_thm_pp_ml.o -rw-r--r-- root/root 82169 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/prettyp/PP_hol/hol_trees_ml.o -rw-r--r-- root/root 77365 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/prettyp/PP_hol/hol_type_pp_ml.o -rw-r--r-- root/root 29190 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/prettyp/PP_hol/link_to_hol_ml.o -rw-r--r-- root/root 80495 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/prettyp/PP_hol/new_printers_ml.o -rw-r--r-- root/root 47076 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/prettyp/PP_hol/precedence_ml.o drwxr-xr-x root/root 0 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/prettyp/PP_parser/ -rw-r--r-- root/root 41521 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/prettyp/PP_parser/PP_to_ML_ml.o -rw-r--r-- root/root 633245 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/prettyp/PP_parser/convert_ml.o -rw-r--r-- root/root 207764 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/prettyp/PP_parser/generate_ml.o -rw-r--r-- root/root 156194 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/prettyp/PP_parser/lex_ml.o -rw-r--r-- root/root 213550 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/prettyp/PP_parser/pp_lang1_pp_ml.o -rw-r--r-- root/root 298902 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/prettyp/PP_parser/pp_lang2_pp_ml.o -rw-r--r-- root/root 669167 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/prettyp/PP_parser/syntax_ml.o drwxr-xr-x root/root 0 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/prettyp/PP_printer/ -rw-r--r-- root/root 221768 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/prettyp/PP_printer/boxes_ml.o -rw-r--r-- root/root 86381 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/prettyp/PP_printer/boxtostring_ml.o -rw-r--r-- root/root 55762 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/prettyp/PP_printer/extents_ml.o -rw-r--r-- root/root 74775 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/prettyp/PP_printer/print_ml.o -rw-r--r-- root/root 29678 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/prettyp/PP_printer/ptree_ml.o -rw-r--r-- root/root 92599 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/prettyp/PP_printer/strings_ml.o -rw-r--r-- root/root 336272 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/prettyp/PP_printer/treematch_ml.o -rw-r--r-- root/root 253903 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/prettyp/PP_printer/treetobox_ml.o -rw-r--r-- root/root 156530 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/prettyp/PP_printer/utils_ml.o drwxr-xr-x root/root 0 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/record_proof/ -rw-r--r-- root/root 31885 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/record_proof/dummy_funs_ml.o -rw-r--r-- root/root 401979 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/record_proof/proof_rec_ml.o drwxr-xr-x root/root 0 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/reduce/ -rw-r--r-- root/root 553204 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/reduce/arithconv_ml.o -rw-r--r-- root/root 206211 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/reduce/boolconv_ml.o -rw-r--r-- root/root 44739 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/reduce/reduce_ml.o drwxr-xr-x root/root 0 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/res_quan/ -rw-r--r-- root/root 167129 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/res_quan/cond_rewr_ml.o -rw-r--r-- root/root 431732 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/res_quan/res_rules_ml.o drwxr-xr-x root/root 0 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/sets/ -rw-r--r-- root/root 260364 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/sets/fset_conv_ml.o -rw-r--r-- root/root 166219 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/sets/gspec_ml.o -rw-r--r-- root/root 68488 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/sets/set_ind_ml.o drwxr-xr-x root/root 0 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/string/ -rw-r--r-- root/root 53865 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/string/ascii_ml.o -rw-r--r-- root/root 48016 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/string/string_ml.o -rw-r--r-- root/root 87107 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/string/string_rules_ml.o -rw-r--r-- root/root 50621 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/string/stringconv_ml.o drwxr-xr-x root/root 0 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/taut/ -rw-r--r-- root/root 356454 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/taut/taut_check_ml.o drwxr-xr-x root/root 0 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/trs/ -rw-r--r-- root/root 16896 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/trs/extents_ml.o -rw-r--r-- root/root 72072 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/trs/extract_ml.o -rw-r--r-- root/root 182256 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/trs/matching_ml.o -rw-r--r-- root/root 77688 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/trs/name_ml.o -rw-r--r-- root/root 89549 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/trs/search_ml.o -rw-r--r-- root/root 32586 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/trs/sets_ml.o -rw-r--r-- root/root 138455 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/trs/sidecond_ml.o -rw-r--r-- root/root 207052 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/trs/struct_ml.o -rw-r--r-- root/root 19626 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/trs/thmkind_ml.o -rw-r--r-- root/root 83100 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/trs/user_ml.o drwxr-xr-x root/root 0 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/unwind/ -rw-r--r-- root/root 442127 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/unwind/unwinding_ml.o drwxr-xr-x root/root 0 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/window/ -rw-r--r-- root/root 235658 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/window/basic_close_ml.o -rw-r--r-- root/root 220888 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/window/eq_close_ml.o -rw-r--r-- root/root 234987 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/window/hol_ext_ml.o -rw-r--r-- root/root 506451 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/window/imp_close_ml.o -rw-r--r-- root/root 342821 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/window/inter_ml.o -rw-r--r-- root/root 29360 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/window/load_code_ml.o -rw-r--r-- root/root 25447 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/window/load_window_ml.o -rw-r--r-- root/root 129657 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/window/ml_ext_ml.o -rw-r--r-- root/root 282759 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/window/tables_ml.o -rw-r--r-- root/root 64080 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/window/tactic_ml.o -rw-r--r-- root/root 61578 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/window/thms_ml.o -rw-r--r-- root/root 441254 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/window/win_ml.o -rw-r--r-- root/root 46866 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/window/window_ml.o -rw-r--r-- root/root 58511 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/window/xlabel_ml.o drwxr-xr-x root/root 0 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/word/ -rw-r--r-- root/root 249449 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/Library/word/word_convs_ml.o drwxr-xr-x root/root 0 2019-01-15 10:25 ./usr/share/ drwxr-xr-x root/root 0 2019-01-15 10:25 ./usr/share/doc/ drwxr-xr-x root/root 0 2019-01-15 10:25 ./usr/share/doc/hol88-library/ -rw-r--r-- root/root 680 2019-01-15 10:25 ./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 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/ drwxr-xr-x root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/ drwxr-xr-x root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/abs_theory/ lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/abs_theory/abs_theory_ml.o -> ../../../../lib/hol88-2.02.19940316/Library/abs_theory/abs_theory_ml.o drwxr-xr-x root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/arith/ lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/arith/arith_cons_ml.o -> ../../../../lib/hol88-2.02.19940316/Library/arith/arith_cons_ml.o lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/arith/decls_ml.o -> ../../../../lib/hol88-2.02.19940316/Library/arith/decls_ml.o lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/arith/exists_arith_ml.o -> ../../../../lib/hol88-2.02.19940316/Library/arith/exists_arith_ml.o lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/arith/gen_arith_ml.o -> ../../../../lib/hol88-2.02.19940316/Library/arith/gen_arith_ml.o lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/arith/instance_ml.o -> ../../../../lib/hol88-2.02.19940316/Library/arith/instance_ml.o lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/arith/int_extra_ml.o -> ../../../../lib/hol88-2.02.19940316/Library/arith/int_extra_ml.o lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/arith/norm_arith_ml.o -> ../../../../lib/hol88-2.02.19940316/Library/arith/norm_arith_ml.o lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/arith/norm_bool_ml.o -> ../../../../lib/hol88-2.02.19940316/Library/arith/norm_bool_ml.o lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/arith/norm_ineqs_ml.o -> ../../../../lib/hol88-2.02.19940316/Library/arith/norm_ineqs_ml.o lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/arith/prenex_ml.o -> ../../../../lib/hol88-2.02.19940316/Library/arith/prenex_ml.o lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/arith/qconv_ml.o -> ../../../../lib/hol88-2.02.19940316/Library/arith/qconv_ml.o lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/arith/rationals_ml.o -> ../../../../lib/hol88-2.02.19940316/Library/arith/rationals_ml.o lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/arith/sol_ranges_ml.o -> ../../../../lib/hol88-2.02.19940316/Library/arith/sol_ranges_ml.o lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/arith/solve_ineqs_ml.o -> ../../../../lib/hol88-2.02.19940316/Library/arith/solve_ineqs_ml.o lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/arith/solve_ml.o -> ../../../../lib/hol88-2.02.19940316/Library/arith/solve_ml.o lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/arith/streams_ml.o -> ../../../../lib/hol88-2.02.19940316/Library/arith/streams_ml.o lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/arith/string_extra_ml.o -> ../../../../lib/hol88-2.02.19940316/Library/arith/string_extra_ml.o lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/arith/sub_and_cond_ml.o -> ../../../../lib/hol88-2.02.19940316/Library/arith/sub_and_cond_ml.o lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/arith/sup-inf_ml.o -> ../../../../lib/hol88-2.02.19940316/Library/arith/sup-inf_ml.o lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/arith/term_coeffs_ml.o -> ../../../../lib/hol88-2.02.19940316/Library/arith/term_coeffs_ml.o drwxr-xr-x root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/finite_sets/ lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/finite_sets/fset_conv_ml.o -> ../../../../lib/hol88-2.02.19940316/Library/finite_sets/fset_conv_ml.o lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/finite_sets/set_ind_ml.o -> ../../../../lib/hol88-2.02.19940316/Library/finite_sets/set_ind_ml.o drwxr-xr-x root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/ind_defs/ lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/ind_defs/ind-defs_ml.o -> ../../../../lib/hol88-2.02.19940316/Library/ind_defs/ind-defs_ml.o lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/ind_defs/ind_defs_ml.o -> ../../../../lib/hol88-2.02.19940316/Library/ind_defs/ind_defs_ml.o drwxr-xr-x root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/latex-hol/ lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/latex-hol/filters_ml.o -> ../../../../lib/hol88-2.02.19940316/Library/latex-hol/filters_ml.o lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/latex-hol/formaters_ml.o -> ../../../../lib/hol88-2.02.19940316/Library/latex-hol/formaters_ml.o lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/latex-hol/hol_trees_ml.o -> ../../../../lib/hol88-2.02.19940316/Library/latex-hol/hol_trees_ml.o lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/latex-hol/latex_sets_pp_ml.o -> ../../../../lib/hol88-2.02.19940316/Library/latex-hol/latex_sets_pp_ml.o lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/latex-hol/latex_term_pp_ml.o -> ../../../../lib/hol88-2.02.19940316/Library/latex-hol/latex_term_pp_ml.o lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/latex-hol/latex_thm_pp_ml.o -> ../../../../lib/hol88-2.02.19940316/Library/latex-hol/latex_thm_pp_ml.o lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/latex-hol/latex_type_pp_ml.o -> ../../../../lib/hol88-2.02.19940316/Library/latex-hol/latex_type_pp_ml.o lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/latex-hol/precedence_ml.o -> ../../../../lib/hol88-2.02.19940316/Library/latex-hol/precedence_ml.o drwxr-xr-x root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/more_arithmetic/ lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/more_arithmetic/num_convs_ml.o -> ../../../../lib/hol88-2.02.19940316/Library/more_arithmetic/num_convs_ml.o lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/more_arithmetic/num_tac_ml.o -> ../../../../lib/hol88-2.02.19940316/Library/more_arithmetic/num_tac_ml.o drwxr-xr-x root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/numeral/ lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/numeral/numeral_rules_ml.o -> ../../../../lib/hol88-2.02.19940316/Library/numeral/numeral_rules_ml.o drwxr-xr-x root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/pair/ lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/pair/all_ml.o -> ../../../../lib/hol88-2.02.19940316/Library/pair/all_ml.o lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/pair/basic_ml.o -> ../../../../lib/hol88-2.02.19940316/Library/pair/basic_ml.o lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/pair/both1_ml.o -> ../../../../lib/hol88-2.02.19940316/Library/pair/both1_ml.o lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/pair/both2_ml.o -> ../../../../lib/hol88-2.02.19940316/Library/pair/both2_ml.o lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/pair/conv_ml.o -> ../../../../lib/hol88-2.02.19940316/Library/pair/conv_ml.o lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/pair/exi_ml.o -> ../../../../lib/hol88-2.02.19940316/Library/pair/exi_ml.o lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/pair/pair_ml.o -> ../../../../lib/hol88-2.02.19940316/Library/pair/pair_ml.o lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/pair/syn_ml.o -> ../../../../lib/hol88-2.02.19940316/Library/pair/syn_ml.o drwxr-xr-x root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/parser/ lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/parser/general_ml.o -> ../../../../lib/hol88-2.02.19940316/Library/parser/general_ml.o lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/parser/parser_ml.o -> ../../../../lib/hol88-2.02.19940316/Library/parser/parser_ml.o drwxr-xr-x root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/pred_sets/ lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/pred_sets/fset_conv_ml.o -> ../../../../lib/hol88-2.02.19940316/Library/pred_sets/fset_conv_ml.o lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/pred_sets/gspec_ml.o -> ../../../../lib/hol88-2.02.19940316/Library/pred_sets/gspec_ml.o lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/pred_sets/set_ind_ml.o -> ../../../../lib/hol88-2.02.19940316/Library/pred_sets/set_ind_ml.o drwxr-xr-x root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/prettyp/ drwxr-xr-x root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/prettyp/PP_hol/ lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/prettyp/PP_hol/hol_term_pp_ml.o -> ../../../../../lib/hol88-2.02.19940316/Library/prettyp/PP_hol/hol_term_pp_ml.o lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/prettyp/PP_hol/hol_thm_pp_ml.o -> ../../../../../lib/hol88-2.02.19940316/Library/prettyp/PP_hol/hol_thm_pp_ml.o lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/prettyp/PP_hol/hol_trees_ml.o -> ../../../../../lib/hol88-2.02.19940316/Library/prettyp/PP_hol/hol_trees_ml.o lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/prettyp/PP_hol/hol_type_pp_ml.o -> ../../../../../lib/hol88-2.02.19940316/Library/prettyp/PP_hol/hol_type_pp_ml.o lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/prettyp/PP_hol/link_to_hol_ml.o -> ../../../../../lib/hol88-2.02.19940316/Library/prettyp/PP_hol/link_to_hol_ml.o lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/prettyp/PP_hol/new_printers_ml.o -> ../../../../../lib/hol88-2.02.19940316/Library/prettyp/PP_hol/new_printers_ml.o lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/prettyp/PP_hol/precedence_ml.o -> ../../../../../lib/hol88-2.02.19940316/Library/prettyp/PP_hol/precedence_ml.o drwxr-xr-x root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/prettyp/PP_parser/ lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/prettyp/PP_parser/PP_to_ML_ml.o -> ../../../../../lib/hol88-2.02.19940316/Library/prettyp/PP_parser/PP_to_ML_ml.o lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/prettyp/PP_parser/convert_ml.o -> ../../../../../lib/hol88-2.02.19940316/Library/prettyp/PP_parser/convert_ml.o lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/prettyp/PP_parser/generate_ml.o -> ../../../../../lib/hol88-2.02.19940316/Library/prettyp/PP_parser/generate_ml.o lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/prettyp/PP_parser/lex_ml.o -> ../../../../../lib/hol88-2.02.19940316/Library/prettyp/PP_parser/lex_ml.o lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/prettyp/PP_parser/pp_lang1_pp_ml.o -> ../../../../../lib/hol88-2.02.19940316/Library/prettyp/PP_parser/pp_lang1_pp_ml.o lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/prettyp/PP_parser/pp_lang2_pp_ml.o -> ../../../../../lib/hol88-2.02.19940316/Library/prettyp/PP_parser/pp_lang2_pp_ml.o lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/prettyp/PP_parser/syntax_ml.o -> ../../../../../lib/hol88-2.02.19940316/Library/prettyp/PP_parser/syntax_ml.o drwxr-xr-x root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/prettyp/PP_printer/ lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/prettyp/PP_printer/boxes_ml.o -> ../../../../../lib/hol88-2.02.19940316/Library/prettyp/PP_printer/boxes_ml.o lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/prettyp/PP_printer/boxtostring_ml.o -> ../../../../../lib/hol88-2.02.19940316/Library/prettyp/PP_printer/boxtostring_ml.o lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/prettyp/PP_printer/extents_ml.o -> ../../../../../lib/hol88-2.02.19940316/Library/prettyp/PP_printer/extents_ml.o lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/prettyp/PP_printer/print_ml.o -> ../../../../../lib/hol88-2.02.19940316/Library/prettyp/PP_printer/print_ml.o lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/prettyp/PP_printer/ptree_ml.o -> ../../../../../lib/hol88-2.02.19940316/Library/prettyp/PP_printer/ptree_ml.o lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/prettyp/PP_printer/strings_ml.o -> ../../../../../lib/hol88-2.02.19940316/Library/prettyp/PP_printer/strings_ml.o lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/prettyp/PP_printer/treematch_ml.o -> ../../../../../lib/hol88-2.02.19940316/Library/prettyp/PP_printer/treematch_ml.o lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/prettyp/PP_printer/treetobox_ml.o -> ../../../../../lib/hol88-2.02.19940316/Library/prettyp/PP_printer/treetobox_ml.o lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/prettyp/PP_printer/utils_ml.o -> ../../../../../lib/hol88-2.02.19940316/Library/prettyp/PP_printer/utils_ml.o drwxr-xr-x root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/record_proof/ lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/record_proof/dummy_funs_ml.o -> ../../../../lib/hol88-2.02.19940316/Library/record_proof/dummy_funs_ml.o lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/record_proof/proof_rec_ml.o -> ../../../../lib/hol88-2.02.19940316/Library/record_proof/proof_rec_ml.o drwxr-xr-x root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/reduce/ lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/reduce/arithconv_ml.o -> ../../../../lib/hol88-2.02.19940316/Library/reduce/arithconv_ml.o lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/reduce/boolconv_ml.o -> ../../../../lib/hol88-2.02.19940316/Library/reduce/boolconv_ml.o lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/reduce/reduce_ml.o -> ../../../../lib/hol88-2.02.19940316/Library/reduce/reduce_ml.o drwxr-xr-x root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/res_quan/ lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/res_quan/cond_rewr_ml.o -> ../../../../lib/hol88-2.02.19940316/Library/res_quan/cond_rewr_ml.o lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/res_quan/res_rules_ml.o -> ../../../../lib/hol88-2.02.19940316/Library/res_quan/res_rules_ml.o drwxr-xr-x root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/sets/ lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/sets/fset_conv_ml.o -> ../../../../lib/hol88-2.02.19940316/Library/sets/fset_conv_ml.o lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/sets/gspec_ml.o -> ../../../../lib/hol88-2.02.19940316/Library/sets/gspec_ml.o lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/sets/set_ind_ml.o -> ../../../../lib/hol88-2.02.19940316/Library/sets/set_ind_ml.o drwxr-xr-x root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/string/ lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/string/ascii_ml.o -> ../../../../lib/hol88-2.02.19940316/Library/string/ascii_ml.o lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/string/string_ml.o -> ../../../../lib/hol88-2.02.19940316/Library/string/string_ml.o lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/string/string_rules_ml.o -> ../../../../lib/hol88-2.02.19940316/Library/string/string_rules_ml.o lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/string/stringconv_ml.o -> ../../../../lib/hol88-2.02.19940316/Library/string/stringconv_ml.o drwxr-xr-x root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/taut/ lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/taut/taut_check_ml.o -> ../../../../lib/hol88-2.02.19940316/Library/taut/taut_check_ml.o drwxr-xr-x root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/trs/ lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/trs/extents_ml.o -> ../../../../lib/hol88-2.02.19940316/Library/trs/extents_ml.o lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/trs/extract_ml.o -> ../../../../lib/hol88-2.02.19940316/Library/trs/extract_ml.o lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/trs/matching_ml.o -> ../../../../lib/hol88-2.02.19940316/Library/trs/matching_ml.o lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/trs/name_ml.o -> ../../../../lib/hol88-2.02.19940316/Library/trs/name_ml.o lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/trs/search_ml.o -> ../../../../lib/hol88-2.02.19940316/Library/trs/search_ml.o lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/trs/sets_ml.o -> ../../../../lib/hol88-2.02.19940316/Library/trs/sets_ml.o lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/trs/sidecond_ml.o -> ../../../../lib/hol88-2.02.19940316/Library/trs/sidecond_ml.o lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/trs/struct_ml.o -> ../../../../lib/hol88-2.02.19940316/Library/trs/struct_ml.o lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/trs/thmkind_ml.o -> ../../../../lib/hol88-2.02.19940316/Library/trs/thmkind_ml.o lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/trs/user_ml.o -> ../../../../lib/hol88-2.02.19940316/Library/trs/user_ml.o drwxr-xr-x root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/unwind/ lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/unwind/unwinding_ml.o -> ../../../../lib/hol88-2.02.19940316/Library/unwind/unwinding_ml.o drwxr-xr-x root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/window/ lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/window/basic_close_ml.o -> ../../../../lib/hol88-2.02.19940316/Library/window/basic_close_ml.o lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/window/eq_close_ml.o -> ../../../../lib/hol88-2.02.19940316/Library/window/eq_close_ml.o lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/window/hol_ext_ml.o -> ../../../../lib/hol88-2.02.19940316/Library/window/hol_ext_ml.o lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/window/imp_close_ml.o -> ../../../../lib/hol88-2.02.19940316/Library/window/imp_close_ml.o lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/window/inter_ml.o -> ../../../../lib/hol88-2.02.19940316/Library/window/inter_ml.o lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/window/load_code_ml.o -> ../../../../lib/hol88-2.02.19940316/Library/window/load_code_ml.o lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/window/load_window_ml.o -> ../../../../lib/hol88-2.02.19940316/Library/window/load_window_ml.o lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/window/ml_ext_ml.o -> ../../../../lib/hol88-2.02.19940316/Library/window/ml_ext_ml.o lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/window/tables_ml.o -> ../../../../lib/hol88-2.02.19940316/Library/window/tables_ml.o lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/window/tactic_ml.o -> ../../../../lib/hol88-2.02.19940316/Library/window/tactic_ml.o lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/window/thms_ml.o -> ../../../../lib/hol88-2.02.19940316/Library/window/thms_ml.o lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/window/win_ml.o -> ../../../../lib/hol88-2.02.19940316/Library/window/win_ml.o lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/window/window_ml.o -> ../../../../lib/hol88-2.02.19940316/Library/window/window_ml.o lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/window/xlabel_ml.o -> ../../../../lib/hol88-2.02.19940316/Library/window/xlabel_ml.o drwxr-xr-x root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/word/ lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/Library/word/word_convs_ml.o -> ../../../../lib/hol88-2.02.19940316/Library/word/word_convs_ml.o hol88_2.02.19940316-35build1_i386.deb ------------------------------------- new debian package, version 2.0. size 5804712 bytes: control archive=996 bytes. 718 bytes, 16 lines control 526 bytes, 8 lines md5sums Package: hol88 Version: 2.02.19940316-35build1 Architecture: i386 Maintainer: Ubuntu Developers Original-Maintainer: Camm Maguire Installed-Size: 43924 Depends: libc6 (>= 2.28), libgmp10, libreadline8 (>= 6.0), 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. drwxr-xr-x root/root 0 2019-01-15 10:25 ./ drwxr-xr-x root/root 0 2019-01-15 10:25 ./usr/ drwxr-xr-x root/root 0 2019-01-15 10:25 ./usr/bin/ -rwxr-xr-x root/root 51 2019-01-15 10:25 ./usr/bin/hol88 drwxr-xr-x root/root 0 2019-01-15 10:25 ./usr/lib/ drwxr-xr-x root/root 0 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/ -rwxr-xr-x root/root 15615532 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/basic-hol -rwxr-xr-x root/root 18466388 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/hol -rwxr-xr-x root/root 10872324 2019-01-15 10:25 ./usr/lib/hol88-2.02.19940316/hol-lcf drwxr-xr-x root/root 0 2019-01-15 10:25 ./usr/share/ drwxr-xr-x root/root 0 2019-01-15 10:25 ./usr/share/doc/ drwxr-xr-x root/root 0 2019-01-15 10:25 ./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 679 2019-01-15 10:25 ./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 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/ lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/basic-hol -> ../../lib/hol88-2.02.19940316/basic-hol lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/hol -> ../../lib/hol88-2.02.19940316/hol lrwxrwxrwx root/root 0 2019-01-15 10:25 ./usr/share/hol88-2.02.19940316/hol-lcf -> ../../lib/hol88-2.02.19940316/hol-lcf drwxr-xr-x root/root 0 2019-01-15 10:25 ./usr/share/man/ drwxr-xr-x root/root 0 2019-01-15 10:25 ./usr/share/man/man1/ -rw-r--r-- root/root 734 2019-01-15 10:25 ./usr/share/man/man1/hol88.1.gz +------------------------------------------------------------------------------+ | Post Build | +------------------------------------------------------------------------------+ +------------------------------------------------------------------------------+ | Cleanup | +------------------------------------------------------------------------------+ Purging /<> Not removing build depends: as requested +------------------------------------------------------------------------------+ | Summary | +------------------------------------------------------------------------------+ Build Architecture: i386 Build-Space: 211260 Build-Time: 929 Distribution: disco-proposed Host Architecture: i386 Install-Time: 123 Job: hol88_2.02.19940316-35build1.dsc Machine Architecture: amd64 Package: hol88 Package-Time: 1057 Source-Version: 2.02.19940316-35build1 Space: 211260 Status: successful Version: 2.02.19940316-35build1 -------------------------------------------------------------------------------- Finished at 20190115-1124 Build needed 00:17:37, 211260k disc space RUN: /usr/share/launchpad-buildd/slavebin/in-target scan-for-processes --backend=chroot --series=disco --arch=i386 PACKAGEBUILD-16281177 Scanning for processes to kill in build PACKAGEBUILD-16281177