Input buildinfo: https://buildinfos.debian.net/buildinfo-pool/c/coq-hierarchy-builder/coq-hierarchy-builder_1.3.0-1_amd64.buildinfo Use metasnap for getting required timestamps New buildinfo file: /tmp/coq-hierarchy-builder-1.3.0-1jjhe0r16/coq-hierarchy-builder_1.3.0-1_amd64.buildinfo Get source package info: coq-hierarchy-builder=1.3.0-1 Source URL: http://snapshot.notset.fr/mr/package/coq-hierarchy-builder/1.3.0-1/srcfiles?fileinfo=1 env -i PATH=/usr/sbin:/usr/bin:/sbin:/bin TMPDIR=/tmp mmdebstrap --arch=amd64 --include=autoconf=2.71-2 automake=1:1.16.5-1.3 autopoint=0.21-6 autotools-dev=20220109.1 base-files=12.2 base-passwd=3.5.52 bash=5.1-6.1 binutils=2.38.90.20220713-2 binutils-common=2.38.90.20220713-2 binutils-x86-64-linux-gnu=2.38.90.20220713-2 bsdextrautils=2.38-6 bsdutils=1:2.38-6 build-essential=12.9 bzip2=1.0.8-5 coq=8.15.2+dfsg-2 coreutils=8.32-4.1 cpp=4:12.1.0-3 cpp-12=12.1.0-7 dash=0.5.11+git20210903+057cd650a4ed-8 debconf=1.5.79 debhelper=13.8 debianutils=5.7-0.2 dh-autoreconf=20 dh-coq=0.3 dh-ocaml=1.1.3 dh-strip-nondeterminism=1.13.0-1 diffutils=1:3.7-5 dpkg=1.21.9 dpkg-dev=1.21.9 dwz=0.14-1 file=1:5.41-4 findutils=4.9.0-3 g++=4:12.1.0-3 g++-12=12.1.0-7 gcc=4:12.1.0-3 gcc-12=12.1.0-7 gcc-12-base=12.1.0-7 gettext=0.21-6 gettext-base=0.21-6 grep=3.7-1 groff-base=1.22.4-8 gzip=1.12-1 hostname=3.23 init-system-helpers=1.64 intltool-debian=0.35.0+20060710.5 libacl1=2.3.1-1 libarchive-zip-perl=1.68-1 libasan8=12.1.0-7 libatomic1=12.1.0-7 libattr1=1:2.5.1-1 libaudit-common=1:3.0.7-1 libaudit1=1:3.0.7-1+b1 libbinutils=2.38.90.20220713-2 libblkid1=2.38-6 libbz2-1.0=1.0.8-5 libc-bin=2.33-8 libc-dev-bin=2.33-8 libc6=2.33-8 libc6-dev=2.33-8 libcap-ng0=0.8.3-1+b1 libcap2=1:2.44-1 libcc1-0=12.1.0-7 libcom-err2=1.46.5-2 libcoq-core-ocaml=8.15.2+dfsg-2 libcoq-core-ocaml-dev=8.15.2+dfsg-2 libcoq-elpi=1.14.0-5+b1 libcoq-elpi-ocaml=1.14.0-5+b1 libcoq-elpi-ocaml-dev=1.14.0-5+b1 libcoq-stdlib=8.15.2+dfsg-2 libcrypt-dev=1:4.4.28-2 libcrypt1=1:4.4.28-2 libctf-nobfd0=2.38.90.20220713-2 libctf0=2.38.90.20220713-2 libdb5.3=5.3.28+dfsg1-0.10 libdebconfclient0=0.263 libdebhelper-perl=13.8 libdpkg-perl=1.21.9 libelf1=0.187-1 libelpi-ocaml=1.16.5-1 libelpi-ocaml-dev=1.16.5-1 libexpat1=2.4.8-1 libffi8=3.4.2-4 libfile-stripnondeterminism-perl=1.13.0-1 libfindlib-ocaml=1.9.3-1 libgcc-12-dev=12.1.0-7 libgcc-s1=12.1.0-7 libgcrypt20=1.10.1-2 libgdbm-compat4=1.23-1 libgdbm6=1.23-1 libgmp-dev=2:6.2.1+dfsg1-1 libgmp10=2:6.2.1+dfsg1-1 libgmp3-dev=2:6.2.1+dfsg1-1 libgmpxx4ldbl=2:6.2.1+dfsg1-1 libgomp1=12.1.0-7 libgpg-error0=1.45-2 libgprofng0=2.38.90.20220713-2 libgssapi-krb5-2=1.20-1 libicu71=71.1-3 libisl23=0.25-1 libitm1=12.1.0-7 libk5crypto3=1.20-1 libkeyutils1=1.6.3-1 libkrb5-3=1.20-1 libkrb5support0=1.20-1 liblsan0=12.1.0-7 liblz4-1=1.9.3-2 liblzma5=5.2.5-2.1 libmagic-mgc=1:5.41-4 libmagic1=1:5.41-4 libmenhir-ocaml-dev=20220210+ds-2 libmount1=2.38-6 libmpc3=1.2.1-2 libmpdec3=2.5.1-2 libmpfr6=4.1.0-3 libncurses-dev=6.3+20220423-2 libncurses5-dev=6.3+20220423-2 libncurses6=6.3+20220423-2 libncursesw6=6.3+20220423-2 libnsl-dev=1.3.0-2 libnsl2=1.3.0-2 libocaml-compiler-libs-ocaml-dev=0.12.4-1+b1 libpam-modules=1.4.0-13 libpam-modules-bin=1.4.0-13 libpam-runtime=1.4.0-13 libpam0g=1.4.0-13 libpcre2-8-0=10.40-1 libpcre3=2:8.39-14 libperl5.34=5.34.0-5 libpipeline1=1.5.6-1 libppx-derivers-ocaml-dev=1.2.1-1+b3 libppx-deriving-ocaml=5.2.1-1 libppx-deriving-ocaml-dev=5.2.1-1 libppxlib-ocaml-dev=0.24.0-1 libpython3-stdlib=3.10.5-3 libpython3.10-minimal=3.10.5-1 libpython3.10-stdlib=3.10.5-1 libquadmath0=12.1.0-7 libre-ocaml-dev=1.10.3-1+b1 libreadline8=8.1.2-1.2 libresult-ocaml=1.5-1+b2 libresult-ocaml-dev=1.5-1+b2 libseccomp2=2.5.4-1+b1 libselinux1=3.4-1+b1 libsexplib0-ocaml=0.14.0-1+b2 libsexplib0-ocaml-dev=0.14.0-1+b2 libsigsegv2=2.14-1 libsmartcols1=2.38-6 libsqlite3-0=3.39.2-1 libssl3=3.0.5-1 libstdc++-12-dev=12.1.0-7 libstdc++6=12.1.0-7 libsub-override-perl=0.09-3 libsystemd0=251.3-1 libtinfo6=6.3+20220423-2 libtirpc-common=1.3.2-2 libtirpc-dev=1.3.2-2 libtirpc3=1.3.2-2 libtool=2.4.7-4 libtsan2=12.1.0-7 libubsan1=12.1.0-7 libuchardet0=0.0.7-1 libudev1=251.3-1 libunistring2=1.0-1 libuuid1=2.38-6 libxml2=2.9.14+dfsg-1+b1 libzarith-ocaml=1.12-1+b1 libzarith-ocaml-dev=1.12-1+b1 libzstd1=1.5.2+dfsg-1 linux-libc-dev=5.18.14-1 login=1:4.11.1+dfsg1-2 lsb-base=11.2 m4=1.4.18-5 make=4.3-4.1 man-db=2.10.2-1 mawk=1.3.4.20200120-3.1 media-types=8.0.0 ncurses-base=6.3+20220423-2 ncurses-bin=6.3+20220423-2 ocaml=4.13.1-3 ocaml-base=4.13.1-3 ocaml-compiler-libs=4.13.1-3 ocaml-findlib=1.9.3-1 ocaml-interp=4.13.1-3 ocaml-nox=4.13.1-3 patch=2.7.6-7 perl=5.34.0-5 perl-base=5.34.0-5 perl-modules-5.34=5.34.0-5 po-debconf=1.0.21+nmu1 python3=3.10.5-3 python3-minimal=3.10.5-3 python3.10=3.10.5-1 python3.10-minimal=3.10.5-1 readline-common=8.1.2-1.2 rpcsvc-proto=1.4.2-4 sed=4.8-1 sensible-utils=0.0.17 sysvinit-utils=3.03-1 tar=1.34+dfsg-1 util-linux=2.38-6 util-linux-extra=2.38-6 wdiff=1.2.2-2+b1 xz-utils=5.2.5-2.1 zlib1g=1:1.2.11.dfsg-4 --variant=apt --aptopt=Acquire::Check-Valid-Until "false" --aptopt=Acquire::http::Dl-Limit "1000"; --aptopt=Acquire::https::Dl-Limit "1000"; --aptopt=Acquire::Retries "5"; --aptopt=APT::Get::allow-downgrades "true"; --keyring=/usr/share/keyrings/ --essential-hook=chroot "$1" sh -c "apt-get --yes install fakeroot util-linux" --essential-hook=copy-in /usr/share/keyrings/debian-archive-bullseye-automatic.gpg /usr/share/keyrings/debian-archive-bullseye-security-automatic.gpg /usr/share/keyrings/debian-archive-bullseye-stable.gpg /usr/share/keyrings/debian-archive-buster-automatic.gpg /usr/share/keyrings/debian-archive-buster-security-automatic.gpg /usr/share/keyrings/debian-archive-buster-stable.gpg /usr/share/keyrings/debian-archive-keyring.gpg /usr/share/keyrings/debian-archive-removed-keys.gpg /usr/share/keyrings/debian-archive-stretch-automatic.gpg /usr/share/keyrings/debian-archive-stretch-security-automatic.gpg /usr/share/keyrings/debian-archive-stretch-stable.gpg /usr/share/keyrings/debian-ports-archive-keyring-removed.gpg /usr/share/keyrings/debian-ports-archive-keyring.gpg /usr/share/keyrings/debian-keyring.gpg /etc/apt/trusted.gpg.d/ --essential-hook=chroot "$1" sh -c "rm /etc/apt/sources.list && echo 'deb http://snapshot.notset.fr/archive/debian/20220730T210458Z/ unstable main deb-src http://snapshot.notset.fr/archive/debian/20220730T210458Z/ unstable main deb http://snapshot.notset.fr/archive/debian/20220803T090151Z/ unstable main' >> /etc/apt/sources.list && apt-get update" --customize-hook=chroot "$1" useradd --no-create-home -d /nonexistent -p "" builduser -s /bin/bash --customize-hook=chroot "$1" env sh -c "apt-get source --only-source -d coq-hierarchy-builder=1.3.0-1 && mkdir -p /build/coq-hierarchy-builder-ANIOfT && dpkg-source --no-check -x /*.dsc /build/coq-hierarchy-builder-ANIOfT/coq-hierarchy-builder-1.3.0 && chown -R builduser:builduser /build/coq-hierarchy-builder-ANIOfT" --customize-hook=chroot "$1" env --unset=TMPDIR runuser builduser -c "cd /build/coq-hierarchy-builder-ANIOfT/coq-hierarchy-builder-1.3.0 && env DEB_BUILD_OPTIONS="parallel=4" LC_ALL="C.UTF-8" LC_COLLATE="C.UTF-8" SOURCE_DATE_EPOCH="1659195856" DEB_BUILD_OPTIONS=nocheck dpkg-buildpackage -uc -a amd64 --build=any" --customize-hook=sync-out /build/coq-hierarchy-builder-ANIOfT /tmp/coq-hierarchy-builder-1.3.0-1jjhe0r16 bookworm /dev/null deb http://snapshot.notset.fr/archive/debian/20220803T090151Z unstable main I: automatically chosen mode: root I: chroot architecture amd64 is equal to the host's architecture I: automatically chosen format: null I: using /tmp/mmdebstrap.ET09PXFGhq as tempdir I: running apt-get update... I: downloading packages with apt... I: extracting archives... I: installing essential packages... I: running --essential-hook in shell: sh -c 'chroot "$1" sh -c "apt-get --yes install fakeroot util-linux"' exec /tmp/mmdebstrap.ET09PXFGhq Reading package lists... Building dependency tree... util-linux is already the newest version (2.38-6). The following NEW packages will be installed: fakeroot libfakeroot 0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. Need to get 136 kB of archives. After this operation, 401 kB of additional disk space will be used. Get:1 http://snapshot.notset.fr/archive/debian/20220803T090151Z unstable/main amd64 libfakeroot amd64 1.29-1 [48.5 kB] Get:2 http://snapshot.notset.fr/archive/debian/20220803T090151Z unstable/main amd64 fakeroot amd64 1.29-1 [87.3 kB] debconf: delaying package configuration, since apt-utils is not installed Fetched 136 kB in 0s (1010 kB/s) Selecting previously unselected package libfakeroot:amd64. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 4629 files and directories currently installed.) Preparing to unpack .../libfakeroot_1.29-1_amd64.deb ... Unpacking libfakeroot:amd64 (1.29-1) ... Selecting previously unselected package fakeroot. Preparing to unpack .../fakeroot_1.29-1_amd64.deb ... Unpacking fakeroot (1.29-1) ... Setting up libfakeroot:amd64 (1.29-1) ... Setting up fakeroot (1.29-1) ... update-alternatives: using /usr/bin/fakeroot-sysv to provide /usr/bin/fakeroot (fakeroot) in auto mode Processing triggers for libc-bin (2.33-8) ... I: running special hook: copy-in /usr/share/keyrings/debian-archive-bullseye-automatic.gpg /usr/share/keyrings/debian-archive-bullseye-security-automatic.gpg /usr/share/keyrings/debian-archive-bullseye-stable.gpg /usr/share/keyrings/debian-archive-buster-automatic.gpg /usr/share/keyrings/debian-archive-buster-security-automatic.gpg /usr/share/keyrings/debian-archive-buster-stable.gpg /usr/share/keyrings/debian-archive-keyring.gpg /usr/share/keyrings/debian-archive-removed-keys.gpg /usr/share/keyrings/debian-archive-stretch-automatic.gpg /usr/share/keyrings/debian-archive-stretch-security-automatic.gpg /usr/share/keyrings/debian-archive-stretch-stable.gpg /usr/share/keyrings/debian-ports-archive-keyring-removed.gpg /usr/share/keyrings/debian-ports-archive-keyring.gpg /usr/share/keyrings/debian-keyring.gpg /etc/apt/trusted.gpg.d/ I: running --essential-hook in shell: sh -c 'chroot "$1" sh -c "rm /etc/apt/sources.list && echo 'deb http://snapshot.notset.fr/archive/debian/20220730T210458Z/ unstable main deb-src http://snapshot.notset.fr/archive/debian/20220730T210458Z/ unstable main deb http://snapshot.notset.fr/archive/debian/20220803T090151Z/ unstable main' >> /etc/apt/sources.list && apt-get update"' exec /tmp/mmdebstrap.ET09PXFGhq Get:1 http://snapshot.notset.fr/archive/debian/20220730T210458Z unstable InRelease [192 kB] Hit:2 http://snapshot.notset.fr/archive/debian/20220803T090151Z unstable InRelease Ign:3 http://snapshot.notset.fr/archive/debian/20220730T210458Z unstable/main Sources Ign:4 http://snapshot.notset.fr/archive/debian/20220730T210458Z unstable/main amd64 Packages Ign:3 http://snapshot.notset.fr/archive/debian/20220730T210458Z unstable/main Sources Ign:4 http://snapshot.notset.fr/archive/debian/20220730T210458Z unstable/main amd64 Packages Ign:3 http://snapshot.notset.fr/archive/debian/20220730T210458Z unstable/main Sources Ign:4 http://snapshot.notset.fr/archive/debian/20220730T210458Z unstable/main amd64 Packages Get:3 http://snapshot.notset.fr/archive/debian/20220730T210458Z unstable/main Sources [13.1 MB] Get:4 http://snapshot.notset.fr/archive/debian/20220730T210458Z unstable/main amd64 Packages [12.6 MB] Fetched 25.8 MB in 21s (1228 kB/s) Reading package lists... I: installing remaining packages inside the chroot... I: running --customize-hook in shell: sh -c 'chroot "$1" useradd --no-create-home -d /nonexistent -p "" builduser -s /bin/bash' exec /tmp/mmdebstrap.ET09PXFGhq I: running --customize-hook in shell: sh -c 'chroot "$1" env sh -c "apt-get source --only-source -d coq-hierarchy-builder=1.3.0-1 && mkdir -p /build/coq-hierarchy-builder-ANIOfT && dpkg-source --no-check -x /*.dsc /build/coq-hierarchy-builder-ANIOfT/coq-hierarchy-builder-1.3.0 && chown -R builduser:builduser /build/coq-hierarchy-builder-ANIOfT"' exec /tmp/mmdebstrap.ET09PXFGhq Reading package lists... NOTICE: 'coq-hierarchy-builder' packaging is maintained in the 'Git' version control system at: https://salsa.debian.org/ocaml-team/coq-hierarchy-builder.git Please use: git clone https://salsa.debian.org/ocaml-team/coq-hierarchy-builder.git to retrieve the latest (possibly unreleased) updates to the package. Need to get 206 kB of source archives. Get:1 http://snapshot.notset.fr/archive/debian/20220730T210458Z unstable/main coq-hierarchy-builder 1.3.0-1 (dsc) [2229 B] Get:2 http://snapshot.notset.fr/archive/debian/20220730T210458Z unstable/main coq-hierarchy-builder 1.3.0-1 (tar) [200 kB] Get:3 http://snapshot.notset.fr/archive/debian/20220730T210458Z unstable/main coq-hierarchy-builder 1.3.0-1 (diff) [3348 B] Fetched 206 kB in 0s (1068 kB/s) Download complete and in download only mode W: Download is performed unsandboxed as root as file 'coq-hierarchy-builder_1.3.0-1.dsc' couldn't be accessed by user '_apt'. - pkgAcquire::Run (13: Permission denied) dpkg-source: info: extracting coq-hierarchy-builder in /build/coq-hierarchy-builder-ANIOfT/coq-hierarchy-builder-1.3.0 dpkg-source: info: unpacking coq-hierarchy-builder_1.3.0.orig.tar.gz dpkg-source: info: unpacking coq-hierarchy-builder_1.3.0-1.debian.tar.xz dpkg-source: info: using patch list from debian/patches/series dpkg-source: info: applying fix_testsuite.patch I: running --customize-hook in shell: sh -c 'chroot "$1" env --unset=TMPDIR runuser builduser -c "cd /build/coq-hierarchy-builder-ANIOfT/coq-hierarchy-builder-1.3.0 && env DEB_BUILD_OPTIONS="parallel=4" LC_ALL="C.UTF-8" LC_COLLATE="C.UTF-8" SOURCE_DATE_EPOCH="1659195856" DEB_BUILD_OPTIONS=nocheck dpkg-buildpackage -uc -a amd64 --build=any"' exec /tmp/mmdebstrap.ET09PXFGhq dpkg-buildpackage: info: source package coq-hierarchy-builder dpkg-buildpackage: info: source version 1.3.0-1 dpkg-buildpackage: info: source distribution unstable dpkg-buildpackage: info: source changed by Julien Puydt dpkg-source --before-build . dpkg-buildpackage: info: host architecture amd64 debian/rules clean dh clean --with coq,ocaml dh_auto_clean make -j10 distclean make[1]: Entering directory '/build/coq-hierarchy-builder-ANIOfT/coq-hierarchy-builder-1.3.0' rm -f Makefile.coq Makefile.coq.conf rm -f Makefile.test-suite.coq Makefile.test-suite.coq.conf rm -f make[1]: Leaving directory '/build/coq-hierarchy-builder-ANIOfT/coq-hierarchy-builder-1.3.0' dh_ocamlclean dh_clean debian/rules binary-arch dh binary-arch --with coq,ocaml dh_update_autotools_config -a dh_autoreconf -a dh_ocamlinit -a dh_auto_configure -a dh_auto_build -a make -j10 "INSTALL=install --strip-program=true" make[1]: Entering directory '/build/coq-hierarchy-builder-ANIOfT/coq-hierarchy-builder-1.3.0' make config make[2]: Entering directory '/build/coq-hierarchy-builder-ANIOfT/coq-hierarchy-builder-1.3.0' make[2]: Leaving directory '/build/coq-hierarchy-builder-ANIOfT/coq-hierarchy-builder-1.3.0' make build make[2]: Entering directory '/build/coq-hierarchy-builder-ANIOfT/coq-hierarchy-builder-1.3.0' ocamlc unix.cma str.cma -g hb.ml -o coq.hb /usr/bin/coq_makefile -f _CoqProject -o Makefile.coq make -f Makefile.coq make[3]: Entering directory '/build/coq-hierarchy-builder-ANIOfT/coq-hierarchy-builder-1.3.0' COQDEP VFILES COQC structures.v File "./structures.v", line 249, characters 2-16: Warning: This command does not support this attribute: arguments. [unsupported-attributes,parsing] File "./structures.v", line 281, characters 2-16: Warning: This command does not support this attribute: arguments. [unsupported-attributes,parsing] File "./structures.v", line 308, characters 2-16: Warning: This command does not support this attribute: arguments. [unsupported-attributes,parsing] File "./structures.v", line 336, characters 2-16: Warning: This command does not support this attribute: arguments. [unsupported-attributes,parsing] File "./structures.v", line 384, characters 2-16: Warning: This command does not support this attribute: arguments. [unsupported-attributes,parsing] File "./structures.v", line 551, characters 2-16: Warning: This command does not support this attribute: arguments. [unsupported-attributes,parsing] File "./structures.v", line 605, characters 2-16: Warning: This command does not support this attribute: arguments. [unsupported-attributes,parsing] File "./structures.v", line 636, characters 2-16: Warning: This command does not support this attribute: arguments. [unsupported-attributes,parsing] File "./structures.v", line 696, characters 2-16: Warning: This command does not support this attribute: arguments. [unsupported-attributes,parsing] File "./structures.v", line 720, characters 2-16: Warning: This command does not support this attribute: arguments. [unsupported-attributes,parsing] File "./structures.v", line 772, characters 2-16: Warning: This command does not support this attribute: arguments. [unsupported-attributes,parsing] File "./structures.v", line 798, characters 2-16: Warning: This command does not support this attribute: arguments. [unsupported-attributes,parsing] File "./structures.v", line 844, characters 2-16: Warning: This command does not support this attribute: arguments. [unsupported-attributes,parsing] File "./structures.v", line 893, characters 2-16: Warning: This command does not support this attribute: arguments. [unsupported-attributes,parsing] File "./structures.v", line 928, characters 2-16: Warning: This command does not support this attribute: arguments. [unsupported-attributes,parsing] make[3]: Leaving directory '/build/coq-hierarchy-builder-ANIOfT/coq-hierarchy-builder-1.3.0' make[2]: Leaving directory '/build/coq-hierarchy-builder-ANIOfT/coq-hierarchy-builder-1.3.0' make test-suite make[2]: Entering directory '/build/coq-hierarchy-builder-ANIOfT/coq-hierarchy-builder-1.3.0' make -f Makefile.coq /usr/bin/coq_makefile -f _CoqProject.test-suite -o Makefile.test-suite.coq make[3]: Entering directory '/build/coq-hierarchy-builder-ANIOfT/coq-hierarchy-builder-1.3.0' Warning: . and tests overlap (used in -R or -Q) Warning: . and examples overlap (used in -R or -Q) make[4]: Nothing to be done for 'real-all'. make[3]: Leaving directory '/build/coq-hierarchy-builder-ANIOfT/coq-hierarchy-builder-1.3.0' make -f Makefile.test-suite.coq make[3]: Entering directory '/build/coq-hierarchy-builder-ANIOfT/coq-hierarchy-builder-1.3.0' COQDEP VFILES COQC examples/readme.v COQC examples/demo1/hierarchy_0.v COQC examples/hulk.v COQC examples/demo1/hierarchy_1.v COQC examples/demo1/hierarchy_2.v COQC examples/demo1/hierarchy_3.v COQC examples/demo1/hierarchy_4.v COQC examples/demo1/hierarchy_5.v COQC examples/demo2/classical.v COQC examples/demo3/hierarchy_0.v [1659636554.907652] HB: start module and section AddComoid_of_Type [1659636554.907919] HB: converting arguments indt-decl (parameter A explicit X0 c0 \ record AddComoid_of_Type (sort (typ X1)) Build_AddComoid_of_Type (field [coercion ff, canonical tt] zero c0 c1 \ field [coercion ff, canonical tt] add (prod `_` c0 c2 \ prod `_` c0 c3 \ c0) c2 \ field [coercion ff, canonical tt] addrA (prod `x` (X2 c0 c1 c2) c3 \ prod `y` (X3 c0 c1 c2 c3) c4 \ prod `z` (X4 c0 c1 c2 c3 c4) c5 \ app [global (indt «eq»), X5 c0 c1 c2 c3 c4 c5, app [c2, c3, app [c2, c4, c5]], app [c2, app [c2, c3, c4], c5]]) c3 \ field [coercion ff, canonical tt] addrC (prod `x` (X6 c0 c1 c2 c3) c4 \ prod `y` (X7 c0 c1 c2 c3 c4) c5 \ app [global (indt «eq»), X8 c0 c1 c2 c3 c4 c5, app [c2, c4, c5], app [c2, c5, c4]]) c4 \ field [coercion ff, canonical tt] add0r (prod `x` (X9 c0 c1 c2 c3 c4) c5 \ app [global (indt «eq»), X10 c0 c1 c2 c3 c4 c5, app [c2, c1, c5], c5]) c5 \ end-record)) to factories [1659636554.908487] HB: processing key parameter [1659636554.908969] HB: converting factories w-params.nil A (sort (typ «readme.2»)) c0 \ [] to mixins [1659636554.909070] HB: declaring context w-params.nil A (sort (typ «readme.2»)) c0 \ [] [1659636554.909194] HB: declaring parameters and key as section variables Here is the list of mixins to declare (the order matters): [] [1659636554.916535] HB: declare mixin or factory [1659636554.916604] HB: declare record axioms_ COQC examples/demo3/hierarchy_1.v [1659636554.948546] HB: declare notation Build [1659636554.969917] HB: declare notation axioms [1659636555.019804] HB: start module Exports [1659636555.044340] HB: end modules and sections; export «HB.examples.readme.AddComoid_of_Type.Exports» (* Module AddComoid_of_Type. Section AddComoid_of_Type. Variable A : Type. Local Arguments A : clear implicits. Section axioms_. Local Unset Implicit Arguments. Record axioms_ (A : Type) : Type := Axioms_ { zero : elpi_ctx_entry_0_; add : elpi_ctx_entry_0_ -> elpi_ctx_entry_0_ -> elpi_ctx_entry_0_; addrA : forall x y z : elpi_ctx_entry_0_, add x (add y z) = add (add x y) z; addrC : forall x y : elpi_ctx_entry_0_, add x y = add y x; add0r : forall x : elpi_ctx_entry_0_, add zero x = x; }. End axioms_. Global Arguments axioms_ : clear implicits. Global Arguments Axioms_ : clear implicits. Global Arguments zero : clear implicits. Global Arguments add : clear implicits. Global Arguments addrA : clear implicits. Global Arguments addrC : clear implicits. Global Arguments add0r : clear implicits. End AddComoid_of_Type. Global Arguments axioms_ : clear implicits. Global Arguments Axioms_ : clear implicits. Definition phant_Build : forall (A : Type) (zero : A) (add : A -> A -> A), (forall x y z : A, add x (add y z) = add (add x y) z) -> (forall x y : A, add x y = add y x) -> (forall x : A, add zero x = x) -> axioms_ A := fun (A : Type) (zero : A) (add : A -> A -> A) (addrA : forall x y z : A, add x (add y z) = add (add x y) z) (addrC : forall x y : A, add x y = add y x) (add0r : forall x : A, add zero x = x) => {| zero := zero; add := add; addrA := addrA; addrC := addrC; add0r := add0r |}. Local Arguments phant_Build : clear implicits. Notation Build X1 := ( phant_Build X1). Definition phant_axioms : Type -> Type := fun A : Type => axioms_ A. Local Arguments phant_axioms : clear implicits. Notation axioms X1 := ( phant_axioms X1). Definition identity_builder : forall A : Type, axioms_ A -> axioms_ A := fun (A : Type) (x : axioms_ A) => x. Local Arguments identity_builder : clear implicits. Module Exports. Global Arguments Axioms_ {_}. End Exports. End AddComoid_of_Type. Export AddComoid_of_Type.Exports. Notation AddComoid_of_Type X1 := ( AddComoid_of_Type.phant_axioms X1). *) [1659636555.171884] HB: start module AddComoid [1659636555.172102] HB: declare axioms record w-params.nil A (sort (typ «readme.24»)) c0 \ [triple (indt «AddComoid_of_Type.axioms_») [] c0] [1659636555.172296] HB: typing class field indt «AddComoid_of_Type.axioms_» [1659636555.198310] HB: declare type record [1659636555.508619] HB: structure: new mixins [indt «AddComoid_of_Type.axioms_»] [1659636555.508734] HB: structure: mixin first class [mixin-first-class (indt «AddComoid_of_Type.axioms_») (indt «axioms_»)] [1659636555.508796] HB: declaring clone abbreviation [1659636555.533061] HB: declaring pack_ constant [1659636555.533657] HB: declaring pack_ constant = fun `A` (sort (typ «readme.24»)) c0 \ fun `m` (app [global (indt «AddComoid_of_Type.axioms_»), c0]) c1 \ app [global (indc «Pack»), c0, app [global (indc «Class»), c0, c1]] [1659636555.535134] HB: start module Exports [1659636555.535293] HB: making coercion from type to target [1659636555.535324] HB: declare sort coercion [1659636555.535525] HB: exporting unification hints [1659636555.535654] HB: exporting coercions from class to mixins [1659636555.549929] HB: export class to mixin coercion for mixin readme_AddComoid_of_Type [1659636555.550326] HB: accumulating various props [1659636555.575264] HB: stop module Exports [1659636555.575749] HB: declaring on_ abbreviation [1659636555.600257] HB: declaring `copy` abbreviation [1659636555.600853] HB: declaring on abbreviation [1659636555.601513] HB: eta expanded instances [1659636555.622086] HB: postulating A [1659636555.686188] HB: declare mixin instance readme_AddComoid__to__readme_AddComoid_of_Type [1659636555.690156] HB: we can build a readme_AddComoid on eta A [1659636555.690358] HB: declare canonical structure instance structures_eta__canonical__readme_AddComoid [1659636555.690623] HB: Giving name HB_unnamed_mixin_4 to mixin instance readme_AddComoid_of_Type_mixin (eta A) HB_unnamed_factory_2 [1659636555.706953] HB: structure instance for structures_eta__canonical__readme_AddComoid is {| sort := eta A; class := {| readme_AddComoid_of_Type_mixin := HB_unnamed_mixin_4 |} |} [1659636555.729446] HB: structure instance structures_eta__canonical__readme_AddComoid declared [1659636555.729521] HB: closing instance section [1659636555.730767] HB: end modules; export «HB.examples.readme.AddComoid.Exports» [1659636555.731530] HB: export «HB.examples.readme.AddComoid.EtaAndMixinExports» [1659636555.732226] HB: exporting operations [1659636555.748152] HB: export operation zero [1659636555.750556] HB: export operation add [1659636555.772281] HB: export operation addrA [1659636555.799233] HB: export operation addrC [1659636555.802157] HB: export operation add0r [1659636555.821454] HB: operations meta-data module: ElpiOperations [1659636555.851767] HB: abbreviation factory-by-classname (* Module AddComoid. Section axioms_. Local Unset Implicit Arguments. Record axioms_ (A : Type) : Type := Class { readme_AddComoid_of_Type_mixin : AddComoid_of_Type.axioms_ A; }. End axioms_. Global Arguments axioms_ : clear implicits. Global Arguments Class : clear implicits. Global Arguments readme_AddComoid_of_Type_mixin : clear implicits. Section type. Local Unset Implicit Arguments. Record type : Type := Pack { sort : Type; class : axioms_ sort; }. End type. Global Arguments type : clear implicits. Global Arguments Pack : clear implicits. Global Arguments sort : clear implicits. Global Arguments class : clear implicits. Definition phant_clone : forall (A : Type) (cT : type) (c : axioms_ A) (_ : unify Type Type A (sort cT) nomsg) (_ : unify type type cT (Pack A c) nomsg), type := fun (A : Type) (cT : type) (c : axioms_ A) (_ : unify Type Type A (sort cT) nomsg) (_ : unify type type cT (Pack A c) nomsg) => Pack A c. Local Arguments phant_clone : clear implicits. Notation clone X2 X1 := ( phant_clone X2 X1 _ (@id_phant _ _) (@id_phant _ _)). Definition pack_ := fun (A : Type) (m : AddComoid_of_Type.axioms_ A) => Pack A (Class A m). Local Arguments pack_ : clear implicits. Module Exports. Coercion sort : readme.AddComoid.type >-> Sortclass. Coercion readme_AddComoid_of_Type_mixin : readme.AddComoid.axioms_ >-> readme.AddComoid_of_Type.axioms_. End Exports. Import Exports. Definition phant_on_ : forall (A : type) (_ : phant (sort A)), axioms_ (sort A) := fun (A : type) (_ : phant (sort A)) => class A. Local Arguments phant_on_ : clear implicits. Notation on_ X1 := ( phant_on_ _ (Phant X1)). Notation copy X2 X1 := ( phant_on_ _ (Phant X1) : axioms_ X2). Notation on X1 := ( phant_on_ _ (Phant _) : axioms_ X1). Module EtaAndMixinExports. Section hb_instance_1. Variable A : type. Local Arguments A : clear implicits. Definition HB_unnamed_factory_2 : axioms_ (@eta Type (sort A)) := class A. Local Arguments HB_unnamed_factory_2 : clear implicits. Definition readme_AddComoid__to__readme_AddComoid_of_Type : AddComoid_of_Type.axioms_ (@eta Type (sort A)) := readme_AddComoid_of_Type_mixin (@eta Type (sort A)) HB_unnamed_factory_2. Local Arguments readme_AddComoid__to__readme_AddComoid_of_Type : clear implicits. Definition HB_unnamed_mixin_4 := readme_AddComoid_of_Type_mixin (@eta Type (sort A)) HB_unnamed_factory_2. Local Arguments HB_unnamed_mixin_4 : clear implicits. Definition structures_eta__canonical__readme_AddComoid : type := Pack (@eta Type (sort A)) (Class (@eta Type (sort A)) HB_unnamed_mixin_4). Local Arguments structures_eta__canonical__readme_AddComoid : clear implicits. Global Canonical structures_eta__canonical__readme_AddComoid. End hb_instance_1. End EtaAndMixinExports. End AddComoid. Export AddComoid.Exports. Export AddComoid.EtaAndMixinExports. Definition zero : forall s : AddComoid.type, AddComoid.sort s := fun s : AddComoid.type => AddComoid_of_Type.zero (AddComoid.sort s) (AddComoid.readme_AddComoid_of_Type_mixin (AddComoid.sort s) (AddComoid.class s)). Local Arguments zero : clear implicits. Global Arguments zero {_}. Definition add : forall (s : AddComoid.type) (_ : AddComoid.sort s) (_ : AddComoid.sort s), AddComoid.sort s := fun (s : AddComoid.type) (H H0 : AddComoid.sort s) => AddComoid_of_Type.add (AddComoid.sort s) (AddComoid.readme_AddComoid_of_Type_mixin (AddComoid.sort s) (AddComoid.class s)) H H0. Local Arguments add : clear implicits. Global Arguments add {_}. Definition addrA : forall (s : AddComoid.type) (x y z : AddComoid.sort s), @eq (AddComoid.sort s) (@add s x (@add s y z)) (@add s (@add s x y) z) := fun (s : AddComoid.type) (x y z : AddComoid.sort s) => AddComoid_of_Type.addrA (AddComoid.sort s) (AddComoid.readme_AddComoid_of_Type_mixin (AddComoid.sort s) (AddComoid.class s)) x y z. Local Arguments addrA : clear implicits. Global Arguments addrA {_}. Definition addrC : forall (s : AddComoid.type) (x y : AddComoid.sort s), @eq (AddComoid.sort s) (@add s x y) (@add s y x) := fun (s : AddComoid.type) (x y : AddComoid.sort s) => AddComoid_of_Type.addrC (AddComoid.sort s) (AddComoid.readme_AddComoid_of_Type_mixin (AddComoid.sort s) (AddComoid.class s)) x y. Local Arguments addrC : clear implicits. Global Arguments addrC {_}. Definition add0r : forall (s : AddComoid.type) (x : AddComoid.sort s), @eq (AddComoid.sort s) (@add s (@zero s) x) x := fun (s : AddComoid.type) (x : AddComoid.sort s) => AddComoid_of_Type.add0r (AddComoid.sort s) (AddComoid.readme_AddComoid_of_Type_mixin (AddComoid.sort s) (AddComoid.class s)) x. Local Arguments add0r : clear implicits. Global Arguments add0r {_}. Module ElpiOperations5. End ElpiOperations5. Export ElpiOperations5. Notation AddComoid X1 := ( AddComoid.axioms_ X1). *) forall (M : AddComoid.type) (x : M), x + x = 0 : Prop COQC examples/demo3/hierarchy_2.v COQC examples/demo3/test_0_0.v AbelianGrp.phant_on_ BinNums_Z__canonical__readme_AbelianGrp (Phant BinNums_Z__canonical__readme_AbelianGrp) : AbelianGrp.axioms_ Z : AbelianGrp.axioms_ Z HB: Z is canonically equipped with mixins: - readme.AbelianGrp (from "./examples/readme.v", line 32) - readme.AddComoid (from "./examples/readme.v", line 31) COQC examples/demo4/hierarchy_0.v File "./examples/demo1/hierarchy_2.v", line 57, characters 0-57: Warning: pulling in dependencies: [hierarchy_2_AddComoid_of_TYPE, hierarchy_2_AddAG_of_AddComoid] Please list them or end the declaration with '&' [HB.implicit-structure-dependency,HB] [1659636560.048745] HB: begin module for builders [1659636560.049146] HB: postulating factories [1659636560.049302] HB: processing key context-item [1659636560.057810] HB: processing mixin parameter a [1659636560.058361] HB: declaring parameters and key as section variables Here is the list of mixins to declare (the order matters): [] inhab : ?s where ?T : [ |- Type] ?s : [ |- s1.type ?T] File "./examples/hulk.v", line 143, characters 0-63: Warning: pulling in dependencies: [Feather_HasEqDec] Please list them or end the declaration with '&' [HB.implicit-structure-dependency,HB] eq_refl : inhab = 7 : inhab = 7 COQC examples/demo5/hierarchy_0.v COQC examples/FSCD2020_material/V1.v eq_refl : inhab = (7 :: nil)%list : inhab = (7 :: nil)%list where ?T : [ |- Type] HB: A is canonically equipped with mixins: - Feather.Equality Feather.Singleton (from "./examples/hulk.v", line 216) fun X : s2.type nat => inhab : X : forall X : s2.type nat, X fun X : s2.type nat => inj : nat -> X : forall X : s2.type nat, nat -> X s2_to_s1 not a defined object. COQC examples/FSCD2020_material/V2.v COQC examples/FSCD2020_material/V3.v [1659636563.529612] HB: declare builder from hierarchy_2_Ring_of_AddComoid to hierarchy_2_AddAG_of_AddComoid [1659636563.529788] HB: declare builder from hierarchy_2_Ring_of_AddComoid to hierarchy_2_Ring_of_AddAG COQC examples/FSCD2020_material/V4.v COQC examples/FSCD2020_talk/V1.v COQC examples/FSCD2020_talk/V2.v HB.check: SemiRing_of_AddComoid.axioms_ : (forall (A : Type) (m : AddMonoid_of_TYPE.axioms_ A), AddComoid_of_AddMonoid.axioms_ A m -> Type) : forall (A : Type) (m : AddMonoid_of_TYPE.axioms_ A), AddComoid_of_AddMonoid.axioms_ A m -> Type COQC examples/FSCD2020_talk/V3.v COQC examples/Coq2020_material/CoqWS_demo.v File "./examples/FSCD2020_talk/V2.v", line 17, characters 0-66: Warning: pulling in dependencies: [V2_is_semigroup] Please list them or end the declaration with '&' [HB.implicit-structure-dependency,HB] COQC examples/Coq2020_material/CoqWS_abstract.v add : ?s -> ?s -> ?s where ?s : [ |- CMonoid.type] addrC : commutative add where ?s : [ |- CMonoid.type] File "./examples/Coq2020_material/CoqWS_demo.v", line 73, characters 0-73: Warning: pulling in dependencies: [CoqWS_demo_CMonoid_of_Type] Please list them or end the declaration with '&' [HB.implicit-structure-dependency,HB] forall x y : ?t, x - (y + 0) = x : Prop where ?t : [x : ?t y : ?t |- AbelianGrp.type] (x, y cannot be used) COQC examples/Coq2020_material/CoqWS_expansion/withHB.v Record type : Type := Pack { sort : Type; class : Monoid.axioms_ sort }. Arguments Monoid.Pack sort%type_scope class @add : forall s : Monoid.type, s -> s -> s @addNr : forall s : Ring.type, left_inverse 0 opp add forall x y : ?t, 1 + x = y * x : Prop where ?t : [x : ?t y : ?t |- SemiRing.type] (x, y cannot be used) forall (R : Ring.type) (x y : R), 1 * x = y - x : Prop forall (x : join_CoqWS_demo_Ring_between_CoqWS_demo_AbelianGrp_and_CoqWS_demo_SemiRing ?t) (y : ?t), 1 * x = y - x : Prop where ?t : [x : join_CoqWS_demo_Ring_between_CoqWS_demo_AbelianGrp_and_CoqWS_demo_SemiRing ?t y : ?t |- Ring.type] (x, y cannot be used) forall x : Z, x * - (1 + x) = 0 + 1 : Prop COQC examples/Coq2020_material/CoqWS_expansion/withoutHB.v add : A -> A -> A COQC tests/type_of_exported_ops.v Record type : Type := Pack { sort : Type; class : Monoid.axioms_ sort }. Arguments Monoid.Pack sort%type_scope class @add : forall s : Monoid.type, s -> s -> s @addNr : forall s : AbelianGroup.type, left_inverse 0 opp add @addrC : forall s : AbelianGroup.type, commutative add COQC tests/duplicate_structure.v forall x : Z, x * - (1 + x) = 0 + 1 : Prop File "./examples/Coq2020_material/CoqWS_expansion/withoutHB.v", line 10, characters 50-62: Warning: The format modifier has no effect for only-parsing notations. [discarded-format-only-parsing,parsing] COQC tests/instance_params_no_type.v addrC : commutative add where ?s : [ |- CMonoid.type] COQC tests/test_CS_db_filtering.v File "./examples/Coq2020_material/CoqWS_abstract.v", line 23, characters 0-71: Warning: pulling in dependencies: [CoqWS_abstract_CMonoid_of_Type] Please list them or end the declaration with '&' [HB.implicit-structure-dependency,HB] Record type : Type := Pack { sort : Type; class : Monoid.axioms_ sort }. Arguments Monoid.Pack sort%type_scope class @add : forall s : Monoid.type, s -> s -> s @addNr : forall s : AbelianGroup.type, left_inverse 0 opp add @addrC : forall s : AbelianGroup.type, commutative add COQC tests/subtype.v COQC tests/infer.v forall (G : AbelianGrp.type) (x : G), x - x = 0 : Prop forall (S : SemiRing.type) (x : S), x * 1 + 0 = x : Prop forall (R : Ring.type) (x y : R), x * - (1 * y) = - x * y : Prop COQC tests/exports.v COQC tests/log_impargs_record.v [1659636581.520437] HB: start module SubInhab [1659636581.520612] HB: declare axioms record w-params.cons T (sort (typ «subtype.317»)) c0 \ w-params.cons P (app [global (const «pred»), c0]) c1 \ w-params.nil sT (sort (typ «subtype.319»)) c2 \ [triple (indt «is_inhab.axioms_») [] c2, triple (indt «is_SUB.axioms_») [c0, c1] c2] [1659636581.529090] HB: typing class field indt «is_inhab.axioms_» [1659636581.529353] HB: typing class field indt «is_SUB.axioms_» [1659636581.537039] HB: declare type record [1659636581.548445] HB: structure: new mixins [] [1659636581.548519] HB: structure: mixin first class [] [1659636581.548549] HB: declaring clone abbreviation [1659636581.560529] HB: declaring pack_ constant [1659636581.567022] HB: declaring pack_ constant = fun `T` (sort (typ «subtype.317»)) c0 \ fun `P` (app [global (const «pred»), c0]) c1 \ fun `sT` (sort (typ «subtype.319»)) c2 \ fun `m` (app [global (indt «is_inhab.axioms_»), c2]) c3 \ fun `m` (app [global (indt «is_SUB.axioms_»), c0, c1, c2]) c4 \ app [global (indc «Pack»), c0, c1, c2, app [global (indc «Class»), c0, c1, c2, c3, c4]] [1659636581.568576] HB: start module Exports [1659636581.568735] HB: making coercion from type to target [1659636581.568792] HB: declare sort coercion [1659636581.568954] HB: exporting unification hints [1659636581.570263] HB: declare coercion subtype_SubInhab__to__subtype_SUB [1659636581.570962] HB: declare coercion hint subtype_SubInhab_class__to__subtype_SUB_class [1659636581.583609] HB: declare unification hint subtype_SubInhab__to__subtype_SUB [1659636581.594458] HB: declare coercion path compression rules [1659636581.595669] HB: declare coercion subtype_SubInhab__to__subtype_Inhab [1659636581.599200] HB: declare coercion hint subtype_SubInhab_class__to__subtype_Inhab_class [1659636581.609775] HB: declare unification hint subtype_SubInhab__to__subtype_Inhab [1659636581.617135] HB: declare coercion path compression rules [1659636581.622169] HB: declare unification hint join_subtype_SubInhab_between_subtype_Inhab_and_subtype_SUB [1659636581.638070] HB: exporting coercions from class to mixins [1659636581.640340] HB: export class to mixin coercion for mixin subtype_is_inhab [1659636581.641353] HB: export class to mixin coercion for mixin subtype_is_SUB [1659636581.642019] HB: accumulating various props [1659636581.662890] HB: stop module Exports [1659636581.670141] HB: declaring on_ abbreviation forall x : Z, x * - (1 + x) = 0 + 1 : Prop [1659636581.690858] HB: declaring `copy` abbreviation [1659636581.692513] HB: declaring on abbreviation [1659636581.695517] HB: eta expanded instances [1659636581.701829] HB: postulating T [1659636581.710216] HB: postulating P [1659636581.714327] HB: postulating sT COQC tests/compress_coe.v [1659636581.803975] HB: declare mixin instance subtype_SubInhab__to__subtype_is_inhab COQC tests/funclass.v [1659636581.854405] HB: declare mixin instance subtype_SubInhab__to__subtype_is_SUB [1659636581.919179] HB: skipping already existing subtype_Inhab instance on eta sT [1659636581.919730] HB: skipping already existing subtype_Nontrivial instance on eta sT [1659636581.920172] HB: skipping already existing subtype_SUB instance on eta sT [1659636581.921526] HB: we can build a subtype_SubInhab on eta sT [1659636581.926787] HB: declare canonical structure instance structures_eta__canonical__subtype_SubInhab [1659636581.927261] HB: structure instance for structures_eta__canonical__subtype_SubInhab is {| sort := eta sT; class := {| subtype_is_inhab_mixin := HB_unnamed_mixin_4 sT; subtype_is_SUB_mixin := HB_unnamed_mixin_19 T P sT |} |} [1659636581.952281] HB: structure instance structures_eta__canonical__subtype_SubInhab declared [1659636581.952373] HB: closing instance section [1659636581.953595] HB: end modules; export «HB.tests.subtype.SubInhab.Exports» [1659636581.975167] HB: export «HB.tests.subtype.SubInhab.EtaAndMixinExports» [1659636581.975764] HB: exporting operations [1659636581.975941] HB: operations meta-data module: ElpiOperations [1659636581.976631] HB: abbreviation factory-by-classname COQC tests/local_instance.v COQC tests/lock.v Record type : Type := Pack { sort : Type; class : Monoid.axioms_ sort }. Arguments Monoid.Pack sort%type_scope class @add : forall s : Monoid.type, s -> s -> s @addNr : forall s : AbelianGroup.type, left_inverse 0 opp add @addrC : forall s : AbelianGroup.type, commutative add (* Module A. Section A. Variable T : Type. Local Arguments T : clear implicits. Section axioms_. Local Unset Implicit Arguments. Record axioms_ (T : Type) : Type := Axioms_ { a : elpi_ctx_entry_0_; f : elpi_ctx_entry_0_ -> elpi_ctx_entry_0_; p : forall x : elpi_ctx_entry_0_, f x = x -> True; q : forall h : f a = a, p a h = p a h; }. End axioms_. Global Arguments axioms_ : clear implicits. Global Arguments Axioms_ [_] [_] _ _ _. Global Arguments a [_] _. Global Arguments f [_] _ _. Global Arguments p [_] _ [_] _. Global Arguments q [_] _ _. End A. Global Arguments axioms_ : clear implicits. Global Arguments Axioms_ : clear implicits. Definition phant_Build : forall (T : Type) (a : T) (f : T -> T) (p : forall x : T, f x = x -> True), (forall h : f a = a, p a h = p a h) -> axioms_ T := fun (T : Type) (a : T) (f : T -> T) (p : forall x : T, f x = x -> True) (q : forall h : f a = a, p a h = p a h) => {| a := a; f := f; p := p; q := q |}. Local Arguments phant_Build : clear implicits. Notation Build X1 := ( phant_Build X1). Definition phant_axioms : Type -> Type := fun T : Type => axioms_ T. Local Arguments phant_axioms : clear implicits. Notation axioms X1 := ( phant_axioms X1). Definition identity_builder : forall T : Type, axioms_ T -> axioms_ T := fun (T : Type) (x : axioms_ T) => x. Local Arguments identity_builder : clear implicits. Module Exports. Global Arguments Axioms_ {_}. End Exports. End A. Export A.Exports. Notation A X1 := ( A.phant_axioms X1). *) File "./tests/infer.v", line 19, characters 0-56: Warning: Skipping test on Coq 8.15.2 as requested [HB.skip,HB] The command did fail as expected with message: The term "nat" has type "Set" while it is expected to have type "foo.type". bar.phant_type = fun (A : Type) (P : foo.type) (_ : ssreflect.phant P) (B : Type) => bar.type_ A P B : Type -> forall P : foo.type, ssreflect.phant P -> Type -> Type Arguments bar.phant_type A%type_scope P _ B%type_scope Notation bar.type _elpi_ctx_entry_3_was_A_ _elpi_ctx_entry_2_was_P_ _elpi_ctx_entry_1_was_B_ := (bar.phant_type _elpi_ctx_entry_3_was_A_ _ (ssreflect.Phant _elpi_ctx_entry_2_was_P_) _elpi_ctx_entry_1_was_B_) bar.phant_type bool Datatypes_nat__canonical__infer_foo (ssreflect.Phant nat) bool : Type COQC tests/interleave_context.v COQC tests/not_same_key.v A.p : forall [T : Type] (record : A.axioms_ T) [x : T], A.f record x = x -> True A.p is not universe polymorphic Arguments A.p [T]%type_scope record [x] _ A.p is transparent Expands to: Constant HB.tests.log_impargs_record.A.p COQC tests/factory_sort_tac.v [1659636586.398216] HB: start module and section hasA [1659636586.398693] HB: converting arguments indt-decl (parameter T explicit X0 c0 \ record hasA (sort (typ X1)) Build_hasA (field [coercion ff, canonical tt] a c0 c1 \ end-record)) to factories [1659636586.399028] HB: processing key parameter [1659636586.400012] HB: converting factories w-params.nil T (sort (typ «factory_sort_tac.8»)) c0 \ [] to mixins [1659636586.400209] HB: declaring context w-params.nil T (sort (typ «factory_sort_tac.8»)) c0 \ [] [1659636586.400485] HB: declaring parameters and key as section variables Here is the list of mixins to declare (the order matters): [] [1659636586.411593] HB: declare mixin or factory [1659636586.411786] HB: declare record axioms_ [1659636586.432258] HB: declare notation Build [1659636586.447398] HB: declare notation axioms [1659636586.478884] HB: start module Exports [1659636586.521611] HB: end modules and sections; export «HB.tests.factory_sort_tac.hasA.Exports» hasA.type not a defined object. bar1.phant_type Datatypes_nat__canonical__infer_foo (ssreflect.Phant nat) : Type COQC tests/declare.v id : forall {T : Type}, Monoid.type T -> T id is not universe polymorphic Arguments id {T}%type_scope {s} id is transparent Expands to: Constant HB.tests.funclass.id Notation big := big.body Expands to: Notation HB.tests.lock.X.big Monoid.phant_on_ nat Nat_add__canonical__funclass_Monoid (Phantom (nat -> nat -> nat) Nat_add__canonical__funclass_Monoid) : Monoid.axioms_ nat Init.Nat.add : Monoid.axioms_ nat Init.Nat.add COQC tests/short.v default : nat : nat The command did fail as expected with message: The term "default" has type "nonempty.sort ?t" while it is expected to have type "nat". COQC tests/primitive_records.v hasB.type not a defined object. aType : Type Monoid.phant_on_ nat Nat_mul__canonical__funclass_Monoid (Phantom (nat -> nat -> nat) Nat_mul__canonical__funclass_Monoid) : Monoid.axioms_ nat Init.Nat.mul : Monoid.axioms_ nat Init.Nat.mul COQC tests/non_forgetful_inheritance.v hasB.type not a defined object. [1659636589.975912] HB: exporting under the module path [] [1659636589.992247] HB: exporting modules [Ring_of_TYPE.Exports, Ring.Exports, Ring.EtaAndMixinExports, ElpiOperations5, RingExports, Dummy.Exports, URing.Exports, URing.EtaAndMixinExports, ElpiOperations11, dummy.Exports, Builders_12.dummy_Exports] [1659636589.995999] HB: exporting CS instances [«Z_ring_axioms», «BinNums_Z__canonical__Enclosing_Ring»] [1659636589.996938] HB: exporting Abbreviations [addr0, addrNK] forall (R : Enclosing.Ring.type) (x : R), x = x : Prop 0%G : ?s where ?s : [ |- Enclosing.Ring.type] Enclosing.zero : Z : Z COQC tests/fix_loop.v Datatypes_prod__canonical__compress_coe_D = fun D D' : D.type => {| D.sort := D.sort D * D.sort D'; D.class := {| D.compress_coe_hasA_mixin := prodA (compress_coe_D__to__compress_coe_A D) (compress_coe_D__to__compress_coe_A D'); D.compress_coe_hasB_mixin := prodB tt (compress_coe_D__to__compress_coe_B D) (compress_coe_D__to__compress_coe_B D'); D.compress_coe_hasC_mixin := prodC tt tt (compress_coe_D__to__compress_coe_C D) (compress_coe_D__to__compress_coe_C D'); D.compress_coe_hasD_mixin := prodD D D' |} |} : D.type -> D.type -> D.type Arguments Datatypes_prod__canonical__compress_coe_D D D' COQC tests/test_synthesis_params.v hasAB.type not a defined object. Query assignments: Ind = «hasA.axioms_» File "./tests/interleave_context.v", line 16, characters 0-52: Warning: pulling in dependencies: [interleave_context_HasA, interleave_context_HasB] Please list them or end the declaration with '&' [HB.implicit-structure-dependency,HB] Query assignments: Ind = «A.axioms_» HB.check: forall w : wp.phant_type nat Nat_mul__canonical__funclass_Monoid (Phantom (nat -> nat -> nat) Init.Nat.mul), w = w : Prop hasA'.type not a defined object. Query assignments: Ind = «A.type» COQC tests/hnf.v forall T : AB.type, unkeyed {| AB.sort := T; AB.class := let factory_sort_tac_hasA_mixin := AB.factory_sort_tac_hasA_mixin T (AB.class T) in let factory_sort_tac_hasB_mixin := AB.factory_sort_tac_hasB_mixin T (AB.class T) in {| AB.factory_sort_tac_hasA_mixin := factory_sort_tac_hasA_mixin; AB.factory_sort_tac_hasB_mixin := factory_sort_tac_hasB_mixin |} |} : Type A : A.type : A.type A : A.type : A.type AB1 : hasB.phant_axioms A -> AB.type : hasB.phant_axioms A -> AB.type Bm : hasB.phant_axioms A : hasB.phant_axioms A AB2 : AB.type : AB.type pB : T * T : T * T AB3 : AB.type : AB.type erefl ?t : ?t = ?t : ?t = ?t where ?t : [ |- Sq.type] hasAB.type not a defined object. hasA'.type not a defined object. COQC tests/issue284.v COQC tests/fun_instance.v X : Foo.type A P : Foo.type A P COQC tests/issue287.v COQC examples/demo1/test_0_0.v COQC examples/demo1/test_1_0.v COQC examples/demo1/test_2_0.v Datatypes_nat__canonical__hnf_S = {| S.sort := nat; S.class := {| S.hnf_M_mixin := HB_unnamed_mixin_12 |} |} : S.type HB_unnamed_mixin_12 = {| M.x := f.y nat HB_unnamed_factory_10 + 1 |} : M.axioms_ nat Datatypes_bool__canonical__hnf_S = {| S.sort := bool; S.class := {| S.hnf_M_mixin := HB_unnamed_mixin_16 |} |} : S.type HB_unnamed_mixin_16 = Builders_6.HB_unnamed_factory_8 bool HB_unnamed_factory_13 : M.axioms_ bool COQC examples/demo1/test_3_0.v COQC examples/demo1/test_3_3.v COQC examples/demo1/test_4_0.v COQC examples/demo1/test_4_3.v COQC examples/demo1/test_5_0.v COQC examples/demo1/test_5_3.v COQC examples/demo2/stage10.v COQC examples/demo2/stage11.v COQC examples/demo3/test_1_0.v COQC examples/demo3/test_2_0.v COQC tests/exports2.v [1659636601.089729] HB: exporting under the module path [] [1659636601.089873] HB: exporting modules [] [1659636601.089976] HB: exporting CS instances [] [1659636601.090063] HB: exporting Abbreviations [] Finished transaction in 40.898 secs (12.703u,0.84s) (successful) Finished transaction in 0. secs (0.u,0.s) (successful) Qcplus_opp_r: forall q : Qc, q + - q = Q2Qc 0 HB: skipping section opening [1659636609.806160] HB: declare mixin instance Stage11_JoinTAddAG__to__Stage11_Uniform_wo_Topology [1659636609.811903] HB: declare canonical mixin instance «Stage11_JoinTAddAG__to__Stage11_Uniform_wo_Topology» [1659636609.814017] HB: declare mixin instance Stage11_JoinTAddAG__to__Stage11_Join_Uniform_Topology [1659636609.824280] HB: declare canonical mixin instance «Stage11_JoinTAddAG__to__Stage11_Join_Uniform_Topology» [1659636609.827380] HB: declare mixin instance Stage11_JoinTAddAG__to__Stage11_Join_TAddAG_Uniform [1659636609.839947] HB: declare canonical mixin instance «Stage11_JoinTAddAG__to__Stage11_Join_TAddAG_Uniform» [1659636609.842103] HB: declare mixin instance Stage11_JoinTAddAG__to__Stage11_JoinTAddAG_wo_Uniform [1659636609.849612] HB: declare canonical mixin instance «Stage11_JoinTAddAG__to__Stage11_JoinTAddAG_wo_Uniform» [1659636609.853363] HB: we can build a Stage11_UniformSpace_wo_Topology on Qc [1659636609.853815] HB: declare canonical structure instance Qcanon_Qc__canonical__Stage11_UniformSpace_wo_Topology [1659636609.854243] HB: Giving name HB_unnamed_mixin_92 to mixin instance Builders_68.Stage11_JoinTAddAG__to__Stage11_Uniform_wo_Topology Qc HB_unnamed_mixin_81 HB_unnamed_mixin_86 HB_unnamed_factory_87 [1659636609.859093] HB: structure instance for Qcanon_Qc__canonical__Stage11_UniformSpace_wo_Topology is {| UniformSpace_wo_Topology.sort := Qc; UniformSpace_wo_Topology.class := {| UniformSpace_wo_Topology.Stage11_Uniform_wo_Topology_mixin := HB_unnamed_mixin_92 |} |} [1659636609.865646] HB: structure instance Qcanon_Qc__canonical__Stage11_UniformSpace_wo_Topology declared [1659636609.867661] HB: we can build a Stage11_UniformSpace on Qc [1659636609.868095] HB: declare canonical structure instance Qcanon_Qc__canonical__Stage11_UniformSpace [1659636609.869195] HB: structure instance for Qcanon_Qc__canonical__Stage11_UniformSpace is {| UniformSpace.sort := Qc; UniformSpace.class := {| UniformSpace.Stage11_Topological_mixin := HB_unnamed_mixin_86; UniformSpace.Stage11_Uniform_wo_Topology_mixin := HB_unnamed_mixin_92 |} |} [1659636609.905845] HB: structure instance Qcanon_Qc__canonical__Stage11_UniformSpace declared [1659636609.908324] HB: we can build a Stage11_TAddAG_wo_Uniform on Qc [1659636609.908831] HB: declare canonical structure instance Qcanon_Qc__canonical__Stage11_TAddAG_wo_Uniform [1659636609.910062] HB: Giving name HB_unnamed_mixin_93 to mixin instance Builders_68.to_JoinTAddAG_wo_Uniform Qc HB_unnamed_mixin_81 HB_unnamed_mixin_86 HB_unnamed_factory_87 [1659636609.916033] HB: structure instance for Qcanon_Qc__canonical__Stage11_TAddAG_wo_Uniform is {| TAddAG_wo_Uniform.sort := Qc; TAddAG_wo_Uniform.class := {| TAddAG_wo_Uniform.Stage11_AddAG_of_TYPE_mixin := HB_unnamed_mixin_81; TAddAG_wo_Uniform.Stage11_Topological_mixin := HB_unnamed_mixin_86; TAddAG_wo_Uniform.Stage11_JoinTAddAG_wo_Uniform_mixin := HB_unnamed_mixin_93 |} |} [1659636609.923258] HB: structure instance Qcanon_Qc__canonical__Stage11_TAddAG_wo_Uniform declared [1659636609.927001] HB: we can build a Stage11_Uniform_TAddAG_unjoined on Qc [1659636609.927407] HB: declare canonical structure instance Qcanon_Qc__canonical__Stage11_Uniform_TAddAG_unjoined [1659636609.929288] HB: structure instance for Qcanon_Qc__canonical__Stage11_Uniform_TAddAG_unjoined is {| Uniform_TAddAG_unjoined.sort := Qc; Uniform_TAddAG_unjoined.class := {| Uniform_TAddAG_unjoined.Stage11_AddAG_of_TYPE_mixin := HB_unnamed_mixin_81; Uniform_TAddAG_unjoined.Stage11_Topological_mixin := HB_unnamed_mixin_86; Uniform_TAddAG_unjoined.Stage11_JoinTAddAG_wo_Uniform_mixin := HB_unnamed_mixin_93; Uniform_TAddAG_unjoined.Stage11_Uniform_wo_Topology_mixin := HB_unnamed_mixin_92 |} |} [1659636609.937458] HB: structure instance Qcanon_Qc__canonical__Stage11_Uniform_TAddAG_unjoined declared [1659636609.943135] HB: we can build a Stage11_TAddAG on Qc [1659636609.943528] HB: declare canonical structure instance Qcanon_Qc__canonical__Stage11_TAddAG [1659636609.945190] HB: Giving name HB_unnamed_mixin_94 to mixin instance Builders_68.Stage11_JoinTAddAG__to__Stage11_Join_Uniform_Topology Qc HB_unnamed_mixin_81 HB_unnamed_mixin_86 HB_unnamed_factory_87 [1659636609.951337] HB: Giving name HB_unnamed_mixin_95 to mixin instance Builders_68.Stage11_JoinTAddAG__to__Stage11_Join_TAddAG_Uniform Qc HB_unnamed_mixin_81 HB_unnamed_mixin_86 HB_unnamed_factory_87 [1659636609.956983] HB: structure instance for Qcanon_Qc__canonical__Stage11_TAddAG is {| TAddAG.sort := Qc; TAddAG.class := {| TAddAG.Stage11_Uniform_wo_Topology_mixin := HB_unnamed_mixin_92; TAddAG.Stage11_AddAG_of_TYPE_mixin := HB_unnamed_mixin_81; TAddAG.Stage11_Topological_mixin := HB_unnamed_mixin_86; TAddAG.Stage11_Join_Uniform_Topology_mixin := HB_unnamed_mixin_94; TAddAG.Stage11_JoinTAddAG_wo_Uniform_mixin := HB_unnamed_mixin_93; TAddAG.Stage11_Join_TAddAG_Uniform_mixin := HB_unnamed_mixin_95 |} |} [1659636609.964328] HB: structure instance Qcanon_Qc__canonical__Stage11_TAddAG declared entourage : set (set (Qc * Qc)) : set (set (Qc * Qc)) Finished transaction in 15.189 secs (13.006u,0.887s) (successful) Module Type new_conceptLocked = Sig Parameter body : nat. Parameter unlock : body = Init.Nat.of_num_uint (Number.UIntDecimal (Decimal.D9 (Decimal.D9 (Decimal.D9 (Decimal.D9 (Decimal.D9 (Decimal.D9 Decimal.Nil))))))). End Module new_concept : new_conceptLocked := Struct Definition body : nat. Parameter unlock : new_concept = Init.Nat.of_num_uint (Number.UIntDecimal (Decimal.D9 (Decimal.D9 (Decimal.D9 (Decimal.D9 (Decimal.D9 (Decimal.D9 Decimal.Nil))))))). End Notation new_concept := new_concept.body File "./examples/hulk.v", line 315, characters 0-55: Warning: pulling in dependencies: [MissingJoin_isTop] Please list them or end the declaration with '&' [HB.implicit-structure-dependency,HB] File "./examples/hulk.v", line 341, characters 0-55: Warning: pulling in dependencies: [GoodJoin_isTop] Please list them or end the declaration with '&' [HB.implicit-structure-dependency,HB] OUTPUT DIFF tests/compress_coe.v OUTPUT DIFF tests/about.v OUTPUT DIFF tests/missing_join_error.v OUTPUT DIFF tests/not_same_key.v OUTPUT DIFF tests/hnf.v make[3]: Leaving directory '/build/coq-hierarchy-builder-ANIOfT/coq-hierarchy-builder-1.3.0' make[2]: Leaving directory '/build/coq-hierarchy-builder-ANIOfT/coq-hierarchy-builder-1.3.0' make[1]: Leaving directory '/build/coq-hierarchy-builder-ANIOfT/coq-hierarchy-builder-1.3.0' dh: command-omitted: The call to "dh_auto_test -a" was omitted due to "DEB_BUILD_OPTIONS=nocheck" create-stamp debian/debhelper-build-stamp dh_prep -a dh_auto_install -a make -j10 install DESTDIR=/build/coq-hierarchy-builder-ANIOfT/coq-hierarchy-builder-1.3.0/debian/tmp AM_UPDATE_INFO_DIR=no "INSTALL=install --strip-program=true" make[1]: Entering directory '/build/coq-hierarchy-builder-ANIOfT/coq-hierarchy-builder-1.3.0' make -f Makefile.coq install make[2]: Entering directory '/build/coq-hierarchy-builder-ANIOfT/coq-hierarchy-builder-1.3.0' make[2]: warning: jobserver unavailable: using -j1. Add '+' to parent make rule. INSTALL structures.vo /build/coq-hierarchy-builder-ANIOfT/coq-hierarchy-builder-1.3.0/debian/tmp//usr/lib/ocaml/coq//user-contrib/HB/ INSTALL structures.v /build/coq-hierarchy-builder-ANIOfT/coq-hierarchy-builder-1.3.0/debian/tmp//usr/lib/ocaml/coq//user-contrib/HB/ INSTALL structures.glob /build/coq-hierarchy-builder-ANIOfT/coq-hierarchy-builder-1.3.0/debian/tmp//usr/lib/ocaml/coq//user-contrib/HB/ make[3]: Entering directory '/build/coq-hierarchy-builder-ANIOfT/coq-hierarchy-builder-1.3.0' make[3]: Leaving directory '/build/coq-hierarchy-builder-ANIOfT/coq-hierarchy-builder-1.3.0' make[2]: Leaving directory '/build/coq-hierarchy-builder-ANIOfT/coq-hierarchy-builder-1.3.0' install -d /build/coq-hierarchy-builder-ANIOfT/coq-hierarchy-builder-1.3.0/debian/tmp/bin install -m 0755 coq.hb /build/coq-hierarchy-builder-ANIOfT/coq-hierarchy-builder-1.3.0/debian/tmp/bin make[1]: Leaving directory '/build/coq-hierarchy-builder-ANIOfT/coq-hierarchy-builder-1.3.0' dh_install -a dh_ocamldoc -a dh_installdocs -a dh_installchangelogs -a debian/rules override_dh_installman make[1]: Entering directory '/build/coq-hierarchy-builder-ANIOfT/coq-hierarchy-builder-1.3.0' dh_installman --language='C' make[1]: Leaving directory '/build/coq-hierarchy-builder-ANIOfT/coq-hierarchy-builder-1.3.0' dh_perl -a dh_link -a dh_strip_nondeterminism -a dh_compress -a dh_fixperms -a dh_missing -a dh_strip -a dh_makeshlibs -a dh_shlibdeps -a dh_installdeb -a dh_coq -a dh_ocaml -a W: coq-hierarchy-builder doesn't resolve dependency on unit Hb dh_gencontrol -a dpkg-gencontrol: warning: Depends field of package libcoq-hierarchy-builder: substitution variable ${ocaml:Depends} used, but is not defined dpkg-gencontrol: warning: Depends field of package libcoq-hierarchy-builder: substitution variable ${shlibs:Depends} used, but is not defined dpkg-gencontrol: warning: Depends field of package coq-hierarchy-builder: substitution variable ${shlibs:Depends} used, but is not defined dpkg-gencontrol: warning: package coq-hierarchy-builder: substitution variable ${ocaml:Depends} unused, but is defined dh_md5sums -a dh_builddeb -a dpkg-deb: building package 'libcoq-hierarchy-builder' in '../libcoq-hierarchy-builder_1.3.0-1_amd64.deb'. dpkg-deb: building package 'coq-hierarchy-builder' in '../coq-hierarchy-builder_1.3.0-1_amd64.deb'. dpkg-genbuildinfo --build=any -O../coq-hierarchy-builder_1.3.0-1_amd64.buildinfo dpkg-genchanges --build=any -O../coq-hierarchy-builder_1.3.0-1_amd64.changes dpkg-genchanges: info: binary-only arch-specific upload (source code and arch-indep packages not included) dpkg-source --after-build . dpkg-buildpackage: info: binary-only upload (no source included) I: running special hook: sync-out /build/coq-hierarchy-builder-ANIOfT /tmp/coq-hierarchy-builder-1.3.0-1jjhe0r16 I: cleaning package lists and apt cache... I: removing tempdir /tmp/mmdebstrap.ET09PXFGhq... I: success in 818.2355 seconds md5: coq-hierarchy-builder_1.3.0-1_amd64.deb: OK md5: libcoq-hierarchy-builder_1.3.0-1_amd64.deb: OK sha1: coq-hierarchy-builder_1.3.0-1_amd64.deb: OK sha1: libcoq-hierarchy-builder_1.3.0-1_amd64.deb: OK sha256: coq-hierarchy-builder_1.3.0-1_amd64.deb: OK sha256: libcoq-hierarchy-builder_1.3.0-1_amd64.deb: OK Checksums: OK