Raspbian Package Auto-Building

Build log for hol88 (2.02.19940316-33) on armhf

hol882.02.19940316-33armhf → 2017-05-22 05:28:31

sbuild (Debian sbuild) 0.71.0 (24 Aug 2016) on bm-wb-01

+==============================================================================+
| hol88 2.02.19940316-33 (armhf)               Mon, 22 May 2017 04:22:36 +0000 |
+==============================================================================+

Package: hol88
Version: 2.02.19940316-33
Source Version: 2.02.19940316-33
Distribution: stretch-staging
Machine Architecture: armhf
Host Architecture: armhf
Build Architecture: armhf

I: NOTICE: Log filtering will replace 'var/run/schroot/mount/stretch-staging-armhf-sbuild-4d791a4c-aed0-4fd0-b22f-6057a02d9731' with '<<CHROOT>>'

+------------------------------------------------------------------------------+
| Update chroot                                                                |
+------------------------------------------------------------------------------+

Get:1 http://172.17.0.1/private stretch-staging InRelease [11.3 kB]
Get:2 http://172.17.0.1/private stretch-staging/main Sources [9730 kB]
Get:3 http://172.17.0.1/private stretch-staging/main armhf Packages [11.7 MB]
Fetched 21.4 MB in 24s (887 kB/s)
Reading package lists...

+------------------------------------------------------------------------------+
| Fetch source files                                                           |
+------------------------------------------------------------------------------+


Check APT
---------

Checking available source versions...

Download source files with APT
------------------------------

Reading package lists...
Need to get 10.4 MB of source archives.
Get:1 http://172.17.0.1/private stretch-staging/main hol88 2.02.19940316-33 (dsc) [2275 B]
Get:2 http://172.17.0.1/private stretch-staging/main hol88 2.02.19940316-33 (tar) [10.2 MB]
Get:3 http://172.17.0.1/private stretch-staging/main hol88 2.02.19940316-33 (diff) [131 kB]
Fetched 10.4 MB in 1s (5720 kB/s)
Download complete and in download only mode
I: NOTICE: Log filtering will replace 'build/hol88-bYjxzP/hol88-2.02.19940316' with '<<PKGBUILDDIR>>'
I: NOTICE: Log filtering will replace 'build/hol88-bYjxzP' with '<<BUILDDIR>>'

+------------------------------------------------------------------------------+
| Install build-essential                                                      |
+------------------------------------------------------------------------------+


Setup apt archive
-----------------

Merged Build-Depends: build-essential, fakeroot
Filtered Build-Depends: build-essential, fakeroot
dpkg-deb: building package 'sbuild-build-depends-core-dummy' in '/<<BUILDDIR>>/resolver-8HzcjI/apt_archive/sbuild-build-depends-core-dummy.deb'.
dpkg-scanpackages: warning: Packages in archive but missing from override file:
dpkg-scanpackages: warning:   sbuild-build-depends-core-dummy
dpkg-scanpackages: info: Wrote 1 entries to output Packages file.
gpg: keybox '/<<BUILDDIR>>/resolver-8HzcjI/gpg/pubring.kbx' created
gpg: /<<BUILDDIR>>/resolver-8HzcjI/gpg/trustdb.gpg: trustdb created
gpg: key 35506D9A48F77B2E: public key "Sbuild Signer (Sbuild Build Dependency Archive Key) <buildd-tools-devel@lists.alioth.debian.org>" imported
gpg: Total number processed: 1
gpg:               imported: 1
gpg: key 35506D9A48F77B2E: "Sbuild Signer (Sbuild Build Dependency Archive Key) <buildd-tools-devel@lists.alioth.debian.org>" not changed
gpg: key 35506D9A48F77B2E: secret key imported
gpg: Total number processed: 1
gpg:              unchanged: 1
gpg:       secret keys read: 1
gpg:   secret keys imported: 1
gpg: using "Sbuild Signer" as default secret key for signing
Ign:1 copy:/<<BUILDDIR>>/resolver-8HzcjI/apt_archive ./ InRelease
Get:2 copy:/<<BUILDDIR>>/resolver-8HzcjI/apt_archive ./ Release [957 B]
Get:3 copy:/<<BUILDDIR>>/resolver-8HzcjI/apt_archive ./ Release.gpg [370 B]
Ign:3 copy:/<<BUILDDIR>>/resolver-8HzcjI/apt_archive ./ Release.gpg
Get:4 copy:/<<BUILDDIR>>/resolver-8HzcjI/apt_archive ./ Sources [349 B]
Get:5 copy:/<<BUILDDIR>>/resolver-8HzcjI/apt_archive ./ Packages [433 B]
Fetched 2109 B in 0s (2885 B/s)
Reading package lists...
W: copy:///<<BUILDDIR>>/resolver-8HzcjI/apt_archive/./Release.gpg: The key(s) in the keyring /etc/apt/trusted.gpg.d/sbuild-build-depends-archive.gpg are ignored as the file is not readable by user '_apt' executing apt-key.
W: GPG error: copy:/<<BUILDDIR>>/resolver-8HzcjI/apt_archive ./ Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 35506D9A48F77B2E
Reading package lists...

Install core build dependencies (apt-based resolver)
----------------------------------------------------

Installing build dependencies
Reading package lists...
Building dependency tree...
Reading state information...
The following packages were automatically installed and are no longer required:
  fuse2fs gnupg-l10n libfuse2 manpages
Use 'apt autoremove' to remove them.
The following NEW packages will be installed:
  sbuild-build-depends-core-dummy
0 upgraded, 1 newly installed, 0 to remove and 12 not upgraded.
Need to get 772 B of archives.
After this operation, 0 B of additional disk space will be used.
Get:1 copy:/<<BUILDDIR>>/resolver-8HzcjI/apt_archive ./ sbuild-build-depends-core-dummy 0.invalid.0 [772 B]
debconf: delaying package configuration, since apt-utils is not installed
Fetched 772 B in 0s (0 B/s)
Selecting previously unselected package sbuild-build-depends-core-dummy.
(Reading database ... 13032 files and directories currently installed.)
Preparing to unpack .../sbuild-build-depends-core-dummy_0.invalid.0_armhf.deb ...
Unpacking sbuild-build-depends-core-dummy (0.invalid.0) ...
Setting up sbuild-build-depends-core-dummy (0.invalid.0) ...

+------------------------------------------------------------------------------+
| Check architectures                                                          |
+------------------------------------------------------------------------------+

Arch check ok (armhf included in any all)

+------------------------------------------------------------------------------+
| Install package build dependencies                                           |
+------------------------------------------------------------------------------+


Setup apt archive
-----------------

Merged Build-Depends: debhelper (>= 9), gcl (>= 2.6.12-47), texlive-latex-base, libgmp3-dev, libreadline-dev, libxmu-dev, libxaw7-dev
Filtered Build-Depends: debhelper (>= 9), gcl (>= 2.6.12-47), texlive-latex-base, libgmp3-dev, libreadline-dev, libxmu-dev, libxaw7-dev
dpkg-deb: building package 'sbuild-build-depends-hol88-dummy' in '/<<BUILDDIR>>/resolver-8HzcjI/apt_archive/sbuild-build-depends-hol88-dummy.deb'.
dpkg-scanpackages: warning: Packages in archive but missing from override file:
dpkg-scanpackages: warning:   sbuild-build-depends-core-dummy sbuild-build-depends-hol88-dummy
dpkg-scanpackages: info: Wrote 2 entries to output Packages file.
gpg: using "Sbuild Signer" as default secret key for signing
Ign:1 copy:/<<BUILDDIR>>/resolver-8HzcjI/apt_archive ./ InRelease
Get:2 copy:/<<BUILDDIR>>/resolver-8HzcjI/apt_archive ./ Release [963 B]
Get:3 copy:/<<BUILDDIR>>/resolver-8HzcjI/apt_archive ./ Release.gpg [370 B]
Ign:3 copy:/<<BUILDDIR>>/resolver-8HzcjI/apt_archive ./ Release.gpg
Get:4 copy:/<<BUILDDIR>>/resolver-8HzcjI/apt_archive ./ Sources [535 B]
Get:5 copy:/<<BUILDDIR>>/resolver-8HzcjI/apt_archive ./ Packages [620 B]
Fetched 2488 B in 0s (3521 B/s)
Reading package lists...
W: copy:///<<BUILDDIR>>/resolver-8HzcjI/apt_archive/./Release.gpg: The key(s) in the keyring /etc/apt/trusted.gpg.d/sbuild-build-depends-archive.gpg are ignored as the file is not readable by user '_apt' executing apt-key.
W: GPG error: copy:/<<BUILDDIR>>/resolver-8HzcjI/apt_archive ./ Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 35506D9A48F77B2E
Reading package lists...

Install hol88 build dependencies (apt-based resolver)
-----------------------------------------------------

Installing build dependencies
Reading package lists...
Building dependency tree...
Reading state information...
The following packages were automatically installed and are no longer required:
  fuse2fs gnupg-l10n libfuse2 manpages
Use 'apt autoremove' to remove them.
The following additional packages will be installed:
  adwaita-icon-theme autoconf automake autopoint autotools-dev bsdmainutils
  dconf-gsettings-backend dconf-service debhelper dh-autoreconf
  dh-strip-nondeterminism emacs24 emacs24-bin-common emacs24-common
  emacsen-common file fontconfig fontconfig-config fonts-dejavu-core
  fonts-lmodern gcl gconf-service gconf2-common gettext gettext-base
  glib-networking glib-networking-common glib-networking-services gnutls-bin
  groff-base gsettings-desktop-schemas gtk-update-icon-cache
  hicolor-icon-theme imagemagick-6-common 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 libbsd0
  libcairo-gobject2 libcairo2 libcolord2 libcroco3 libcups2 libcupsimage2
  libdatrie1 libdbus-glib-1-2 libdconf1 libepoxy0 libexpat1 libffi6
  libfftw3-double3 libfile-stripnondeterminism-perl libfontconfig1
  libfreetype6 libfribidi0 libgconf-2-4 libgd3 libgdk-pixbuf2.0-0
  libgdk-pixbuf2.0-common libgif7 libglib2.0-0 libgmp-dev libgmp3-dev
  libgmpxx4ldbl libgnutls-dane0 libgnutls30 libgpm2 libgraphite2-3 libgs9
  libgs9-common libgssapi-krb5-2 libgtk-3-0 libgtk-3-common libharfbuzz-icu0
  libharfbuzz0b libhogweed4 libice-dev libice6 libicu57 libijs-0.35 libjbig0
  libjbig2dec0 libjpeg62-turbo libjson-glib-1.0-0 libjson-glib-1.0-common
  libk5crypto3 libkeyutils1 libkpathsea6 libkrb5-3 libkrb5support0 liblcms2-2
  libldap-2.4-2 libldap-common liblockfile-bin liblockfile1 liblqr-1-0
  libltdl7 libm17n-0 libmagic-mgc libmagic1 libmagickcore-6.q16-3
  libmagickwand-6.q16-3 libnettle6 libnspr4 libnss3 libopenjp2-7 libopts25
  libotf0 libp11-kit0 libpango-1.0-0 libpangocairo-1.0-0 libpangoft2-1.0-0
  libpaper-utils libpaper1 libpipeline1 libpixman-1-0 libpng16-16 libpoppler64
  libpotrace0 libproxy1v5 libptexenc1 libpthread-stubs0-dev libreadline-dev
  libreadline7 librest-0.7-0 librsvg2-2 librsvg2-common libsasl2-2
  libsasl2-modules-db libsigsegv2 libsm-dev libsm6 libsoup-gnome2.4-1
  libsoup2.4-1 libsynctex1 libtasn1-6 libtcl8.6 libtexlua52 libtexluajit2
  libthai-data libthai0 libtiff5 libtimedate-perl libtinfo-dev libtk8.6
  libtool libunbound2 libunistring0 libwebp6 libx11-6 libx11-data libx11-dev
  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 libxml2
  libxmu-dev libxmu-headers libxmu6 libxpm-dev libxpm4 libxrandr2 libxrender1
  libxss1 libxt-dev libxt6 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 ucf x11-common x11proto-core-dev
  x11proto-input-dev x11proto-kb-dev x11proto-xext-dev xdg-utils
  xorg-sgml-doctools xtrans-dev
Suggested packages:
  autoconf-archive gnu-standards autoconf-doc wamerican | wordlist whois
  vacation dh-make emacs24-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 dns-root-data gpm krb5-doc krb5-user gvfs libice-doc
  liblcms2-utils m17n-docs libmagickcore-6.q16-3-extra readline-doc
  librsvg2-bin libsm-doc tcl8.6 tk8.6 libtool-doc gfortran
  | fortran95-compiler gcj-jdk libxaw-doc libxcb-doc libxext-doc libxt-doc
  gawk m4-doc 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 gvfs-bin
Recommended packages:
  emacs24-el curl | wget | lynx-cur at-spi2-core libcupsfilters1
  libglib2.0-data xdg-user-dirs fonts-droid-fallback libgtk-3-bin krb5-locales
  ghostscript gsfonts libsasl2-modules libltdl-dev libx11-doc xml-core
  libmail-sendmail-perl lmodern python ruby wish texlive-latex-base-doc
  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
  dconf-gsettings-backend dconf-service debhelper dh-autoreconf
  dh-strip-nondeterminism emacs24 emacs24-bin-common emacs24-common
  emacsen-common file fontconfig fontconfig-config fonts-dejavu-core
  fonts-lmodern gcl gconf-service gconf2-common gettext gettext-base
  glib-networking glib-networking-common glib-networking-services gnutls-bin
  groff-base gsettings-desktop-schemas gtk-update-icon-cache
  hicolor-icon-theme imagemagick-6-common 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 libbsd0
  libcairo-gobject2 libcairo2 libcolord2 libcroco3 libcups2 libcupsimage2
  libdatrie1 libdbus-glib-1-2 libdconf1 libepoxy0 libexpat1 libffi6
  libfftw3-double3 libfile-stripnondeterminism-perl libfontconfig1
  libfreetype6 libfribidi0 libgconf-2-4 libgd3 libgdk-pixbuf2.0-0
  libgdk-pixbuf2.0-common libgif7 libglib2.0-0 libgmp-dev libgmp3-dev
  libgmpxx4ldbl libgnutls-dane0 libgnutls30 libgpm2 libgraphite2-3 libgs9
  libgs9-common libgssapi-krb5-2 libgtk-3-0 libgtk-3-common libharfbuzz-icu0
  libharfbuzz0b libhogweed4 libice-dev libice6 libicu57 libijs-0.35 libjbig0
  libjbig2dec0 libjpeg62-turbo libjson-glib-1.0-0 libjson-glib-1.0-common
  libk5crypto3 libkeyutils1 libkpathsea6 libkrb5-3 libkrb5support0 liblcms2-2
  libldap-2.4-2 libldap-common liblockfile-bin liblockfile1 liblqr-1-0
  libltdl7 libm17n-0 libmagic-mgc libmagic1 libmagickcore-6.q16-3
  libmagickwand-6.q16-3 libnettle6 libnspr4 libnss3 libopenjp2-7 libopts25
  libotf0 libp11-kit0 libpango-1.0-0 libpangocairo-1.0-0 libpangoft2-1.0-0
  libpaper-utils libpaper1 libpipeline1 libpixman-1-0 libpng16-16 libpoppler64
  libpotrace0 libproxy1v5 libptexenc1 libpthread-stubs0-dev libreadline-dev
  librest-0.7-0 librsvg2-2 librsvg2-common libsasl2-2 libsasl2-modules-db
  libsigsegv2 libsm-dev libsm6 libsoup-gnome2.4-1 libsoup2.4-1 libsynctex1
  libtasn1-6 libtcl8.6 libtexlua52 libtexluajit2 libthai-data libthai0
  libtiff5 libtimedate-perl libtinfo-dev libtk8.6 libtool libunbound2
  libunistring0 libwebp6 libx11-6 libx11-data libx11-dev 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 libxml2 libxmu-dev
  libxmu-headers libxmu6 libxpm-dev libxpm4 libxrandr2 libxrender1 libxss1
  libxt-dev libxt6 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 ucf x11-common
  x11proto-core-dev x11proto-input-dev x11proto-kb-dev x11proto-xext-dev
  xdg-utils xorg-sgml-doctools xtrans-dev
The following packages will be upgraded:
  libreadline7
1 upgraded, 211 newly installed, 0 to remove and 11 not upgraded.
Need to get 149 MB/149 MB of archives.
After this operation, 586 MB of additional disk space will be used.
Get:1 copy:/<<BUILDDIR>>/resolver-8HzcjI/apt_archive ./ sbuild-build-depends-hol88-dummy 0.invalid.0 [828 B]
Get:2 http://172.17.0.1/private stretch-staging/main armhf groff-base armhf 1.22.3-9 [1005 kB]
Get:3 http://172.17.0.1/private stretch-staging/main armhf libbsd0 armhf 0.8.3-1 [89.0 kB]
Get:4 http://172.17.0.1/private stretch-staging/main armhf bsdmainutils armhf 9.0.12+nmu1 [178 kB]
Get:5 http://172.17.0.1/private stretch-staging/main armhf libpipeline1 armhf 1.4.1-2 [23.7 kB]
Get:6 http://172.17.0.1/private stretch-staging/main armhf man-db armhf 2.7.6.1-2 [1014 kB]
Get:7 http://172.17.0.1/private stretch-staging/main armhf liblockfile-bin armhf 1.14-1 [18.0 kB]
Get:8 http://172.17.0.1/private stretch-staging/main armhf liblockfile1 armhf 1.14-1 [14.5 kB]
Get:9 http://172.17.0.1/private stretch-staging/main armhf libexpat1 armhf 2.2.0-2 [62.2 kB]
Get:10 http://172.17.0.1/private stretch-staging/main armhf libpng16-16 armhf 1.6.28-1 [263 kB]
Get:11 http://172.17.0.1/private stretch-staging/main armhf libfreetype6 armhf 2.6.3-3.2 [384 kB]
Get:12 http://172.17.0.1/private stretch-staging/main armhf ucf all 3.0036 [70.2 kB]
Get:13 http://172.17.0.1/private stretch-staging/main armhf fonts-dejavu-core all 2.37-1 [1068 kB]
Get:14 http://172.17.0.1/private stretch-staging/main armhf fontconfig-config all 2.11.0-6.7 [271 kB]
Get:15 http://172.17.0.1/private stretch-staging/main armhf libfontconfig1 armhf 2.11.0-6.7 [313 kB]
Get:16 http://172.17.0.1/private stretch-staging/main armhf fontconfig armhf 2.11.0-6.7 [402 kB]
Get:17 http://172.17.0.1/private stretch-staging/main armhf libjbig0 armhf 2.1-3.1 [27.5 kB]
Get:18 http://172.17.0.1/private stretch-staging/main armhf libglib2.0-0 armhf 2.50.3-2 [2527 kB]
Get:19 http://172.17.0.1/private stretch-staging/main armhf liblqr-1-0 armhf 0.4.2-2 [20.9 kB]
Get:20 http://172.17.0.1/private stretch-staging/main armhf libfftw3-double3 armhf 3.3.5-3 [436 kB]
Get:21 http://172.17.0.1/private stretch-staging/main armhf libjpeg62-turbo armhf 1:1.5.1-2 [109 kB]
Get:22 http://172.17.0.1/private stretch-staging/main armhf liblcms2-2 armhf 2.8-4 [118 kB]
Get:23 http://172.17.0.1/private stretch-staging/main armhf libltdl7 armhf 2.4.6-2 [386 kB]
Get:24 http://172.17.0.1/private stretch-staging/main armhf libopenjp2-7 armhf 2.1.2-1.1 [108 kB]
Get:25 http://172.17.0.1/private stretch-staging/main armhf libtiff5 armhf 4.0.7-6 [213 kB]
Get:26 http://172.17.0.1/private stretch-staging/main armhf libxau6 armhf 1:1.0.8-1 [19.9 kB]
Get:27 http://172.17.0.1/private stretch-staging/main armhf libxdmcp6 armhf 1:1.1.2-3 [25.0 kB]
Get:28 http://172.17.0.1/private stretch-staging/main armhf libxcb1 armhf 1.12-1 [129 kB]
Get:29 http://172.17.0.1/private stretch-staging/main armhf libx11-data all 2:1.6.4-3 [290 kB]
Get:30 http://172.17.0.1/private stretch-staging/main armhf libx11-6 armhf 2:1.6.4-3 [683 kB]
Get:31 http://172.17.0.1/private stretch-staging/main armhf libxext6 armhf 2:1.3.3-1 [48.1 kB]
Get:32 http://172.17.0.1/private stretch-staging/main armhf libicu57 armhf 57.1-5 [7427 kB]
Get:33 http://172.17.0.1/private stretch-staging/main armhf libxml2 armhf 2.9.4+dfsg1-2.2 [806 kB]
Get:34 http://172.17.0.1/private stretch-staging/main armhf imagemagick-6-common all 8:6.9.7.4+dfsg-8 [182 kB]
Get:35 http://172.17.0.1/private stretch-staging/main armhf libmagickcore-6.q16-3 armhf 8:6.9.7.4+dfsg-8 [1566 kB]
Get:36 http://172.17.0.1/private stretch-staging/main armhf libmagickwand-6.q16-3 armhf 8:6.9.7.4+dfsg-8 [401 kB]
Get:37 http://172.17.0.1/private stretch-staging/main armhf libxrender1 armhf 1:0.9.10-1 [29.9 kB]
Get:38 http://172.17.0.1/private stretch-staging/main armhf libxft2 armhf 2.3.2-1 [48.3 kB]
Get:39 http://172.17.0.1/private stretch-staging/main armhf x11-common all 1:7.7+19 [251 kB]
Get:40 http://172.17.0.1/private stretch-staging/main armhf libxss1 armhf 1:1.2.2-1 [16.8 kB]
Get:41 http://172.17.0.1/private stretch-staging/main armhf libzzip-0-13 armhf 0.13.62-3 [51.3 kB]
Get:42 http://172.17.0.1/private stretch-staging/main armhf poppler-data all 0.4.7-8 [1451 kB]
Get:43 http://172.17.0.1/private stretch-staging/main armhf libreadline7 armhf 7.0-3 [131 kB]
Get:44 http://172.17.0.1/private stretch-staging/main armhf libmagic-mgc armhf 1:5.30-1 [222 kB]
Get:45 http://172.17.0.1/private stretch-staging/main armhf libmagic1 armhf 1:5.30-1 [105 kB]
Get:46 http://172.17.0.1/private stretch-staging/main armhf file armhf 1:5.30-1 [63.4 kB]
Get:47 http://172.17.0.1/private stretch-staging/main armhf gettext-base armhf 0.19.8.1-2 [116 kB]
Get:48 http://172.17.0.1/private stretch-staging/main armhf libp11-kit0 armhf 0.23.3-2 [94.4 kB]
Get:49 http://172.17.0.1/private stretch-staging/main armhf libtasn1-6 armhf 4.10-1 [45.3 kB]
Get:50 http://172.17.0.1/private stretch-staging/main armhf libgnutls30 armhf 3.5.8-5 [824 kB]
Get:51 http://172.17.0.1/private stretch-staging/main armhf libgpm2 armhf 1.20.4-6.2 [33.0 kB]
Get:52 http://172.17.0.1/private stretch-staging/main armhf libkeyutils1 armhf 1.5.9-9 [11.9 kB]
Get:53 http://172.17.0.1/private stretch-staging/main armhf libkrb5support0 armhf 1.15-1 [57.9 kB]
Get:54 http://172.17.0.1/private stretch-staging/main armhf libk5crypto3 armhf 1.15-1 [115 kB]
Get:55 http://172.17.0.1/private stretch-staging/main armhf libkrb5-3 armhf 1.15-1 [262 kB]
Get:56 http://172.17.0.1/private stretch-staging/main armhf libgssapi-krb5-2 armhf 1.15-1 [132 kB]
Get:57 http://172.17.0.1/private stretch-staging/main armhf libsasl2-modules-db armhf 2.1.27~101-g0780600+dfsg-3 [66.9 kB]
Get:58 http://172.17.0.1/private stretch-staging/main armhf libsasl2-2 armhf 2.1.27~101-g0780600+dfsg-3 [98.1 kB]
Get:59 http://172.17.0.1/private stretch-staging/main armhf libldap-common all 2.4.44+dfsg-4 [84.8 kB]
Get:60 http://172.17.0.1/private stretch-staging/main armhf libldap-2.4-2 armhf 2.4.44+dfsg-4 [194 kB]
Get:61 http://172.17.0.1/private stretch-staging/main armhf hicolor-icon-theme all 0.15-1 [9550 B]
Get:62 http://172.17.0.1/private stretch-staging/main armhf shared-mime-info armhf 1.8-1 [727 kB]
Get:63 http://172.17.0.1/private stretch-staging/main armhf libgdk-pixbuf2.0-common all 2.36.5-2 [310 kB]
Get:64 http://172.17.0.1/private stretch-staging/main armhf libgdk-pixbuf2.0-0 armhf 2.36.5-2 [152 kB]
Get:65 http://172.17.0.1/private stretch-staging/main armhf gtk-update-icon-cache armhf 3.22.11-1+rpi1 [75.7 kB]
Get:66 http://172.17.0.1/private stretch-staging/main armhf libpixman-1-0 armhf 0.34.0-1 [451 kB]
Get:67 http://172.17.0.1/private stretch-staging/main armhf libxcb-render0 armhf 1.12-1 [104 kB]
Get:68 http://172.17.0.1/private stretch-staging/main armhf libxcb-shm0 armhf 1.12-1 [95.9 kB]
Get:69 http://172.17.0.1/private stretch-staging/main armhf libcairo2 armhf 1.14.8-1 [688 kB]
Get:70 http://172.17.0.1/private stretch-staging/main armhf libcroco3 armhf 0.6.11-3 [131 kB]
Get:71 http://172.17.0.1/private stretch-staging/main armhf libthai-data all 0.1.26-1 [166 kB]
Get:72 http://172.17.0.1/private stretch-staging/main armhf libdatrie1 armhf 0.2.10-4 [32.8 kB]
Get:73 http://172.17.0.1/private stretch-staging/main armhf libthai0 armhf 0.1.26-1 [49.3 kB]
Get:74 http://172.17.0.1/private stretch-staging/main armhf libpango-1.0-0 armhf 1.40.5-1 [305 kB]
Get:75 http://172.17.0.1/private stretch-staging/main armhf libgraphite2-3 armhf 1.3.10-1 [71.7 kB]
Get:76 http://172.17.0.1/private stretch-staging/main armhf libharfbuzz0b armhf 1.4.2-1 [640 kB]
Get:77 http://172.17.0.1/private stretch-staging/main armhf libpangoft2-1.0-0 armhf 1.40.5-1 [201 kB]
Get:78 http://172.17.0.1/private stretch-staging/main armhf libpangocairo-1.0-0 armhf 1.40.5-1 [190 kB]
Get:79 http://172.17.0.1/private stretch-staging/main armhf librsvg2-2 armhf 2.40.16-1 [266 kB]
Get:80 http://172.17.0.1/private stretch-staging/main armhf librsvg2-common armhf 2.40.16-1 [193 kB]
Get:81 http://172.17.0.1/private stretch-staging/main armhf adwaita-icon-theme all 3.22.0-1 [11.5 MB]
Get:82 http://172.17.0.1/private stretch-staging/main armhf libsigsegv2 armhf 2.10-5 [28.4 kB]
Get:83 http://172.17.0.1/private stretch-staging/main armhf m4 armhf 1.4.18-1 [185 kB]
Get:84 http://172.17.0.1/private stretch-staging/main armhf autoconf all 2.69-10 [338 kB]
Get:85 http://172.17.0.1/private stretch-staging/main armhf autotools-dev all 20161112.1 [73.4 kB]
Get:86 http://172.17.0.1/private stretch-staging/main armhf automake all 1:1.15-6 [733 kB]
Get:87 http://172.17.0.1/private stretch-staging/main armhf autopoint all 0.19.8.1-2 [433 kB]
Get:88 http://172.17.0.1/private stretch-staging/main armhf libdconf1 armhf 0.26.0-2 [33.3 kB]
Get:89 http://172.17.0.1/private stretch-staging/main armhf dconf-service armhf 0.26.0-2 [30.1 kB]
Get:90 http://172.17.0.1/private stretch-staging/main armhf dconf-gsettings-backend armhf 0.26.0-2 [22.5 kB]
Get:91 http://172.17.0.1/private stretch-staging/main armhf libtool all 2.4.6-2 [545 kB]
Get:92 http://172.17.0.1/private stretch-staging/main armhf dh-autoreconf all 14 [15.9 kB]
Get:93 http://172.17.0.1/private stretch-staging/main armhf libarchive-zip-perl all 1.59-1 [95.5 kB]
Get:94 http://172.17.0.1/private stretch-staging/main armhf libfile-stripnondeterminism-perl all 0.033-2 [16.2 kB]
Get:95 http://172.17.0.1/private stretch-staging/main armhf libtimedate-perl all 2.3000-2 [42.2 kB]
Get:96 http://172.17.0.1/private stretch-staging/main armhf dh-strip-nondeterminism all 0.033-2 [10.3 kB]
Get:97 http://172.17.0.1/private stretch-staging/main armhf libunistring0 armhf 0.9.6+really0.9.3-0.1 [252 kB]
Get:98 http://172.17.0.1/private stretch-staging/main armhf gettext armhf 0.19.8.1-2 [1434 kB]
Get:99 http://172.17.0.1/private stretch-staging/main armhf intltool-debian all 0.35.0+20060710.4 [26.3 kB]
Get:100 http://172.17.0.1/private stretch-staging/main armhf po-debconf all 1.0.20 [247 kB]
Get:101 http://172.17.0.1/private stretch-staging/main armhf debhelper all 10.2.5 [961 kB]
Get:102 http://172.17.0.1/private stretch-staging/main armhf emacsen-common all 2.0.8 [21.2 kB]
Get:103 http://172.17.0.1/private stretch-staging/main armhf emacs24-common all 24.5+1-11 [13.0 MB]
Get:104 http://172.17.0.1/private stretch-staging/main armhf libunbound2 armhf 1.6.0-3 [326 kB]
Get:105 http://172.17.0.1/private stretch-staging/main armhf libgnutls-dane0 armhf 3.5.8-5 [182 kB]
Get:106 http://172.17.0.1/private stretch-staging/main armhf libopts25 armhf 1:5.18.12-3 [61.4 kB]
Get:107 http://172.17.0.1/private stretch-staging/main armhf gnutls-bin armhf 3.5.8-5 [371 kB]
Get:108 http://172.17.0.1/private stretch-staging/main armhf emacs24-bin-common armhf 24.5+1-11 [240 kB]
Get:109 http://172.17.0.1/private stretch-staging/main armhf libdbus-glib-1-2 armhf 0.108-2 [196 kB]
Get:110 http://172.17.0.1/private stretch-staging/main armhf gconf2-common all 3.2.6-4 [1040 kB]
Get:111 http://172.17.0.1/private stretch-staging/main armhf libgconf-2-4 armhf 3.2.6-4 [415 kB]
Get:112 http://172.17.0.1/private stretch-staging/main armhf gconf-service armhf 3.2.6-4 [406 kB]
Get:113 http://172.17.0.1/private stretch-staging/main armhf libasound2-data all 1.1.3-5 [173 kB]
Get:114 http://172.17.0.1/private stretch-staging/main armhf libasound2 armhf 1.1.3-5 [442 kB]
Get:115 http://172.17.0.1/private stretch-staging/main armhf libatk1.0-data all 2.22.0-1 [172 kB]
Get:116 http://172.17.0.1/private stretch-staging/main armhf libatk1.0-0 armhf 2.22.0-1 [70.4 kB]
Get:117 http://172.17.0.1/private stretch-staging/main armhf libcairo-gobject2 armhf 1.14.8-1 [335 kB]
Get:118 http://172.17.0.1/private stretch-staging/main armhf libgif7 armhf 5.1.4-0.4 [40.8 kB]
Get:119 http://172.17.0.1/private stretch-staging/main armhf libgtk-3-common all 3.22.11-1+rpi1 [3417 kB]
Get:120 http://172.17.0.1/private stretch-staging/main armhf libatspi2.0-0 armhf 2.22.0-6 [52.0 kB]
Get:121 http://172.17.0.1/private stretch-staging/main armhf libatk-bridge2.0-0 armhf 2.22.0-2 [47.1 kB]
Get:122 http://172.17.0.1/private stretch-staging/main armhf libcolord2 armhf 1.3.3-2 [240 kB]
Get:123 http://172.17.0.1/private stretch-staging/main armhf libavahi-common-data armhf 0.6.32-2 [118 kB]
Get:124 http://172.17.0.1/private stretch-staging/main armhf libavahi-common3 armhf 0.6.32-2 [48.6 kB]
Get:125 http://172.17.0.1/private stretch-staging/main armhf libavahi-client3 armhf 0.6.32-2 [51.3 kB]
Get:126 http://172.17.0.1/private stretch-staging/main armhf libcups2 armhf 2.2.1-8 [272 kB]
Get:127 http://172.17.0.1/private stretch-staging/main armhf libepoxy0 armhf 1.3.1-2 [157 kB]
Get:128 http://172.17.0.1/private stretch-staging/main armhf libjson-glib-1.0-common all 1.2.6-1 [166 kB]
Get:129 http://172.17.0.1/private stretch-staging/main armhf libjson-glib-1.0-0 armhf 1.2.6-1 [170 kB]
Get:130 http://172.17.0.1/private stretch-staging/main armhf libproxy1v5 armhf 0.4.14-2 [50.2 kB]
Get:131 http://172.17.0.1/private stretch-staging/main armhf glib-networking-common all 2.50.0-1 [49.1 kB]
Get:132 http://172.17.0.1/private stretch-staging/main armhf glib-networking-services armhf 2.50.0-1 [11.6 kB]
Get:133 http://172.17.0.1/private stretch-staging/main armhf gsettings-desktop-schemas all 3.22.0-1 [473 kB]
Get:134 http://172.17.0.1/private stretch-staging/main armhf glib-networking armhf 2.50.0-1 [48.2 kB]
Get:135 http://172.17.0.1/private stretch-staging/main armhf libsoup2.4-1 armhf 2.56.0-2 [248 kB]
Get:136 http://172.17.0.1/private stretch-staging/main armhf libsoup-gnome2.4-1 armhf 2.56.0-2 [16.0 kB]
Get:137 http://172.17.0.1/private stretch-staging/main armhf librest-0.7-0 armhf 0.8.0-2 [27.8 kB]
Get:138 http://172.17.0.1/private stretch-staging/main armhf libxcomposite1 armhf 1:0.4.4-2 [16.1 kB]
Get:139 http://172.17.0.1/private stretch-staging/main armhf libxfixes3 armhf 1:5.0.3-1 [20.6 kB]
Get:140 http://172.17.0.1/private stretch-staging/main armhf libxcursor1 armhf 1:1.1.14-1+b1 [31.9 kB]
Get:141 http://172.17.0.1/private stretch-staging/main armhf libxdamage1 armhf 1:1.1.4-2+b1 [14.1 kB]
Get:142 http://172.17.0.1/private stretch-staging/main armhf libxi6 armhf 2:1.7.9-1 [77.8 kB]
Get:143 http://172.17.0.1/private stretch-staging/main armhf libxinerama1 armhf 2:1.1.3-1+b1 [16.4 kB]
Get:144 http://172.17.0.1/private stretch-staging/main armhf libxrandr2 armhf 2:1.5.1-1 [34.5 kB]
Get:145 http://172.17.0.1/private stretch-staging/main armhf libgtk-3-0 armhf 3.22.11-1+rpi1 [2071 kB]
Get:146 http://172.17.0.1/private stretch-staging/main armhf libice6 armhf 2:1.0.9-2 [51.6 kB]
Get:147 http://172.17.0.1/private stretch-staging/main armhf libfribidi0 armhf 0.19.7-1 [44.2 kB]
Get:148 http://172.17.0.1/private stretch-staging/main armhf libwebp6 armhf 0.5.2-1 [202 kB]
Get:149 http://172.17.0.1/private stretch-staging/main armhf libxpm4 armhf 1:3.5.12-1 [43.6 kB]
Get:150 http://172.17.0.1/private stretch-staging/main armhf libgd3 armhf 2.2.4-2 [113 kB]
Get:151 http://172.17.0.1/private stretch-staging/main armhf libotf0 armhf 0.9.13-3 [46.7 kB]
Get:152 http://172.17.0.1/private stretch-staging/main armhf libsm6 armhf 2:1.2.2-1+b1 [31.2 kB]
Get:153 http://172.17.0.1/private stretch-staging/main armhf libxt6 armhf 1:1.1.5-1 [155 kB]
Get:154 http://172.17.0.1/private stretch-staging/main armhf m17n-db all 1.7.0-2 [1290 kB]
Get:155 http://172.17.0.1/private stretch-staging/main armhf libm17n-0 armhf 1.7.0-3 [208 kB]
Get:156 http://172.17.0.1/private stretch-staging/main armhf emacs24 armhf 24.5+1-11 [3099 kB]
Get:157 http://172.17.0.1/private stretch-staging/main armhf fonts-lmodern all 2.004.5-3 [4540 kB]
Get:158 http://172.17.0.1/private stretch-staging/main armhf libtcl8.6 armhf 8.6.6+dfsg-1 [861 kB]
Get:159 http://172.17.0.1/private stretch-staging/main armhf libtk8.6 armhf 8.6.6-1 [659 kB]
Get:160 http://172.17.0.1/private stretch-staging/main armhf gcl armhf 2.6.12-47 [27.7 MB]
Get:161 http://172.17.0.1/private stretch-staging/main armhf libcupsimage2 armhf 2.2.1-8 [119 kB]
Get:162 http://172.17.0.1/private stretch-staging/main armhf libgmpxx4ldbl armhf 2:6.1.2+dfsg-1 [21.5 kB]
Get:163 http://172.17.0.1/private stretch-staging/main armhf libgmp-dev armhf 2:6.1.2+dfsg-1 [563 kB]
Get:164 http://172.17.0.1/private stretch-staging/main armhf libgmp3-dev armhf 2:6.1.2+dfsg-1 [15.2 kB]
Get:165 http://172.17.0.1/private stretch-staging/main armhf libijs-0.35 armhf 0.35-12 [16.0 kB]
Get:166 http://172.17.0.1/private stretch-staging/main armhf libjbig2dec0 armhf 0.13-4.1 [52.6 kB]
Get:167 http://172.17.0.1/private stretch-staging/main armhf libpaper1 armhf 1.1.24+nmu5 [20.8 kB]
Get:168 http://172.17.0.1/private stretch-staging/main armhf libgs9-common all 9.20~dfsg-3.1 [5160 kB]
Get:169 http://172.17.0.1/private stretch-staging/main armhf libgs9 armhf 9.20~dfsg-3.1 [1734 kB]
Get:170 http://172.17.0.1/private stretch-staging/main armhf libharfbuzz-icu0 armhf 1.4.2-1 [465 kB]
Get:171 http://172.17.0.1/private stretch-staging/main armhf xorg-sgml-doctools all 1:1.11-1 [21.9 kB]
Get:172 http://172.17.0.1/private stretch-staging/main armhf x11proto-core-dev all 7.0.31-1 [728 kB]
Get:173 http://172.17.0.1/private stretch-staging/main armhf libice-dev armhf 2:1.0.9-2 [58.8 kB]
Get:174 http://172.17.0.1/private stretch-staging/main armhf libkpathsea6 armhf 2016.20160513.41080.dfsg-2 [150 kB]
Get:175 http://172.17.0.1/private stretch-staging/main armhf libnspr4 armhf 2:4.12-6 [94.8 kB]
Get:176 http://172.17.0.1/private stretch-staging/main armhf libnss3 armhf 2:3.26.2-1 [944 kB]
Get:177 http://172.17.0.1/private stretch-staging/main armhf libpaper-utils armhf 1.1.24+nmu5 [17.2 kB]
Get:178 http://172.17.0.1/private stretch-staging/main armhf libpoppler64 armhf 0.48.0-2 [1163 kB]
Get:179 http://172.17.0.1/private stretch-staging/main armhf libpotrace0 armhf 1.13-3 [22.5 kB]
Get:180 http://172.17.0.1/private stretch-staging/main armhf libptexenc1 armhf 2016.20160513.41080.dfsg-2 [55.6 kB]
Get:181 http://172.17.0.1/private stretch-staging/main armhf libpthread-stubs0-dev armhf 0.3-4 [4042 B]
Get:182 http://172.17.0.1/private stretch-staging/main armhf libtinfo-dev armhf 6.0+20161126-1 [65.3 kB]
Get:183 http://172.17.0.1/private stretch-staging/main armhf libreadline-dev armhf 7.0-3 [109 kB]
Get:184 http://172.17.0.1/private stretch-staging/main armhf libsm-dev armhf 2:1.2.2-1+b1 [33.5 kB]
Get:185 http://172.17.0.1/private stretch-staging/main armhf libsynctex1 armhf 2016.20160513.41080.dfsg-2 [58.1 kB]
Get:186 http://172.17.0.1/private stretch-staging/main armhf libtexlua52 armhf 2016.20160513.41080.dfsg-2 [85.5 kB]
Get:187 http://172.17.0.1/private stretch-staging/main armhf libtexluajit2 armhf 2016.20160513.41080.dfsg-2 [201 kB]
Get:188 http://172.17.0.1/private stretch-staging/main armhf libxau-dev armhf 1:1.0.8-1 [23.0 kB]
Get:189 http://172.17.0.1/private stretch-staging/main armhf libxdmcp-dev armhf 1:1.1.2-3 [40.9 kB]
Get:190 http://172.17.0.1/private stretch-staging/main armhf x11proto-input-dev all 2.3.2-1 [158 kB]
Get:191 http://172.17.0.1/private stretch-staging/main armhf x11proto-kb-dev all 1.0.7-1 [233 kB]
Get:192 http://172.17.0.1/private stretch-staging/main armhf xtrans-dev all 1.3.5-1 [100 kB]
Get:193 http://172.17.0.1/private stretch-staging/main armhf libxcb1-dev armhf 1.12-1 [165 kB]
Get:194 http://172.17.0.1/private stretch-staging/main armhf libx11-dev armhf 2:1.6.4-3 [753 kB]
Get:195 http://172.17.0.1/private stretch-staging/main armhf libxmu6 armhf 2:1.1.2-2 [52.0 kB]
Get:196 http://172.17.0.1/private stretch-staging/main armhf libxaw7 armhf 2:1.0.13-1 [164 kB]
Get:197 http://172.17.0.1/private stretch-staging/main armhf x11proto-xext-dev all 7.3.0-1 [212 kB]
Get:198 http://172.17.0.1/private stretch-staging/main armhf libxext-dev armhf 2:1.3.3-1 [102 kB]
Get:199 http://172.17.0.1/private stretch-staging/main armhf libxt-dev armhf 1:1.1.5-1 [390 kB]
Get:200 http://172.17.0.1/private stretch-staging/main armhf libxmu-headers all 2:1.1.2-2 [51.9 kB]
Get:201 http://172.17.0.1/private stretch-staging/main armhf libxmu-dev armhf 2:1.1.2-2 [56.2 kB]
Get:202 http://172.17.0.1/private stretch-staging/main armhf libxpm-dev armhf 1:3.5.12-1 [98.1 kB]
Get:203 http://172.17.0.1/private stretch-staging/main armhf libxaw7-dev armhf 2:1.0.13-1 [223 kB]
Get:204 http://172.17.0.1/private stretch-staging/main armhf t1utils armhf 1.39-2 [52.7 kB]
Get:205 http://172.17.0.1/private stretch-staging/main armhf tex-common all 6.06 [566 kB]
Get:206 http://172.17.0.1/private stretch-staging/main armhf texlive-binaries armhf 2016.20160513.41080.dfsg-2 [5280 kB]
Get:207 http://172.17.0.1/private stretch-staging/main armhf xdg-utils all 1.1.1-1 [71.1 kB]
Get:208 http://172.17.0.1/private stretch-staging/main armhf texlive-base all 2016.20170123-5 [15.8 MB]
Get:209 http://172.17.0.1/private stretch-staging/main armhf texlive-latex-base all 2016.20170123-5 [861 kB]
debconf: delaying package configuration, since apt-utils is not installed
Fetched 149 MB in 25s (5842 kB/s)
Selecting previously unselected package groff-base.
(Reading database ... 13032 files and directories currently installed.)
Preparing to unpack .../00-groff-base_1.22.3-9_armhf.deb ...
Unpacking groff-base (1.22.3-9) ...
Selecting previously unselected package libbsd0:armhf.
Preparing to unpack .../01-libbsd0_0.8.3-1_armhf.deb ...
Unpacking libbsd0:armhf (0.8.3-1) ...
Selecting previously unselected package bsdmainutils.
Preparing to unpack .../02-bsdmainutils_9.0.12+nmu1_armhf.deb ...
Unpacking bsdmainutils (9.0.12+nmu1) ...
Selecting previously unselected package libpipeline1:armhf.
Preparing to unpack .../03-libpipeline1_1.4.1-2_armhf.deb ...
Unpacking libpipeline1:armhf (1.4.1-2) ...
Selecting previously unselected package man-db.
Preparing to unpack .../04-man-db_2.7.6.1-2_armhf.deb ...
Unpacking man-db (2.7.6.1-2) ...
Selecting previously unselected package liblockfile-bin.
Preparing to unpack .../05-liblockfile-bin_1.14-1_armhf.deb ...
Unpacking liblockfile-bin (1.14-1) ...
Selecting previously unselected package liblockfile1:armhf.
Preparing to unpack .../06-liblockfile1_1.14-1_armhf.deb ...
Unpacking liblockfile1:armhf (1.14-1) ...
Selecting previously unselected package libexpat1:armhf.
Preparing to unpack .../07-libexpat1_2.2.0-2_armhf.deb ...
Unpacking libexpat1:armhf (2.2.0-2) ...
Selecting previously unselected package libpng16-16:armhf.
Preparing to unpack .../08-libpng16-16_1.6.28-1_armhf.deb ...
Unpacking libpng16-16:armhf (1.6.28-1) ...
Selecting previously unselected package libfreetype6:armhf.
Preparing to unpack .../09-libfreetype6_2.6.3-3.2_armhf.deb ...
Unpacking libfreetype6:armhf (2.6.3-3.2) ...
Selecting previously unselected package ucf.
Preparing to unpack .../10-ucf_3.0036_all.deb ...
Moving old data out of the way
Unpacking ucf (3.0036) ...
Selecting previously unselected package fonts-dejavu-core.
Preparing to unpack .../11-fonts-dejavu-core_2.37-1_all.deb ...
Unpacking fonts-dejavu-core (2.37-1) ...
Selecting previously unselected package fontconfig-config.
Preparing to unpack .../12-fontconfig-config_2.11.0-6.7_all.deb ...
Unpacking fontconfig-config (2.11.0-6.7) ...
Selecting previously unselected package libfontconfig1:armhf.
Preparing to unpack .../13-libfontconfig1_2.11.0-6.7_armhf.deb ...
Unpacking libfontconfig1:armhf (2.11.0-6.7) ...
Selecting previously unselected package fontconfig.
Preparing to unpack .../14-fontconfig_2.11.0-6.7_armhf.deb ...
Unpacking fontconfig (2.11.0-6.7) ...
Selecting previously unselected package libjbig0:armhf.
Preparing to unpack .../15-libjbig0_2.1-3.1_armhf.deb ...
Unpacking libjbig0:armhf (2.1-3.1) ...
Selecting previously unselected package libffi6:armhf.
Preparing to unpack .../16-libffi6_3.2.1-6_armhf.deb ...
Unpacking libffi6:armhf (3.2.1-6) ...
Selecting previously unselected package libglib2.0-0:armhf.
Preparing to unpack .../17-libglib2.0-0_2.50.3-2_armhf.deb ...
Unpacking libglib2.0-0:armhf (2.50.3-2) ...
Selecting previously unselected package liblqr-1-0:armhf.
Preparing to unpack .../18-liblqr-1-0_0.4.2-2_armhf.deb ...
Unpacking liblqr-1-0:armhf (0.4.2-2) ...
Selecting previously unselected package libfftw3-double3:armhf.
Preparing to unpack .../19-libfftw3-double3_3.3.5-3_armhf.deb ...
Unpacking libfftw3-double3:armhf (3.3.5-3) ...
Selecting previously unselected package libjpeg62-turbo:armhf.
Preparing to unpack .../20-libjpeg62-turbo_1%3a1.5.1-2_armhf.deb ...
Unpacking libjpeg62-turbo:armhf (1:1.5.1-2) ...
Selecting previously unselected package liblcms2-2:armhf.
Preparing to unpack .../21-liblcms2-2_2.8-4_armhf.deb ...
Unpacking liblcms2-2:armhf (2.8-4) ...
Selecting previously unselected package libltdl7:armhf.
Preparing to unpack .../22-libltdl7_2.4.6-2_armhf.deb ...
Unpacking libltdl7:armhf (2.4.6-2) ...
Selecting previously unselected package libopenjp2-7:armhf.
Preparing to unpack .../23-libopenjp2-7_2.1.2-1.1_armhf.deb ...
Unpacking libopenjp2-7:armhf (2.1.2-1.1) ...
Selecting previously unselected package libtiff5:armhf.
Preparing to unpack .../24-libtiff5_4.0.7-6_armhf.deb ...
Unpacking libtiff5:armhf (4.0.7-6) ...
Selecting previously unselected package libxau6:armhf.
Preparing to unpack .../25-libxau6_1%3a1.0.8-1_armhf.deb ...
Unpacking libxau6:armhf (1:1.0.8-1) ...
Selecting previously unselected package libxdmcp6:armhf.
Preparing to unpack .../26-libxdmcp6_1%3a1.1.2-3_armhf.deb ...
Unpacking libxdmcp6:armhf (1:1.1.2-3) ...
Selecting previously unselected package libxcb1:armhf.
Preparing to unpack .../27-libxcb1_1.12-1_armhf.deb ...
Unpacking libxcb1:armhf (1.12-1) ...
Selecting previously unselected package libx11-data.
Preparing to unpack .../28-libx11-data_2%3a1.6.4-3_all.deb ...
Unpacking libx11-data (2:1.6.4-3) ...
Selecting previously unselected package libx11-6:armhf.
Preparing to unpack .../29-libx11-6_2%3a1.6.4-3_armhf.deb ...
Unpacking libx11-6:armhf (2:1.6.4-3) ...
Selecting previously unselected package libxext6:armhf.
Preparing to unpack .../30-libxext6_2%3a1.3.3-1_armhf.deb ...
Unpacking libxext6:armhf (2:1.3.3-1) ...
Selecting previously unselected package libicu57:armhf.
Preparing to unpack .../31-libicu57_57.1-5_armhf.deb ...
Unpacking libicu57:armhf (57.1-5) ...
Selecting previously unselected package libxml2:armhf.
Preparing to unpack .../32-libxml2_2.9.4+dfsg1-2.2_armhf.deb ...
Unpacking libxml2:armhf (2.9.4+dfsg1-2.2) ...
Selecting previously unselected package imagemagick-6-common.
Preparing to unpack .../33-imagemagick-6-common_8%3a6.9.7.4+dfsg-8_all.deb ...
Unpacking imagemagick-6-common (8:6.9.7.4+dfsg-8) ...
Selecting previously unselected package libmagickcore-6.q16-3:armhf.
Preparing to unpack .../34-libmagickcore-6.q16-3_8%3a6.9.7.4+dfsg-8_armhf.deb ...
Unpacking libmagickcore-6.q16-3:armhf (8:6.9.7.4+dfsg-8) ...
Selecting previously unselected package libmagickwand-6.q16-3:armhf.
Preparing to unpack .../35-libmagickwand-6.q16-3_8%3a6.9.7.4+dfsg-8_armhf.deb ...
Unpacking libmagickwand-6.q16-3:armhf (8:6.9.7.4+dfsg-8) ...
Selecting previously unselected package libxrender1:armhf.
Preparing to unpack .../36-libxrender1_1%3a0.9.10-1_armhf.deb ...
Unpacking libxrender1:armhf (1:0.9.10-1) ...
Selecting previously unselected package libxft2:armhf.
Preparing to unpack .../37-libxft2_2.3.2-1_armhf.deb ...
Unpacking libxft2:armhf (2.3.2-1) ...
Selecting previously unselected package x11-common.
Preparing to unpack .../38-x11-common_1%3a7.7+19_all.deb ...
Unpacking x11-common (1:7.7+19) ...
Selecting previously unselected package libxss1:armhf.
Preparing to unpack .../39-libxss1_1%3a1.2.2-1_armhf.deb ...
Unpacking libxss1:armhf (1:1.2.2-1) ...
Selecting previously unselected package libzzip-0-13:armhf.
Preparing to unpack .../40-libzzip-0-13_0.13.62-3_armhf.deb ...
Unpacking libzzip-0-13:armhf (0.13.62-3) ...
Selecting previously unselected package poppler-data.
Preparing to unpack .../41-poppler-data_0.4.7-8_all.deb ...
Unpacking poppler-data (0.4.7-8) ...
Preparing to unpack .../42-libreadline7_7.0-3_armhf.deb ...
Unpacking libreadline7:armhf (7.0-3) over (7.0-2) ...
Setting up libreadline7:armhf (7.0-3) ...
Selecting previously unselected package libmagic-mgc.
(Reading database ... 15087 files and directories currently installed.)
Preparing to unpack .../000-libmagic-mgc_1%3a5.30-1_armhf.deb ...
Unpacking libmagic-mgc (1:5.30-1) ...
Selecting previously unselected package libmagic1:armhf.
Preparing to unpack .../001-libmagic1_1%3a5.30-1_armhf.deb ...
Unpacking libmagic1:armhf (1:5.30-1) ...
Selecting previously unselected package file.
Preparing to unpack .../002-file_1%3a5.30-1_armhf.deb ...
Unpacking file (1:5.30-1) ...
Selecting previously unselected package gettext-base.
Preparing to unpack .../003-gettext-base_0.19.8.1-2_armhf.deb ...
Unpacking gettext-base (0.19.8.1-2) ...
Selecting previously unselected package libnettle6:armhf.
Preparing to unpack .../004-libnettle6_3.3-1_armhf.deb ...
Unpacking libnettle6:armhf (3.3-1) ...
Selecting previously unselected package libhogweed4:armhf.
Preparing to unpack .../005-libhogweed4_3.3-1_armhf.deb ...
Unpacking libhogweed4:armhf (3.3-1) ...
Selecting previously unselected package libp11-kit0:armhf.
Preparing to unpack .../006-libp11-kit0_0.23.3-2_armhf.deb ...
Unpacking libp11-kit0:armhf (0.23.3-2) ...
Selecting previously unselected package libtasn1-6:armhf.
Preparing to unpack .../007-libtasn1-6_4.10-1_armhf.deb ...
Unpacking libtasn1-6:armhf (4.10-1) ...
Selecting previously unselected package libgnutls30:armhf.
Preparing to unpack .../008-libgnutls30_3.5.8-5_armhf.deb ...
Unpacking libgnutls30:armhf (3.5.8-5) ...
Selecting previously unselected package libgpm2:armhf.
Preparing to unpack .../009-libgpm2_1.20.4-6.2_armhf.deb ...
Unpacking libgpm2:armhf (1.20.4-6.2) ...
Selecting previously unselected package libkeyutils1:armhf.
Preparing to unpack .../010-libkeyutils1_1.5.9-9_armhf.deb ...
Unpacking libkeyutils1:armhf (1.5.9-9) ...
Selecting previously unselected package libkrb5support0:armhf.
Preparing to unpack .../011-libkrb5support0_1.15-1_armhf.deb ...
Unpacking libkrb5support0:armhf (1.15-1) ...
Selecting previously unselected package libk5crypto3:armhf.
Preparing to unpack .../012-libk5crypto3_1.15-1_armhf.deb ...
Unpacking libk5crypto3:armhf (1.15-1) ...
Selecting previously unselected package libkrb5-3:armhf.
Preparing to unpack .../013-libkrb5-3_1.15-1_armhf.deb ...
Unpacking libkrb5-3:armhf (1.15-1) ...
Selecting previously unselected package libgssapi-krb5-2:armhf.
Preparing to unpack .../014-libgssapi-krb5-2_1.15-1_armhf.deb ...
Unpacking libgssapi-krb5-2:armhf (1.15-1) ...
Selecting previously unselected package libsasl2-modules-db:armhf.
Preparing to unpack .../015-libsasl2-modules-db_2.1.27~101-g0780600+dfsg-3_armhf.deb ...
Unpacking libsasl2-modules-db:armhf (2.1.27~101-g0780600+dfsg-3) ...
Selecting previously unselected package libsasl2-2:armhf.
Preparing to unpack .../016-libsasl2-2_2.1.27~101-g0780600+dfsg-3_armhf.deb ...
Unpacking libsasl2-2:armhf (2.1.27~101-g0780600+dfsg-3) ...
Selecting previously unselected package libldap-common.
Preparing to unpack .../017-libldap-common_2.4.44+dfsg-4_all.deb ...
Unpacking libldap-common (2.4.44+dfsg-4) ...
Selecting previously unselected package libldap-2.4-2:armhf.
Preparing to unpack .../018-libldap-2.4-2_2.4.44+dfsg-4_armhf.deb ...
Unpacking libldap-2.4-2:armhf (2.4.44+dfsg-4) ...
Selecting previously unselected package hicolor-icon-theme.
Preparing to unpack .../019-hicolor-icon-theme_0.15-1_all.deb ...
Unpacking hicolor-icon-theme (0.15-1) ...
Selecting previously unselected package shared-mime-info.
Preparing to unpack .../020-shared-mime-info_1.8-1_armhf.deb ...
Unpacking shared-mime-info (1.8-1) ...
Selecting previously unselected package libgdk-pixbuf2.0-common.
Preparing to unpack .../021-libgdk-pixbuf2.0-common_2.36.5-2_all.deb ...
Unpacking libgdk-pixbuf2.0-common (2.36.5-2) ...
Selecting previously unselected package libgdk-pixbuf2.0-0:armhf.
Preparing to unpack .../022-libgdk-pixbuf2.0-0_2.36.5-2_armhf.deb ...
Unpacking libgdk-pixbuf2.0-0:armhf (2.36.5-2) ...
Selecting previously unselected package gtk-update-icon-cache.
Preparing to unpack .../023-gtk-update-icon-cache_3.22.11-1+rpi1_armhf.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.22.11-1+rpi1) ...
Selecting previously unselected package libpixman-1-0:armhf.
Preparing to unpack .../024-libpixman-1-0_0.34.0-1_armhf.deb ...
Unpacking libpixman-1-0:armhf (0.34.0-1) ...
Selecting previously unselected package libxcb-render0:armhf.
Preparing to unpack .../025-libxcb-render0_1.12-1_armhf.deb ...
Unpacking libxcb-render0:armhf (1.12-1) ...
Selecting previously unselected package libxcb-shm0:armhf.
Preparing to unpack .../026-libxcb-shm0_1.12-1_armhf.deb ...
Unpacking libxcb-shm0:armhf (1.12-1) ...
Selecting previously unselected package libcairo2:armhf.
Preparing to unpack .../027-libcairo2_1.14.8-1_armhf.deb ...
Unpacking libcairo2:armhf (1.14.8-1) ...
Selecting previously unselected package libcroco3:armhf.
Preparing to unpack .../028-libcroco3_0.6.11-3_armhf.deb ...
Unpacking libcroco3:armhf (0.6.11-3) ...
Selecting previously unselected package libthai-data.
Preparing to unpack .../029-libthai-data_0.1.26-1_all.deb ...
Unpacking libthai-data (0.1.26-1) ...
Selecting previously unselected package libdatrie1:armhf.
Preparing to unpack .../030-libdatrie1_0.2.10-4_armhf.deb ...
Unpacking libdatrie1:armhf (0.2.10-4) ...
Selecting previously unselected package libthai0:armhf.
Preparing to unpack .../031-libthai0_0.1.26-1_armhf.deb ...
Unpacking libthai0:armhf (0.1.26-1) ...
Selecting previously unselected package libpango-1.0-0:armhf.
Preparing to unpack .../032-libpango-1.0-0_1.40.5-1_armhf.deb ...
Unpacking libpango-1.0-0:armhf (1.40.5-1) ...
Selecting previously unselected package libgraphite2-3:armhf.
Preparing to unpack .../033-libgraphite2-3_1.3.10-1_armhf.deb ...
Unpacking libgraphite2-3:armhf (1.3.10-1) ...
Selecting previously unselected package libharfbuzz0b:armhf.
Preparing to unpack .../034-libharfbuzz0b_1.4.2-1_armhf.deb ...
Unpacking libharfbuzz0b:armhf (1.4.2-1) ...
Selecting previously unselected package libpangoft2-1.0-0:armhf.
Preparing to unpack .../035-libpangoft2-1.0-0_1.40.5-1_armhf.deb ...
Unpacking libpangoft2-1.0-0:armhf (1.40.5-1) ...
Selecting previously unselected package libpangocairo-1.0-0:armhf.
Preparing to unpack .../036-libpangocairo-1.0-0_1.40.5-1_armhf.deb ...
Unpacking libpangocairo-1.0-0:armhf (1.40.5-1) ...
Selecting previously unselected package librsvg2-2:armhf.
Preparing to unpack .../037-librsvg2-2_2.40.16-1_armhf.deb ...
Unpacking librsvg2-2:armhf (2.40.16-1) ...
Selecting previously unselected package librsvg2-common:armhf.
Preparing to unpack .../038-librsvg2-common_2.40.16-1_armhf.deb ...
Unpacking librsvg2-common:armhf (2.40.16-1) ...
Selecting previously unselected package adwaita-icon-theme.
Preparing to unpack .../039-adwaita-icon-theme_3.22.0-1_all.deb ...
Unpacking adwaita-icon-theme (3.22.0-1) ...
Selecting previously unselected package libsigsegv2:armhf.
Preparing to unpack .../040-libsigsegv2_2.10-5_armhf.deb ...
Unpacking libsigsegv2:armhf (2.10-5) ...
Selecting previously unselected package m4.
Preparing to unpack .../041-m4_1.4.18-1_armhf.deb ...
Unpacking m4 (1.4.18-1) ...
Selecting previously unselected package autoconf.
Preparing to unpack .../042-autoconf_2.69-10_all.deb ...
Unpacking autoconf (2.69-10) ...
Selecting previously unselected package autotools-dev.
Preparing to unpack .../043-autotools-dev_20161112.1_all.deb ...
Unpacking autotools-dev (20161112.1) ...
Selecting previously unselected package automake.
Preparing to unpack .../044-automake_1%3a1.15-6_all.deb ...
Unpacking automake (1:1.15-6) ...
Selecting previously unselected package autopoint.
Preparing to unpack .../045-autopoint_0.19.8.1-2_all.deb ...
Unpacking autopoint (0.19.8.1-2) ...
Selecting previously unselected package libdconf1:armhf.
Preparing to unpack .../046-libdconf1_0.26.0-2_armhf.deb ...
Unpacking libdconf1:armhf (0.26.0-2) ...
Selecting previously unselected package dconf-service.
Preparing to unpack .../047-dconf-service_0.26.0-2_armhf.deb ...
Unpacking dconf-service (0.26.0-2) ...
Selecting previously unselected package dconf-gsettings-backend:armhf.
Preparing to unpack .../048-dconf-gsettings-backend_0.26.0-2_armhf.deb ...
Unpacking dconf-gsettings-backend:armhf (0.26.0-2) ...
Selecting previously unselected package libtool.
Preparing to unpack .../049-libtool_2.4.6-2_all.deb ...
Unpacking libtool (2.4.6-2) ...
Selecting previously unselected package dh-autoreconf.
Preparing to unpack .../050-dh-autoreconf_14_all.deb ...
Unpacking dh-autoreconf (14) ...
Selecting previously unselected package libarchive-zip-perl.
Preparing to unpack .../051-libarchive-zip-perl_1.59-1_all.deb ...
Unpacking libarchive-zip-perl (1.59-1) ...
Selecting previously unselected package libfile-stripnondeterminism-perl.
Preparing to unpack .../052-libfile-stripnondeterminism-perl_0.033-2_all.deb ...
Unpacking libfile-stripnondeterminism-perl (0.033-2) ...
Selecting previously unselected package libtimedate-perl.
Preparing to unpack .../053-libtimedate-perl_2.3000-2_all.deb ...
Unpacking libtimedate-perl (2.3000-2) ...
Selecting previously unselected package dh-strip-nondeterminism.
Preparing to unpack .../054-dh-strip-nondeterminism_0.033-2_all.deb ...
Unpacking dh-strip-nondeterminism (0.033-2) ...
Selecting previously unselected package libunistring0:armhf.
Preparing to unpack .../055-libunistring0_0.9.6+really0.9.3-0.1_armhf.deb ...
Unpacking libunistring0:armhf (0.9.6+really0.9.3-0.1) ...
Selecting previously unselected package gettext.
Preparing to unpack .../056-gettext_0.19.8.1-2_armhf.deb ...
Unpacking gettext (0.19.8.1-2) ...
Selecting previously unselected package intltool-debian.
Preparing to unpack .../057-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 .../058-po-debconf_1.0.20_all.deb ...
Unpacking po-debconf (1.0.20) ...
Selecting previously unselected package debhelper.
Preparing to unpack .../059-debhelper_10.2.5_all.deb ...
Unpacking debhelper (10.2.5) ...
Selecting previously unselected package emacsen-common.
Preparing to unpack .../060-emacsen-common_2.0.8_all.deb ...
Unpacking emacsen-common (2.0.8) ...
Selecting previously unselected package emacs24-common.
Preparing to unpack .../061-emacs24-common_24.5+1-11_all.deb ...
Unpacking emacs24-common (24.5+1-11) ...
Selecting previously unselected package libunbound2:armhf.
Preparing to unpack .../062-libunbound2_1.6.0-3_armhf.deb ...
Unpacking libunbound2:armhf (1.6.0-3) ...
Selecting previously unselected package libgnutls-dane0:armhf.
Preparing to unpack .../063-libgnutls-dane0_3.5.8-5_armhf.deb ...
Unpacking libgnutls-dane0:armhf (3.5.8-5) ...
Selecting previously unselected package libopts25:armhf.
Preparing to unpack .../064-libopts25_1%3a5.18.12-3_armhf.deb ...
Unpacking libopts25:armhf (1:5.18.12-3) ...
Selecting previously unselected package gnutls-bin.
Preparing to unpack .../065-gnutls-bin_3.5.8-5_armhf.deb ...
Unpacking gnutls-bin (3.5.8-5) ...
Selecting previously unselected package emacs24-bin-common.
Preparing to unpack .../066-emacs24-bin-common_24.5+1-11_armhf.deb ...
Unpacking emacs24-bin-common (24.5+1-11) ...
Selecting previously unselected package libdbus-glib-1-2:armhf.
Preparing to unpack .../067-libdbus-glib-1-2_0.108-2_armhf.deb ...
Unpacking libdbus-glib-1-2:armhf (0.108-2) ...
Selecting previously unselected package gconf2-common.
Preparing to unpack .../068-gconf2-common_3.2.6-4_all.deb ...
Unpacking gconf2-common (3.2.6-4) ...
Selecting previously unselected package libgconf-2-4:armhf.
Preparing to unpack .../069-libgconf-2-4_3.2.6-4_armhf.deb ...
Unpacking libgconf-2-4:armhf (3.2.6-4) ...
Selecting previously unselected package gconf-service.
Preparing to unpack .../070-gconf-service_3.2.6-4_armhf.deb ...
Unpacking gconf-service (3.2.6-4) ...
Selecting previously unselected package libasound2-data.
Preparing to unpack .../071-libasound2-data_1.1.3-5_all.deb ...
Unpacking libasound2-data (1.1.3-5) ...
Selecting previously unselected package libasound2:armhf.
Preparing to unpack .../072-libasound2_1.1.3-5_armhf.deb ...
Unpacking libasound2:armhf (1.1.3-5) ...
Selecting previously unselected package libatk1.0-data.
Preparing to unpack .../073-libatk1.0-data_2.22.0-1_all.deb ...
Unpacking libatk1.0-data (2.22.0-1) ...
Selecting previously unselected package libatk1.0-0:armhf.
Preparing to unpack .../074-libatk1.0-0_2.22.0-1_armhf.deb ...
Unpacking libatk1.0-0:armhf (2.22.0-1) ...
Selecting previously unselected package libcairo-gobject2:armhf.
Preparing to unpack .../075-libcairo-gobject2_1.14.8-1_armhf.deb ...
Unpacking libcairo-gobject2:armhf (1.14.8-1) ...
Selecting previously unselected package libgif7:armhf.
Preparing to unpack .../076-libgif7_5.1.4-0.4_armhf.deb ...
Unpacking libgif7:armhf (5.1.4-0.4) ...
Selecting previously unselected package libgtk-3-common.
Preparing to unpack .../077-libgtk-3-common_3.22.11-1+rpi1_all.deb ...
Unpacking libgtk-3-common (3.22.11-1+rpi1) ...
Selecting previously unselected package libatspi2.0-0:armhf.
Preparing to unpack .../078-libatspi2.0-0_2.22.0-6_armhf.deb ...
Unpacking libatspi2.0-0:armhf (2.22.0-6) ...
Selecting previously unselected package libatk-bridge2.0-0:armhf.
Preparing to unpack .../079-libatk-bridge2.0-0_2.22.0-2_armhf.deb ...
Unpacking libatk-bridge2.0-0:armhf (2.22.0-2) ...
Selecting previously unselected package libcolord2:armhf.
Preparing to unpack .../080-libcolord2_1.3.3-2_armhf.deb ...
Unpacking libcolord2:armhf (1.3.3-2) ...
Selecting previously unselected package libavahi-common-data:armhf.
Preparing to unpack .../081-libavahi-common-data_0.6.32-2_armhf.deb ...
Unpacking libavahi-common-data:armhf (0.6.32-2) ...
Selecting previously unselected package libavahi-common3:armhf.
Preparing to unpack .../082-libavahi-common3_0.6.32-2_armhf.deb ...
Unpacking libavahi-common3:armhf (0.6.32-2) ...
Selecting previously unselected package libavahi-client3:armhf.
Preparing to unpack .../083-libavahi-client3_0.6.32-2_armhf.deb ...
Unpacking libavahi-client3:armhf (0.6.32-2) ...
Selecting previously unselected package libcups2:armhf.
Preparing to unpack .../084-libcups2_2.2.1-8_armhf.deb ...
Unpacking libcups2:armhf (2.2.1-8) ...
Selecting previously unselected package libepoxy0:armhf.
Preparing to unpack .../085-libepoxy0_1.3.1-2_armhf.deb ...
Unpacking libepoxy0:armhf (1.3.1-2) ...
Selecting previously unselected package libjson-glib-1.0-common.
Preparing to unpack .../086-libjson-glib-1.0-common_1.2.6-1_all.deb ...
Unpacking libjson-glib-1.0-common (1.2.6-1) ...
Selecting previously unselected package libjson-glib-1.0-0:armhf.
Preparing to unpack .../087-libjson-glib-1.0-0_1.2.6-1_armhf.deb ...
Unpacking libjson-glib-1.0-0:armhf (1.2.6-1) ...
Selecting previously unselected package libproxy1v5:armhf.
Preparing to unpack .../088-libproxy1v5_0.4.14-2_armhf.deb ...
Unpacking libproxy1v5:armhf (0.4.14-2) ...
Selecting previously unselected package glib-networking-common.
Preparing to unpack .../089-glib-networking-common_2.50.0-1_all.deb ...
Unpacking glib-networking-common (2.50.0-1) ...
Selecting previously unselected package glib-networking-services.
Preparing to unpack .../090-glib-networking-services_2.50.0-1_armhf.deb ...
Unpacking glib-networking-services (2.50.0-1) ...
Selecting previously unselected package gsettings-desktop-schemas.
Preparing to unpack .../091-gsettings-desktop-schemas_3.22.0-1_all.deb ...
Unpacking gsettings-desktop-schemas (3.22.0-1) ...
Selecting previously unselected package glib-networking:armhf.
Preparing to unpack .../092-glib-networking_2.50.0-1_armhf.deb ...
Unpacking glib-networking:armhf (2.50.0-1) ...
Selecting previously unselected package libsoup2.4-1:armhf.
Preparing to unpack .../093-libsoup2.4-1_2.56.0-2_armhf.deb ...
Unpacking libsoup2.4-1:armhf (2.56.0-2) ...
Selecting previously unselected package libsoup-gnome2.4-1:armhf.
Preparing to unpack .../094-libsoup-gnome2.4-1_2.56.0-2_armhf.deb ...
Unpacking libsoup-gnome2.4-1:armhf (2.56.0-2) ...
Selecting previously unselected package librest-0.7-0:armhf.
Preparing to unpack .../095-librest-0.7-0_0.8.0-2_armhf.deb ...
Unpacking librest-0.7-0:armhf (0.8.0-2) ...
Selecting previously unselected package libxcomposite1:armhf.
Preparing to unpack .../096-libxcomposite1_1%3a0.4.4-2_armhf.deb ...
Unpacking libxcomposite1:armhf (1:0.4.4-2) ...
Selecting previously unselected package libxfixes3:armhf.
Preparing to unpack .../097-libxfixes3_1%3a5.0.3-1_armhf.deb ...
Unpacking libxfixes3:armhf (1:5.0.3-1) ...
Selecting previously unselected package libxcursor1:armhf.
Preparing to unpack .../098-libxcursor1_1%3a1.1.14-1+b1_armhf.deb ...
Unpacking libxcursor1:armhf (1:1.1.14-1+b1) ...
Selecting previously unselected package libxdamage1:armhf.
Preparing to unpack .../099-libxdamage1_1%3a1.1.4-2+b1_armhf.deb ...
Unpacking libxdamage1:armhf (1:1.1.4-2+b1) ...
Selecting previously unselected package libxi6:armhf.
Preparing to unpack .../100-libxi6_2%3a1.7.9-1_armhf.deb ...
Unpacking libxi6:armhf (2:1.7.9-1) ...
Selecting previously unselected package libxinerama1:armhf.
Preparing to unpack .../101-libxinerama1_2%3a1.1.3-1+b1_armhf.deb ...
Unpacking libxinerama1:armhf (2:1.1.3-1+b1) ...
Selecting previously unselected package libxrandr2:armhf.
Preparing to unpack .../102-libxrandr2_2%3a1.5.1-1_armhf.deb ...
Unpacking libxrandr2:armhf (2:1.5.1-1) ...
Selecting previously unselected package libgtk-3-0:armhf.
Preparing to unpack .../103-libgtk-3-0_3.22.11-1+rpi1_armhf.deb ...
Unpacking libgtk-3-0:armhf (3.22.11-1+rpi1) ...
Selecting previously unselected package libice6:armhf.
Preparing to unpack .../104-libice6_2%3a1.0.9-2_armhf.deb ...
Unpacking libice6:armhf (2:1.0.9-2) ...
Selecting previously unselected package libfribidi0:armhf.
Preparing to unpack .../105-libfribidi0_0.19.7-1_armhf.deb ...
Unpacking libfribidi0:armhf (0.19.7-1) ...
Selecting previously unselected package libwebp6:armhf.
Preparing to unpack .../106-libwebp6_0.5.2-1_armhf.deb ...
Unpacking libwebp6:armhf (0.5.2-1) ...
Selecting previously unselected package libxpm4:armhf.
Preparing to unpack .../107-libxpm4_1%3a3.5.12-1_armhf.deb ...
Unpacking libxpm4:armhf (1:3.5.12-1) ...
Selecting previously unselected package libgd3:armhf.
Preparing to unpack .../108-libgd3_2.2.4-2_armhf.deb ...
Unpacking libgd3:armhf (2.2.4-2) ...
Selecting previously unselected package libotf0:armhf.
Preparing to unpack .../109-libotf0_0.9.13-3_armhf.deb ...
Unpacking libotf0:armhf (0.9.13-3) ...
Selecting previously unselected package libsm6:armhf.
Preparing to unpack .../110-libsm6_2%3a1.2.2-1+b1_armhf.deb ...
Unpacking libsm6:armhf (2:1.2.2-1+b1) ...
Selecting previously unselected package libxt6:armhf.
Preparing to unpack .../111-libxt6_1%3a1.1.5-1_armhf.deb ...
Unpacking libxt6:armhf (1:1.1.5-1) ...
Selecting previously unselected package m17n-db.
Preparing to unpack .../112-m17n-db_1.7.0-2_all.deb ...
Unpacking m17n-db (1.7.0-2) ...
Selecting previously unselected package libm17n-0:armhf.
Preparing to unpack .../113-libm17n-0_1.7.0-3_armhf.deb ...
Unpacking libm17n-0:armhf (1.7.0-3) ...
Selecting previously unselected package emacs24.
Preparing to unpack .../114-emacs24_24.5+1-11_armhf.deb ...
Unpacking emacs24 (24.5+1-11) ...
Selecting previously unselected package fonts-lmodern.
Preparing to unpack .../115-fonts-lmodern_2.004.5-3_all.deb ...
Unpacking fonts-lmodern (2.004.5-3) ...
Selecting previously unselected package libtcl8.6:armhf.
Preparing to unpack .../116-libtcl8.6_8.6.6+dfsg-1_armhf.deb ...
Unpacking libtcl8.6:armhf (8.6.6+dfsg-1) ...
Selecting previously unselected package libtk8.6:armhf.
Preparing to unpack .../117-libtk8.6_8.6.6-1_armhf.deb ...
Unpacking libtk8.6:armhf (8.6.6-1) ...
Selecting previously unselected package gcl.
Preparing to unpack .../118-gcl_2.6.12-47_armhf.deb ...
Unpacking gcl (2.6.12-47) ...
Selecting previously unselected package libcupsimage2:armhf.
Preparing to unpack .../119-libcupsimage2_2.2.1-8_armhf.deb ...
Unpacking libcupsimage2:armhf (2.2.1-8) ...
Selecting previously unselected package libgmpxx4ldbl:armhf.
Preparing to unpack .../120-libgmpxx4ldbl_2%3a6.1.2+dfsg-1_armhf.deb ...
Unpacking libgmpxx4ldbl:armhf (2:6.1.2+dfsg-1) ...
Selecting previously unselected package libgmp-dev:armhf.
Preparing to unpack .../121-libgmp-dev_2%3a6.1.2+dfsg-1_armhf.deb ...
Unpacking libgmp-dev:armhf (2:6.1.2+dfsg-1) ...
Selecting previously unselected package libgmp3-dev.
Preparing to unpack .../122-libgmp3-dev_2%3a6.1.2+dfsg-1_armhf.deb ...
Unpacking libgmp3-dev (2:6.1.2+dfsg-1) ...
Selecting previously unselected package libijs-0.35:armhf.
Preparing to unpack .../123-libijs-0.35_0.35-12_armhf.deb ...
Unpacking libijs-0.35:armhf (0.35-12) ...
Selecting previously unselected package libjbig2dec0:armhf.
Preparing to unpack .../124-libjbig2dec0_0.13-4.1_armhf.deb ...
Unpacking libjbig2dec0:armhf (0.13-4.1) ...
Selecting previously unselected package libpaper1:armhf.
Preparing to unpack .../125-libpaper1_1.1.24+nmu5_armhf.deb ...
Unpacking libpaper1:armhf (1.1.24+nmu5) ...
Selecting previously unselected package libgs9-common.
Preparing to unpack .../126-libgs9-common_9.20~dfsg-3.1_all.deb ...
Unpacking libgs9-common (9.20~dfsg-3.1) ...
Selecting previously unselected package libgs9:armhf.
Preparing to unpack .../127-libgs9_9.20~dfsg-3.1_armhf.deb ...
Unpacking libgs9:armhf (9.20~dfsg-3.1) ...
Selecting previously unselected package libharfbuzz-icu0:armhf.
Preparing to unpack .../128-libharfbuzz-icu0_1.4.2-1_armhf.deb ...
Unpacking libharfbuzz-icu0:armhf (1.4.2-1) ...
Selecting previously unselected package xorg-sgml-doctools.
Preparing to unpack .../129-xorg-sgml-doctools_1%3a1.11-1_all.deb ...
Unpacking xorg-sgml-doctools (1:1.11-1) ...
Selecting previously unselected package x11proto-core-dev.
Preparing to unpack .../130-x11proto-core-dev_7.0.31-1_all.deb ...
Unpacking x11proto-core-dev (7.0.31-1) ...
Selecting previously unselected package libice-dev:armhf.
Preparing to unpack .../131-libice-dev_2%3a1.0.9-2_armhf.deb ...
Unpacking libice-dev:armhf (2:1.0.9-2) ...
Selecting previously unselected package libkpathsea6:armhf.
Preparing to unpack .../132-libkpathsea6_2016.20160513.41080.dfsg-2_armhf.deb ...
Unpacking libkpathsea6:armhf (2016.20160513.41080.dfsg-2) ...
Selecting previously unselected package libnspr4:armhf.
Preparing to unpack .../133-libnspr4_2%3a4.12-6_armhf.deb ...
Unpacking libnspr4:armhf (2:4.12-6) ...
Selecting previously unselected package libnss3:armhf.
Preparing to unpack .../134-libnss3_2%3a3.26.2-1_armhf.deb ...
Unpacking libnss3:armhf (2:3.26.2-1) ...
Selecting previously unselected package libpaper-utils.
Preparing to unpack .../135-libpaper-utils_1.1.24+nmu5_armhf.deb ...
Unpacking libpaper-utils (1.1.24+nmu5) ...
Selecting previously unselected package libpoppler64:armhf.
Preparing to unpack .../136-libpoppler64_0.48.0-2_armhf.deb ...
Unpacking libpoppler64:armhf (0.48.0-2) ...
Selecting previously unselected package libpotrace0.
Preparing to unpack .../137-libpotrace0_1.13-3_armhf.deb ...
Unpacking libpotrace0 (1.13-3) ...
Selecting previously unselected package libptexenc1:armhf.
Preparing to unpack .../138-libptexenc1_2016.20160513.41080.dfsg-2_armhf.deb ...
Unpacking libptexenc1:armhf (2016.20160513.41080.dfsg-2) ...
Selecting previously unselected package libpthread-stubs0-dev:armhf.
Preparing to unpack .../139-libpthread-stubs0-dev_0.3-4_armhf.deb ...
Unpacking libpthread-stubs0-dev:armhf (0.3-4) ...
Selecting previously unselected package libtinfo-dev:armhf.
Preparing to unpack .../140-libtinfo-dev_6.0+20161126-1_armhf.deb ...
Unpacking libtinfo-dev:armhf (6.0+20161126-1) ...
Selecting previously unselected package libreadline-dev:armhf.
Preparing to unpack .../141-libreadline-dev_7.0-3_armhf.deb ...
Unpacking libreadline-dev:armhf (7.0-3) ...
Selecting previously unselected package libsm-dev:armhf.
Preparing to unpack .../142-libsm-dev_2%3a1.2.2-1+b1_armhf.deb ...
Unpacking libsm-dev:armhf (2:1.2.2-1+b1) ...
Selecting previously unselected package libsynctex1:armhf.
Preparing to unpack .../143-libsynctex1_2016.20160513.41080.dfsg-2_armhf.deb ...
Unpacking libsynctex1:armhf (2016.20160513.41080.dfsg-2) ...
Selecting previously unselected package libtexlua52:armhf.
Preparing to unpack .../144-libtexlua52_2016.20160513.41080.dfsg-2_armhf.deb ...
Unpacking libtexlua52:armhf (2016.20160513.41080.dfsg-2) ...
Selecting previously unselected package libtexluajit2:armhf.
Preparing to unpack .../145-libtexluajit2_2016.20160513.41080.dfsg-2_armhf.deb ...
Unpacking libtexluajit2:armhf (2016.20160513.41080.dfsg-2) ...
Selecting previously unselected package libxau-dev:armhf.
Preparing to unpack .../146-libxau-dev_1%3a1.0.8-1_armhf.deb ...
Unpacking libxau-dev:armhf (1:1.0.8-1) ...
Selecting previously unselected package libxdmcp-dev:armhf.
Preparing to unpack .../147-libxdmcp-dev_1%3a1.1.2-3_armhf.deb ...
Unpacking libxdmcp-dev:armhf (1:1.1.2-3) ...
Selecting previously unselected package x11proto-input-dev.
Preparing to unpack .../148-x11proto-input-dev_2.3.2-1_all.deb ...
Unpacking x11proto-input-dev (2.3.2-1) ...
Selecting previously unselected package x11proto-kb-dev.
Preparing to unpack .../149-x11proto-kb-dev_1.0.7-1_all.deb ...
Unpacking x11proto-kb-dev (1.0.7-1) ...
Selecting previously unselected package xtrans-dev.
Preparing to unpack .../150-xtrans-dev_1.3.5-1_all.deb ...
Unpacking xtrans-dev (1.3.5-1) ...
Selecting previously unselected package libxcb1-dev:armhf.
Preparing to unpack .../151-libxcb1-dev_1.12-1_armhf.deb ...
Unpacking libxcb1-dev:armhf (1.12-1) ...
Selecting previously unselected package libx11-dev:armhf.
Preparing to unpack .../152-libx11-dev_2%3a1.6.4-3_armhf.deb ...
Unpacking libx11-dev:armhf (2:1.6.4-3) ...
Selecting previously unselected package libxmu6:armhf.
Preparing to unpack .../153-libxmu6_2%3a1.1.2-2_armhf.deb ...
Unpacking libxmu6:armhf (2:1.1.2-2) ...
Selecting previously unselected package libxaw7:armhf.
Preparing to unpack .../154-libxaw7_2%3a1.0.13-1_armhf.deb ...
Unpacking libxaw7:armhf (2:1.0.13-1) ...
Selecting previously unselected package x11proto-xext-dev.
Preparing to unpack .../155-x11proto-xext-dev_7.3.0-1_all.deb ...
Unpacking x11proto-xext-dev (7.3.0-1) ...
Selecting previously unselected package libxext-dev:armhf.
Preparing to unpack .../156-libxext-dev_2%3a1.3.3-1_armhf.deb ...
Unpacking libxext-dev:armhf (2:1.3.3-1) ...
Selecting previously unselected package libxt-dev:armhf.
Preparing to unpack .../157-libxt-dev_1%3a1.1.5-1_armhf.deb ...
Unpacking libxt-dev:armhf (1:1.1.5-1) ...
Selecting previously unselected package libxmu-headers.
Preparing to unpack .../158-libxmu-headers_2%3a1.1.2-2_all.deb ...
Unpacking libxmu-headers (2:1.1.2-2) ...
Selecting previously unselected package libxmu-dev:armhf.
Preparing to unpack .../159-libxmu-dev_2%3a1.1.2-2_armhf.deb ...
Unpacking libxmu-dev:armhf (2:1.1.2-2) ...
Selecting previously unselected package libxpm-dev:armhf.
Preparing to unpack .../160-libxpm-dev_1%3a3.5.12-1_armhf.deb ...
Unpacking libxpm-dev:armhf (1:3.5.12-1) ...
Selecting previously unselected package libxaw7-dev:armhf.
Preparing to unpack .../161-libxaw7-dev_2%3a1.0.13-1_armhf.deb ...
Unpacking libxaw7-dev:armhf (2:1.0.13-1) ...
Selecting previously unselected package t1utils.
Preparing to unpack .../162-t1utils_1.39-2_armhf.deb ...
Unpacking t1utils (1.39-2) ...
Selecting previously unselected package tex-common.
Preparing to unpack .../163-tex-common_6.06_all.deb ...
Unpacking tex-common (6.06) ...
Selecting previously unselected package texlive-binaries.
Preparing to unpack .../164-texlive-binaries_2016.20160513.41080.dfsg-2_armhf.deb ...
Unpacking texlive-binaries (2016.20160513.41080.dfsg-2) ...
Selecting previously unselected package xdg-utils.
Preparing to unpack .../165-xdg-utils_1.1.1-1_all.deb ...
Unpacking xdg-utils (1.1.1-1) ...
Selecting previously unselected package texlive-base.
Preparing to unpack .../166-texlive-base_2016.20170123-5_all.deb ...
Unpacking texlive-base (2016.20170123-5) ...
Selecting previously unselected package texlive-latex-base.
Preparing to unpack .../167-texlive-latex-base_2016.20170123-5_all.deb ...
Unpacking texlive-latex-base (2016.20170123-5) ...
Selecting previously unselected package sbuild-build-depends-hol88-dummy.
Preparing to unpack .../168-sbuild-build-depends-hol88-dummy_0.invalid.0_armhf.deb ...
Unpacking sbuild-build-depends-hol88-dummy (0.invalid.0) ...
Setting up libgs9-common (9.20~dfsg-3.1) ...
Setting up libkpathsea6:armhf (2016.20160513.41080.dfsg-2) ...
Setting up libtexlua52:armhf (2016.20160513.41080.dfsg-2) ...
Setting up imagemagick-6-common (8:6.9.7.4+dfsg-8) ...
Setting up libnettle6:armhf (3.3-1) ...
Setting up liblockfile-bin (1.14-1) ...
Setting up libexpat1:armhf (2.2.0-2) ...
Setting up libjson-glib-1.0-common (1.2.6-1) ...
Setting up libsynctex1:armhf (2016.20160513.41080.dfsg-2) ...
Setting up libopenjp2-7:armhf (2.1.2-1.1) ...
Setting up libptexenc1:armhf (2016.20160513.41080.dfsg-2) ...
Setting up glib-networking-common (2.50.0-1) ...
Setting up libjpeg62-turbo:armhf (1:1.5.1-2) ...
Setting up libarchive-zip-perl (1.59-1) ...
Setting up libpng16-16:armhf (1.6.28-1) ...
Setting up libtimedate-perl (2.3000-2) ...
Setting up liblcms2-2:armhf (2.8-4) ...
Setting up libjbig0:armhf (2.1-3.1) ...
Setting up libsigsegv2:armhf (2.10-5) ...
Setting up libgpm2:armhf (1.20.4-6.2) ...
Setting up libldap-common (2.4.44+dfsg-4) ...
Setting up libpthread-stubs0-dev:armhf (0.3-4) ...
Setting up fonts-dejavu-core (2.37-1) ...
Setting up poppler-data (0.4.7-8) ...
Setting up groff-base (1.22.3-9) ...
Setting up liblockfile1:armhf (1.14-1) ...
Setting up libasound2-data (1.1.3-5) ...
Setting up xorg-sgml-doctools (1:1.11-1) ...
Setting up emacsen-common (2.0.8) ...
Setting up libsasl2-modules-db:armhf (2.1.27~101-g0780600+dfsg-3) ...
Setting up libproxy1v5:armhf (0.4.14-2) ...
Setting up libsasl2-2:armhf (2.1.27~101-g0780600+dfsg-3) ...
Setting up libtinfo-dev:armhf (6.0+20161126-1) ...
Setting up libgdk-pixbuf2.0-common (2.36.5-2) ...
Setting up libdatrie1:armhf (0.2.10-4) ...
Setting up libtiff5:armhf (4.0.7-6) ...
Setting up gettext-base (0.19.8.1-2) ...
Setting up libgif7:armhf (5.1.4-0.4) ...
Setting up libpipeline1:armhf (1.4.1-2) ...
Setting up x11proto-kb-dev (1.0.7-1) ...
Setting up m4 (1.4.18-1) ...
Setting up libfftw3-double3:armhf (3.3.5-3) ...
Setting up libicu57:armhf (57.1-5) ...
Setting up m17n-db (1.7.0-2) ...
Setting up libbsd0:armhf (0.8.3-1) ...
Setting up libnspr4:armhf (2:4.12-6) ...
Setting up ucf (3.0036) ...
Setting up libxml2:armhf (2.9.4+dfsg1-2.2) ...
Setting up libfreetype6:armhf (2.6.3-3.2) ...
Setting up libtasn1-6:armhf (4.10-1) ...
Setting up libmagic-mgc (1:5.30-1) ...
Setting up libasound2:armhf (1.1.3-5) ...
Setting up libmagic1:armhf (1:5.30-1) ...
Setting up libhogweed4:armhf (3.3-1) ...
Setting up libgraphite2-3:armhf (1.3.10-1) ...
Setting up libatk1.0-data (2.22.0-1) ...
Setting up libjbig2dec0:armhf (0.13-4.1) ...
Setting up libpixman-1-0:armhf (0.34.0-1) ...
Setting up xtrans-dev (1.3.5-1) ...
Processing triggers for libc-bin (2.24-10) ...
Setting up libepoxy0:armhf (1.3.1-2) ...
Setting up autotools-dev (20161112.1) ...
Setting up libunistring0:armhf (0.9.6+really0.9.3-0.1) ...
Setting up t1utils (1.39-2) ...
Processing triggers for systemd (232-22) ...
Setting up libltdl7:armhf (2.4.6-2) ...
Setting up libreadline-dev:armhf (7.0-3) ...
Setting up libijs-0.35:armhf (0.35-12) ...
Setting up libopts25:armhf (1:5.18.12-3) ...
Setting up libfribidi0:armhf (0.19.7-1) ...
Setting up libpotrace0 (1.13-3) ...
Setting up libffi6:armhf (3.2.1-6) ...
Setting up libtcl8.6:armhf (8.6.6+dfsg-1) ...
Setting up libthai-data (0.1.26-1) ...
Setting up libxdmcp6:armhf (1:1.1.2-3) ...
Setting up libkeyutils1:armhf (1.5.9-9) ...
Setting up bsdmainutils (9.0.12+nmu1) ...
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:armhf (2:6.1.2+dfsg-1) ...
Setting up x11-common (1:7.7+19) ...
update-rc.d: warning: start and stop actions are no longer supported; falling back to defaults
Running in chroot, ignoring request.
All runlevel operations denied by policy
invoke-rc.d: policy-rc.d denied execution of start.
Setting up libzzip-0-13:armhf (0.13.62-3) ...
Setting up xdg-utils (1.1.1-1) ...
Setting up hicolor-icon-theme (0.15-1) ...
Setting up libtexluajit2:armhf (2016.20160513.41080.dfsg-2) ...
Setting up libx11-data (2:1.6.4-3) ...
Setting up libxau6:armhf (1:1.0.8-1) ...
Setting up autopoint (0.19.8.1-2) ...
Setting up fonts-lmodern (2.004.5-3) ...
Setting up libavahi-common-data:armhf (0.6.32-2) ...
Setting up libwebp6:armhf (0.5.2-1) ...
Setting up libfile-stripnondeterminism-perl (0.033-2) ...
Setting up libgmp-dev:armhf (2:6.1.2+dfsg-1) ...
Setting up libpaper1:armhf (1.1.24+nmu5) ...

Creating config file /etc/papersize with new version
Setting up gconf2-common (3.2.6-4) ...

Creating config file /etc/gconf/2/path with new version
Setting up libpaper-utils (1.1.24+nmu5) ...
Setting up libunbound2:armhf (1.6.0-3) ...
Setting up fontconfig-config (2.11.0-6.7) ...
Setting up tex-common (6.06) ...
update-language: texlive-base not installed and configured, doing nothing!
Setting up x11proto-core-dev (7.0.31-1) ...
Setting up libotf0:armhf (0.9.13-3) ...
Setting up emacs24-common (24.5+1-11) ...
Setting up libglib2.0-0:armhf (2.50.3-2) ...
Setting up libnss3:armhf (2:3.26.2-1) ...
Setting up libharfbuzz0b:armhf (1.4.2-1) ...
Setting up glib-networking-services (2.50.0-1) ...
Setting up libxau-dev:armhf (1:1.0.8-1) ...
Setting up autoconf (2.69-10) ...
Setting up libthai0:armhf (0.1.26-1) ...
Setting up file (1:5.30-1) ...
Setting up libkrb5support0:armhf (1.15-1) ...
Setting up libjson-glib-1.0-0:armhf (1.2.6-1) ...
Setting up libcroco3:armhf (0.6.11-3) ...
Setting up liblqr-1-0:armhf (0.4.2-2) ...
Setting up libxdmcp-dev:armhf (1:1.1.2-3) ...
Setting up libatk1.0-0:armhf (2.22.0-1) ...
Setting up libp11-kit0:armhf (0.23.3-2) ...
Setting up automake (1:1.15-6) ...
update-alternatives: using /usr/bin/automake-1.15 to provide /usr/bin/automake (automake) in auto mode
Setting up libice6:armhf (2:1.0.9-2) ...
Setting up libdconf1:armhf (0.26.0-2) ...
Setting up man-db (2.7.6.1-2) ...
Not building database; man-db/auto-update is not 'true'.
Setting up shared-mime-info (1.8-1) ...
Setting up libavahi-common3:armhf (0.6.32-2) ...
Setting up libcolord2:armhf (1.3.3-2) ...
Setting up libxcb1:armhf (1.12-1) ...
Setting up x11proto-input-dev (2.3.2-1) ...
Setting up libgmp3-dev (2:6.1.2+dfsg-1) ...
Setting up libtool (2.4.6-2) ...
Setting up libfontconfig1:armhf (2.11.0-6.7) ...
Setting up libsm6:armhf (2:1.2.2-1+b1) ...
Setting up libk5crypto3:armhf (1.15-1) ...
Setting up libxcb-render0:armhf (1.12-1) ...
Setting up libharfbuzz-icu0:armhf (1.4.2-1) ...
Setting up dconf-service (0.26.0-2) ...
Setting up gettext (0.19.8.1-2) ...
Setting up libdbus-glib-1-2:armhf (0.108-2) ...
Setting up libpoppler64:armhf (0.48.0-2) ...
Setting up libgconf-2-4:armhf (3.2.6-4) ...
Setting up libgnutls30:armhf (3.5.8-5) ...
Setting up libx11-6:armhf (2:1.6.4-3) ...
Setting up intltool-debian (0.35.0+20060710.4) ...
Setting up x11proto-xext-dev (7.3.0-1) ...
Setting up libldap-2.4-2:armhf (2.4.44+dfsg-4) ...
Setting up libice-dev:armhf (2:1.0.9-2) ...
Setting up libgnutls-dane0:armhf (3.5.8-5) ...
Setting up libxcomposite1:armhf (1:0.4.4-2) ...
Setting up libxcb-shm0:armhf (1.12-1) ...
Setting up libxpm4:armhf (1:3.5.12-1) ...
Setting up libxt6:armhf (1:1.1.5-1) ...
Setting up libxrender1:armhf (1:0.9.10-1) ...
Setting up libxcb1-dev:armhf (1.12-1) ...
Setting up libavahi-client3:armhf (0.6.32-2) ...
Setting up libkrb5-3:armhf (1.15-1) ...
Setting up libx11-dev:armhf (2:1.6.4-3) ...
Setting up gnutls-bin (3.5.8-5) ...
Setting up libxft2:armhf (2.3.2-1) ...
Setting up dconf-gsettings-backend:armhf (0.26.0-2) ...
Setting up fontconfig (2.11.0-6.7) ...
Regenerating fonts cache... done.
Setting up emacs24-bin-common (24.5+1-11) ...
update-alternatives: using /usr/bin/ctags.emacs24 to provide /usr/bin/ctags (ctags) in auto mode
update-alternatives: using /usr/bin/ebrowse.emacs24 to provide /usr/bin/ebrowse (ebrowse) in auto mode
update-alternatives: using /usr/bin/emacsclient.emacs24 to provide /usr/bin/emacsclient (emacsclient) in auto mode
update-alternatives: using /usr/bin/etags.emacs24 to provide /usr/bin/etags (etags) in auto mode
update-alternatives: using /usr/bin/grep-changelog.emacs24 to provide /usr/bin/grep-changelog (grep-changelog) in auto mode
Setting up libsm-dev:armhf (2:1.2.2-1+b1) ...
Setting up libxext6:armhf (2:1.3.3-1) ...
Setting up libxfixes3:armhf (1:5.0.3-1) ...
Setting up po-debconf (1.0.20) ...
Setting up gsettings-desktop-schemas (3.22.0-1) ...
Setting up libgtk-3-common (3.22.11-1+rpi1) ...
Setting up libxpm-dev:armhf (1:3.5.12-1) ...
Setting up libatspi2.0-0:armhf (2.22.0-6) ...
Setting up libxmu-headers (2:1.1.2-2) ...
Setting up libxss1:armhf (1:1.2.2-1) ...
Setting up libgdk-pixbuf2.0-0:armhf (2.36.5-2) ...
Setting up libgd3:armhf (2.2.4-2) ...
Setting up libxmu6:armhf (2:1.1.2-2) ...
Setting up libgssapi-krb5-2:armhf (1.15-1) ...
Setting up gconf-service (3.2.6-4) ...
Setting up gtk-update-icon-cache (3.22.11-1+rpi1) ...
Setting up libxcursor1:armhf (1:1.1.14-1+b1) ...
Setting up libm17n-0:armhf (1.7.0-3) ...
Setting up libxext-dev:armhf (2:1.3.3-1) ...
Setting up glib-networking:armhf (2.50.0-1) ...
Setting up libpango-1.0-0:armhf (1.40.5-1) ...
Setting up libatk-bridge2.0-0:armhf (2.22.0-2) ...
Setting up libxrandr2:armhf (2:1.5.1-1) ...
Setting up libcups2:armhf (2.2.1-8) ...
Setting up libxi6:armhf (2:1.7.9-1) ...
Setting up libxaw7:armhf (2:1.0.13-1) ...
Setting up libcairo2:armhf (1.14.8-1) ...
Setting up libxinerama1:armhf (2:1.1.3-1+b1) ...
Setting up libxt-dev:armhf (1:1.1.5-1) ...
Setting up libmagickcore-6.q16-3:armhf (8:6.9.7.4+dfsg-8) ...
Setting up libxdamage1:armhf (1:1.1.4-2+b1) ...
Setting up libxmu-dev:armhf (2:1.1.2-2) ...
Setting up libxaw7-dev:armhf (2:1.0.13-1) ...
Setting up libtk8.6:armhf (8.6.6-1) ...
Setting up libcairo-gobject2:armhf (1.14.8-1) ...
Setting up libsoup2.4-1:armhf (2.56.0-2) ...
Setting up libsoup-gnome2.4-1:armhf (2.56.0-2) ...
Setting up libpangoft2-1.0-0:armhf (1.40.5-1) ...
Setting up libcupsimage2:armhf (2.2.1-8) ...
Setting up libmagickwand-6.q16-3:armhf (8:6.9.7.4+dfsg-8) ...
Setting up librest-0.7-0:armhf (0.8.0-2) ...
Setting up libgs9:armhf (9.20~dfsg-3.1) ...
Setting up libpangocairo-1.0-0:armhf (1.40.5-1) ...
Setting up texlive-binaries (2016.20160513.41080.dfsg-2) ...
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 librsvg2-2:armhf (2.40.16-1) ...
Setting up librsvg2-common:armhf (2.40.16-1) ...
Setting up adwaita-icon-theme (3.22.0-1) ...
update-alternatives: using /usr/share/icons/Adwaita/cursor.theme to provide /usr/share/icons/default/index.theme (x-cursor-theme) in auto mode
Setting up libgtk-3-0:armhf (3.22.11-1+rpi1) ...
Setting up emacs24 (24.5+1-11) ...
update-alternatives: using /usr/bin/emacs24-x to provide /usr/bin/emacs (emacs) in auto mode
Install emacsen-common for emacs24
emacsen-common: Handling install of emacsen flavor emacs24
Wrote /etc/emacs24/site-start.d/00debian-vars.elc
Wrote /usr/share/emacs24/site-lisp/debian-startup.elc
Setting up gcl (2.6.12-47) ...

Creating config file /etc/default/gcl with new version
Install gcl for emacs24
install/gcl: Handling install for emacsen flavor emacs24
Loading 00debian-vars...
Loading /etc/emacs/site-start.d/50autoconf.el (source)...
Loading /etc/emacs/site-start.d/50gcl.el (source)...
Wrote /usr/share/emacs24/site-lisp/gcl/add-default.elc
Wrote /usr/share/emacs24/site-lisp/gcl/ansi-doc.elc
Wrote /usr/share/emacs24/site-lisp/gcl/dbl.elc
Wrote /usr/share/emacs24/site-lisp/gcl/default.elc
Wrote /usr/share/emacs24/site-lisp/gcl/doc-to-texi.elc
Wrote /usr/share/emacs24/site-lisp/gcl/gcl.elc
Wrote /usr/share/emacs24/site-lisp/gcl/man1-to-texi.elc
Wrote /usr/share/emacs24/site-lisp/gcl/smart-complete.elc
Wrote /usr/share/emacs24/site-lisp/gcl/sshell.elc
Processing triggers for tex-common (6.06) ...
update-language: texlive-base not installed and configured, doing nothing!
texlive-base is not ready, skipping fmtutil --all call
Setting up texlive-base (2016.20170123-5) ...
/usr/bin/tl-paper: setting paper size for dvips to a4.
/usr/bin/tl-paper: setting paper size for dvipdfmx to a4.
/usr/bin/tl-paper: setting paper size for xdvi to a4.
/usr/bin/tl-paper: setting paper size for pdftex to a4.
Processing triggers for tex-common (6.06) ...
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.
Setting up texlive-latex-base (2016.20170123-5) ...
Processing triggers for tex-common (6.06) ...
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.
Setting up debhelper (10.2.5) ...
Setting up sbuild-build-depends-hol88-dummy (0.invalid.0) ...
Setting up dh-autoreconf (14) ...
Setting up dh-strip-nondeterminism (0.033-2) ...
Processing triggers for libc-bin (2.24-10) ...
Processing triggers for systemd (232-22) ...
Processing triggers for libgdk-pixbuf2.0-0:armhf (2.36.5-2) ...

+------------------------------------------------------------------------------+
| Build environment                                                            |
+------------------------------------------------------------------------------+

Kernel: Linux 4.9.0-0.bpo.1-armmp armhf (armv7l)
Toolchain package versions: binutils_2.28-4 dpkg-dev_1.18.23 g++-6_6.3.0-14+rpi1 gcc-6_6.3.0-14+rpi1 libc6-dev_2.24-10 libstdc++-6-dev_6.3.0-14+rpi1 libstdc++6_6.3.0-14+rpi1 linux-libc-dev_3.18.5-1~exp1+rpi19+stretch
Package versions: adduser_3.115 adwaita-icon-theme_3.22.0-1 apt_1.4.1 autoconf_2.69-10 automake_1:1.15-6 autopoint_0.19.8.1-2 autotools-dev_20161112.1 base-files_9.9+rpi1 base-passwd_3.5.43 bash_4.4-4 binutils_2.28-4 bsdmainutils_9.0.12+nmu1 bsdutils_1:2.29.2-1 build-essential_12.3 bzip2_1.0.6-8.1 coreutils_8.26-3 cpio_2.11+dfsg-6 cpp_4:6.3.0-4 cpp-6_6.3.0-14+rpi1 dash_0.5.8-2.4 dconf-gsettings-backend_0.26.0-2 dconf-service_0.26.0-2 debconf_1.5.60 debfoster_2.7-2.1 debhelper_10.2.5 debianutils_4.8.1 dh-autoreconf_14 dh-strip-nondeterminism_0.033-2 diffutils_1:3.5-3 dmsetup_2:1.02.137-2 dpkg_1.18.23 dpkg-dev_1.18.23 e2fslibs_1.43.4-2 e2fsprogs_1.43.4-2 emacs24_24.5+1-11 emacs24-bin-common_24.5+1-11 emacs24-common_24.5+1-11 emacsen-common_2.0.8 fakeroot_1.21-3.1 file_1:5.30-1 findutils_4.6.0+git+20161106-2 fontconfig_2.11.0-6.7 fontconfig-config_2.11.0-6.7 fonts-dejavu-core_2.37-1 fonts-lmodern_2.004.5-3 fuse2fs_1.43.4-2 g++_4:6.3.0-4 g++-6_6.3.0-14+rpi1 gcc_4:6.3.0-4 gcc-4.6-base_4.6.4-5+rpi1 gcc-4.7-base_4.7.3-11+rpi1 gcc-4.8-base_4.8.5-4 gcc-4.9-base_4.9.3-14 gcc-6_6.3.0-14+rpi1 gcc-6-base_6.3.0-14+rpi1 gcl_2.6.12-47 gconf-service_3.2.6-4 gconf2-common_3.2.6-4 gettext_0.19.8.1-2 gettext-base_0.19.8.1-2 glib-networking_2.50.0-1 glib-networking-common_2.50.0-1 glib-networking-services_2.50.0-1 gnupg_2.1.18-6 gnupg-agent_2.1.18-6 gnupg-l10n_2.1.18-6 gnutls-bin_3.5.8-5 gpgv_2.1.18-6 grep_2.27-2 groff-base_1.22.3-9 gsettings-desktop-schemas_3.22.0-1 gtk-update-icon-cache_3.22.11-1+rpi1 gzip_1.6-5 hicolor-icon-theme_0.15-1 hostname_3.18 imagemagick-6-common_8:6.9.7.4+dfsg-8 init_1.47 init-system-helpers_1.47 initscripts_2.88dsf-59.9 insserv_1.14.0-5.4 intltool-debian_0.35.0+20060710.4 klibc-utils_2.0.4-9+rpi1 kmod_23-2 libacl1_2.2.52-3 libapparmor1_2.11.0-3 libapt-pkg5.0_1.4.1 libarchive-zip-perl_1.59-1 libasan3_6.3.0-14+rpi1 libasound2_1.1.3-5 libasound2-data_1.1.3-5 libassuan0_2.4.3-2 libatk-bridge2.0-0_2.22.0-2 libatk1.0-0_2.22.0-1 libatk1.0-data_2.22.0-1 libatomic1_6.3.0-14+rpi1 libatspi2.0-0_2.22.0-6 libattr1_1:2.4.47-2 libaudit-common_1:2.6.7-2 libaudit1_1:2.6.7-2 libavahi-client3_0.6.32-2 libavahi-common-data_0.6.32-2 libavahi-common3_0.6.32-2 libblkid1_2.29.2-1 libbsd0_0.8.3-1 libbz2-1.0_1.0.6-8.1 libc-bin_2.24-10 libc-dev-bin_2.24-10 libc6_2.24-10 libc6-dev_2.24-10 libcairo-gobject2_1.14.8-1 libcairo2_1.14.8-1 libcap-ng0_0.7.7-3 libcap2_1:2.25-1 libcap2-bin_1:2.25-1 libcc1-0_6.3.0-14+rpi1 libcolord2_1.3.3-2 libcomerr2_1.43.4-2 libcroco3_0.6.11-3 libcryptsetup4_2:1.7.3-3 libcups2_2.2.1-8 libcupsimage2_2.2.1-8 libdatrie1_0.2.10-4 libdb5.3_5.3.28-12 libdbus-1-3_1.10.18-1 libdbus-glib-1-2_0.108-2 libdconf1_0.26.0-2 libdebconfclient0_0.227 libdevmapper1.02.1_2:1.02.137-2 libdpkg-perl_1.18.23 libdrm2_2.4.74-1 libepoxy0_1.3.1-2 libexpat1_2.2.0-2 libfakeroot_1.21-3.1 libfdisk1_2.29.2-1 libffi6_3.2.1-6 libfftw3-double3_3.3.5-3 libfile-stripnondeterminism-perl_0.033-2 libfontconfig1_2.11.0-6.7 libfreetype6_2.6.3-3.2 libfribidi0_0.19.7-1 libfuse2_2.9.7-1 libgc1c2_1:7.4.2-8 libgcc-6-dev_6.3.0-14+rpi1 libgcc1_1:6.3.0-14+rpi1 libgconf-2-4_3.2.6-4 libgcrypt20_1.7.6-1 libgd3_2.2.4-2 libgdbm3_1.8.3-14 libgdk-pixbuf2.0-0_2.36.5-2 libgdk-pixbuf2.0-common_2.36.5-2 libgif7_5.1.4-0.4 libglib2.0-0_2.50.3-2 libgmp-dev_2:6.1.2+dfsg-1 libgmp10_2:6.1.2+dfsg-1 libgmp3-dev_2:6.1.2+dfsg-1 libgmpxx4ldbl_2:6.1.2+dfsg-1 libgnutls-dane0_3.5.8-5 libgnutls30_3.5.8-5 libgomp1_6.3.0-14+rpi1 libgpg-error0_1.26-2 libgpm2_1.20.4-6.2 libgraphite2-3_1.3.10-1 libgs9_9.20~dfsg-3.1 libgs9-common_9.20~dfsg-3.1 libgssapi-krb5-2_1.15-1 libgtk-3-0_3.22.11-1+rpi1 libgtk-3-common_3.22.11-1+rpi1 libharfbuzz-icu0_1.4.2-1 libharfbuzz0b_1.4.2-1 libhogweed4_3.3-1 libice-dev_2:1.0.9-2 libice6_2:1.0.9-2 libicu57_57.1-5 libidn11_1.33-1 libijs-0.35_0.35-12 libip4tc0_1.6.0+snapshot20161117-6 libisl15_0.18-1 libjbig0_2.1-3.1 libjbig2dec0_0.13-4.1 libjpeg62-turbo_1:1.5.1-2 libjson-glib-1.0-0_1.2.6-1 libjson-glib-1.0-common_1.2.6-1 libk5crypto3_1.15-1 libkeyutils1_1.5.9-9 libklibc_2.0.4-9+rpi1 libkmod2_23-2 libkpathsea6_2016.20160513.41080.dfsg-2 libkrb5-3_1.15-1 libkrb5support0_1.15-1 libksba8_1.3.5-2 liblcms2-2_2.8-4 libldap-2.4-2_2.4.44+dfsg-4 libldap-common_2.4.44+dfsg-4 liblockfile-bin_1.14-1 liblockfile1_1.14-1 liblqr-1-0_0.4.2-2 libltdl7_2.4.6-2 liblz4-1_0.0~r131-2 liblzma5_5.2.2-1.2 libm17n-0_1.7.0-3 libmagic-mgc_1:5.30-1 libmagic1_1:5.30-1 libmagickcore-6.q16-3_8:6.9.7.4+dfsg-8 libmagickwand-6.q16-3_8:6.9.7.4+dfsg-8 libmount1_2.29.2-1 libmpc3_1.0.3-1 libmpfr4_3.1.5-1 libncurses5_6.0+20161126-1 libncursesw5_6.0+20161126-1 libnettle6_3.3-1 libnpth0_1.3-1 libnspr4_2:4.12-6 libnss3_2:3.26.2-1 libopenjp2-7_2.1.2-1.1 libopts25_1:5.18.12-3 libotf0_0.9.13-3 libp11-kit0_0.23.3-2 libpam-modules_1.1.8-3.5 libpam-modules-bin_1.1.8-3.5 libpam-runtime_1.1.8-3.5 libpam0g_1.1.8-3.5 libpango-1.0-0_1.40.5-1 libpangocairo-1.0-0_1.40.5-1 libpangoft2-1.0-0_1.40.5-1 libpaper-utils_1.1.24+nmu5 libpaper1_1.1.24+nmu5 libpcre3_2:8.39-3 libperl5.24_5.24.1-2 libpipeline1_1.4.1-2 libpixman-1-0_0.34.0-1 libpng12-0_1.2.54-6 libpng16-16_1.6.28-1 libpoppler64_0.48.0-2 libpotrace0_1.13-3 libprocps6_2:3.3.12-3 libproxy1v5_0.4.14-2 libptexenc1_2016.20160513.41080.dfsg-2 libpthread-stubs0-dev_0.3-4 libreadline-dev_7.0-3 libreadline7_7.0-3 librest-0.7-0_0.8.0-2 librsvg2-2_2.40.16-1 librsvg2-common_2.40.16-1 libsasl2-2_2.1.27~101-g0780600+dfsg-3 libsasl2-modules-db_2.1.27~101-g0780600+dfsg-3 libseccomp2_2.3.1-2.1 libselinux1_2.6-3 libsemanage-common_2.6-2 libsemanage1_2.6-2 libsepol1_2.6-2 libsigsegv2_2.10-5 libsm-dev_2:1.2.2-1+b1 libsm6_2:1.2.2-1+b1 libsmartcols1_2.29.2-1 libsoup-gnome2.4-1_2.56.0-2 libsoup2.4-1_2.56.0-2 libsqlite3-0_3.16.2-3 libss2_1.43.4-2 libstdc++-6-dev_6.3.0-14+rpi1 libstdc++6_6.3.0-14+rpi1 libsynctex1_2016.20160513.41080.dfsg-2 libsystemd0_232-22 libtasn1-6_4.10-1 libtcl8.6_8.6.6+dfsg-1 libtexlua52_2016.20160513.41080.dfsg-2 libtexluajit2_2016.20160513.41080.dfsg-2 libthai-data_0.1.26-1 libthai0_0.1.26-1 libtiff5_4.0.7-6 libtimedate-perl_2.3000-2 libtinfo-dev_6.0+20161126-1 libtinfo5_6.0+20161126-1 libtk8.6_8.6.6-1 libtool_2.4.6-2 libubsan0_6.3.0-14+rpi1 libudev1_232-22 libunbound2_1.6.0-3 libunistring0_0.9.6+really0.9.3-0.1 libusb-0.1-4_2:0.1.12-30 libustr-1.0-1_1.0.4-6 libuuid1_2.29.2-1 libwebp6_0.5.2-1 libx11-6_2:1.6.4-3 libx11-data_2:1.6.4-3 libx11-dev_2:1.6.4-3 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.12-1 libxcb-shm0_1.12-1 libxcb1_1.12-1 libxcb1-dev_1.12-1 libxcomposite1_1:0.4.4-2 libxcursor1_1:1.1.14-1+b1 libxdamage1_1:1.1.4-2+b1 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-1 libxi6_2:1.7.9-1 libxinerama1_2:1.1.3-1+b1 libxml2_2.9.4+dfsg1-2.2 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.2-1 libxt-dev_1:1.1.5-1 libxt6_1:1.1.5-1 libzzip-0-13_0.13.62-3 linux-libc-dev_3.18.5-1~exp1+rpi19+stretch login_1:4.4-4 lsb-base_9.20161125+rpi1 m17n-db_1.7.0-2 m4_1.4.18-1 make_4.1-9.1 makedev_2.3.1-93 man-db_2.7.6.1-2 manpages_4.10-2 mawk_1.3.3-17 mount_2.29.2-1 multiarch-support_2.24-10 nano_2.7.4-1 ncurses-base_6.0+20161126-1 ncurses-bin_6.0+20161126-1 passwd_1:4.4-4 patch_2.7.5-1 perl_5.24.1-2 perl-base_5.24.1-2 perl-modules-5.24_5.24.1-2 pinentry-curses_1.0.0-2 po-debconf_1.0.20 poppler-data_0.4.7-8 procps_2:3.3.12-3 raspbian-archive-keyring_20120528.2 readline-common_7.0-2 sbuild-build-depends-core-dummy_0.invalid.0 sbuild-build-depends-hol88-dummy_0.invalid.0 sed_4.4-1 sensible-utils_0.0.9 shared-mime-info_1.8-1 startpar_0.59-3.1 systemd_232-22 systemd-sysv_232-22 sysv-rc_2.88dsf-59.9 sysvinit-utils_2.88dsf-59.9 t1utils_1.39-2 tar_1.29b-1.1 tex-common_6.06 texlive-base_2016.20170123-5 texlive-binaries_2016.20160513.41080.dfsg-2 texlive-latex-base_2016.20170123-5 tzdata_2017b-1 ucf_3.0036 udev_232-22 util-linux_2.29.2-1 x11-common_1:7.7+19 x11proto-core-dev_7.0.31-1 x11proto-input-dev_2.3.2-1 x11proto-kb-dev_1.0.7-1 x11proto-xext-dev_7.3.0-1 xdg-utils_1.1.1-1 xorg-sgml-doctools_1:1.11-1 xtrans-dev_1.3.5-1 xz-utils_5.2.2-1.2 zlib1g_1:1.2.8.dfsg-5

+------------------------------------------------------------------------------+
| Build                                                                        |
+------------------------------------------------------------------------------+


Unpack source
-------------

gpgv: unknown type of key resource 'trustedkeys.kbx'
gpgv: keyblock resource '/sbuild-nonexistent/.gnupg/trustedkeys.kbx': General error
gpgv: Signature made Thu May 11 19:41:09 2017 UTC
gpgv:                using RSA key B845CE510F9B714D
gpgv: Can't check signature: No public key
dpkg-source: warning: failed to verify signature on ./hol88_2.02.19940316-33.dsc
dpkg-source: info: extracting hol88 in /<<PKGBUILDDIR>>
dpkg-source: info: unpacking hol88_2.02.19940316.orig.tar.gz
dpkg-source: info: unpacking hol88_2.02.19940316-33.debian.tar.xz
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
LC_ALL=POSIX
LOGNAME=root
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
SCHROOT_ALIAS_NAME=stretch-staging-armhf-sbuild
SCHROOT_CHROOT_NAME=stretch-staging-armhf-sbuild
SCHROOT_COMMAND=env
SCHROOT_GID=109
SCHROOT_GROUP=buildd
SCHROOT_SESSION_ID=stretch-staging-armhf-sbuild-4d791a4c-aed0-4fd0-b22f-6057a02d9731
SCHROOT_UID=104
SCHROOT_USER=buildd
SHELL=/bin/sh
TERM=xterm
USER=buildd

dpkg-buildpackage
-----------------

dpkg-buildpackage: info: source package hol88
dpkg-buildpackage: info: source version 2.02.19940316-33
dpkg-buildpackage: info: source distribution unstable
 dpkg-source --before-build hol88-2.02.19940316
dpkg-buildpackage: info: host architecture armhf
 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 '/<<PKGBUILDDIR>>'
/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 '/<<PKGBUILDDIR>>'
(cd /<<PKGBUILDDIR>>/Library; /usr/bin/make Obj=o clean; cd ..)
make[3]: Entering directory '/<<PKGBUILDDIR>>/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 '/<<PKGBUILDDIR>>/Library/unwind'
rm -f *_ml.o *_ml.l
===> library unwind: all object code deleted
make[4]: Leaving directory '/<<PKGBUILDDIR>>/Library/unwind'
make[4]: Entering directory '/<<PKGBUILDDIR>>/Library/taut'
rm -f taut_check_ml.o taut_check_ml.l
===> library taut: all object code deleted
make[4]: Leaving directory '/<<PKGBUILDDIR>>/Library/taut'
make[4]: Entering directory '/<<PKGBUILDDIR>>/Library/sets'
rm -f *_ml.o
===> library sets: all object code deleted
make[4]: Leaving directory '/<<PKGBUILDDIR>>/Library/sets'
make[4]: Entering directory '/<<PKGBUILDDIR>>/Library/reduce'
rm -f boolconv_ml.o arithconv_ml.o reduce_ml.o
make[4]: Leaving directory '/<<PKGBUILDDIR>>/Library/reduce'
make[4]: Entering directory '/<<PKGBUILDDIR>>/Library/arith'
rm -f *_ml.l *_ml.o
===> library arith: all object code deleted
make[4]: Leaving directory '/<<PKGBUILDDIR>>/Library/arith'
make[4]: Entering directory '/<<PKGBUILDDIR>>/Library/pred_sets'
rm -f *_ml.o
===> library pred_sets: all object code deleted
make[4]: Leaving directory '/<<PKGBUILDDIR>>/Library/pred_sets'
make[4]: Entering directory '/<<PKGBUILDDIR>>/Library/string'
rm -f *_ml.o
===> library string: all object code deleted
make[4]: Leaving directory '/<<PKGBUILDDIR>>/Library/string'
make[4]: Entering directory '/<<PKGBUILDDIR>>/Library/finite_sets'
rm -f *_ml.o
===> library finite_sets: all object code deleted
make[4]: Leaving directory '/<<PKGBUILDDIR>>/Library/finite_sets'
make[4]: Entering directory '/<<PKGBUILDDIR>>/Library/res_quan'
rm -f *_ml.o
===> library res_quan: all object code deleted
make[4]: Leaving directory '/<<PKGBUILDDIR>>/Library/res_quan'
make[4]: Entering directory '/<<PKGBUILDDIR>>/Library/wellorder'
make[4]: 'clean' is up to date.
make[4]: Leaving directory '/<<PKGBUILDDIR>>/Library/wellorder'
make[4]: Entering directory '/<<PKGBUILDDIR>>/Library/abs_theory'
/bin/rm -f *_ml.o 
===> abs_theory. All object code deleted
make[4]: Leaving directory '/<<PKGBUILDDIR>>/Library/abs_theory'
make[4]: Entering directory '/<<PKGBUILDDIR>>/Library/reals'
cd theories; make clean
make[5]: Entering directory '/<<PKGBUILDDIR>>/Library/reals/theories'
rm -f *_ml.o
make[5]: Leaving directory '/<<PKGBUILDDIR>>/Library/reals/theories'
make[4]: Leaving directory '/<<PKGBUILDDIR>>/Library/reals'
make[4]: Entering directory '/<<PKGBUILDDIR>>/Library/window'
rm -f *.l *.c *.o *.h *.data
===> library window: all object code deleted
make[4]: Leaving directory '/<<PKGBUILDDIR>>/Library/window'
make[4]: Entering directory '/<<PKGBUILDDIR>>/Library/pair'
rm -f *.l *.c *.o *.h *.data *.i *.s *.ir
===> library pair: all object code deleted
make[4]: Leaving directory '/<<PKGBUILDDIR>>/Library/pair'
make[4]: Entering directory '/<<PKGBUILDDIR>>/Library/word'
rm -f *_ml.o
===> library word: all object code deleted
make[4]: Leaving directory '/<<PKGBUILDDIR>>/Library/word'
make[4]: Entering directory '/<<PKGBUILDDIR>>/Library/record_proof'
rm -f *_ml.o
===> library record_proof: all object code deleted
make[4]: Leaving directory '/<<PKGBUILDDIR>>/Library/record_proof'
make[4]: Entering directory '/<<PKGBUILDDIR>>/Library/parser'
rm -f *_ml.o *_ml.l *.o
===> library parser: all object code deleted
make[4]: Leaving directory '/<<PKGBUILDDIR>>/Library/parser'
make[4]: Entering directory '/<<PKGBUILDDIR>>/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 '/<<PKGBUILDDIR>>/Library/prettyp'
make[4]: Entering directory '/<<PKGBUILDDIR>>/Library/trs'
rm -f *_ml.l *_ml.o
===> library trs: all object code deleted
make[4]: Leaving directory '/<<PKGBUILDDIR>>/Library/trs'
make[4]: Entering directory '/<<PKGBUILDDIR>>/Library/latex-hol'
rm -f *.o
===> library latex-hol: all object code deleted
make[4]: Leaving directory '/<<PKGBUILDDIR>>/Library/latex-hol'
make[4]: Entering directory '/<<PKGBUILDDIR>>/Library/more_arithmetic'
rm -f *_ml.o
===> library more_arithmetic: all object code deleted
make[4]: Leaving directory '/<<PKGBUILDDIR>>/Library/more_arithmetic'
make[4]: Entering directory '/<<PKGBUILDDIR>>/Library/numeral'
rm -f numeral_rules_ml.o
make[4]: Leaving directory '/<<PKGBUILDDIR>>/Library/numeral'
make[4]: Entering directory '/<<PKGBUILDDIR>>/Library/ind_defs'
rm -f *_ml.o
===> library ind_defs: all object code deleted
make[4]: Leaving directory '/<<PKGBUILDDIR>>/Library/ind_defs'
===> all library object code deleted
make[3]: Leaving directory '/<<PKGBUILDDIR>>/Library'
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
=======> all hol and lisp object code deleted
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
[ ! -f Makefile ] || /usr/bin/make clobber
make[1]: Entering directory '/<<PKGBUILDDIR>>'
/bin/rm -f ml/*_ml.o ml/*_ml.l ml/site.ml lisp/*.o
/bin/rm -f /<<PKGBUILDDIR>>/theories/*.th hol-lcf basic-hol hol
/usr/bin/make clobber-library
make[2]: Entering directory '/<<PKGBUILDDIR>>'
(cd /<<PKGBUILDDIR>>/Library; /usr/bin/make Obj=o clobber; cd ..)
make[3]: Entering directory '/<<PKGBUILDDIR>>/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 '/<<PKGBUILDDIR>>/Library/unwind'
rm -f *_ml.o *_ml.l
===> library unwind: all object code deleted
make[4]: Leaving directory '/<<PKGBUILDDIR>>/Library/unwind'
make[4]: Entering directory '/<<PKGBUILDDIR>>/Library/taut'
rm -f taut_check_ml.o taut_check_ml.l
===> library taut: all object code deleted
make[4]: Leaving directory '/<<PKGBUILDDIR>>/Library/taut'
make[4]: Entering directory '/<<PKGBUILDDIR>>/Library/sets'
rm -f *_ml.o *_ml.l *.th 
===> library sets: all object code and theory files deleted
make[4]: Leaving directory '/<<PKGBUILDDIR>>/Library/sets'
make[4]: Entering directory '/<<PKGBUILDDIR>>/Library/reduce'
rm -f boolconv_ml.o arithconv_ml.o reduce_ml.o
make[4]: Leaving directory '/<<PKGBUILDDIR>>/Library/reduce'
make[4]: Entering directory '/<<PKGBUILDDIR>>/Library/arith'
rm -f *_ml.l *_ml.o
===> library arith: all object code deleted
make[4]: Leaving directory '/<<PKGBUILDDIR>>/Library/arith'
make[4]: Entering directory '/<<PKGBUILDDIR>>/Library/pred_sets'
rm -f *_ml.o *_ml.l *.th 
===> library pred_sets: all object code and theory files deleted
make[4]: Leaving directory '/<<PKGBUILDDIR>>/Library/pred_sets'
make[4]: Entering directory '/<<PKGBUILDDIR>>/Library/string'
rm -f *_ml.o *_ml.l *.th 
===> library string: all object code and theory files deleted
make[4]: Leaving directory '/<<PKGBUILDDIR>>/Library/string'
make[4]: Entering directory '/<<PKGBUILDDIR>>/Library/finite_sets'
rm -f *_ml.o *_ml.l *.th 
===> library finite_sets: object code and theory files deleted
make[4]: Leaving directory '/<<PKGBUILDDIR>>/Library/finite_sets'
make[4]: Entering directory '/<<PKGBUILDDIR>>/Library/res_quan'
rm -f *_ml.o *_ml.l *.th 
===> library res_quan: all object code and theory files deleted
make[4]: Leaving directory '/<<PKGBUILDDIR>>/Library/res_quan'
make[4]: Entering directory '/<<PKGBUILDDIR>>/Library/wellorder'
rm -f WELLORDER.th
make[4]: Leaving directory '/<<PKGBUILDDIR>>/Library/wellorder'
make[4]: Entering directory '/<<PKGBUILDDIR>>/Library/abs_theory'
/bin/rm -f *_ml.o *.th print
===> abs_theory: All object code and theory files deleted
make[4]: Leaving directory '/<<PKGBUILDDIR>>/Library/abs_theory'
make[4]: Entering directory '/<<PKGBUILDDIR>>/Library/reals'
cd theories; make clobber
make[5]: Entering directory '/<<PKGBUILDDIR>>/Library/reals/theories'
rm -f *_ml.o
rm -f *.th
make[5]: Leaving directory '/<<PKGBUILDDIR>>/Library/reals/theories'
make[4]: Leaving directory '/<<PKGBUILDDIR>>/Library/reals'
make[4]: Entering directory '/<<PKGBUILDDIR>>/Library/window'
rm -f *.l *.c *.o *.th *.h *.data
===> library window: all object code and theory files deleted
make[4]: Leaving directory '/<<PKGBUILDDIR>>/Library/window'
make[4]: Entering directory '/<<PKGBUILDDIR>>/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 '/<<PKGBUILDDIR>>/Library/pair'
make[4]: Entering directory '/<<PKGBUILDDIR>>/Library/word'
rm -f *_ml.o *_ml.l *.th 
===> library word: all object code and theory files deleted
make[4]: Leaving directory '/<<PKGBUILDDIR>>/Library/word'
make[4]: Entering directory '/<<PKGBUILDDIR>>/Library/record_proof'
rm -f *_ml.o *_ml.l *.th 
===> library record_proof: all object code and theory files deleted
make[4]: Leaving directory '/<<PKGBUILDDIR>>/Library/record_proof'
make[4]: Entering directory '/<<PKGBUILDDIR>>/Library/parser'
rm -f *_ml.o *_ml.l *.o
===> library parser: all object code deleted
make[4]: Leaving directory '/<<PKGBUILDDIR>>/Library/parser'
make[4]: Entering directory '/<<PKGBUILDDIR>>/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 '/<<PKGBUILDDIR>>/Library/prettyp'
make[4]: Entering directory '/<<PKGBUILDDIR>>/Library/trs'
rm -f *_ml.l *_ml.o
===> library trs: all object code deleted
make[4]: Leaving directory '/<<PKGBUILDDIR>>/Library/trs'
make[4]: Entering directory '/<<PKGBUILDDIR>>/Library/latex-hol'
rm -f latex_*_pp.ml  *.o
===> library latex-hol: all object code and _pp.ml file deleted
make[4]: Leaving directory '/<<PKGBUILDDIR>>/Library/latex-hol'
make[4]: Entering directory '/<<PKGBUILDDIR>>/Library/more_arithmetic'
rm -f *_ml.o *_ml.l *.th 
===> library more_arithmetic: all object code and theory files deleted
make[4]: Leaving directory '/<<PKGBUILDDIR>>/Library/more_arithmetic'
make[4]: Entering directory '/<<PKGBUILDDIR>>/Library/numeral'
rm -f numeral_rules_ml.o
rm -f numeral.th
make[4]: Leaving directory '/<<PKGBUILDDIR>>/Library/numeral'
make[4]: Entering directory '/<<PKGBUILDDIR>>/Library/ind_defs'
rm -f *_ml.o *_ml.l 
===> library ind_defs: all object code deleted
make[4]: Leaving directory '/<<PKGBUILDDIR>>/Library/ind_defs'
===> all library object code and theory files deleted
make[3]: Leaving directory '/<<PKGBUILDDIR>>/Library'
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
=======> all object code and theory files deleted
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
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 '/<<PKGBUILDDIR>>/Manual'
for i in Tutorial Description Reference Libraries Covers ; do /usr/bin/make -C $i clean ; done
make[2]: Entering directory '/<<PKGBUILDDIR>>/Manual/Tutorial'
rm -f *.dvi *.aux *.toc *.log 
make[2]: Leaving directory '/<<PKGBUILDDIR>>/Manual/Tutorial'
make[2]: Entering directory '/<<PKGBUILDDIR>>/Manual/Description'
rm -f *.dvi *.aux *.toc *.log *.idx *.ilg
make[2]: Leaving directory '/<<PKGBUILDDIR>>/Manual/Description'
make[2]: Entering directory '/<<PKGBUILDDIR>>/Manual/Reference'
rm -f *.dvi *.aux *.toc *.log *.idx *.ilg
make[2]: Leaving directory '/<<PKGBUILDDIR>>/Manual/Reference'
make[2]: Entering directory '/<<PKGBUILDDIR>>/Manual/Libraries'
rm -f *.dvi *.aux *.toc *.log 
make[2]: Leaving directory '/<<PKGBUILDDIR>>/Manual/Libraries'
make[2]: Entering directory '/<<PKGBUILDDIR>>/Manual/Covers'
rm -f *.log core *.aux *~ #* LOG
===> Fancy end and title pages cleaned up
make[2]: Leaving directory '/<<PKGBUILDDIR>>/Manual/Covers'
make[1]: Leaving directory '/<<PKGBUILDDIR>>/Manual'
[ ! -f Makefile ] || for i in $(find Library -name Manual); do /usr/bin/make -C $i clean ; done
make[1]: Entering directory '/<<PKGBUILDDIR>>/Library/unwind/Manual'
rm -f *.dvi *.aux *.toc *.log *.idx *.ilg
make[1]: Leaving directory '/<<PKGBUILDDIR>>/Library/unwind/Manual'
make[1]: Entering directory '/<<PKGBUILDDIR>>/Library/string/Manual'
rm -f *.dvi *.aux *.toc *.log *.idx *.ilg
make[1]: Leaving directory '/<<PKGBUILDDIR>>/Library/string/Manual'
make[1]: Entering directory '/<<PKGBUILDDIR>>/Library/taut/Manual'
rm -f *.dvi *.aux *.toc *.log *.idx *.ilg
make[1]: Leaving directory '/<<PKGBUILDDIR>>/Library/taut/Manual'
make[1]: Entering directory '/<<PKGBUILDDIR>>/Library/sets/Manual'
rm -f *.dvi *.aux *.toc *.log *.idx *.ilg
make[1]: Leaving directory '/<<PKGBUILDDIR>>/Library/sets/Manual'
make[1]: Entering directory '/<<PKGBUILDDIR>>/Library/finite_sets/Manual'
rm -f *.dvi *.aux *.toc *.log *.idx *.ilg
make[1]: Leaving directory '/<<PKGBUILDDIR>>/Library/finite_sets/Manual'
make[1]: Entering directory '/<<PKGBUILDDIR>>/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 '/<<PKGBUILDDIR>>/Library/reduce/Manual'
make[1]: Entering directory '/<<PKGBUILDDIR>>/Library/parser/Manual'
rm -f *.dvi *.aux *.toc *.log *.idx *.ilg
make[1]: Leaving directory '/<<PKGBUILDDIR>>/Library/parser/Manual'
make[1]: Entering directory '/<<PKGBUILDDIR>>/Library/prettyp/Manual'
rm -f *.dvi *.aux *.toc *.log *.idx *.ilg
make[1]: Leaving directory '/<<PKGBUILDDIR>>/Library/prettyp/Manual'
make[1]: Entering directory '/<<PKGBUILDDIR>>/Library/pred_sets/Manual'
rm -f *.dvi *.aux *.toc *.log *.idx *.ilg
make[1]: Leaving directory '/<<PKGBUILDDIR>>/Library/pred_sets/Manual'
make[1]: Entering directory '/<<PKGBUILDDIR>>/Library/trs/Manual'
rm -f *.dvi *.aux *.toc *.log *.idx *.ilg
make[1]: Leaving directory '/<<PKGBUILDDIR>>/Library/trs/Manual'
make[1]: Entering directory '/<<PKGBUILDDIR>>/Library/more_arithmetic/Manual'
rm -f *.dvi *.aux *.toc *.log *.idx *.ilg
make[1]: Leaving directory '/<<PKGBUILDDIR>>/Library/more_arithmetic/Manual'
make[1]: Entering directory '/<<PKGBUILDDIR>>/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 '/<<PKGBUILDDIR>>/Library/window/Manual'
make[1]: Entering directory '/<<PKGBUILDDIR>>/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 '/<<PKGBUILDDIR>>/Library/wellorder/Manual'
make[1]: Entering directory '/<<PKGBUILDDIR>>/Library/latex-hol/Manual'
rm -f *.dvi *.aux *.toc *.log *.idx *.ilg
make[1]: Leaving directory '/<<PKGBUILDDIR>>/Library/latex-hol/Manual'
make[1]: Entering directory '/<<PKGBUILDDIR>>/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 '/<<PKGBUILDDIR>>/Library/abs_theory/Manual'
make[1]: Entering directory '/<<PKGBUILDDIR>>/Library/arith/Manual'
rm -f *.dvi *.aux *.toc *.log *.idx *.ilg
make[1]: Leaving directory '/<<PKGBUILDDIR>>/Library/arith/Manual'
make[1]: Entering directory '/<<PKGBUILDDIR>>/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 '/<<PKGBUILDDIR>>/Library/reals/Manual'
make[1]: Entering directory '/<<PKGBUILDDIR>>/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 '/<<PKGBUILDDIR>>/Library/pair/Manual'
make[1]: Entering directory '/<<PKGBUILDDIR>>/Library/res_quan/Manual'
rm -f *.dvi *.aux *.toc *.log *.idx *.ilg
make[1]: Leaving directory '/<<PKGBUILDDIR>>/Library/res_quan/Manual'
make[1]: Entering directory '/<<PKGBUILDDIR>>/Library/word/Manual'
rm -f *.dvi *.aux *.toc *.log *.idx *.ilg
make[1]: Leaving directory '/<<PKGBUILDDIR>>/Library/word/Manual'
make[1]: Entering directory '/<<PKGBUILDDIR>>/Library/record_proof/Manual'
rm -f *.dvi *.aux *.toc *.log *.idx *.ilg
make[1]: Leaving directory '/<<PKGBUILDDIR>>/Library/record_proof/Manual'
make[1]: Entering directory '/<<PKGBUILDDIR>>/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 '/<<PKGBUILDDIR>>/Library/numeral/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 '/<<PKGBUILDDIR>>'
date
Mon May 22 04:48:17 UTC 2017
/usr/bin/make hol
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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.
; (SHADOW '(QUIT)) is being compiled.
;; Warning: The package operation (SHADOW '(QUIT)) was in a bad place.
; (SHADOW '(INCLUDE)) is being compiled.
;; Warning: The package operation (SHADOW '(INCLUDE)) was in a bad place.
; (SHADOW '(UNTIL WHILE)) is being compiled.
;; Warning: The package operation (SHADOW '(UNTIL WHILE)) was in a bad place.
; (SHADOW '(MEMQ ASSQ ...)) is being compiled.
;; Warning: The package operation (SHADOW '(MEMQ ASSQ DELQ PUTPROP)) was in a bad place.
; (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 /<<PKGBUILDDIR>>/lisp/f-cl.o.
#p"/<<PKGBUILDDIR>>/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 0x75f388 ;; Finished loading "lisp/f-cl"
16286

>
Compiling lisp/f-macro.l.
; (DEFMACRO EXISTS ...) is being compiled.
;; Warning: The variable IGNORE is not used.
; (DEFMACRO 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 /<<PKGBUILDDIR>>/lisp/f-macro.o.
#p"/<<PKGBUILDDIR>>/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 0x75f388 ;; Finished loading "lisp/f-cl"
16286

>
Compiling lisp/f-system.l.
;;; Including lisp/f-macrostart address -T 0x78ef80 
; (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 /<<PKGBUILDDIR>>/lisp/f-system.o.
#p"/<<PKGBUILDDIR>>/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 0x75f388 ;; Finished loading "lisp/f-cl"
16286

>
Compiling lisp/f-help.l.
;;; Including lisp/f-macrostart address -T 0x78ef80 
End of Pass 1.  
End of Pass 2.  
OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3
Finished compiling /<<PKGBUILDDIR>>/lisp/f-help.o.
#p"/<<PKGBUILDDIR>>/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 0x75f388 ;; Finished loading "lisp/f-cl"
16286

>
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 /<<PKGBUILDDIR>>/lisp/f-ol-rec.o.
#p"/<<PKGBUILDDIR>>/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 0x75f388 ;; Finished loading "lisp/f-cl"
16286

>
Compiling lisp/genmacs.l.
;;; Including lisp/f-macrostart address -T 0x78ef80 
;;; Including lisp/f-ol-recstart address -T 0x781460 
End of Pass 1.  
End of Pass 2.  
OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3
Finished compiling /<<PKGBUILDDIR>>/lisp/genmacs.o.
#p"/<<PKGBUILDDIR>>/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 0x75f388 ;; Finished loading "lisp/f-cl"
16286

>
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 /<<PKGBUILDDIR>>/lisp/mk-ml.o.
#p"/<<PKGBUILDDIR>>/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 0x75f388 ;; Finished loading "lisp/f-cl"
16286

>
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 /<<PKGBUILDDIR>>/lisp/mk-hol-lcf.o.
#p"/<<PKGBUILDDIR>>/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 0x75f388 ;; Finished loading "lisp/f-cl"
16286

>
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 /<<PKGBUILDDIR>>/lisp/f-constants.o.
#p"/<<PKGBUILDDIR>>/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 0x75f388 ;; Finished loading "lisp/f-cl"
16286

>
Compiling lisp/f-site.l.
;;; Including lisp/f-constantsstart address -T 0x7c01f8 
End of Pass 1.  
End of Pass 2.  
OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3
Finished compiling /<<PKGBUILDDIR>>/lisp/f-site.o.
#p"/<<PKGBUILDDIR>>/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 0x75f388 ;; Finished loading "lisp/f-cl"
16286

>
Compiling lisp/f-gp.l.
;;; Including lisp/f-constantsstart address -T 0x7c01f8 
;;; Including lisp/f-macrostart address -T 0x790f80 
End of Pass 1.  
End of Pass 2.  
OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3
Finished compiling /<<PKGBUILDDIR>>/lisp/f-gp.o.
#p"/<<PKGBUILDDIR>>/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 0x75f388 ;; Finished loading "lisp/f-cl"
16286

>
Compiling lisp/f-parser.l.
;;; Including lisp/f-constantsstart address -T 0x7c01f8 
;;; Including lisp/f-macrostart address -T 0x790f80 
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 /<<PKGBUILDDIR>>/lisp/f-parser.o.
#p"/<<PKGBUILDDIR>>/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 0x75f388 ;; Finished loading "lisp/f-cl"
16286

>
Compiling lisp/f-parsml.l.
;;; Including lisp/f-constantsstart address -T 0x7c01f8 
;;; Including lisp/f-macrostart address -T 0x790f80 
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 /<<PKGBUILDDIR>>/lisp/f-parsml.o.
#p"/<<PKGBUILDDIR>>/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 0x75f388 ;; Finished loading "lisp/f-cl"
16286

>
Compiling lisp/f-mlprin.l.
;;; Including lisp/f-constantsstart address -T 0x7c01f8 
;;; Including lisp/f-macrostart address -T 0x790f80 
End of Pass 1.  
End of Pass 2.  
OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3
Finished compiling /<<PKGBUILDDIR>>/lisp/f-mlprin.o.
#p"/<<PKGBUILDDIR>>/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 0x75f388 ;; Finished loading "lisp/f-cl"
16286

>
Compiling lisp/f-typeml.l.
;;; Including lisp/f-constantsstart address -T 0x7c01f8 
;;; Including lisp/f-macrostart address -T 0x790f80 
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 ISDEFTYPE was replaced by iteration.
;; Note: Tail-recursive call of ATCH was replaced by iteration.
;; Note: Tail-recursive call of GETTYPETID 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 /<<PKGBUILDDIR>>/lisp/f-typeml.o.
#p"/<<PKGBUILDDIR>>/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 0x75f388 ;; Finished loading "lisp/f-cl"
16286

>
Compiling lisp/f-dml.l.
;;; Including lisp/f-macrostart address -T 0x78ef80 
;;; Including lisp/f-constantsstart address -T 0x7571c8 
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.  
OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3
Finished compiling /<<PKGBUILDDIR>>/lisp/f-dml.o.
#p"/<<PKGBUILDDIR>>/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 0x75f388 ;; Finished loading "lisp/f-cl"
16286

>
Compiling lisp/f-format.l.
;;; Including lisp/f-macrostart address -T 0x78ef80 
;;; Including lisp/f-constantsstart address -T 0x7571c8 
End of Pass 1.  
End of Pass 2.  
OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3
Finished compiling /<<PKGBUILDDIR>>/lisp/f-format.o.
#p"/<<PKGBUILDDIR>>/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 0x75f388 ;; Finished loading "lisp/f-cl"
16286

>
Compiling lisp/f-tran.l.
;;; Including lisp/f-constantsstart address -T 0x7c01f8 
;;; Including lisp/f-macrostart address -T 0x790f80 
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 FAP was replaced by iteration.
;; Note: Tail-recursive call of CHECKS was replaced by iteration.
End of Pass 2.  
OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3
Finished compiling /<<PKGBUILDDIR>>/lisp/f-tran.o.
#p"/<<PKGBUILDDIR>>/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 0x75f388 ;; Finished loading "lisp/f-cl"
16286

>
Compiling lisp/f-iox-stand.l.
;;; Including lisp/f-constantsstart address -T 0x7c01f8 
;;; Including lisp/f-macrostart address -T 0x790f80 
End of Pass 1.  
End of Pass 2.  
OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3
Finished compiling /<<PKGBUILDDIR>>/lisp/f-iox-stand.o.
#p"/<<PKGBUILDDIR>>/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 0x75f388 ;; Finished loading "lisp/f-cl"
16286

>
Compiling lisp/f-writml.l.
;;; Including lisp/f-constantsstart address -T 0x7c01f8 
;;; Including lisp/f-macrostart address -T 0x790f80 
; (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 /<<PKGBUILDDIR>>/lisp/f-writml.o.
#p"/<<PKGBUILDDIR>>/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 0x75f388 ;; Finished loading "lisp/f-cl"
16286

>
Compiling lisp/f-tml.l.
;;; Including lisp/f-constantsstart address -T 0x7c01f8 
;;; Including lisp/f-macrostart address -T 0x790f80 
; (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 /<<PKGBUILDDIR>>/lisp/f-tml.o.
#p"/<<PKGBUILDDIR>>/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 0x75f388 ;; Finished loading "lisp/f-cl"
16286

>
Compiling lisp/f-lis.l.
;;; Including lisp/f-constantsstart address -T 0x7c01f8 
;;; Including lisp/f-macrostart address -T 0x790f80 
End of Pass 1.  
End of Pass 2.  
OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3
Finished compiling /<<PKGBUILDDIR>>/lisp/f-lis.o.
#p"/<<PKGBUILDDIR>>/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 0x75f388 ;; Finished loading "lisp/f-cl"
16286

>
Compiling lisp/f-parsol.l.
;;; Including lisp/f-constantsstart address -T 0x7c01f8 
;;; Including lisp/f-macrostart address -T 0x790f80 
; (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 /<<PKGBUILDDIR>>/lisp/f-parsol.o.
#p"/<<PKGBUILDDIR>>/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 0x75f388 ;; Finished loading "lisp/f-cl"
16286

>
Compiling lisp/f-typeol.l.
;;; Including lisp/f-constantsstart address -T 0x7c01f8 
;;; Including lisp/f-macrostart address -T 0x790f80 
;;; Including lisp/f-ol-recstart address -T 0x781460 
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.  
OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3
Finished compiling /<<PKGBUILDDIR>>/lisp/f-typeol.o.
#p"/<<PKGBUILDDIR>>/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 0x75f388 ;; Finished loading "lisp/f-cl"
16286

>
Compiling lisp/f-writol.l.
;;; Including lisp/f-constantsstart address -T 0x7c01f8 
;;; Including lisp/f-macrostart address -T 0x790f80 
;;; Including lisp/f-ol-recstart address -T 0x781460 
;;; Including lisp/genmacsstart address -T 0x796140 
End of Pass 1.  
End of Pass 2.  
OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3
Finished compiling /<<PKGBUILDDIR>>/lisp/f-writol.o.
#p"/<<PKGBUILDDIR>>/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 0x75f388 ;; Finished loading "lisp/f-cl"
16286

>
Compiling lisp/f-thyfns.l.
;;; Including lisp/f-constantsstart address -T 0x7c01f8 
;;; Including lisp/f-macrostart address -T 0x790f80 
;;; Including lisp/f-ol-recstart address -T 0x781460 
; (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 /<<PKGBUILDDIR>>/lisp/f-thyfns.o.
#p"/<<PKGBUILDDIR>>/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 0x75f388 ;; Finished loading "lisp/f-cl"
16286

>
Compiling lisp/f-freadth.l.
;;; Including lisp/f-macrostart address -T 0x78ef80 
; (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 /<<PKGBUILDDIR>>/lisp/f-freadth.o.
#p"/<<PKGBUILDDIR>>/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 0x75f388 ;; Finished loading "lisp/f-cl"
16286

>
Compiling lisp/f-ol-syntax.l.
;;; Including lisp/f-constantsstart address -T 0x7c01f8 
;;; Including lisp/f-macrostart address -T 0x790f80 
;;; Including lisp/f-ol-recstart address -T 0x781460 
; (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 /<<PKGBUILDDIR>>/lisp/f-ol-syntax.o.
#p"/<<PKGBUILDDIR>>/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 0x75f388 ;; Finished loading "lisp/f-cl"
16286

>
Compiling lisp/f-subst.l.
;;; Including lisp/f-constantsstart address -T 0x7c01f8 
;;; Including lisp/f-macrostart address -T 0x790f80 
;;; Including lisp/f-ol-recstart address -T 0x781460 
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 /<<PKGBUILDDIR>>/lisp/f-subst.o.
#p"/<<PKGBUILDDIR>>/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 0x75f388 ;; Finished loading "lisp/f-cl"
16286

>
Compiling lisp/f-inst.l.
;;; Including lisp/f-constantsstart address -T 0x7c01f8 
;;; Including lisp/f-macrostart address -T 0x790f80 
;;; Including lisp/f-ol-recstart address -T 0x781460 
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 /<<PKGBUILDDIR>>/lisp/f-inst.o.
#p"/<<PKGBUILDDIR>>/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 0x75f388 ;; Finished loading "lisp/f-cl"
16286

>
Compiling lisp/f-simpl.l.
;;; Including lisp/f-constantsstart address -T 0x7c01f8 
;;; Including lisp/f-macrostart address -T 0x790f80 
;;; Including lisp/f-ol-recstart address -T 0x781460 
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.  
OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3
Finished compiling /<<PKGBUILDDIR>>/lisp/f-simpl.o.
#p"/<<PKGBUILDDIR>>/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 0x75f388 ;; Finished loading "lisp/f-cl"
16286

>
Compiling lisp/f-ol-net.l.
;;; Including lisp/f-constantsstart address -T 0x7c01f8 
;;; Including lisp/f-macrostart address -T 0x790f80 
;;; Including lisp/f-ol-recstart address -T 0x781460 
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 /<<PKGBUILDDIR>>/lisp/f-ol-net.o.
#p"/<<PKGBUILDDIR>>/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 0x75f388 ;; Finished loading "lisp/f-cl"
;; Loading "lisp/f-system"
start address -T 0x77f460 ;; Finished loading "lisp/f-system"
;; Loading "lisp/f-constants"
start address -T 0x7c01f8 ;; Finished loading "lisp/f-constants"
;; Loading "lisp/f-site"
start address -T 0x7def98 ;; Finished loading "lisp/f-site"
;; Loading "lisp/f-gp"
start address -T 0x794f80 ;; Finished loading "lisp/f-gp"
;; Loading "lisp/f-parser"
start address -T 0x7c6668 ;; Finished loading "lisp/f-parser"
;; Loading "lisp/f-parsml"
start address -T 0x72c058 ;; Finished loading "lisp/f-parsml"
;; Loading "lisp/f-mlprin"
start address -T 0x74c0d8 ;; Finished loading "lisp/f-mlprin"
;; Loading "lisp/f-typeml"
start address -T 0x7197c0 ;; Finished loading "lisp/f-typeml"
;; Loading "lisp/f-dml"
start address -T 0x751c58 ;; Finished loading "lisp/f-dml"
;; Loading "lisp/f-format"
start address -T 0x79fc80 ;; Finished loading "lisp/f-format"
;; Loading "lisp/f-tran"
start address -T 0x70d768 ;; Finished loading "lisp/f-tran"
;; Loading "lisp/f-iox-stand"
start address -T 0x739ea0 ;; Finished loading "lisp/f-iox-stand"
;; Loading "lisp/f-writml"
start address -T 0x716338 ;; Finished loading "lisp/f-writml"
;; Loading "lisp/f-tml"
start address -T 0x7400c8 ;; Finished loading "lisp/f-tml"
;; Loading "lisp/f-lis"
start address -T 0x722998 ;; Finished loading "lisp/f-lis"
;; Loading "lisp/f-ol-rec"
start address -T 0x7966a0 ;; Finished loading "lisp/f-ol-rec"
;; Loading "lisp/f-help"
start address -T 0x753e70 ;; Finished loading "lisp/f-help"
start address -T 0x7deab0 ;; Finished loading "lisp/mk-ml"
548

>;; Loading "lisp/mk-hol-lcf"
;; Loading "lisp/f-parsol"
start address -T 0x7b73e8 ;; Finished loading "lisp/f-parsol"
;; Loading "lisp/f-typeol"
start address -T 0x763848 ;; Finished loading "lisp/f-typeol"
;; Loading "lisp/f-help"
start address -T 0x7a5840 ;; Finished loading "lisp/f-help"
;; Loading "lisp/f-format"
start address -T 0x7bc1d0 ;; Finished loading "lisp/f-format"
;; Loading "lisp/f-writol"
start address -T 0x76bda8 ;; Finished loading "lisp/f-writol"
;; Loading "lisp/f-thyfns"
start address -T 0x771600 ;; Finished loading "lisp/f-thyfns"
;; Loading "lisp/f-freadth"
Warning: lisp/f-freadth.l is redefining function THY-READ
start address -T 0x77ae98 ;; Finished loading "lisp/f-freadth"
;; Loading "lisp/f-ol-syntax"
start address -T 0x8ee008 ;; Finished loading "lisp/f-ol-syntax"
;; Loading "lisp/f-subst"
start address -T 0x8f6538 ;; Finished loading "lisp/f-subst"
;; Loading "lisp/f-inst"
start address -T 0x8fbc48 ;; Finished loading "lisp/f-inst"
;; Loading "lisp/f-simpl"
start address -T 0x900cb8 ;; Finished loading "lisp/f-simpl"
;; Loading "lisp/f-ol-net"
start address -T 0x903ec0 ;; Finished loading "lisp/f-ol-net"
start address -T 0x723c00 ;; Finished loading "lisp/mk-hol-lcf"
548

>
"HOL-LCF"

>
""

>
"2.02 (GCL)"

>
NIL

>
HOL-LCF version 2.02 (GCL) created 22/5/17

#
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 0x75f388 ;; Finished loading "lisp/f-cl"
;; Loading "lisp/f-system"
start address -T 0x77f460 ;; Finished loading "lisp/f-system"
;; Loading "lisp/f-constants"
start address -T 0x7c01f8 ;; Finished loading "lisp/f-constants"
;; Loading "lisp/f-site"
start address -T 0x7def98 ;; Finished loading "lisp/f-site"
;; Loading "lisp/f-gp"
start address -T 0x794f80 ;; Finished loading "lisp/f-gp"
;; Loading "lisp/f-parser"
start address -T 0x7c6668 ;; Finished loading "lisp/f-parser"
;; Loading "lisp/f-parsml"
start address -T 0x72c058 ;; Finished loading "lisp/f-parsml"
;; Loading "lisp/f-mlprin"
start address -T 0x74c0d8 ;; Finished loading "lisp/f-mlprin"
;; Loading "lisp/f-typeml"
start address -T 0x7197c0 ;; Finished loading "lisp/f-typeml"
;; Loading "lisp/f-dml"
start address -T 0x751c58 ;; Finished loading "lisp/f-dml"
;; Loading "lisp/f-format"
start address -T 0x79fc80 ;; Finished loading "lisp/f-format"
;; Loading "lisp/f-tran"
start address -T 0x70d768 ;; Finished loading "lisp/f-tran"
;; Loading "lisp/f-iox-stand"
start address -T 0x739ea0 ;; Finished loading "lisp/f-iox-stand"
;; Loading "lisp/f-writml"
start address -T 0x716338 ;; Finished loading "lisp/f-writml"
;; Loading "lisp/f-tml"
start address -T 0x7400c8 ;; Finished loading "lisp/f-tml"
;; Loading "lisp/f-lis"
start address -T 0x722998 ;; Finished loading "lisp/f-lis"
;; Loading "lisp/f-ol-rec"
start address -T 0x7966a0 ;; Finished loading "lisp/f-ol-rec"
;; Loading "lisp/f-help"
start address -T 0x753e70 ;; Finished loading "lisp/f-help"
start address -T 0x7deab0 ;; Finished loading "lisp/mk-ml"
548

>;; Loading "lisp/mk-hol-lcf"
;; Loading "lisp/f-parsol"
start address -T 0x7b73e8 ;; Finished loading "lisp/f-parsol"
;; Loading "lisp/f-typeol"
start address -T 0x763848 ;; Finished loading "lisp/f-typeol"
;; Loading "lisp/f-help"
start address -T 0x7a5840 ;; Finished loading "lisp/f-help"
;; Loading "lisp/f-format"
start address -T 0x7bc1d0 ;; Finished loading "lisp/f-format"
;; Loading "lisp/f-writol"
start address -T 0x76bda8 ;; Finished loading "lisp/f-writol"
;; Loading "lisp/f-thyfns"
start address -T 0x771600 ;; Finished loading "lisp/f-thyfns"
;; Loading "lisp/f-freadth"
Warning: lisp/f-freadth.l is redefining function THY-READ
start address -T 0x77ae98 ;; Finished loading "lisp/f-freadth"
;; Loading "lisp/f-ol-syntax"
start address -T 0x8ee008 ;; Finished loading "lisp/f-ol-syntax"
;; Loading "lisp/f-subst"
start address -T 0x8f6538 ;; Finished loading "lisp/f-subst"
;; Loading "lisp/f-inst"
start address -T 0x8fbc48 ;; Finished loading "lisp/f-inst"
;; Loading "lisp/f-simpl"
start address -T 0x900cb8 ;; Finished loading "lisp/f-simpl"
;; Loading "lisp/f-ol-net"
start address -T 0x903ec0 ;; Finished loading "lisp/f-ol-net"
start address -T 0x723c00 ;; Finished loading "lisp/mk-hol-lcf"
548

>
"HOL-LCF"

>
""

>
"2.02 (GCL)"

>
NIL

>
HOL-LCF version 2.02 (GCL) created 22/5/17

#.............start address -T 0x90b6f8 () : 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 0x75f388 ;; Finished loading "lisp/f-cl"
;; Loading "lisp/f-system"
start address -T 0x77f460 ;; Finished loading "lisp/f-system"
;; Loading "lisp/f-constants"
start address -T 0x7c01f8 ;; Finished loading "lisp/f-constants"
;; Loading "lisp/f-site"
start address -T 0x7def98 ;; Finished loading "lisp/f-site"
;; Loading "lisp/f-gp"
start address -T 0x794f80 ;; Finished loading "lisp/f-gp"
;; Loading "lisp/f-parser"
start address -T 0x7c6668 ;; Finished loading "lisp/f-parser"
;; Loading "lisp/f-parsml"
start address -T 0x72c058 ;; Finished loading "lisp/f-parsml"
;; Loading "lisp/f-mlprin"
start address -T 0x74c0d8 ;; Finished loading "lisp/f-mlprin"
;; Loading "lisp/f-typeml"
start address -T 0x7197c0 ;; Finished loading "lisp/f-typeml"
;; Loading "lisp/f-dml"
start address -T 0x751c58 ;; Finished loading "lisp/f-dml"
;; Loading "lisp/f-format"
start address -T 0x79fc80 ;; Finished loading "lisp/f-format"
;; Loading "lisp/f-tran"
start address -T 0x70d768 ;; Finished loading "lisp/f-tran"
;; Loading "lisp/f-iox-stand"
start address -T 0x739ea0 ;; Finished loading "lisp/f-iox-stand"
;; Loading "lisp/f-writml"
start address -T 0x716338 ;; Finished loading "lisp/f-writml"
;; Loading "lisp/f-tml"
start address -T 0x7400c8 ;; Finished loading "lisp/f-tml"
;; Loading "lisp/f-lis"
start address -T 0x722998 ;; Finished loading "lisp/f-lis"
;; Loading "lisp/f-ol-rec"
start address -T 0x7966a0 ;; Finished loading "lisp/f-ol-rec"
;; Loading "lisp/f-help"
start address -T 0x753e70 ;; Finished loading "lisp/f-help"
start address -T 0x7deab0 ;; Finished loading "lisp/mk-ml"
548

>;; Loading "lisp/mk-hol-lcf"
;; Loading "lisp/f-parsol"
start address -T 0x7b73e8 ;; Finished loading "lisp/f-parsol"
;; Loading "lisp/f-typeol"
start address -T 0x763848 ;; Finished loading "lisp/f-typeol"
;; Loading "lisp/f-help"
start address -T 0x7a5840 ;; Finished loading "lisp/f-help"
;; Loading "lisp/f-format"
start address -T 0x7bc1d0 ;; Finished loading "lisp/f-format"
;; Loading "lisp/f-writol"
start address -T 0x76bda8 ;; Finished loading "lisp/f-writol"
;; Loading "lisp/f-thyfns"
start address -T 0x771600 ;; Finished loading "lisp/f-thyfns"
;; Loading "lisp/f-freadth"
Warning: lisp/f-freadth.l is redefining function THY-READ
start address -T 0x77ae98 ;; Finished loading "lisp/f-freadth"
;; Loading "lisp/f-ol-syntax"
start address -T 0x8ee008 ;; Finished loading "lisp/f-ol-syntax"
;; Loading "lisp/f-subst"
start address -T 0x8f6538 ;; Finished loading "lisp/f-subst"
;; Loading "lisp/f-inst"
start address -T 0x8fbc48 ;; Finished loading "lisp/f-inst"
;; Loading "lisp/f-simpl"
start address -T 0x900cb8 ;; Finished loading "lisp/f-simpl"
;; Loading "lisp/f-ol-net"
start address -T 0x903ec0 ;; Finished loading "lisp/f-ol-net"
start address -T 0x723c00 ;; Finished loading "lisp/mk-hol-lcf"
548

>
"HOL-LCF"

>
""

>
"2.02 (GCL)"

>
NIL

>
HOL-LCF version 2.02 (GCL) created 22/5/17

#.............start address -T 0x90b6f8 () : void

......................start address -T 0x90ec50 () : 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/;/<<PKGBUILDDIR>>/ml/;g" \
    -e "s;lisp/;/<<PKGBUILDDIR>>/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 0x75f388 ;; Finished loading "lisp/f-cl"
;; Loading "lisp/f-system"
start address -T 0x77f460 ;; Finished loading "lisp/f-system"
;; Loading "lisp/f-constants"
start address -T 0x7c01f8 ;; Finished loading "lisp/f-constants"
;; Loading "lisp/f-site"
start address -T 0x7def98 ;; Finished loading "lisp/f-site"
;; Loading "lisp/f-gp"
start address -T 0x794f80 ;; Finished loading "lisp/f-gp"
;; Loading "lisp/f-parser"
start address -T 0x7c6668 ;; Finished loading "lisp/f-parser"
;; Loading "lisp/f-parsml"
start address -T 0x72c058 ;; Finished loading "lisp/f-parsml"
;; Loading "lisp/f-mlprin"
start address -T 0x74c0d8 ;; Finished loading "lisp/f-mlprin"
;; Loading "lisp/f-typeml"
start address -T 0x7197c0 ;; Finished loading "lisp/f-typeml"
;; Loading "lisp/f-dml"
start address -T 0x751c58 ;; Finished loading "lisp/f-dml"
;; Loading "lisp/f-format"
start address -T 0x79fc80 ;; Finished loading "lisp/f-format"
;; Loading "lisp/f-tran"
start address -T 0x70d768 ;; Finished loading "lisp/f-tran"
;; Loading "lisp/f-iox-stand"
start address -T 0x739ea0 ;; Finished loading "lisp/f-iox-stand"
;; Loading "lisp/f-writml"
start address -T 0x716338 ;; Finished loading "lisp/f-writml"
;; Loading "lisp/f-tml"
start address -T 0x7400c8 ;; Finished loading "lisp/f-tml"
;; Loading "lisp/f-lis"
start address -T 0x722998 ;; Finished loading "lisp/f-lis"
;; Loading "lisp/f-ol-rec"
start address -T 0x7966a0 ;; Finished loading "lisp/f-ol-rec"
;; Loading "lisp/f-help"
start address -T 0x753e70 ;; Finished loading "lisp/f-help"
start address -T 0x7deab0 ;; Finished loading "lisp/mk-ml"
548

>;; Loading "lisp/mk-hol-lcf"
;; Loading "lisp/f-parsol"
start address -T 0x7b73e8 ;; Finished loading "lisp/f-parsol"
;; Loading "lisp/f-typeol"
start address -T 0x763848 ;; Finished loading "lisp/f-typeol"
;; Loading "lisp/f-help"
start address -T 0x7a5840 ;; Finished loading "lisp/f-help"
;; Loading "lisp/f-format"
start address -T 0x7bc1d0 ;; Finished loading "lisp/f-format"
;; Loading "lisp/f-writol"
start address -T 0x76bda8 ;; Finished loading "lisp/f-writol"
;; Loading "lisp/f-thyfns"
start address -T 0x771600 ;; Finished loading "lisp/f-thyfns"
;; Loading "lisp/f-freadth"
Warning: lisp/f-freadth.l is redefining function THY-READ
start address -T 0x77ae98 ;; Finished loading "lisp/f-freadth"
;; Loading "lisp/f-ol-syntax"
start address -T 0x8ee008 ;; Finished loading "lisp/f-ol-syntax"
;; Loading "lisp/f-subst"
start address -T 0x8f6538 ;; Finished loading "lisp/f-subst"
;; Loading "lisp/f-inst"
start address -T 0x8fbc48 ;; Finished loading "lisp/f-inst"
;; Loading "lisp/f-simpl"
start address -T 0x900cb8 ;; Finished loading "lisp/f-simpl"
;; Loading "lisp/f-ol-net"
start address -T 0x903ec0 ;; Finished loading "lisp/f-ol-net"
start address -T 0x723c00 ;; Finished loading "lisp/mk-hol-lcf"
548

>
"HOL-LCF"

>
""

>
"2.02 (GCL)"

>
NIL

>
HOL-LCF version 2.02 (GCL) created 22/5/17

#
concat = - : (string -> string -> string)

ml_dir_pathname = `/<<PKGBUILDDIR>>/ml/` : string

lisp_dir_pathname = 
`/<<PKGBUILDDIR>>/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 0x75f388 ;; Finished loading "lisp/f-cl"
;; Loading "lisp/f-system"
start address -T 0x78ef80 ;; Finished loading "lisp/f-system"
;; Loading "lisp/f-constants"
start address -T 0x7571c8 ;; Finished loading "lisp/f-constants"
;; Loading "lisp/f-site"
start address -T 0x7df0f8 ;; Finished loading "lisp/f-site"
;; Loading "lisp/f-gp"
start address -T 0x795968 ;; Finished loading "lisp/f-gp"
;; Loading "lisp/f-parser"
start address -T 0x7c8668 ;; Finished loading "lisp/f-parser"
;; Loading "lisp/f-parsml"
start address -T 0x72e058 ;; Finished loading "lisp/f-parsml"
;; Loading "lisp/f-mlprin"
start address -T 0x74e0d8 ;; Finished loading "lisp/f-mlprin"
;; Loading "lisp/f-typeml"
start address -T 0x7197c0 ;; Finished loading "lisp/f-typeml"
;; Loading "lisp/f-dml"
start address -T 0x79dc80 ;; Finished loading "lisp/f-dml"
;; Loading "lisp/f-format"
start address -T 0x7a1e98 ;; Finished loading "lisp/f-format"
;; Loading "lisp/f-tran"
start address -T 0x70d768 ;; Finished loading "lisp/f-tran"
;; Loading "lisp/f-iox-stand"
start address -T 0x73bea0 ;; Finished loading "lisp/f-iox-stand"
;; Loading "lisp/f-writml"
start address -T 0x716338 ;; Finished loading "lisp/f-writml"
;; Loading "lisp/f-tml"
start address -T 0x7ad3e8 ;; Finished loading "lisp/f-tml"
;; Loading "lisp/f-lis"
start address -T 0x722998 ;; Finished loading "lisp/f-lis"
;; Loading "lisp/f-ol-rec"
start address -T 0x781460 ;; Finished loading "lisp/f-ol-rec"
;; Loading "lisp/f-help"
start address -T 0x7480c8 ;; Finished loading "lisp/f-help"
start address -T 0x7dec10 ;; Finished loading "lisp/mk-ml"
;; Loading "lisp/mk-hol-lcf"
;; Loading "lisp/f-parsol"
start address -T 0x7b9c20 ;; Finished loading "lisp/f-parsol"
;; Loading "lisp/f-typeol"
start address -T 0x765848 ;; Finished loading "lisp/f-typeol"
;; Loading "lisp/f-help"
start address -T 0x7a5bb8 ;; Finished loading "lisp/f-help"
;; Loading "lisp/f-format"
start address -T 0x76bda8 ;; Finished loading "lisp/f-format"
;; Loading "lisp/f-writol"
start address -T 0x76f968 ;; Finished loading "lisp/f-writol"
;; Loading "lisp/f-thyfns"
start address -T 0x8e4008 ;; Finished loading "lisp/f-thyfns"
;; Loading "lisp/f-freadth"
Warning: lisp/f-freadth.l is redefining function THY-READ
start address -T 0x7bca08 ;; Finished loading "lisp/f-freadth"
;; Loading "lisp/f-ol-syntax"
start address -T 0x8ed8a0 ;; Finished loading "lisp/f-ol-syntax"
;; Loading "lisp/f-subst"
start address -T 0x8f3dd0 ;; Finished loading "lisp/f-subst"
;; Loading "lisp/f-inst"
start address -T 0x8f94e0 ;; Finished loading "lisp/f-inst"
;; Loading "lisp/f-simpl"
start address -T 0x77b1c0 ;; Finished loading "lisp/f-simpl"
;; Loading "lisp/f-ol-net"
start address -T 0x900550 ;; Finished loading "lisp/f-ol-net"
start address -T 0x748590 ;; Finished loading "lisp/mk-hol-lcf"

<system name> version 2.02 (GCL) created 22/5/17

#...start address -T 0x754498 () : void

.............start address -T 0x909d88 () : void

......................start address -T 0x90d2e0 () : void

..................................start address -T 0x913a88 () : 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 0x75f388 ;; Finished loading "lisp/f-cl"
16286

>
Compiling lisp/genfns.l.
;;; Including lisp/f-macrostart address -T 0x78ef80 
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 /<<PKGBUILDDIR>>/lisp/genfns.o.
#p"/<<PKGBUILDDIR>>/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 0x75f388 ;; Finished loading "lisp/f-cl"
16286

>
Compiling lisp/gnt.l.
;;; Including lisp/f-constantsstart address -T 0x7c01f8 
;;; Including lisp/f-macrostart address -T 0x790f80 
;;; Including lisp/f-ol-recstart address -T 0x781460 
End of Pass 1.  
End of Pass 2.  
OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3
Finished compiling /<<PKGBUILDDIR>>/lisp/gnt.o.
#p"/<<PKGBUILDDIR>>/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 0x75f388 ;; Finished loading "lisp/f-cl"
16286

>
Compiling lisp/hol-pars.l.
;;; Including lisp/f-constantsstart address -T 0x7c01f8 
;;; Including lisp/f-macrostart address -T 0x790f80 
;;; Including lisp/f-ol-recstart address -T 0x781460 
;;; Including lisp/genmacsstart address -T 0x796140 
; (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 /<<PKGBUILDDIR>>/lisp/hol-pars.o.
#p"/<<PKGBUILDDIR>>/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 0x75f388 ;; Finished loading "lisp/f-cl"
16286

>
Compiling lisp/parslist.l.
;;; Including lisp/f-constantsstart address -T 0x7c01f8 
;;; Including lisp/f-macrostart address -T 0x790f80 
;;; Including lisp/f-ol-recstart address -T 0x781460 
;;; Including lisp/genmacsstart address -T 0x796140 
; (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 /<<PKGBUILDDIR>>/lisp/parslist.o.
#p"/<<PKGBUILDDIR>>/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 0x75f388 ;; Finished loading "lisp/f-cl"
16286

>
Compiling lisp/parslet.l.
;;; Including lisp/f-constantsstart address -T 0x7c01f8 
;;; Including lisp/f-macrostart address -T 0x790f80 
;;; Including lisp/f-ol-recstart address -T 0x781460 
End of Pass 1.  
End of Pass 2.  
OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3
Finished compiling /<<PKGBUILDDIR>>/lisp/parslet.o.
#p"/<<PKGBUILDDIR>>/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 0x75f388 ;; Finished loading "lisp/f-cl"
16286

>
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 /<<PKGBUILDDIR>>/lisp/constp.o.
#p"/<<PKGBUILDDIR>>/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 0x75f388 ;; Finished loading "lisp/f-cl"
16286

>
Compiling lisp/hol-writ.l.
;;; Including lisp/f-constantsstart address -T 0x7c01f8 
;;; Including lisp/f-macrostart address -T 0x790f80 
;;; Including lisp/f-ol-recstart address -T 0x781460 
;;; Including lisp/genmacsstart address -T 0x796140 
; (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 /<<PKGBUILDDIR>>/lisp/hol-writ.o.
#p"/<<PKGBUILDDIR>>/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 0x75f388 ;; Finished loading "lisp/f-cl"
16286

>
Compiling lisp/mk_pp_thm.l.
;;; Including lisp/f-macrostart address -T 0x78ef80 
;;; Including lisp/f-ol-recstart address -T 0x781460 
;;; Including lisp/genmacsstart address -T 0x794140 
End of Pass 1.  
End of Pass 2.  
OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3
Finished compiling /<<PKGBUILDDIR>>/lisp/mk_pp_thm.o.
#p"/<<PKGBUILDDIR>>/lisp/mk_pp_thm.o"

>cd /<<PKGBUILDDIR>>/theories; rm -f PPLAMB.th;\
/<<PKGBUILDDIR>>/hol-lcf < /<<PKGBUILDDIR>>/theories/mk_PPLAMB.ml;\
cd /<<PKGBUILDDIR>>

HOL-LCF version 2.02 (GCL) created 22/5/17

###########################() : void

##() : void

##() : void

##=======> theory PPLAMB built
cd /<<PKGBUILDDIR>>/theories; rm -f bool.th;\
/<<PKGBUILDDIR>>/hol-lcf < /<<PKGBUILDDIR>>/theories/mk_bool.ml;\
cd /<<PKGBUILDDIR>>

HOL-LCF version 2.02 (GCL) created 22/5/17

################################################################################################() : void

##Theory PPLAMB loaded
() : void

##() : void

##() : void

##() : void

#####|-"HOL_ASSERT $= = $=" : thm

###
() : void

() : void

() : void

() : void

() : void

() : void

() : void

() : void

........() : void

...................................................................................................................................() : void


File /<<PKGBUILDDIR>>/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 /<<PKGBUILDDIR>>/theories; rm -f ind.th;\
/<<PKGBUILDDIR>>/hol-lcf < /<<PKGBUILDDIR>>/theories/mk_ind.ml;\
cd /<<PKGBUILDDIR>>

HOL-LCF version 2.02 (GCL) created 22/5/17

############################() : void

##Theory bool loaded
() : void

##() : void

##
() : void

() : void

() : void

() : void

() : void

() : void

() : void

() : void

........() : void

...................................................................................................................................() : void


File /<<PKGBUILDDIR>>/ml/hol-in-out loaded
() : void

##|- ?f. ONE_ONE f /\ ~ONTO f

##() : void

##=======> theory ind built
cd /<<PKGBUILDDIR>>/theories; rm -f BASIC-HOL.th;\
/<<PKGBUILDDIR>>/hol-lcf < /<<PKGBUILDDIR>>/theories/mk_BASIC-HOL.ml;\
cd /<<PKGBUILDDIR>>

HOL-LCF version 2.02 (GCL) created 22/5/17

############################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 22/5/17

#
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[``; `/<<PKGBUILDDIR>>/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 22/5/17

#() : 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[``; `/<<PKGBUILDDIR>>/theories/`];;'\
     'load_theory `bool`;;'\
     'compilet `ml/hol-rule`;;'\
     'quit();;'\
     | hol-lcf

HOL-LCF version 2.02 (GCL) created 22/5/17

#() : 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[``; `/<<PKGBUILDDIR>>/theories/`];;'\
     'load_theory `bool`;;'\
     'compilet `ml/hol-drule`;;'\
     'quit();;'\
     | hol-lcf

HOL-LCF version 2.02 (GCL) created 22/5/17

#() : 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[``; `/<<PKGBUILDDIR>>/theories/`];;'\
     'load_theory `bool`;;'\
     'compilet `ml/drul`;;'\
     'quit();;'\
     | hol-lcf

HOL-LCF version 2.02 (GCL) created 22/5/17

#() : 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[``; `/<<PKGBUILDDIR>>/theories/`];;'\
     'load_theory `bool`;;'\
     'compilet `ml/hol-thyfn`;;'\
     'quit();;'\
     | hol-lcf

HOL-LCF version 2.02 (GCL) created 22/5/17

#() : 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[``; `/<<PKGBUILDDIR>>/theories/`];;'\
     'load_theory `bool`;;'\
     'compilet `ml/tacticals`;;'\
     'quit();;'\
     | hol-lcf

HOL-LCF version 2.02 (GCL) created 22/5/17

#() : 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[``; `/<<PKGBUILDDIR>>/theories/`];;'\
     'load_theory `bool`;;'\
     'compilet `ml/tacont`;;'\
     'quit();;'\
     | hol-lcf

HOL-LCF version 2.02 (GCL) created 22/5/17

#() : 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[``; `/<<PKGBUILDDIR>>/theories/`];;'\
     'load_theory `bool`;;'\
     'compilet `ml/tactics`;;'\
     'quit();;'\
     | hol-lcf

HOL-LCF version 2.02 (GCL) created 22/5/17

#() : 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[``; `/<<PKGBUILDDIR>>/theories/`];;'\
     'load_theory `bool`;;'\
     'compilet `ml/conv`;;'\
     'quit();;'\
     | hol-lcf

HOL-LCF version 2.02 (GCL) created 22/5/17

#() : 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[``; `/<<PKGBUILDDIR>>/theories/`];;'\
     'load_theory `bool`;;'\
     'compilet `ml/hol-net`;;'\
     'quit();;'\
     | hol-lcf

HOL-LCF version 2.02 (GCL) created 22/5/17

#() : 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[``; `/<<PKGBUILDDIR>>/theories/`];;'\
     'load_theory `bool`;;'\
     'compilet `ml/rewrite`;;'\
     'quit();;'\
     | hol-lcf

HOL-LCF version 2.02 (GCL) created 22/5/17

#() : 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[``; `/<<PKGBUILDDIR>>/theories/`];;'\
     'load_theory `bool`;;'\
     'compilet `ml/resolve`;;'\
     'quit();;'\
     | hol-lcf

HOL-LCF version 2.02 (GCL) created 22/5/17

#() : 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[``; `/<<PKGBUILDDIR>>/theories/`];;'\
     'load_theory `bool`;;'\
     'compilet `ml/goals`;;'\
     'quit();;'\
     | hol-lcf

HOL-LCF version 2.02 (GCL) created 22/5/17

#() : 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[``; `/<<PKGBUILDDIR>>/theories/`];;'\
     'load_theory `bool`;;'\
     'compilet `ml/stack`;;'\
     'quit();;'\
     | hol-lcf

HOL-LCF version 2.02 (GCL) created 22/5/17

#() : 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[``; `/<<PKGBUILDDIR>>/theories/`];;'\
     'load_theory `BASIC-HOL`;;'\
     'compilet `ml/abs-rep`;;'\
     'quit();;'\
     | hol-lcf

HOL-LCF version 2.02 (GCL) created 22/5/17

#() : 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[``; `/<<PKGBUILDDIR>>/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 22/5/17

#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 22/5/17

#() : 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 /<<PKGBUILDDIR>>/theories; rm -f combin.th;\
/<<PKGBUILDDIR>>/basic-hol < /<<PKGBUILDDIR>>/theories/mk_combin.ml;\
cd /<<PKGBUILDDIR>>

BASIC-HOL version 2.02 (GCL) created 22/5/17

##########################() : 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 /<<PKGBUILDDIR>>/theories; rm -f num.th;\
/<<PKGBUILDDIR>>/basic-hol < /<<PKGBUILDDIR>>/theories/mk_num.ml;\
cd /<<PKGBUILDDIR>>

BASIC-HOL version 2.02 (GCL) created 22/5/17

##############################() : 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 /<<PKGBUILDDIR>>/theories; rm -f prim_rec.th;\
/<<PKGBUILDDIR>>/basic-hol < /<<PKGBUILDDIR>>/theories/mk_prim_rec.ml;\
cd /<<PKGBUILDDIR>>

BASIC-HOL version 2.02 (GCL) created 22/5/17

#######################################################################() : 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 /<<PKGBUILDDIR>>/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 /<<PKGBUILDDIR>>/theories; rm -f fun.th;\
/<<PKGBUILDDIR>>/basic-hol < /<<PKGBUILDDIR>>/theories/mk_fun.ml;\
cd /<<PKGBUILDDIR>>

BASIC-HOL version 2.02 (GCL) created 22/5/17

###########################() : 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 /<<PKGBUILDDIR>>/theories; rm -f arithmetic.th;\
/<<PKGBUILDDIR>>/basic-hol < /<<PKGBUILDDIR>>/theories/mk_arith.ml;\
/<<PKGBUILDDIR>>/basic-hol < /<<PKGBUILDDIR>>/theories/mk_arith_thms.ml;\
cd /<<PKGBUILDDIR>>

BASIC-HOL version 2.02 (GCL) created 22/5/17

#############################() : 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 /<<PKGBUILDDIR>>/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 22/5/17

###########################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 /<<PKGBUILDDIR>>/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 /<<PKGBUILDDIR>>/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 /<<PKGBUILDDIR>>/theories; rm -f list.th;\
/<<PKGBUILDDIR>>/basic-hol < /<<PKGBUILDDIR>>/theories/mk_list.ml;\
/<<PKGBUILDDIR>>/basic-hol < /<<PKGBUILDDIR>>/theories/mk_list_defs.ml;\
/<<PKGBUILDDIR>>/basic-hol < /<<PKGBUILDDIR>>/theories/mk_list_thms.ml;\
cd /<<PKGBUILDDIR>>

BASIC-HOL version 2.02 (GCL) created 22/5/17

##################################() : 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 /<<PKGBUILDDIR>>/ml/ind.ml loaded
() : void

#####INDUCT_TAC = - : tactic

####
num_CONV = - : conv


File /<<PKGBUILDDIR>>/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 22/5/17

#################################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 /<<PKGBUILDDIR>>/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 /<<PKGBUILDDIR>>/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 /<<PKGBUILDDIR>>/ml/tyfns.ml loaded
() : void

####LIST_INDUCT_TAC = - : tactic

##
num_CONV = - : conv


File /<<PKGBUILDDIR>>/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 22/5/17

###############################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 /<<PKGBUILDDIR>>/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 /<<PKGBUILDDIR>>/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 /<<PKGBUILDDIR>>/ml/tyfns.ml loaded
() : void

##
num_CONV = - : conv


File /<<PKGBUILDDIR>>/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 <string> 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 <string> 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 /<<PKGBUILDDIR>>/theories; rm -f tree.th;\
/<<PKGBUILDDIR>>/basic-hol < /<<PKGBUILDDIR>>/theories/mk_tree.ml;\
cd /<<PKGBUILDDIR>>

BASIC-HOL version 2.02 (GCL) created 22/5/17

#############################() : 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 /<<PKGBUILDDIR>>/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 /<<PKGBUILDDIR>>/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 /<<PKGBUILDDIR>>/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 /<<PKGBUILDDIR>>/theories; rm -f ltree.th;\
/<<PKGBUILDDIR>>/basic-hol < /<<PKGBUILDDIR>>/theories/mk_ltree.ml;\
cd /<<PKGBUILDDIR>>

BASIC-HOL version 2.02 (GCL) created 22/5/17

############################() : 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 /<<PKGBUILDDIR>>/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 /<<PKGBUILDDIR>>/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 /<<PKGBUILDDIR>>/theories; rm -f tydefs.th;\
/<<PKGBUILDDIR>>/basic-hol < /<<PKGBUILDDIR>>/theories/mk_tydefs.ml;\
cd /<<PKGBUILDDIR>>

BASIC-HOL version 2.02 (GCL) created 22/5/17

############################() : 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 /<<PKGBUILDDIR>>/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 /<<PKGBUILDDIR>>/theories; rm -f sum.th;\
/<<PKGBUILDDIR>>/basic-hol < /<<PKGBUILDDIR>>/theories/mk_sum.ml;\
cd /<<PKGBUILDDIR>>

BASIC-HOL version 2.02 (GCL) created 22/5/17

############################################() : 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 /<<PKGBUILDDIR>>/theories; rm -f one.th;\
/<<PKGBUILDDIR>>/basic-hol < /<<PKGBUILDDIR>>/theories/mk_one.ml;\
cd /<<PKGBUILDDIR>>

BASIC-HOL version 2.02 (GCL) created 22/5/17

##################################() : 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 /<<PKGBUILDDIR>>/theories; rm -f HOL.th;\
echo 'new_theory `HOL`;;'\
     'map new_parent [`one`;`sum`;`tydefs`];;'\
     'close_theory();;'\
     'quit();;'\
     | /<<PKGBUILDDIR>>/basic-hol;\
cd /<<PKGBUILDDIR>>

BASIC-HOL version 2.02 (GCL) created 22/5/17

#() : 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 22/5/17

#Theory num loaded
() : void


num_CONV = - : conv

Calling Lisp compiler

File ml/numconv compiled
() : void

#echo 'set_search_path[``; `/<<PKGBUILDDIR>>/theories/`];;'\
     'load_theory `HOL`;;'\
     'compilet `ml/tydefs`;;'\
     'quit();;'\
| basic-hol

BASIC-HOL version 2.02 (GCL) created 22/5/17

#() : 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 22/5/17

#

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 22/5/17

#

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[``; `/<<PKGBUILDDIR>>/theories/`];;'\
     'load_theory `HOL`;;'\
     'compilet `ml/tyfns`;;'\
     'quit();;'\
| basic-hol

BASIC-HOL version 2.02 (GCL) created 22/5/17

#() : 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[``; `/<<PKGBUILDDIR>>/theories/`];;'\
     'load_theory `HOL`;;'\
     'compilet `ml/num`;;'\
     'quit();;'\
| basic-hol

BASIC-HOL version 2.02 (GCL) created 22/5/17

#() : 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[``; `/<<PKGBUILDDIR>>/theories/`];;'\
     'load_theory `HOL`;;'\
     'compilet `ml/list`;;'\
     'quit();;'\
| basic-hol

BASIC-HOL version 2.02 (GCL) created 22/5/17

#() : 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 22/5/17

#
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 0x75f388 ;; Finished loading "lisp/f-cl"
16286

>
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 /<<PKGBUILDDIR>>/lisp/banner.o.
#p"/<<PKGBUILDDIR>>/lisp/banner.o"

>echo 'set_search_path[``; `/<<PKGBUILDDIR>>/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 "/<<PKGBUILDDIR>>")`;;'\
     'lisp `(setq %lib-dir "/<<PKGBUILDDIR>>/Library")`;;'\
     'lisp `(setq %liszt "")`;;'\
     'lisp `(setq %version "2.02 (GCL)")`;;'\
     'set_flag(`abort_when_fail`,false);;'\
     'set_search_path[``; `~/`; `/<<PKGBUILDDIR>>/theories/`];;'\
     'set_help_search_path (words `/<<PKGBUILDDIR>>/help/ENTRIES/`);;'\
     'set_library_search_path [`/<<PKGBUILDDIR>>/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 22/5/17

#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 22/5/17

#() : 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 '/<<PKGBUILDDIR>>'
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 '/<<PKGBUILDDIR>>'
=======> hol88 version 2.02 (GCL) made
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
date
Mon May 22 05:00:39 UTC 2017
/usr/bin/make library
make[2]: Entering directory '/<<PKGBUILDDIR>>'
date
Mon May 22 05:00:39 UTC 2017
(cd /<<PKGBUILDDIR>>/Library; /usr/bin/make LispType=cl\
                             Obj=o\
                             Lisp=gcl\
                             Liszt=\
                             LispDir=/<<PKGBUILDDIR>>/lisp\
                             Hol=/<<PKGBUILDDIR>>/hol library; cd ..)
make[3]: Entering directory '/<<PKGBUILDDIR>>/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=/<<PKGBUILDDIR>>/lisp\
                                   Hol=/<<PKGBUILDDIR>>/hol all; cd ..) ; \
done
make[4]: Entering directory '/<<PKGBUILDDIR>>/Library/unwind'
echo 'set_flag(`abort_when_fail`,true);;'\
     'compilet `unwinding`;;'\
     'quit();;' | /<<PKGBUILDDIR>>/hol


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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 '/<<PKGBUILDDIR>>/Library/unwind'
make[4]: Entering directory '/<<PKGBUILDDIR>>/Library/taut'
echo 'set_flag(`abort_when_fail`,true);;'\
     'compilet `taut_check`;;'\
     'quit();;' | /<<PKGBUILDDIR>>/hol


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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 '/<<PKGBUILDDIR>>/Library/taut'
make[4]: Entering directory '/<<PKGBUILDDIR>>/Library/sets'
rm -f sets.th
echo 'set_flag(`abort_when_fail`,true);;'\
     'loadt `mk_sets`;;' | /<<PKGBUILDDIR>>/hol 


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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 '/<<PKGBUILDDIR>>/Library/sets'
make[4]: Entering directory '/<<PKGBUILDDIR>>/Library/reduce'
\
    echo 'set_flag(`abort_when_fail`,true);;'           \
         'compilet `arithconv`;;'                       \
         'quit();;' | /<<PKGBUILDDIR>>/hol


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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 '/<<PKGBUILDDIR>>/Library/reduce'
make[4]: Entering directory '/<<PKGBUILDDIR>>/Library/arith'
echo 'set_flag(`abort_when_fail`,true);;'\
     'compilet `int_extra`;;'\
     'quit();;' | /<<PKGBUILDDIR>>/hol


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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 '/<<PKGBUILDDIR>>/Library/arith'
make[4]: Entering directory '/<<PKGBUILDDIR>>/Library/pred_sets'
rm -f pred_sets.th
echo 'set_flag(`abort_when_fail`,true);;'\
     'loadt `mk_pred_sets`;;' | /<<PKGBUILDDIR>>/hol 


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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 '/<<PKGBUILDDIR>>/Library/pred_sets'
make[4]: Entering directory '/<<PKGBUILDDIR>>/Library/string'
rm -f ascii.th
echo 'set_flag(`abort_when_fail`,true);;'\
     'loadt `mk_ascii`;;' | /<<PKGBUILDDIR>>/hol 


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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`;;' | /<<PKGBUILDDIR>>/hol 


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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 '/<<PKGBUILDDIR>>/Library/string'
make[4]: Entering directory '/<<PKGBUILDDIR>>/Library/finite_sets'
rm -f finite_sets.th
echo 'set_flag(`abort_when_fail`,true);;'\
     'loadt `mk_finite_sets`;;' | /<<PKGBUILDDIR>>/hol 


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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 '/<<PKGBUILDDIR>>/Library/finite_sets'
make[4]: Entering directory '/<<PKGBUILDDIR>>/Library/res_quan'
rm -f res_quan.th
echo 'set_flag(`abort_when_fail`,true);;'\
     'loadt `mk_res_quan`;;'\
             'quit();;' | /<<PKGBUILDDIR>>/hol 


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol 


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol 


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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 '/<<PKGBUILDDIR>>/Library/res_quan'
make[4]: Entering directory '/<<PKGBUILDDIR>>/Library/wellorder'
\
    echo 'set_flag(`abort_when_fail`,true);;'           \
         'loadt `mk_wellorder`;;'                       \
         'quit();;' | /<<PKGBUILDDIR>>/hol


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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.1s
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.0s
Intermediate theorems generated: 98

WOSET_FLEQ = |- !l. woset l ==> (!x. fl l x = l(x,x))
Run time: 0.0s
Intermediate theorems generated: 8

WOSET_TRANS_LESS = 
|- !l. woset l ==> (!x y z. less l(x,y) /\ l(y,z) ==> less l(x,z))
Run time: 0.0s
Intermediate theorems generated: 144

WOSET = 
|- !l.
    woset l =
    (!x y. l(x,y) /\ l(y,x) ==> (x = y)) /\
    (!P.
      (!x. P x ==> fl l x) /\ (?x. P x) ==>
      (?y. P y /\ (!z. P z ==> l(y,z))))
Run time: 0.1s
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.1s
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.0s
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.1s
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.1s
Intermediate theorems generated: 1556

WO_RECURSE_EXISTS = 
|- !l h ms.
    woset l /\
    (!x. fl l(ms x)) /\
    (!f f' x.
      (!y. less l(ms y,ms x) ==> (f y = f' y)) ==> (h f x = h f' x)) ==>
    (?f. !x. f x = h f x)
Run time: 0.1s
Intermediate theorems generated: 444

WO_RECURSE = 
|- !l h ms.
    woset l /\
    (!x. fl l(ms x)) /\
    (!f g x.
      (!y. less l(ms y,ms x) ==> (f y = g y)) ==> (h f x = h g x)) ==>
    (?! f. !x. f x = h f x)
Run time: 0.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.1s
Intermediate theorems generated: 148

Theorem LESS_NOT_EQ autoloading from theory `prim_rec` ...
LESS_NOT_EQ = |- !m n. m < n ==> ~(m = n)
Run time: 0.0s

Definition LESS_OR_EQ autoloading from theory `arithmetic` ...
LESS_OR_EQ = |- !m n. m <= n = m < n \/ (m = n)
Run time: 0.0s
Intermediate theorems generated: 1

WO_RECURSE_NUM = 
|- !h ms.
    (!f g x. (!y. (ms y) < (ms x) ==> (f y = g y)) ==> (h f x = h g x)) ==>
    (?! f. !x. f x = h f x)
Run time: 0.0s
Intermediate theorems generated: 259

UNION_FL = |- !P l. fl(Union P)x = (?l. P l /\ fl l x)
Run time: 0.1s
Intermediate theorems generated: 170

UNION_INSEG = |- !P l. (!m. P m ==> m inseg l) ==> (Union P) inseg l
Run time: 0.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.1s
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.1s
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.0s
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.1s
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.0s
Intermediate theorems generated: 489

ORDINAL_CHAINED = 
|- !l m. ordinal l /\ ordinal m ==> m inseg l \/ l inseg m
Run time: 0.1s
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.2s
Intermediate theorems generated: 2338

ORDINAL_UNION = |- !P. (!l. P l ==> ordinal l) ==> ordinal(Union P)
Run time: 0.2s
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.0s
Intermediate theorems generated: 135

WO_FL_RESTRICT = 
|- !l.
    woset l ==> (!P. fl(\(x,y). P x /\ P y /\ l(x,y))x = P x /\ fl l x)
Run time: 0.1s
Intermediate theorems generated: 392

WO = |- !P. ?l. woset l /\ (fl l = P)
Run time: 0.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.3s
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.1s
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.0s
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.1s
Intermediate theorems generated: 1083

() : void
Run time: 0.0s
Intermediate theorems generated: 1


File mk_wellorder loaded
() : void
Run time: 3.6s
Intermediate theorems generated: 22538

#make[4]: Leaving directory '/<<PKGBUILDDIR>>/Library/wellorder'
make[4]: Entering directory '/<<PKGBUILDDIR>>/Library/abs_theory'
Making ../../Library/abs_theory/monoid_def.th...


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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.1s

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.1s
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.2s
Intermediate theorems generated: 614

Making ../../Library/abs_theory/group_def.th...


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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.1s

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.1s
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.3s
Intermediate theorems generated: 1089

Making ../../Library/abs_theory/example.th...


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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.1s

/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.1s
Intermediate theorems generated: 7

Theorem I_THM autoloading from theory `combin` ...
I_THM = |- !x. I x = x
Run time: 0.0s

GROUP_THOBS = |- IS_GROUP(group(\x y. ~(x = y))F I)
Run time: 0.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.1s
Intermediate theorems generated: 732

|- !a. I(I a) = a
Run time: 0.1s
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.3s
Intermediate theorems generated: 2546

() : void
Run time: 0.0s
Intermediate theorems generated: 1


File ../../Library/abs_theory/example.ml loaded
() : void
Run time: 0.8s
Intermediate theorems generated: 6013

===> abs_theory rebuilt on Mon May 22 05:06:13 UTC 2017
Making abs_theory.ml


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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.3s

make[4]: Leaving directory '/<<PKGBUILDDIR>>/Library/abs_theory'
make[4]: Entering directory '/<<PKGBUILDDIR>>/Library/reals'
cd theories; make all
make[5]: Entering directory '/<<PKGBUILDDIR>>/Library/reals/theories'
\
    echo 'set_flag(`abort_when_fail`,true);;'\
         'loadt `hrat.ml`;;'\
         'quit();;' | /<<PKGBUILDDIR>>/hol


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#false : bool


false : bool

() : void


false : bool
Run time: 0.0s

LAND_CONV = - : (conv -> conv)
Run time: 0.0s

TAUT_CONV = - : conv
Run time: 0.0s

AC = - : ((thm # thm) -> conv)
Run time: 0.0s

GEN_PAIR_TAC = - : tactic
Run time: 0.0s

MK_COMB_TAC = - : tactic
Run time: 0.0s

BINOP_TAC = - : tactic
Run time: 0.0s

SYM_CANON_CONV = - : (thm -> ((term # term) -> bool) -> conv)
Run time: 0.0s

IMP_SUBST_TAC = - : thm_tactic
Run time: 0.0s

ABBREV_TAC = - : (term -> tactic)
Run time: 0.0s

EXT_CONV = - : conv
Run time: 0.0s

ABS_TAC = - : tactic
Run time: 0.0s

EQUAL_TAC = - : tactic
Run time: 0.0s

X_BETA_CONV = - : (term -> conv)
Run time: 0.0s

EXACT_CONV = - : (thm list -> conv)
Run time: 0.0s

HABS_CONV = - : conv
Run time: 0.0s

autoload_definitions = - : (string -> void)
Run time: 0.0s

autoload_theorems = - : (string -> void)
Run time: 0.0s

EXPAND_TAC = - : (string -> tactic)
Run time: 0.0s


File useful loaded
() : void
Run time: 0.1s


define_equivalence_type = 
-
: (string ->
   thm ->
   (term # string # bool) list ->
   thm list ->
   thm list ->
   thm list)
Run time: 0.0s


File equiv loaded
() : void
Run time: 0.0s

Theorem ADD_CLAUSES autoloading from theory `arithmetic` ...
ADD_CLAUSES = 
|- (0 + m = m) /\
   (m + 0 = m) /\
   ((SUC m) + n = SUC(m + n)) /\
   (m + (SUC n) = SUC(m + n))
Run time: 0.1s

Theorem MULT_CLAUSES autoloading from theory `arithmetic` ...
MULT_CLAUSES = 
|- !m n.
    (0 * m = 0) /\
    (m * 0 = 0) /\
    (1 * m = m) /\
    (m * 1 = m) /\
    ((SUC m) * n = (m * n) + n) /\
    (m * (SUC n) = m + (m * n))
Run time: 0.0s

Theorem PRE autoloading from theory `prim_rec` ...
PRE = |- (PRE 0 = 0) /\ (!m. PRE(SUC m) = m)
Run time: 0.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.0s
Intermediate theorems generated: 2

trat_sucint = 
|- (trat_sucint 0 = trat_1) /\
   (!n. trat_sucint(SUC n) = (trat_sucint n) trat_add trat_1)
Run time: 0.0s
Intermediate theorems generated: 136

trat_eq = 
|- !x y x' y'.
    (x,y) trat_eq (x',y') = ((SUC x) * (SUC y') = (SUC x') * (SUC y))
Run time: 0.0s
Intermediate theorems generated: 2

TRAT_EQ_REFL = |- !p. p trat_eq p
Run time: 0.0s
Intermediate theorems generated: 22

TRAT_EQ_SYM = |- !p q. p trat_eq q = q trat_eq p
Run time: 0.0s
Intermediate theorems generated: 37

Theorem MULT_ASSOC autoloading from theory `arithmetic` ...
MULT_ASSOC = |- !m n p. m * (n * p) = (m * n) * p
Run time: 0.0s

Theorem MULT_SYM autoloading from theory `arithmetic` ...
MULT_SYM = |- !m n. m * n = n * m
Run time: 0.0s

Theorem MULT_SUC_EQ autoloading from theory `arithmetic` ...
MULT_SUC_EQ = |- !p m n. (n * (SUC p) = m * (SUC p)) = (n = m)
Run time: 0.0s

TRAT_EQ_TRANS = |- !p q r. p trat_eq q /\ q trat_eq r ==> p trat_eq r
Run time: 0.0s
Intermediate theorems generated: 152

TRAT_EQ_AP = |- !p q. (p = q) ==> p trat_eq q
Run time: 0.0s
Intermediate theorems generated: 8

Theorem ADD_SYM autoloading from theory `arithmetic` ...
ADD_SYM = |- !m n. m + n = n + m
Run time: 0.0s

TRAT_ADD_SYM_EQ = |- !h i. h trat_add i = i trat_add h
Run time: 0.0s
Intermediate theorems generated: 62

TRAT_MUL_SYM_EQ = |- !h i. h trat_mul i = i trat_mul h
Run time: 0.1s
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.1s
Intermediate theorems generated: 207

TRAT_MUL_WELLDEFINED2 = 
|- !p1 p2 q1 q2.
    p1 trat_eq p2 /\ q1 trat_eq q2 ==>
    (p1 trat_mul q1) trat_eq (p2 trat_mul q2)
Run time: 0.0s
Intermediate theorems generated: 65

TRAT_ADD_SYM = |- !h i. (h trat_add i) trat_eq (i trat_add h)
Run time: 0.0s
Intermediate theorems generated: 15

Theorem ADD_ASSOC autoloading from theory `arithmetic` ...
ADD_ASSOC = |- !m n p. m + (n + p) = (m + n) + p
Run time: 0.0s

TRAT_ADD_ASSOC = 
|- !h i j.
    (h trat_add (i trat_add j)) trat_eq ((h trat_add i) trat_add j)
Run time: 0.0s
Intermediate theorems generated: 297

TRAT_MUL_SYM = |- !h i. (h trat_mul i) trat_eq (i trat_mul h)
Run time: 0.1s
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.1s
Intermediate theorems generated: 611

TRAT_MUL_LID = |- !h. (trat_1 trat_mul h) trat_eq h
Run time: 0.0s
Intermediate theorems generated: 127

TRAT_MUL_LINV = |- !h. ((trat_inv h) trat_mul h) trat_eq trat_1
Run time: 0.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.1s

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.0s
Intermediate theorems generated: 599

TRAT_SUCINT_0 = |- !n. (trat_sucint n) trat_eq (n,0)
Run time: 0.1s
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.6s
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.1s
Intermediate theorems generated: 3

HRAT_NOZERO = |- !h i. ~(h hrat_add i = h)
Run time: 0.0s
Intermediate theorems generated: 5

HRAT_ADD_TOTAL = 
|- !h i. (h = i) \/ (?d. h = i hrat_add d) \/ (?d. i = h hrat_add d)
Run time: 0.0s
Intermediate theorems generated: 5

HRAT_ARCH = |- !h. ?n d. hrat_sucint n = h hrat_add d
Run time: 0.0s
Intermediate theorems generated: 3

HRAT_SUCINT = 
|- (hrat_sucint 0 = hrat_1) /\
   (!n. hrat_sucint(SUC n) = (hrat_sucint n) hrat_add hrat_1)
Run time: 0.0s

() : void
Run time: 0.0s
Intermediate theorems generated: 1


File hrat.ml loaded
() : void
Run time: 1.7s
Intermediate theorems generated: 11032

#\
    echo 'set_flag(`abort_when_fail`,true);;'\
         'loadt `hreal.ml`;;'\
         'quit();;' | /<<PKGBUILDDIR>>/hol


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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.1s

() : void
Run time: 0.0s

hrat_lt = |- !x y. x hrat_lt y = (?d. y = x hrat_add d)
Run time: 0.0s
Intermediate theorems generated: 2

Theorem HRAT_NOZERO autoloading from theory `HRAT` ...
HRAT_NOZERO = |- !h i. ~(h hrat_add i = h)
Run time: 0.0s

HRAT_LT_REFL = |- !x. ~x hrat_lt x
Run time: 0.0s
Intermediate theorems generated: 41

Theorem HRAT_ADD_ASSOC autoloading from theory `HRAT` ...
HRAT_ADD_ASSOC = 
|- !h i j. h hrat_add (i hrat_add j) = (h hrat_add i) hrat_add j
Run time: 0.0s

HRAT_LT_TRANS = |- !x y z. x hrat_lt y /\ y hrat_lt z ==> x hrat_lt z
Run time: 0.0s
Intermediate theorems generated: 63

HRAT_LT_ANTISYM = |- !x y. ~(x hrat_lt y /\ y hrat_lt x)
Run time: 0.0s
Intermediate theorems generated: 24

Theorem HRAT_ADD_TOTAL autoloading from theory `HRAT` ...
HRAT_ADD_TOTAL = 
|- !h i. (h = i) \/ (?d. h = i hrat_add d) \/ (?d. i = h hrat_add d)
Run time: 0.0s

HRAT_LT_TOTAL = |- !x y. (x = y) \/ x hrat_lt y \/ y hrat_lt x
Run time: 0.0s
Intermediate theorems generated: 49

Theorem HRAT_MUL_LID autoloading from theory `HRAT` ...
HRAT_MUL_LID = |- !h. hrat_1 hrat_mul h = h
Run time: 0.0s

Theorem HRAT_MUL_SYM autoloading from theory `HRAT` ...
HRAT_MUL_SYM = |- !h i. h hrat_mul i = i hrat_mul h
Run time: 0.0s

HRAT_MUL_RID = |- !x. x hrat_mul hrat_1 = x
Run time: 0.0s
Intermediate theorems generated: 14

Theorem HRAT_MUL_LINV autoloading from theory `HRAT` ...
HRAT_MUL_LINV = |- !h. (hrat_inv h) hrat_mul h = hrat_1
Run time: 0.0s

HRAT_MUL_RINV = |- !x. x hrat_mul (hrat_inv x) = hrat_1
Run time: 0.1s
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.1s
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.1s
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.1s
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.1s

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.1s
Intermediate theorems generated: 502

HREAL_ADD_ISACUT = 
|- !X Y. isacut(\w. ?x y. (w = x hrat_add y) /\ cut X x /\ cut Y y)
Run time: 0.0s
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.1s
Intermediate theorems generated: 124

HREAL_MUL_SYM = |- !X Y. X hreal_mul Y = Y hreal_mul X
Run time: 0.0s
Intermediate theorems generated: 124

HREAL_ADD_ASSOC = 
|- !X Y Z. X hreal_add (Y hreal_add Z) = (X hreal_add Y) hreal_add Z
Run time: 0.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.1s
Intermediate theorems generated: 935

HREAL_MUL_LID = |- !X. hreal_1 hreal_mul X = X
Run time: 0.1s
Intermediate theorems generated: 278

HREAL_MUL_LINV = |- !X. (hreal_inv X) hreal_mul X = hreal_1
Run time: 0.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.1s
Intermediate theorems generated: 400

HREAL_SUB_ADD = 
|- !X Y. X hreal_lt Y ==> ((Y hreal_sub X) hreal_add X = Y)
Run time: 0.1s
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.1s
Intermediate theorems generated: 349

HREAL_SUP = 
|- !P.
    (?X. P X) /\ (?Y. !X. P X ==> X hreal_lt Y) ==>
    (!Y. (?X. P X /\ Y hreal_lt X) = Y hreal_lt (hreal_sup P))
Run time: 0.1s
Intermediate theorems generated: 553

() : void
Run time: 0.0s
Intermediate theorems generated: 1


File hreal.ml loaded
() : void
Run time: 2.1s
Intermediate theorems generated: 10456

#\
    echo 'set_flag(`abort_when_fail`,true);;'\
         'loadt `realax.ml`;;'\
         'quit();;' | /<<PKGBUILDDIR>>/hol


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#false : bool


false : bool

() : void

Theory HREAL loaded
() : void


false : bool
Run time: 0.0s

LAND_CONV = - : (conv -> conv)
Run time: 0.0s

TAUT_CONV = - : conv
Run time: 0.0s

AC = - : ((thm # thm) -> conv)
Run time: 0.0s

GEN_PAIR_TAC = - : tactic
Run time: 0.0s

MK_COMB_TAC = - : tactic
Run time: 0.0s

BINOP_TAC = - : tactic
Run time: 0.0s

SYM_CANON_CONV = - : (thm -> ((term # term) -> bool) -> conv)
Run time: 0.0s

IMP_SUBST_TAC = - : thm_tactic
Run time: 0.0s

ABBREV_TAC = - : (term -> tactic)
Run time: 0.0s

EXT_CONV = - : conv
Run time: 0.0s

ABS_TAC = - : tactic
Run time: 0.0s

EQUAL_TAC = - : tactic
Run time: 0.0s

X_BETA_CONV = - : (term -> conv)
Run time: 0.0s

EXACT_CONV = - : (thm list -> conv)
Run time: 0.0s

HABS_CONV = - : conv
Run time: 0.0s

autoload_definitions = - : (string -> void)
Run time: 0.0s

autoload_theorems = - : (string -> void)
Run time: 0.0s

EXPAND_TAC = - : (string -> tactic)
Run time: 0.0s


File useful loaded
() : void
Run time: 0.1s

() : void
Run time: 0.0s
Intermediate theorems generated: 12

() : void
Run time: 0.0s


define_equivalence_type = 
-
: (string ->
   thm ->
   (term # string # bool) list ->
   thm list ->
   thm list ->
   thm list)
Run time: 0.0s


File equiv loaded
() : void
Run time: 0.1s

Theorem HREAL_LDISTRIB autoloading from theory `HREAL` ...
HREAL_LDISTRIB = 
|- !X Y Z.
    X hreal_mul (Y hreal_add Z) =
    (X hreal_mul Y) hreal_add (X hreal_mul Z)
Run time: 0.0s

Theorem HREAL_MUL_SYM autoloading from theory `HREAL` ...
HREAL_MUL_SYM = |- !X Y. X hreal_mul Y = Y hreal_mul X
Run time: 0.0s

HREAL_RDISTRIB = 
|- !x y z.
    (x hreal_add y) hreal_mul z =
    (x hreal_mul z) hreal_add (y hreal_mul z)
Run time: 0.0s
Intermediate theorems generated: 22

Theorem HREAL_NOZERO autoloading from theory `HREAL` ...
HREAL_NOZERO = |- !X Y. ~(X hreal_add Y = X)
Run time: 0.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.1s
Intermediate theorems generated: 33

HREAL_LT_ADDL = |- !x y. x hreal_lt (x hreal_add y)
Run time: 0.0s
Intermediate theorems generated: 13

HREAL_LT_NE = |- !x y. x hreal_lt y ==> ~(x = y)
Run time: 0.0s
Intermediate theorems generated: 23

HREAL_LT_ADDR = |- !x y. ~(x hreal_add y) hreal_lt x
Run time: 0.0s
Intermediate theorems generated: 56

HREAL_LT_GT = |- !x y. x hreal_lt y ==> ~y hreal_lt x
Run time: 0.0s
Intermediate theorems generated: 66

Theorem HREAL_ADD_SYM autoloading from theory `HREAL` ...
HREAL_ADD_SYM = |- !X Y. X hreal_add Y = Y hreal_add X
Run time: 0.0s

HREAL_LT_ADD2 = 
|- !x1 x2 y1 y2.
    x1 hreal_lt y1 /\ x2 hreal_lt y2 ==>
    (x1 hreal_add x2) hreal_lt (y1 hreal_add y2)
Run time: 0.0s
Intermediate theorems generated: 79

HREAL_LT_LADD = 
|- !x y z. (x hreal_add y) hreal_lt (x hreal_add z) = y hreal_lt z
Run time: 0.0s
Intermediate theorems generated: 77

CANCEL_CONV = - : ((thm # thm # thm list) -> conv)
Run time: 0.0s

CANCEL_TAC = - : tactic
Run time: 0.1s
Intermediate theorems generated: 106

treal_0 = |- treal_0 = hreal_1,hreal_1
Run time: 0.0s
Intermediate theorems generated: 2

treal_1 = |- treal_1 = hreal_1 hreal_add hreal_1,hreal_1
Run time: 0.0s
Intermediate theorems generated: 2

treal_neg = |- !x y. treal_neg(x,y) = y,x
Run time: 0.0s
Intermediate theorems generated: 2

treal_add = 
|- !x1 y1 x2 y2.
    (x1,y1) treal_add (x2,y2) = x1 hreal_add x2,y1 hreal_add y2
Run time: 0.0s
Intermediate theorems generated: 2

treal_mul = 
|- !x1 y1 x2 y2.
    (x1,y1) treal_mul (x2,y2) =
    (x1 hreal_mul x2) hreal_add (y1 hreal_mul y2),
    (x1 hreal_mul y2) hreal_add (y1 hreal_mul x2)
Run time: 0.0s
Intermediate theorems generated: 2

treal_lt = 
|- !x1 y1 x2 y2.
    (x1,y1) treal_lt (x2,y2) =
    (x1 hreal_add y2) hreal_lt (x2 hreal_add y1)
Run time: 0.0s
Intermediate theorems generated: 2

treal_inv = 
|- !x y.
    treal_inv(x,y) =
    ((x = y) => 
     treal_0 | 
     (y hreal_lt x => 
      ((hreal_inv(x hreal_sub y)) hreal_add hreal_1,hreal_1) | 
      (hreal_1,(hreal_inv(y hreal_sub x)) hreal_add hreal_1)))
Run time: 0.0s
Intermediate theorems generated: 2

treal_eq = 
|- !x1 y1 x2 y2.
    (x1,y1) treal_eq (x2,y2) = (x1 hreal_add y2 = x2 hreal_add y1)
Run time: 0.0s
Intermediate theorems generated: 2

TREAL_EQ_REFL = |- !x. x treal_eq x
Run time: 0.0s
Intermediate theorems generated: 22

TREAL_EQ_SYM = |- !x y. x treal_eq y = y treal_eq x
Run time: 0.0s
Intermediate theorems generated: 37

TREAL_EQ_TRANS = 
|- !x y z. x treal_eq y /\ y treal_eq z ==> x treal_eq z
Run time: 0.1s
Intermediate theorems generated: 1147

TREAL_EQ_EQUIV = |- !p q. p treal_eq q = ($treal_eq p = $treal_eq q)
Run time: 0.0s
Intermediate theorems generated: 73

TREAL_EQ_AP = |- !p q. (p = q) ==> p treal_eq q
Run time: 0.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.0s
Intermediate theorems generated: 44

TREAL_MUL_SYM = |- !x y. x treal_mul y = y treal_mul x
Run time: 0.1s
Intermediate theorems generated: 75

TREAL_ADD_ASSOC = 
|- !x y z. x treal_add (y treal_add z) = (x treal_add y) treal_add z
Run time: 0.0s
Intermediate theorems generated: 63

Theorem HREAL_MUL_ASSOC autoloading from theory `HREAL` ...
HREAL_MUL_ASSOC = 
|- !X Y Z. X hreal_mul (Y hreal_mul Z) = (X hreal_mul Y) hreal_mul Z
Run time: 0.0s

TREAL_MUL_ASSOC = 
|- !x y z. x treal_mul (y treal_mul z) = (x treal_mul y) treal_mul z
Run time: 0.0s
Intermediate theorems generated: 388

TREAL_LDISTRIB = 
|- !x y z.
    x treal_mul (y treal_add z) =
    (x treal_mul y) treal_add (x treal_mul z)
Run time: 0.1s
Intermediate theorems generated: 345

TREAL_ADD_LID = |- !x. (treal_0 treal_add x) treal_eq x
Run time: 0.0s
Intermediate theorems generated: 158

Theorem HREAL_MUL_LID autoloading from theory `HREAL` ...
HREAL_MUL_LID = |- !X. hreal_1 hreal_mul X = X
Run time: 0.0s

TREAL_MUL_LID = |- !x. (treal_1 treal_mul x) treal_eq x
Run time: 0.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.2s
Intermediate theorems generated: 3953

TREAL_LT_TOTAL = |- !x y. x treal_eq y \/ x treal_lt y \/ y treal_lt x
Run time: 0.0s
Intermediate theorems generated: 48

TREAL_LT_REFL = |- !x. ~x treal_lt x
Run time: 0.0s
Intermediate theorems generated: 24

TREAL_LT_TRANS = 
|- !x y z. x treal_lt y /\ y treal_lt z ==> x treal_lt z
Run time: 0.1s
Intermediate theorems generated: 1063

TREAL_LT_ADD = 
|- !x y z. y treal_lt z ==> (x treal_add y) treal_lt (x treal_add z)
Run time: 0.0s
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.1s
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.1s
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.1s
Intermediate theorems generated: 1044

TREAL_ADD_WELLDEF = 
|- !x1 x2 y1 y2.
    x1 treal_eq x2 /\ y1 treal_eq y2 ==>
    (x1 treal_add y1) treal_eq (x2 treal_add y2)
Run time: 0.0s
Intermediate theorems generated: 65

TREAL_MUL_WELLDEFR = 
|- !x1 x2 y.
    x1 treal_eq x2 ==> (x1 treal_mul y) treal_eq (x2 treal_mul y)
Run time: 0.0s
Intermediate theorems generated: 183

TREAL_MUL_WELLDEF = 
|- !x1 x2 y1 y2.
    x1 treal_eq x2 /\ y1 treal_eq y2 ==>
    (x1 treal_mul y1) treal_eq (x2 treal_mul y2)
Run time: 0.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.1s
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.0s
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.1s
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.8s
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.1s
Intermediate theorems generated: 199

[|- ~(r1 = r0);
 |- !x y. x real_add y = y real_add x;
 |- !x y. x real_mul y = y real_mul x;
 |- !x y z. x real_add (y real_add z) = (x real_add y) real_add z;
 |- !x y z. x real_mul (y real_mul z) = (x real_mul y) real_mul z;
 |- !x y z.
     x real_mul (y real_add z) = (x real_mul y) real_add (x real_mul z);
 |- !x. r0 real_add x = x;
 |- !x. r1 real_mul x = x;
 |- !x. (real_neg x) real_add x = r0;
 |- !x. ~(x = r0) ==> ((real_inv x) real_mul x = r1);
 |- !x y. (x = y) \/ x real_lt y \/ y real_lt x;
 |- !x. ~x real_lt x;
 |- !x y z. x real_lt y /\ y real_lt z ==> x real_lt z;
 |- !x y z. y real_lt z ==> (x real_add y) real_lt (x real_add z);
 |- !x y. r0 real_lt x /\ r0 real_lt y ==> r0 real_lt (x real_mul y)]
: thm list
Run time: 0.2s

() : void
Run time: 0.0s
Intermediate theorems generated: 1


File realax.ml loaded
() : void
Run time: 3.1s
Intermediate theorems generated: 26795

#\
    echo 'set_flag(`abort_when_fail`,true);;'\
         'loadt `real.ml`;;'\
         'quit();;' | /<<PKGBUILDDIR>>/hol


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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.1s
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.0s
Intermediate theorems generated: 2

REAL_LT_IADD = |- !x y z. y < z ==> (x + y) < (x + z)
Run time: 0.1s
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.1s
Intermediate theorems generated: 18

REAL_LNEG_UNIQ = |- !x y. (x + y = & 0) = (x = -- y)
Run time: 0.0s
Intermediate theorems generated: 10

REAL_RNEG_UNIQ = |- !x y. (x + y = & 0) = (y = -- x)
Run time: 0.0s
Intermediate theorems generated: 18

REAL_NEG_ADD = |- !x y. --(x + y) = (-- x) + (-- y)
Run time: 0.0s
Intermediate theorems generated: 101

REAL_MUL_LZERO = |- !x. (& 0) * x = & 0
Run time: 0.0s
Intermediate theorems generated: 40

REAL_MUL_RZERO = |- !x. x * (& 0) = & 0
Run time: 0.0s
Intermediate theorems generated: 14

REAL_NEG_LMUL = |- !x y. --(x * y) = (-- x) * y
Run time: 0.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.1s
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.0s
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.1s
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.1s
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.0s
Intermediate theorems generated: 73

REAL_LE_MUL = |- !x y. (& 0) <= x /\ (& 0) <= y ==> (& 0) <= (x * y)
Run time: 0.1s
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.1s
Intermediate theorems generated: 20

REAL_SUB_0 = |- !x y. (x - y = & 0) = (x = y)
Run time: 0.0s
Intermediate theorems generated: 33

REAL_LE_DOUBLE = |- !x. (& 0) <= (x + x) = (& 0) <= x
Run time: 0.0s
Intermediate theorems generated: 72

REAL_LE_NEGL = |- !x. (-- x) <= x = (& 0) <= x
Run time: 0.0s
Intermediate theorems generated: 25

REAL_LE_NEGR = |- !x. x <= (-- x) = x <= (& 0)
Run time: 0.1s
Intermediate theorems generated: 42

REAL_NEG_EQ0 = |- !x. (-- x = & 0) = (x = & 0)
Run time: 0.0s
Intermediate theorems generated: 45

REAL_NEG_0 = |- --(& 0) = & 0
Run time: 0.0s
Intermediate theorems generated: 9

REAL_NEG_SUB = |- !x y. --(x - y) = y - x
Run time: 0.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.1s
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.1s
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.0s
Intermediate theorems generated: 57

REAL_LT_RMUL = |- !x y z. (& 0) < z ==> ((x * z) < (y * z) = x < y)
Run time: 0.1s
Intermediate theorems generated: 22

REAL_LT_RMUL_IMP = |- !x y z. x < y /\ (& 0) < z ==> (x * z) < (y * z)
Run time: 0.0s
Intermediate theorems generated: 29

REAL_LT_LMUL_IMP = |- !x y z. y < z /\ (& 0) < x ==> (x * y) < (x * z)
Run time: 0.0s
Intermediate theorems generated: 29

REAL_LINV_UNIQ = |- !x y. (x * y = & 1) ==> (x = inv y)
Run time: 0.0s
Intermediate theorems generated: 111

REAL_RINV_UNIQ = |- !x y. (x * y = & 1) ==> (y = inv x)
Run time: 0.1s
Intermediate theorems generated: 18

REAL_NEG_INV = |- !x. ~(x = & 0) ==> (--(inv x) = inv(-- x))
Run time: 0.0s
Intermediate theorems generated: 71

REAL_INV_1OVER = |- !x. inv x = (& 1) / x
Run time: 0.0s
Intermediate theorems generated: 19

REAL_LE_ADDR = |- !x y. x <= (x + y) = (& 0) <= y
Run time: 0.0s
Intermediate theorems generated: 20

REAL_LE_ADDL = |- !x y. y <= (x + y) = (& 0) <= x
Run time: 0.1s
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.1s
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.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 ZERO_LESS_EQ autoloading from theory `arithmetic` ...
ZERO_LESS_EQ = |- !n. 0 num_le n
Run time: 0.0s

REAL_LE = |- !m n. (& m) <= (& n) = m num_le n
Run time: 0.1s
Intermediate theorems generated: 321

REAL_LT = |- !m n. (& m) < (& n) = m num_lt n
Run time: 0.0s
Intermediate theorems generated: 48

Theorem LESS_EQUAL_ANTISYM autoloading from theory `arithmetic` ...
LESS_EQUAL_ANTISYM = |- !n m. n num_le m /\ m num_le n ==> (n = m)
Run time: 0.0s

Theorem LESS_EQ_REFL autoloading from theory `arithmetic` ...
LESS_EQ_REFL = |- !m. m num_le m
Run time: 0.0s

REAL_INJ = |- !m n. (& m = & n) = (m = n)
Run time: 0.1s
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.1s
Intermediate theorems generated: 26

REAL_OVER1 = |- !x. x / (& 1) = x
Run time: 0.0s
Intermediate theorems generated: 22

REAL_DIV_REFL = |- !x. ~(x = & 0) ==> (x / x = & 1)
Run time: 0.0s
Intermediate theorems generated: 19

REAL_DIV_LZERO = |- !x. (& 0) / x = & 0
Run time: 0.0s
Intermediate theorems generated: 20

REAL_LT_NZ = |- !n. ~(& n = & 0) = (& 0) < (& n)
Run time: 0.1s
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.1s
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.1s
Intermediate theorems generated: 22

REAL_DOUBLE = |- !x. x + x = (& 2) * x
Run time: 0.0s
Intermediate theorems generated: 37

REAL_DIV_LMUL = |- !x y. ~(y = & 0) ==> (y * (x / y) = x)
Run time: 0.0s
Intermediate theorems generated: 70

REAL_DIV_RMUL = |- !x y. ~(y = & 0) ==> ((x / y) * y = x)
Run time: 0.1s
Intermediate theorems generated: 17

REAL_HALF_DOUBLE = |- !x. (x / (& 2)) + (x / (& 2)) = x
Run time: 0.0s
Intermediate theorems generated: 51

REAL_DOWN = |- !x. (& 0) < x ==> (?y. (& 0) < y /\ y < x)
Run time: 0.0s
Intermediate theorems generated: 24

REAL_DOWN2 = 
|- !x y. (& 0) < x /\ (& 0) < y ==> (?z. (& 0) < z /\ z < x /\ z < y)
Run time: 0.1s
Intermediate theorems generated: 145

REAL_SUB_SUB = |- !x y. (x - y) - x = -- y
Run time: 0.0s
Intermediate theorems generated: 91

REAL_LT_ADD_SUB = |- !x y z. (x + y) < z = x < (z - y)
Run time: 0.0s
Intermediate theorems generated: 23

REAL_LT_SUB_RADD = |- !x y z. (x - y) < z = x < (z + y)
Run time: 0.1s
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.1s
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.0s
Intermediate theorems generated: 73

REAL_SUB_LZERO = |- !x. (& 0) - x = -- x
Run time: 0.1s
Intermediate theorems generated: 20

REAL_SUB_RZERO = |- !x. x - (& 0) = x
Run time: 0.0s
Intermediate theorems generated: 22

REAL_LET_ADD2 = |- !w x y z. w <= x /\ y < z ==> (w + y) < (x + z)
Run time: 0.0s
Intermediate theorems generated: 58

REAL_LTE_ADD2 = |- !w x y z. w < x /\ y <= z ==> (w + y) < (x + z)
Run time: 0.1s
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.1s
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.1s
Intermediate theorems generated: 40

REAL_SUB_TRIANGLE = |- !a b c. (a - b) + (b - c) = a - c
Run time: 0.0s
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.1s
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.1s
Intermediate theorems generated: 43

REAL_LE_RMUL = |- !x y z. (& 0) < z ==> ((x * z) <= (y * z) = x <= y)
Run time: 0.0s
Intermediate theorems generated: 22

REAL_SUB_INV2 = 
|- !x y.
    ~(x = & 0) /\ ~(y = & 0) ==> ((inv x) - (inv y) = (y - x) / (x * y))
Run time: 0.1s
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.1s
Intermediate theorems generated: 91

REAL_EQ_LMUL2 = |- !x y z. ~(x = & 0) ==> ((y = z) = (x * y = x * z))
Run time: 0.0s
Intermediate theorems generated: 35

REAL_LE_MUL2 = 
|- !x1 x2 y1 y2.
    (& 0) <= x1 /\ (& 0) <= y1 /\ x1 <= x2 /\ y1 <= y2 ==>
    (x1 * y1) <= (x2 * y2)
Run time: 0.1s
Intermediate theorems generated: 345

REAL_LE_LDIV = |- !x y z. (& 0) < x /\ y <= (z * x) ==> (y / x) <= z
Run time: 0.0s
Intermediate theorems generated: 102

REAL_LE_RDIV = |- !x y z. (& 0) < x /\ (y * x) <= z ==> y <= (z / x)
Run time: 0.1s
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.0s
Intermediate theorems generated: 17

REAL_EQ_RMUL_IMP = |- !x y z. ~(z = & 0) /\ (x * z = y * z) ==> (x = y)
Run time: 0.0s
Intermediate theorems generated: 36

REAL_EQ_LMUL_IMP = |- !x y z. ~(x = & 0) /\ (x * y = x * z) ==> (y = z)
Run time: 0.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.1s
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.1s
Intermediate theorems generated: 36

REAL_DIV_MUL2 = 
|- !x z. ~(x = & 0) /\ ~(z = & 0) ==> (!y. y / z = (x * y) / (x * z))
Run time: 0.0s
Intermediate theorems generated: 169

REAL_MIDDLE1 = |- !a b. a <= b ==> a <= ((a + b) / (& 2))
Run time: 0.1s
Intermediate theorems generated: 89

REAL_MIDDLE2 = |- !a b. a <= b ==> ((a + b) / (& 2)) <= b
Run time: 0.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.1s
Intermediate theorems generated: 604

ABS_POS = |- !x. (& 0) <= (abs x)
Run time: 0.1s
Intermediate theorems generated: 67

ABS_MUL = |- !x y. abs(x * y) = (abs x) * (abs y)
Run time: 0.1s
Intermediate theorems generated: 385

ABS_LT_MUL2 = 
|- !w x y z. (abs w) < y /\ (abs x) < z ==> (abs(w * x)) < (y * z)
Run time: 0.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.1s
Intermediate theorems generated: 139

ABS_INV = |- !x. ~(x = & 0) ==> (abs(inv x) = inv(abs x))
Run time: 0.0s
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.1s
Intermediate theorems generated: 156

ABS_N = |- !n. abs(& n) = & n
Run time: 0.0s
Intermediate theorems generated: 21

ABS_BETWEEN = 
|- !x y d. (& 0) < d /\ (x - d) < y /\ y < (x + d) = (abs(y - x)) < d
Run time: 0.1s
Intermediate theorems generated: 372

ABS_BOUND = |- !x y d. (abs(x - y)) < d ==> y < (x + d)
Run time: 0.0s
Intermediate theorems generated: 54

ABS_STILLNZ = |- !x y. (abs(x - y)) < (abs y) ==> ~(x = & 0)
Run time: 0.1s
Intermediate theorems generated: 56

ABS_CASES = |- !x. (x = & 0) \/ (& 0) < (abs x)
Run time: 0.0s
Intermediate theorems generated: 29

ABS_BETWEEN1 = |- !x y z. x < z /\ (abs(y - x)) < (z - x) ==> y < z
Run time: 0.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.1s
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.1s
Intermediate theorems generated: 80

ABS_BETWEEN2 = 
|- !x0 x y0 y.
    x0 < y0 /\
    (abs(x - x0)) < ((y0 - x0) / (& 2)) /\
    (abs(y - y0)) < ((y0 - x0) / (& 2)) ==>
    x < y
Run time: 0.1s
Intermediate theorems generated: 935

ABS_BOUNDS = |- !x k. (abs x) <= k = (-- k) <= x /\ x <= k
Run time: 0.1s
Intermediate theorems generated: 250

pow = |- (!x. x pow 0 = & 1) /\ (!x n. x pow (SUC n) = x * (x pow n))
Run time: 0.1s
Intermediate theorems generated: 175

POW_0 = |- !n. (& 0) pow (SUC n) = & 0
Run time: 0.0s
Intermediate theorems generated: 56

POW_NZ = |- !c n. ~(c = & 0) ==> ~(c pow n = & 0)
Run time: 0.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.1s
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.0s
Intermediate theorems generated: 152

POW_1 = |- !x. x pow 1 = x
Run time: 0.1s
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.0s
Intermediate theorems generated: 160

POW_M1 = |- !n. abs((--(& 1)) pow n) = & 1
Run time: 0.1s
Intermediate theorems generated: 80

POW_MUL = |- !n x y. (x * y) pow n = (x pow n) * (y pow n)
Run time: 0.0s
Intermediate theorems generated: 135

REAL_LE_POW2 = |- !x. (& 0) <= (x pow 2)
Run time: 0.1s
Intermediate theorems generated: 14

ABS_POW2 = |- !x. abs(x pow 2) = x pow 2
Run time: 0.0s
Intermediate theorems generated: 13

REAL_POW2_ABS = |- !x. (abs x) pow 2 = x pow 2
Run time: 0.1s
Intermediate theorems generated: 62

REAL_LE1_POW2 = |- !x. (& 1) <= x ==> (& 1) <= (x pow 2)
Run time: 0.0s
Intermediate theorems generated: 54

REAL_LT1_POW2 = |- !x. (& 1) < x ==> (& 1) < (x pow 2)
Run time: 0.1s
Intermediate theorems generated: 54

POW_POS_LT = |- !x n. (& 0) < x ==> (& 0) < (x pow (SUC n))
Run time: 0.0s
Intermediate theorems generated: 73

Theorem LESS_EQ_SUC_REFL autoloading from theory `arithmetic` ...
LESS_EQ_SUC_REFL = |- !m. m num_le (SUC m)
Run time: 0.0s

POW_2_LE1 = |- !n. (& 1) <= ((& 2) pow n)
Run time: 0.1s
Intermediate theorems generated: 118

Theorem ADD1 autoloading from theory `arithmetic` ...
ADD1 = |- !m. SUC m = m num_add 1
Run time: 0.0s

POW_2_LT = |- !n. (& n) < ((& 2) pow n)
Run time: 0.0s
Intermediate theorems generated: 103

POW_MINUS1 = |- !n. (--(& 1)) pow (2 num_mul n) = & 1
Run time: 0.1s
Intermediate theorems generated: 231

REAL_SUP_SOMEPOS = 
|- !P.
    (?x. P x /\ (& 0) < x) /\ (?z. !x. P x ==> x < z) ==>
    (?s. !y. (?x. P x /\ y < x) = y < s)
Run time: 0.1s
Intermediate theorems generated: 325

SUP_LEMMA1 = 
|- !d.
    (!y. (?x. (\x. P(x + d))x /\ y < x) = y < s) ==>
    (!y. (?x. P x /\ y < x) = y < (s + d))
Run time: 0.1s
Intermediate theorems generated: 119

SUP_LEMMA2 = |- (?x. P x) ==> (?d x. (\x. P(x + d))x /\ (& 0) < x)
Run time: 0.0s
Intermediate theorems generated: 121

SUP_LEMMA3 = 
|- !d. (?z. !x. P x ==> x < z) ==> (?z. !x. (\x. P(x + d))x ==> x < z)
Run time: 0.1s
Intermediate theorems generated: 42

REAL_SUP_EXISTS = 
|- !P.
    (?x. P x) /\ (?z. !x. P x ==> x < z) ==>
    (?s. !y. (?x. P x /\ y < x) = y < s)
Run time: 0.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.1s
Intermediate theorems generated: 53

REAL_SUP_LE = 
|- !P.
    (?x. P x) /\ (?z. !x. P x ==> x <= z) ==>
    (!y. (?x. P x /\ y < x) = y < (sup P))
Run time: 0.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.1s
Intermediate theorems generated: 342

Theorem PRE autoloading from theory `prim_rec` ...
PRE = |- (PRE 0 = 0) /\ (!m. PRE(SUC m) = m)
Run time: 0.0s

Theorem num_CASES autoloading from theory `arithmetic` ...
num_CASES = |- !m. (m = 0) \/ (?n. m = SUC n)
Run time: 0.0s

REAL_ARCH_LEAST = 
|- !y.
    (& 0) < y ==>
    (!x. (& 0) <= x ==> (?n. ((& n) * y) <= x /\ x < ((&(SUC n)) * y)))
Run time: 0.1s
Intermediate theorems generated: 222

sum = 
|- (!n f. sum n 0 f = & 0) /\
   (!n m f. sum n(SUC m)f = (sum n m f) + (f(n num_add m)))
Run time: 0.0s
Intermediate theorems generated: 202

Sum_DEF = |- !m n f. Sum(m,n)f = sum m n f
Run time: 0.1s
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.0s
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.1s
Intermediate theorems generated: 30

ABS_SUM = |- !f m n. (abs(Sum(m,n)f)) <= (Sum(m,n)(\n'. abs(f n')))
Run time: 0.0s
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.1s

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.1s
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.1s
Intermediate theorems generated: 42

SUM_ABS_LE = |- !f m n. (abs(Sum(m,n)f)) <= (Sum(m,n)(\n'. abs(f n')))
Run time: 0.0s
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.1s
Intermediate theorems generated: 133

SUM_CMUL = |- !f c m n. Sum(m,n)(\n'. c * (f n')) = c * (Sum(m,n)f)
Run time: 0.1s
Intermediate theorems generated: 100

SUM_NEG = |- !f n d. Sum(n,d)(\n'. --(f n')) = --(Sum(n,d)f)
Run time: 0.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.1s
Intermediate theorems generated: 239

Theorem LESS_SUC autoloading from theory `prim_rec` ...
LESS_SUC = |- !m n. m num_lt n ==> m num_lt (SUC n)
Run time: 0.0s

SUM_BOUND = 
|- !f K m n.
    (!p. m num_le p /\ p num_lt (m num_add n) ==> (f p) <= K) ==>
    (Sum(m,n)f) <= ((& n) * K)
Run time: 0.1s
Intermediate theorems generated: 226

SUM_GROUP = 
|- !n k f. Sum(0,n)(\m. Sum(m num_mul k,k)f) = Sum(0,n num_mul k)f
Run time: 0.0s
Intermediate theorems generated: 169

SUM_1 = |- !f n. Sum(n,1)f = f n
Run time: 0.1s
Intermediate theorems generated: 56

SUM_2 = |- !f n. Sum(n,2)f = (f n) + (f(n num_add 1))
Run time: 0.1s
Intermediate theorems generated: 81

SUM_OFFSET = 
|- !f n k.
    Sum(0,n)(\m. f(m num_add k)) = (Sum(0,n num_add k)f) - (Sum(0,k)f)
Run time: 0.0s
Intermediate theorems generated: 141

SUM_REINDEX = 
|- !f m k n. Sum(m num_add k,n)f = Sum(m,n)(\r. f(r num_add k))
Run time: 0.0s
Intermediate theorems generated: 117

SUM_0 = |- !m n. Sum(m,n)(\r. & 0) = & 0
Run time: 0.1s
Intermediate theorems generated: 72

Theorem ADD_SUC autoloading from theory `arithmetic` ...
ADD_SUC = |- !m n. SUC(m num_add n) = m num_add (SUC n)
Run time: 0.0s

Theorem INV_SUC_EQ autoloading from theory `prim_rec` ...
INV_SUC_EQ = |- !m n. (SUC m = SUC n) = (m = n)
Run time: 0.0s

Theorem LESS_REFL autoloading from theory `prim_rec` ...
LESS_REFL = |- !n. ~n num_lt n
Run time: 0.0s

Theorem LESS_ADD_SUC autoloading from theory `arithmetic` ...
LESS_ADD_SUC = |- !m n. m num_lt (m num_add (SUC n))
Run time: 0.0s

Theorem LESS_MONO_EQ autoloading from theory `arithmetic` ...
LESS_MONO_EQ = |- !m n. (SUC m) num_lt (SUC n) = m num_lt n
Run time: 0.0s

Theorem SUC_SUB1 autoloading from theory `arithmetic` ...
SUC_SUB1 = |- !m. (SUC m) num_sub 1 = m
Run time: 0.0s

Theorem LESS_ADD_1 autoloading from theory `arithmetic` ...
LESS_ADD_1 = |- !m n. n num_lt m ==> (?p. m = n num_add (p num_add 1))
Run time: 0.0s

Definition LESS_OR_EQ autoloading from theory `arithmetic` ...
LESS_OR_EQ = |- !m n. m num_le n = m num_lt n \/ (m = n)
Run time: 0.0s
Intermediate theorems generated: 1

Theorem LESS_EQ autoloading from theory `arithmetic` ...
LESS_EQ = |- !m n. m num_lt n = (SUC m) num_le n
Run time: 0.0s

Theorem LESS_CASES autoloading from theory `arithmetic` ...
LESS_CASES = |- !m n. m num_lt n \/ n num_le m
Run time: 0.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.3s
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: 11.2s
Intermediate theorems generated: 23746

#\
    echo 'set_flag(`abort_when_fail`,true);;'\
         'loadt `topology.ml`;;'\
         'quit();;' | /<<PKGBUILDDIR>>/hol


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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.1s
Intermediate theorems generated: 49

istopology = 
|- !L.
    istopology L =
    L re_null /\
    L re_universe /\
    (!a b. L a /\ L b ==> L(a re_intersect b)) /\
    (!P. P re_subset L ==> L(re_Union P))
Run time: 0.0s
Intermediate theorems generated: 2

topology_tydef = |- ?rep. TYPE_DEFINITION istopology rep
Run time: 0.0s
Intermediate theorems generated: 86

topology_tybij = 
|- (!a. topology(open a) = a) /\
   (!r. istopology r = (open(topology r) = r))
Run time: 0.0s
Intermediate theorems generated: 4

TOPOLOGY = 
|- !L.
    open L re_null /\
    open L re_universe /\
    (!x y. open L x /\ open L y ==> open L(x re_intersect y)) /\
    (!P. P re_subset (open L) ==> open L(re_Union P))
Run time: 0.0s
Intermediate theorems generated: 34

TOPOLOGY_UNION = |- !L P. P re_subset (open L) ==> open L(re_Union P)
Run time: 0.0s
Intermediate theorems generated: 45

neigh = 
|- !top N x. neigh top(N,x) = (?P. open top P /\ P re_subset N /\ P x)
Run time: 0.0s
Intermediate theorems generated: 2

OPEN_OWN_NEIGH = |- !S top x. open top S /\ S x ==> neigh top(S,x)
Run time: 0.0s
Intermediate theorems generated: 40

OPEN_UNOPEN = 
|- !S top. open top S = (re_Union(\P. open top P /\ P re_subset S) = S)
Run time: 0.1s
Intermediate theorems generated: 212

OPEN_SUBOPEN = 
|- !S top.
    open top S = (!x. S x ==> (?P. P x /\ open top P /\ P re_subset S))
Run time: 0.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.0s
Intermediate theorems generated: 170

closed = |- !L S. closed L S = open L(re_compl S)
Run time: 0.1s
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.1s
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.0s
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.1s
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.1s
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.1s
Intermediate theorems generated: 161

BALL_NEIGH = |- !m x e. (& 0) < e ==> neigh(mtop m)(B m(x,e),x)
Run time: 0.0s
Intermediate theorems generated: 76

MTOP_LIMPT = 
|- !m x S.
    limpt(mtop m)x S =
    (!e. (& 0) < e ==> (?y. ~(x = y) /\ S y /\ (dist m(x,y)) < e))
Run time: 0.1s
Intermediate theorems generated: 298

Theorem REAL_ADD_LINV autoloading from theory `REAL` ...
REAL_ADD_LINV = |- !x. (-- x) + x = & 0
Run time: 0.0s

Theorem REAL_ADD_ASSOC autoloading from theory `REAL` ...
REAL_ADD_ASSOC = |- !x y z. x + (y + z) = (x + y) + z
Run time: 0.0s

Definition real_sub autoloading from theory `REAL` ...
real_sub = |- !x y. x - y = x + (-- y)
Run time: 0.0s
Intermediate theorems generated: 1

Theorem ABS_TRIANGLE autoloading from theory `REAL` ...
ABS_TRIANGLE = |- !x y. (abs(x + y)) <= ((abs x) + (abs y))
Run time: 0.0s

Theorem ABS_NEG autoloading from theory `REAL` ...
ABS_NEG = |- !x. abs(-- x) = abs x
Run time: 0.0s

Theorem REAL_NEG_SUB autoloading from theory `REAL` ...
REAL_NEG_SUB = |- !x y. --(x - y) = y - x
Run time: 0.0s

Theorem REAL_SUB_0 autoloading from theory `REAL` ...
REAL_SUB_0 = |- !x y. (x - y = & 0) = (x = y)
Run time: 0.0s

Theorem ABS_ZERO autoloading from theory `REAL` ...
ABS_ZERO = |- !x. (abs x = & 0) = (x = & 0)
Run time: 0.0s

ISMET_R1 = |- ismet(\(x,y). abs(y - x))
Run time: 0.0s
Intermediate theorems generated: 204

mr1 = |- mr1 = metric(\(x,y). abs(y - x))
Run time: 0.0s
Intermediate theorems generated: 2

MR1_DEF = |- !x y. dist mr1(x,y) = abs(y - x)
Run time: 0.1s
Intermediate theorems generated: 32

Theorem REAL_ADD_SUB autoloading from theory `REAL` ...
REAL_ADD_SUB = |- !x y. (x + y) - x = y
Run time: 0.0s

MR1_ADD = |- !x d. dist mr1(x,x + d) = abs d
Run time: 0.0s
Intermediate theorems generated: 25

Theorem REAL_SUB_SUB autoloading from theory `REAL` ...
REAL_SUB_SUB = |- !x y. (x - y) - x = -- y
Run time: 0.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: 1.5s
Intermediate theorems generated: 4132

#\
    echo 'set_flag(`abort_when_fail`,true);;'\
         'loadt `nets.ml`;;'\
         'quit();;' | /<<PKGBUILDDIR>>/hol


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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.1s

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.1s
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.0s
Intermediate theorems generated: 136

Theorem REAL_LE_TRANS autoloading from theory `REAL` ...
REAL_LE_TRANS = |- !x y z. x <= y /\ y <= z ==> x <= z
Run time: 0.0s

Theorem REAL_LE_TOTAL autoloading from theory `REAL` ...
REAL_LE_TOTAL = |- !x y. x <= y \/ y <= x
Run time: 0.0s

Theorem REAL_LE_REFL autoloading from theory `REAL` ...
REAL_LE_REFL = |- !x. x <= x
Run time: 0.0s

DORDER_TENDSTO = |- !m x. dorder(tendsto(m,x))
Run time: 0.1s
Intermediate theorems generated: 257

Definition re_subset autoloading from theory `TOPOLOGY` ...
re_subset = |- !P Q. P re_subset Q = (!x. P x ==> Q x)
Run time: 0.0s
Intermediate theorems generated: 1

Theorem MTOP_OPEN autoloading from theory `TOPOLOGY` ...
MTOP_OPEN = 
|- !m.
    open(mtop m)S =
    (!x. S x ==> (?e. (& 0) < e /\ (!y. (dist m(x,y)) < e ==> S y)))
Run time: 0.0s

Definition neigh autoloading from theory `TOPOLOGY` ...
neigh = 
|- !top N x. neigh top(N,x) = (?P. open top P /\ P re_subset N /\ P x)
Run time: 0.0s
Intermediate theorems generated: 1

Theorem METRIC_SYM autoloading from theory `TOPOLOGY` ...
METRIC_SYM = |- !m x y. dist m(x,y) = dist m(y,x)
Run time: 0.0s

Definition ball autoloading from theory `TOPOLOGY` ...
ball = |- !m x e. B m(x,e) = (\y. (dist m(x,y)) < e)
Run time: 0.0s
Intermediate theorems generated: 1

Theorem BALL_NEIGH autoloading from theory `TOPOLOGY` ...
BALL_NEIGH = |- !m x e. (& 0) < e ==> neigh(mtop m)(B m(x,e),x)
Run time: 0.0s

MTOP_TENDS = 
|- !d g x x0.
    (x --> x0)(mtop d,g) =
    (!e.
      (& 0) < e ==> (?n. g n n /\ (!m. g m n ==> (dist d(x m,x0)) < e)))
Run time: 0.1s
Intermediate theorems generated: 373

Theorem METRIC_TRIANGLE autoloading from theory `TOPOLOGY` ...
METRIC_TRIANGLE = 
|- !m x y z. (dist m(x,z)) <= ((dist m(x,y)) + (dist m(y,z)))
Run time: 0.0s

Theorem REAL_NOT_LT autoloading from theory `REAL` ...
REAL_NOT_LT = |- !x y. ~x < y = y <= x
Run time: 0.0s

Theorem REAL_HALF_DOUBLE autoloading from theory `REAL` ...
REAL_HALF_DOUBLE = |- !x. (x / (& 2)) + (x / (& 2)) = x
Run time: 0.0s

Theorem REAL_LT_ADD2 autoloading from theory `REAL` ...
REAL_LT_ADD2 = |- !w x y z. w < x /\ y < z ==> (w + y) < (x + z)
Run time: 0.0s

Theorem METRIC_NZ autoloading from theory `TOPOLOGY` ...
METRIC_NZ = |- !m x y. ~(x = y) ==> (& 0) < (dist m(x,y))
Run time: 0.0s

Theorem REAL_LT_HALF1 autoloading from theory `REAL` ...
REAL_LT_HALF1 = |- !d. (& 0) < (d / (& 2)) = (& 0) < d
Run time: 0.0s

MTOP_TENDS_UNIQ = 
|- !g d.
    dorder g ==>
    (x --> x0)(mtop d,g) /\ (x --> x1)(mtop d,g) ==>
    (x0 = x1)
Run time: 0.1s
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.1s

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.1s
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.1s
Intermediate theorems generated: 493

NET_NULL_ADD = 
|- !g.
    dorder g ==>
    (!x y.
      (x --> (& 0))(mtop mr1,g) /\ (y --> (& 0))(mtop mr1,g) ==>
      ((\n. (x n) + (y n)) --> (& 0))(mtop mr1,g))
Run time: 0.1s
Intermediate theorems generated: 324

Theorem REAL_LT_MUL2 autoloading from theory `REAL` ...
REAL_LT_MUL2 = 
|- !x1 x2 y1 y2.
    (& 0) <= x1 /\ (& 0) <= y1 /\ x1 < x2 /\ y1 < y2 ==>
    (x1 * y1) < (x2 * y2)
Run time: 0.0s

Theorem ABS_MUL autoloading from theory `REAL` ...
ABS_MUL = |- !x y. abs(x * y) = (abs x) * (abs y)
Run time: 0.0s

Theorem REAL_DIV_LMUL autoloading from theory `REAL` ...
REAL_DIV_LMUL = |- !x y. ~(y = & 0) ==> (y * (x / y) = x)
Run time: 0.0s

Theorem REAL_LT_RDIV_0 autoloading from theory `REAL` ...
REAL_LT_RDIV_0 = |- !y z. (& 0) < z ==> ((& 0) < (y / z) = (& 0) < y)
Run time: 0.0s

Theorem ABS_POS autoloading from theory `REAL` ...
ABS_POS = |- !x. (& 0) <= (abs x)
Run time: 0.0s

NET_NULL_MUL = 
|- !g.
    dorder g ==>
    (!x y.
      bounded(mr1,g)x /\ (y --> (& 0))(mtop mr1,g) ==>
      ((\n. (x n) * (y n)) --> (& 0))(mtop mr1,g))
Run time: 0.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.1s
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.1s
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.1s

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.1s
Intermediate theorems generated: 400

() : void
Run time: 0.0s
Intermediate theorems generated: 1


File nets.ml loaded
() : void
Run time: 2.1s
Intermediate theorems generated: 7389

#\
    echo 'set_flag(`abort_when_fail`,true);;'\
         'loadt `seq.ml`;;'\
         'quit();;' | /<<PKGBUILDDIR>>/hol


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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.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

[] : (string # string) list
Run time: 0.0s

() : void
Run time: 0.1s
Intermediate theorems generated: 34

() : void
Run time: 0.1s

[(); ()] : 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.0s

SEQ_SUB = 
|- !x x0 y y0.
    x --> x0 /\ y --> y0 ==> (\n. (x n) - (y n)) --> (x0 - y0)
Run time: 0.0s
Intermediate theorems generated: 33

Theorem NET_DIV autoloading from theory `NETS` ...
NET_DIV = 
|- !g.
    dorder g ==>
    (!x x0 y y0.
      (x tends x0)(mtop mr1,g) /\
      (y tends y0)(mtop mr1,g) /\
      ~(y0 = & 0) ==>
      ((\n. (x n) / (y n)) tends (x0 / y0))(mtop mr1,g))
Run time: 0.0s

SEQ_DIV = 
|- !x x0 y y0.
    x --> x0 /\ y --> y0 /\ ~(y0 = & 0) ==>
    (\n. (x n) / (y n)) --> (x0 / y0)
Run time: 0.0s
Intermediate theorems generated: 35

Theorem MTOP_TENDS_UNIQ autoloading from theory `NETS` ...
MTOP_TENDS_UNIQ = 
|- !g d.
    dorder g ==>
    (x tends x0)(mtop d,g) /\ (x tends x1)(mtop d,g) ==>
    (x0 = x1)
Run time: 0.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.1s

Theorem LESS_TRANS autoloading from theory `arithmetic` ...
LESS_TRANS = |- !m n p. m num_lt n /\ n num_lt p ==> m num_lt p
Run time: 0.0s

Theorem ADD1 autoloading from theory `arithmetic` ...
ADD1 = |- !m. SUC m = m num_add 1
Run time: 0.0s

Theorem LESS_ADD_1 autoloading from theory `arithmetic` ...
LESS_ADD_1 = |- !m n. n num_lt m ==> (?p. m = n num_add (p num_add 1))
Run time: 0.0s

Theorem LESS_SUC_REFL autoloading from theory `prim_rec` ...
LESS_SUC_REFL = |- !n. n num_lt (SUC n)
Run time: 0.0s

SUBSEQ_SUC = |- !f. subseq f = (!n. (f n) num_lt (f(SUC n)))
Run time: 0.0s
Intermediate theorems generated: 182

mono = 
|- !f.
    mono f =
    (!m n. m num_le n ==> (f m) <= (f n)) \/
    (!m n. m num_le n ==> (f m) >= (f n))
Run time: 0.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.0s
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.1s
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.0s

Theorem REAL_ADD_RINV autoloading from theory `REAL` ...
REAL_ADD_RINV = |- !x. x + (-- x) = & 0
Run time: 0.0s

Definition real_sub autoloading from theory `REAL` ...
real_sub = |- !x y. x - y = x + (-- y)
Run time: 0.0s
Intermediate theorems generated: 1

Theorem REAL_NEG_SUB autoloading from theory `REAL` ...
REAL_NEG_SUB = |- !x y. --(x - y) = y - x
Run time: 0.0s

Theorem REAL_NOT_LT autoloading from theory `REAL` ...
REAL_NOT_LT = |- !x y. ~x < y = y <= x
Run time: 0.1s

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.1s
Intermediate theorems generated: 910

Theorem REAL_NEGNEG autoloading from theory `REAL` ...
REAL_NEGNEG = |- !x. --(-- x) = x
Run time: 0.0s

SEQ_NEG_CONV = |- !f. convergent f = convergent(\n. --(f n))
Run time: 0.0s
Intermediate theorems generated: 72

Theorem ABS_NEG autoloading from theory `REAL` ...
ABS_NEG = |- !x. abs(-- x) = abs x
Run time: 0.0s

SEQ_NEG_BOUNDED = 
|- !f. bounded(mr1,$num_ge)(\n. --(f n)) = bounded(mr1,$num_ge)f
Run time: 0.0s
Intermediate theorems generated: 39

SEQ_BCONV = |- !f. bounded(mr1,$num_ge)f /\ mono f ==> convergent f
Run time: 0.1s
Intermediate theorems generated: 209

Theorem LESS_EQ_TRANS autoloading from theory `arithmetic` ...
LESS_EQ_TRANS = |- !m n p. m num_le n /\ n num_le p ==> m num_le p
Run time: 0.0s

Definition LESS_OR_EQ autoloading from theory `arithmetic` ...
LESS_OR_EQ = |- !m n. m num_le n = m num_lt n \/ (m = n)
Run time: 0.0s
Intermediate theorems generated: 1

Theorem LESS_EQ autoloading from theory `arithmetic` ...
LESS_EQ = |- !m n. m num_lt n = (SUC m) num_le n
Run time: 0.0s

Theorem REAL_NOT_LE autoloading from theory `REAL` ...
REAL_NOT_LE = |- !x y. ~x <= y = y < x
Run time: 0.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.1s
Intermediate theorems generated: 1286

SEQ_SBOUNDED = 
|- !s f. bounded(mr1,$num_ge)s ==> bounded(mr1,$num_ge)(\n. s(f n))
Run time: 0.1s
Intermediate theorems generated: 34

Theorem LESS_EQ_MONO autoloading from theory `arithmetic` ...
LESS_EQ_MONO = |- !n m. (SUC n) num_le (SUC m) = n num_le m
Run time: 0.0s

Theorem NOT_LESS autoloading from theory `arithmetic` ...
NOT_LESS = |- !m n. ~m num_lt n = n num_le m
Run time: 0.0s

SEQ_SUBLE = |- !f. subseq f ==> (!n. n num_le (f n))
Run time: 0.0s
Intermediate theorems generated: 116

Theorem LESS_EQ_CASES autoloading from theory `arithmetic` ...
LESS_EQ_CASES = |- !m n. m num_le n \/ n num_le m
Run time: 0.0s

SEQ_DIRECT = 
|- !f. subseq f ==> (!N1 N2. ?n. n num_ge N1 /\ (f n) num_ge N2)
Run time: 0.0s
Intermediate theorems generated: 118

Theorem REAL_LT_ADD2 autoloading from theory `REAL` ...
REAL_LT_ADD2 = |- !w x y z. w < x /\ y < z ==> (w + y) < (x + z)
Run time: 0.0s

Theorem REAL_HALF_DOUBLE autoloading from theory `REAL` ...
REAL_HALF_DOUBLE = |- !x. (x / (& 2)) + (x / (& 2)) = x
Run time: 0.0s

Theorem ABS_TRIANGLE autoloading from theory `REAL` ...
ABS_TRIANGLE = |- !x y. (abs(x + y)) <= ((abs x) + (abs y))
Run time: 0.0s

Theorem REAL_SUB_TRIANGLE autoloading from theory `REAL` ...
REAL_SUB_TRIANGLE = |- !a b c. (a - b) + (b - c) = a - c
Run time: 0.0s

Theorem REAL_LT_HALF1 autoloading from theory `REAL` ...
REAL_LT_HALF1 = |- !d. (& 0) < (d / (& 2)) = (& 0) < d
Run time: 0.0s

SEQ_CAUCHY = |- !f. cauchy f = convergent f
Run time: 0.0s
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.1s
Intermediate theorems generated: 236

Theorem ABS_ABS autoloading from theory `REAL` ...
ABS_ABS = |- !x. abs(abs x) = abs x
Run time: 0.0s

Theorem REAL_SUB_RZERO autoloading from theory `REAL` ...
REAL_SUB_RZERO = |- !x. x - (& 0) = x
Run time: 0.0s

SEQ_ABS = |- !f. (\n. abs(f n)) --> (& 0) = f --> (& 0)
Run time: 0.0s
Intermediate theorems generated: 70

Theorem NET_ABS autoloading from theory `NETS` ...
NET_ABS = 
|- !x x0.
    (x tends x0)(mtop mr1,g) ==>
    ((\n. abs(x n)) tends (abs x0))(mtop mr1,g)
Run time: 0.0s

SEQ_ABS_IMP = |- !f l. f --> l ==> (\n. abs(f n)) --> (abs l)
Run time: 0.0s
Intermediate theorems generated: 20

Theorem REAL_LT_INV autoloading from theory `REAL` ...
REAL_LT_INV = |- !x y. (& 0) < x /\ x < y ==> (inv y) < (inv x)
Run time: 0.0s

Theorem REAL_INVINV autoloading from theory `REAL` ...
REAL_INVINV = |- !x. ~(x = & 0) ==> (inv(inv x) = x)
Run time: 0.0s

Theorem ABS_INV autoloading from theory `REAL` ...
ABS_INV = |- !x. ~(x = & 0) ==> (abs(inv x) = inv(abs x))
Run time: 0.0s

Theorem REAL_LT_IMP_NE autoloading from theory `REAL` ...
REAL_LT_IMP_NE = |- !x y. x < y ==> ~(x = y)
Run time: 0.0s

Theorem REAL_LT_TRANS autoloading from theory `REAL` ...
REAL_LT_TRANS = |- !x y z. x < y /\ y < z ==> x < z
Run time: 0.0s

Theorem REAL_INV_POS autoloading from theory `REAL` ...
REAL_INV_POS = |- !x. (& 0) < x ==> (& 0) < (inv x)
Run time: 0.0s

Definition real_gt autoloading from theory `REAL` ...
real_gt = |- !x y. x > y = y < x
Run time: 0.0s
Intermediate theorems generated: 1

SEQ_INV0 = 
|- !f.
    (!y. ?N. !n. n num_ge N ==> (f n) > y) ==> (\n. inv(f n)) --> (& 0)
Run time: 0.1s
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.1s
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.2s
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.1s

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.3s
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.1s
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.1s
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.0s
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.2s
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.1s
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.1s
Intermediate theorems generated: 412

SER_ZERO = |- !f. summable f ==> f --> (& 0)
Run time: 0.0s
Intermediate theorems generated: 121

Theorem SUM_LE autoloading from theory `REAL` ...
SUM_LE = 
|- !f g m n.
    (!r. m num_le r /\ r num_lt (n num_add m) ==> (f r) <= (g r)) ==>
    (Sum(m,n)f) <= (Sum(m,n)g)
Run time: 0.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.1s
Intermediate theorems generated: 191

SER_LE2 = 
|- !f g.
    (!n. (abs(f n)) <= (g n)) /\ summable g ==>
    summable f /\ (suminf f) <= (suminf g)
Run time: 0.0s
Intermediate theorems generated: 136

Theorem SUM_ABS autoloading from theory `REAL` ...
SUM_ABS = 
|- !f m n. abs(Sum(m,n)(\m. abs(f m))) = Sum(m,n)(\m. abs(f m))
Run time: 0.0s

SER_ACONV = |- !f. summable(\n. abs(f n)) ==> summable f
Run time: 0.0s
Intermediate theorems generated: 126

Theorem SUM_ABS_LE autoloading from theory `REAL` ...
SUM_ABS_LE = |- !f m n. (abs(Sum(m,n)f)) <= (Sum(m,n)(\n'. abs(f n')))
Run time: 0.0s

SER_ABS = 
|- !f.
    summable(\n. abs(f n)) ==> (abs(suminf f)) <= (suminf(\n. abs(f n)))
Run time: 0.1s
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.1s
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.0s
Intermediate theorems generated: 343

Theorem REAL_NEG_LMUL autoloading from theory `REAL` ...
REAL_NEG_LMUL = |- !x y. --(x * y) = (-- x) * y
Run time: 0.1s

Theorem REAL_LE_MUL autoloading from theory `REAL` ...
REAL_LE_MUL = |- !x y. (& 0) <= x /\ (& 0) <= y ==> (& 0) <= (x * y)
Run time: 0.0s

Theorem REAL_NEG_GE0 autoloading from theory `REAL` ...
REAL_NEG_GE0 = |- !x. (& 0) <= (-- x) = x <= (& 0)
Run time: 0.0s

ABS_NEG_LEMMA = 
|- !c. c <= (& 0) ==> (!x y. (abs x) <= (c * (abs y)) ==> (x = & 0))
Run time: 0.0s
Intermediate theorems generated: 114

Theorem REAL_LE_LMUL autoloading from theory `REAL` ...
REAL_LE_LMUL = |- !x y z. (& 0) < x ==> ((x * y) <= (x * z) = y <= z)
Run time: 0.0s

Theorem POW_ADD autoloading from theory `REAL` ...
POW_ADD = |- !c m n. c pow (m num_add n) = (c pow m) * (c pow n)
Run time: 0.0s

Theorem OR_LESS autoloading from theory `arithmetic` ...
OR_LESS = |- !m n. (SUC m) num_le n ==> m num_lt n
Run time: 0.0s

SER_RATIO = 
|- !f c N.
    c < (& 1) /\
    (!n. n num_ge N ==> (abs(f(SUC n))) <= (c * (abs(f n)))) ==>
    summable f
Run time: 0.1s
Intermediate theorems generated: 683

() : void
Run time: 0.0s
Intermediate theorems generated: 1


File seq.ml loaded
() : void
Run time: 4.0s
Intermediate theorems generated: 18704

#\
    echo 'set_flag(`abort_when_fail`,true);;'\
         'loadt `lim.ml`;;'\
         'quit();;' | /<<PKGBUILDDIR>>/hol


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#false : bool


false : bool

() : void

Theory SEQ loaded
() : void


false : bool
Run time: 0.0s

LAND_CONV = - : (conv -> conv)
Run time: 0.0s

TAUT_CONV = - : conv
Run time: 0.0s

AC = - : ((thm # thm) -> conv)
Run time: 0.0s

GEN_PAIR_TAC = - : tactic
Run time: 0.0s

MK_COMB_TAC = - : tactic
Run time: 0.0s

BINOP_TAC = - : tactic
Run time: 0.0s

SYM_CANON_CONV = - : (thm -> ((term # term) -> bool) -> conv)
Run time: 0.0s

IMP_SUBST_TAC = - : thm_tactic
Run time: 0.0s

ABBREV_TAC = - : (term -> tactic)
Run time: 0.0s

EXT_CONV = - : conv
Run time: 0.0s

ABS_TAC = - : tactic
Run time: 0.0s

EQUAL_TAC = - : tactic
Run time: 0.0s

X_BETA_CONV = - : (term -> conv)
Run time: 0.0s

EXACT_CONV = - : (thm list -> conv)
Run time: 0.0s

HABS_CONV = - : conv
Run time: 0.0s

autoload_definitions = - : (string -> void)
Run time: 0.0s

autoload_theorems = - : (string -> void)
Run time: 0.0s

EXPAND_TAC = - : (string -> tactic)
Run time: 0.0s


File useful loaded
() : void
Run time: 0.1s

real_interface_map = 
[(`--`, `real_neg`);
 (`num_add`, `+`);
 (`+`, `real_add`);
 (`num_mul`, `*`);
 (`*`, `real_mul`);
 (`num_sub`, `-`);
 (`-`, `real_sub`);
 (`num_lt`, `<`);
 (`<`, `real_lt`);
 (`num_le`, `<=`);
 (`<=`, `real_le`);
 (`num_gt`, `>`);
 (`>`, `real_gt`);
 (`num_ge`, `>=`);
 (`>=`, `real_ge`);
 (`inv`, `real_inv`);
 (`&`, `real_of_num`)]
: (string # string) list
Run time: 0.0s

() : void
Run time: 0.0s
Intermediate theorems generated: 43

() : void
Run time: 0.1s

() : void
Run time: 0.0s

tends_real_real = 
|- !f l x0.
    (f tends_real_real l)x0 = (f tends l)(mtop mr1,tendsto(mr1,x0))
Run time: 0.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.1s
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.1s
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.0s
Intermediate theorems generated: 29

CONT_DIV = 
|- !x.
    f contl x /\ g contl x /\ ~(g x = & 0) ==>
    (\x. (f x) / (g x)) contl x
Run time: 0.0s
Intermediate theorems generated: 31

Theorem REAL_LT_IMP_LE autoloading from theory `REAL` ...
REAL_LT_IMP_LE = |- !x y. x < y ==> x <= y
Run time: 0.0s

Theorem REAL_NOT_LT autoloading from theory `REAL` ...
REAL_NOT_LT = |- !x y. ~x < y = y <= x
Run time: 0.0s

Theorem REAL_SUB_ADD autoloading from theory `REAL` ...
REAL_SUB_ADD = |- !x y. (x - y) + y = x
Run time: 0.0s

Theorem REAL_ADD_SYM autoloading from theory `REAL` ...
REAL_ADD_SYM = |- !x y. x + y = y + x
Run time: 0.1s

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.3s
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.1s
Intermediate theorems generated: 150

Theorem REAL_MUL_SYM autoloading from theory `REAL` ...
REAL_MUL_SYM = |- !x y. x * y = y * x
Run time: 0.0s

Theorem REAL_MUL_ASSOC autoloading from theory `REAL` ...
REAL_MUL_ASSOC = |- !x y z. x * (y * z) = (x * y) * z
Run time: 0.0s

Theorem REAL_SUB_RDISTRIB autoloading from theory `REAL` ...
REAL_SUB_RDISTRIB = |- !x y z. (x - y) * z = (x * z) - (y * z)
Run time: 0.0s

Theorem REAL_SUB_LDISTRIB autoloading from theory `REAL` ...
REAL_SUB_LDISTRIB = |- !x y z. x * (y - z) = (x * y) - (x * z)
Run time: 0.0s

Theorem REAL_ADD_LID autoloading from theory `REAL` ...
REAL_ADD_LID = |- !x. (& 0) + x = x
Run time: 0.0s

Theorem REAL_ADD_LINV autoloading from theory `REAL` ...
REAL_ADD_LINV = |- !x. (-- x) + x = & 0
Run time: 0.0s

Theorem REAL_ADD_ASSOC autoloading from theory `REAL` ...
REAL_ADD_ASSOC = |- !x y z. x + (y + z) = (x + y) + z
Run time: 0.0s

DIFF_MUL = 
|- !f g l m x.
    (f diffl l)x /\ (g diffl m)x ==>
    ((\x. (f x) * (g x)) diffl ((l * (g x)) + (m * (f x))))x
Run time: 0.1s
Intermediate theorems generated: 567

DIFF_CMUL = 
|- !f c l x. (f diffl l)x ==> ((\x. c * (f x)) diffl (c * l))x
Run time: 0.0s
Intermediate theorems generated: 100

Theorem REAL_NEG_MINUS1 autoloading from theory `REAL` ...
REAL_NEG_MINUS1 = |- !x. -- x = (--(& 1)) * x
Run time: 0.0s

DIFF_NEG = |- !f l x. (f diffl l)x ==> ((\x. --(f x)) diffl (-- l))x
Run time: 0.0s
Intermediate theorems generated: 20

DIFF_SUB = 
|- !f g l m x.
    (f diffl l)x /\ (g diffl m)x ==>
    ((\x. (f x) - (g x)) diffl (l - m))x
Run time: 0.0s
Intermediate theorems generated: 50

Theorem NET_NULL_MUL autoloading from theory `NETS` ...
NET_NULL_MUL = 
|- !g.
    dorder g ==>
    (!x y.
      bounded(mr1,g)x /\ (y tends (& 0))(mtop mr1,g) ==>
      ((\n. (x n) * (y n)) tends (& 0))(mtop mr1,g))
Run time: 0.0s

LIM_NULL_MUL = 
|- !x x0 y.
    bounded(mr1,tendsto(mr1,x0))x /\ (y --> (& 0))x0 ==>
    ((\u. (x u) * (y u)) --> (& 0))x0
Run time: 0.1s
Intermediate theorems generated: 35

Theorem REAL_LT_HALF2 autoloading from theory `REAL` ...
REAL_LT_HALF2 = |- !d. (d / (& 2)) < d = (& 0) < d
Run time: 0.0s

Theorem ABS_REFL autoloading from theory `REAL` ...
ABS_REFL = |- !x. (abs x = x) = (& 0) <= x
Run time: 0.0s

Theorem ABS_LE autoloading from theory `REAL` ...
ABS_LE = |- !x. x <= (abs x)
Run time: 0.0s

Theorem MR1_BOUNDED autoloading from theory `NETS` ...
MR1_BOUNDED = 
|- !g f.
    bounded(mr1,g)f = (?k N. g N N /\ (!n. g n N ==> (abs(f n)) < k))
Run time: 0.0s

LIM_BOUNDED = 
|- bounded(mr1,tendsto(mr1,x0))f =
   (?k d.
     (& 0) < d /\
     (!x. (& 0) < (abs(x - x0)) /\ (abs(x - x0)) < d ==> (abs(f x)) < k))
Run time: 0.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.1s
Intermediate theorems generated: 170

Theorem REAL_LT_RADD autoloading from theory `REAL` ...
REAL_LT_RADD = |- !x y z. (x + z) < (y + z) = x < y
Run time: 0.0s

CHAIN_LEMMA2 = |- !x y d. (abs(x - y)) < d ==> (abs x) < ((abs y) + d)
Run time: 0.0s
Intermediate theorems generated: 65

Theorem ABS_POS autoloading from theory `REAL` ...
ABS_POS = |- !x. (& 0) <= (abs x)
Run time: 0.0s

Theorem REAL_LE_ADDL autoloading from theory `REAL` ...
REAL_LE_ADDL = |- !x y. y <= (x + y) = (& 0) <= x
Run time: 0.0s

Theorem ABS_0 autoloading from theory `REAL` ...
ABS_0 = |- abs(& 0) = & 0
Run time: 0.0s

Theorem REAL_LT_REFL autoloading from theory `REAL` ...
REAL_LT_REFL = |- !x. ~x < x
Run time: 0.0s

Theorem ABS_NEG autoloading from theory `REAL` ...
ABS_NEG = |- !x. abs(-- x) = abs x
Run time: 0.0s

Theorem REAL_SUB_LZERO autoloading from theory `REAL` ...
REAL_SUB_LZERO = |- !x. (& 0) - x = -- x
Run time: 0.0s

DIFF_CHAIN = 
|- !f g x.
    (f diffl l)(g x) /\ (g diffl m)x ==> ((\x. f(g x)) diffl (l * m))x
Run time: 0.3s
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.1s

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.1s

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.1s
Intermediate theorems generated: 293

Theorem LESS_EQ_ADD autoloading from theory `arithmetic` ...
LESS_EQ_ADD = |- !m n. m num_le (m num_add n)
Run time: 0.0s

Theorem LESS_SUC_REFL autoloading from theory `prim_rec` ...
LESS_SUC_REFL = |- !n. n num_lt (SUC n)
Run time: 0.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.2s
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.1s
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.1s
Intermediate theorems generated: 469

Theorem REAL_ADD_SUB2 autoloading from theory `REAL` ...
REAL_ADD_SUB2 = |- !x y. x - (x + y) = -- y
Run time: 0.0s

Theorem REAL_SUB_SUB2 autoloading from theory `REAL` ...
REAL_SUB_SUB2 = |- !x y. x - (x - y) = y
Run time: 0.0s

DIFF_LMAX = 
|- !f x l.
    (f diffl l)x /\
    (?d. (& 0) < d /\ (!y. (abs(x - y)) < d ==> (f y) <= (f x))) ==>
    (l = & 0)
Run time: 0.1s
Intermediate theorems generated: 572

Theorem REAL_NEG_EQ0 autoloading from theory `REAL` ...
REAL_NEG_EQ0 = |- !x. (-- x = & 0) = (x = & 0)
Run time: 0.0s

DIFF_LMIN = 
|- !f x l.
    (f diffl l)x /\
    (?d. (& 0) < d /\ (!y. (abs(x - y)) < d ==> (f x) <= (f y))) ==>
    (l = & 0)
Run time: 0.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.2s
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.1s
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.1s
Intermediate theorems generated: 310

DIFF_ISCONST_ALL = |- !f. (!x. (f diffl (& 0))x) ==> (!x y. f x = f y)
Run time: 0.0s
Intermediate theorems generated: 172

() : void
Run time: 0.1s
Intermediate theorems generated: 1


File lim.ml loaded
() : void
Run time: 4.4s
Intermediate theorems generated: 21608

#\
    echo 'set_flag(`abort_when_fail`,true);;'\
         'loadt `powser.ml`;;'\
         'quit();;' | /<<PKGBUILDDIR>>/hol


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#false : bool


false : bool

() : void

Theory SEQ loaded
Theory LIM loaded
() : void


false : bool
Run time: 0.0s

LAND_CONV = - : (conv -> conv)
Run time: 0.0s

TAUT_CONV = - : conv
Run time: 0.0s

AC = - : ((thm # thm) -> conv)
Run time: 0.0s

GEN_PAIR_TAC = - : tactic
Run time: 0.0s

MK_COMB_TAC = - : tactic
Run time: 0.0s

BINOP_TAC = - : tactic
Run time: 0.0s

SYM_CANON_CONV = - : (thm -> ((term # term) -> bool) -> conv)
Run time: 0.0s

IMP_SUBST_TAC = - : thm_tactic
Run time: 0.0s

ABBREV_TAC = - : (term -> tactic)
Run time: 0.0s

EXT_CONV = - : conv
Run time: 0.0s

ABS_TAC = - : tactic
Run time: 0.0s

EQUAL_TAC = - : tactic
Run time: 0.0s

X_BETA_CONV = - : (term -> conv)
Run time: 0.0s

EXACT_CONV = - : (thm list -> conv)
Run time: 0.0s

HABS_CONV = - : conv
Run time: 0.0s

autoload_definitions = - : (string -> void)
Run time: 0.0s

autoload_theorems = - : (string -> void)
Run time: 0.0s

EXPAND_TAC = - : (string -> tactic)
Run time: 0.0s


File useful loaded
() : void
Run time: 0.1s

real_interface_map = 
[(`--`, `real_neg`);
 (`num_add`, `+`);
 (`+`, `real_add`);
 (`num_mul`, `*`);
 (`*`, `real_mul`);
 (`num_sub`, `-`);
 (`-`, `real_sub`);
 (`num_lt`, `<`);
 (`<`, `real_lt`);
 (`num_le`, `<=`);
 (`<=`, `real_le`);
 (`num_gt`, `>`);
 (`>`, `real_gt`);
 (`num_ge`, `>=`);
 (`>=`, `real_ge`);
 (`inv`, `real_inv`);
 (`&`, `real_of_num`)]
: (string # string) list
Run time: 0.0s

[(); ()] : void list
Run time: 0.0s

[] : (string # string) list
Run time: 0.0s

() : void
Run time: 0.0s
Intermediate theorems generated: 47

() : void
Run time: 0.1s

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.1s
Intermediate theorems generated: 753

Theorem SER_ACONV autoloading from theory `SEQ` ...
SER_ACONV = |- !f. summable(\n. abs(f n)) ==> summable f
Run time: 0.0s

POWSER_INSIDE = 
|- !f x z.
    summable(\n. (f n) * (x pow n)) /\ (abs z) < (abs x) ==>
    summable(\n. (f n) * (z pow n))
Run time: 0.0s
Intermediate theorems generated: 67

diffs = |- !c. diffs c = (\n. (&(SUC n)) * (c(SUC n)))
Run time: 0.0s
Intermediate theorems generated: 2

Theorem REAL_NEG_RMUL autoloading from theory `REAL` ...
REAL_NEG_RMUL = |- !x y. --(x * y) = x * (-- y)
Run time: 0.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.1s
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.1s

Theorem ADD_SUB autoloading from theory `arithmetic` ...
ADD_SUB = |- !a c. (a num_add c) num_sub c = a
Run time: 0.0s

Theorem ADD1 autoloading from theory `arithmetic` ...
ADD1 = |- !m. SUC m = m num_add 1
Run time: 0.0s

Theorem 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.1s
Intermediate theorems generated: 917

Theorem SER_LE autoloading from theory `SEQ` ...
SER_LE = 
|- !f g.
    (!n. (f n) <= (g n)) /\ summable f /\ summable g ==>
    (suminf f) <= (suminf g)
Run time: 0.0s

Theorem SER_ABS autoloading from theory `SEQ` ...
SER_ABS = 
|- !f.
    summable(\n. abs(f n)) ==> (abs(suminf f)) <= (suminf(\n. abs(f n)))
Run time: 0.0s

Theorem SUM_SUMMABLE autoloading from theory `SEQ` ...
SUM_SUMMABLE = |- !f l. f sums l ==> summable f
Run time: 0.0s

Theorem SUM_UNIQ autoloading from theory `SEQ` ...
SUM_UNIQ = |- !f x. f sums x ==> (x = suminf f)
Run time: 0.0s

TERMDIFF_LEMMA5 = 
|- !f g k.
    (& 0) < k /\
    summable f /\
    (!h.
      (& 0) < (abs h) /\ (abs h) < k ==>
      (!n. (abs(g h n)) <= ((f n) * (abs h)))) ==>
    ((\h. suminf(g h)) tends_real_real (& 0))(& 0)
Run time: 0.1s
Intermediate theorems generated: 502

Theorem REAL_LT_SUB_LADD autoloading from theory `REAL` ...
REAL_LT_SUB_LADD = |- !x y z. x < (y - z) = (x + z) < y
Run time: 0.0s

Theorem ABS_TRIANGLE autoloading from theory `REAL` ...
ABS_TRIANGLE = |- !x y. (abs(x + y)) <= ((abs x) + (abs y))
Run time: 0.0s

Theorem REAL_LE_LMUL_IMP autoloading from theory `REAL` ...
REAL_LE_LMUL_IMP = 
|- !x y z. (& 0) <= x /\ y <= z ==> (x * y) <= (x * z)
Run time: 0.0s

Theorem REAL_MUL_RINV autoloading from theory `REAL` ...
REAL_MUL_RINV = |- !x. ~(x = & 0) ==> (x * (inv x) = & 1)
Run time: 0.0s

Theorem ABS_LE autoloading from theory `REAL` ...
ABS_LE = |- !x. x <= (abs x)
Run time: 0.0s

Theorem REAL_LTE_TRANS autoloading from theory `REAL` ...
REAL_LTE_TRANS = |- !x y z. x < y /\ y <= z ==> x < z
Run time: 0.0s

Theorem POW_1 autoloading from theory `REAL` ...
POW_1 = |- !x. x pow 1 = x
Run time: 0.0s

Theorem ABS_N autoloading from theory `REAL` ...
ABS_N = |- !n. abs(& n) = & n
Run time: 0.0s

Theorem ABS_REFL autoloading from theory `REAL` ...
ABS_REFL = |- !x. (abs x = x) = (& 0) <= x
Run time: 0.0s

Theorem REAL_MEAN autoloading from theory `REAL` ...
REAL_MEAN = |- !x y. x < y ==> (?z. x < z /\ z < y)
Run time: 0.0s

Theorem REAL_SUB_RDISTRIB autoloading from theory `REAL` ...
REAL_SUB_RDISTRIB = |- !x y z. (x - y) * z = (x * z) - (y * z)
Run time: 0.0s

Theorem LIM_NULL autoloading from theory `LIM` ...
LIM_NULL = 
|- !f l x.
    (f tends_real_real l)x = ((\x. (f x) - l) tends_real_real (& 0))x
Run time: 0.0s

Theorem SER_CDIV autoloading from theory `SEQ` ...
SER_CDIV = |- !x x0 c. x sums x0 ==> (\n. (x n) / c) sums (x0 / c)
Run time: 0.0s

Theorem SER_SUB autoloading from theory `SEQ` ...
SER_SUB = 
|- !x x0 y y0.
    x sums x0 /\ y sums y0 ==> (\n. (x n) - (y n)) sums (x0 - y0)
Run time: 0.0s

Theorem ABS_ZERO autoloading from theory `REAL` ...
ABS_ZERO = |- !x. (abs x = & 0) = (x = & 0)
Run time: 0.0s

Theorem ABS_CIRCLE autoloading from theory `REAL` ...
ABS_CIRCLE = 
|- !x y h. (abs h) < ((abs y) - (abs x)) ==> (abs(x + h)) < (abs y)
Run time: 0.0s

Theorem REAL_SUB_LT autoloading from theory `REAL` ...
REAL_SUB_LT = |- !x y. (& 0) < (x - y) = y < x
Run time: 0.0s

Theorem LIM_TRANSFORM autoloading from theory `LIM` ...
LIM_TRANSFORM = 
|- !f g x0 l.
    ((\x. (f x) - (g x)) tends_real_real (& 0))x0 /\
    (g tends_real_real l)x0 ==>
    (f tends_real_real l)x0
Run time: 0.0s

Definition diffl autoloading from theory `LIM` ...
diffl = 
|- !f l x.
    (f diffl l)x =
    ((\h. ((f(x + h)) - (f x)) / h) tends_real_real l)(& 0)
Run time: 0.0s
Intermediate theorems generated: 1

TERMDIFF = 
|- !c K.
    summable(\n. (c n) * (K pow n)) /\
    summable(\n. (diffs c n) * (K pow n)) /\
    summable(\n. (diffs(diffs c)n) * (K pow n)) /\
    (abs x) < (abs K) ==>
    ((\x. suminf(\n. (c n) * (x pow n))) diffl
     (suminf(\n. (diffs c n) * (x pow n))))
    x
Run time: 0.3s
Intermediate theorems generated: 2494

() : void
Run time: 0.0s
Intermediate theorems generated: 1


File powser.ml loaded
() : void
Run time: 2.2s
Intermediate theorems generated: 8507

#\
    echo 'set_flag(`abort_when_fail`,true);;'\
         'loadt `transc.ml`;;'\
         'quit();;' | /<<PKGBUILDDIR>>/hol


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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.3s

Theorem ADD_CLAUSES autoloading from theory `arithmetic` ...
ADD_CLAUSES = 
|- (0 + m = m) /\
   (m + 0 = m) /\
   ((SUC m) + n = SUC(m + n)) /\
   (m + (SUC n) = SUC(m + n))
Run time: 0.0s

Theorem DIV_MULT autoloading from theory `arithmetic` ...
DIV_MULT = |- !n r. r < n ==> (!q. ((q * n) + r) DIV n = q)
Run time: 0.0s

Theorem MULT_SYM autoloading from theory `arithmetic` ...
MULT_SYM = |- !m n. m * n = n * m
Run time: 0.0s

MULT_DIV_2 = |- !n. (2 * n) DIV 2 = n
Run time: 0.1s
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.2s

basic_diffs = [] : thm list
Run time: 0.0s

Theorem DIFF_CHAIN autoloading from theory `LIM` ...
DIFF_CHAIN = 
|- !f g x.
    (f diffl l)(g x) /\ (g diffl m)x ==> ((\x. f(g x)) diffl (l * m))x
Run time: 0.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.1s

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.1s
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.1s
Intermediate theorems generated: 361

Theorem REAL_NEG_MINUS1 autoloading from theory `REAL` ...
REAL_NEG_MINUS1 = |- !x. -- x = (--(& 1)) * x
Run time: 0.0s

Definition pow autoloading from theory `REAL` ...
pow = |- (!x. x pow 0 = & 1) /\ (!x n. x pow (SUC n) = x * (x pow n))
Run time: 0.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.1s
Intermediate theorems generated: 407

Theorem SER_NEG autoloading from theory `SEQ` ...
SER_NEG = |- !x x0. x sums x0 ==> (\n. --(x n)) sums (-- x0)
Run time: 0.0s

Theorem SUM_UNIQ autoloading from theory `SEQ` ...
SUM_UNIQ = |- !f x. f sums x ==> (x = suminf f)
Run time: 0.0s

SIN_NEGLEMMA = 
|- !x.
    --(sin x) =
    suminf
    (\n.
      --
      (((\n.
          (EVEN n => 
           & 0 | 
           ((--(& 1)) pow ((n num_sub 1) DIV 2)) / (&(FACT n))))
        n) *
       (x pow n)))
Run time: 0.0s
Intermediate theorems generated: 42

Theorem REAL_LT_ADDR autoloading from theory `REAL` ...
REAL_LT_ADDR = |- !x y. x < (x + y) = (& 0) < y
Run time: 0.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.1s
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.1s
Intermediate theorems generated: 274

Theorem REAL_LE_REFL autoloading from theory `REAL` ...
REAL_LE_REFL = |- !x. x <= x
Run time: 0.0s

Theorem REAL_ADD_RID autoloading from theory `REAL` ...
REAL_ADD_RID = |- !x. x + (& 0) = x
Run time: 0.0s

Theorem MULT_CLAUSES autoloading from theory `arithmetic` ...
MULT_CLAUSES = 
|- !m n.
    (0 num_mul m = 0) /\
    (m num_mul 0 = 0) /\
    (1 num_mul m = m) /\
    (m num_mul 1 = m) /\
    ((SUC m) num_mul n = (m num_mul n) num_add n) /\
    (m num_mul (SUC n) = m num_add (m num_mul n))
Run time: 0.0s

Theorem POW_POS autoloading from theory `REAL` ...
POW_POS = |- !x. (& 0) <= x ==> (!n. (& 0) <= (x pow n))
Run time: 0.0s

Theorem SER_POS_LE autoloading from theory `SEQ` ...
SER_POS_LE = 
|- !f n.
    summable f /\ (!m. n num_le m ==> (& 0) <= (f m)) ==>
    (Sum(0,n)f) <= (suminf f)
Run time: 0.0s

Theorem REAL_LE_LT autoloading from theory `REAL` ...
REAL_LE_LT = |- !x y. x <= y = x < y \/ (x = y)
Run time: 0.0s

EXP_LE_X = |- !x. (& 0) <= x ==> ((& 1) + x) <= (exp x)
Run time: 0.1s
Intermediate theorems generated: 420

EXP_LT_1 = |- !x. (& 0) < x ==> (& 1) < (exp x)
Run time: 0.0s
Intermediate theorems generated: 56

Theorem REAL_SUB_0 autoloading from theory `REAL` ...
REAL_SUB_0 = |- !x y. (x - y = & 0) = (x = y)
Run time: 0.0s

Definition real_sub autoloading from theory `REAL` ...
real_sub = |- !x y. x - y = x + (-- y)
Run time: 0.0s
Intermediate theorems generated: 1

Theorem REAL_NEG_RMUL autoloading from theory `REAL` ...
REAL_NEG_RMUL = |- !x y. --(x * y) = x * (-- y)
Run time: 0.0s

Theorem DIFF_ISCONST_ALL autoloading from theory `LIM` ...
DIFF_ISCONST_ALL = |- !f. (!x. (f diffl (& 0))x) ==> (!x y. f x = f y)
Run time: 0.0s

EXP_ADD_MUL = |- !x y. (exp(x + y)) * (exp(-- x)) = exp y
Run time: 0.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.1s
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.1s

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.1s
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.1s
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.0s
Intermediate theorems generated: 2

sqrt = |- !x. sqrt x = root 2 x
Run time: 0.0s
Intermediate theorems generated: 2

Theorem REAL_MUL_LINV autoloading from theory `REAL` ...
REAL_MUL_LINV = |- !x. ~(x = & 0) ==> ((inv x) * x = & 1)
Run time: 0.0s

ROOT_LT_LEMMA = 
|- !n x. (& 0) < x ==> ((exp((ln x) / (&(SUC n)))) pow (SUC n) = x)
Run time: 0.1s
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.1s
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.1s
Intermediate theorems generated: 206

Theorem REAL_DIV_REFL autoloading from theory `REAL` ...
REAL_DIV_REFL = |- !x. ~(x = & 0) ==> (x / x = & 1)
Run time: 0.0s

Theorem DIV_UNIQUE autoloading from theory `arithmetic` ...
DIV_UNIQUE = 
|- !n k q.
    (?r. (k = (q num_mul n) num_add r) /\ r num_lt n) ==> (k DIV n = q)
Run time: 0.0s

COS_0 = |- cos(& 0) = & 1
Run time: 0.1s
Intermediate theorems generated: 454

SIN_CIRCLE = |- !x. ((sin x) pow 2) + ((cos x) pow 2) = & 1
Run time: 0.1s
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.1s
Intermediate theorems generated: 160

COS_BOUNDS = |- !x. (--(& 1)) <= (cos x) /\ (cos x) <= (& 1)
Run time: 0.0s
Intermediate theorems generated: 24

Theorem REAL_NEGNEG autoloading from theory `REAL` ...
REAL_NEGNEG = |- !x. --(-- x) = x
Run time: 0.0s

Theorem REAL_NEG_ADD autoloading from theory `REAL` ...
REAL_NEG_ADD = |- !x y. --(x + y) = (-- x) + (-- y)
Run time: 0.0s

Theorem REAL_SUB_LZERO autoloading from theory `REAL` ...
REAL_SUB_LZERO = |- !x. (& 0) - x = -- x
Run time: 0.0s

Theorem REAL_EQ_SUB_LADD autoloading from theory `REAL` ...
REAL_EQ_SUB_LADD = |- !x y z. (x = y - z) = (x + z = y)
Run time: 0.0s

Theorem REAL_SUB_REFL autoloading from theory `REAL` ...
REAL_SUB_REFL = |- !x. x - x = & 0
Run time: 0.0s

Theorem REAL_SUB_RZERO autoloading from theory `REAL` ...
REAL_SUB_RZERO = |- !x. x - (& 0) = x
Run time: 0.0s

SIN_COS_ADD = 
|- !x y.
    (((sin(x + y)) - (((sin x) * (cos y)) + ((cos x) * (sin y)))) pow 2) +
    (((cos(x + y)) - (((cos x) * (cos y)) - ((sin x) * (sin y)))) pow 2) =
    & 0
Run time: 0.3s
Intermediate theorems generated: 1747

SIN_COS_NEG = 
|- !x.
    (((sin(-- x)) + (sin x)) pow 2) + (((cos(-- x)) - (cos x)) pow 2) =
    & 0
Run time: 0.1s
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.1s
Intermediate theorems generated: 47

Theorem REAL_DOUBLE autoloading from theory `REAL` ...
REAL_DOUBLE = |- !x. x + x = (& 2) * x
Run time: 0.0s

SIN_DOUBLE = |- !x. sin((& 2) * x) = (& 2) * ((sin x) * (cos x))
Run time: 0.0s
Intermediate theorems generated: 29

COS_DOUBLE = |- !x. cos((& 2) * x) = ((cos x) pow 2) - ((sin x) pow 2)
Run time: 0.0s
Intermediate theorems generated: 34

Theorem ODD_DOUBLE autoloading from theory `arithmetic` ...
ODD_DOUBLE = |- !n. ODD(SUC(2 num_mul n))
Run time: 0.0s

Theorem EVEN_DOUBLE autoloading from theory `arithmetic` ...
EVEN_DOUBLE = |- !n. EVEN(2 num_mul n)
Run time: 0.0s

Theorem SUM_2 autoloading from theory `REAL` ...
SUM_2 = |- !f n. Sum(n,2)f = (f n) + (f(n num_add 1))
Run time: 0.0s

Theorem SER_PAIR autoloading from theory `SEQ` ...
SER_PAIR = 
|- !f. summable f ==> (\n. Sum(2 num_mul n,2)f) sums (suminf f)
Run time: 0.0s

SIN_PAIRED = 
|- !x.
    (\n.
      (((--(& 1)) pow n) / (&(FACT((2 num_mul n) num_add 1)))) *
      (x pow ((2 num_mul n) num_add 1))) sums
    (sin x)
Run time: 0.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.2s
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.4s
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.1s
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.1s
Intermediate theorems generated: 84

SIN_PI = |- sin pi = & 0
Run time: 0.0s
Intermediate theorems generated: 79

SIN_COS = |- !x. sin x = cos((pi / (& 2)) - x)
Run time: 0.0s
Intermediate theorems generated: 66

COS_SIN = |- !x. cos x = sin((pi / (& 2)) - x)
Run time: 0.0s
Intermediate theorems generated: 56

SIN_PERIODIC_PI = |- !x. sin(x + pi) = --(sin x)
Run time: 0.0s
Intermediate theorems generated: 59

COS_PERIODIC_PI = |- !x. cos(x + pi) = --(cos x)
Run time: 0.0s
Intermediate theorems generated: 59

SIN_PERIODIC = |- !x. sin(x + ((& 2) * pi)) = sin x
Run time: 0.0s
Intermediate theorems generated: 47

COS_PERIODIC = |- !x. cos(x + ((& 2) * pi)) = cos x
Run time: 0.1s
Intermediate theorems generated: 47

COS_NPI = |- !n. cos((& n) * pi) = (--(& 1)) pow n
Run time: 0.0s
Intermediate theorems generated: 134

SIN_NPI = |- !n. sin((& n) * pi) = & 0
Run time: 0.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.1s
Intermediate theorems generated: 143

Theorem REAL_LT_SUB_RADD autoloading from theory `REAL` ...
REAL_LT_SUB_RADD = |- !x y z. (x - y) < z = x < (z + y)
Run time: 0.0s

Theorem REAL_LT_SUB_LADD autoloading from theory `REAL` ...
REAL_LT_SUB_LADD = |- !x y z. x < (y - z) = (x + z) < y
Run time: 0.0s

Theorem REAL_NEG_SUB autoloading from theory `REAL` ...
REAL_NEG_SUB = |- !x y. --(x - y) = y - x
Run time: 0.0s

SIN_POS_PI = |- !x. (& 0) < x /\ x < pi ==> (& 0) < (sin x)
Run time: 0.0s
Intermediate theorems generated: 96

COS_TOTAL = 
|- !y.
    (--(& 1)) <= y /\ y <= (& 1) ==>
    (?! x. (& 0) <= x /\ x <= pi /\ (cos x = y))
Run time: 0.1s
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.0s
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.1s
Intermediate theorems generated: 319

tan = |- !x. tan x = (sin x) / (cos x)
Run time: 0.0s
Intermediate theorems generated: 2

TAN_0 = |- tan(& 0) = & 0
Run time: 0.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.0s
Intermediate theorems generated: 46

TAN_PERIODIC = |- !x. tan(x + ((& 2) * pi)) = tan x
Run time: 0.0s
Intermediate theorems generated: 24

Theorem REAL_LDISTRIB autoloading from theory `REAL` ...
REAL_LDISTRIB = |- !x y z. x * (y + z) = (x * y) + (x * z)
Run time: 0.0s

Theorem REAL_SUB_LDISTRIB autoloading from theory `REAL` ...
REAL_SUB_LDISTRIB = |- !x y z. x * (y - z) = (x * y) - (x * z)
Run time: 0.0s

Theorem REAL_DIV_MUL2 autoloading from theory `REAL` ...
REAL_DIV_MUL2 = 
|- !x z. ~(x = & 0) /\ ~(z = & 0) ==> (!y. y / z = (x * y) / (x * z))
Run time: 0.0s

TAN_ADD = 
|- !x y.
    ~(cos x = & 0) /\ ~(cos y = & 0) /\ ~(cos(x + y) = & 0) ==>
    (tan(x + y) = ((tan x) + (tan y)) / ((& 1) - ((tan x) * (tan y))))
Run time: 0.1s
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.1s

TAN_TOTAL_LEMMA = 
|- !y. (& 0) < y ==> (?x. (& 0) < x /\ x < (pi / (& 2)) /\ y < (tan x))
Run time: 0.1s
Intermediate theorems generated: 1046

TAN_TOTAL_POS = 
|- !y.
    (& 0) <= y ==> (?x. (& 0) <= x /\ x < (pi / (& 2)) /\ (tan x = y))
Run time: 0.1s
Intermediate theorems generated: 372

Theorem POW_NZ autoloading from theory `REAL` ...
POW_NZ = |- !c n. ~(c = & 0) ==> ~(c pow n = & 0)
Run time: 0.0s

Theorem REAL_INV_NZ autoloading from theory `REAL` ...
REAL_INV_NZ = |- !x. ~(x = & 0) ==> ~(inv x = & 0)
Run time: 0.0s

Theorem REAL_LE_NEGL autoloading from theory `REAL` ...
REAL_LE_NEGL = |- !x. (-- x) <= x = (& 0) <= x
Run time: 0.0s

Theorem REAL_LE_NEGTOTAL autoloading from theory `REAL` ...
REAL_LE_NEGTOTAL = |- !x. (& 0) <= x \/ (& 0) <= (-- x)
Run time: 0.0s

TAN_TOTAL = 
|- !y. ?! x. (--(pi / (& 2))) < x /\ x < (pi / (& 2)) /\ (tan x = y)
Run time: 0.1s
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.1s
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.1s
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.0s
Intermediate theorems generated: 103

() : void
Run time: 0.1s
Intermediate theorems generated: 1


File transc.ml loaded
() : void
Run time: 7.1s
Intermediate theorems generated: 30503

#make[5]: Leaving directory '/<<PKGBUILDDIR>>/Library/reals/theories'
make[4]: Leaving directory '/<<PKGBUILDDIR>>/Library/reals'
make[4]: Entering directory '/<<PKGBUILDDIR>>/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 22/5/17
===============================================================================

#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 22/5/17
===============================================================================

#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 22/5/17
===============================================================================

#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 22/5/17
===============================================================================

#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 22/5/17
===============================================================================

#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 22/5/17
===============================================================================

#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 22/5/17
===============================================================================

#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 22/5/17
===============================================================================

#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 22/5/17
===============================================================================

#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 22/5/17
===============================================================================

#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 22/5/17
===============================================================================

#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 22/5/17
===============================================================================

#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 22/5/17
===============================================================================

#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 22/5/17
===============================================================================

#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 22/5/17
===============================================================================

#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 '/<<PKGBUILDDIR>>/Library/window'
make[4]: Entering directory '/<<PKGBUILDDIR>>/Library/pair'
echo 'set_flag(`abort_when_fail`,true);;'	\
        'compilet `syn`;;'				\
        'quit();;' | ../../hol


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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 22/5/17
===============================================================================

#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 22/5/17
===============================================================================

#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 22/5/17
===============================================================================

#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 22/5/17
===============================================================================

#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 22/5/17
===============================================================================

#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 22/5/17
===============================================================================

#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 22/5/17
===============================================================================

#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 '/<<PKGBUILDDIR>>/Library/pair'
make[4]: Entering directory '/<<PKGBUILDDIR>>/Library/word'
rm -f word_base.th
echo 'set_flag(`abort_when_fail`,true);;'\
     'loadt `mk_word_base`;;'\
             'quit();;' | /<<PKGBUILDDIR>>/hol 


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol 


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol 


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol 


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol 


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol 


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol 


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol 


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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 '/<<PKGBUILDDIR>>/Library/word'
make[4]: Entering directory '/<<PKGBUILDDIR>>/Library/record_proof'
echo 'set_flag(`abort_when_fail`,true);;'\
     'compilet `proof_rec`;;'\
             'quit();;' | /<<PKGBUILDDIR>>/hol 


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol 


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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 '/<<PKGBUILDDIR>>/Library/record_proof'
make[4]: Entering directory '/<<PKGBUILDDIR>>/Library/parser'
echo 'set_flag(`abort_when_fail`,true);;'\
     'compilet `general`;;'\
     'quit();;' | /<<PKGBUILDDIR>>/hol


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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 '/<<PKGBUILDDIR>>/Library/parser'
make[4]: Entering directory '/<<PKGBUILDDIR>>/Library/prettyp'
echo 'set_flag(`abort_when_fail`,true);;'\
     'compilet `PP_printer/extents`;;'\
     'quit();;' | /<<PKGBUILDDIR>>/hol 


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol 


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol 


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol 


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol 


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol 


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol 


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol 


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol 


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol 


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol 


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol 


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol 


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol 


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol 


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol 


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol 


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol 


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol 


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol 


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol 


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol 


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol 


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol 


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol 


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol 


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol 


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol 


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol 


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol 


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol 


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol 


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol 


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol 


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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 '/<<PKGBUILDDIR>>/Library/prettyp'
make[4]: Entering directory '/<<PKGBUILDDIR>>/Library/trs'
echo 'set_flag(`abort_when_fail`,true);;'\
     'compilet `extents`;;'\
     'quit();;' | /<<PKGBUILDDIR>>/hol 


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#false : bool


Calling Lisp compiler

File extents compiled
() : void

#echo 'set_flag(`abort_when_fail`,true);;'\
     'loadf `extents`;;'\
     'compilet `sets`;;'\
     'quit();;' | /<<PKGBUILDDIR>>/hol 


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol 


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol 


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol 


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol 


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol 


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol 


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol 


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol 


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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 '/<<PKGBUILDDIR>>/Library/trs'
make[4]: Entering directory '/<<PKGBUILDDIR>>/Library/latex-hol'
echo 'set_flag(`abort_when_fail`,true);;'\
	'compilet `filters`;;'\
	'quit();;' | /<<PKGBUILDDIR>>/hol


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol 


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol 


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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 '/<<PKGBUILDDIR>>/Library/latex-hol'
make[4]: Entering directory '/<<PKGBUILDDIR>>/Library/more_arithmetic'
rm -f ineq.th
echo 'set_flag(`abort_when_fail`,true);;'\
     'loadt `ineq`;;'\
     'quit();;' | /<<PKGBUILDDIR>>/hol 


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol 


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol 


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol 


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol 


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol 


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol 


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol 


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol 


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol 


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol 


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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 '/<<PKGBUILDDIR>>/Library/more_arithmetic'
make[4]: Entering directory '/<<PKGBUILDDIR>>/Library/numeral'
echo 'set_flag(`abort_when_fail`,true);;'	\
     'loadt `numeral_theory`;;'			\
     'quit();;' | /<<PKGBUILDDIR>>/hol


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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 '/<<PKGBUILDDIR>>/Library/numeral'
make[4]: Entering directory '/<<PKGBUILDDIR>>/Library/ind_defs'
echo 'set_flag(`abort_when_fail`,true);;'\
     'compilet `ind-defs`;;'\
     'quit();;' | /<<PKGBUILDDIR>>/hol


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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();;' | /<<PKGBUILDDIR>>/hol


===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#false : bool


() : void

Calling Lisp compiler

File ind_defs compiled
() : void

#===> library ind_defs rebuilt
make[4]: Leaving directory '/<<PKGBUILDDIR>>/Library/ind_defs'
=======> library rebuilt
make[3]: Leaving directory '/<<PKGBUILDDIR>>/Library'
date
Mon May 22 05:24:23 UTC 2017
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
date
Mon May 22 05:24:23 UTC 2017
make permissions
make[2]: Entering directory '/<<PKGBUILDDIR>>'
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 '/<<PKGBUILDDIR>>'
=======> hol Version 2.02 (GCL) and libraries made
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
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

HOL-LCF version 2.02 (GCL) created 22/5/17

#HOL installed (`/usr/share/hol88-2.02.19940316`)
() : void

#
BASIC-HOL version 2.02 (GCL) created 22/5/17

#HOL installed (`/usr/share/hol88-2.02.19940316`)
() : void

#

===============================================================================
         HOL88 Version 2.02 (GCL), built on 22/5/17
===============================================================================

#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 '/<<PKGBUILDDIR>>'
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
dpkg-deb: building package 'hol88' in '../hol88_2.02.19940316-33_armhf.deb'.
dpkg-deb: building package 'hol88-library' in '../hol88-library_2.02.19940316-33_armhf.deb'.
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
 dpkg-genbuildinfo --build=any
 dpkg-genchanges --build=any -mRaspbian wandboard test autobuilder <root@raspbian.org> >../hol88_2.02.19940316-33_armhf.changes
dpkg-genchanges: info: binary-only arch-specific upload (source code and arch-indep packages not included)
 dpkg-source --after-build hol88-2.02.19940316
dpkg-buildpackage: info: binary-only upload (no source included)
--------------------------------------------------------------------------------
Build finished at 2017-05-22T05:26:43Z

Finished
--------

I: Built successfully

+------------------------------------------------------------------------------+
| Post Build Chroot                                                            |
+------------------------------------------------------------------------------+


+------------------------------------------------------------------------------+
| Changes                                                                      |
+------------------------------------------------------------------------------+


hol88_2.02.19940316-33_armhf.changes:
-------------------------------------

Format: 1.8
Date: Thu, 11 May 2017 19:24:09 +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: armhf
Version: 2.02.19940316-33
Distribution: stretch-staging
Urgency: high
Maintainer: Raspbian wandboard test autobuilder <root@raspbian.org>
Changed-By: Camm Maguire <camm@debian.org>
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
Closes: 857296
Changes:
 hol88 (2.02.19940316-33) unstable; urgency=high
 .
   * Bug fix: "hol88-library is an empty package on arm64, hppa, and m68k",
     thanks to Helmut Grohne (Closes: #857296).
   * build-dep on latest gcl
   * deprecated dh -s to -a in debian/rules
   * lintian override for hol88-help *.doc
   * temp files in clean target
Checksums-Sha1:
 fe256ae568aacc69c6e875ac1f89f09fe997280d 2771372 hol88-library_2.02.19940316-33_armhf.deb
 89a1b8cfaa7d6020f01bcf89d299f076a13708f3 10088 hol88_2.02.19940316-33_armhf.buildinfo
 e81091626670529a7b364304d4328e3dbff1c4f9 4836408 hol88_2.02.19940316-33_armhf.deb
Checksums-Sha256:
 a3f9f9b8d41308eba4818919670da21ba2f12d6814e9c074f87f31f0a8711a5a 2771372 hol88-library_2.02.19940316-33_armhf.deb
 ed3735e9b98156e8346d27e75d0b9eb5978094f0be3fcae77250dc76659d1d8f 10088 hol88_2.02.19940316-33_armhf.buildinfo
 cabdf5e4cb7c69756cc59bbc42be9bf2eb2a8ca89c67086068e87eb70541b73a 4836408 hol88_2.02.19940316-33_armhf.deb
Files:
 f783a9655275885469ae0c7cf948779e 2771372 math optional hol88-library_2.02.19940316-33_armhf.deb
 315c1dc21b30cc958feb99fc92d6f133 10088 math optional hol88_2.02.19940316-33_armhf.buildinfo
 197bc371c9288709b58c12e9fddb964d 4836408 math optional hol88_2.02.19940316-33_armhf.deb

+------------------------------------------------------------------------------+
| Package contents                                                             |
+------------------------------------------------------------------------------+


hol88-library_2.02.19940316-33_armhf.deb
----------------------------------------

 new debian package, version 2.0.
 size 2771372 bytes: control archive=3923 bytes.
     598 bytes,    15 lines      control              
   10676 bytes,   115 lines      md5sums              
 Package: hol88-library
 Source: hol88
 Version: 2.02.19940316-33
 Architecture: armhf
 Maintainer: Camm Maguire <camm@debian.org>
 Installed-Size: 14812
 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 2017-05-11 19:24 ./
drwxr-xr-x root/root         0 2017-05-11 19:24 ./usr/
drwxr-xr-x root/root         0 2017-05-11 19:24 ./usr/lib/
drwxr-xr-x root/root         0 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/
drwxr-xr-x root/root         0 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/
drwxr-xr-x root/root         0 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/abs_theory/
-rw-r--r-- root/root    202667 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/abs_theory/abs_theory_ml.o
drwxr-xr-x root/root         0 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/arith/
-rw-r--r-- root/root     86986 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/arith/arith_cons_ml.o
-rw-r--r-- root/root     54442 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/arith/decls_ml.o
-rw-r--r-- root/root     55217 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/arith/exists_arith_ml.o
-rw-r--r-- root/root     66581 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/arith/gen_arith_ml.o
-rw-r--r-- root/root     27957 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/arith/instance_ml.o
-rw-r--r-- root/root     36544 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/arith/int_extra_ml.o
-rw-r--r-- root/root    146773 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/arith/norm_arith_ml.o
-rw-r--r-- root/root     52024 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/arith/norm_bool_ml.o
-rw-r--r-- root/root     56307 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/arith/norm_ineqs_ml.o
-rw-r--r-- root/root     42673 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/arith/prenex_ml.o
-rw-r--r-- root/root     79359 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/arith/qconv_ml.o
-rw-r--r-- root/root     67991 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/arith/rationals_ml.o
-rw-r--r-- root/root     98186 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/arith/sol_ranges_ml.o
-rw-r--r-- root/root    149987 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/arith/solve_ineqs_ml.o
-rw-r--r-- root/root     76374 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/arith/solve_ml.o
-rw-r--r-- root/root     53603 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/arith/streams_ml.o
-rw-r--r-- root/root     24178 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/arith/string_extra_ml.o
-rw-r--r-- root/root     52101 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/arith/sub_and_cond_ml.o
-rw-r--r-- root/root    180432 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/arith/sup-inf_ml.o
-rw-r--r-- root/root     89300 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/arith/term_coeffs_ml.o
drwxr-xr-x root/root         0 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/finite_sets/
-rw-r--r-- root/root    172155 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/finite_sets/fset_conv_ml.o
-rw-r--r-- root/root     53535 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/finite_sets/set_ind_ml.o
drwxr-xr-x root/root         0 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/ind_defs/
-rw-r--r-- root/root    510740 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/ind_defs/ind-defs_ml.o
-rw-r--r-- root/root     19711 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/ind_defs/ind_defs_ml.o
drwxr-xr-x root/root         0 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/latex-hol/
-rw-r--r-- root/root     48168 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/latex-hol/filters_ml.o
-rw-r--r-- root/root    112948 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/latex-hol/formaters_ml.o
-rw-r--r-- root/root     61805 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/latex-hol/hol_trees_ml.o
-rw-r--r-- root/root     34071 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/latex-hol/latex_sets_pp_ml.o
-rw-r--r-- root/root    201608 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/latex-hol/latex_term_pp_ml.o
-rw-r--r-- root/root     33931 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/latex-hol/latex_thm_pp_ml.o
-rw-r--r-- root/root     54758 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/latex-hol/latex_type_pp_ml.o
-rw-r--r-- root/root     34120 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/latex-hol/precedence_ml.o
drwxr-xr-x root/root         0 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/more_arithmetic/
-rw-r--r-- root/root     52593 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/more_arithmetic/num_convs_ml.o
-rw-r--r-- root/root     60922 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/more_arithmetic/num_tac_ml.o
drwxr-xr-x root/root         0 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/numeral/
-rw-r--r-- root/root   1539888 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/numeral/numeral_rules_ml.o
drwxr-xr-x root/root         0 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/pair/
-rw-r--r-- root/root    118267 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/pair/all_ml.o
-rw-r--r-- root/root    244221 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/pair/basic_ml.o
-rw-r--r-- root/root    117151 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/pair/both1_ml.o
-rw-r--r-- root/root    181896 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/pair/both2_ml.o
-rw-r--r-- root/root    544400 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/pair/conv_ml.o
-rw-r--r-- root/root    173414 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/pair/exi_ml.o
-rw-r--r-- root/root     29410 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/pair/pair_ml.o
-rw-r--r-- root/root    136812 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/pair/syn_ml.o
drwxr-xr-x root/root         0 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/parser/
-rw-r--r-- root/root    134163 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/parser/general_ml.o
-rw-r--r-- root/root    437334 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/parser/parser_ml.o
drwxr-xr-x root/root         0 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/pred_sets/
-rw-r--r-- root/root    198279 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/pred_sets/fset_conv_ml.o
-rw-r--r-- root/root    122295 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/pred_sets/gspec_ml.o
-rw-r--r-- root/root     56375 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/pred_sets/set_ind_ml.o
drwxr-xr-x root/root         0 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/prettyp/
drwxr-xr-x root/root         0 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/prettyp/PP_hol/
-rw-r--r-- root/root    159206 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/prettyp/PP_hol/hol_term_pp_ml.o
-rw-r--r-- root/root     33921 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/prettyp/PP_hol/hol_thm_pp_ml.o
-rw-r--r-- root/root     61813 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/prettyp/PP_hol/hol_trees_ml.o
-rw-r--r-- root/root     54765 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/prettyp/PP_hol/hol_type_pp_ml.o
-rw-r--r-- root/root     23993 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/prettyp/PP_hol/link_to_hol_ml.o
-rw-r--r-- root/root     58401 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/prettyp/PP_hol/new_printers_ml.o
-rw-r--r-- root/root     31470 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/prettyp/PP_hol/precedence_ml.o
drwxr-xr-x root/root         0 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/prettyp/PP_parser/
-rw-r--r-- root/root     34885 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/prettyp/PP_parser/PP_to_ML_ml.o
-rw-r--r-- root/root    429992 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/prettyp/PP_parser/convert_ml.o
-rw-r--r-- root/root    132753 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/prettyp/PP_parser/generate_ml.o
-rw-r--r-- root/root    102133 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/prettyp/PP_parser/lex_ml.o
-rw-r--r-- root/root    148092 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/prettyp/PP_parser/pp_lang1_pp_ml.o
-rw-r--r-- root/root    204693 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/prettyp/PP_parser/pp_lang2_pp_ml.o
-rw-r--r-- root/root    429132 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/prettyp/PP_parser/syntax_ml.o
drwxr-xr-x root/root         0 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/prettyp/PP_printer/
-rw-r--r-- root/root    145136 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/prettyp/PP_printer/boxes_ml.o
-rw-r--r-- root/root     60989 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/prettyp/PP_printer/boxtostring_ml.o
-rw-r--r-- root/root     41342 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/prettyp/PP_printer/extents_ml.o
-rw-r--r-- root/root     49455 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/prettyp/PP_printer/print_ml.o
-rw-r--r-- root/root     24332 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/prettyp/PP_printer/ptree_ml.o
-rw-r--r-- root/root     64611 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/prettyp/PP_printer/strings_ml.o
-rw-r--r-- root/root    223691 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/prettyp/PP_printer/treematch_ml.o
-rw-r--r-- root/root    163042 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/prettyp/PP_printer/treetobox_ml.o
-rw-r--r-- root/root    108667 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/prettyp/PP_printer/utils_ml.o
drwxr-xr-x root/root         0 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/record_proof/
-rw-r--r-- root/root     24985 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/record_proof/dummy_funs_ml.o
-rw-r--r-- root/root    256891 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/record_proof/proof_rec_ml.o
drwxr-xr-x root/root         0 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/reduce/
-rw-r--r-- root/root    384224 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/reduce/arithconv_ml.o
-rw-r--r-- root/root    146896 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/reduce/boolconv_ml.o
-rw-r--r-- root/root     32099 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/reduce/reduce_ml.o
drwxr-xr-x root/root         0 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/res_quan/
-rw-r--r-- root/root    115910 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/res_quan/cond_rewr_ml.o
-rw-r--r-- root/root    280393 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/res_quan/res_rules_ml.o
drwxr-xr-x root/root         0 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/sets/
-rw-r--r-- root/root    197439 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/sets/fset_conv_ml.o
-rw-r--r-- root/root    122287 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/sets/gspec_ml.o
-rw-r--r-- root/root     56347 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/sets/set_ind_ml.o
drwxr-xr-x root/root         0 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/string/
-rw-r--r-- root/root     45816 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/string/ascii_ml.o
-rw-r--r-- root/root     37619 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/string/string_ml.o
-rw-r--r-- root/root     69608 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/string/string_rules_ml.o
-rw-r--r-- root/root     43002 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/string/stringconv_ml.o
drwxr-xr-x root/root         0 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/taut/
-rw-r--r-- root/root    251324 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/taut/taut_check_ml.o
drwxr-xr-x root/root         0 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/trs/
-rw-r--r-- root/root     16416 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/trs/extents_ml.o
-rw-r--r-- root/root     52359 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/trs/extract_ml.o
-rw-r--r-- root/root    131487 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/trs/matching_ml.o
-rw-r--r-- root/root     56518 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/trs/name_ml.o
-rw-r--r-- root/root     62218 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/trs/search_ml.o
-rw-r--r-- root/root     25412 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/trs/sets_ml.o
-rw-r--r-- root/root     91313 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/trs/sidecond_ml.o
-rw-r--r-- root/root    140637 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/trs/struct_ml.o
-rw-r--r-- root/root     17363 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/trs/thmkind_ml.o
-rw-r--r-- root/root     55962 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/trs/user_ml.o
drwxr-xr-x root/root         0 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/unwind/
-rw-r--r-- root/root    319914 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/unwind/unwinding_ml.o
drwxr-xr-x root/root         0 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/window/
-rw-r--r-- root/root    161326 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/window/basic_close_ml.o
-rw-r--r-- root/root    142714 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/window/eq_close_ml.o
-rw-r--r-- root/root    149588 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/window/hol_ext_ml.o
-rw-r--r-- root/root    315291 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/window/imp_close_ml.o
-rw-r--r-- root/root    222160 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/window/inter_ml.o
-rw-r--r-- root/root     23507 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/window/load_code_ml.o
-rw-r--r-- root/root     22665 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/window/load_window_ml.o
-rw-r--r-- root/root     86941 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/window/ml_ext_ml.o
-rw-r--r-- root/root    186470 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/window/tables_ml.o
-rw-r--r-- root/root     44796 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/window/tactic_ml.o
-rw-r--r-- root/root     45027 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/window/thms_ml.o
-rw-r--r-- root/root    270672 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/window/win_ml.o
-rw-r--r-- root/root     35315 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/window/window_ml.o
-rw-r--r-- root/root     40639 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/window/xlabel_ml.o
drwxr-xr-x root/root         0 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/word/
-rw-r--r-- root/root    175241 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/Library/word/word_convs_ml.o
drwxr-xr-x root/root         0 2017-05-11 19:24 ./usr/share/
drwxr-xr-x root/root         0 2017-05-11 19:24 ./usr/share/doc/
drwxr-xr-x root/root         0 2017-05-11 19:24 ./usr/share/doc/hol88-library/
-rw-r--r-- root/root      1712 2017-05-11 19:17 ./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 2017-05-11 19:24 ./usr/share/hol88-2.02.19940316/
drwxr-xr-x root/root         0 2017-05-11 19:24 ./usr/share/hol88-2.02.19940316/Library/
drwxr-xr-x root/root         0 2017-05-11 19:24 ./usr/share/hol88-2.02.19940316/Library/abs_theory/
lrwxrwxrwx root/root         0 2017-05-11 19:24 ./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 2017-05-11 19:24 ./usr/share/hol88-2.02.19940316/Library/arith/
lrwxrwxrwx root/root         0 2017-05-11 19:24 ./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 2017-05-11 19:24 ./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 2017-05-11 19:24 ./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 2017-05-11 19:24 ./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 2017-05-11 19:24 ./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 2017-05-11 19:24 ./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 2017-05-11 19:24 ./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 2017-05-11 19:24 ./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 2017-05-11 19:24 ./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 2017-05-11 19:24 ./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 2017-05-11 19:24 ./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 2017-05-11 19:24 ./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 2017-05-11 19:24 ./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 2017-05-11 19:24 ./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 2017-05-11 19:24 ./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 2017-05-11 19:24 ./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 2017-05-11 19:24 ./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 2017-05-11 19:24 ./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 2017-05-11 19:24 ./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 2017-05-11 19:24 ./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 2017-05-11 19:24 ./usr/share/hol88-2.02.19940316/Library/finite_sets/
lrwxrwxrwx root/root         0 2017-05-11 19:24 ./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 2017-05-11 19:24 ./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 2017-05-11 19:24 ./usr/share/hol88-2.02.19940316/Library/ind_defs/
lrwxrwxrwx root/root         0 2017-05-11 19:24 ./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 2017-05-11 19:24 ./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 2017-05-11 19:24 ./usr/share/hol88-2.02.19940316/Library/latex-hol/
lrwxrwxrwx root/root         0 2017-05-11 19:24 ./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 2017-05-11 19:24 ./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 2017-05-11 19:24 ./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 2017-05-11 19:24 ./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 2017-05-11 19:24 ./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 2017-05-11 19:24 ./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 2017-05-11 19:24 ./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 2017-05-11 19:24 ./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 2017-05-11 19:24 ./usr/share/hol88-2.02.19940316/Library/more_arithmetic/
lrwxrwxrwx root/root         0 2017-05-11 19:24 ./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 2017-05-11 19:24 ./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 2017-05-11 19:24 ./usr/share/hol88-2.02.19940316/Library/numeral/
lrwxrwxrwx root/root         0 2017-05-11 19:24 ./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 2017-05-11 19:24 ./usr/share/hol88-2.02.19940316/Library/pair/
lrwxrwxrwx root/root         0 2017-05-11 19:24 ./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 2017-05-11 19:24 ./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 2017-05-11 19:24 ./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 2017-05-11 19:24 ./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 2017-05-11 19:24 ./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 2017-05-11 19:24 ./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 2017-05-11 19:24 ./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 2017-05-11 19:24 ./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 2017-05-11 19:24 ./usr/share/hol88-2.02.19940316/Library/parser/
lrwxrwxrwx root/root         0 2017-05-11 19:24 ./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 2017-05-11 19:24 ./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 2017-05-11 19:24 ./usr/share/hol88-2.02.19940316/Library/pred_sets/
lrwxrwxrwx root/root         0 2017-05-11 19:24 ./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 2017-05-11 19:24 ./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 2017-05-11 19:24 ./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 2017-05-11 19:24 ./usr/share/hol88-2.02.19940316/Library/prettyp/
drwxr-xr-x root/root         0 2017-05-11 19:24 ./usr/share/hol88-2.02.19940316/Library/prettyp/PP_hol/
lrwxrwxrwx root/root         0 2017-05-11 19:24 ./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 2017-05-11 19:24 ./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 2017-05-11 19:24 ./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 2017-05-11 19:24 ./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 2017-05-11 19:24 ./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 2017-05-11 19:24 ./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 2017-05-11 19:24 ./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 2017-05-11 19:24 ./usr/share/hol88-2.02.19940316/Library/prettyp/PP_parser/
lrwxrwxrwx root/root         0 2017-05-11 19:24 ./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 2017-05-11 19:24 ./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 2017-05-11 19:24 ./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 2017-05-11 19:24 ./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 2017-05-11 19:24 ./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 2017-05-11 19:24 ./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 2017-05-11 19:24 ./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 2017-05-11 19:24 ./usr/share/hol88-2.02.19940316/Library/prettyp/PP_printer/
lrwxrwxrwx root/root         0 2017-05-11 19:24 ./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 2017-05-11 19:24 ./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 2017-05-11 19:24 ./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 2017-05-11 19:24 ./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 2017-05-11 19:24 ./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 2017-05-11 19:24 ./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 2017-05-11 19:24 ./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 2017-05-11 19:24 ./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 2017-05-11 19:24 ./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 2017-05-11 19:24 ./usr/share/hol88-2.02.19940316/Library/record_proof/
lrwxrwxrwx root/root         0 2017-05-11 19:24 ./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 2017-05-11 19:24 ./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 2017-05-11 19:24 ./usr/share/hol88-2.02.19940316/Library/reduce/
lrwxrwxrwx root/root         0 2017-05-11 19:24 ./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 2017-05-11 19:24 ./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 2017-05-11 19:24 ./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 2017-05-11 19:24 ./usr/share/hol88-2.02.19940316/Library/res_quan/
lrwxrwxrwx root/root         0 2017-05-11 19:24 ./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 2017-05-11 19:24 ./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 2017-05-11 19:24 ./usr/share/hol88-2.02.19940316/Library/sets/
lrwxrwxrwx root/root         0 2017-05-11 19:24 ./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 2017-05-11 19:24 ./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 2017-05-11 19:24 ./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 2017-05-11 19:24 ./usr/share/hol88-2.02.19940316/Library/string/
lrwxrwxrwx root/root         0 2017-05-11 19:24 ./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 2017-05-11 19:24 ./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 2017-05-11 19:24 ./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 2017-05-11 19:24 ./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 2017-05-11 19:24 ./usr/share/hol88-2.02.19940316/Library/taut/
lrwxrwxrwx root/root         0 2017-05-11 19:24 ./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 2017-05-11 19:24 ./usr/share/hol88-2.02.19940316/Library/trs/
lrwxrwxrwx root/root         0 2017-05-11 19:24 ./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 2017-05-11 19:24 ./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 2017-05-11 19:24 ./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 2017-05-11 19:24 ./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 2017-05-11 19:24 ./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 2017-05-11 19:24 ./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 2017-05-11 19:24 ./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 2017-05-11 19:24 ./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 2017-05-11 19:24 ./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 2017-05-11 19:24 ./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 2017-05-11 19:24 ./usr/share/hol88-2.02.19940316/Library/unwind/
lrwxrwxrwx root/root         0 2017-05-11 19:24 ./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 2017-05-11 19:24 ./usr/share/hol88-2.02.19940316/Library/window/
lrwxrwxrwx root/root         0 2017-05-11 19:24 ./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 2017-05-11 19:24 ./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 2017-05-11 19:24 ./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 2017-05-11 19:24 ./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 2017-05-11 19:24 ./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 2017-05-11 19:24 ./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 2017-05-11 19:24 ./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 2017-05-11 19:24 ./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 2017-05-11 19:24 ./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 2017-05-11 19:24 ./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 2017-05-11 19:24 ./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 2017-05-11 19:24 ./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 2017-05-11 19:24 ./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 2017-05-11 19:24 ./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 2017-05-11 19:24 ./usr/share/hol88-2.02.19940316/Library/word/
lrwxrwxrwx root/root         0 2017-05-11 19:24 ./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-33_armhf.deb
--------------------------------

 new debian package, version 2.0.
 size 4836408 bytes: control archive=860 bytes.
     634 bytes,    15 lines      control              
     526 bytes,     8 lines      md5sums              
 Package: hol88
 Version: 2.02.19940316-33
 Architecture: armhf
 Maintainer: Camm Maguire <camm@debian.org>
 Installed-Size: 42680
 Depends: libc6 (>= 2.15), libgmp10, libreadline7 (>= 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 2017-05-11 19:24 ./
drwxr-xr-x root/root         0 2017-05-11 19:24 ./usr/
drwxr-xr-x root/root         0 2017-05-11 19:24 ./usr/bin/
-rwxr-xr-x root/root        51 2017-05-11 19:24 ./usr/bin/hol88
drwxr-xr-x root/root         0 2017-05-11 19:24 ./usr/lib/
drwxr-xr-x root/root         0 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/
-rwxr-xr-x root/root  15165068 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/basic-hol
-rwxr-xr-x root/root  18007732 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/hol
-rwxr-xr-x root/root  10507876 2017-05-11 19:24 ./usr/lib/hol88-2.02.19940316/hol-lcf
drwxr-xr-x root/root         0 2017-05-11 19:24 ./usr/share/
drwxr-xr-x root/root         0 2017-05-11 19:24 ./usr/share/doc/
drwxr-xr-x root/root         0 2017-05-11 19:24 ./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      1712 2017-05-11 19:17 ./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 2017-05-11 19:24 ./usr/share/hol88-2.02.19940316/
lrwxrwxrwx root/root         0 2017-05-11 19:24 ./usr/share/hol88-2.02.19940316/basic-hol -> ../../lib/hol88-2.02.19940316/basic-hol
lrwxrwxrwx root/root         0 2017-05-11 19:24 ./usr/share/hol88-2.02.19940316/hol -> ../../lib/hol88-2.02.19940316/hol
lrwxrwxrwx root/root         0 2017-05-11 19:24 ./usr/share/hol88-2.02.19940316/hol-lcf -> ../../lib/hol88-2.02.19940316/hol-lcf
drwxr-xr-x root/root         0 2017-05-11 19:24 ./usr/share/man/
drwxr-xr-x root/root         0 2017-05-11 19:24 ./usr/share/man/man1/
-rw-r--r-- root/root       734 2017-05-11 19:24 ./usr/share/man/man1/hol88.1.gz


+------------------------------------------------------------------------------+
| Post Build                                                                   |
+------------------------------------------------------------------------------+


+------------------------------------------------------------------------------+
| Cleanup                                                                      |
+------------------------------------------------------------------------------+

Purging /<<BUILDDIR>>
Not cleaning session: cloned chroot in use

+------------------------------------------------------------------------------+
| Summary                                                                      |
+------------------------------------------------------------------------------+

Build Architecture: armhf
Build-Space: 187676
Build-Time: 2321
Distribution: stretch-staging
Host Architecture: armhf
Install-Time: 1468
Job: hol88_2.02.19940316-33
Machine Architecture: armhf
Package: hol88
Package-Time: 3847
Source-Version: 2.02.19940316-33
Space: 187676
Status: successful
Version: 2.02.19940316-33
--------------------------------------------------------------------------------
Finished at 2017-05-22T05:26:43Z
Build needed 01:04:07, 187676k disc space