I: pbuilder: network access will be disabled during build I: Current time: Fri Oct 25 00:47:43 +14 2024 I: pbuilder-time-stamp: 1729766863 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/trixie-reproducible-base.tgz] I: copying local configuration W: --override-config is not set; not updating apt.conf Read the manpage for details. I: mounting /proc filesystem I: mounting /sys filesystem I: creating /{dev,run}/shm I: mounting /dev/pts filesystem I: redirecting /dev/ptmx to /dev/pts/ptmx I: policy-rc.d already exists I: Copying source file I: copying [coq-elpi_2.1.0-1.dsc] I: copying [./coq-elpi_2.1.0.orig.tar.gz] I: copying [./coq-elpi_2.1.0-1.debian.tar.xz] I: Extracting source gpgv: Signature made Sat Mar 30 08:35:33 2024 gpgv: using RSA key 812EEFD8A3FBA4ACE4DF114B04C53BD7FE030551 gpgv: issuer "jpuydt@debian.org" gpgv: Can't check signature: No public key dpkg-source: warning: cannot verify inline signature for ./coq-elpi_2.1.0-1.dsc: no acceptable signature found dpkg-source: info: extracting coq-elpi in coq-elpi-2.1.0 dpkg-source: info: unpacking coq-elpi_2.1.0.orig.tar.gz dpkg-source: info: unpacking coq-elpi_2.1.0-1.debian.tar.xz dpkg-source: info: using patch list from debian/patches/series dpkg-source: info: applying 0001-Increase-timeout-in-test-that-takes-a-bit-longer-on-.patch I: Not using root during the build. I: Installing the build-deps I: user script /srv/workspace/pbuilder/3256756/tmp/hooks/D01_modify_environment starting debug: Running on ionos11-amd64. I: Changing host+domainname to test build reproducibility I: Adding a custom variable just for the fun of it... I: Changing /bin/sh to bash '/bin/sh' -> '/bin/bash' lrwxrwxrwx 1 root root 9 Oct 24 10:47 /bin/sh -> /bin/bash I: Setting pbuilder2's login shell to /bin/bash I: Setting pbuilder2's GECOS to second user,second room,second work-phone,second home-phone,second other I: user script /srv/workspace/pbuilder/3256756/tmp/hooks/D01_modify_environment finished I: user script /srv/workspace/pbuilder/3256756/tmp/hooks/D02_print_environment starting I: set BASH=/bin/sh BASHOPTS=checkwinsize:cmdhist:complete_fullquote:extquote:force_fignore:globasciiranges:globskipdots:hostcomplete:interactive_comments:patsub_replacement:progcomp:promptvars:sourcepath BASH_ALIASES=() BASH_ARGC=() BASH_ARGV=() BASH_CMDS=() BASH_LINENO=([0]="12" [1]="0") BASH_LOADABLES_PATH=/usr/local/lib/bash:/usr/lib/bash:/opt/local/lib/bash:/usr/pkg/lib/bash:/opt/pkg/lib/bash:. BASH_SOURCE=([0]="/tmp/hooks/D02_print_environment" [1]="/tmp/hooks/D02_print_environment") BASH_VERSINFO=([0]="5" [1]="2" [2]="32" [3]="1" [4]="release" [5]="x86_64-pc-linux-gnu") BASH_VERSION='5.2.32(1)-release' BUILDDIR=/build/reproducible-path BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other' BUILDUSERNAME=pbuilder2 BUILD_ARCH=amd64 DEBIAN_FRONTEND=noninteractive DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=20 ' DIRSTACK=() DISTRIBUTION=trixie EUID=0 FUNCNAME=([0]="Echo" [1]="main") GROUPS=() HOME=/root HOSTNAME=i-capture-the-hostname HOSTTYPE=x86_64 HOST_ARCH=amd64 IFS=' ' INVOCATION_ID=638037f5d13442aea0de42b06b98103e LANG=C LANGUAGE=et_EE:et LC_ALL=C MACHTYPE=x86_64-pc-linux-gnu MAIL=/var/mail/root OPTERR=1 OPTIND=1 OSTYPE=linux-gnu PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path PBCURRENTCOMMANDLINEOPERATION=build PBUILDER_OPERATION=build PBUILDER_PKGDATADIR=/usr/share/pbuilder PBUILDER_PKGLIBDIR=/usr/lib/pbuilder PBUILDER_SYSCONFDIR=/etc PIPESTATUS=([0]="0") POSIXLY_CORRECT=y PPID=3256756 PS4='+ ' PWD=/ SHELL=/bin/bash SHELLOPTS=braceexpand:errexit:hashall:interactive-comments:posix SHLVL=3 SUDO_COMMAND='/usr/bin/timeout -k 24.1h 24h /usr/bin/ionice -c 3 /usr/bin/nice -n 11 /usr/bin/unshare --uts -- /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.koTDuk3H/pbuilderrc_0DZG --distribution trixie --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/trixie-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.koTDuk3H/b2 --logfile b2/build.log coq-elpi_2.1.0-1.dsc' SUDO_GID=111 SUDO_UID=106 SUDO_USER=jenkins TERM=unknown TZ=/usr/share/zoneinfo/Etc/GMT-14 UID=0 USER=root _='I: set' http_proxy=http://46.16.76.132:3128 I: uname -a Linux i-capture-the-hostname 6.1.0-26-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.112-1 (2024-09-30) x86_64 GNU/Linux I: ls -l /bin lrwxrwxrwx 1 root root 7 Aug 4 21:30 /bin -> usr/bin I: user script /srv/workspace/pbuilder/3256756/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy Version: 0.invalid.0 Architecture: amd64 Maintainer: Debian Pbuilder Team Description: Dummy package to satisfy dependencies with aptitude - created by pbuilder This package was created automatically by pbuilder to satisfy the build-dependencies of the package being currently built. Depends: coq, debhelper-compat (= 13), dh-coq, dh-ocaml, libcoq-core-ocaml-dev (>= 8.17), libcoq-stdlib, libelpi-ocaml-dev dpkg-deb: building package 'pbuilder-satisfydepends-dummy' in '/tmp/satisfydepends-aptitude/pbuilder-satisfydepends-dummy.deb'. Selecting previously unselected package pbuilder-satisfydepends-dummy. (Reading database ... 21880 files and directories currently installed.) Preparing to unpack .../pbuilder-satisfydepends-dummy.deb ... Unpacking pbuilder-satisfydepends-dummy (0.invalid.0) ... dpkg: pbuilder-satisfydepends-dummy: dependency problems, but configuring anyway as you requested: pbuilder-satisfydepends-dummy depends on coq; however: Package coq is not installed. pbuilder-satisfydepends-dummy depends on debhelper-compat (= 13); however: Package debhelper-compat is not installed. pbuilder-satisfydepends-dummy depends on dh-coq; however: Package dh-coq is not installed. pbuilder-satisfydepends-dummy depends on dh-ocaml; however: Package dh-ocaml is not installed. pbuilder-satisfydepends-dummy depends on libcoq-core-ocaml-dev (>= 8.17); however: Package libcoq-core-ocaml-dev is not installed. pbuilder-satisfydepends-dummy depends on libcoq-stdlib; however: Package libcoq-stdlib is not installed. pbuilder-satisfydepends-dummy depends on libelpi-ocaml-dev; however: Package libelpi-ocaml-dev is not installed. Setting up pbuilder-satisfydepends-dummy (0.invalid.0) ... Reading package lists... Building dependency tree... Reading state information... Initializing package states... Writing extended state information... Building tag database... pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0) pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0) The following NEW packages will be installed: autoconf{a} automake{a} autopoint{a} autotools-dev{a} bsdextrautils{a} coq{a} debhelper{a} dh-autoreconf{a} dh-coq{a} dh-ocaml{a} dh-strip-nondeterminism{a} dwz{a} file{a} gettext{a} gettext-base{a} groff-base{a} intltool-debian{a} libarchive-zip-perl{a} libcom-err2{a} libcompiler-libs-ocaml-dev{a} libconfig-tiny-perl{a} libcoq-core-ocaml{a} libcoq-core-ocaml-dev{a} libcoq-stdlib{a} libdebhelper-perl{a} libelf1t64{a} libelpi-ocaml{a} libelpi-ocaml-dev{a} libexpat1{a} libfile-stripnondeterminism-perl{a} libfindlib-ocaml{a} libfindlib-ocaml-dev{a} libgmp-dev{a} libgmp3-dev{a} libgmpxx4ldbl{a} libgssapi-krb5-2{a} libicu72{a} libk5crypto3{a} libkeyutils1{a} libkrb5-3{a} libkrb5support0{a} libmagic-mgc{a} libmagic1t64{a} libmenhir-ocaml-dev{a} libncurses-dev{a} libncurses6{a} libnsl2{a} libocaml-compiler-libs-ocaml-dev{a} libpipeline1{a} libppx-derivers-ocaml-dev{a} libppx-deriving-ocaml{a} libppx-deriving-ocaml-dev{a} libppxlib-ocaml-dev{a} libpython3-stdlib{a} libpython3.12-minimal{a} libpython3.12-stdlib{a} libre-ocaml-dev{a} libreadline8t64{a} libsexplib0-ocaml{a} libsexplib0-ocaml-dev{a} libstdlib-ocaml{a} libstdlib-ocaml-dev{a} libtirpc-common{a} libtirpc3t64{a} libtool{a} libuchardet0{a} libxml2{a} libzarith-ocaml{a} libzarith-ocaml-dev{a} libzstd-dev{a} m4{a} man-db{a} media-types{a} netbase{a} ocaml{a} ocaml-base{a} ocaml-findlib{a} ocaml-interp{a} po-debconf{a} python3{a} python3-minimal{a} python3.12{a} python3.12-minimal{a} readline-common{a} sensible-utils{a} tzdata{a} The following packages are RECOMMENDED but will NOT be installed: ca-certificates curl krb5-locales ledit libarchive-cpio-perl libgpm2 libltdl-dev libmail-sendmail-perl lynx ocaml-man rlfe rlwrap wget 0 packages upgraded, 86 newly installed, 0 to remove and 0 not upgraded. Need to get 366 MB of archives. After unpacking 1179 MB will be used. Writing extended state information... Get: 1 http://deb.debian.org/debian trixie/main amd64 libpython3.12-minimal amd64 3.12.6-1 [814 kB] Get: 2 http://deb.debian.org/debian trixie/main amd64 libexpat1 amd64 2.6.3-1 [105 kB] Get: 3 http://deb.debian.org/debian trixie/main amd64 python3.12-minimal amd64 3.12.6-1 [2168 kB] Get: 4 http://deb.debian.org/debian trixie/main amd64 python3-minimal amd64 3.12.6-1 [26.7 kB] Get: 5 http://deb.debian.org/debian trixie/main amd64 media-types all 10.1.0 [26.9 kB] Get: 6 http://deb.debian.org/debian trixie/main amd64 netbase all 6.4 [12.8 kB] Get: 7 http://deb.debian.org/debian trixie/main amd64 tzdata all 2024a-4 [255 kB] Get: 8 http://deb.debian.org/debian trixie/main amd64 libkrb5support0 amd64 1.21.3-3 [32.5 kB] Get: 9 http://deb.debian.org/debian trixie/main amd64 libcom-err2 amd64 1.47.1-1 [22.9 kB] Get: 10 http://deb.debian.org/debian trixie/main amd64 libk5crypto3 amd64 1.21.3-3 [79.9 kB] Get: 11 http://deb.debian.org/debian trixie/main amd64 libkeyutils1 amd64 1.6.3-3 [8952 B] Get: 12 http://deb.debian.org/debian trixie/main amd64 libkrb5-3 amd64 1.21.3-3 [324 kB] Get: 13 http://deb.debian.org/debian trixie/main amd64 libgssapi-krb5-2 amd64 1.21.3-3 [136 kB] Get: 14 http://deb.debian.org/debian trixie/main amd64 libtirpc-common all 1.3.4+ds-1.3 [10.9 kB] Get: 15 http://deb.debian.org/debian trixie/main amd64 libtirpc3t64 amd64 1.3.4+ds-1.3 [82.7 kB] Get: 16 http://deb.debian.org/debian trixie/main amd64 libnsl2 amd64 1.3.0-3+b2 [40.3 kB] Get: 17 http://deb.debian.org/debian trixie/main amd64 readline-common all 8.2-5 [69.3 kB] Get: 18 http://deb.debian.org/debian trixie/main amd64 libreadline8t64 amd64 8.2-5 [169 kB] Get: 19 http://deb.debian.org/debian trixie/main amd64 libpython3.12-stdlib amd64 3.12.6-1 [1963 kB] Get: 20 http://deb.debian.org/debian trixie/main amd64 python3.12 amd64 3.12.6-1 [669 kB] Get: 21 http://deb.debian.org/debian trixie/main amd64 libpython3-stdlib amd64 3.12.6-1 [9692 B] Get: 22 http://deb.debian.org/debian trixie/main amd64 python3 amd64 3.12.6-1 [27.8 kB] Get: 23 http://deb.debian.org/debian trixie/main amd64 sensible-utils all 0.0.24 [24.8 kB] Get: 24 http://deb.debian.org/debian trixie/main amd64 libmagic-mgc amd64 1:5.45-3 [314 kB] Get: 25 http://deb.debian.org/debian trixie/main amd64 libmagic1t64 amd64 1:5.45-3 [105 kB] Get: 26 http://deb.debian.org/debian trixie/main amd64 file amd64 1:5.45-3 [42.9 kB] Get: 27 http://deb.debian.org/debian trixie/main amd64 gettext-base amd64 0.22.5-2 [200 kB] Get: 28 http://deb.debian.org/debian trixie/main amd64 libuchardet0 amd64 0.0.8-1+b1 [68.8 kB] Get: 29 http://deb.debian.org/debian trixie/main amd64 groff-base amd64 1.23.0-5 [1181 kB] Get: 30 http://deb.debian.org/debian trixie/main amd64 bsdextrautils amd64 2.40.2-9 [97.2 kB] Get: 31 http://deb.debian.org/debian trixie/main amd64 libpipeline1 amd64 1.5.8-1 [42.0 kB] Get: 32 http://deb.debian.org/debian trixie/main amd64 man-db amd64 2.13.0-1 [1420 kB] Get: 33 http://deb.debian.org/debian trixie/main amd64 m4 amd64 1.4.19-4 [287 kB] Get: 34 http://deb.debian.org/debian trixie/main amd64 autoconf all 2.72-3 [493 kB] Get: 35 http://deb.debian.org/debian trixie/main amd64 autotools-dev all 20220109.1 [51.6 kB] Get: 36 http://deb.debian.org/debian trixie/main amd64 automake all 1:1.16.5-1.3 [823 kB] Get: 37 http://deb.debian.org/debian trixie/main amd64 autopoint all 0.22.5-2 [723 kB] Get: 38 http://deb.debian.org/debian trixie/main amd64 libcoq-stdlib amd64 8.19.1+dfsg-3+b2 [23.7 MB] Get: 39 http://deb.debian.org/debian trixie/main amd64 libstdlib-ocaml amd64 5.2.0-3 [582 kB] Get: 40 http://deb.debian.org/debian trixie/main amd64 ocaml-base amd64 5.2.0-3 [455 kB] Get: 41 http://deb.debian.org/debian trixie/main amd64 libfindlib-ocaml amd64 1.9.6-3 [179 kB] Get: 42 http://deb.debian.org/debian trixie/main amd64 libzarith-ocaml amd64 1.14-1 [116 kB] Get: 43 http://deb.debian.org/debian trixie/main amd64 libcoq-core-ocaml amd64 8.19.1+dfsg-3+b2 [25.1 MB] Get: 44 http://deb.debian.org/debian trixie/main amd64 libstdlib-ocaml-dev amd64 5.2.0-3 [11.0 MB] Get: 45 http://deb.debian.org/debian trixie/main amd64 libcompiler-libs-ocaml-dev amd64 5.2.0-3 [47.4 MB] Get: 46 http://deb.debian.org/debian trixie/main amd64 ocaml-interp amd64 5.2.0-3 [6852 kB] Get: 47 http://deb.debian.org/debian trixie/main amd64 libncurses6 amd64 6.5-2 [104 kB] Get: 48 http://deb.debian.org/debian trixie/main amd64 libncurses-dev amd64 6.5-2 [349 kB] Get: 49 http://deb.debian.org/debian trixie/main amd64 libzstd-dev amd64 1.5.6+dfsg-1 [368 kB] Get: 50 http://deb.debian.org/debian trixie/main amd64 ocaml amd64 5.2.0-3 [17.4 MB] Get: 51 http://deb.debian.org/debian trixie/main amd64 ocaml-findlib amd64 1.9.6-3 [569 kB] Get: 52 http://deb.debian.org/debian trixie/main amd64 coq amd64 8.19.1+dfsg-3+b2 [86.6 MB] Get: 53 http://deb.debian.org/debian trixie/main amd64 libdebhelper-perl all 13.20 [89.7 kB] Get: 54 http://deb.debian.org/debian trixie/main amd64 libtool all 2.4.7-7 [517 kB] Get: 55 http://deb.debian.org/debian trixie/main amd64 dh-autoreconf all 20 [17.1 kB] Get: 56 http://deb.debian.org/debian trixie/main amd64 libarchive-zip-perl all 1.68-1 [104 kB] Get: 57 http://deb.debian.org/debian trixie/main amd64 libfile-stripnondeterminism-perl all 1.14.0-1 [19.5 kB] Get: 58 http://deb.debian.org/debian trixie/main amd64 dh-strip-nondeterminism all 1.14.0-1 [8448 B] Get: 59 http://deb.debian.org/debian trixie/main amd64 libelf1t64 amd64 0.191-2 [188 kB] Get: 60 http://deb.debian.org/debian trixie/main amd64 dwz amd64 0.15-1+b1 [110 kB] Get: 61 http://deb.debian.org/debian trixie/main amd64 libicu72 amd64 72.1-5 [9396 kB] Get: 62 http://deb.debian.org/debian trixie/main amd64 libxml2 amd64 2.12.7+dfsg+really2.9.14-0.1 [699 kB] Get: 63 http://deb.debian.org/debian trixie/main amd64 gettext amd64 0.22.5-2 [1601 kB] Get: 64 http://deb.debian.org/debian trixie/main amd64 intltool-debian all 0.35.0+20060710.6 [22.9 kB] Get: 65 http://deb.debian.org/debian trixie/main amd64 po-debconf all 1.0.21+nmu1 [248 kB] Get: 66 http://deb.debian.org/debian trixie/main amd64 debhelper all 13.20 [915 kB] Get: 67 http://deb.debian.org/debian trixie/main amd64 dh-coq all 0.11 [6776 B] Get: 68 http://deb.debian.org/debian trixie/main amd64 libconfig-tiny-perl all 2.30-1 [18.9 kB] Get: 69 http://deb.debian.org/debian trixie/main amd64 dh-ocaml all 2.4 [62.9 kB] Get: 70 http://deb.debian.org/debian trixie/main amd64 libfindlib-ocaml-dev amd64 1.9.6-3 [152 kB] Get: 71 http://deb.debian.org/debian trixie/main amd64 libgmpxx4ldbl amd64 2:6.3.0+dfsg-2+b1 [329 kB] Get: 72 http://deb.debian.org/debian trixie/main amd64 libgmp-dev amd64 2:6.3.0+dfsg-2+b1 [640 kB] Get: 73 http://deb.debian.org/debian trixie/main amd64 libgmp3-dev amd64 2:6.3.0+dfsg-2+b1 [322 kB] Get: 74 http://deb.debian.org/debian trixie/main amd64 libzarith-ocaml-dev amd64 1.14-1 [142 kB] Get: 75 http://deb.debian.org/debian trixie/main amd64 libcoq-core-ocaml-dev amd64 8.19.1+dfsg-3+b2 [67.2 MB] Get: 76 http://deb.debian.org/debian trixie/main amd64 libsexplib0-ocaml amd64 0.17.0-1 [127 kB] Get: 77 http://deb.debian.org/debian trixie/main amd64 libppx-deriving-ocaml amd64 6.0.3-1 [4223 kB] Get: 78 http://deb.debian.org/debian trixie/main amd64 libelpi-ocaml amd64 1.18.2-5+b5 [3135 kB] Get: 79 http://deb.debian.org/debian trixie/main amd64 libmenhir-ocaml-dev amd64 20240715+ds-1 [906 kB] Get: 80 http://deb.debian.org/debian trixie/main amd64 libocaml-compiler-libs-ocaml-dev amd64 0.17.0-1 [161 kB] Get: 81 http://deb.debian.org/debian trixie/main amd64 libppx-derivers-ocaml-dev amd64 1.2.1-4+b2 [19.7 kB] Get: 82 http://deb.debian.org/debian trixie/main amd64 libsexplib0-ocaml-dev amd64 0.17.0-1 [359 kB] Get: 83 http://deb.debian.org/debian trixie/main amd64 libppxlib-ocaml-dev amd64 0.33.0-2 [24.4 MB] Get: 84 http://deb.debian.org/debian trixie/main amd64 libppx-deriving-ocaml-dev amd64 6.0.3-1 [1066 kB] Get: 85 http://deb.debian.org/debian trixie/main amd64 libre-ocaml-dev amd64 1.12.0+really1.11.0-1 [1290 kB] Get: 86 http://deb.debian.org/debian trixie/main amd64 libelpi-ocaml-dev amd64 1.18.2-5+b5 [13.3 MB] Fetched 366 MB in 6s (62.6 MB/s) debconf: delaying package configuration, since apt-utils is not installed Selecting previously unselected package libpython3.12-minimal: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 ... 21880 files and directories currently installed.) Preparing to unpack .../libpython3.12-minimal_3.12.6-1_amd64.deb ... Unpacking libpython3.12-minimal:amd64 (3.12.6-1) ... Selecting previously unselected package libexpat1:amd64. Preparing to unpack .../libexpat1_2.6.3-1_amd64.deb ... Unpacking libexpat1:amd64 (2.6.3-1) ... Selecting previously unselected package python3.12-minimal. Preparing to unpack .../python3.12-minimal_3.12.6-1_amd64.deb ... Unpacking python3.12-minimal (3.12.6-1) ... Setting up libpython3.12-minimal:amd64 (3.12.6-1) ... Setting up libexpat1:amd64 (2.6.3-1) ... Setting up python3.12-minimal (3.12.6-1) ... Selecting previously unselected package python3-minimal. (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 ... 22200 files and directories currently installed.) Preparing to unpack .../00-python3-minimal_3.12.6-1_amd64.deb ... Unpacking python3-minimal (3.12.6-1) ... Selecting previously unselected package media-types. Preparing to unpack .../01-media-types_10.1.0_all.deb ... Unpacking media-types (10.1.0) ... Selecting previously unselected package netbase. Preparing to unpack .../02-netbase_6.4_all.deb ... Unpacking netbase (6.4) ... Selecting previously unselected package tzdata. Preparing to unpack .../03-tzdata_2024a-4_all.deb ... Unpacking tzdata (2024a-4) ... Selecting previously unselected package libkrb5support0:amd64. Preparing to unpack .../04-libkrb5support0_1.21.3-3_amd64.deb ... Unpacking libkrb5support0:amd64 (1.21.3-3) ... Selecting previously unselected package libcom-err2:amd64. Preparing to unpack .../05-libcom-err2_1.47.1-1_amd64.deb ... Unpacking libcom-err2:amd64 (1.47.1-1) ... Selecting previously unselected package libk5crypto3:amd64. Preparing to unpack .../06-libk5crypto3_1.21.3-3_amd64.deb ... Unpacking libk5crypto3:amd64 (1.21.3-3) ... Selecting previously unselected package libkeyutils1:amd64. Preparing to unpack .../07-libkeyutils1_1.6.3-3_amd64.deb ... Unpacking libkeyutils1:amd64 (1.6.3-3) ... Selecting previously unselected package libkrb5-3:amd64. Preparing to unpack .../08-libkrb5-3_1.21.3-3_amd64.deb ... Unpacking libkrb5-3:amd64 (1.21.3-3) ... Selecting previously unselected package libgssapi-krb5-2:amd64. Preparing to unpack .../09-libgssapi-krb5-2_1.21.3-3_amd64.deb ... Unpacking libgssapi-krb5-2:amd64 (1.21.3-3) ... Selecting previously unselected package libtirpc-common. Preparing to unpack .../10-libtirpc-common_1.3.4+ds-1.3_all.deb ... Unpacking libtirpc-common (1.3.4+ds-1.3) ... Selecting previously unselected package libtirpc3t64:amd64. Preparing to unpack .../11-libtirpc3t64_1.3.4+ds-1.3_amd64.deb ... Adding 'diversion of /lib/x86_64-linux-gnu/libtirpc.so.3 to /lib/x86_64-linux-gnu/libtirpc.so.3.usr-is-merged by libtirpc3t64' Adding 'diversion of /lib/x86_64-linux-gnu/libtirpc.so.3.0.0 to /lib/x86_64-linux-gnu/libtirpc.so.3.0.0.usr-is-merged by libtirpc3t64' Unpacking libtirpc3t64:amd64 (1.3.4+ds-1.3) ... Selecting previously unselected package libnsl2:amd64. Preparing to unpack .../12-libnsl2_1.3.0-3+b2_amd64.deb ... Unpacking libnsl2:amd64 (1.3.0-3+b2) ... Selecting previously unselected package readline-common. Preparing to unpack .../13-readline-common_8.2-5_all.deb ... Unpacking readline-common (8.2-5) ... Selecting previously unselected package libreadline8t64:amd64. Preparing to unpack .../14-libreadline8t64_8.2-5_amd64.deb ... Adding 'diversion of /lib/x86_64-linux-gnu/libhistory.so.8 to /lib/x86_64-linux-gnu/libhistory.so.8.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/x86_64-linux-gnu/libhistory.so.8.2 to /lib/x86_64-linux-gnu/libhistory.so.8.2.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/x86_64-linux-gnu/libreadline.so.8 to /lib/x86_64-linux-gnu/libreadline.so.8.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/x86_64-linux-gnu/libreadline.so.8.2 to /lib/x86_64-linux-gnu/libreadline.so.8.2.usr-is-merged by libreadline8t64' Unpacking libreadline8t64:amd64 (8.2-5) ... Selecting previously unselected package libpython3.12-stdlib:amd64. Preparing to unpack .../15-libpython3.12-stdlib_3.12.6-1_amd64.deb ... Unpacking libpython3.12-stdlib:amd64 (3.12.6-1) ... Selecting previously unselected package python3.12. Preparing to unpack .../16-python3.12_3.12.6-1_amd64.deb ... Unpacking python3.12 (3.12.6-1) ... Selecting previously unselected package libpython3-stdlib:amd64. Preparing to unpack .../17-libpython3-stdlib_3.12.6-1_amd64.deb ... Unpacking libpython3-stdlib:amd64 (3.12.6-1) ... Setting up python3-minimal (3.12.6-1) ... Selecting previously unselected package python3. (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 ... 23272 files and directories currently installed.) Preparing to unpack .../00-python3_3.12.6-1_amd64.deb ... Unpacking python3 (3.12.6-1) ... Selecting previously unselected package sensible-utils. Preparing to unpack .../01-sensible-utils_0.0.24_all.deb ... Unpacking sensible-utils (0.0.24) ... Selecting previously unselected package libmagic-mgc. Preparing to unpack .../02-libmagic-mgc_1%3a5.45-3_amd64.deb ... Unpacking libmagic-mgc (1:5.45-3) ... Selecting previously unselected package libmagic1t64:amd64. Preparing to unpack .../03-libmagic1t64_1%3a5.45-3_amd64.deb ... Unpacking libmagic1t64:amd64 (1:5.45-3) ... Selecting previously unselected package file. Preparing to unpack .../04-file_1%3a5.45-3_amd64.deb ... Unpacking file (1:5.45-3) ... Selecting previously unselected package gettext-base. Preparing to unpack .../05-gettext-base_0.22.5-2_amd64.deb ... Unpacking gettext-base (0.22.5-2) ... Selecting previously unselected package libuchardet0:amd64. Preparing to unpack .../06-libuchardet0_0.0.8-1+b1_amd64.deb ... Unpacking libuchardet0:amd64 (0.0.8-1+b1) ... Selecting previously unselected package groff-base. Preparing to unpack .../07-groff-base_1.23.0-5_amd64.deb ... Unpacking groff-base (1.23.0-5) ... Selecting previously unselected package bsdextrautils. Preparing to unpack .../08-bsdextrautils_2.40.2-9_amd64.deb ... Unpacking bsdextrautils (2.40.2-9) ... Selecting previously unselected package libpipeline1:amd64. Preparing to unpack .../09-libpipeline1_1.5.8-1_amd64.deb ... Unpacking libpipeline1:amd64 (1.5.8-1) ... Selecting previously unselected package man-db. Preparing to unpack .../10-man-db_2.13.0-1_amd64.deb ... Unpacking man-db (2.13.0-1) ... Selecting previously unselected package m4. Preparing to unpack .../11-m4_1.4.19-4_amd64.deb ... Unpacking m4 (1.4.19-4) ... Selecting previously unselected package autoconf. Preparing to unpack .../12-autoconf_2.72-3_all.deb ... Unpacking autoconf (2.72-3) ... Selecting previously unselected package autotools-dev. Preparing to unpack .../13-autotools-dev_20220109.1_all.deb ... Unpacking autotools-dev (20220109.1) ... Selecting previously unselected package automake. Preparing to unpack .../14-automake_1%3a1.16.5-1.3_all.deb ... Unpacking automake (1:1.16.5-1.3) ... Selecting previously unselected package autopoint. Preparing to unpack .../15-autopoint_0.22.5-2_all.deb ... Unpacking autopoint (0.22.5-2) ... Selecting previously unselected package libcoq-stdlib. Preparing to unpack .../16-libcoq-stdlib_8.19.1+dfsg-3+b2_amd64.deb ... Unpacking libcoq-stdlib (8.19.1+dfsg-3+b2) ... Selecting previously unselected package libstdlib-ocaml. Preparing to unpack .../17-libstdlib-ocaml_5.2.0-3_amd64.deb ... Unpacking libstdlib-ocaml (5.2.0-3) ... Selecting previously unselected package ocaml-base. Preparing to unpack .../18-ocaml-base_5.2.0-3_amd64.deb ... Unpacking ocaml-base (5.2.0-3) ... Selecting previously unselected package libfindlib-ocaml. Preparing to unpack .../19-libfindlib-ocaml_1.9.6-3_amd64.deb ... Unpacking libfindlib-ocaml (1.9.6-3) ... Selecting previously unselected package libzarith-ocaml. Preparing to unpack .../20-libzarith-ocaml_1.14-1_amd64.deb ... Unpacking libzarith-ocaml (1.14-1) ... Selecting previously unselected package libcoq-core-ocaml. Preparing to unpack .../21-libcoq-core-ocaml_8.19.1+dfsg-3+b2_amd64.deb ... Unpacking libcoq-core-ocaml (8.19.1+dfsg-3+b2) ... Selecting previously unselected package libstdlib-ocaml-dev. Preparing to unpack .../22-libstdlib-ocaml-dev_5.2.0-3_amd64.deb ... Unpacking libstdlib-ocaml-dev (5.2.0-3) ... Selecting previously unselected package libcompiler-libs-ocaml-dev. Preparing to unpack .../23-libcompiler-libs-ocaml-dev_5.2.0-3_amd64.deb ... Unpacking libcompiler-libs-ocaml-dev (5.2.0-3) ... Selecting previously unselected package ocaml-interp. Preparing to unpack .../24-ocaml-interp_5.2.0-3_amd64.deb ... Unpacking ocaml-interp (5.2.0-3) ... Selecting previously unselected package libncurses6:amd64. Preparing to unpack .../25-libncurses6_6.5-2_amd64.deb ... Unpacking libncurses6:amd64 (6.5-2) ... Selecting previously unselected package libncurses-dev:amd64. Preparing to unpack .../26-libncurses-dev_6.5-2_amd64.deb ... Unpacking libncurses-dev:amd64 (6.5-2) ... Selecting previously unselected package libzstd-dev:amd64. Preparing to unpack .../27-libzstd-dev_1.5.6+dfsg-1_amd64.deb ... Unpacking libzstd-dev:amd64 (1.5.6+dfsg-1) ... Selecting previously unselected package ocaml. Preparing to unpack .../28-ocaml_5.2.0-3_amd64.deb ... Unpacking ocaml (5.2.0-3) ... Selecting previously unselected package ocaml-findlib. Preparing to unpack .../29-ocaml-findlib_1.9.6-3_amd64.deb ... Unpacking ocaml-findlib (1.9.6-3) ... Selecting previously unselected package coq. Preparing to unpack .../30-coq_8.19.1+dfsg-3+b2_amd64.deb ... Unpacking coq (8.19.1+dfsg-3+b2) ... Selecting previously unselected package libdebhelper-perl. Preparing to unpack .../31-libdebhelper-perl_13.20_all.deb ... Unpacking libdebhelper-perl (13.20) ... Selecting previously unselected package libtool. Preparing to unpack .../32-libtool_2.4.7-7_all.deb ... Unpacking libtool (2.4.7-7) ... Selecting previously unselected package dh-autoreconf. Preparing to unpack .../33-dh-autoreconf_20_all.deb ... Unpacking dh-autoreconf (20) ... Selecting previously unselected package libarchive-zip-perl. Preparing to unpack .../34-libarchive-zip-perl_1.68-1_all.deb ... Unpacking libarchive-zip-perl (1.68-1) ... Selecting previously unselected package libfile-stripnondeterminism-perl. Preparing to unpack .../35-libfile-stripnondeterminism-perl_1.14.0-1_all.deb ... Unpacking libfile-stripnondeterminism-perl (1.14.0-1) ... Selecting previously unselected package dh-strip-nondeterminism. Preparing to unpack .../36-dh-strip-nondeterminism_1.14.0-1_all.deb ... Unpacking dh-strip-nondeterminism (1.14.0-1) ... Selecting previously unselected package libelf1t64:amd64. Preparing to unpack .../37-libelf1t64_0.191-2_amd64.deb ... Unpacking libelf1t64:amd64 (0.191-2) ... Selecting previously unselected package dwz. Preparing to unpack .../38-dwz_0.15-1+b1_amd64.deb ... Unpacking dwz (0.15-1+b1) ... Selecting previously unselected package libicu72:amd64. Preparing to unpack .../39-libicu72_72.1-5_amd64.deb ... Unpacking libicu72:amd64 (72.1-5) ... Selecting previously unselected package libxml2:amd64. Preparing to unpack .../40-libxml2_2.12.7+dfsg+really2.9.14-0.1_amd64.deb ... Unpacking libxml2:amd64 (2.12.7+dfsg+really2.9.14-0.1) ... Selecting previously unselected package gettext. Preparing to unpack .../41-gettext_0.22.5-2_amd64.deb ... Unpacking gettext (0.22.5-2) ... Selecting previously unselected package intltool-debian. Preparing to unpack .../42-intltool-debian_0.35.0+20060710.6_all.deb ... Unpacking intltool-debian (0.35.0+20060710.6) ... Selecting previously unselected package po-debconf. Preparing to unpack .../43-po-debconf_1.0.21+nmu1_all.deb ... Unpacking po-debconf (1.0.21+nmu1) ... Selecting previously unselected package debhelper. Preparing to unpack .../44-debhelper_13.20_all.deb ... Unpacking debhelper (13.20) ... Selecting previously unselected package dh-coq. Preparing to unpack .../45-dh-coq_0.11_all.deb ... Unpacking dh-coq (0.11) ... Selecting previously unselected package libconfig-tiny-perl. Preparing to unpack .../46-libconfig-tiny-perl_2.30-1_all.deb ... Unpacking libconfig-tiny-perl (2.30-1) ... Selecting previously unselected package dh-ocaml. Preparing to unpack .../47-dh-ocaml_2.4_all.deb ... Unpacking dh-ocaml (2.4) ... Selecting previously unselected package libfindlib-ocaml-dev. Preparing to unpack .../48-libfindlib-ocaml-dev_1.9.6-3_amd64.deb ... Unpacking libfindlib-ocaml-dev (1.9.6-3) ... Selecting previously unselected package libgmpxx4ldbl:amd64. Preparing to unpack .../49-libgmpxx4ldbl_2%3a6.3.0+dfsg-2+b1_amd64.deb ... Unpacking libgmpxx4ldbl:amd64 (2:6.3.0+dfsg-2+b1) ... Selecting previously unselected package libgmp-dev:amd64. Preparing to unpack .../50-libgmp-dev_2%3a6.3.0+dfsg-2+b1_amd64.deb ... Unpacking libgmp-dev:amd64 (2:6.3.0+dfsg-2+b1) ... Selecting previously unselected package libgmp3-dev:amd64. Preparing to unpack .../51-libgmp3-dev_2%3a6.3.0+dfsg-2+b1_amd64.deb ... Unpacking libgmp3-dev:amd64 (2:6.3.0+dfsg-2+b1) ... Selecting previously unselected package libzarith-ocaml-dev. Preparing to unpack .../52-libzarith-ocaml-dev_1.14-1_amd64.deb ... Unpacking libzarith-ocaml-dev (1.14-1) ... Selecting previously unselected package libcoq-core-ocaml-dev. Preparing to unpack .../53-libcoq-core-ocaml-dev_8.19.1+dfsg-3+b2_amd64.deb ... Unpacking libcoq-core-ocaml-dev (8.19.1+dfsg-3+b2) ... Selecting previously unselected package libsexplib0-ocaml. Preparing to unpack .../54-libsexplib0-ocaml_0.17.0-1_amd64.deb ... Unpacking libsexplib0-ocaml (0.17.0-1) ... Selecting previously unselected package libppx-deriving-ocaml. Preparing to unpack .../55-libppx-deriving-ocaml_6.0.3-1_amd64.deb ... Unpacking libppx-deriving-ocaml (6.0.3-1) ... Selecting previously unselected package libelpi-ocaml. Preparing to unpack .../56-libelpi-ocaml_1.18.2-5+b5_amd64.deb ... Unpacking libelpi-ocaml (1.18.2-5+b5) ... Selecting previously unselected package libmenhir-ocaml-dev. Preparing to unpack .../57-libmenhir-ocaml-dev_20240715+ds-1_amd64.deb ... Unpacking libmenhir-ocaml-dev (20240715+ds-1) ... Selecting previously unselected package libocaml-compiler-libs-ocaml-dev. Preparing to unpack .../58-libocaml-compiler-libs-ocaml-dev_0.17.0-1_amd64.deb ... Unpacking libocaml-compiler-libs-ocaml-dev (0.17.0-1) ... Selecting previously unselected package libppx-derivers-ocaml-dev. Preparing to unpack .../59-libppx-derivers-ocaml-dev_1.2.1-4+b2_amd64.deb ... Unpacking libppx-derivers-ocaml-dev (1.2.1-4+b2) ... Selecting previously unselected package libsexplib0-ocaml-dev. Preparing to unpack .../60-libsexplib0-ocaml-dev_0.17.0-1_amd64.deb ... Unpacking libsexplib0-ocaml-dev (0.17.0-1) ... Selecting previously unselected package libppxlib-ocaml-dev. Preparing to unpack .../61-libppxlib-ocaml-dev_0.33.0-2_amd64.deb ... Unpacking libppxlib-ocaml-dev (0.33.0-2) ... Selecting previously unselected package libppx-deriving-ocaml-dev. Preparing to unpack .../62-libppx-deriving-ocaml-dev_6.0.3-1_amd64.deb ... Unpacking libppx-deriving-ocaml-dev (6.0.3-1) ... Selecting previously unselected package libre-ocaml-dev. Preparing to unpack .../63-libre-ocaml-dev_1.12.0+really1.11.0-1_amd64.deb ... Unpacking libre-ocaml-dev (1.12.0+really1.11.0-1) ... Selecting previously unselected package libelpi-ocaml-dev. Preparing to unpack .../64-libelpi-ocaml-dev_1.18.2-5+b5_amd64.deb ... Unpacking libelpi-ocaml-dev (1.18.2-5+b5) ... Setting up media-types (10.1.0) ... Setting up libpipeline1:amd64 (1.5.8-1) ... Setting up libkeyutils1:amd64 (1.6.3-3) ... Setting up libicu72:amd64 (72.1-5) ... Setting up libzstd-dev:amd64 (1.5.6+dfsg-1) ... Setting up bsdextrautils (2.40.2-9) ... Setting up libmagic-mgc (1:5.45-3) ... Setting up dh-coq (0.11) ... Setting up libarchive-zip-perl (1.68-1) ... Setting up libtirpc-common (1.3.4+ds-1.3) ... Setting up libdebhelper-perl (13.20) ... Setting up libmagic1t64:amd64 (1:5.45-3) ... Setting up gettext-base (0.22.5-2) ... Setting up m4 (1.4.19-4) ... Setting up libcom-err2:amd64 (1.47.1-1) ... Setting up file (1:5.45-3) ... Setting up libconfig-tiny-perl (2.30-1) ... Setting up libelf1t64:amd64 (0.191-2) ... Setting up libkrb5support0:amd64 (1.21.3-3) ... Setting up tzdata (2024a-4) ... Current default time zone: 'Etc/UTC' Local time is now: Thu Oct 24 10:48:38 UTC 2024. Universal Time is now: Thu Oct 24 10:48:38 UTC 2024. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up autotools-dev (20220109.1) ... Setting up libcoq-stdlib (8.19.1+dfsg-3+b2) ... Setting up libgmpxx4ldbl:amd64 (2:6.3.0+dfsg-2+b1) ... Setting up libncurses6:amd64 (6.5-2) ... Setting up libstdlib-ocaml (5.2.0-3) ... Setting up autopoint (0.22.5-2) ... Setting up ocaml-base (5.2.0-3) ... Setting up libk5crypto3:amd64 (1.21.3-3) ... Setting up autoconf (2.72-3) ... Setting up libsexplib0-ocaml (0.17.0-1) ... Setting up dwz (0.15-1+b1) ... Setting up sensible-utils (0.0.24) ... Setting up libuchardet0:amd64 (0.0.8-1+b1) ... Setting up netbase (6.4) ... Setting up libkrb5-3:amd64 (1.21.3-3) ... Setting up readline-common (8.2-5) ... Setting up libxml2:amd64 (2.12.7+dfsg+really2.9.14-0.1) ... Setting up automake (1:1.16.5-1.3) ... update-alternatives: using /usr/bin/automake-1.16 to provide /usr/bin/automake (automake) in auto mode Setting up libfile-stripnondeterminism-perl (1.14.0-1) ... Setting up libppx-deriving-ocaml (6.0.3-1) ... Setting up libncurses-dev:amd64 (6.5-2) ... Setting up gettext (0.22.5-2) ... Setting up libgmp-dev:amd64 (2:6.3.0+dfsg-2+b1) ... Setting up libtool (2.4.7-7) ... Setting up libstdlib-ocaml-dev (5.2.0-3) ... Setting up dh-ocaml (2.4) ... Setting up libfindlib-ocaml (1.9.6-3) ... Setting up libzarith-ocaml (1.14-1) ... Setting up intltool-debian (0.35.0+20060710.6) ... Setting up dh-autoreconf (20) ... Setting up libcompiler-libs-ocaml-dev (5.2.0-3) ... Setting up ocaml-interp (5.2.0-3) ... Setting up ocaml-findlib (1.9.6-3) ... Setting up libgssapi-krb5-2:amd64 (1.21.3-3) ... Setting up libreadline8t64:amd64 (8.2-5) ... Setting up dh-strip-nondeterminism (1.14.0-1) ... Setting up libelpi-ocaml (1.18.2-5+b5) ... Setting up libcoq-core-ocaml (8.19.1+dfsg-3+b2) ... Setting up groff-base (1.23.0-5) ... Setting up libgmp3-dev:amd64 (2:6.3.0+dfsg-2+b1) ... Setting up libtirpc3t64:amd64 (1.3.4+ds-1.3) ... Setting up po-debconf (1.0.21+nmu1) ... Setting up ocaml (5.2.0-3) ... Setting up man-db (2.13.0-1) ... Not building database; man-db/auto-update is not 'true'. Setting up libre-ocaml-dev (1.12.0+really1.11.0-1) ... Setting up libmenhir-ocaml-dev (20240715+ds-1) ... Setting up libocaml-compiler-libs-ocaml-dev (0.17.0-1) ... Setting up libfindlib-ocaml-dev (1.9.6-3) ... Setting up libsexplib0-ocaml-dev (0.17.0-1) ... Setting up libnsl2:amd64 (1.3.0-3+b2) ... Setting up libzarith-ocaml-dev (1.14-1) ... Setting up libppx-derivers-ocaml-dev (1.2.1-4+b2) ... Setting up libpython3.12-stdlib:amd64 (3.12.6-1) ... Setting up python3.12 (3.12.6-1) ... Setting up libppxlib-ocaml-dev (0.33.0-2) ... Setting up debhelper (13.20) ... Setting up libppx-deriving-ocaml-dev (6.0.3-1) ... Setting up libpython3-stdlib:amd64 (3.12.6-1) ... Setting up python3 (3.12.6-1) ... Setting up libelpi-ocaml-dev (1.18.2-5+b5) ... Setting up coq (8.19.1+dfsg-3+b2) ... Setting up libcoq-core-ocaml-dev (8.19.1+dfsg-3+b2) ... Processing triggers for libc-bin (2.40-3) ... Reading package lists... Building dependency tree... Reading state information... Reading extended state information... Initializing package states... Writing extended state information... Building tag database... -> Finished parsing the build-deps I: Building the package I: user script /srv/workspace/pbuilder/3256756/tmp/hooks/A99_set_merged_usr starting Not re-configuring usrmerge for trixie I: user script /srv/workspace/pbuilder/3256756/tmp/hooks/A99_set_merged_usr finished hostname: Name or service not known I: Running cd /build/reproducible-path/coq-elpi-2.1.0/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-genchanges -S > ../coq-elpi_2.1.0-1_source.changes dpkg-buildpackage: info: source package coq-elpi dpkg-buildpackage: info: source version 2.1.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 ocaml,coq debian/rules override_dh_auto_clean make[1]: Entering directory '/build/reproducible-path/coq-elpi-2.1.0' /usr/bin/make clean make[2]: Entering directory '/build/reproducible-path/coq-elpi-2.1.0' Using coq found in /usr/bin, from COQBIN or PATH echo "(* Automatically generated from elpi/coq-HOAS.elpi, don't edit *)" > src/coq_elpi_builtins_HOAS.ml echo "(* Regenerate via 'make src/coq_elpi_builtins_HOAS.ml' *)" >> src/coq_elpi_builtins_HOAS.ml echo "let code = {|" >> src/coq_elpi_builtins_HOAS.ml cat elpi/coq-HOAS.elpi >> src/coq_elpi_builtins_HOAS.ml echo "|}" >> src/coq_elpi_builtins_HOAS.ml echo "let elpi_dir = \"/usr/lib/x86_64-linux-gnu/ocaml/5.2.0/elpi\";;" > src/coq_elpi_config.ml COQDEP VFILES COQPP src/coq_elpi_vernacular_syntax.mlg COQPP src/coq_elpi_arg_syntax.mlg CAMLDEP src/coq_elpi_builtins.mli CAMLDEP src/coq_elpi_builtins_synterp.mli CAMLDEP src/coq_elpi_arg_HOAS.mli CAMLDEP src/coq_elpi_glob_quotation.mli CAMLDEP src/coq_elpi_HOAS.mli CAMLDEP src/coq_elpi_utils.mli CAMLDEP src/coq_elpi_programs.mli CAMLDEP src/coq_elpi_vernacular.mli CAMLDEP src/coq_elpi_graph.mli OCAMLLIBDEP src/elpi_plugin.mlpack CAMLDEP src/coq_elpi_config.ml CAMLDEP src/coq_elpi_builtins.ml CAMLDEP src/coq_elpi_builtins_synterp.ml CAMLDEP src/coq_elpi_builtins_HOAS.ml CAMLDEP src/coq_elpi_builtins_arg_HOAS.ml CAMLDEP src/coq_elpi_arg_HOAS.ml CAMLDEP src/coq_elpi_glob_quotation.ml CAMLDEP src/coq_elpi_name_quotation.ml CAMLDEP src/coq_elpi_HOAS.ml CAMLDEP src/coq_elpi_utils.ml CAMLDEP src/coq_elpi_programs.ml CAMLDEP src/coq_elpi_vernacular.ml CAMLDEP src/coq_elpi_graph.ml CAMLDEP src/coq_elpi_arg_syntax.ml CAMLDEP src/coq_elpi_vernacular_syntax.ml FILL .merlin echo "S /usr/lib/x86_64-linux-gnu/ocaml/5.2.0/elpi" >> .merlin echo "B /usr/lib/x86_64-linux-gnu/ocaml/5.2.0/elpi" >> .merlin if [ "/usr/lib/x86_64-linux-gnu/ocaml/5.2.0/elpi" != "elpi/findlib/elpi" ]; then\ echo "PKG elpi" >> .merlin;\ fi Using coq found in /usr/bin, from COQBIN or PATH make[3]: Entering directory '/build/reproducible-path/coq-elpi-2.1.0' make[3]: /usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq: Permission denied make[3]: /usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq: Permission denied make[3]: /usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq: Permission denied CLEAN make[3]: Leaving directory '/build/reproducible-path/coq-elpi-2.1.0' make[3]: Entering directory '/build/reproducible-path/coq-elpi-2.1.0' make[3]: /usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq: Permission denied make[3]: /usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq: Permission denied make[3]: /usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq: Permission denied CLEAN make[3]: Leaving directory '/build/reproducible-path/coq-elpi-2.1.0' make[3]: Entering directory '/build/reproducible-path/coq-elpi-2.1.0/apps/derive' Using coq found in /usr/bin//, from COQBIN or PATH Warning: ../../theories (used in -R or -Q) is not a subdirectory of the current directory COQDEP VFILES FILL .merlin Warning: ../../theories (used in -R or -Q) is not a subdirectory of the current directory make[4]: Entering directory '/build/reproducible-path/coq-elpi-2.1.0/apps/derive' make[4]: /usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq: Permission denied make[4]: /usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq: Permission denied make[4]: /usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq: Permission denied CLEAN make[4]: Leaving directory '/build/reproducible-path/coq-elpi-2.1.0/apps/derive' make[4]: Entering directory '/build/reproducible-path/coq-elpi-2.1.0/apps/derive' make[4]: /usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq: Permission denied make[4]: /usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq: Permission denied make[4]: /usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq: Permission denied CLEAN make[4]: Leaving directory '/build/reproducible-path/coq-elpi-2.1.0/apps/derive' make[3]: Leaving directory '/build/reproducible-path/coq-elpi-2.1.0/apps/derive' make[3]: Entering directory '/build/reproducible-path/coq-elpi-2.1.0/apps/eltac' Using coq found in /usr/bin//, from COQBIN or PATH Warning: ../../theories (used in -R or -Q) is not a subdirectory of the current directory COQDEP VFILES FILL .merlin Warning: ../../theories (used in -R or -Q) is not a subdirectory of the current directory make[4]: Entering directory '/build/reproducible-path/coq-elpi-2.1.0/apps/eltac' make[4]: /usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq: Permission denied make[4]: /usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq: Permission denied make[4]: /usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq: Permission denied CLEAN make[4]: Leaving directory '/build/reproducible-path/coq-elpi-2.1.0/apps/eltac' make[4]: Entering directory '/build/reproducible-path/coq-elpi-2.1.0/apps/eltac' make[4]: /usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq: Permission denied make[4]: /usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq: Permission denied make[4]: /usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq: Permission denied CLEAN make[4]: Leaving directory '/build/reproducible-path/coq-elpi-2.1.0/apps/eltac' make[3]: Leaving directory '/build/reproducible-path/coq-elpi-2.1.0/apps/eltac' make[3]: Entering directory '/build/reproducible-path/coq-elpi-2.1.0/apps/NES' Using coq found in /usr/bin//, from COQBIN or PATH Warning: ../../theories (used in -R or -Q) is not a subdirectory of the current directory COQDEP VFILES FILL .merlin Warning: ../../theories (used in -R or -Q) is not a subdirectory of the current directory make[4]: Entering directory '/build/reproducible-path/coq-elpi-2.1.0/apps/NES' make[4]: /usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq: Permission denied make[4]: /usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq: Permission denied make[4]: /usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq: Permission denied CLEAN make[4]: Leaving directory '/build/reproducible-path/coq-elpi-2.1.0/apps/NES' make[4]: Entering directory '/build/reproducible-path/coq-elpi-2.1.0/apps/NES' make[4]: /usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq: Permission denied make[4]: /usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq: Permission denied make[4]: /usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq: Permission denied CLEAN make[4]: Leaving directory '/build/reproducible-path/coq-elpi-2.1.0/apps/NES' make[3]: Leaving directory '/build/reproducible-path/coq-elpi-2.1.0/apps/NES' make[3]: Entering directory '/build/reproducible-path/coq-elpi-2.1.0/apps/locker' Using coq found in /usr/bin//, from COQBIN or PATH Warning: ../../theories (used in -R or -Q) is not a subdirectory of the current directory COQDEP VFILES FILL .merlin Warning: ../../theories (used in -R or -Q) is not a subdirectory of the current directory make[4]: Entering directory '/build/reproducible-path/coq-elpi-2.1.0/apps/locker' make[4]: /usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq: Permission denied make[4]: /usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq: Permission denied make[4]: /usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq: Permission denied CLEAN make[4]: Leaving directory '/build/reproducible-path/coq-elpi-2.1.0/apps/locker' make[4]: Entering directory '/build/reproducible-path/coq-elpi-2.1.0/apps/locker' make[4]: /usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq: Permission denied make[4]: /usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq: Permission denied make[4]: /usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq: Permission denied CLEAN make[4]: Leaving directory '/build/reproducible-path/coq-elpi-2.1.0/apps/locker' make[3]: Leaving directory '/build/reproducible-path/coq-elpi-2.1.0/apps/locker' make[3]: Entering directory '/build/reproducible-path/coq-elpi-2.1.0/apps/coercion' Using coq found in /usr/bin//, from COQBIN or PATH Warning: ../../theories (used in -R or -Q) is not a subdirectory of the current directory COQDEP VFILES COQPP src/coq_elpi_coercion_hook.mlg OCAMLLIBDEP src/elpi_coercion_plugin.mlpack CAMLDEP src/coq_elpi_coercion_hook.ml FILL .merlin Warning: ../../theories (used in -R or -Q) is not a subdirectory of the current directory make[4]: Entering directory '/build/reproducible-path/coq-elpi-2.1.0/apps/coercion' make[4]: /usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq: Permission denied make[4]: /usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq: Permission denied make[4]: /usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq: Permission denied CLEAN make[4]: Leaving directory '/build/reproducible-path/coq-elpi-2.1.0/apps/coercion' make[4]: Entering directory '/build/reproducible-path/coq-elpi-2.1.0/apps/coercion' make[4]: /usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq: Permission denied make[4]: /usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq: Permission denied make[4]: /usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq: Permission denied CLEAN make[4]: Leaving directory '/build/reproducible-path/coq-elpi-2.1.0/apps/coercion' make[3]: Leaving directory '/build/reproducible-path/coq-elpi-2.1.0/apps/coercion' make[3]: Entering directory '/build/reproducible-path/coq-elpi-2.1.0/apps/cs' Using coq found in /usr/bin//, from COQBIN or PATH Warning: ../../theories (used in -R or -Q) is not a subdirectory of the current directory COQDEP VFILES COQPP src/coq_elpi_cs_hook.mlg OCAMLLIBDEP src/elpi_cs_plugin.mlpack CAMLDEP src/evarconv_hacked.ml CAMLDEP src/coq_elpi_cs_hook.ml FILL .merlin Warning: ../../theories (used in -R or -Q) is not a subdirectory of the current directory make[4]: Entering directory '/build/reproducible-path/coq-elpi-2.1.0/apps/cs' make[4]: /usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq: Permission denied make[4]: /usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq: Permission denied make[4]: /usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq: Permission denied CLEAN make[4]: Leaving directory '/build/reproducible-path/coq-elpi-2.1.0/apps/cs' make[4]: Entering directory '/build/reproducible-path/coq-elpi-2.1.0/apps/cs' make[4]: /usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq: Permission denied make[4]: /usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq: Permission denied make[4]: /usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq: Permission denied CLEAN make[4]: Leaving directory '/build/reproducible-path/coq-elpi-2.1.0/apps/cs' make[3]: Leaving directory '/build/reproducible-path/coq-elpi-2.1.0/apps/cs' make[3]: Entering directory '/build/reproducible-path/coq-elpi-2.1.0/apps/tc' Using coq found in /usr/bin//, from COQBIN or PATH Warning: ../../theories (used in -R or -Q) is not a subdirectory of the current directory COQDEP VFILES COQPP src/coq_elpi_tc_hook.mlg OCAMLLIBDEP src/elpi_tc_plugin.mlpack CAMLDEP src/coq_elpi_class_tactics_hacked.ml CAMLDEP src/coq_elpi_class_tactics_takeover.ml CAMLDEP src/coq_elpi_tc_register.ml CAMLDEP src/coq_elpi_tc_hook.ml FILL .merlin Warning: ../../theories (used in -R or -Q) is not a subdirectory of the current directory make[4]: Entering directory '/build/reproducible-path/coq-elpi-2.1.0/apps/tc' make[4]: /usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq: Permission denied make[4]: /usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq: Permission denied make[4]: /usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq: Permission denied CLEAN make[4]: Leaving directory '/build/reproducible-path/coq-elpi-2.1.0/apps/tc' make[4]: Entering directory '/build/reproducible-path/coq-elpi-2.1.0/apps/tc' make[4]: /usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq: Permission denied make[4]: /usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq: Permission denied make[4]: /usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq: Permission denied CLEAN make[4]: Leaving directory '/build/reproducible-path/coq-elpi-2.1.0/apps/tc' make[3]: Leaving directory '/build/reproducible-path/coq-elpi-2.1.0/apps/tc' make[2]: Leaving directory '/build/reproducible-path/coq-elpi-2.1.0' rm -f src/coq_elpi_builtins_HOAS.ml src/coq_elpi_config.ml rm -f tests/test_glob/coqdoc.css find . -name "*.aux" -delete find . -name "*.html" -delete find . -name "*.txt" -delete find . -name .merlin -delete find . -name "Makefile*conf" -delete find . -name "Makefile*coq" -delete make[1]: Leaving directory '/build/reproducible-path/coq-elpi-2.1.0' dh_ocamlclean dh_clean debian/rules binary dh binary --with ocaml,coq dh_update_autotools_config dh_autoreconf dh_ocamlinit dh_auto_configure debian/rules override_dh_auto_build make[1]: Entering directory '/build/reproducible-path/coq-elpi-2.1.0' /usr/bin/make build OCAMLWARN= make[2]: Entering directory '/build/reproducible-path/coq-elpi-2.1.0' Using coq found in /usr/bin, from COQBIN or PATH echo "(* Automatically generated from elpi/coq-HOAS.elpi, don't edit *)" > src/coq_elpi_builtins_HOAS.ml echo "(* Regenerate via 'make src/coq_elpi_builtins_HOAS.ml' *)" >> src/coq_elpi_builtins_HOAS.ml echo "let code = {|" >> src/coq_elpi_builtins_HOAS.ml cat elpi/coq-HOAS.elpi >> src/coq_elpi_builtins_HOAS.ml echo "|}" >> src/coq_elpi_builtins_HOAS.ml echo "let elpi_dir = \"/usr/lib/x86_64-linux-gnu/ocaml/5.2.0/elpi\";;" > src/coq_elpi_config.ml COQDEP VFILES COQPP src/coq_elpi_vernacular_syntax.mlg COQPP src/coq_elpi_arg_syntax.mlg CAMLDEP src/coq_elpi_builtins.mli CAMLDEP src/coq_elpi_builtins_synterp.mli CAMLDEP src/coq_elpi_arg_HOAS.mli CAMLDEP src/coq_elpi_glob_quotation.mli CAMLDEP src/coq_elpi_HOAS.mli CAMLDEP src/coq_elpi_utils.mli CAMLDEP src/coq_elpi_programs.mli CAMLDEP src/coq_elpi_vernacular.mli CAMLDEP src/coq_elpi_graph.mli OCAMLLIBDEP src/elpi_plugin.mlpack CAMLDEP src/coq_elpi_config.ml CAMLDEP src/coq_elpi_builtins.ml CAMLDEP src/coq_elpi_builtins_synterp.ml CAMLDEP src/coq_elpi_builtins_HOAS.ml CAMLDEP src/coq_elpi_builtins_arg_HOAS.ml CAMLDEP src/coq_elpi_arg_HOAS.ml CAMLDEP src/coq_elpi_glob_quotation.ml CAMLDEP src/coq_elpi_name_quotation.ml CAMLDEP src/coq_elpi_HOAS.ml CAMLDEP src/coq_elpi_utils.ml CAMLDEP src/coq_elpi_programs.ml CAMLDEP src/coq_elpi_vernacular.ml CAMLDEP src/coq_elpi_graph.ml CAMLDEP src/coq_elpi_arg_syntax.ml CAMLDEP src/coq_elpi_vernacular_syntax.ml FILL .merlin echo "S /usr/lib/x86_64-linux-gnu/ocaml/5.2.0/elpi" >> .merlin echo "B /usr/lib/x86_64-linux-gnu/ocaml/5.2.0/elpi" >> .merlin if [ "/usr/lib/x86_64-linux-gnu/ocaml/5.2.0/elpi" != "elpi/findlib/elpi" ]; then\ echo "PKG elpi" >> .merlin;\ fi Using coq found in /usr/bin, from COQBIN or PATH ########################## building plugin ########################## CAMLC -c src/coq_elpi_utils.mli CAMLC -c src/coq_elpi_programs.mli CAMLC -c src/coq_elpi_HOAS.mli CAMLC -c src/coq_elpi_builtins_synterp.mli CAMLC -c src/coq_elpi_arg_HOAS.mli CAMLC -c src/coq_elpi_vernacular.mli CAMLC -c src/coq_elpi_glob_quotation.mli CAMLC -c src/coq_elpi_arg_syntax.ml CAMLC -c src/coq_elpi_vernacular_syntax.ml CAMLC -c src/coq_elpi_graph.mli CAMLC -c src/coq_elpi_graph.ml CAMLC -c src/coq_elpi_builtins.mli CAMLC -c src/coq_elpi_vernacular.ml CAMLC -c src/coq_elpi_config.ml CAMLC -c src/coq_elpi_programs.ml CAMLC -c src/coq_elpi_utils.ml CAMLC -c src/coq_elpi_HOAS.ml CAMLC -c src/coq_elpi_name_quotation.ml CAMLC -c src/coq_elpi_glob_quotation.ml CAMLC -c src/coq_elpi_arg_HOAS.ml CAMLC -c src/coq_elpi_builtins_arg_HOAS.ml CAMLC -c src/coq_elpi_builtins_HOAS.ml CAMLC -c src/coq_elpi_builtins_synterp.ml CAMLC -c src/coq_elpi_builtins.ml CAMLC -pack -o src/elpi_plugin.cmo CAMLC -a -o src/elpi_plugin.cma CAMLOPT -c -for-pack Elpi_plugin src/coq_elpi_config.ml CAMLOPT -c -for-pack Elpi_plugin src/coq_elpi_utils.ml CAMLOPT -c -for-pack Elpi_plugin src/coq_elpi_graph.ml CAMLOPT -c -for-pack Elpi_plugin src/coq_elpi_HOAS.ml CAMLOPT -c -for-pack Elpi_plugin src/coq_elpi_glob_quotation.ml CAMLOPT -c -for-pack Elpi_plugin src/coq_elpi_name_quotation.ml CAMLOPT -c -for-pack Elpi_plugin src/coq_elpi_arg_HOAS.ml CAMLOPT -c -for-pack Elpi_plugin src/coq_elpi_arg_syntax.ml CAMLOPT -c -for-pack Elpi_plugin src/coq_elpi_builtins_arg_HOAS.ml CAMLOPT -c -for-pack Elpi_plugin src/coq_elpi_builtins_HOAS.ml CAMLOPT -c -for-pack Elpi_plugin src/coq_elpi_builtins_synterp.ml CAMLOPT -c -for-pack Elpi_plugin src/coq_elpi_builtins.ml CAMLOPT -c -for-pack Elpi_plugin src/coq_elpi_programs.ml CAMLOPT -c -for-pack Elpi_plugin src/coq_elpi_vernacular.ml CAMLOPT -c -for-pack Elpi_plugin src/coq_elpi_vernacular_syntax.ml CAMLOPT -pack -o src/elpi_plugin.cmx CAMLOPT -a -o src/elpi_plugin.cmxa CAMLOPT -shared -o src/elpi_plugin.cmxs COQC theories/elpi.v COQC theories/wip/memoization.v hit app [global (indt «or»), global (indt «False»), global (indt «True»)] hit app [global (indt «or»), global (indt «False»), global (indt «True»)] hit app [global (indt «or»), global (indt «False»), global (indt «True»)] hit app [global (indt «or»), global (indt «False»), global (indt «True»)] hit app [global (indt «or»), global (indt «False»), global (indt «True»)] hit app [global (indt «or»), global (indt «False»), global (indt «True»)] Finished transaction in 0.01 secs (0.01u,0.s) (successful) ########################## building APPS ############################ make[3]: Entering directory '/build/reproducible-path/coq-elpi-2.1.0/apps/derive' Using coq found in /usr/bin//, from COQBIN or PATH Warning: ../../theories (used in -R or -Q) is not a subdirectory of the current directory COQDEP VFILES FILL .merlin COQC theories/derive.v COQC theories/derive/map.v COQC theories/derive/lens.v COQC theories/derive/lens_laws.v File "./theories/derive/lens_laws.v", line 60, characters 2-13: Warning: This command does not support this attribute: phases. [unsupported-attributes,parsing,default] COQC theories/derive/param1.v COQC theories/derive/param1_congr.v File "./theories/derive/param1_congr.v", line 39, characters 2-13: Warning: This command does not support this attribute: phases. [unsupported-attributes,parsing,default] COQC theories/derive/param1_trivial.v File "./theories/derive/param1_trivial.v", line 187, characters 2-13: Warning: This command does not support this attribute: phases. [unsupported-attributes,parsing,default] COQC theories/derive/param1_functor.v File "./theories/derive/param1_functor.v", line 38, characters 2-13: Warning: This command does not support this attribute: phases. [unsupported-attributes,parsing,default] COQC theories/derive/param2.v COQC theories/derive/induction.v File "./theories/derive/induction.v", line 49, characters 2-13: Warning: This command does not support this attribute: phases. [unsupported-attributes,parsing,default] COQC theories/derive/tag.v COQC theories/derive/eqType_ast.v COQC theories/derive/fields.v File "./theories/derive/fields.v", line 56, characters 2-13: Warning: This command does not support this attribute: phases. [unsupported-attributes,parsing,default] COQC theories/derive/eqb_core_defs.v COQC theories/derive/eqb.v File "./theories/derive/eqb.v", line 70, characters 2-13: Warning: This command does not support this attribute: phases. [unsupported-attributes,parsing,default] COQC theories/derive/eqbcorrect.v File "./theories/derive/eqbcorrect.v", line 101, characters 2-13: Warning: This command does not support this attribute: phases. [unsupported-attributes,parsing,default] COQC theories/derive/eqbOK.v File "./theories/derive/eqbOK.v", line 47, characters 2-13: Warning: This command does not support this attribute: phases. [unsupported-attributes,parsing,default] COQC theories/derive/std.v COQC theories/derive/projK.v COQC theories/derive/isK.v COQC theories/derive/eq.v COQC theories/derive/bcongr.v File "./theories/derive/bcongr.v", line 61, characters 2-13: Warning: This command does not support this attribute: phases. [unsupported-attributes,parsing,default] COQC theories/derive/eqK.v File "./theories/derive/eqK.v", line 70, characters 2-13: Warning: This command does not support this attribute: phases. [unsupported-attributes,parsing,default] COQC theories/derive/eqcorrect.v File "./theories/derive/eqcorrect.v", line 59, characters 2-13: Warning: This command does not support this attribute: phases. [unsupported-attributes,parsing,default] COQC theories/derive/eqOK.v File "./theories/derive/eqOK.v", line 49, characters 2-13: Warning: This command does not support this attribute: phases. [unsupported-attributes,parsing,default] COQC theories/derive/legacy.v COQC theories/derive/invert.v COQC theories/derive/idx2inv.v File "./theories/derive/idx2inv.v", line 44, characters 2-13: Warning: This command does not support this attribute: phases. [unsupported-attributes,parsing,default] COQC theories/derive/experimental.v COQC theories/derive/cast.v make[3]: Leaving directory '/build/reproducible-path/coq-elpi-2.1.0/apps/derive' make[3]: Entering directory '/build/reproducible-path/coq-elpi-2.1.0/apps/eltac' Using coq found in /usr/bin//, from COQBIN or PATH Warning: ../../theories (used in -R or -Q) is not a subdirectory of the current directory COQDEP VFILES FILL .merlin COQC theories/assumption.v COQC theories/constructor.v COQC theories/intro.v COQC theories/clear.v COQC theories/fail.v COQC theories/discriminate.v COQC theories/injection.v COQC theories/case.v COQC theories/generalize.v COQC theories/cycle.v COQC theories/tactics.v make[3]: Leaving directory '/build/reproducible-path/coq-elpi-2.1.0/apps/eltac' make[3]: Entering directory '/build/reproducible-path/coq-elpi-2.1.0/apps/NES' Using coq found in /usr/bin//, from COQBIN or PATH Warning: ../../theories (used in -R or -Q) is not a subdirectory of the current directory COQDEP VFILES FILL .merlin COQC theories/NES.v make[3]: Leaving directory '/build/reproducible-path/coq-elpi-2.1.0/apps/NES' make[3]: Entering directory '/build/reproducible-path/coq-elpi-2.1.0/apps/locker' Using coq found in /usr/bin//, from COQBIN or PATH Warning: ../../theories (used in -R or -Q) is not a subdirectory of the current directory COQDEP VFILES FILL .merlin COQC theories/locker.v make[3]: Leaving directory '/build/reproducible-path/coq-elpi-2.1.0/apps/locker' make[3]: Entering directory '/build/reproducible-path/coq-elpi-2.1.0/apps/coercion' Using coq found in /usr/bin//, from COQBIN or PATH Warning: ../../theories (used in -R or -Q) is not a subdirectory of the current directory COQDEP VFILES COQPP src/coq_elpi_coercion_hook.mlg OCAMLLIBDEP src/elpi_coercion_plugin.mlpack CAMLDEP src/coq_elpi_coercion_hook.ml FILL .merlin CAMLOPT -c -for-pack Elpi_coercion_plugin src/coq_elpi_coercion_hook.ml CAMLOPT -pack -o src/elpi_coercion_plugin.cmx CAMLOPT -a -o src/elpi_coercion_plugin.cmxa CAMLOPT -shared -o src/elpi_coercion_plugin.cmxs COQC theories/coercion.v make[3]: Leaving directory '/build/reproducible-path/coq-elpi-2.1.0/apps/coercion' make[3]: Entering directory '/build/reproducible-path/coq-elpi-2.1.0/apps/cs' Using coq found in /usr/bin//, from COQBIN or PATH Warning: ../../theories (used in -R or -Q) is not a subdirectory of the current directory COQDEP VFILES COQPP src/coq_elpi_cs_hook.mlg OCAMLLIBDEP src/elpi_cs_plugin.mlpack CAMLDEP src/evarconv_hacked.ml CAMLDEP src/coq_elpi_cs_hook.ml FILL .merlin CAMLOPT -c -for-pack Elpi_cs_plugin src/evarconv_hacked.ml CAMLOPT -c -for-pack Elpi_cs_plugin src/coq_elpi_cs_hook.ml CAMLOPT -pack -o src/elpi_cs_plugin.cmx CAMLOPT -a -o src/elpi_cs_plugin.cmxa CAMLOPT -shared -o src/elpi_cs_plugin.cmxs COQC theories/cs.v make[3]: Leaving directory '/build/reproducible-path/coq-elpi-2.1.0/apps/cs' make[3]: Entering directory '/build/reproducible-path/coq-elpi-2.1.0/apps/tc' Using coq found in /usr/bin//, from COQBIN or PATH Warning: ../../theories (used in -R or -Q) is not a subdirectory of the current directory COQDEP VFILES COQPP src/coq_elpi_tc_hook.mlg OCAMLLIBDEP src/elpi_tc_plugin.mlpack CAMLDEP src/coq_elpi_class_tactics_hacked.ml CAMLDEP src/coq_elpi_class_tactics_takeover.ml CAMLDEP src/coq_elpi_tc_register.ml CAMLDEP src/coq_elpi_tc_hook.ml FILL .merlin COQC theories/db.v COQC theories/add_commands.v CAMLOPT -c -for-pack Elpi_tc_plugin src/coq_elpi_tc_register.ml CAMLOPT -c -for-pack Elpi_tc_plugin src/coq_elpi_class_tactics_takeover.ml CAMLOPT -c -for-pack Elpi_tc_plugin src/coq_elpi_class_tactics_hacked.ml CAMLOPT -c -for-pack Elpi_tc_plugin src/coq_elpi_tc_hook.ml CAMLOPT -pack -o src/elpi_tc_plugin.cmx CAMLOPT -a -o src/elpi_tc_plugin.cmxa CAMLOPT -shared -o src/elpi_tc_plugin.cmxs COQC theories/tc.v COQC theories/wip.v make[3]: Leaving directory '/build/reproducible-path/coq-elpi-2.1.0/apps/tc' make[2]: Leaving directory '/build/reproducible-path/coq-elpi-2.1.0' make[1]: Leaving directory '/build/reproducible-path/coq-elpi-2.1.0' dh_auto_test make -j20 test make[1]: Entering directory '/build/reproducible-path/coq-elpi-2.1.0' Using coq found in /usr/bin, from COQBIN or PATH ########################## building plugin ########################## make[2]: Nothing to be done for 'bytefiles'. make[4]: Nothing to be done for 'real-all'. ########################## testing plugin ########################## ########################## building APPS ############################ make[2]: Entering directory '/build/reproducible-path/coq-elpi-2.1.0/apps/derive' Using coq found in /usr/bin//, from COQBIN or PATH COQDEP VFILES make[4]: Nothing to be done for 'real-all'. make[2]: Leaving directory '/build/reproducible-path/coq-elpi-2.1.0/apps/derive' make[2]: Entering directory '/build/reproducible-path/coq-elpi-2.1.0/apps/eltac' Using coq found in /usr/bin//, from COQBIN or PATH COQC tests/test_API.v COQC tests/test_API_elaborate.v COQC tests/test_API_typecheck.v COQC tests/test_API_env.v COQC tests/test_API_module.v COQC tests/test_API_section.v COQC tests/test_API_TC_CS.v COQC tests/test_API_arguments.v COQC tests/test_API_notations.v COQC tests/test_HOAS.v COQC tests/test_arg_HOAS.v COQC tests/test_quotation.v COQC tests/test_vernacular1.v COQC tests/test_tactic.v COQC tests/test_ltac.v COQC tests/test_elaborator.v COQC tests/test_ltac3.v COQC tests/test_cache_async.v COQC tests/test_COQ_ELPI_ATTRIBUTES.v make[4]: Nothing to be done for 'real-all'. ?r : Reflexive R : Reflexive R where ?r : [ |- Reflexive R] Query assignments: L = [gref (indt «Empty_set»), gref (const «Empty_set_rect»), gref (const «Empty_set_ind»), gref (const «Empty_set_rec»), gref (const «Empty_set_sind»), gref (indt «unit»), gref (const «unit_rect»), gref (const «unit_ind»), gref (const «unit_rec»), gref (const «unit_sind»), gref (indt «bool»), gref (const «bool_rect»), gref (const «bool_ind»), gref (const «bool_rec»), gref (const «bool_sind»), gref (const «andb»), gref (const «orb»), gref (const «implb»), gref (const «xorb»), gref (const «negb»), gref (const «andb_prop»), gref (const «andb_true_intro»), gref (indt «eq_true»), gref (const «eq_true_rect»), gref (const «eq_true_ind»), gref (const «eq_true_rec»), gref (const «eq_true_sind»), gref (const «is_true»), gref (const «eq_true_ind_r»), gref (const «eq_true_rec_r»), gref (const «eq_true_rect_r»), gref (indt «BoolSpec»), gref (const «BoolSpec_ind»), gref (const «BoolSpec_sind»), gref (indt «nat»), gref (const «nat_rect»), gref (const «nat_ind»), gref (const «nat_rec»), gref (const «nat_sind»), gref (indt «option»), gref (const «option_rect»), gref (const «option_ind»), gref (const «option_rec»), gref (const «option_sind»), gref (const «option_map»), gref (indt «sum»), gref (const «sum_rect»), gref (const «sum_ind»), gref (const «sum_rec»), gref (const «sum_sind»), gref (indt «prod»), gref (const «prod_rect»), gref (const «prod_ind»), gref (const «prod_rec»), gref (const «prod_sind»), gref (const «fst»), gref (const «snd»), gref (const «surjective_pairing»), gref (const «injective_projections»), gref (const «pair_equal_spec»), gref (const «curry»), gref (const «uncurry»), gref (const «rew_pair»), gref (indt «list»), gref (const «list_rect»), gref (const «list_ind»), gref (const «list_rec»), gref (const «list_sind»), gref (const «length»), gref (const «app»), gref (indt «comparison»), gref (const «comparison_rect»), gref (const «comparison_ind»), gref (const «comparison_rec»), gref (const «comparison_sind»), gref (const «comparison_eq_stable»), gref (const «CompOpp»), gref (const «CompOpp_involutive»), gref (const «CompOpp_inj»), gref (const «CompOpp_iff»), gref (indt «CompareSpec»), gref (const «CompareSpec_ind»), gref (const «CompareSpec_sind»), gref (indt «CompareSpecT»), gref (const «CompareSpecT_rect»), gref (const «CompareSpecT_ind»), gref (const «CompareSpecT_rec»), gref (const «CompareSpecT_sind»), gref (const «CompareSpec2Type»), gref (const «CompSpec»), gref (const «CompSpecT»), gref (const «CompSpec2Type»), gref (const «ID»), gref (const «id»), gref (const «IDProp»), gref (const «idProp»)] MP = «Coq.Init.Datatypes» COQC tests/perf_calls.v test2 test1 str hello test1 too many arguments test1 str hello my str Dear test1 too many arguments make[2]: Leaving directory '/build/reproducible-path/coq-elpi-2.1.0/apps/eltac' COQC tests/test_ctx_cache.v make[2]: Entering directory '/build/reproducible-path/coq-elpi-2.1.0/apps/NES' Using coq found in /usr/bin//, from COQBIN or PATH «elpi.tests.test_API_notations.abbr» Query assignments: A = «elpi.tests.test_API_notations.abbr» _uvk_1_ = X0 _uvk_2_ = c0 \ X1 c0 _uvk_3_ = c0 \ c1 \ X2 c0 c1 Syntactic constraints: {c0 c1} : decl c1 `y` (X1 c0), decl c0 `x` X0 ?- evar (X2 c0 c1) (X3 c0 c1) (X2 c0 c1) /* suspended on X2 */ {c0 c1} : decl c1 `y` (X1 c0), decl c0 `x` X0 ?- evar (X4 c0 c1) (sort (typ «elpi.tests.test_API_notations.3»)) (X3 c0 c1) /* suspended on X4, X3 */ {c0} : decl c0 `x` X0 ?- evar (X1 c0) (sort (typ «elpi.tests.test_API_notations.2»)) (X1 c0) /* suspended on X1 */ evar (X0) (sort (typ «elpi.tests.test_API_notations.1»)) (X0) /* suspended on X0 */ Universe constraints: UNIVERSES: {elpi.tests.test_API_notations.3 elpi.tests.test_API_notations.2 elpi.tests.test_API_notations.1} |= ALGEBRAIC UNIVERSES: {} FLEXIBLE UNIVERSES: SORTS: α1 α2 α3 WEAK CONSTRAINTS: Notation abbr _elpi_ctx_entry_2_was_x_ _elpi_ctx_entry_1_ := (_elpi_ctx_entry_2_was_x_ = _elpi_ctx_entry_2_was_x_) Expands to: Notation elpi.tests.test_API_notations.abbr 4 = 4 : Prop elpi.tests.test_API_module.X.i [elpi, tests, test_API_module, X, Y] [elpi, tests, test_API_module, X, Y] Query assignments: L = [gref (indt «X.i»), gref (const «X.i_rect»), gref (const «X.i_ind»), gref (const «X.i_rec»), gref (const «X.i_sind»), gref (const «X.d»), submodule «elpi.tests.test_API_module.X.Y» [gref (indt «X.Y.i»), gref (const «X.Y.i_rect»), gref (const «X.Y.i_ind»), gref (const «X.Y.i_rec»), gref (const «X.Y.i_sind»), gref (const «X.Y.d»)]] MP = «elpi.tests.test_API_module.X» Spilled_1 = [elpi, tests, test_API_module, X, Y] Spilled_2 = [elpi, tests, test_API_module, X, Y] Spilled_3 = elpi.tests.test_API_module.X.Y.i Spilled_4 = elpi.tests.test_API_module.X.i Spilled_5 = elpi.tests.test_API_module.X.i XYi = «X.Y.i» XYr = «X.Y.i_rect» Xi = «X.i» Query assignments: BO = fix `add` 0 (prod `n` (global (indt «nat»)) c0 \ prod `m` (global (indt «nat»)) c1 \ global (indt «nat»)) c0 \ fun `n` (global (indt «nat»)) c1 \ fun `m` (global (indt «nat»)) c2 \ match c1 (fun `n` (global (indt «nat»)) c3 \ global (indt «nat»)) [c2, fun `p` (global (indt «nat»)) c3 \ app [global (indc «S»), app [c0, c3, c2]]] GR = «Nat.add» TY = prod `n` (global (indt «nat»)) c0 \ prod `m` (global (indt «nat»)) c1 \ global (indt «nat») Query assignments: _uvk_16_ = X0 _uvk_17_ = c0 \ X1 c0 _uvk_18_ = c0 \ c1 \ X2 c0 c1 Syntactic constraints: {c0 c1} : decl c1 `y` (X1 c0), decl c0 `x` X0 ?- evar (X2 c0 c1) (X3 c0 c1) (X2 c0 c1) /* suspended on X2 */ {c0 c1} : decl c1 `y` (X1 c0), decl c0 `x` X0 ?- evar (X4 c0 c1) (sort (typ «elpi.tests.test_API_notations.6»)) (X3 c0 c1) /* suspended on X4, X3 */ {c0} : decl c0 `x` X0 ?- evar (X1 c0) (sort (typ «elpi.tests.test_API_notations.5»)) (X1 c0) /* suspended on X1 */ evar (X0) (sort (typ «elpi.tests.test_API_notations.4»)) (X0) /* suspended on X0 */ Universe constraints: UNIVERSES: {elpi.tests.test_API_notations.6 elpi.tests.test_API_notations.5 elpi.tests.test_API_notations.4} |= ALGEBRAIC UNIVERSES: {} FLEXIBLE UNIVERSES: SORTS: α4 α5 α6 WEAK CONSTRAINTS: Notation abbr2 _elpi_ctx_entry_1_was_x_ := (fun H => _elpi_ctx_entry_1_was_x_ = _elpi_ctx_entry_1_was_x_) Expands to: Notation elpi.tests.test_API_notations.abbr2 (fun _ : nat => 2 = 2) 3 : Prop Query assignments: GR = const «myi» myi : Reflexive R : Reflexive R File "./tests/test_tactic.v", line 5, characters 3-155: Warning: Type is linear: name it _Type (discard) or Type_ (fresh variable) [elpi.typecheck,elpi,default] Query assignments: I = «Y.i» ID = j J = «Y.j» MP = «elpi.tests.test_API_module.Y» P = [elpi, tests, test_API_module, Y] Query assignments: E = fun `n` (global (indt «nat»)) c0 \ fun `t` (app [global (const «T2»), c0]) c1 \ fun `x` (app [global (const «f3»), c0, app [global (const «h»), c0, c1]]) c2 \ app [global (const «g3»), c0, app [global (const «h»), c0, c1], app [global (indc «S»), app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]]] TY = prod `n` (global (indt «nat»)) c0 \ prod `t` (app [global (const «T2»), c0]) c1 \ prod `x` (app [global (const «f3»), c0, app [global (const «h»), c0, c1]]) c2 \ global (indt «nat») _uvk_1_ = X0 Universe constraints: UNIVERSES: {elpi.tests.test_API_elaborate.13 elpi.tests.test_API_elaborate.10 elpi.tests.test_API_elaborate.9} |= elpi.tests.test_API_elaborate.13 < elpi.tests.test_API_elaborate.9 Set <= elpi.tests.test_API_elaborate.10 Set <= elpi.tests.test_API_elaborate.13 T2.u0 <= elpi.tests.test_API_elaborate.13 f3.u0 <= elpi.tests.test_API_elaborate.13 ALGEBRAIC UNIVERSES: {elpi.tests.test_API_elaborate.10} FLEXIBLE UNIVERSES: elpi.tests.test_API_elaborate.10 SORTS: α4 := Type α5 := Type WEAK CONSTRAINTS: COQC tests/test_libobject_A.v nabla c1 \ seal (goal [decl c1 `P` (sort prop)] (app [global (const «id»), X0, X1]) (prod `_` c1 c2 \ c1) (app [global (const «id»), prod `_` c1 c2 \ c1, X2 c1]) []) {c0} : decl c0 `x` (global (indt «nat»)) ?- evar (X0 c0) (prod `_` (global (indt «bool»)) c1 \ global (indt «True»)) (X1 c0) /* suspended on X0, X1 */ EVARS: ?X2==[x |- bool -> True] (goal evar) {?Goal} ?X1==[ |- => fun x : nat => ?Goal] (goal evar) SHELF:|| FUTURE GOALS STACK: || Coq-Elpi mapping: RAW: ?X2 <-> c0 \ X0 c0 ELAB: ?X2 <-> X1 {c0} : decl c0 `x` (global (indt «nat»)) ?- evar (X0 c0) (prod `_` (global (indt «bool»)) c1 \ global (indt «True»)) (X1 c0) /* suspended on X0, X1 */ Query assignments: I = const «imp» X2.imp : forall (T : Type) (x : T), x = x -> Prop X2.imp is not universe polymorphic Arguments X2.imp T%type_scope x _ Expands to: Constant elpi.tests.test_API_arguments.X2.imp Query assignments: BO = fix `add` 0 (prod `n` (global (indt «nat»)) c0 \ prod `m` (global (indt «nat»)) c1 \ global (indt «nat»)) c0 \ fun `n` (global (indt «nat»)) c1 \ fun `m` (global (indt «nat»)) c2 \ match c1 (fun `n` (global (indt «nat»)) c3 \ global (indt «nat»)) [c2, fun `p` (global (indt «nat»)) c3 \ app [global (indc «S»), app [c0, c3, c2]]] GR = «Nat.add» TY = prod `n` (global (indt «nat»)) c0 \ prod `m` (global (indt «nat»)) c1 \ global (indt «nat») Query assignments: CA = «a» CB = «b» CC = «c» d : nat d is not universe polymorphic Expands to: Variable d Query assignments: Mp_ta = «elpi.tests.test_API_module.TA» eq_refl : e2 = 3 : e2 = 3 make[4]: Nothing to be done for 'real-all'. fun `H` X0 c0 \ app [global (indt «eq»), X1 c0, fun `x` X2 c1 \ c1, fun `x` X2 c1 \ c1] Query assignments: Spilled_1 = «elpi.tests.test_API_notations.abbr2» T = fun `H` X0 c0 \ app [global (indt «eq»), X1 c0, fun `x` X2 c1 \ c1, fun `x` X2 c1 \ c1] _uvk_31_ = X2 z : nat c2 global (indt «nat») z nat Query assignments: Spilled_1 = c0 \ c1 \ c2 \ nat Spilled_2 = c0 \ c1 \ c2 \ z T = global (indt «nat») make[2]: Leaving directory '/build/reproducible-path/coq-elpi-2.1.0/apps/NES' make[2]: Entering directory '/build/reproducible-path/coq-elpi-2.1.0/apps/locker' Using coq found in /usr/bin//, from COQBIN or PATH Query assignments: GRy = EXN PRINTING: Not_found I = EXN PRINTING: Not_found L = [gref (const «A.z»), gref (const «A.i»)] MP = «elpi.tests.test_API_module.A» MP_TA = «elpi.tests.test_API_module.TA» _uvk_1_ = «A.i.u0» _uvk_2_ = «elpi.tests.test_API_module.11» Universe constraints: UNIVERSES: ALGEBRAIC UNIVERSES: {elpi.tests.test_API_module.11 A.i.u0} FLEXIBLE UNIVERSES: elpi.tests.test_API_module.11 A.i.u0 SORTS: WEAK CONSTRAINTS: Module A : TA := Struct Definition x Module B Definition z Inductive i1 Definition i1_rect Definition i1_ind Definition i1_rec Definition i1_sind Definition i End A.z : nat A.i : Type *** [ A.i : Type ] Query assignments: B = fix `add` 0 (prod `n` (global (indt «nat»)) c0 \ prod `m` (global (indt «nat»)) c1 \ global (indt «nat»)) c0 \ fun `n` (global (indt «nat»)) c1 \ fun `m` (global (indt «nat»)) c2 \ match c1 (fun `n` (global (indt «nat»)) c3 \ global (indt «nat»)) [c2, fun `p` (global (indt «nat»)) c3 \ app [global (indc «S»), app [c0, c3, c2]]] GR = «Nat.add» RB = fix `add` 0 (prod `n` (global (indt «nat»)) c0 \ prod `m` (global (indt «nat»)) c1 \ global (indt «nat»)) c0 \ fun `n` (global (indt «nat»)) c1 \ fun `m` (global (indt «nat»)) c2 \ match c1 (fun `n` (global (indt «nat»)) c3 \ global (indt «nat»)) [c2, fun `p` (global (indt «nat»)) c3 \ app [global (indc «S»), app [c0, c3, c2]]] T = prod `n` (global (indt «nat»)) c0 \ prod `m` (global (indt «nat»)) c1 \ global (indt «nat») TY = prod `n` (global (indt «nat»)) c0 \ prod `m` (global (indt «nat»)) c1 \ global (indt «nat») Syntactic constraints: {c0 c1 c2 c3} : decl c3 `n` (global (indt «nat»)), decl c2 `m` (global (indt «nat»)), decl c1 `n` (global (indt «nat»)), decl c0 `add` (prod `n` (global (indt «nat»)) c1 \ prod `m` (global (indt «nat»)) c2 \ global (indt «nat»)) ?- evar (X0 c0 c1 c2 c3) (sort (typ «elpi.tests.test_elaborator.17»)) (X1 c0 c1 c2 c3) /* suspended on X0, X1 */ Universe constraints: UNIVERSES: {elpi.tests.test_elaborator.23 elpi.tests.test_elaborator.22 elpi.tests.test_elaborator.21 elpi.tests.test_elaborator.20 elpi.tests.test_elaborator.19 elpi.tests.test_elaborator.18 elpi.tests.test_elaborator.17 elpi.tests.test_elaborator.16 elpi.tests.test_elaborator.15 elpi.tests.test_elaborator.14 elpi.tests.test_elaborator.13 elpi.tests.test_elaborator.12 elpi.tests.test_elaborator.11 elpi.tests.test_elaborator.10 elpi.tests.test_elaborator.9 elpi.tests.test_elaborator.8 elpi.tests.test_elaborator.7 elpi.tests.test_elaborator.6 elpi.tests.test_elaborator.5 elpi.tests.test_elaborator.4 elpi.tests.test_elaborator.3 elpi.tests.test_elaborator.2 elpi.tests.test_elaborator.1} |= Set <= elpi.tests.test_elaborator.1 Set <= elpi.tests.test_elaborator.2 Set <= elpi.tests.test_elaborator.3 Set <= elpi.tests.test_elaborator.8 Set <= elpi.tests.test_elaborator.12 Set <= elpi.tests.test_elaborator.16 Set <= elpi.tests.test_elaborator.20 elpi.tests.test_elaborator.1 <= elpi.tests.test_elaborator.6 elpi.tests.test_elaborator.2 <= elpi.tests.test_elaborator.4 elpi.tests.test_elaborator.3 <= elpi.tests.test_elaborator.4 elpi.tests.test_elaborator.4 <= elpi.tests.test_elaborator.5 elpi.tests.test_elaborator.5 <= elpi.tests.test_elaborator.6 elpi.tests.test_elaborator.6 <= elpi.tests.test_elaborator.7 elpi.tests.test_elaborator.8 <= elpi.tests.test_elaborator.10 elpi.tests.test_elaborator.9 <= elpi.tests.test_elaborator.10 elpi.tests.test_elaborator.10 <= elpi.tests.test_elaborator.11 elpi.tests.test_elaborator.12 <= elpi.tests.test_elaborator.14 elpi.tests.test_elaborator.13 <= elpi.tests.test_elaborator.14 elpi.tests.test_elaborator.14 <= elpi.tests.test_elaborator.15 elpi.tests.test_elaborator.16 <= elpi.tests.test_elaborator.18 elpi.tests.test_elaborator.17 <= elpi.tests.test_elaborator.18 elpi.tests.test_elaborator.18 <= elpi.tests.test_elaborator.19 elpi.tests.test_elaborator.20 <= elpi.tests.test_elaborator.22 elpi.tests.test_elaborator.21 <= elpi.tests.test_elaborator.22 elpi.tests.test_elaborator.22 <= elpi.tests.test_elaborator.23 ALGEBRAIC UNIVERSES: {} FLEXIBLE UNIVERSES: SORTS: WEAK CONSTRAINTS: Query assignments: Spilled_1 = «elpi.tests.test_API_notations.abbr2» COQC tests/test_glob.v Query assignments: A = «elpi.tests.test_API_module.a» MP_TA = «elpi.tests.test_API_module.TA» TF = «elpi.tests.test_API_module.TF» COQC tests/test_link_perf.v File "./tests/test_API_TC_CS.v", line 24, characters 0-30: Warning: There is an hint extern in the typeclass db: (*external*) (equiv_rewrite_relation R) [TC.hints,elpi,default] File "./tests/test_API_TC_CS.v", line 24, characters 0-30: Warning: There is an hint extern in the typeclass db: (*external*) (class_apply @flip_StrictOrder) [TC.hints,elpi,default] File "./tests/test_API_TC_CS.v", line 24, characters 0-30: Warning: There is an hint extern in the typeclass db: (*external*) (class_apply @flip_PreOrder) [TC.hints,elpi,default] File "./tests/test_API_TC_CS.v", line 24, characters 0-30: Warning: There is an hint extern in the typeclass db: (*external*) (class_apply @PartialOrder_inverse) [TC.hints,elpi,default] File "./tests/test_API_TC_CS.v", line 24, characters 0-30: Warning: There is an hint extern in the typeclass db: (*external*) (class_apply @subrelation_symmetric) [TC.hints,elpi,default] File "./tests/test_API_TC_CS.v", line 24, characters 0-30: Warning: There is an hint extern in the typeclass db: (*external*) (class_apply @flip_Transitive) [TC.hints,elpi,default] File "./tests/test_API_TC_CS.v", line 24, characters 0-30: Warning: There is an hint extern in the typeclass db: (*external*) (class_apply @flip_Irreflexive) [TC.hints,elpi,default] File "./tests/test_API_TC_CS.v", line 24, characters 0-30: Warning: There is an hint extern in the typeclass db: (*external*) (class_apply @complement_Irreflexive) [TC.hints,elpi,default] File "./tests/test_API_TC_CS.v", line 24, characters 0-30: Warning: There is an hint extern in the typeclass db: (*external*) (class_apply @flip_Asymmetric) [TC.hints,elpi,default] File "./tests/test_API_TC_CS.v", line 24, characters 0-30: Warning: There is an hint extern in the typeclass db: (*external*) (class_apply @irreflexivity) [TC.hints,elpi,default] File "./tests/test_API_TC_CS.v", line 24, characters 0-30: Warning: There is an hint extern in the typeclass db: (*external*) (apply flip_Reflexive) [TC.hints,elpi,default] File "./tests/test_API_TC_CS.v", line 24, characters 0-30: Warning: There is an hint extern in the typeclass db: (*external*) unconvertible [TC.hints,elpi,default] File "./tests/test_API_TC_CS.v", line 24, characters 0-30: Warning: There is an hint extern in the typeclass db: (*external*) (class_apply @flip_Antisymmetric) [TC.hints,elpi,default] File "./tests/test_API_TC_CS.v", line 24, characters 0-30: Warning: There is an hint extern in the typeclass db: (*external*) (class_apply @flip_Symmetric) [TC.hints,elpi,default] File "./tests/test_API_TC_CS.v", line 24, characters 0-30: Warning: There is an hint extern in the typeclass db: (*external*) (class_apply @complement_Symmetric) [TC.hints,elpi,default] Query assignments: L = [tc-instance (const «relation_equivalence_rewrite_relation») (tc-priority-computed 0), tc-instance (const «iff_rewrite_relation») (tc-priority-given 2), tc-instance (const «impl_rewrite_relation») (tc-priority-given 3), tc-instance (const «inverse_impl_rewrite_relation») (tc-priority-given 3), tc-instance (const «Equivalence_PER») (tc-priority-given 10), tc-instance (const «relation_equivalence_equivalence») (tc-priority-computed 0), tc-instance (const «predicate_equivalence_equivalence») (tc-priority-computed 0), tc-instance (const «iff_equivalence») (tc-priority-computed 0), tc-instance (const «eq_equivalence») (tc-priority-given 10), tc-instance (const «relation_implication_preorder») (tc-priority-computed 0), tc-instance (const «predicate_implication_preorder») (tc-priority-computed 0), tc-instance (const «Equivalence_PreOrder») (tc-priority-given 10), tc-instance (const «Bool.Decidable_eq_bool») (tc-priority-computed 0), tc-instance (const «DecidableClass.Decidable_not») (tc-priority-computed 1), tc-instance (const «subrelation_partial_order») (tc-priority-computed 0), tc-instance (const «iff_Transitive») (tc-priority-computed 0), tc-instance (const «impl_Transitive») (tc-priority-computed 0), tc-instance (const «eq_Transitive») (tc-priority-computed 0), tc-instance (const «Equivalence_Transitive») (tc-priority-computed 1), tc-instance (const «StrictOrder_Transitive») (tc-priority-computed 1), tc-instance (const «PreOrder_Transitive») (tc-priority-given 2), tc-instance (const «PER_Transitive») (tc-priority-given 3), tc-instance (const «StrictOrder_Irreflexive») (tc-priority-computed 1), tc-instance (const «StrictOrder_Asymmetric») (tc-priority-computed 1), tc-instance (const «iff_Reflexive») (tc-priority-computed 0), tc-instance (const «impl_Reflexive») (tc-priority-computed 0), tc-instance (const «eq_Reflexive») (tc-priority-computed 0), tc-instance (const «Equivalence_Reflexive») (tc-priority-computed 1), tc-instance (const «PreOrder_Reflexive») (tc-priority-given 2), tc-instance (const «myi») (tc-priority-given 10), tc-instance (const «partial_order_antisym») (tc-priority-computed 2), tc-instance (const «iff_Symmetric») (tc-priority-computed 0), tc-instance (const «neq_Symmetric») (tc-priority-computed 0), tc-instance (const «eq_Symmetric») (tc-priority-computed 0), tc-instance (const «Equivalence_Symmetric») (tc-priority-computed 1), tc-instance (const «PER_Symmetric») (tc-priority-given 3)] Query assignments: BO = fix `add` 0 (prod `n` (global (indt «nat»)) c0 \ prod `m` (global (indt «nat»)) c1 \ global (indt «nat»)) c0 \ fun `n` (global (indt «nat»)) c1 \ fun `m` (global (indt «nat»)) c2 \ match c1 (fun `n` (global (indt «nat»)) c3 \ global (indt «nat»)) [c2, fun `p` (global (indt «nat»)) c3 \ app [global (indc «S»), app [c0, c3, c2]]] GR = «Nat.add» GRNat = indt «nat» GRSucc = indc «S» Nat = global (indt «nat») Succ = global (indc «S») TY = prod `n` (global (indt «nat»)) c0 \ prod `m` (global (indt «nat»)) c1 \ global (indt «nat») COQC tests/test_link_order1.v Query assignments: E = app [global (const «bar»), app [global (indc «S»), app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]], global (const «xxx»)] TY = prop _uvk_4_ = X0 _uvk_5_ = X1 {c0 c1 c2 c3} : decl c3 `w` c0, decl c2 `h` (app [global (indt «eq»), global (indt «nat»), global (const «o»), global (const «m»)]), decl c1 `x` (prod `y` c0 c4 \ sort (typ «elpi.tests.test_tactic.2»)), decl c0 `T` (sort (typ «elpi.tests.test_tactic.1»)) ?- evar (X0 c0 c1 c2 c3) (prod `e` (app [global (indt «eq»), sort (typ «elpi.tests.test_tactic.2»), app [c1, c3], sort (typ «elpi.tests.test_tactic.3»)]) c4 \ prod `j` (app [c1, c3]) c5 \ app [global (indt «ex»), app [c1, c3], fun `a` (app [c1, c3]) c6 \ app [global (indt «eq»), app [c1, c3], c6, c6]]) (X1 c0 c1 c2 c3) /* suspended on X0, X1 */ Goal: n : nat m : nat o := m : nat T : Type x : T -> Type h : o = m w : T ====================== (x w = Type -> x w -> exists a : x w, a = a) {c0 c1 c2 c3} : decl c3 `w` c0, decl c2 `h` (app [global (indt «eq»), global (indt «nat»), global (const «o»), global (const «m»)]), decl c1 `x` (prod `y` c0 c4 \ sort (typ «elpi.tests.test_tactic.2»)), decl c0 `T` (sort (typ «elpi.tests.test_tactic.1»)) ?- evar (X0 c0 c1 c2 c3) (prod `e` (app [global (indt «eq»), sort (typ «elpi.tests.test_tactic.2»), app [c1, c3], sort (typ «elpi.tests.test_tactic.3»)]) c4 \ prod `j` (app [c1, c3]) c5 \ app [global (indt «ex»), app [c1, c3], fun `a` (app [c1, c3]) c6 \ app [global (indt «eq»), app [c1, c3], c6, c6]]) (X1 c0 c1 c2 c3) /* suspended on X0, X1 */ Goal: n : nat m : nat o := m : nat T : Type x : T -> Type h : o = m w : T ====================== (x w = Type -> x w -> exists a : x w, a = a) {c0 c1 c2 c3 c4 c5} : decl c5 `j` (app [c1, c3]), decl c4 `e` (app [global (indt «eq»), sort (typ «elpi.tests.test_tactic.2»), app [c1, c3], sort (typ «elpi.tests.test_tactic.3»)]), decl c3 `w` c0, decl c2 `h` (app [global (indt «eq»), global (indt «nat»), global (const «o»), global (const «m»)]), decl c1 `x` (prod `y` c0 c6 \ sort (typ «elpi.tests.test_tactic.2»)), decl c0 `T` (sort (typ «elpi.tests.test_tactic.1»)) ?- evar (X0 c0 c1 c2 c3 c4 c5) (app [c1, c3]) (X1 c0 c1 c2 c3 c4 c5) /* suspended on X0, X1 */ {c0 c1 c2 c3 c4 c5} : decl c5 `j` (app [c1, c3]), decl c4 `e` (app [global (indt «eq»), sort (typ «elpi.tests.test_tactic.2»), app [c1, c3], sort (typ «elpi.tests.test_tactic.3»)]), decl c3 `w` c0, decl c2 `h` (app [global (indt «eq»), global (indt «nat»), global (const «o»), global (const «m»)]), decl c1 `x` (prod `y` c0 c6 \ sort (typ «elpi.tests.test_tactic.2»)), decl c0 `T` (sort (typ «elpi.tests.test_tactic.1»)) ?- evar (X2 c0 c1 c2 c3 c4 c5) (app [global (indt «eq»), app [c1, c3], X1 c0 c1 c2 c3 c4 c5, X1 c0 c1 c2 c3 c4 c5]) (X3 c0 c1 c2 c3 c4 c5) /* suspended on X2, X3 */ Goal: n : nat m : nat o := m : nat T : Type x : T -> Type h : o = m w : T e : x w = Type j : x w ====================== (?foo = ?foo) Coq version: 8.19.1 = 8 . 19 . 1 Query assignments: MA = 8 MI = 19 P = 1 V = 8.19.1 {c0 c1 c2 c3 c4 c5} : decl c5 `j` (app [c1, c3]), decl c4 `e` (app [global (indt «eq»), sort (typ «elpi.tests.test_tactic.2»), app [c1, c3], sort (typ «elpi.tests.test_tactic.3»)]), decl c3 `w` c0, decl c2 `h` (app [global (indt «eq»), global (indt «nat»), global (const «o»), global (const «m»)]), decl c1 `x` (prod `y` c0 c6 \ sort (typ «elpi.tests.test_tactic.2»)), decl c0 `T` (sort (typ «elpi.tests.test_tactic.1»)) ?- evar (X0 c0 c1 c2 c3 c4 c5) (app [c1, c3]) (X1 c0 c1 c2 c3 c4 c5) /* suspended on X0, X1 */ {c0 c1 c2 c3 c4 c5} : decl c5 `j` (app [c1, c3]), decl c4 `e` (app [global (indt «eq»), sort (typ «elpi.tests.test_tactic.2»), app [c1, c3], sort (typ «elpi.tests.test_tactic.3»)]), decl c3 `w` c0, decl c2 `h` (app [global (indt «eq»), global (indt «nat»), global (const «o»), global (const «m»)]), decl c1 `x` (prod `y` c0 c6 \ sort (typ «elpi.tests.test_tactic.2»)), decl c0 `T` (sort (typ «elpi.tests.test_tactic.1»)) ?- evar (X2 c0 c1 c2 c3 c4 c5) (app [global (indt «eq»), app [c1, c3], X1 c0 c1 c2 c3 c4 c5, X1 c0 c1 c2 c3 c4 c5]) (X3 c0 c1 c2 c3 c4 c5) /* suspended on X2, X3 */ Goal: n : nat m : nat o := m : nat T : Type x : T -> Type h : o = m w : T e : x w = Type j : x w ====================== (?foo = ?foo) ----<<---- enter: coq.say raw: (parameter A1 maximal (sort (typ «elpi.tests.test_arg_HOAS.2»)) c0 \ parameter A2 explicit c0 c1 \ inductive foo1 tt (parameter B1 explicit (sort (typ «elpi.tests.test_arg_HOAS.3»)) c2 \ parameter B2 explicit (sort (typ «elpi.tests.test_arg_HOAS.4»)) c3 \ arity (prod `_` (global (indt «nat»)) c4 \ sort (typ «elpi.tests.test_arg_HOAS.7»))) c2 \ [constructor a_k1 (parameter B1 explicit (sort (typ «elpi.tests.test_arg_HOAS.3»)) c3 \ parameter B2 explicit (sort (typ «elpi.tests.test_arg_HOAS.4»)) c4 \ arity (prod `x` (global (indt «nat»)) c5 \ prod `_` (app [c2, app [global (indt «prod»), c3, c3], c4, app [global (indc «S»), app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]]]) c6 \ app [c2, c3, c4, c5])), constructor a_k2 (parameter B1 explicit (sort (typ «elpi.tests.test_arg_HOAS.3»)) c3 \ parameter B2 explicit (sort (typ «elpi.tests.test_arg_HOAS.4»)) c4 \ arity (prod `_` c0 c5 \ app [c2, c3, c4, app [global (indc «S»), global (indc «O»)]]))]) raw: parameter A1 maximal (sort (typ «elpi.tests.test_arg_HOAS.2»)) c0 \ parameter A2 explicit c0 c1 \ inductive foo1 tt (parameter B1 explicit (sort (typ «elpi.tests.test_arg_HOAS.3»)) c2 \ parameter B2 explicit (sort (typ «elpi.tests.test_arg_HOAS.4»)) c3 \ arity (prod `_` (global (indt «nat»)) c4 \ sort (typ «elpi.tests.test_arg_HOAS.7»))) c2 \ [constructor a_k1 (parameter B1 explicit (sort (typ «elpi.tests.test_arg_HOAS.3»)) c3 \ parameter B2 explicit (sort (typ «elpi.tests.test_arg_HOAS.4»)) c4 \ arity (prod `x` (global (indt «nat»)) c5 \ prod `_` (app [c2, app [global (indt «prod»), c3, c3], c4, app [global (indc «S»), app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]]]) c6 \ app [c2, c3, c4, c5])), constructor a_k2 (parameter B1 explicit (sort (typ «elpi.tests.test_arg_HOAS.3»)) c3 \ parameter B2 explicit (sort (typ «elpi.tests.test_arg_HOAS.4»)) c4 \ arity (prod `_` c0 c5 \ app [c2, c3, c4, app [global (indc «S»), global (indc «O»)]]))] ---->>---- exit: coq.say raw: (parameter A1 maximal (sort (typ «elpi.tests.test_arg_HOAS.2»)) c0 \ parameter A2 explicit c0 c1 \ inductive foo1 tt (parameter B1 explicit (sort (typ «elpi.tests.test_arg_HOAS.3»)) c2 \ parameter B2 explicit (sort (typ «elpi.tests.test_arg_HOAS.4»)) c3 \ arity (prod `_` (global (indt «nat»)) c4 \ sort (typ «elpi.tests.test_arg_HOAS.7»))) c2 \ [constructor a_k1 (parameter B1 explicit (sort (typ «elpi.tests.test_arg_HOAS.3»)) c3 \ parameter B2 explicit (sort (typ «elpi.tests.test_arg_HOAS.4»)) c4 \ arity (prod `x` (global (indt «nat»)) c5 \ prod `_` (app [c2, app [global (indt «prod»), c3, c3], c4, app [global (indc «S»), app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]]]) c6 \ app [c2, c3, c4, c5])), constructor a_k2 (parameter B1 explicit (sort (typ «elpi.tests.test_arg_HOAS.3»)) c3 \ parameter B2 explicit (sort (typ «elpi.tests.test_arg_HOAS.4»)) c4 \ arity (prod `_` c0 c5 \ app [c2, c3, c4, app [global (indc «S»), global (indc «O»)]]))]) ----<<---- enter: std.assert-ok! (coq.typecheck-indt-decl (parameter A1 maximal (sort (typ «elpi.tests.test_arg_HOAS.2»)) c0 \ parameter A2 explicit c0 c1 \ inductive foo1 tt (parameter B1 explicit (sort (typ «elpi.tests.test_arg_HOAS.3»)) c2 \ parameter B2 explicit (sort (typ «elpi.tests.test_arg_HOAS.4»)) c3 \ arity (prod `_` (global (indt «nat»)) c4 \ sort (typ «elpi.tests.test_arg_HOAS.7»))) c2 \ [constructor a_k1 (parameter B1 explicit (sort (typ «elpi.tests.test_arg_HOAS.3»)) c3 \ parameter B2 explicit (sort (typ «elpi.tests.test_arg_HOAS.4»)) c4 \ arity (prod `x` (global (indt «nat»)) c5 \ prod `_` (app [c2, app [global (indt «prod»), c3, c3], c4, app [global (indc «S»), app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]]]) c6 \ app [c2, c3, c4, c5])), constructor a_k2 (parameter B1 explicit (sort (typ «elpi.tests.test_arg_HOAS.3»)) c3 \ parameter B2 explicit (sort (typ «elpi.tests.test_arg_HOAS.4»)) c4 \ arity (prod `_` c0 c5 \ app [c2, c3, c4, app [global (indc «S»), global (indc «O»)]]))])) Illtyped inductive declaration ---->>---- exit: std.assert-ok! (coq.typecheck-indt-decl (parameter A1 maximal (sort (typ «elpi.tests.test_arg_HOAS.2»)) c0 \ parameter A2 explicit c0 c1 \ inductive foo1 tt (parameter B1 explicit (sort (typ «elpi.tests.test_arg_HOAS.3»)) c2 \ parameter B2 explicit (sort (typ «elpi.tests.test_arg_HOAS.4»)) c3 \ arity (prod `_` (global (indt «nat»)) c4 \ sort (typ «elpi.tests.test_arg_HOAS.7»))) c2 \ [constructor a_k1 (parameter B1 explicit (sort (typ «elpi.tests.test_arg_HOAS.3»)) c3 \ parameter B2 explicit (sort (typ «elpi.tests.test_arg_HOAS.4»)) c4 \ arity (prod `x` (global (indt «nat»)) c5 \ prod `_` (app [c2, app [global (indt «prod»), c3, c3], c4, app [global (indc «S»), app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]]]) c6 \ app [c2, c3, c4, c5])), constructor a_k2 (parameter B1 explicit (sort (typ «elpi.tests.test_arg_HOAS.3»)) c3 \ parameter B2 explicit (sort (typ «elpi.tests.test_arg_HOAS.4»)) c4 \ arity (prod `_` c0 c5 \ app [c2, c3, c4, app [global (indc «S»), global (indc «O»)]]))])) Illtyped inductive declaration ----<<---- enter: coq.say typed: (parameter A1 maximal (sort (typ «elpi.tests.test_arg_HOAS.2»)) c0 \ parameter A2 explicit c0 c1 \ inductive foo1 tt (parameter B1 explicit (sort (typ «elpi.tests.test_arg_HOAS.3»)) c2 \ parameter B2 explicit (sort (typ «elpi.tests.test_arg_HOAS.4»)) c3 \ arity (prod `_` (global (indt «nat»)) c4 \ sort (typ «elpi.tests.test_arg_HOAS.7»))) c2 \ [constructor a_k1 (parameter B1 explicit (sort (typ «elpi.tests.test_arg_HOAS.3»)) c3 \ parameter B2 explicit (sort (typ «elpi.tests.test_arg_HOAS.4»)) c4 \ arity (prod `x` (global (indt «nat»)) c5 \ prod `_` (app [c2, app [global (indt «prod»), c3, c3], c4, app [global (indc «S»), app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]]]) c6 \ app [c2, c3, c4, c5])), constructor a_k2 (parameter B1 explicit (sort (typ «elpi.tests.test_arg_HOAS.3»)) c3 \ parameter B2 explicit (sort (typ «elpi.tests.test_arg_HOAS.4»)) c4 \ arity (prod `_` c0 c5 \ app [c2, c3, c4, app [global (indc «S»), global (indc «O»)]]))]) typed: parameter A1 maximal (sort (typ «elpi.tests.test_arg_HOAS.2»)) c0 \ parameter A2 explicit c0 c1 \ inductive foo1 tt (parameter B1 explicit (sort (typ «elpi.tests.test_arg_HOAS.3»)) c2 \ parameter B2 explicit (sort (typ «elpi.tests.test_arg_HOAS.4»)) c3 \ arity (prod `_` (global (indt «nat»)) c4 \ sort (typ «elpi.tests.test_arg_HOAS.7»))) c2 \ [constructor a_k1 (parameter B1 explicit (sort (typ «elpi.tests.test_arg_HOAS.3»)) c3 \ parameter B2 explicit (sort (typ «elpi.tests.test_arg_HOAS.4»)) c4 \ arity (prod `x` (global (indt «nat»)) c5 \ prod `_` (app [c2, app [global (indt «prod»), c3, c3], c4, app [global (indc «S»), app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]]]) c6 \ app [c2, c3, c4, c5])), constructor a_k2 (parameter B1 explicit (sort (typ «elpi.tests.test_arg_HOAS.3»)) c3 \ parameter B2 explicit (sort (typ «elpi.tests.test_arg_HOAS.4»)) c4 \ arity (prod `_` c0 c5 \ app [c2, c3, c4, app [global (indc «S»), global (indc «O»)]]))] ---->>---- exit: coq.say typed: (parameter A1 maximal (sort (typ «elpi.tests.test_arg_HOAS.2»)) c0 \ parameter A2 explicit c0 c1 \ inductive foo1 tt (parameter B1 explicit (sort (typ «elpi.tests.test_arg_HOAS.3»)) c2 \ parameter B2 explicit (sort (typ «elpi.tests.test_arg_HOAS.4»)) c3 \ arity (prod `_` (global (indt «nat»)) c4 \ sort (typ «elpi.tests.test_arg_HOAS.7»))) c2 \ [constructor a_k1 (parameter B1 explicit (sort (typ «elpi.tests.test_arg_HOAS.3»)) c3 \ parameter B2 explicit (sort (typ «elpi.tests.test_arg_HOAS.4»)) c4 \ arity (prod `x` (global (indt «nat»)) c5 \ prod `_` (app [c2, app [global (indt «prod»), c3, c3], c4, app [global (indc «S»), app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]]]) c6 \ app [c2, c3, c4, c5])), constructor a_k2 (parameter B1 explicit (sort (typ «elpi.tests.test_arg_HOAS.3»)) c3 \ parameter B2 explicit (sort (typ «elpi.tests.test_arg_HOAS.4»)) c4 \ arity (prod `_` c0 c5 \ app [c2, c3, c4, app [global (indc «S»), global (indc «O»)]]))]) ----<<---- enter: coq.env.add-indt (parameter A1 maximal (sort (typ «elpi.tests.test_arg_HOAS.2»)) c0 \ parameter A2 explicit c0 c1 \ inductive foo1 tt (parameter B1 explicit (sort (typ «elpi.tests.test_arg_HOAS.3»)) c2 \ parameter B2 explicit (sort (typ «elpi.tests.test_arg_HOAS.4»)) c3 \ arity (prod `_` (global (indt «nat»)) c4 \ sort (typ «elpi.tests.test_arg_HOAS.7»))) c2 \ [constructor a_k1 (parameter B1 explicit (sort (typ «elpi.tests.test_arg_HOAS.3»)) c3 \ parameter B2 explicit (sort (typ «elpi.tests.test_arg_HOAS.4»)) c4 \ arity (prod `x` (global (indt «nat»)) c5 \ prod `_` (app [c2, app [global (indt «prod»), c3, c3], c4, app [global (indc «S»), app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]]]) c6 \ app [c2, c3, c4, c5])), constructor a_k2 (parameter B1 explicit (sort (typ «elpi.tests.test_arg_HOAS.3»)) c3 \ parameter B2 explicit (sort (typ «elpi.tests.test_arg_HOAS.4»)) c4 \ arity (prod `_` c0 c5 \ app [c2, c3, c4, app [global (indc «S»), global (indc «O»)]]))]) X0 ---->>---- exit: coq.env.add-indt (parameter A1 maximal (sort (typ «foo1.u0»)) c0 \ parameter A2 explicit c0 c1 \ inductive foo1 tt (parameter B1 explicit (sort (typ «foo1.u1»)) c2 \ parameter B2 explicit (sort (typ «foo1.u2»)) c3 \ arity (prod `_` (global (indt «nat»)) c4 \ sort (typ «foo1.u3»))) c2 \ [constructor a_k1 (parameter B1 explicit (sort (typ «foo1.u1»)) c3 \ parameter B2 explicit (sort (typ «foo1.u2»)) c4 \ arity (prod `x` (global (indt «nat»)) c5 \ prod `_` (app [c2, app [global (indt «prod»), c3, c3], c4, app [global (indc «S»), app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]]]) c6 \ app [c2, c3, c4, c5])), constructor a_k2 (parameter B1 explicit (sort (typ «foo1.u1»)) c3 \ parameter B2 explicit (sort (typ «foo1.u2»)) c4 \ arity (prod `_` c0 c5 \ app [c2, c3, c4, app [global (indc «S»), global (indc «O»)]]))]) «foo1» foo1 ?A2 ?B1 ?B2 ?n : Type : Type where ?A1 : [ |- Type] ?A2 : [ |- ?A1] ?B1 : [ |- Type] ?B2 : [ |- Type] ?n : [ |- nat] a_k1 ?A2 ?B1 ?B2 3 ?f : foo1 ?A2 ?B1 ?B2 3 : foo1 ?A2 ?B1 ?B2 3 where ?A1 : [ |- Type] ?A2 : [ |- ?A1] ?B1 : [ |- Type] ?B2 : [ |- Type] ?f : [ |- foo1 ?A2 (?B1 * ?B1) ?B2 3] H [nabla c1 \ seal (goal [decl c1 `H` (prod `b` (prod `b` (global (indt «bool»)) c2 \ app [global (indt «eq»), global (indt «bool»), c2, c2]) c2 \ global (indt «True»))] (X0 c1) (prod `b` (global (indt «bool»)) c2 \ app [global (indt «eq»), global (indt «bool»), c2, c2]) (X1 c1) [])] ----<<---- enter: coq.say raw: (parameter A1 maximal X0 c0 \ parameter A2 explicit c0 c1 \ inductive foo1 tt (parameter B1 explicit (sort (typ X1)) c2 \ parameter B2 explicit (sort (typ X2)) c3 \ arity (prod `_` (global (indt «nat»)) c4 \ sort (typ X3))) c2 \ [constructor a_k1 (parameter B1 explicit (sort (typ X4)) c3 \ parameter B2 explicit (sort (typ X5)) c4 \ arity (prod `x` (X6 c0 c1 c2 c3 c4) c5 \ prod `_` (app [c2, app [global (indt «prod»), c3, c3], c4, app [global (indc «S»), app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]]]) c6 \ app [c2, c3, c4, c5])), constructor a_k2 (parameter B1 explicit (sort (typ X7)) c3 \ parameter B2 explicit (sort (typ X8)) c4 \ arity (prod `_` c0 c5 \ app [c2, c3, c4, app [global (indc «S»), global (indc «O»)]]))]) raw: parameter A1 maximal X0 c0 \ parameter A2 explicit c0 c1 \ inductive foo1 tt (parameter B1 explicit (sort (typ X1)) c2 \ parameter B2 explicit (sort (typ X2)) c3 \ arity (prod `_` (global (indt «nat»)) c4 \ sort (typ X3))) c2 \ [constructor a_k1 (parameter B1 explicit (sort (typ X4)) c3 \ parameter B2 explicit (sort (typ X5)) c4 \ arity (prod `x` (X6 c0 c1 c2 c3 c4) c5 \ prod `_` (app [c2, app [global (indt «prod»), c3, c3], c4, app [global (indc «S»), app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]]]) c6 \ app [c2, c3, c4, c5])), constructor a_k2 (parameter B1 explicit (sort (typ X7)) c3 \ parameter B2 explicit (sort (typ X8)) c4 \ arity (prod `_` c0 c5 \ app [c2, c3, c4, app [global (indc «S»), global (indc «O»)]]))] ---->>---- exit: coq.say raw: (parameter A1 maximal X0 c0 \ parameter A2 explicit c0 c1 \ inductive foo1 tt (parameter B1 explicit (sort (typ X1)) c2 \ parameter B2 explicit (sort (typ X2)) c3 \ arity (prod `_` (global (indt «nat»)) c4 \ sort (typ X3))) c2 \ [constructor a_k1 (parameter B1 explicit (sort (typ X4)) c3 \ parameter B2 explicit (sort (typ X5)) c4 \ arity (prod `x` (X6 c0 c1 c2 c3 c4) c5 \ prod `_` (app [c2, app [global (indt «prod»), c3, c3], c4, app [global (indc «S»), app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]]]) c6 \ app [c2, c3, c4, c5])), constructor a_k2 (parameter B1 explicit (sort (typ X7)) c3 \ parameter B2 explicit (sort (typ X8)) c4 \ arity (prod `_` c0 c5 \ app [c2, c3, c4, app [global (indc «S»), global (indc «O»)]]))]) ----<<---- enter: std.assert-ok! (coq.elaborate-indt-decl-skeleton (parameter A1 maximal X0 c0 \ parameter A2 explicit c0 c1 \ inductive foo1 tt (parameter B1 explicit (sort (typ X1)) c2 \ parameter B2 explicit (sort (typ X2)) c3 \ arity (prod `_` (global (indt «nat»)) c4 \ sort (typ X3))) c2 \ [constructor a_k1 (parameter B1 explicit (sort (typ X4)) c3 \ parameter B2 explicit (sort (typ X5)) c4 \ arity (prod `x` (X6 c0 c1 c2 c3 c4) c5 \ prod `_` (app [c2, app [global (indt «prod»), c3, c3], c4, app [global (indc «S»), app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]]]) c6 \ app [c2, c3, c4, c5])), constructor a_k2 (parameter B1 explicit (sort (typ X7)) c3 \ parameter B2 explicit (sort (typ X8)) c4 \ arity (prod `_` c0 c5 \ app [c2, c3, c4, app [global (indc «S»), global (indc «O»)]]))]) X9) Illtyped inductive declaration ---->>---- exit: std.assert-ok! (coq.elaborate-indt-decl-skeleton (parameter A1 maximal X0 c0 \ parameter A2 explicit c0 c1 \ inductive foo1 tt (parameter B1 explicit (sort (typ «elpi.tests.test_arg_HOAS.41»)) c2 \ parameter B2 explicit (sort (typ «elpi.tests.test_arg_HOAS.44»)) c3 \ arity (prod `_` (global (indt «nat»)) c4 \ sort (typ «elpi.tests.test_arg_HOAS.47»))) c2 \ [constructor a_k1 (parameter B1 explicit (sort (typ «elpi.tests.test_arg_HOAS.52»)) c3 \ parameter B2 explicit (sort (typ «elpi.tests.test_arg_HOAS.54»)) c4 \ arity (prod `x` (X6 c0 c1 c2 c3 c4) c5 \ prod `_` (app [c2, app [global (indt «prod»), c3, c3], c4, app [global (indc «S»), app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]]]) c6 \ app [c2, c3, c4, c5])), constructor a_k2 (parameter B1 explicit (sort (typ «elpi.tests.test_arg_HOAS.61»)) c3 \ parameter B2 explicit (sort (typ «elpi.tests.test_arg_HOAS.63»)) c4 \ arity (prod `_` c0 c5 \ app [c2, c3, c4, app [global (indc «S»), global (indc «O»)]]))]) (parameter A1 maximal (sort (typ «elpi.tests.test_arg_HOAS.40»)) c0 \ parameter A2 explicit c0 c1 \ inductive foo1 tt (parameter B1 explicit (sort (typ «elpi.tests.test_arg_HOAS.42»)) c2 \ parameter B2 explicit (sort (typ «elpi.tests.test_arg_HOAS.45»)) c3 \ arity (prod `_` (global (indt «nat»)) c4 \ sort (typ «elpi.tests.test_arg_HOAS.48»))) c2 \ [constructor a_k1 (parameter B1 explicit (sort (typ «elpi.tests.test_arg_HOAS.53»)) c3 \ parameter B2 explicit (sort (typ «elpi.tests.test_arg_HOAS.55»)) c4 \ arity (prod `x` (global (indt «nat»)) c5 \ prod `_` (app [c2, app [global (indt «prod»), c3, c3], c4, app [global (indc «S»), app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]]]) c6 \ app [c2, c3, c4, c5])), constructor a_k2 (parameter B1 explicit (sort (typ «elpi.tests.test_arg_HOAS.62»)) c3 \ parameter B2 explicit (sort (typ «elpi.tests.test_arg_HOAS.64»)) c4 \ arity (prod `_` c0 c5 \ app [c2, c3, c4, app [global (indc «S»), global (indc «O»)]]))])) Illtyped inductive declaration ----<<---- enter: coq.say typed: (parameter A1 maximal (sort (typ «elpi.tests.test_arg_HOAS.40»)) c0 \ parameter A2 explicit c0 c1 \ inductive foo1 tt (parameter B1 explicit (sort (typ «elpi.tests.test_arg_HOAS.42»)) c2 \ parameter B2 explicit (sort (typ «elpi.tests.test_arg_HOAS.45»)) c3 \ arity (prod `_` (global (indt «nat»)) c4 \ sort (typ «elpi.tests.test_arg_HOAS.48»))) c2 \ [constructor a_k1 (parameter B1 explicit (sort (typ «elpi.tests.test_arg_HOAS.53»)) c3 \ parameter B2 explicit (sort (typ «elpi.tests.test_arg_HOAS.55»)) c4 \ arity (prod `x` (global (indt «nat»)) c5 \ prod `_` (app [c2, app [global (indt «prod»), c3, c3], c4, app [global (indc «S»), app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]]]) c6 \ app [c2, c3, c4, c5])), constructor a_k2 (parameter B1 explicit (sort (typ «elpi.tests.test_arg_HOAS.62»)) c3 \ parameter B2 explicit (sort (typ «elpi.tests.test_arg_HOAS.64»)) c4 \ arity (prod `_` c0 c5 \ app [c2, c3, c4, app [global (indc «S»), global (indc «O»)]]))]) typed: parameter A1 maximal (sort (typ «elpi.tests.test_arg_HOAS.40»)) c0 \ parameter A2 explicit c0 c1 \ inductive foo1 tt (parameter B1 explicit (sort (typ «elpi.tests.test_arg_HOAS.42»)) c2 \ parameter B2 explicit (sort (typ «elpi.tests.test_arg_HOAS.45»)) c3 \ arity (prod `_` (global (indt «nat»)) c4 \ sort (typ «elpi.tests.test_arg_HOAS.48»))) c2 \ [constructor a_k1 (parameter B1 explicit (sort (typ «elpi.tests.test_arg_HOAS.53»)) c3 \ parameter B2 explicit (sort (typ «elpi.tests.test_arg_HOAS.55»)) c4 \ arity (prod `x` (global (indt «nat»)) c5 \ prod `_` (app [c2, app [global (indt «prod»), c3, c3], c4, app [global (indc «S»), app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]]]) c6 \ app [c2, c3, c4, c5])), constructor a_k2 (parameter B1 explicit (sort (typ «elpi.tests.test_arg_HOAS.62»)) c3 \ parameter B2 explicit (sort (typ «elpi.tests.test_arg_HOAS.64»)) c4 \ arity (prod `_` c0 c5 \ app [c2, c3, c4, app [global (indc «S»), global (indc «O»)]]))] ---->>---- exit: coq.say typed: (parameter A1 maximal (sort (typ «elpi.tests.test_arg_HOAS.40»)) c0 \ parameter A2 explicit c0 c1 \ inductive foo1 tt (parameter B1 explicit (sort (typ «elpi.tests.test_arg_HOAS.42»)) c2 \ parameter B2 explicit (sort (typ «elpi.tests.test_arg_HOAS.45»)) c3 \ arity (prod `_` (global (indt «nat»)) c4 \ sort (typ «elpi.tests.test_arg_HOAS.48»))) c2 \ [constructor a_k1 (parameter B1 explicit (sort (typ «elpi.tests.test_arg_HOAS.53»)) c3 \ parameter B2 explicit (sort (typ «elpi.tests.test_arg_HOAS.55»)) c4 \ arity (prod `x` (global (indt «nat»)) c5 \ prod `_` (app [c2, app [global (indt «prod»), c3, c3], c4, app [global (indc «S»), app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]]]) c6 \ app [c2, c3, c4, c5])), constructor a_k2 (parameter B1 explicit (sort (typ «elpi.tests.test_arg_HOAS.62»)) c3 \ parameter B2 explicit (sort (typ «elpi.tests.test_arg_HOAS.64»)) c4 \ arity (prod `_` c0 c5 \ app [c2, c3, c4, app [global (indc «S»), global (indc «O»)]]))]) ----<<---- enter: coq.env.add-indt (parameter A1 maximal (sort (typ «elpi.tests.test_arg_HOAS.40»)) c0 \ parameter A2 explicit c0 c1 \ inductive foo1 tt (parameter B1 explicit (sort (typ «elpi.tests.test_arg_HOAS.42»)) c2 \ parameter B2 explicit (sort (typ «elpi.tests.test_arg_HOAS.45»)) c3 \ arity (prod `_` (global (indt «nat»)) c4 \ sort (typ «elpi.tests.test_arg_HOAS.48»))) c2 \ [constructor a_k1 (parameter B1 explicit (sort (typ «elpi.tests.test_arg_HOAS.53»)) c3 \ parameter B2 explicit (sort (typ «elpi.tests.test_arg_HOAS.55»)) c4 \ arity (prod `x` (global (indt «nat»)) c5 \ prod `_` (app [c2, app [global (indt «prod»), c3, c3], c4, app [global (indc «S»), app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]]]) c6 \ app [c2, c3, c4, c5])), constructor a_k2 (parameter B1 explicit (sort (typ «elpi.tests.test_arg_HOAS.62»)) c3 \ parameter B2 explicit (sort (typ «elpi.tests.test_arg_HOAS.64»)) c4 \ arity (prod `_` c0 c5 \ app [c2, c3, c4, app [global (indc «S»), global (indc «O»)]]))]) X10 ---->>---- exit: coq.env.add-indt (parameter A1 maximal (sort (typ «foo1.u0»)) c0 \ parameter A2 explicit c0 c1 \ inductive foo1 tt (parameter B1 explicit (sort (typ «foo1.u1»)) c2 \ parameter B2 explicit (sort (typ «foo1.u2»)) c3 \ arity (prod `_` (global (indt «nat»)) c4 \ sort (typ «foo1.u3»))) c2 \ [constructor a_k1 (parameter B1 explicit (sort (typ «elpi.tests.test_arg_HOAS.53»)) c3 \ parameter B2 explicit (sort (typ «elpi.tests.test_arg_HOAS.55»)) c4 \ arity (prod `x` (global (indt «nat»)) c5 \ prod `_` (app [c2, app [global (indt «prod»), c3, c3], c4, app [global (indc «S»), app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]]]) c6 \ app [c2, c3, c4, c5])), constructor a_k2 (parameter B1 explicit (sort (typ «elpi.tests.test_arg_HOAS.62»)) c3 \ parameter B2 explicit (sort (typ «elpi.tests.test_arg_HOAS.64»)) c4 \ arity (prod `_` c0 c5 \ app [c2, c3, c4, app [global (indc «S»), global (indc «O»)]]))]) «foo1» foo1 ?A2 ?B1 ?B2 ?n : Type : Type where ?A1 : [ |- Type] ?A2 : [ |- ?A1] ?B1 : [ |- Type] ?B2 : [ |- Type] ?n : [ |- nat] a_k1 ?A2 ?B1 ?B2 3 ?f : foo1 ?A2 ?B1 ?B2 3 : foo1 ?A2 ?B1 ?B2 3 where ?A1 : [ |- Type] ?A2 : [ |- ?A1] ?B1 : [ |- Type] ?B2 : [ |- Type] ?f : [ |- foo1 ?A2 (?B1 * ?B1) ?B2 3] Query assignments: MP_TA = «elpi.tests.test_API_module.TA» MP_TF = «elpi.tests.test_API_module.TF» Spilled_1 = «elpi.tests.test_API_module.a» Spilled_2 = const const EXN PRINTING: Not_found Module F : Funsig (a:TA) Funsig (b:TA) TF := Functor (a:TA) Functor (b:TA) Struct Definition w : nat. End Module B : Sig Parameter w : nat. End := (F A A) *** [ B.w : nat ] fix X0 0 (prod `n` (global (indt «nat»)) c0 \ prod `m` (global (indt «nat»)) c1 \ global (indt «nat»)) c0 \ fun `n` (global (indt «nat»)) c1 \ fun `m` (global (indt «nat»)) c2 \ match c1 (fun `n` (global (indt «nat»)) c3 \ X1 c2 c3) [c2, fun `p` (X2 c1 c2) c3 \ app [c0, c3, c2]] fix X0 0 (prod `n` (global (indt «nat»)) c0 \ prod `m` (global (indt «nat»)) c1 \ global (indt «nat»)) c0 \ fun `n` (global (indt «nat»)) c1 \ fun `m` (global (indt «nat»)) c2 \ match c1 (fun `n` (global (indt «nat»)) c3 \ global (indt «nat»)) [c2, fun `p` (X3 c1 c2) c3 \ app [c0, c3, c2]] Query assignments: BO1 = fix X0 0 (prod `n` (global (indt «nat»)) c0 \ prod `m` (global (indt «nat»)) c1 \ global (indt «nat»)) c0 \ fun `n` (global (indt «nat»)) c1 \ fun `m` (global (indt «nat»)) c2 \ match c1 (fun `n` (global (indt «nat»)) c3 \ global (indt «nat»)) [c2, fun `p` (X3 c1 c2) c3 \ app [c0, c3, c2]] GR = «Nat.add» TY = prod `n` (global (indt «nat»)) c0 \ prod `m` (global (indt «nat»)) c1 \ global (indt «nat») _uvk_1_ = c0 \ c1 \ global (indt «nat») _uvk_2_ = c0 \ c1 \ X3 c0 c1 Syntactic constraints: {c0 c1} : decl c1 `m` (global (indt «nat»)), decl c0 `n` (global (indt «nat»)) ?- evar (X3 c0 c1) (sort (typ «elpi.tests.test_quotation.2»)) (X3 c0 c1) /* suspended on X3 */ Universe constraints: UNIVERSES: {elpi.tests.test_quotation.3 elpi.tests.test_quotation.2 elpi.tests.test_quotation.1} |= Set <= elpi.tests.test_quotation.3 ALGEBRAIC UNIVERSES: {} FLEXIBLE UNIVERSES: elpi.tests.test_quotation.3 SORTS: α1 α2 WEAK CONSTRAINTS: c2 global (indt «nat») z nat Query assignments: Spilled_1 = c0 \ c1 \ c2 \ nat Spilled_2 = c0 \ c1 \ c2 \ z T = global (indt «nat») Query assignments: Spilled_1 = const «foo» foo 3 : nat Query assignments: MP_TA = «elpi.tests.test_API_module.TA» it = elpi_subproof : True it : True it is not universe polymorphic it is transparent Expands to: Constant elpi.tests.test_ltac.it elpi_subproof = I : True elpi_subproof : True elpi_subproof is not universe polymorphic elpi_subproof is opaque Expands to: Constant elpi.tests.test_ltac.elpi_subproof Closed under the global context COQC tests/test_link_order2.v File "./tests/test_vernacular1.v", line 47, characters 2-11: Warning: This command does not support this attribute: foo. [unsupported-attributes,parsing,default] [attribute elpi.loc (leaf-loc File "./tests/test_vernacular1.v", line 48, column 5, character 973:), attribute elpi.phase (leaf-str interp), attribute foo (leaf-str bar)] [get-option elpi.loc File "./tests/test_vernacular1.v", line 48, column 5, character 973:, get-option elpi.phase interp, get-option foo bar] [attribute elpi.loc (leaf-loc File "./tests/test_vernacular1.v", line 52, column 0, character 1007:), attribute elpi.phase (leaf-str interp), attribute foo (leaf-str bar), attribute poly (leaf-str )] [get-option elpi.loc File "./tests/test_vernacular1.v", line 52, column 0, character 1007:, get-option elpi.phase interp, get-option foo bar, get-option poly tt] [attribute elpi.loc (leaf-loc File "./tests/test_vernacular1.v", line 53, column 0, character 1035:), attribute elpi.phase (leaf-str interp), attribute foo (leaf-str bar), attribute poly (leaf-str ), attribute suppa (node [attribute duppa (leaf-str )])] [get-option elpi.loc File "./tests/test_vernacular1.v", line 53, column 0, character 1035:, get-option elpi.phase interp, get-option foo bar, get-option poly tt] make[4]: Nothing to be done for 'real-all'. Query assignments: X = «x» fx : nat -> nat : nat -> nat File "./tests/test_API_TC_CS.v", line 25, characters 0-70: Warning: There is an hint extern in the typeclass db: (*external*) (equiv_rewrite_relation R) [TC.hints,elpi,default] Query assignments: GR = indt «RewriteRelation» L = [tc-instance (const «relation_equivalence_rewrite_relation») (tc-priority-computed 0), tc-instance (const «iff_rewrite_relation») (tc-priority-given 2), tc-instance (const «impl_rewrite_relation») (tc-priority-given 3), tc-instance (const «inverse_impl_rewrite_relation») (tc-priority-given 3)] Module Type TB = Funsig (A:TA) Sig End Query assignments: GR = «empty_nat» TY = global (indt «nat») Query assignments: B = fun `n` (global (indt «nat»)) c0 \ app [global (const «nat_ind»), fun `n` (global (indt «nat»)) c1 \ app [global (indt «eq»), global (indt «nat»), c1, app [global (const «Nat.add»), c1, global (indc «O»)]], let `_` (app [global (indt «eq»), global (indt «nat»), global (indc «O»), app [global (const «Nat.add»), global (indc «O»), global (indc «O»)]]) (app [global (indc «eq_refl»), global (indt «nat»), global (indc «O»)]) c1 \ c1, fun `n` (global (indt «nat»)) c1 \ fun `IHn` (app [global (indt «eq»), global (indt «nat»), c1, app [global (const «Nat.add»), c1, global (indc «O»)]]) c2 \ let `_` (app [global (indt «eq»), global (indt «nat»), app [global (indc «S»), c1], app [global (const «Nat.add»), app [global (indc «S»), c1], global (indc «O»)]]) (app [global (const «f_equal_nat»), global (indt «nat»), global (indc «S»), c1, app [global (const «Nat.add»), c1, global (indc «O»)], c2]) c3 \ c3, c0] GR = «plus_n_O» RB = fun `n` (global (indt «nat»)) c0 \ app [global (const «nat_ind»), fun `n` (global (indt «nat»)) c1 \ app [global (indt «eq»), global (indt «nat»), c1, app [global (const «Nat.add»), c1, global (indc «O»)]], let `_` (app [global (indt «eq»), global (indt «nat»), global (indc «O»), app [global (const «Nat.add»), global (indc «O»), global (indc «O»)]]) (app [global (indc «eq_refl»), global (indt «nat»), global (indc «O»)]) c1 \ c1, fun `n` (global (indt «nat»)) c1 \ fun `IHn` (app [global (indt «eq»), global (indt «nat»), c1, app [global (const «Nat.add»), c1, global (indc «O»)]]) c2 \ let `_` (app [global (indt «eq»), global (indt «nat»), app [global (indc «S»), c1], app [global (const «Nat.add»), app [global (indc «S»), c1], global (indc «O»)]]) (app [global (const «f_equal_nat»), global (indt «nat»), global (indc «S»), c1, app [global (const «Nat.add»), c1, global (indc «O»)], c2]) c3 \ c3, c0] TY = prod `n` (global (indt «nat»)) c0 \ app [global (indt «eq»), global (indt «nat»), c0, app [global (const «Nat.add»), c0, global (indc «O»)]] Universe constraints: UNIVERSES: {elpi.tests.test_elaborator.38 elpi.tests.test_elaborator.37 elpi.tests.test_elaborator.36 elpi.tests.test_elaborator.35 elpi.tests.test_elaborator.34 elpi.tests.test_elaborator.33 elpi.tests.test_elaborator.32 elpi.tests.test_elaborator.31 elpi.tests.test_elaborator.30 elpi.tests.test_elaborator.29 elpi.tests.test_elaborator.28 elpi.tests.test_elaborator.27 elpi.tests.test_elaborator.26 elpi.tests.test_elaborator.25 elpi.tests.test_elaborator.24} |= Set <= eq.u0 Set <= Coq.Init.Logic.11 Set <= elpi.tests.test_elaborator.24 Set <= elpi.tests.test_elaborator.28 Set <= elpi.tests.test_elaborator.32 elpi.tests.test_elaborator.24 <= elpi.tests.test_elaborator.26 elpi.tests.test_elaborator.25 <= elpi.tests.test_elaborator.26 elpi.tests.test_elaborator.26 <= elpi.tests.test_elaborator.27 elpi.tests.test_elaborator.28 <= elpi.tests.test_elaborator.30 elpi.tests.test_elaborator.29 <= elpi.tests.test_elaborator.30 elpi.tests.test_elaborator.30 <= elpi.tests.test_elaborator.31 elpi.tests.test_elaborator.32 <= elpi.tests.test_elaborator.34 elpi.tests.test_elaborator.33 <= elpi.tests.test_elaborator.34 elpi.tests.test_elaborator.34 <= elpi.tests.test_elaborator.35 elpi.tests.test_elaborator.36 <= elpi.tests.test_elaborator.37 elpi.tests.test_elaborator.37 <= elpi.tests.test_elaborator.38 ALGEBRAIC UNIVERSES: {} FLEXIBLE UNIVERSES: SORTS: WEAK CONSTRAINTS: Query assignments: E = app [global (const «op»), global (const «c»), app [global (indc «S»), app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]]] TY = app [global (const «field»), global (const «c»)] _uvk_6_ = X0 Universe constraints: UNIVERSES: {elpi.tests.test_API_elaborate.19 elpi.tests.test_API_elaborate.18} |= elpi.tests.test_API_elaborate.19 < elpi.tests.test_API_elaborate.18 s.u0 <= elpi.tests.test_API_elaborate.19 ALGEBRAIC UNIVERSES: {} FLEXIBLE UNIVERSES: SORTS: α11 := Type WEAK CONSTRAINTS: Illegal application (Non-functional construction): The expression "Prop" of type "Type" cannot be applied to the term "Prop" : "Type" Query assignments: E = Illegal application (Non-functional construction): The expression "Prop" of type "Type" cannot be applied to the term "Prop" : "Type" Query assignments: D = parameter A explicit (sort (typ «t.u0»)) c0 \ inductive t tt (parameter y explicit (global (indt «nat»)) c1 \ arity (sort (typ «elpi.tests.test_arg_HOAS.82»))) c1 \ [constructor K (parameter y explicit (global (indt «nat»)) c2 \ parameter x explicit c0 c3 \ parameter n maximal (global (indt «nat»)) c4 \ arity (prod `_` (app [c1, c4]) c5 \ app [c1, c2]))] I = «t» Universe constraints: UNIVERSES: {elpi.tests.test_arg_HOAS.82} |= Set <= elpi.tests.test_arg_HOAS.82 t.u0 <= elpi.tests.test_arg_HOAS.82 ALGEBRAIC UNIVERSES: {} FLEXIBLE UNIVERSES: SORTS: WEAK CONSTRAINTS: ----<<---- enter: coq.say raw: (record foo (sort (typ «Set»)) Build_foo (field [coercion off, canonical tt] f (prod `_` (global (indt «nat»)) c0 \ global (indt «nat»)) c0 \ field [coercion off, canonical tt] _ (app [global (indt «eq»), global (indt «nat»), app [c0, global (indc «O»)], global (indc «O»)]) c1 \ end-record)) raw: record foo (sort (typ «Set»)) Build_foo (field [coercion off, canonical tt] f (prod `_` (global (indt «nat»)) c0 \ global (indt «nat»)) c0 \ field [coercion off, canonical tt] _ (app [global (indt «eq»), global (indt «nat»), app [c0, global (indc «O»)], global (indc «O»)]) c1 \ end-record) ---->>---- exit: coq.say raw: (record foo (sort (typ «Set»)) Build_foo (field [coercion off, canonical tt] f (prod `_` (global (indt «nat»)) c0 \ global (indt «nat»)) c0 \ field [coercion off, canonical tt] _ (app [global (indt «eq»), global (indt «nat»), app [c0, global (indc «O»)], global (indc «O»)]) c1 \ end-record)) ----<<---- enter: std.assert-ok! (coq.typecheck-indt-decl (record foo (sort (typ «Set»)) Build_foo (field [coercion off, canonical tt] f (prod `_` (global (indt «nat»)) c0 \ global (indt «nat»)) c0 \ field [coercion off, canonical tt] _ (app [global (indt «eq»), global (indt «nat»), app [c0, global (indc «O»)], global (indc «O»)]) c1 \ end-record))) Illtyped inductive declaration ---->>---- exit: std.assert-ok! (coq.typecheck-indt-decl (record foo (sort (typ «Set»)) Build_foo (field [coercion off, canonical tt] f (prod `_` (global (indt «nat»)) c0 \ global (indt «nat»)) c0 \ field [coercion off, canonical tt] _ (app [global (indt «eq»), global (indt «nat»), app [c0, global (indc «O»)], global (indc «O»)]) c1 \ end-record))) Illtyped inductive declaration ----<<---- enter: coq.say typed: (record foo (sort (typ «Set»)) Build_foo (field [coercion off, canonical tt] f (prod `_` (global (indt «nat»)) c0 \ global (indt «nat»)) c0 \ field [coercion off, canonical tt] _ (app [global (indt «eq»), global (indt «nat»), app [c0, global (indc «O»)], global (indc «O»)]) c1 \ end-record)) typed: record foo (sort (typ «Set»)) Build_foo (field [coercion off, canonical tt] f (prod `_` (global (indt «nat»)) c0 \ global (indt «nat»)) c0 \ field [coercion off, canonical tt] _ (app [global (indt «eq»), global (indt «nat»), app [c0, global (indc «O»)], global (indc «O»)]) c1 \ end-record) ---->>---- exit: coq.say typed: (record foo (sort (typ «Set»)) Build_foo (field [coercion off, canonical tt] f (prod `_` (global (indt «nat»)) c0 \ global (indt «nat»)) c0 \ field [coercion off, canonical tt] _ (app [global (indt «eq»), global (indt «nat»), app [c0, global (indc «O»)], global (indc «O»)]) c1 \ end-record)) ----<<---- enter: coq.env.add-indt (record foo (sort (typ «Set»)) Build_foo (field [coercion off, canonical tt] f (prod `_` (global (indt «nat»)) c0 \ global (indt «nat»)) c0 \ field [coercion off, canonical tt] _ (app [global (indt «eq»), global (indt «nat»), app [c0, global (indc «O»)], global (indc «O»)]) c1 \ end-record)) X0 ---->>---- exit: coq.env.add-indt (record foo (sort (typ «Set»)) Build_foo (field [coercion off, canonical tt] f (prod `_` (global (indt «nat»)) c0 \ global (indt «nat»)) c0 \ field [coercion off, canonical tt] _ (app [global (indt «eq»), global (indt «nat»), app [c0, global (indc «O»)], global (indc «O»)]) c1 \ end-record)) «foo» ----<<---- enter: coq.say raw: (record foo (sort (typ X0)) Build_foo (field [coercion off, canonical tt] f (prod `_` (global (indt «nat»)) c0 \ global (indt «nat»)) c0 \ field [coercion off, canonical tt] _ (app [global (indt «eq»), X1 c0, app [c0, global (indc «O»)], global (indc «O»)]) c1 \ end-record)) raw: record foo (sort (typ X0)) Build_foo (field [coercion off, canonical tt] f (prod `_` (global (indt «nat»)) c0 \ global (indt «nat»)) c0 \ field [coercion off, canonical tt] _ (app [global (indt «eq»), X1 c0, app [c0, global (indc «O»)], global (indc «O»)]) c1 \ end-record) ---->>---- exit: coq.say raw: (record foo (sort (typ X0)) Build_foo (field [coercion off, canonical tt] f (prod `_` (global (indt «nat»)) c0 \ global (indt «nat»)) c0 \ field [coercion off, canonical tt] _ (app [global (indt «eq»), X1 c0, app [c0, global (indc «O»)], global (indc «O»)]) c1 \ end-record)) ----<<---- enter: std.assert-ok! (coq.elaborate-indt-decl-skeleton (record foo (sort (typ X0)) Build_foo (field [coercion off, canonical tt] f (prod `_` (global (indt «nat»)) c0 \ global (indt «nat»)) c0 \ field [coercion off, canonical tt] _ (app [global (indt «eq»), X1 c0, app [c0, global (indc «O»)], global (indc «O»)]) c1 \ end-record)) X2) Illtyped inductive declaration ---->>---- exit: std.assert-ok! (coq.elaborate-indt-decl-skeleton (record foo (sort (typ «elpi.tests.test_arg_HOAS.85»)) Build_foo (field [coercion off, canonical tt] f (prod `_` (global (indt «nat»)) c0 \ global (indt «nat»)) c0 \ field [coercion off, canonical tt] _ (app [global (indt «eq»), X1 c0, app [c0, global (indc «O»)], global (indc «O»)]) c1 \ end-record)) (record foo (sort (typ «elpi.tests.test_arg_HOAS.86»)) Build_foo (field [coercion off, canonical tt] f (prod `_` (global (indt «nat»)) c0 \ global (indt «nat»)) c0 \ field [coercion off, canonical tt] _ (app [global (indt «eq»), global (indt «nat»), app [c0, global (indc «O»)], global (indc «O»)]) c1 \ end-record))) Illtyped inductive declaration ----<<---- enter: coq.say typed: (record foo (sort (typ «elpi.tests.test_arg_HOAS.86»)) Build_foo (field [coercion off, canonical tt] f (prod `_` (global (indt «nat»)) c0 \ global (indt «nat»)) c0 \ field [coercion off, canonical tt] _ (app [global (indt «eq»), global (indt «nat»), app [c0, global (indc «O»)], global (indc «O»)]) c1 \ end-record)) typed: record foo (sort (typ «elpi.tests.test_arg_HOAS.86»)) Build_foo (field [coercion off, canonical tt] f (prod `_` (global (indt «nat»)) c0 \ global (indt «nat»)) c0 \ field [coercion off, canonical tt] _ (app [global (indt «eq»), global (indt «nat»), app [c0, global (indc «O»)], global (indc «O»)]) c1 \ end-record) ---->>---- exit: coq.say typed: (record foo (sort (typ «elpi.tests.test_arg_HOAS.86»)) Build_foo (field [coercion off, canonical tt] f (prod `_` (global (indt «nat»)) c0 \ global (indt «nat»)) c0 \ field [coercion off, canonical tt] _ (app [global (indt «eq»), global (indt «nat»), app [c0, global (indc «O»)], global (indc «O»)]) c1 \ end-record)) ----<<---- enter: coq.env.add-indt (record foo (sort (typ «elpi.tests.test_arg_HOAS.86»)) Build_foo (field [coercion off, canonical tt] f (prod `_` (global (indt «nat»)) c0 \ global (indt «nat»)) c0 \ field [coercion off, canonical tt] _ (app [global (indt «eq»), global (indt «nat»), app [c0, global (indc «O»)], global (indc «O»)]) c1 \ end-record)) X3 ---->>---- exit: coq.env.add-indt (record foo (sort (typ «foo.u0»)) Build_foo (field [coercion off, canonical tt] f (prod `_` (global (indt «nat»)) c0 \ global (indt «nat»)) c0 \ field [coercion off, canonical tt] _ (app [global (indt «eq»), global (indt «nat»), app [c0, global (indc «O»)], global (indc «O»)]) c1 \ end-record)) «foo» Query assignments: A = «elpi.tests.test_API_module.A» ----<<---- enter: coq.say raw: (parameter A explicit (sort (typ «elpi.tests.test_arg_HOAS.88»)) c0 \ parameter B explicit c0 c1 \ record foo (sort (typ «elpi.tests.test_arg_HOAS.88»)) Build_foo (field [coercion off, canonical tt] a (prod `_` c0 c2 \ prod `_` c0 c3 \ c0) c2 \ field [coercion reversible, canonical tt] z (prod `a` c0 c3 \ prod `_` (app [global (indt «eq»), c0, c1, c1]) c4 \ c0) c3 \ field [coercion off, canonical ff] x (let `w` (global (indt «nat»)) (app [global (indc «S»), app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]]) c4 \ prod `x` c0 c5 \ app [global (indt «eq»), c0, app [c2, c5, c5], c5]) c4 \ end-record)) raw: parameter A explicit (sort (typ «elpi.tests.test_arg_HOAS.88»)) c0 \ parameter B explicit c0 c1 \ record foo (sort (typ «elpi.tests.test_arg_HOAS.88»)) Build_foo (field [coercion off, canonical tt] a (prod `_` c0 c2 \ prod `_` c0 c3 \ c0) c2 \ field [coercion reversible, canonical tt] z (prod `a` c0 c3 \ prod `_` (app [global (indt «eq»), c0, c1, c1]) c4 \ c0) c3 \ field [coercion off, canonical ff] x (let `w` (global (indt «nat»)) (app [global (indc «S»), app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]]) c4 \ prod `x` c0 c5 \ app [global (indt «eq»), c0, app [c2, c5, c5], c5]) c4 \ end-record) ---->>---- exit: coq.say raw: (parameter A explicit (sort (typ «elpi.tests.test_arg_HOAS.88»)) c0 \ parameter B explicit c0 c1 \ record foo (sort (typ «elpi.tests.test_arg_HOAS.88»)) Build_foo (field [coercion off, canonical tt] a (prod `_` c0 c2 \ prod `_` c0 c3 \ c0) c2 \ field [coercion reversible, canonical tt] z (prod `a` c0 c3 \ prod `_` (app [global (indt «eq»), c0, c1, c1]) c4 \ c0) c3 \ field [coercion off, canonical ff] x (let `w` (global (indt «nat»)) (app [global (indc «S»), app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]]) c4 \ prod `x` c0 c5 \ app [global (indt «eq»), c0, app [c2, c5, c5], c5]) c4 \ end-record)) ----<<---- enter: std.assert-ok! (coq.typecheck-indt-decl (parameter A explicit (sort (typ «elpi.tests.test_arg_HOAS.88»)) c0 \ parameter B explicit c0 c1 \ record foo (sort (typ «elpi.tests.test_arg_HOAS.88»)) Build_foo (field [coercion off, canonical tt] a (prod `_` c0 c2 \ prod `_` c0 c3 \ c0) c2 \ field [coercion reversible, canonical tt] z (prod `a` c0 c3 \ prod `_` (app [global (indt «eq»), c0, c1, c1]) c4 \ c0) c3 \ field [coercion off, canonical ff] x (let `w` (global (indt «nat»)) (app [global (indc «S»), app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]]) c4 \ prod `x` c0 c5 \ app [global (indt «eq»), c0, app [c2, c5, c5], c5]) c4 \ end-record))) Illtyped inductive declaration ---->>---- exit: std.assert-ok! (coq.typecheck-indt-decl (parameter A explicit (sort (typ «elpi.tests.test_arg_HOAS.88»)) c0 \ parameter B explicit c0 c1 \ record foo (sort (typ «elpi.tests.test_arg_HOAS.88»)) Build_foo (field [coercion off, canonical tt] a (prod `_` c0 c2 \ prod `_` c0 c3 \ c0) c2 \ field [coercion reversible, canonical tt] z (prod `a` c0 c3 \ prod `_` (app [global (indt «eq»), c0, c1, c1]) c4 \ c0) c3 \ field [coercion off, canonical ff] x (let `w` (global (indt «nat»)) (app [global (indc «S»), app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]]) c4 \ prod `x` c0 c5 \ app [global (indt «eq»), c0, app [c2, c5, c5], c5]) c4 \ end-record))) Illtyped inductive declaration ----<<---- enter: coq.say typed: (parameter A explicit (sort (typ «elpi.tests.test_arg_HOAS.88»)) c0 \ parameter B explicit c0 c1 \ record foo (sort (typ «elpi.tests.test_arg_HOAS.88»)) Build_foo (field [coercion off, canonical tt] a (prod `_` c0 c2 \ prod `_` c0 c3 \ c0) c2 \ field [coercion reversible, canonical tt] z (prod `a` c0 c3 \ prod `_` (app [global (indt «eq»), c0, c1, c1]) c4 \ c0) c3 \ field [coercion off, canonical ff] x (let `w` (global (indt «nat»)) (app [global (indc «S»), app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]]) c4 \ prod `x` c0 c5 \ app [global (indt «eq»), c0, app [c2, c5, c5], c5]) c4 \ end-record)) typed: parameter A explicit (sort (typ «elpi.tests.test_arg_HOAS.88»)) c0 \ parameter B explicit c0 c1 \ record foo (sort (typ «elpi.tests.test_arg_HOAS.88»)) Build_foo (field [coercion off, canonical tt] a (prod `_` c0 c2 \ prod `_` c0 c3 \ c0) c2 \ field [coercion reversible, canonical tt] z (prod `a` c0 c3 \ prod `_` (app [global (indt «eq»), c0, c1, c1]) c4 \ c0) c3 \ field [coercion off, canonical ff] x (let `w` (global (indt «nat»)) (app [global (indc «S»), app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]]) c4 \ prod `x` c0 c5 \ app [global (indt «eq»), c0, app [c2, c5, c5], c5]) c4 \ end-record) ---->>---- exit: coq.say typed: (parameter A explicit (sort (typ «elpi.tests.test_arg_HOAS.88»)) c0 \ parameter B explicit c0 c1 \ record foo (sort (typ «elpi.tests.test_arg_HOAS.88»)) Build_foo (field [coercion off, canonical tt] a (prod `_` c0 c2 \ prod `_` c0 c3 \ c0) c2 \ field [coercion reversible, canonical tt] z (prod `a` c0 c3 \ prod `_` (app [global (indt «eq»), c0, c1, c1]) c4 \ c0) c3 \ field [coercion off, canonical ff] x (let `w` (global (indt «nat»)) (app [global (indc «S»), app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]]) c4 \ prod `x` c0 c5 \ app [global (indt «eq»), c0, app [c2, c5, c5], c5]) c4 \ end-record)) ----<<---- enter: coq.env.add-indt (parameter A explicit (sort (typ «elpi.tests.test_arg_HOAS.88»)) c0 \ parameter B explicit c0 c1 \ record foo (sort (typ «elpi.tests.test_arg_HOAS.88»)) Build_foo (field [coercion off, canonical tt] a (prod `_` c0 c2 \ prod `_` c0 c3 \ c0) c2 \ field [coercion reversible, canonical tt] z (prod `a` c0 c3 \ prod `_` (app [global (indt «eq»), c0, c1, c1]) c4 \ c0) c3 \ field [coercion off, canonical ff] x (let `w` (global (indt «nat»)) (app [global (indc «S»), app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]]) c4 \ prod `x` c0 c5 \ app [global (indt «eq»), c0, app [c2, c5, c5], c5]) c4 \ end-record)) X0 ---->>---- exit: coq.env.add-indt (parameter A explicit (sort (typ «foo.u0»)) c0 \ parameter B explicit c0 c1 \ record foo (sort (typ «foo.u0»)) Build_foo (field [coercion off, canonical tt] a (prod `_` c0 c2 \ prod `_` c0 c3 \ c0) c2 \ field [coercion reversible, canonical tt] z (prod `a` c0 c3 \ prod `_` (app [global (indt «eq»), c0, c1, c1]) c4 \ c0) c3 \ field [coercion off, canonical ff] x (let `w` (global (indt «nat»)) (app [global (indc «S»), app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]]) c4 \ prod `x` c0 c5 \ app [global (indt «eq»), c0, app [c2, c5, c5], c5]) c4 \ end-record)) «foo» make[2]: Leaving directory '/build/reproducible-path/coq-elpi-2.1.0/apps/locker' make[2]: Entering directory '/build/reproducible-path/coq-elpi-2.1.0/apps/coercion' Using coq found in /usr/bin//, from COQBIN or PATH [str fun, str in, str as, int 4, str end, str match, str return, str =>, str :, str :=, str {, str }, str ;, str ,, str |, str x, int 1, str H, trm (fun `x` (global (indt «False»)) c0 \ match c0 (fun `y` (global (indt «False»)) c1 \ global (indt «nat»)) [])] hello world Query assignments: Spilled_1 = const «f» Spilled_2 = const «f» Spilled_3 = const «f» Spilled_4 = const «f» Spilled_5 = const «f» f : forall [S : Type], S -> Prop f is not universe polymorphic Arguments f [S]%type_scope _ (where some original arguments have been renamed) f is transparent Expands to: Constant elpi.tests.test_API_arguments.f f (S:=bool * bool) : bool * bool -> Prop raw: parameter A explicit (global (const «T1»)) c0 \ inductive ind1 tt (parameter B explicit (sort (typ «elpi.tests.test_API_elaborate.20»)) c1 \ arity (sort (typ «elpi.tests.test_API_elaborate.22»))) c1 \ [constructor K1 (parameter B explicit (sort (typ «elpi.tests.test_API_elaborate.20»)) c2 \ arity (prod `_` (app [c1, c2]) c3 \ app [c1, c2])), constructor K2 (parameter B explicit (sort (typ «elpi.tests.test_API_elaborate.20»)) c2 \ arity (prod `_` (app [global (const «f1»), c0]) c3 \ app [c1, c2])), constructor K3 (parameter B explicit (sort (typ «elpi.tests.test_API_elaborate.20»)) c2 \ arity (prod `a` (app [global (const «f1»), c0]) c3 \ app [c1, c2]))] fun `v` (app [global (indt «Vector.t»), global (indt «nat»), app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]]) c0 \ match c0 (fun `_` (X0 c0) c1 \ fun `v` (app [global (indt «Vector.t»), X1 c0 c1, X2 c0 c1]) c2 \ X3 c1 c2) [global (indc «O»), fun `_` (X4 c0) c1 \ fun `_` (X5 c0 c1) c2 \ fun `_` (X6 c0 c1 c2) c3 \ app [global (indc «S»), global (indc «O»)]] elab1: parameter A explicit (global (const «T1»)) c0 \ inductive ind1 tt (parameter B explicit (sort (typ «elpi.tests.test_API_elaborate.23»)) c1 \ arity (sort (typ «elpi.tests.test_API_elaborate.25»))) c1 \ [constructor K1 (parameter B explicit (sort (typ «elpi.tests.test_API_elaborate.28»)) c2 \ arity (prod `_` (app [c1, c2]) c3 \ app [c1, c2])), constructor K2 (parameter B explicit (sort (typ «elpi.tests.test_API_elaborate.30»)) c2 \ arity (prod `_` (app [global (const «f1»), c0]) c3 \ app [c1, c2])), constructor K3 (parameter B explicit (sort (typ «elpi.tests.test_API_elaborate.33»)) c2 \ arity (prod `a` (app [global (const «f1»), c0]) c3 \ app [c1, c2]))] fun `v` (app [global (indt «Vector.t»), global (indt «nat»), app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]]) c0 \ match c0 (fun `_` (X7 c0) c1 \ fun `v` (app [global (indt «Vector.t»), global (indt «nat»), X8 c0 c1]) c2 \ global (indt «nat»)) [global (indc «O»), fun `_` (X9 c0) c1 \ fun `_` (X10 c0 c1) c2 \ fun `_` (X11 c0 c1 c2) c3 \ app [global (indc «S»), global (indc «O»)]] Query assignments: T = fun `v` (app [global (indt «Vector.t»), global (indt «nat»), app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]]) c0 \ match c0 (fun `_` (X7 c0) c1 \ fun `v` (app [global (indt «Vector.t»), global (indt «nat»), X8 c0 c1]) c2 \ global (indt «nat»)) [global (indc «O»), fun `_` (X9 c0) c1 \ fun `_` (X10 c0 c1) c2 \ fun `_` (X11 c0 c1 c2) c3 \ app [global (indc «S»), global (indc «O»)]] _uvk_10_ = c0 \ c1 \ global (indt «nat») _uvk_11_ = c0 \ X9 c0 _uvk_12_ = c0 \ c1 \ X10 c0 c1 _uvk_13_ = c0 \ c1 \ c2 \ X11 c0 c1 c2 _uvk_7_ = c0 \ X7 c0 _uvk_8_ = c0 \ c1 \ global (indt «nat») _uvk_9_ = c0 \ c1 \ X8 c0 c1 Syntactic constraints: {c0 c1 c2} : decl c2 `y0` (X10 c0 c1), decl c1 `y` (X9 c0), decl c0 `v` (app [global (indt «Vector.t»), global (indt «nat»), app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]]) ?- evar (X11 c0 c1 c2) (sort (typ «elpi.tests.test_quotation.10»)) (X11 c0 c1 c2) /* suspended on X11 */ {c0 c1} : decl c1 `y` (X9 c0), decl c0 `v` (app [global (indt «Vector.t»), global (indt «nat»), app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]]) ?- evar (X10 c0 c1) (sort (typ «elpi.tests.test_quotation.9»)) (X10 c0 c1) /* suspended on X10 */ {c0} : decl c0 `v` (app [global (indt «Vector.t»), global (indt «nat»), app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]]) ?- evar (X9 c0) (sort (typ «elpi.tests.test_quotation.8»)) (X9 c0) /* suspended on X9 */ {c0 c1} : decl c1 `y` (X7 c0), decl c0 `v` (app [global (indt «Vector.t»), global (indt «nat»), app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]]) ?- evar (X8 c0 c1) (X12 c0 c1) (X8 c0 c1) /* suspended on X8 */ {c0 c1} : decl c1 `y` (X7 c0), decl c0 `v` (app [global (indt «Vector.t»), global (indt «nat»), app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]]) ?- evar (X13 c0 c1) (sort (typ «elpi.tests.test_quotation.6»)) (X12 c0 c1) /* suspended on X13, X12 */ {c0} : decl c0 `v` (app [global (indt «Vector.t»), global (indt «nat»), app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]]) ?- evar (X7 c0) (sort (typ «elpi.tests.test_quotation.4»)) (X7 c0) /* suspended on X7 */ Universe constraints: UNIVERSES: {elpi.tests.test_quotation.12 elpi.tests.test_quotation.11 elpi.tests.test_quotation.10 elpi.tests.test_quotation.9 elpi.tests.test_quotation.8 elpi.tests.test_quotation.7 elpi.tests.test_quotation.6 elpi.tests.test_quotation.5 elpi.tests.test_quotation.4} |= elpi.tests.test_quotation.11 < elpi.tests.test_quotation.5 Set <= Vector.t.u0 Set <= elpi.tests.test_quotation.11 Set <= elpi.tests.test_quotation.12 elpi.tests.test_quotation.11 <= Vector.t.u0 ALGEBRAIC UNIVERSES: {} FLEXIBLE UNIVERSES: elpi.tests.test_quotation.12 SORTS: α3 α4 := Type α5 α6 α7 α8 α9 WEAK CONSTRAINTS: elab2: parameter A explicit (global (const «T1»)) c0 \ parameter B explicit (sort (typ «ind1.u0»)) c1 \ inductive ind1 tt (arity (sort (typ «ind1.u1»))) c2 \ [constructor K1 (arity (prod `_` c2 c3 \ c2)), constructor K2 (arity (prod `_` (app [global (const «f1»), c0]) c3 \ c2)), constructor K3 (arity (prod `a` (app [global (const «f1»), c0]) c3 \ c2))] Unable to unify "bool" with "nat". Query assignments: Msg = Unable to unify "bool" with "nat". raw: parameter A explicit (global (const «T1»)) c0 \ record ind2 (sort (typ «f1.u0»)) Build_ind2 (field [coercion off, canonical tt] fld1 (app [global (const «f1»), c0]) c1 \ field [coercion off, canonical tt] fld2 (app [global (indt «eq»), app [global (const «f1»), c0], c1, c1]) c2 \ end-record) elab1: parameter A explicit (global (const «T1»)) c0 \ record ind2 (sort (typ «elpi.tests.test_API_elaborate.38»)) Build_ind2 (field [coercion off, canonical tt] fld1 (app [global (const «f1»), c0]) c1 \ field [coercion off, canonical tt] fld2 (app [global (indt «eq»), app [global (const «f1»), c0], c1, c1]) c2 \ end-record) elab2: parameter A explicit (global (const «T1»)) c0 \ record ind2 (sort (typ «ind2.u0»)) Build_ind2 (field [coercion off, canonical tt] fld1 (app [global (const «f1»), c0]) c1 \ field [coercion off, canonical tt] fld2 (app [global (indt «eq»), app [global (const «f1»), c0], c1, c1]) c2 \ end-record) raw: record ind3 (sort (typ «elpi.tests.test_API_elaborate.41»)) Build_ind3 (field [coercion reversible, canonical tt] fld3 (sort (typ «elpi.tests.test_API_elaborate.40»)) c0 \ field [coercion off, canonical tt] fld4 (prod `x` c0 c1 \ app [global (indt «eq»), c0, c1, c1]) c1 \ end-record) Query assignments: Spilled_1 = «elpi.tests.test_API_module.A» Module IA := Struct Definition z : nat. Definition i : Type. End elab1: record ind3 (sort (typ «elpi.tests.test_API_elaborate.42»)) Build_ind3 (field [coercion reversible, canonical tt] fld3 (sort (typ «elpi.tests.test_API_elaborate.43»)) c0 \ field [coercion off, canonical tt] fld4 (prod `x` c0 c1 \ app [global (indt «eq»), c0, c1, c1]) c1 \ end-record) elab2: record ind3 (sort (typ «ind3.u0»)) Build_ind3 (field [coercion reversible, canonical tt] fld3 (sort (typ «ind3.u1»)) c0 \ field [coercion off, canonical tt] fld4 (prod `x` c0 c1 \ app [global (indt «eq»), c0, c1, c1]) c1 \ end-record) forall x : ind3, x -> Prop : Type Query assignments: GR1 = indc «Vector.nil» GR2 = indt «nat» GR3 = const «A» opaque_3 : nat opaque_3 is not universe polymorphic opaque_3 is opaque Expands to: Constant elpi.tests.test_API_section.opaque_3 Query assignments: GR = indt «RewriteRelation» Query assignments: Spilled_1 = «elpi.tests.test_API_module.IA» make[4]: Nothing to be done for 'real-all'. Query assignments: I = «foo» Finished transaction in 2.923 secs (2.711u,0.148s) (successful) ----<<---- enter: coq.say raw: (parameter A explicit X0 c0 \ parameter B explicit c0 c1 \ record foo (sort (typ X1)) Build_foo (field [coercion off, canonical tt] a (prod `_` c0 c2 \ prod `_` c0 c3 \ c0) c2 \ field [coercion reversible, canonical tt] z (prod `a` c0 c3 \ prod `_` (app [global (indt «eq»), X2 c0 c1 c3, c1, c1]) c4 \ c0) c3 \ field [coercion off, canonical ff] x (let `w` (X3 c0 c1 c2 c3) (app [global (indc «S»), app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]]) c4 \ prod `x` (X4 c0 c1 c2 c3 c4) c5 \ app [global (indt «eq»), X5 c0 c1 c2 c3 c4 c5, app [c2, c5, c5], c5]) c4 \ end-record)) raw: parameter A explicit X0 c0 \ parameter B explicit c0 c1 \ record foo (sort (typ X1)) Build_foo (field [coercion off, canonical tt] a (prod `_` c0 c2 \ prod `_` c0 c3 \ c0) c2 \ field [coercion reversible, canonical tt] z (prod `a` c0 c3 \ prod `_` (app [global (indt «eq»), X2 c0 c1 c3, c1, c1]) c4 \ c0) c3 \ field [coercion off, canonical ff] x (let `w` (X3 c0 c1 c2 c3) (app [global (indc «S»), app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]]) c4 \ prod `x` (X4 c0 c1 c2 c3 c4) c5 \ app [global (indt «eq»), X5 c0 c1 c2 c3 c4 c5, app [c2, c5, c5], c5]) c4 \ end-record) ---->>---- exit: coq.say raw: (parameter A explicit X0 c0 \ parameter B explicit c0 c1 \ record foo (sort (typ X1)) Build_foo (field [coercion off, canonical tt] a (prod `_` c0 c2 \ prod `_` c0 c3 \ c0) c2 \ field [coercion reversible, canonical tt] z (prod `a` c0 c3 \ prod `_` (app [global (indt «eq»), X2 c0 c1 c3, c1, c1]) c4 \ c0) c3 \ field [coercion off, canonical ff] x (let `w` (X3 c0 c1 c2 c3) (app [global (indc «S»), app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]]) c4 \ prod `x` (X4 c0 c1 c2 c3 c4) c5 \ app [global (indt «eq»), X5 c0 c1 c2 c3 c4 c5, app [c2, c5, c5], c5]) c4 \ end-record)) ----<<---- enter: std.assert-ok! (coq.elaborate-indt-decl-skeleton (parameter A explicit X0 c0 \ parameter B explicit c0 c1 \ record foo (sort (typ X1)) Build_foo (field [coercion off, canonical tt] a (prod `_` c0 c2 \ prod `_` c0 c3 \ c0) c2 \ field [coercion reversible, canonical tt] z (prod `a` c0 c3 \ prod `_` (app [global (indt «eq»), X2 c0 c1 c3, c1, c1]) c4 \ c0) c3 \ field [coercion off, canonical ff] x (let `w` (X3 c0 c1 c2 c3) (app [global (indc «S»), app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]]) c4 \ prod `x` (X4 c0 c1 c2 c3 c4) c5 \ app [global (indt «eq»), X5 c0 c1 c2 c3 c4 c5, app [c2, c5, c5], c5]) c4 \ end-record)) X6) Illtyped inductive declaration ---->>---- exit: std.assert-ok! (coq.elaborate-indt-decl-skeleton (parameter A explicit X0 c0 \ parameter B explicit c0 c1 \ record foo (sort (typ «elpi.tests.test_arg_HOAS.95»)) Build_foo (field [coercion off, canonical tt] a (prod `_` c0 c2 \ prod `_` c0 c3 \ c0) c2 \ field [coercion reversible, canonical tt] z (prod `a` c0 c3 \ prod `_` (app [global (indt «eq»), X2 c0 c1 c3, c1, c1]) c4 \ c0) c3 \ field [coercion off, canonical ff] x (let `w` (X3 c0 c1 c2 c3) (app [global (indc «S»), app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]]) c4 \ prod `x` (X4 c0 c1 c2 c3 c4) c5 \ app [global (indt «eq»), X5 c0 c1 c2 c3 c4 c5, app [c2, c5, c5], c5]) c4 \ end-record)) (parameter A explicit (sort (typ «elpi.tests.test_arg_HOAS.94»)) c0 \ parameter B explicit c0 c1 \ record foo (sort (typ «elpi.tests.test_arg_HOAS.96»)) Build_foo (field [coercion off, canonical tt] a (prod `_` c0 c2 \ prod `_` c0 c3 \ c0) c2 \ field [coercion reversible, canonical tt] z (prod `elpi_ctx_entry_4_` c0 c3 \ prod `_` (app [global (indt «eq»), c0, c1, c1]) c4 \ c0) c3 \ field [coercion off, canonical ff] x (let `w` (global (indt «nat»)) (app [global (indc «S»), app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]]) c4 \ prod `x` c0 c5 \ app [global (indt «eq»), c0, app [c2, c5, c5], c5]) c4 \ end-record))) Illtyped inductive declaration ----<<---- enter: coq.say typed: (parameter A explicit (sort (typ «elpi.tests.test_arg_HOAS.94»)) c0 \ parameter B explicit c0 c1 \ record foo (sort (typ «elpi.tests.test_arg_HOAS.96»)) Build_foo (field [coercion off, canonical tt] a (prod `_` c0 c2 \ prod `_` c0 c3 \ c0) c2 \ field [coercion reversible, canonical tt] z (prod `elpi_ctx_entry_4_` c0 c3 \ prod `_` (app [global (indt «eq»), c0, c1, c1]) c4 \ c0) c3 \ field [coercion off, canonical ff] x (let `w` (global (indt «nat»)) (app [global (indc «S»), app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]]) c4 \ prod `x` c0 c5 \ app [global (indt «eq»), c0, app [c2, c5, c5], c5]) c4 \ end-record)) typed: parameter A explicit (sort (typ «elpi.tests.test_arg_HOAS.94»)) c0 \ parameter B explicit c0 c1 \ record foo (sort (typ «elpi.tests.test_arg_HOAS.96»)) Build_foo (field [coercion off, canonical tt] a (prod `_` c0 c2 \ prod `_` c0 c3 \ c0) c2 \ field [coercion reversible, canonical tt] z (prod `elpi_ctx_entry_4_` c0 c3 \ prod `_` (app [global (indt «eq»), c0, c1, c1]) c4 \ c0) c3 \ field [coercion off, canonical ff] x (let `w` (global (indt «nat»)) (app [global (indc «S»), app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]]) c4 \ prod `x` c0 c5 \ app [global (indt «eq»), c0, app [c2, c5, c5], c5]) c4 \ end-record) ---->>---- exit: coq.say typed: (parameter A explicit (sort (typ «elpi.tests.test_arg_HOAS.94»)) c0 \ parameter B explicit c0 c1 \ record foo (sort (typ «elpi.tests.test_arg_HOAS.96»)) Build_foo (field [coercion off, canonical tt] a (prod `_` c0 c2 \ prod `_` c0 c3 \ c0) c2 \ field [coercion reversible, canonical tt] z (prod `elpi_ctx_entry_4_` c0 c3 \ prod `_` (app [global (indt «eq»), c0, c1, c1]) c4 \ c0) c3 \ field [coercion off, canonical ff] x (let `w` (global (indt «nat»)) (app [global (indc «S»), app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]]) c4 \ prod `x` c0 c5 \ app [global (indt «eq»), c0, app [c2, c5, c5], c5]) c4 \ end-record)) ----<<---- enter: coq.env.add-indt (parameter A explicit (sort (typ «elpi.tests.test_arg_HOAS.94»)) c0 \ parameter B explicit c0 c1 \ record foo (sort (typ «elpi.tests.test_arg_HOAS.96»)) Build_foo (field [coercion off, canonical tt] a (prod `_` c0 c2 \ prod `_` c0 c3 \ c0) c2 \ field [coercion reversible, canonical tt] z (prod `elpi_ctx_entry_4_` c0 c3 \ prod `_` (app [global (indt «eq»), c0, c1, c1]) c4 \ c0) c3 \ field [coercion off, canonical ff] x (let `w` (global (indt «nat»)) (app [global (indc «S»), app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]]) c4 \ prod `x` c0 c5 \ app [global (indt «eq»), c0, app [c2, c5, c5], c5]) c4 \ end-record)) X7 ---->>---- exit: coq.env.add-indt (parameter A explicit (sort (typ «foo.u0»)) c0 \ parameter B explicit c0 c1 \ record foo (sort (typ «foo.u1»)) Build_foo (field [coercion off, canonical tt] a (prod `_` c0 c2 \ prod `_` c0 c3 \ c0) c2 \ field [coercion reversible, canonical tt] z (prod `elpi_ctx_entry_4_` c0 c3 \ prod `_` (app [global (indt «eq»), c0, c1, c1]) c4 \ c0) c3 \ field [coercion off, canonical ff] x (let `w` (global (indt «nat»)) (app [global (indc «S»), app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]]) c4 \ prod `x` c0 c5 \ app [global (indt «eq»), c0, app [c2, c5, c5], c5]) c4 \ end-record)) «foo» d1 : nat d2 : nat i1 : Prop i2 : Prop k1 : i1 k2 : i2 r1 : Set r2 : Type f1 : r1 -> nat f2 : r2 -> nat Query assignments: E = app [global (const «op»), global (const «c»), app [global (indc «S»), app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]]] TY = app [global (const «field»), global (const «c»)] Universe constraints: UNIVERSES: {elpi.tests.test_API_elaborate.50 elpi.tests.test_API_elaborate.49} |= elpi.tests.test_API_elaborate.50 < elpi.tests.test_API_elaborate.49 s.u0 <= elpi.tests.test_API_elaborate.50 ALGEBRAIC UNIVERSES: {} FLEXIBLE UNIVERSES: SORTS: α19 := Type WEAK CONSTRAINTS: Debug: elpi lets escape exception: The term global (indc X0) cannot be represented in Coq since its gref part is illformed unknown_gref Query assignments: Spilled_1 = const «f» f : forall [S : Type], S -> Prop f is not universe polymorphic Arguments f [S]%type_scope / _ (where some original arguments have been renamed) The reduction tactics unfold f when applied to 1 argument f is transparent Expands to: Constant elpi.tests.test_API_arguments.f f (S:=bool * bool) : bool * bool -> Prop CHR: Uniqueness of typing of frozen--1073 + [] <-> [] 1 |> [decl c0 `x` (uvar frozen--1073 [])] |- frozen--1073 [] : sort (typ «elpi.tests.test_elaborator.40») = fun x : bool => x = x : bool -> Prop 0 |> [] |- frozen--1073 [] : sort (typ «elpi.tests.test_elaborator.39») 0 |> [] |- unify-eq (sort (typ «elpi.tests.test_elaborator.40»)) (sort (typ «elpi.tests.test_elaborator.39»)) Query assignments: R = fun `x` X0 c0 \ c0 T = prod `x` X0 c0 \ X0 _uvk_87_ = X1 Syntactic constraints: {c0} : decl c0 `x` X0 ?- evar X2 (sort (typ «elpi.tests.test_elaborator.40»)) X0 /* suspended on X2, X0 */ Universe constraints: UNIVERSES: {elpi.tests.test_elaborator.42 elpi.tests.test_elaborator.41 elpi.tests.test_elaborator.40 elpi.tests.test_elaborator.39} |= elpi.tests.test_elaborator.39 <= elpi.tests.test_elaborator.41 elpi.tests.test_elaborator.40 <= elpi.tests.test_elaborator.39 elpi.tests.test_elaborator.40 <= elpi.tests.test_elaborator.41 elpi.tests.test_elaborator.41 <= elpi.tests.test_elaborator.42 ALGEBRAIC UNIVERSES: {} FLEXIBLE UNIVERSES: SORTS: WEAK CONSTRAINTS: COQC tests/test_link_order3.v Query assignments: Cons = global (indc «cons») GRCons = indc «cons» GRList = indt «list» GRNat = indt «nat» GRNil = indc «nil» GRZero = indc «O» L = app [global (indc «cons»), global (indt «nat»), global (indc «O»), app [global (indc «nil»), global (indt «nat»)]] LE = app [global (indc «cons»), global (indt «nat»), global (indc «O»), app [global (indc «nil»), global (indt «nat»)]] List = global (indt «list») Nat = global (indt «nat») Nil = global (indc «nil») Zero = global (indc «O») Universe constraints: UNIVERSES: {elpi.tests.test_API_typecheck.4 elpi.tests.test_API_typecheck.3 elpi.tests.test_API_typecheck.2 elpi.tests.test_API_typecheck.1} |= elpi.tests.test_API_typecheck.3 < elpi.tests.test_API_typecheck.2 elpi.tests.test_API_typecheck.4 < elpi.tests.test_API_typecheck.1 Set <= elpi.tests.test_API_typecheck.3 Set <= elpi.tests.test_API_typecheck.4 elpi.tests.test_API_typecheck.3 <= list.u0 elpi.tests.test_API_typecheck.4 <= list.u0 ALGEBRAIC UNIVERSES: {} FLEXIBLE UNIVERSES: SORTS: α1 := Type α2 := Type WEAK CONSTRAINTS: Query assignments: Spilled_1 = «elpi.tests.test_API_module.IA» i : Type COQC tests/test_link_order4.v A Query assignments: Spilled_1 = «elpi.tests.test_API_module.TA» Query assignments: T = sort (typ «elpi.tests.test_HOAS.3») U = «elpi.tests.test_HOAS.3» make[2]: Leaving directory '/build/reproducible-path/coq-elpi-2.1.0/apps/coercion' add_equal Query assignments: BO = fix `add` 0 (prod `n` (global (indt «nat»)) c0 \ prod `m` (global (indt «nat»)) c1 \ global (indt «nat»)) c0 \ fun `n` (global (indt «nat»)) c1 \ fun `m` (global (indt «nat»)) c2 \ match c1 (fun `n` (global (indt «nat»)) c3 \ global (indt «nat»)) [c2, fun `p` (global (indt «nat»)) c3 \ app [global (indc «S»), app [c0, c3, c2]]] GR = «Nat.add» NGR = «add_equal» Name = add_equal S = add Spilled_1 = add_equal Spilled_2 = add_equal TY = prod `n` (global (indt «nat»)) c0 \ prod `m` (global (indt «nat»)) c1 \ global (indt «nat») make[2]: Entering directory '/build/reproducible-path/coq-elpi-2.1.0/apps/cs' Using coq found in /usr/bin//, from COQBIN or PATH add_equal : nat -> nat -> nat add_equal is not universe polymorphic Arguments add_equal (n m)%nat_scope add_equal is opaque Expands to: Constant elpi.tests.test_API_env.add_equal «elpi.tests.test_API_elaborate.52» «elpi.tests.test_API_elaborate.52» 3 Query assignments: X = 3 Query assignments: X = 3 app [global (const «Nat.mul»), X0, X1] type Query assignments: GR = indt «True» Query assignments: Spilled_1 = «elpi.tests.test_API_module.TA» Module Type ITA = Sig Parameter z : nat. Parameter i : Type. End Query assignments: E = app [global (indt «list»), global (const «C»)] TY = sort (typ «elpi.tests.test_API_elaborate.58») Universe constraints: UNIVERSES: {elpi.tests.test_API_elaborate.59 elpi.tests.test_API_elaborate.58 elpi.tests.test_API_elaborate.57} |= elpi.tests.test_API_elaborate.58 < elpi.tests.test_API_elaborate.59 elpi.tests.test_API_elaborate.59 < elpi.tests.test_API_elaborate.57 Set <= elpi.tests.test_API_elaborate.58 elpi.tests.test_API_elaborate.56 <= list.u0 elpi.tests.test_API_elaborate.56 <= elpi.tests.test_API_elaborate.58 ALGEBRAIC UNIVERSES: {} FLEXIBLE UNIVERSES: SORTS: α22 := Type WEAK CONSTRAINTS: COQC tests/test_link_order5.v Query assignments: I = «foo» ----<<---- enter: coq.arity->term (parameter P explicit (sort (typ «elpi.tests.test_arg_HOAS.99»)) c0 \ parameter w explicit c0 c1 \ parameter n explicit (global (indt «nat»)) c2 \ arity (global (indt «nat»))) X0 ---->>---- exit: coq.arity->term (parameter P explicit (sort (typ «elpi.tests.test_arg_HOAS.99»)) c0 \ parameter w explicit c0 c1 \ parameter n explicit (global (indt «nat»)) c2 \ arity (global (indt «nat»))) (prod `P` (sort (typ «elpi.tests.test_arg_HOAS.99»)) c0 \ prod `w` c0 c1 \ prod `n` (global (indt «nat»)) c2 \ global (indt «nat»)) ----<<---- enter: std.assert-ok! (coq.typecheck (fun `P` (sort (typ «elpi.tests.test_arg_HOAS.99»)) c0 \ fun `w` c0 c1 \ fun `n` (global (indt «nat»)) c2 \ app [global (const «Nat.add»), c2, app [global (indc «S»), global (indc «O»)]]) (prod `P` (sort (typ «elpi.tests.test_arg_HOAS.99»)) c0 \ prod `w` c0 c1 \ prod `n` (global (indt «nat»)) c2 \ global (indt «nat»))) illtyped definition ---->>---- exit: std.assert-ok! (coq.typecheck (fun `P` (sort (typ «elpi.tests.test_arg_HOAS.99»)) c0 \ fun `w` c0 c1 \ fun `n` (global (indt «nat»)) c2 \ app [global (const «Nat.add»), c2, app [global (indc «S»), global (indc «O»)]]) (prod `P` (sort (typ «elpi.tests.test_arg_HOAS.99»)) c0 \ prod `w` c0 c1 \ prod `n` (global (indt «nat»)) c2 \ global (indt «nat»))) illtyped definition ----<<---- enter: coq.env.add-const x1 (fun `P` (sort (typ «elpi.tests.test_arg_HOAS.99»)) c0 \ fun `w` c0 c1 \ fun `n` (global (indt «nat»)) c2 \ app [global (const «Nat.add»), c2, app [global (indc «S»), global (indc «O»)]]) (prod `P` (sort (typ «elpi.tests.test_arg_HOAS.99»)) c0 \ prod `w` c0 c1 \ prod `n` (global (indt «nat»)) c2 \ global (indt «nat»)) X1 X2 ---->>---- exit: coq.env.add-const x1 (fun `P` (sort (typ «x1.u0»)) c0 \ fun `w` c0 c1 \ fun `n` (global (indt «nat»)) c2 \ app [global (const «Nat.add»), c2, app [global (indc «S»), global (indc «O»)]]) (prod `P` (sort (typ «x1.u0»)) c0 \ prod `w` c0 c1 \ prod `n` (global (indt «nat»)) c2 \ global (indt «nat»)) X1 «x1» x1 : forall P : Type, P -> nat -> nat : forall P : Type, P -> nat -> nat eq_refl : x1 = (fun (P : Type) (_ : P) (n : nat) => n + 1) : x1 = (fun (P : Type) (_ : P) (n : nat) => n + 1) ----<<---- enter: coq.arity->term (parameter n explicit (global (indt «nat»)) c0 \ arity (sort (typ «elpi.tests.test_arg_HOAS.102»))) X0 ---->>---- exit: coq.arity->term (parameter n explicit (global (indt «nat»)) c0 \ arity (sort (typ «elpi.tests.test_arg_HOAS.102»))) (prod `n` (global (indt «nat»)) c0 \ sort (typ «elpi.tests.test_arg_HOAS.102»)) ----<<---- enter: std.assert-ok! (coq.typecheck-ty (prod `n` (global (indt «nat»)) c0 \ sort (typ «elpi.tests.test_arg_HOAS.102»)) X1) illtyped axiom ---->>---- exit: std.assert-ok! (coq.typecheck-ty (prod `n` (global (indt «nat»)) c0 \ sort (typ «elpi.tests.test_arg_HOAS.102»)) (typ «elpi.tests.test_arg_HOAS.103»)) illtyped axiom ----<<---- enter: coq.env.add-axiom y (prod `n` (global (indt «nat»)) c0 \ sort (typ «elpi.tests.test_arg_HOAS.102»)) X2 ---->>---- exit: coq.env.add-axiom y (prod `n` (global (indt «nat»)) c0 \ sort (typ «y.u0»)) «y» y : nat -> Type : nat -> Type ----<<---- enter: coq.arity->term (parameter P explicit (sort (typ X0)) c0 \ parameter w explicit c0 c1 \ parameter n explicit (global (indt «nat»)) c2 \ arity (X1 c0 c1 c2)) X2 ---->>---- exit: coq.arity->term (parameter P explicit (sort (typ X0)) c0 \ parameter w explicit c0 c1 \ parameter n explicit (global (indt «nat»)) c2 \ arity (X3 c0 c1 c2)) (prod `P` (sort (typ X0)) c0 \ prod `w` c0 c1 \ prod `n` (global (indt «nat»)) (X3 c0 c1)) ----<<---- enter: std.assert-ok! (coq.elaborate-ty-skeleton (prod `P` (sort (typ X0)) c0 \ prod `w` c0 c1 \ prod `n` (global (indt «nat»)) (X3 c0 c1)) X4 X5) illtyped arity ---->>---- exit: std.assert-ok! (coq.elaborate-ty-skeleton (prod `P` (sort (typ «elpi.tests.test_arg_HOAS.105»)) c0 \ prod `w` c0 c1 \ prod `n` (global (indt «nat»)) (X6 c0 c1)) (typ «elpi.tests.test_arg_HOAS.108») (prod `P` (sort (typ «elpi.tests.test_arg_HOAS.106»)) c0 \ prod `w` c0 c1 \ prod `n` (global (indt «nat»)) c2 \ X7 c0 c1 c2)) illtyped arity ----<<---- enter: std.assert-ok! (coq.elaborate-skeleton (fun `P` (sort (typ X8)) c0 \ fun `w` c0 c1 \ fun `n` (global (indt «nat»)) c2 \ app [global (const «Nat.add»), c2, app [global (indc «S»), global (indc «O»)]]) (prod `P` (sort (typ «elpi.tests.test_arg_HOAS.106»)) c0 \ prod `w` c0 c1 \ prod `n` (global (indt «nat»)) c2 \ X7 c0 c1 c2) X9) illtyped definition ---->>---- exit: std.assert-ok! (coq.elaborate-skeleton (fun `P` (sort (typ «elpi.tests.test_arg_HOAS.109»)) c0 \ fun `w` c0 c1 \ fun `n` (global (indt «nat»)) c2 \ app [global (const «Nat.add»), c2, app [global (indc «S»), global (indc «O»)]]) (prod `P` (sort (typ «elpi.tests.test_arg_HOAS.106»)) c0 \ prod `w` c0 c1 \ prod `n` (global (indt «nat»)) c2 \ global (indt «nat»)) (fun `P` (sort (typ «elpi.tests.test_arg_HOAS.110»)) c0 \ fun `w` c0 c1 \ fun `n` (global (indt «nat»)) c2 \ app [global (const «Nat.add»), c2, app [global (indc «S»), global (indc «O»)]])) illtyped definition ----<<---- enter: coq.env.add-const x1 (fun `P` (sort (typ «elpi.tests.test_arg_HOAS.110»)) c0 \ fun `w` c0 c1 \ fun `n` (global (indt «nat»)) c2 \ app [global (const «Nat.add»), c2, app [global (indc «S»), global (indc «O»)]]) (prod `P` (sort (typ «elpi.tests.test_arg_HOAS.106»)) c0 \ prod `w` c0 c1 \ prod `n` (global (indt «nat»)) c2 \ global (indt «nat»)) X10 X11 ---->>---- exit: coq.env.add-const x1 (fun `P` (sort (typ «x1.u1»)) c0 \ fun `w` c0 c1 \ fun `n` (global (indt «nat»)) c2 \ app [global (const «Nat.add»), c2, app [global (indc «S»), global (indc «O»)]]) (prod `P` (sort (typ «x1.u0»)) c0 \ prod `w` c0 c1 \ prod `n` (global (indt «nat»)) c2 \ global (indt «nat»)) X10 «x1» x1 : forall P : Type, P -> nat -> nat : forall P : Type, P -> nat -> nat eq_refl : x1 = (fun (P : Type) (_ : P) (n : nat) => n + 1) : x1 = (fun (P : Type) (_ : P) (n : nat) => n + 1) Query assignments: U = «elpi.tests.test_HOAS.4» Universe constraints: UNIVERSES: {elpi.tests.test_HOAS.4} |= ALGEBRAIC UNIVERSES: {} FLEXIBLE UNIVERSES: SORTS: WEAK CONSTRAINTS: ----<<---- enter: coq.arity->term (parameter n explicit (global (indt «nat»)) c0 \ arity (sort (typ «elpi.tests.test_arg_HOAS.113»))) X0 ---->>---- exit: coq.arity->term (parameter n explicit (global (indt «nat»)) c0 \ arity (sort (typ «elpi.tests.test_arg_HOAS.113»))) (prod `n` (global (indt «nat»)) c0 \ sort (typ «elpi.tests.test_arg_HOAS.113»)) ----<<---- enter: std.assert-ok! (coq.typecheck-ty (prod `n` (global (indt «nat»)) c0 \ sort (typ «elpi.tests.test_arg_HOAS.113»)) X1) illtyped axiom ---->>---- exit: std.assert-ok! (coq.typecheck-ty (prod `n` (global (indt «nat»)) c0 \ sort (typ «elpi.tests.test_arg_HOAS.113»)) (typ «elpi.tests.test_arg_HOAS.114»)) illtyped axiom ----<<---- enter: coq.env.add-axiom y (prod `n` (global (indt «nat»)) c0 \ sort (typ «elpi.tests.test_arg_HOAS.113»)) X2 ---->>---- exit: coq.env.add-axiom y (prod `n` (global (indt «nat»)) c0 \ sort (typ «y.u0»)) «y» y : nat -> Type : nat -> Type Query assignments: R = fun `x` (global (indt «nat»)) c0 \ app [global (const «Nat.add»), c0, global (indc «O»)] T = prod `x` (global (indt «nat»)) c0 \ global (indt «nat») _uvk_109_ = X0 Universe constraints: UNIVERSES: {elpi.tests.test_elaborator.46 elpi.tests.test_elaborator.45 elpi.tests.test_elaborator.44 elpi.tests.test_elaborator.43} |= elpi.tests.test_elaborator.43 <= elpi.tests.test_elaborator.45 elpi.tests.test_elaborator.44 <= elpi.tests.test_elaborator.45 elpi.tests.test_elaborator.45 <= elpi.tests.test_elaborator.46 ALGEBRAIC UNIVERSES: {} FLEXIBLE UNIVERSES: SORTS: WEAK CONSTRAINTS: «myfalse» Query assignments: F = indt «False» GR = «myfalse» myfalse : False ----<<---- enter: coq.arity->term (parameter n explicit (global (indt «nat»)) c0 \ arity (global (indt «nat»))) X0 ---->>---- exit: coq.arity->term (parameter n explicit (global (indt «nat»)) c0 \ arity (global (indt «nat»))) (prod `n` (global (indt «nat»)) c0 \ global (indt «nat»)) ----<<---- enter: std.assert-ok! (coq.typecheck (fun `n` (global (indt «nat»)) c0 \ app [global (indc «S»), c0]) (prod `n` (global (indt «nat»)) c0 \ global (indt «nat»))) illtyped definition ---->>---- exit: std.assert-ok! (coq.typecheck (fun `n` (global (indt «nat»)) c0 \ app [global (indc «S»), c0]) (prod `n` (global (indt «nat»)) c0 \ global (indt «nat»))) illtyped definition ----<<---- enter: coq.env.add-const x (fun `n` (global (indt «nat»)) c0 \ app [global (indc «S»), c0]) (prod `n` (global (indt «nat»)) c0 \ global (indt «nat»)) X1 X2 ---->>---- exit: coq.env.add-const x (fun `n` (global (indt «nat»)) c0 \ app [global (indc «S»), c0]) (prod `n` (global (indt «nat»)) c0 \ global (indt «nat»)) X1 «x» ----<<---- enter: coq.say raw: (record foo (sort prop) Build_foo (field [coercion off, canonical tt] bar (global (indt «True»)) c0 \ end-record)) raw: record foo (sort prop) Build_foo (field [coercion off, canonical tt] bar (global (indt «True»)) c0 \ end-record) ---->>---- exit: coq.say raw: (record foo (sort prop) Build_foo (field [coercion off, canonical tt] bar (global (indt «True»)) c0 \ end-record)) ----<<---- enter: std.assert-ok! (coq.typecheck-indt-decl (record foo (sort prop) Build_foo (field [coercion off, canonical tt] bar (global (indt «True»)) c0 \ end-record))) Illtyped inductive declaration ---->>---- exit: std.assert-ok! (coq.typecheck-indt-decl (record foo (sort prop) Build_foo (field [coercion off, canonical tt] bar (global (indt «True»)) c0 \ end-record))) Illtyped inductive declaration ----<<---- enter: coq.say typed: (record foo (sort prop) Build_foo (field [coercion off, canonical tt] bar (global (indt «True»)) c0 \ end-record)) typed: record foo (sort prop) Build_foo (field [coercion off, canonical tt] bar (global (indt «True»)) c0 \ end-record) ---->>---- exit: coq.say typed: (record foo (sort prop) Build_foo (field [coercion off, canonical tt] bar (global (indt «True»)) c0 \ end-record)) ----<<---- enter: coq.env.add-indt (record foo (sort prop) Build_foo (field [coercion off, canonical tt] bar (global (indt «True»)) c0 \ end-record)) X0 Query assignments: F = «elpi.tests.test_API_module.R.F» FT = «elpi.tests.test_API_module.R.FT» L = [submodule «elpi.tests.test_API_module.R.S» [gref (const «R.S.x»)], module-type «elpi.tests.test_API_module.R.P1», module-type «elpi.tests.test_API_module.R.P2», «elpi.tests.test_API_module.R.F» module-functor [«elpi.tests.test_API_module.R.P1», «elpi.tests.test_API_module.R.P2»], «elpi.tests.test_API_module.R.FT» module-type-functor [«elpi.tests.test_API_module.R.P2», «elpi.tests.test_API_module.R.P1»], gref (const «R.a»)] P1 = «elpi.tests.test_API_module.R.P1» P2 = «elpi.tests.test_API_module.R.P2» R = «elpi.tests.test_API_module.R» S = «elpi.tests.test_API_module.R.S» ---->>---- exit: coq.env.add-indt (record foo (sort prop) Build_foo (field [coercion off, canonical tt] bar (global (indt «True»)) c0 \ end-record)) «foo» make[4]: Nothing to be done for 'real-all'. global (indt «nat») Query assignments: T = global (indt «nat») _uvk_5_ = global (indt «nat») _uvk_6_ = global (indt «nat») Universe constraints: UNIVERSES: {elpi.tests.test_API_typecheck.9 elpi.tests.test_API_typecheck.8 elpi.tests.test_API_typecheck.7 elpi.tests.test_API_typecheck.6 elpi.tests.test_API_typecheck.5} |= Set < elpi.tests.test_API_typecheck.7 elpi.tests.test_API_typecheck.8 < elpi.tests.test_API_typecheck.6 elpi.tests.test_API_typecheck.9 < elpi.tests.test_API_typecheck.5 Set <= elpi.tests.test_API_typecheck.8 Set <= elpi.tests.test_API_typecheck.9 elpi.tests.test_API_typecheck.8 <= list.u0 elpi.tests.test_API_typecheck.9 <= list.u0 ALGEBRAIC UNIVERSES: {} FLEXIBLE UNIVERSES: SORTS: α3 := Type α4 := Type α5 := Type WEAK CONSTRAINTS: COQC tests/test_link_order6.v B evar (X0) (global (indt «nat»)) X1 /* suspended on X0, X1 */ X0 global (indt «nat») evar (X2) (global (indt «nat»)) X3 /* suspended on X2, X3 */ hello eq_refl : one = 1 : one = 1 make[2]: Leaving directory '/build/reproducible-path/coq-elpi-2.1.0/apps/cs' make[2]: Entering directory '/build/reproducible-path/coq-elpi-2.1.0/apps/tc' Using coq found in /usr/bin//, from COQBIN or PATH fun `x` X0 c0 \ app [X1, c0] Query assignments: X = X1 Y = fun `x` X0 c0 \ app [X1, c0] _uvk_34_ = X0 «elpi.tests.test_API_typecheck.10» Query assignments: U = «elpi.tests.test_API_typecheck.10» Universe constraints: UNIVERSES: {elpi.tests.test_API_typecheck.10} |= Set <= elpi.tests.test_API_typecheck.10 ALGEBRAIC UNIVERSES: {elpi.tests.test_API_typecheck.10} FLEXIBLE UNIVERSES: elpi.tests.test_API_typecheck.10 SORTS: WEAK CONSTRAINTS: COQC tests/test_link_order7.v fun `r` (global (indt «nat»)) c0 \ fun `p` (prod `y` (global (indt «nat»)) c1 \ app [global (indt «eq»), global (indt «nat»), c1, global (indc «O»)]) c1 \ fun `q` (global (indt «bool»)) c2 \ prod `y` (global (indt «nat»)) c3 \ app [global (indt «eq»), global (indt «nat»), c3, global (indc «O»)] Query assignments: Spilled_1 = c0 \ c1 \ c2 \ prod `y` (global (indt «nat»)) c3 \ app [global (indt «eq»), global (indt «nat»), c3, global (indc «O»)] X = fun `r` (global (indt «nat»)) c0 \ fun `p` (prod `y` (global (indt «nat»)) c1 \ app [global (indt «eq»), global (indt «nat»), c1, global (indc «O»)]) c1 \ fun `q` (global (indt «bool»)) c2 \ prod `y` (global (indt «nat»)) c3 \ app [global (indt «eq»), global (indt «nat»), c3, global (indc «O»)] fun u : nat => {| val := oval u; Sub := Ord u; Sub_rect := inlined_sub_rect |} : forall u : nat, is_SUB nat (fun x : nat => leq x u) (ord u) parameter T X0 (sort (typ X1)) c0 \ record eq_class (sort (typ X2)) mk_eq_class (field [canonical ff, coercion regular] eq_f (global (indt «bool»)) c1 \ field X3 eq_proof (app [global (indt «eq»), global (indt «bool»), c1, c1]) c2 \ end-record) Query assignments: U = «foo» Query assignments: DECL = parameter T X0 (sort (typ «eq_class.u0»)) c0 \ record eq_class (sort (typ «eq_class.u1»)) mk_eq_class (field [canonical ff, coercion regular] eq_f (global (indt «bool»)) c1 \ field X3 eq_proof (app [global (indt «eq»), global (indt «bool»), c1, c1]) c2 \ end-record) GR = «eq_class» _uvk_1_ = «eq_class.u0» _uvk_2_ = «eq_class.u1» Universe constraints: UNIVERSES: ALGEBRAIC UNIVERSES: {eq_class.u1 eq_class.u0} FLEXIBLE UNIVERSES: eq_class.u1 eq_class.u0 SORTS: WEAK CONSTRAINTS: Record eq_class (T : Type@{eq_class.u0}) : Type@{eq_class.u1} := mk_eq_class { eq_f : bool; eq_proof : eq_f = eq_f }. Arguments eq_class T%type_scope Arguments mk_eq_class T%type_scope eq_f%bool_scope eq_proof fun x : eq_class nat => x : bool : eq_class nat -> bool p <- eq_proof ( xxx ) parameter A1 maximal (sort (typ «foo1.u0»)) c0 \ parameter A2 explicit c0 c1 \ inductive foo1 tt (parameter B1 explicit (sort (typ «foo1.u1»)) c2 \ parameter B2 explicit (sort (typ «foo1.u2»)) c3 \ arity (prod `_` (global (indt «nat»)) c4 \ sort (typ «foo1.u3»))) c2 \ [constructor a_k1 (parameter B1 explicit (sort (typ «foo1.u1»)) c3 \ parameter B2 explicit (sort (typ «foo1.u2»)) c4 \ arity (prod `x` (global (indt «nat»)) c5 \ prod `_` (app [c2, app [global (indt «prod»), c3, c3], c4, app [global (indc «S»), app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]]]) c6 \ app [c2, c3, c4, c5])), constructor a_k2 (parameter B1 explicit (sort (typ «foo1.u1»)) c3 \ parameter B2 explicit (sort (typ «foo1.u2»)) c4 \ arity (prod `_` c0 c5 \ app [c2, c3, c4, app [global (indc «S»), global (indc «O»)]]))] Query assignments: D = parameter A1 maximal (sort (typ «foo1.u0»)) c0 \ parameter A2 explicit c0 c1 \ inductive foo1 tt (parameter B1 explicit (sort (typ «foo1.u1»)) c2 \ parameter B2 explicit (sort (typ «foo1.u2»)) c3 \ arity (prod `_` (global (indt «nat»)) c4 \ sort (typ «foo1.u3»))) c2 \ [constructor a_k1 (parameter B1 explicit (sort (typ «foo1.u1»)) c3 \ parameter B2 explicit (sort (typ «foo1.u2»)) c4 \ arity (prod `x` (global (indt «nat»)) c5 \ prod `_` (app [c2, app [global (indt «prod»), c3, c3], c4, app [global (indc «S»), app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]]]) c6 \ app [c2, c3, c4, c5])), constructor a_k2 (parameter B1 explicit (sort (typ «foo1.u1»)) c3 \ parameter B2 explicit (sort (typ «foo1.u2»)) c4 \ arity (prod `_` c0 c5 \ app [c2, c3, c4, app [global (indc «S»), global (indc «O»)]]))] I = «inductive_nup.foo1» foo1 ?A2 ?B1 ?B2 ?n : Type : Type where ?A1 : [ |- Type] ?A2 : [ |- ?A1] ?B1 : [ |- Type] ?B2 : [ |- Type] ?n : [ |- nat] a_k1 ?A2 ?B1 ?B2 3 ?f : foo1 ?A2 ?B1 ?B2 3 : foo1 ?A2 ?B1 ?B2 3 where ?A1 : [ |- Type] ?A2 : [ |- ?A1] ?B1 : [ |- Type] ?B2 : [ |- Type] ?f : [ |- foo1 ?A2 (?B1 * ?B1) ?B2 3] Query assignments: GR = indc «Ord» K = global (indc «Ord») T = fun `u` X0 c0 \ app [global (indc «SubType»), X1 c0, X2 c0, X3 c0, app [global (const «oval»), c0], X4 c0, fun `K` (X5 c0) c1 \ fun `K_S` (X6 c0 c1) c2 \ fun `u` (X7 c0 c1 c2) c3 \ match c3 (fun `u0` (X8 c1 c2 c3) c4 \ app [c1, c4]) [fun `x` (X9 c1 c2 c3) c4 \ fun `Px` (X10 c1 c2 c3 c4) c5 \ app [c2, c4, c5]]] T1 = fun `u` (global (indt «nat»)) c0 \ app [global (indc «SubType»), global (indt «nat»), fun `x` (global (indt «nat»)) c1 \ app [global (const «leq»), c1, c0], app [global (indt «ord»), c0], app [global (const «oval»), c0], app [global (indc «Ord»), c0], fun `K` (prod `x` (app [global (indt «ord»), c0]) c1 \ sort (typ «is_SUB.u2»)) c1 \ fun `K_S` (prod `x` (global (indt «nat»)) c2 \ prod `Px` (app [global (indt «eq»), global (indt «bool»), app [fun `x` (global (indt «nat»)) c3 \ app [global (const «leq»), c3, c0], c2], global (indc «true»)]) c3 \ app [c1, app [global (indc «Ord»), c0, c2, c3]]) c2 \ fun `u0` (app [global (indt «ord»), c0]) c3 \ match c3 (fun `xxx` (app [global (indt «ord»), c0]) c4 \ app [c1, c4]) [fun `x` (global (indt «nat»)) c4 \ fun `Px` (app [global (indt «eq»), global (indt «bool»), app [global (const «leq»), c4, c0], global (indc «true»)]) c5 \ app [c2, c4, c5]]] _uvk_35_ = X0 _uvk_36_ = X1 _uvk_37_ = X2 _uvk_38_ = X3 _uvk_39_ = X4 _uvk_40_ = X5 _uvk_41_ = X6 _uvk_42_ = X7 _uvk_43_ = X8 _uvk_44_ = X9 _uvk_45_ = X10 _uvk_46_ = global (indt «nat») _uvk_47_ = c0 \ global (indt «nat») _uvk_48_ = c0 \ fun `x` (global (indt «nat»)) c1 \ app [global (const «leq»), c1, c0] _uvk_49_ = c0 \ app [global (indt «ord»), c0] _uvk_50_ = c0 \ app [global (const «oval»), c0] _uvk_51_ = c0 \ fun `K` (prod `x` (app [global (indt «ord»), c0]) c1 \ sort (typ «is_SUB.u2»)) c1 \ fun `K_S` (prod `x` (global (indt «nat»)) c2 \ prod `Px` (app [global (indt «eq»), global (indt «bool»), app [fun `x` (global (indt «nat»)) c3 \ app [global (const «leq»), c3, c0], c2], global (indc «true»)]) c3 \ app [c1, app [global (indc «Ord»), c0, c2, c3]]) c2 \ fun `u0` (app [global (indt «ord»), c0]) c3 \ match c3 (fun `xxx` (app [global (indt «ord»), c0]) c4 \ app [c1, c4]) [fun `x` (global (indt «nat»)) c4 \ fun `Px` (app [global (indt «eq»), global (indt «bool»), app [global (const «leq»), c4, c0], global (indc «true»)]) c5 \ app [c2, c4, c5]] Universe constraints: UNIVERSES: {elpi.tests.test_quotation.28 elpi.tests.test_quotation.27} |= Set <= is_SUB.u0 Set <= is_SUB.u1 Set <= elpi.tests.test_quotation.27 is_SUB.u2 <= elpi.tests.test_quotation.28 ALGEBRAIC UNIVERSES: {elpi.tests.test_quotation.28 elpi.tests.test_quotation.27} FLEXIBLE UNIVERSES: elpi.tests.test_quotation.28 elpi.tests.test_quotation.27 SORTS: α22 := Type α23 := Type WEAK CONSTRAINTS: sort (typ X0) Query assignments: _uvk_129_ = X0 Unable to unify "Set" with "Prop" (universe inconsistency: Cannot enforce Set <= Prop). Query assignments: E = Unable to unify "Set" with "Prop" (universe inconsistency: Cannot enforce Set <= Prop). COQC tests/test_link_order8.v Query assignments: GR = const «myc» eq_op myc t t : bool make[4]: Nothing to be done for 'real-all'. 1 : nat COQC tests/test_API_new_pred.v COQC tests/test_link_order_import0.v make[2]: Leaving directory '/build/reproducible-path/coq-elpi-2.1.0/apps/tc' Query assignments: X = c0 \ c1 \ c2 \ X0 c0 c1 c2 _uvk_19_ = global (indt «nat») Syntactic constraints: {c0 c1 c2 c3 c4 c5 c6} : decl c6 `z` (app [global (const «N»), c5]), decl c5 `x` (global (indt «nat»)), decl c4 `a` (global (indt «bool»)) ?- evar (X0 c4 c5 c6) (X1 c4 c5 c6) (X0 c4 c5 c6) /* suspended on X0 */ {c0 c1 c2 c3 c4 c5 c6} : decl c6 `z` (app [global (const «N»), c5]), decl c5 `x` (global (indt «nat»)), decl c4 `a` (global (indt «bool»)) ?- evar (X2 c4 c5 c6) (sort (typ «elpi.tests.test_HOAS.9»)) (X1 c4 c5 c6) /* suspended on X2, X1 */ Universe constraints: UNIVERSES: {elpi.tests.test_HOAS.9 elpi.tests.test_HOAS.8} |= Set <= elpi.tests.test_HOAS.8 elpi.tests.test_HOAS.8 <= elpi.tests.test_HOAS.8 ALGEBRAIC UNIVERSES: {} FLEXIBLE UNIVERSES: SORTS: α3 := Type α4 WEAK CONSTRAINTS: COQC tests/test_query_extra_dep.v Query assignments: DECL = parameter T X0 (sort (typ «prim_eq_class.u0»)) c0 \ record prim_eq_class (sort (typ «prim_eq_class.u1»)) mk_prim_eq_class (field [canonical ff, coercion reversible] prim_eq_f (global (indt «bool»)) c1 \ field X1 prim_eq_proof (app [global (indt «eq»), global (indt «bool»), c1, c1]) c2 \ end-record) GR = «prim_eq_class» _uvk_3_ = «prim_eq_class.u0» _uvk_4_ = «prim_eq_class.u1» Universe constraints: UNIVERSES: ALGEBRAIC UNIVERSES: {prim_eq_class.u1 prim_eq_class.u0} FLEXIBLE UNIVERSES: prim_eq_class.u1 prim_eq_class.u0 SORTS: WEAK CONSTRAINTS: fun r : prim_eq_class nat => eq_refl : r = {| prim_eq_f := r; prim_eq_proof := prim_eq_proof _ r |} : forall r : prim_eq_class nat, r = {| prim_eq_f := r; prim_eq_proof := prim_eq_proof _ r |} (* {} |= prim_eq_class.u1 <= eq.u0 *) COQC tests/test_toposort.v Query assignments: I = «inductive_nup.r» R = parameter A explicit (sort (typ «r.u0»)) c0 \ parameter a explicit c0 c1 \ record r (sort (typ «r.u0»)) R (field [coercion reversible, canonical tt] f (prod `_` c0 c2 \ c0) c2 \ field [coercion off, canonical tt] g c0 c3 \ field [coercion off, canonical tt] p (app [global (indt «eq»), c0, c1, c3]) c4 \ end-record) Record r (A : Type) (a : A) : Type := R { f : A -> A; g : A; p : a = g }. Arguments r A%type_scope a Arguments R A%type_scope a f%function_scope g p ----<<---- enter: coq.say raw: (inductive X1 tt (arity (sort prop)) c0 \ []) raw: inductive X1 tt (arity (sort prop)) c0 \ [] ---->>---- exit: coq.say raw: (inductive X1 tt (arity (sort prop)) c0 \ []) ----<<---- enter: std.assert-ok! (coq.typecheck-indt-decl (inductive X1 tt (arity (sort prop)) c0 \ [])) Illtyped inductive declaration ---->>---- exit: std.assert-ok! (coq.typecheck-indt-decl (inductive X1 tt (arity (sort prop)) c0 \ [])) Illtyped inductive declaration ----<<---- enter: coq.say typed: (inductive X1 tt (arity (sort prop)) c0 \ []) typed: inductive X1 tt (arity (sort prop)) c0 \ [] ---->>---- exit: coq.say typed: (inductive X1 tt (arity (sort prop)) c0 \ []) ----<<---- enter: coq.env.add-indt (inductive X1 tt (arity (sort prop)) c0 \ []) X0 ---->>---- exit: coq.env.add-indt (inductive X1 tt (arity (sort prop)) c0 \ []) «X1» X1 : Prop X1 is not universe polymorphic Expands to: Inductive elpi.tests.test_arg_HOAS.X1 COQC tests/test_synterp.v foo : nat : nat Query assignments: L = [cs-instance (const «carrier») (cs-gref (const «W»)) (const «myc»), cs-instance (const «eq_op») (cs-gref (const «Z»)) (const «myc»)] bar : bool -> nat : bool -> nat Query assignments: S = sort (typ «elpi.tests.test_elaborator.48») T = sort (typ «elpi.tests.test_elaborator.47») _uvk_130_ = «elpi.tests.test_elaborator.47» Universe constraints: UNIVERSES: {elpi.tests.test_elaborator.48 elpi.tests.test_elaborator.47} |= elpi.tests.test_elaborator.47 < elpi.tests.test_elaborator.48 ALGEBRAIC UNIVERSES: {elpi.tests.test_elaborator.47} FLEXIBLE UNIVERSES: elpi.tests.test_elaborator.47 SORTS: WEAK CONSTRAINTS: COQC tests/test_checker.v COQC tests/test_replay.v COQC tests/test_vernacular2.v [(c4 \ app [c1, c2]), (c4 \ app [c0, c2]), (c4 \ c4), (c4 \ prod `x0` (app [c0, c2]) c5 \ prod `x1` (global (indt «nat»)) c6 \ sort (typ «elpi.tests.test_tactic.16»))] [app [global (indt «eq»), global (indt «nat»), c2, app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]], sort prop] fun `r` (app [global (indt «prim_eq_class»), global (indt «nat»)]) c0 \ app [primitive (proj elpi.tests.test_API_env.prim_eq_f 1), c0] Query assignments: I = «eq» P1 = «carrier» P2 = «eq_op» Query assignments: GR = «nat» test1 str hello str x ----<<---- enter: coq.say raw: (inductive X3 tt (arity (sort (typ «elpi.tests.test_arg_HOAS.131»))) c0 \ []) (upoly-decl [«elpi.tests.test_arg_HOAS.131»] tt [] tt) raw: inductive X3 tt (arity (sort (typ «elpi.tests.test_arg_HOAS.131»))) c0 \ [] upoly-decl [«elpi.tests.test_arg_HOAS.131»] tt [] tt ---->>---- exit: coq.say raw: (inductive X3 tt (arity (sort (typ «elpi.tests.test_arg_HOAS.131»))) c0 \ []) (upoly-decl [«elpi.tests.test_arg_HOAS.131»] tt [] tt) ----<<---- enter: coq.univ.print Universe constraints: UNIVERSES: {eu1} |= ALGEBRAIC UNIVERSES: {} FLEXIBLE UNIVERSES: eu1 SORTS: WEAK CONSTRAINTS: ---->>---- exit: coq.univ.print ----<<---- enter: std.assert-ok! (coq.typecheck-indt-decl (inductive X3 tt (arity (sort (typ «elpi.tests.test_arg_HOAS.131»))) c0 \ [])) Illtyped inductive declaration ---->>---- exit: std.assert-ok! (coq.typecheck-indt-decl (inductive X3 tt (arity (sort (typ «elpi.tests.test_arg_HOAS.131»))) c0 \ [])) Illtyped inductive declaration ----<<---- enter: coq.say typed: (inductive X3 tt (arity (sort (typ «elpi.tests.test_arg_HOAS.131»))) c0 \ []) typed: inductive X3 tt (arity (sort (typ «elpi.tests.test_arg_HOAS.131»))) c0 \ [] ---->>---- exit: coq.say typed: (inductive X3 tt (arity (sort (typ «elpi.tests.test_arg_HOAS.131»))) c0 \ []) ----<<---- enter: coq.upoly-decl->attribute (upoly-decl [«elpi.tests.test_arg_HOAS.131»] tt [] tt) X0 ---->>---- exit: coq.upoly-decl->attribute (upoly-decl [«elpi.tests.test_arg_HOAS.131»] tt [] tt) (get-option coq:udecl (upoly-decl [«elpi.tests.test_arg_HOAS.131»] tt [] tt)) ----<<---- enter: get-option coq:udecl (upoly-decl [«elpi.tests.test_arg_HOAS.131»] tt [] tt) => coq.env.add-indt (inductive X3 tt (arity (sort (typ «elpi.tests.test_arg_HOAS.131»))) c0 \ []) X1 ---->>---- exit: get-option coq:udecl (upoly-decl [«elpi.tests.test_arg_HOAS.131»] tt [] tt) => coq.env.add-indt (inductive X3 tt (arity (sort (typ «elpi.tests.test_arg_HOAS.131»))) c0 \ []) «X3» test1 too many arguments File "./tests/test_vernacular2.v", line 6, characters 2-17: Warning: This command does not support this attribute: fwd_compat_attr. [unsupported-attributes,parsing,default] File "./tests/test_vernacular2.v", line 7, characters 2-17: Warning: This command does not support this attribute: fwd_compat_attr. [unsupported-attributes,parsing,default] File "./tests/test_vernacular2.v", line 8, characters 2-17: Warning: This command does not support this attribute: fwd_compat_attr. [unsupported-attributes,parsing,default] ----<<---- enter: coq.say raw: (inductive X4 tt (arity (sort (typ «elpi.tests.test_arg_HOAS.139»))) c0 \ []) (upoly-decl-cumul [auto «elpi.tests.test_arg_HOAS.139»] tt [] tt) raw: inductive X4 tt (arity (sort (typ «elpi.tests.test_arg_HOAS.139»))) c0 \ [] upoly-decl-cumul [auto «elpi.tests.test_arg_HOAS.139»] tt [] tt ---->>---- exit: coq.say raw: (inductive X4 tt (arity (sort (typ «elpi.tests.test_arg_HOAS.139»))) c0 \ []) (upoly-decl-cumul [auto «elpi.tests.test_arg_HOAS.139»] tt [] tt) ----<<---- enter: coq.univ.print Universe constraints: UNIVERSES: {eu2} |= ALGEBRAIC UNIVERSES: {} FLEXIBLE UNIVERSES: eu2 SORTS: WEAK CONSTRAINTS: ---->>---- exit: coq.univ.print ----<<---- enter: std.assert-ok! (coq.typecheck-indt-decl (inductive X4 tt (arity (sort (typ «elpi.tests.test_arg_HOAS.139»))) c0 \ [])) Illtyped inductive declaration ---->>---- exit: std.assert-ok! (coq.typecheck-indt-decl (inductive X4 tt (arity (sort (typ «elpi.tests.test_arg_HOAS.139»))) c0 \ [])) Illtyped inductive declaration ----<<---- enter: coq.say typed: (inductive X4 tt (arity (sort (typ «elpi.tests.test_arg_HOAS.139»))) c0 \ []) typed: inductive X4 tt (arity (sort (typ «elpi.tests.test_arg_HOAS.139»))) c0 \ [] ---->>---- exit: coq.say typed: (inductive X4 tt (arity (sort (typ «elpi.tests.test_arg_HOAS.139»))) c0 \ []) ----<<---- enter: coq.upoly-decl->attribute (upoly-decl-cumul [auto «elpi.tests.test_arg_HOAS.139»] tt [] tt) X0 ---->>---- exit: coq.upoly-decl->attribute (upoly-decl-cumul [auto «elpi.tests.test_arg_HOAS.139»] tt [] tt) (get-option coq:udecl-cumul (upoly-decl-cumul [auto «elpi.tests.test_arg_HOAS.139»] tt [] tt)) ----<<---- enter: get-option coq:udecl-cumul (upoly-decl-cumul [auto «elpi.tests.test_arg_HOAS.139»] tt [] tt) => coq.env.add-indt (inductive X4 tt (arity (sort (typ «elpi.tests.test_arg_HOAS.139»))) c0 \ []) X1 ---->>---- exit: get-option coq:udecl-cumul (upoly-decl-cumul [auto «elpi.tests.test_arg_HOAS.139»] tt [] tt) => coq.env.add-indt (inductive X4 tt (arity (sort (typ «elpi.tests.test_arg_HOAS.139»))) c0 \ []) «X4» X3@{eu1} : Type@{eu1} (* eu1 |= *) X3 is universe polymorphic Expands to: Inductive elpi.tests.test_arg_HOAS.X3 X4@{eu2} : Type@{eu2} (* *eu2 |= *) X4 is universe polymorphic Expands to: Inductive elpi.tests.test_arg_HOAS.X4 COQC tests/test_ltac2.v synterp [str X] interp [str X] synterp [int 1] interp [int 1] synterp [trm _] interp [trm (app [global (indc «S»), global (indc «O»)])] synterp [const-decl x (some _) (parameter P explicit _ c0 \ parameter Q explicit _ c1 \ arity _)] interp [const-decl x (some (fun `P` (global (indt «bool»)) c0 \ fun `Q` (global (indt «bool»)) c1 \ global (indc «O»))) (parameter P explicit (global (indt «bool»)) c0 \ parameter Q explicit (global (indt «bool»)) c1 \ arity (global (indt «nat»)))] synterp [const-decl x none (parameter P explicit _ c0 \ parameter Q explicit _ c1 \ arity _)] interp [const-decl x none (parameter P explicit (global (indt «bool»)) c0 \ parameter Q explicit (global (indt «bool»)) c1 \ arity (global (indt «nat»)))] synterp [indt-decl (parameter P explicit _ c0 \ parameter Q explicit _ c1 \ record x _ K (field [coercion off, canonical tt] f1 _ c2 \ field [coercion off, canonical tt] f2 _ c3 \ end-record))] interp [indt-decl (parameter P explicit (global (indt «bool»)) c0 \ parameter Q explicit (global (indt «bool»)) c1 \ record x (sort (typ «Set»)) K (field [coercion off, canonical tt] f1 (global (indt «nat»)) c2 \ field [coercion off, canonical tt] f2 (app [global (indt «eq»), global (indt «nat»), c2, c2]) c3 \ end-record))] synterp [indt-decl (parameter P explicit _ c0 \ inductive x tt (parameter Q explicit _ c1 \ arity _) c1 \ [constructor K (parameter Q explicit _ c2 \ arity _), constructor R (parameter Q explicit _ c2 \ arity _)])] Query assignments: GR = const «myc1» interp [indt-decl (parameter P explicit (global (indt «bool»)) c0 \ inductive x tt (parameter Q explicit (global (indt «bool»)) c1 \ arity (prod `_` (global (indt «nat»)) c2 \ sort (typ «Set»))) c1 \ [constructor K (parameter Q explicit (global (indt «bool»)) c2 \ arity (prod `_` (global (indt «nat»)) c3 \ app [c1, c2, app [global (indc «S»), app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]]])), constructor R (parameter Q explicit (global (indt «bool»)) c2 \ arity (prod `w` (global (indt «bool»)) c3 \ app [c1, c2, app [global (indc «S»), global (indc «O»)]]))])] eq_op myc1 t1 t1 : bool synterp [ctx-decl (context-item A explicit _ none c0 \ context-item B explicit _ none c1 \ context-end)] interp [ctx-decl (context-item A explicit (global (indt «nat»)) none c0 \ context-item B explicit (global (indt «bool»)) none c1 \ context-end)] synterp [str X] interp [str X] synterp [int 1] interp [int 1] synterp [trm _] interp [trm (app [global (indc «S»), global (indc «O»)])] synterp [const-decl x (some _) (parameter P explicit _ c0 \ parameter Q explicit _ c1 \ arity _)] interp [const-decl x (some (fun `P` (global (indt «bool»)) c0 \ fun `Q` (global (indt «bool»)) c1 \ global (indc «O»))) (parameter P explicit (global (indt «bool»)) c0 \ parameter Q explicit (global (indt «bool»)) c1 \ arity (global (indt «nat»)))] synterp [const-decl x none (parameter P explicit _ c0 \ parameter Q explicit _ c1 \ arity _)] interp [const-decl x none (parameter P explicit (global (indt «bool»)) c0 \ parameter Q explicit (global (indt «bool»)) c1 \ arity (global (indt «nat»)))] synterp [indt-decl (parameter P explicit _ c0 \ parameter Q explicit _ c1 \ record x _ K (field [coercion off, canonical tt] f1 _ c2 \ field [coercion off, canonical tt] f2 _ c3 \ end-record))] interp [indt-decl (parameter P explicit (global (indt «bool»)) c0 \ parameter Q explicit (global (indt «bool»)) c1 \ record x (sort (typ «Set»)) K (field [coercion off, canonical tt] f1 (global (indt «nat»)) c2 \ field [coercion off, canonical tt] f2 (app [global (indt «eq»), global (indt «nat»), c2, c2]) c3 \ end-record))] synterp [indt-decl (parameter P explicit _ c0 \ inductive x tt (parameter Q explicit _ c1 \ arity _) c1 \ [constructor K (parameter Q explicit _ c2 \ arity _), constructor R (parameter Q explicit _ c2 \ arity _)])] interp [indt-decl (parameter P explicit (global (indt «bool»)) c0 \ inductive x tt (parameter Q explicit (global (indt «bool»)) c1 \ arity (prod `_` (global (indt «nat»)) c2 \ sort (typ «Set»))) c1 \ [constructor K (parameter Q explicit (global (indt «bool»)) c2 \ arity (prod `_` (global (indt «nat»)) c3 \ app [c1, c2, app [global (indc «S»), app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]]])), constructor R (parameter Q explicit (global (indt «bool»)) c2 \ arity (prod `w` (global (indt «bool»)) c3 \ app [c1, c2, app [global (indc «S»), global (indc «O»)]]))])] synterp [ctx-decl (context-item A explicit _ none c0 \ context-item B explicit _ none c1 \ context-end)] interp [ctx-decl (context-item A explicit (global (indt «nat»)) none c0 \ context-item B explicit (global (indt «bool»)) none c1 \ context-end)] a : nat a is not universe polymorphic a is transparent Expands to: Constant elpi.tests.test_synterp.X.a Module X := Struct Definition a : nat. End Module A := Struct Definition a : nat. End COQC tests/test_libobject_B.v Query assignments: S = sort (typ «elpi.tests.test_elaborator.50») T = sort (typ «elpi.tests.test_elaborator.49») TW = sort (typ «elpi.tests.test_elaborator.49») W = sort (typ «elpi.tests.test_elaborator.51») _uvk_131_ = «elpi.tests.test_elaborator.49» _uvk_132_ = «elpi.tests.test_elaborator.51» Universe constraints: UNIVERSES: {elpi.tests.test_elaborator.51 elpi.tests.test_elaborator.50 elpi.tests.test_elaborator.49} |= elpi.tests.test_elaborator.49 < elpi.tests.test_elaborator.50 elpi.tests.test_elaborator.51 < elpi.tests.test_elaborator.49 ALGEBRAIC UNIVERSES: {elpi.tests.test_elaborator.51 elpi.tests.test_elaborator.49} FLEXIBLE UNIVERSES: elpi.tests.test_elaborator.51 elpi.tests.test_elaborator.49 SORTS: WEAK CONSTRAINTS: 1356 : nat Query assignments: C = «pc» it = elpi_subproof : True it : True it is not universe polymorphic it is transparent Expands to: Constant elpi.tests.test_ltac.it elpi_subproof = I : True elpi_subproof : True elpi_subproof is not universe polymorphic elpi_subproof is opaque Expands to: Constant elpi.tests.test_ltac.elpi_subproof Closed under the global context this 3 app [c4, X0 c0 c1 c2 c3 c4] app [c3, app [c1, c2], global (const «a»)] foo.bar COQC tests/test_link_order9.v ---------------------------------- {c0 c1} : decl c1 `a` (global (indt «bool»)) ?- evar X0 (sort (typ «elpi.tests.test_HOAS.10»)) X1 /* suspended on X0, X1 */ {c0 c1} : decl c1 `a` (global (indt «bool»)) ?- evar (X2 c1) X1 (X2 c1) /* suspended on X2 */ EVARS: ?X10==[ |- Type] (internal placeholder) {?elpi_evar} ?X9==[a |- ?elpi_evar] (internal placeholder) {?e0} ?X8==[a |- => ?elpi_evar] (internal placeholder) SHELF: FUTURE GOALS STACK:?X10 ?X9 Coq-Elpi mapping: RAW: ?X9 <-> c0 \ X2 c0 ?X10 <-> X0 ELAB: ?X9 <-> X2 ?X10 <-> X1 X2 c0 : X1 Query assignments: TY = X1 X = c0 \ c1 \ X2 c0 Syntactic constraints: {c0 c1} : decl c1 `a` (global (indt «bool»)) ?- evar X0 (sort (typ «elpi.tests.test_HOAS.10»)) X1 /* suspended on X0, X1 */ {c0 c1} : decl c1 `a` (global (indt «bool»)) ?- evar (X2 c1) X1 (X2 c1) /* suspended on X2 */ Universe constraints: UNIVERSES: {elpi.tests.test_HOAS.10} |= ALGEBRAIC UNIVERSES: {} FLEXIBLE UNIVERSES: SORTS: α5 WEAK CONSTRAINTS: Query assignments: P = /build/reproducible-path/coq-elpi-2.1.0/elpi/elpi_elaborator.elpi a : nat Query assignments: GR = indt «X3» Universe constraints: UNIVERSES: {elpi.tests.test_arg_HOAS.147} |= ALGEBRAIC UNIVERSES: {} FLEXIBLE UNIVERSES: elpi.tests.test_arg_HOAS.147 SORTS: WEAK CONSTRAINTS: COQC tests/test_link_order_import1.v L= [p 1] COQC tests/test_link_order_import2.v Query assignments: P = const «eq_op» File "./tests/test_vernacular2.v", line 9, characters 2-17: Warning: This command does not support this attribute: fwd_compat_attr. [unsupported-attributes,parsing,default] File "./tests/test_vernacular2.v", line 10, characters 2-17: Warning: This command does not support this attribute: fwd_compat_attr. [unsupported-attributes,parsing,default] ########################## testing APPS ############################ make[2]: Entering directory '/build/reproducible-path/coq-elpi-2.1.0/apps/derive' Using coq found in /usr/bin//, from COQBIN or PATH Warning: ../../theories (used in -R or -Q) is not a subdirectory of the current directory Debug: elpi lets escape exception: API coq.env.add-const cannot be used in tactics File "./tests/test_HOAS.v", line 127, characters 0-34: Warning: Use of “Require” inside a module is fragile. It is not recommended to use this functionality in finished proof scripts. [require-in-module,fragile,default] Raw term: app [global (const «add»), primitive (uint63 2000000003333002), primitive (uint63 1)] Nice term: add 2000000003333002 1 Red: 2000000003333003 File "./tests/test_HOAS.v", line 131, characters 0-34: Warning: Use of “Require” inside a module is fragile. It is not recommended to use this functionality in finished proof scripts. [require-in-module,fragile,default] Raw term: app [global (const «add»), primitive (float64 24000000000000), primitive (float64 1)] Nice term: 24000000000000 + 1 Red: 24000000000001 Debug: Cannot enforce elpi.tests.test_elaborator.52 < elpi.tests.test_elaborator.52 because elpi.tests.test_elaborator.52 = elpi.tests.test_elaborator.52 Query assignments: X = sort (typ X0) _uvk_133_ = X0 Universe constraints: UNIVERSES: ALGEBRAIC UNIVERSES: {myind.u0} FLEXIBLE UNIVERSES: myind.u0 SORTS: WEAK CONSTRAINTS: myind true false : Prop : Prop K2 true : myind true true : myind true true myind1 true false : Prop : Prop K21 true : myind1 true true : myind1 true true COQDEP VFILES Query assignments: GR = indt «X4» Universe constraints: UNIVERSES: {elpi.tests.test_arg_HOAS.148} |= ALGEBRAIC UNIVERSES: {} FLEXIBLE UNIVERSES: elpi.tests.test_arg_HOAS.148 SORTS: WEAK CONSTRAINTS: ----<<---- enter: coq.say raw: (inductive X5 tt (arity (sort (typ «elpi.tests.test_arg_HOAS.149»))) c0 \ []) (upoly-decl [«elpi.tests.test_arg_HOAS.149»] ff [] ff) raw: inductive X5 tt (arity (sort (typ «elpi.tests.test_arg_HOAS.149»))) c0 \ [] upoly-decl [«elpi.tests.test_arg_HOAS.149»] ff [] ff ---->>---- exit: coq.say raw: (inductive X5 tt (arity (sort (typ «elpi.tests.test_arg_HOAS.149»))) c0 \ []) (upoly-decl [«elpi.tests.test_arg_HOAS.149»] ff [] ff) ----<<---- enter: coq.univ.print Universe constraints: UNIVERSES: {eu3} |= ALGEBRAIC UNIVERSES: {} FLEXIBLE UNIVERSES: eu3 SORTS: WEAK CONSTRAINTS: ---->>---- exit: coq.univ.print ----<<---- enter: std.assert-ok! (coq.typecheck-indt-decl (inductive X5 tt (arity (sort (typ «elpi.tests.test_arg_HOAS.149»))) c0 \ [])) Illtyped inductive declaration ---->>---- exit: std.assert-ok! (coq.typecheck-indt-decl (inductive X5 tt (arity (sort (typ «elpi.tests.test_arg_HOAS.149»))) c0 \ [])) Illtyped inductive declaration ----<<---- enter: coq.say typed: (inductive X5 tt (arity (sort (typ «elpi.tests.test_arg_HOAS.149»))) c0 \ []) typed: inductive X5 tt (arity (sort (typ «elpi.tests.test_arg_HOAS.149»))) c0 \ [] ---->>---- exit: coq.say typed: (inductive X5 tt (arity (sort (typ «elpi.tests.test_arg_HOAS.149»))) c0 \ []) ----<<---- enter: coq.upoly-decl->attribute (upoly-decl [«elpi.tests.test_arg_HOAS.149»] ff [] ff) X0 ---->>---- exit: coq.upoly-decl->attribute (upoly-decl [«elpi.tests.test_arg_HOAS.149»] ff [] ff) (get-option coq:udecl (upoly-decl [«elpi.tests.test_arg_HOAS.149»] ff [] ff)) ----<<---- enter: get-option coq:udecl (upoly-decl [«elpi.tests.test_arg_HOAS.149»] ff [] ff) => coq.env.add-indt (inductive X5 tt (arity (sort (typ «elpi.tests.test_arg_HOAS.149»))) c0 \ []) X1 ---->>---- exit: get-option coq:udecl (upoly-decl [«elpi.tests.test_arg_HOAS.149»] ff [] ff) => coq.env.add-indt (inductive X5 tt (arity (sort (typ «elpi.tests.test_arg_HOAS.149»))) c0 \ []) «X5» X5@{eu3} : Type@{eu3} (* eu3 |= *) X5 is universe polymorphic Expands to: Inductive elpi.tests.test_arg_HOAS.X5 ----<<---- enter: coq.say raw: (inductive X6 tt (arity (sort (typ «elpi.tests.test_arg_HOAS.158»))) c0 \ [constructor K (arity (prod `u` (sort (typ «elpi.tests.test_arg_HOAS.157»)) c1 \ c0))]) (upoly-decl [«elpi.tests.test_arg_HOAS.157», «elpi.tests.test_arg_HOAS.158»] ff [lt «elpi.tests.test_arg_HOAS.157» «elpi.tests.test_arg_HOAS.158»] ff) raw: inductive X6 tt (arity (sort (typ «elpi.tests.test_arg_HOAS.158»))) c0 \ [constructor K (arity (prod `u` (sort (typ «elpi.tests.test_arg_HOAS.157»)) c1 \ c0))] upoly-decl [«elpi.tests.test_arg_HOAS.157», «elpi.tests.test_arg_HOAS.158»] ff [lt «elpi.tests.test_arg_HOAS.157» «elpi.tests.test_arg_HOAS.158»] ff ---->>---- exit: coq.say raw: (inductive X6 tt (arity (sort (typ «elpi.tests.test_arg_HOAS.158»))) c0 \ [constructor K (arity (prod `u` (sort (typ «elpi.tests.test_arg_HOAS.157»)) c1 \ c0))]) (upoly-decl [«elpi.tests.test_arg_HOAS.157», «elpi.tests.test_arg_HOAS.158»] ff [lt «elpi.tests.test_arg_HOAS.157» «elpi.tests.test_arg_HOAS.158»] ff) ----<<---- enter: coq.univ.print Universe constraints: UNIVERSES: {eu5 eu4} |= eu4 < eu5 ALGEBRAIC UNIVERSES: {} FLEXIBLE UNIVERSES: eu5 eu4 SORTS: WEAK CONSTRAINTS: ---->>---- exit: coq.univ.print ----<<---- enter: std.assert-ok! (coq.typecheck-indt-decl (inductive X6 tt (arity (sort (typ «elpi.tests.test_arg_HOAS.158»))) c0 \ [constructor K (arity (prod `u` (sort (typ «elpi.tests.test_arg_HOAS.157»)) c1 \ c0))])) Illtyped inductive declaration ---->>---- exit: std.assert-ok! (coq.typecheck-indt-decl (inductive X6 tt (arity (sort (typ «elpi.tests.test_arg_HOAS.158»))) c0 \ [constructor K (arity (prod `u` (sort (typ «elpi.tests.test_arg_HOAS.157»)) c1 \ c0))])) Illtyped inductive declaration ----<<---- enter: coq.say typed: (inductive X6 tt (arity (sort (typ «elpi.tests.test_arg_HOAS.158»))) c0 \ [constructor K (arity (prod `u` (sort (typ «elpi.tests.test_arg_HOAS.157»)) c1 \ c0))]) typed: inductive X6 tt (arity (sort (typ «elpi.tests.test_arg_HOAS.158»))) c0 \ [constructor K (arity (prod `u` (sort (typ «elpi.tests.test_arg_HOAS.157»)) c1 \ c0))] ---->>---- exit: coq.say typed: (inductive X6 tt (arity (sort (typ «elpi.tests.test_arg_HOAS.158»))) c0 \ [constructor K (arity (prod `u` (sort (typ «elpi.tests.test_arg_HOAS.157»)) c1 \ c0))]) ----<<---- enter: coq.upoly-decl->attribute (upoly-decl [«elpi.tests.test_arg_HOAS.157», «elpi.tests.test_arg_HOAS.158»] ff [lt «elpi.tests.test_arg_HOAS.157» «elpi.tests.test_arg_HOAS.158»] ff) X0 ---->>---- exit: coq.upoly-decl->attribute (upoly-decl [«elpi.tests.test_arg_HOAS.157», «elpi.tests.test_arg_HOAS.158»] ff [lt «elpi.tests.test_arg_HOAS.157» «elpi.tests.test_arg_HOAS.158»] ff) (get-option coq:udecl (upoly-decl [«elpi.tests.test_arg_HOAS.157», «elpi.tests.test_arg_HOAS.158»] ff [lt «elpi.tests.test_arg_HOAS.157» «elpi.tests.test_arg_HOAS.158»] ff)) ----<<---- enter: get-option coq:udecl (upoly-decl [«elpi.tests.test_arg_HOAS.157», «elpi.tests.test_arg_HOAS.158»] ff [lt «elpi.tests.test_arg_HOAS.157» «elpi.tests.test_arg_HOAS.158»] ff) => coq.env.add-indt (inductive X6 tt (arity (sort (typ «elpi.tests.test_arg_HOAS.158»))) c0 \ [constructor K (arity (prod `u` (sort (typ «elpi.tests.test_arg_HOAS.157»)) c1 \ c0))]) X1 ---->>---- exit: get-option coq:udecl (upoly-decl [«elpi.tests.test_arg_HOAS.157», «elpi.tests.test_arg_HOAS.158»] ff [lt «elpi.tests.test_arg_HOAS.157» «elpi.tests.test_arg_HOAS.158»] ff) => coq.env.add-indt (inductive X6 tt (arity (sort (typ «elpi.tests.test_arg_HOAS.158»))) c0 \ [constructor K (arity (prod `u` (sort (typ «elpi.tests.test_arg_HOAS.157»)) c1 \ c0))]) «X6» X6@{eu4 eu5} : Type@{eu5} (* eu4 eu5 |= eu4 < eu5 *) X6 is universe polymorphic Expands to: Inductive elpi.tests.test_arg_HOAS.X6 ----<<---- enter: coq.say raw: (inductive X8 tt (arity (sort (typ X0))) c0 \ []) (upoly-decl [] tt [] tt) raw: inductive X8 tt (arity (sort (typ X0))) c0 \ [] upoly-decl [] tt [] tt ---->>---- exit: coq.say raw: (inductive X8 tt (arity (sort (typ X0))) c0 \ []) (upoly-decl [] tt [] tt) ----<<---- enter: coq.univ.print Universe constraints: ---->>---- exit: coq.univ.print ----<<---- enter: get-option coq:keepunivs tt => std.assert-ok! (coq.elaborate-indt-decl-skeleton (inductive X8 tt (arity (sort (typ X0))) c0 \ []) X1) Illtyped inductive declaration ---->>---- exit: get-option coq:keepunivs tt => std.assert-ok! (coq.elaborate-indt-decl-skeleton (inductive X8 tt (arity (sort (typ «elpi.tests.test_arg_HOAS.173»))) c0 \ []) (inductive X8 tt (arity (sort (typ «elpi.tests.test_arg_HOAS.173»))) c0 \ [])) Illtyped inductive declaration ----<<---- enter: coq.say typed: (inductive X8 tt (arity (sort (typ «elpi.tests.test_arg_HOAS.173»))) c0 \ []) typed: inductive X8 tt (arity (sort (typ «elpi.tests.test_arg_HOAS.173»))) c0 \ [] ---->>---- exit: coq.say typed: (inductive X8 tt (arity (sort (typ «elpi.tests.test_arg_HOAS.173»))) c0 \ []) ----<<---- enter: coq.upoly-decl->attribute (upoly-decl [] tt [] tt) X2 ---->>---- exit: coq.upoly-decl->attribute (upoly-decl [] tt [] tt) (get-option coq:udecl (upoly-decl [] tt [] tt)) ----<<---- enter: get-option coq:udecl (upoly-decl [] tt [] tt) => coq.env.add-indt (inductive X8 tt (arity (sort (typ «elpi.tests.test_arg_HOAS.173»))) c0 \ []) X3 ---->>---- exit: get-option coq:udecl (upoly-decl [] tt [] tt) => coq.env.add-indt (inductive X8 tt (arity (sort (typ «elpi.tests.test_arg_HOAS.173»))) c0 \ []) «X8» X8@{u} : Type@{u} (* u |= *) X8 is universe polymorphic Expands to: Inductive elpi.tests.test_arg_HOAS.X8 ----<<---- enter: coq.arity->term (parameter T explicit (sort (typ «elpi.tests.test_arg_HOAS.181»)) c0 \ parameter x explicit c0 c1 \ arity c0) X0 ---->>---- exit: coq.arity->term (parameter T explicit (sort (typ «elpi.tests.test_arg_HOAS.181»)) c0 \ parameter x explicit c0 c1 \ arity c0) (prod `T` (sort (typ «elpi.tests.test_arg_HOAS.181»)) c0 \ prod `x` c0 c1 \ c0) ----<<---- enter: std.assert-ok! (coq.typecheck (fun `T` (sort (typ «elpi.tests.test_arg_HOAS.181»)) c0 \ fun `x` c0 c1 \ c1) (prod `T` (sort (typ «elpi.tests.test_arg_HOAS.181»)) c0 \ prod `x` c0 c1 \ c0)) illtyped definition ---->>---- exit: std.assert-ok! (coq.typecheck (fun `T` (sort (typ «elpi.tests.test_arg_HOAS.181»)) c0 \ fun `x` c0 c1 \ c1) (prod `T` (sort (typ «elpi.tests.test_arg_HOAS.181»)) c0 \ prod `x` c0 c1 \ c0)) illtyped definition ----<<---- enter: coq.upoly-decl->attribute (upoly-decl [] tt [] tt) X1 ---->>---- exit: coq.upoly-decl->attribute (upoly-decl [] tt [] tt) (get-option coq:udecl (upoly-decl [] tt [] tt)) ----<<---- enter: get-option coq:udecl (upoly-decl [] tt [] tt) => coq.env.add-const f1 (fun `T` (sort (typ «elpi.tests.test_arg_HOAS.181»)) c0 \ fun `x` c0 c1 \ c1) (prod `T` (sort (typ «elpi.tests.test_arg_HOAS.181»)) c0 \ prod `x` c0 c1 \ c0) X2 X3 ---->>---- exit: get-option coq:udecl (upoly-decl [] tt [] tt) => coq.env.add-const f1 (fun `T` (sort (typ «elpi.tests.test_arg_HOAS.181»)) c0 \ fun `x` c0 c1 \ c1) (prod `T` (sort (typ «elpi.tests.test_arg_HOAS.181»)) c0 \ prod `x` c0 c1 \ c0) X2 «f1» f1@{u} : forall T : Type@{u}, T -> T (* u |= *) f1 is universe polymorphic Arguments f1 T%type_scope x f1 is transparent Expands to: Constant elpi.tests.test_arg_HOAS.f1 ----<<---- enter: coq.arity->term (parameter T explicit (sort (typ «elpi.tests.test_arg_HOAS.182»)) c0 \ parameter T1 explicit (sort (typ «elpi.tests.test_arg_HOAS.182»)) c1 \ parameter x explicit c0 c2 \ arity c0) X0 ---->>---- exit: coq.arity->term (parameter T explicit (sort (typ «elpi.tests.test_arg_HOAS.182»)) c0 \ parameter T1 explicit (sort (typ «elpi.tests.test_arg_HOAS.182»)) c1 \ parameter x explicit c0 c2 \ arity c0) (prod `T` (sort (typ «elpi.tests.test_arg_HOAS.182»)) c0 \ prod `T1` (sort (typ «elpi.tests.test_arg_HOAS.182»)) c1 \ prod `x` c0 c2 \ c0) ----<<---- enter: std.assert-ok! (coq.typecheck (fun `T` (sort (typ «elpi.tests.test_arg_HOAS.182»)) c0 \ fun `T1` (sort (typ «elpi.tests.test_arg_HOAS.182»)) c1 \ fun `x` c0 c2 \ c2) (prod `T` (sort (typ «elpi.tests.test_arg_HOAS.182»)) c0 \ prod `T1` (sort (typ «elpi.tests.test_arg_HOAS.182»)) c1 \ prod `x` c0 c2 \ c0)) illtyped definition ---->>---- exit: std.assert-ok! (coq.typecheck (fun `T` (sort (typ «elpi.tests.test_arg_HOAS.182»)) c0 \ fun `T1` (sort (typ «elpi.tests.test_arg_HOAS.182»)) c1 \ fun `x` c0 c2 \ c2) (prod `T` (sort (typ «elpi.tests.test_arg_HOAS.182»)) c0 \ prod `T1` (sort (typ «elpi.tests.test_arg_HOAS.182»)) c1 \ prod `x` c0 c2 \ c0)) illtyped definition ----<<---- enter: coq.upoly-decl->attribute (upoly-decl [«elpi.tests.test_arg_HOAS.182»] ff [] tt) X1 ---->>---- exit: coq.upoly-decl->attribute (upoly-decl [«elpi.tests.test_arg_HOAS.182»] ff [] tt) (get-option coq:udecl (upoly-decl [«elpi.tests.test_arg_HOAS.182»] ff [] tt)) ----<<---- enter: get-option coq:udecl (upoly-decl [«elpi.tests.test_arg_HOAS.182»] ff [] tt) => coq.env.add-const f2 (fun `T` (sort (typ «elpi.tests.test_arg_HOAS.182»)) c0 \ fun `T1` (sort (typ «elpi.tests.test_arg_HOAS.182»)) c1 \ fun `x` c0 c2 \ c2) (prod `T` (sort (typ «elpi.tests.test_arg_HOAS.182»)) c0 \ prod `T1` (sort (typ «elpi.tests.test_arg_HOAS.182»)) c1 \ prod `x` c0 c2 \ c0) X2 X3 ---->>---- exit: get-option coq:udecl (upoly-decl [«elpi.tests.test_arg_HOAS.182»] ff [] tt) => coq.env.add-const f2 (fun `T` (sort (typ «elpi.tests.test_arg_HOAS.182»)) c0 \ fun `T1` (sort (typ «elpi.tests.test_arg_HOAS.182»)) c1 \ fun `x` c0 c2 \ c2) (prod `T` (sort (typ «elpi.tests.test_arg_HOAS.182»)) c0 \ prod `T1` (sort (typ «elpi.tests.test_arg_HOAS.182»)) c1 \ prod `x` c0 c2 \ c0) X2 «f2» f2@{u} : forall T : Type@{u}, Type@{u} -> T -> T (* u |= *) f2 is universe polymorphic Arguments f2 (T T1)%type_scope x f2 is transparent Expands to: Constant elpi.tests.test_arg_HOAS.f2 Query assignments: C = «Nat.add» F = TODO T = app [fix `add` 0 (prod `n` (global (indt «nat»)) c0 \ prod `m` (global (indt «nat»)) c1 \ global (indt «nat»)) c0 \ fun `n` (global (indt «nat»)) c1 \ fun `m` (global (indt «nat»)) c2 \ match c1 (fun `n` (global (indt «nat»)) c3 \ global (indt «nat»)) [c2, fun `p` (global (indt «nat»)) c3 \ app [global (indc «S»), app [c0, c3, c2]]], app [global (indc «S»), global (indc «O»)], app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]] T1 = app [global (const «Nat.add»), app [global (indc «S»), global (indc «O»)], app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]] T2 = app [fix `plus` 0 (prod `n` (global (indt «nat»)) c0 \ prod `m` (global (indt «nat»)) c1 \ global (indt «nat»)) c0 \ fun `n` (global (indt «nat»)) c1 \ fun `m` (global (indt «nat»)) c2 \ match c1 (fun `n` (global (indt «nat»)) c3 \ global (indt «nat»)) [c2, fun `p` (global (indt «nat»)) c3 \ app [global (indc «S»), app [c0, c3, c2]]], app [global (indc «S»), global (indc «O»)], app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]] _uvk_35_ = global (indt «nat») _uvk_36_ = c0 \ global (indt «nat») _uvk_37_ = c0 \ c1 \ global (indt «nat») _uvk_38_ = c0 \ global (indt «nat») _uvk_39_ = c0 \ c1 \ global (indt «nat») _uvk_40_ = c0 \ c1 \ c2 \ global (indt «nat») _uvk_41_ = c0 \ c1 \ c2 \ global (indt «nat») ----<<---- enter: coq.arity->term (parameter T explicit (sort (typ X0)) c0 \ parameter x explicit c0 c1 \ arity (X1 c0 c1)) X2 ---->>---- exit: coq.arity->term (parameter T explicit (sort (typ X0)) c0 \ parameter x explicit c0 c1 \ arity (X3 c0 c1)) (prod `T` (sort (typ X0)) c0 \ prod `x` c0 (X3 c0)) ----<<---- enter: get-option coq:keepunivs tt => std.assert-ok! (coq.elaborate-ty-skeleton (prod `T` (sort (typ X0)) c0 \ prod `x` c0 (X3 c0)) X4 X5) illtyped arity ---->>---- exit: get-option coq:keepunivs tt => std.assert-ok! (coq.elaborate-ty-skeleton (prod `T` (sort (typ «elpi.tests.test_arg_HOAS.183»)) c0 \ prod `x` c0 (X6 c0)) (typ «elpi.tests.test_arg_HOAS.185») (prod `T` (sort (typ «elpi.tests.test_arg_HOAS.183»)) c0 \ prod `x` c0 c1 \ X7 c0 c1)) illtyped arity ----<<---- enter: get-option coq:keepunivs tt => std.assert-ok! (coq.elaborate-skeleton (fun `T` (sort (typ X8)) c0 \ fun `x` c0 c1 \ c1) (prod `T` (sort (typ «elpi.tests.test_arg_HOAS.183»)) c0 \ prod `x` c0 c1 \ X7 c0 c1) X9) illtyped definition ---->>---- exit: get-option coq:keepunivs tt => std.assert-ok! (coq.elaborate-skeleton (fun `T` (sort (typ «elpi.tests.test_arg_HOAS.186»)) c0 \ fun `x` c0 c1 \ c1) (prod `T` (sort (typ «elpi.tests.test_arg_HOAS.183»)) c0 \ prod `x` c0 c1 \ c0) (fun `T` (sort (typ «elpi.tests.test_arg_HOAS.183»)) c0 \ fun `x` c0 c1 \ c1)) illtyped definition ----<<---- enter: coq.upoly-decl->attribute (upoly-decl [] tt [] tt) X10 ---->>---- exit: coq.upoly-decl->attribute (upoly-decl [] tt [] tt) (get-option coq:udecl (upoly-decl [] tt [] tt)) ----<<---- enter: get-option coq:udecl (upoly-decl [] tt [] tt) => coq.env.add-const f3 (fun `T` (sort (typ «elpi.tests.test_arg_HOAS.183»)) c0 \ fun `x` c0 c1 \ c1) (prod `T` (sort (typ «elpi.tests.test_arg_HOAS.183»)) c0 \ prod `x` c0 c1 \ c0) X11 X12 ---->>---- exit: get-option coq:udecl (upoly-decl [] tt [] tt) => coq.env.add-const f3 (fun `T` (sort (typ «elpi.tests.test_arg_HOAS.183»)) c0 \ fun `x` c0 c1 \ c1) (prod `T` (sort (typ «elpi.tests.test_arg_HOAS.183»)) c0 \ prod `x` c0 c1 \ c0) X11 «f3» f3@{u} : forall T : Type@{u}, T -> T (* u |= *) f3 is universe polymorphic Arguments f3 T%type_scope x f3 is transparent Expands to: Constant elpi.tests.test_arg_HOAS.f3 ----<<---- enter: coq.arity->term (parameter T explicit (sort (typ «elpi.tests.test_arg_HOAS.187»)) c0 \ parameter T1 explicit (sort (typ «elpi.tests.test_arg_HOAS.187»)) c1 \ parameter x explicit c0 c2 \ arity (X0 c0 c1 c2)) X1 ---->>---- exit: coq.arity->term (parameter T explicit (sort (typ «elpi.tests.test_arg_HOAS.187»)) c0 \ parameter T1 explicit (sort (typ «elpi.tests.test_arg_HOAS.187»)) c1 \ parameter x explicit c0 c2 \ arity (X2 c0 c1 c2)) (prod `T` (sort (typ «elpi.tests.test_arg_HOAS.187»)) c0 \ prod `T1` (sort (typ «elpi.tests.test_arg_HOAS.187»)) c1 \ prod `x` c0 (X2 c0 c1)) ----<<---- enter: get-option coq:keepunivs tt => std.assert-ok! (coq.elaborate-ty-skeleton (prod `T` (sort (typ «elpi.tests.test_arg_HOAS.187»)) c0 \ prod `T1` (sort (typ «elpi.tests.test_arg_HOAS.187»)) c1 \ prod `x` c0 (X2 c0 c1)) X3 X4) illtyped arity ---->>---- exit: get-option coq:keepunivs tt => std.assert-ok! (coq.elaborate-ty-skeleton (prod `T` (sort (typ «elpi.tests.test_arg_HOAS.187»)) c0 \ prod `T1` (sort (typ «elpi.tests.test_arg_HOAS.187»)) c1 \ prod `x` c0 (X5 c0 c1)) (typ «elpi.tests.test_arg_HOAS.189») (prod `T` (sort (typ «elpi.tests.test_arg_HOAS.187»)) c0 \ prod `T1` (sort (typ «elpi.tests.test_arg_HOAS.187»)) c1 \ prod `x` c0 c2 \ X6 c0 c1 c2)) illtyped arity ----<<---- enter: get-option coq:keepunivs tt => std.assert-ok! (coq.elaborate-skeleton (fun `T` (sort (typ «elpi.tests.test_arg_HOAS.187»)) c0 \ fun `T1` (sort (typ «elpi.tests.test_arg_HOAS.187»)) c1 \ fun `x` c0 c2 \ c2) (prod `T` (sort (typ «elpi.tests.test_arg_HOAS.187»)) c0 \ prod `T1` (sort (typ «elpi.tests.test_arg_HOAS.187»)) c1 \ prod `x` c0 c2 \ X6 c0 c1 c2) X7) illtyped definition ---->>---- exit: get-option coq:keepunivs tt => std.assert-ok! (coq.elaborate-skeleton (fun `T` (sort (typ «elpi.tests.test_arg_HOAS.187»)) c0 \ fun `T1` (sort (typ «elpi.tests.test_arg_HOAS.187»)) c1 \ fun `x` c0 c2 \ c2) (prod `T` (sort (typ «elpi.tests.test_arg_HOAS.187»)) c0 \ prod `T1` (sort (typ «elpi.tests.test_arg_HOAS.187»)) c1 \ prod `x` c0 c2 \ c0) (fun `T` (sort (typ «elpi.tests.test_arg_HOAS.187»)) c0 \ fun `T1` (sort (typ «elpi.tests.test_arg_HOAS.187»)) c1 \ fun `x` c0 c2 \ c2)) illtyped definition ----<<---- enter: coq.upoly-decl->attribute (upoly-decl [«elpi.tests.test_arg_HOAS.187»] ff [] tt) X8 ---->>---- exit: coq.upoly-decl->attribute (upoly-decl [«elpi.tests.test_arg_HOAS.187»] ff [] tt) (get-option coq:udecl (upoly-decl [«elpi.tests.test_arg_HOAS.187»] ff [] tt)) ----<<---- enter: get-option coq:udecl (upoly-decl [«elpi.tests.test_arg_HOAS.187»] ff [] tt) => coq.env.add-const f4 (fun `T` (sort (typ «elpi.tests.test_arg_HOAS.187»)) c0 \ fun `T1` (sort (typ «elpi.tests.test_arg_HOAS.187»)) c1 \ fun `x` c0 c2 \ c2) (prod `T` (sort (typ «elpi.tests.test_arg_HOAS.187»)) c0 \ prod `T1` (sort (typ «elpi.tests.test_arg_HOAS.187»)) c1 \ prod `x` c0 c2 \ c0) X9 X10 ---->>---- exit: get-option coq:udecl (upoly-decl [«elpi.tests.test_arg_HOAS.187»] ff [] tt) => coq.env.add-const f4 (fun `T` (sort (typ «elpi.tests.test_arg_HOAS.187»)) c0 \ fun `T1` (sort (typ «elpi.tests.test_arg_HOAS.187»)) c1 \ fun `x` c0 c2 \ c2) (prod `T` (sort (typ «elpi.tests.test_arg_HOAS.187»)) c0 \ prod `T1` (sort (typ «elpi.tests.test_arg_HOAS.187»)) c1 \ prod `x` c0 c2 \ c0) X9 «f4» f4@{u} : forall T : Type@{u}, Type@{u} -> T -> T (* u |= *) f4 is universe polymorphic Arguments f4 (T T1)%type_scope x f4 is transparent Expands to: Constant elpi.tests.test_arg_HOAS.f4 ----<<---- enter: coq.arity->term (parameter T explicit (sort (typ «uuu»)) c0 \ parameter T1 explicit (sort (typ «uuu»)) c1 \ parameter x explicit c0 c2 \ arity (X0 c0 c1 c2)) X1 ---->>---- exit: coq.arity->term (parameter T explicit (sort (typ «uuu»)) c0 \ parameter T1 explicit (sort (typ «uuu»)) c1 \ parameter x explicit c0 c2 \ arity (X2 c0 c1 c2)) (prod `T` (sort (typ «uuu»)) c0 \ prod `T1` (sort (typ «uuu»)) c1 \ prod `x` c0 (X2 c0 c1)) ----<<---- enter: std.assert-ok! (coq.elaborate-ty-skeleton (prod `T` (sort (typ «uuu»)) c0 \ prod `T1` (sort (typ «uuu»)) c1 \ prod `x` c0 (X2 c0 c1)) X3 X4) illtyped arity ---->>---- exit: std.assert-ok! (coq.elaborate-ty-skeleton (prod `T` (sort (typ «uuu»)) c0 \ prod `T1` (sort (typ «uuu»)) c1 \ prod `x` c0 (X5 c0 c1)) (typ «elpi.tests.test_arg_HOAS.194») (prod `T` (sort (typ «elpi.tests.test_arg_HOAS.191»)) c0 \ prod `T1` (sort (typ «elpi.tests.test_arg_HOAS.192»)) c1 \ prod `x` c0 c2 \ X6 c0 c1 c2)) illtyped arity ----<<---- enter: std.assert-ok! (coq.elaborate-skeleton (fun `T` (sort (typ «uuu»)) c0 \ fun `T1` (sort (typ «uuu»)) c1 \ fun `x` c0 c2 \ c2) (prod `T` (sort (typ «elpi.tests.test_arg_HOAS.191»)) c0 \ prod `T1` (sort (typ «elpi.tests.test_arg_HOAS.192»)) c1 \ prod `x` c0 c2 \ X6 c0 c1 c2) X7) illtyped definition ---->>---- exit: std.assert-ok! (coq.elaborate-skeleton (fun `T` (sort (typ «uuu»)) c0 \ fun `T1` (sort (typ «uuu»)) c1 \ fun `x` c0 c2 \ c2) (prod `T` (sort (typ «elpi.tests.test_arg_HOAS.191»)) c0 \ prod `T1` (sort (typ «elpi.tests.test_arg_HOAS.192»)) c1 \ prod `x` c0 c2 \ c0) (fun `T` (sort (typ «elpi.tests.test_arg_HOAS.195»)) c0 \ fun `T1` (sort (typ «elpi.tests.test_arg_HOAS.196»)) c1 \ fun `x` c0 c2 \ c2)) illtyped definition ----<<---- enter: coq.env.add-const f5 (fun `T` (sort (typ «elpi.tests.test_arg_HOAS.195»)) c0 \ fun `T1` (sort (typ «elpi.tests.test_arg_HOAS.196»)) c1 \ fun `x` c0 c2 \ c2) (prod `T` (sort (typ «elpi.tests.test_arg_HOAS.191»)) c0 \ prod `T1` (sort (typ «elpi.tests.test_arg_HOAS.192»)) c1 \ prod `x` c0 c2 \ c0) X8 X9 ---->>---- exit: coq.env.add-const f5 (fun `T` (sort (typ «f5.u2»)) c0 \ fun `T1` (sort (typ «f5.u3»)) c1 \ fun `x` c0 c2 \ c2) (prod `T` (sort (typ «f5.u0»)) c0 \ prod `T1` (sort (typ «f5.u1»)) c1 \ prod `x` c0 c2 \ c0) X8 «f5» ----<<---- enter: coq.arity->term (parameter T explicit (sort (typ «uuu»)) c0 \ parameter T1 explicit (sort (typ «elpi.tests.test_arg_HOAS.197»)) c1 \ parameter x explicit c0 c2 \ arity c0) X0 ---->>---- exit: coq.arity->term (parameter T explicit (sort (typ «uuu»)) c0 \ parameter T1 explicit (sort (typ «elpi.tests.test_arg_HOAS.197»)) c1 \ parameter x explicit c0 c2 \ arity c0) (prod `T` (sort (typ «uuu»)) c0 \ prod `T1` (sort (typ «elpi.tests.test_arg_HOAS.197»)) c1 \ prod `x` c0 c2 \ c0) ----<<---- enter: std.assert-ok! (coq.typecheck (fun `T` (sort (typ «uuu»)) c0 \ fun `T1` (sort (typ «elpi.tests.test_arg_HOAS.197»)) c1 \ fun `x` c0 c2 \ c2) (prod `T` (sort (typ «uuu»)) c0 \ prod `T1` (sort (typ «elpi.tests.test_arg_HOAS.197»)) c1 \ prod `x` c0 c2 \ c0)) illtyped definition ---->>---- exit: std.assert-ok! (coq.typecheck (fun `T` (sort (typ «uuu»)) c0 \ fun `T1` (sort (typ «elpi.tests.test_arg_HOAS.197»)) c1 \ fun `x` c0 c2 \ c2) (prod `T` (sort (typ «uuu»)) c0 \ prod `T1` (sort (typ «elpi.tests.test_arg_HOAS.197»)) c1 \ prod `x` c0 c2 \ c0)) illtyped definition ----<<---- enter: coq.upoly-decl->attribute (upoly-decl [«elpi.tests.test_arg_HOAS.197»] ff [] tt) X1 ---->>---- exit: coq.upoly-decl->attribute (upoly-decl [«elpi.tests.test_arg_HOAS.197»] ff [] tt) (get-option coq:udecl (upoly-decl [«elpi.tests.test_arg_HOAS.197»] ff [] tt)) ----<<---- enter: get-option coq:udecl (upoly-decl [«elpi.tests.test_arg_HOAS.197»] ff [] tt) => coq.env.add-const f6 (fun `T` (sort (typ «uuu»)) c0 \ fun `T1` (sort (typ «elpi.tests.test_arg_HOAS.197»)) c1 \ fun `x` c0 c2 \ c2) (prod `T` (sort (typ «uuu»)) c0 \ prod `T1` (sort (typ «elpi.tests.test_arg_HOAS.197»)) c1 \ prod `x` c0 c2 \ c0) X2 X3 ---->>---- exit: get-option coq:udecl (upoly-decl [«elpi.tests.test_arg_HOAS.197»] ff [] tt) => coq.env.add-const f6 (fun `T` (sort (typ «uuu»)) c0 \ fun `T1` (sort (typ «elpi.tests.test_arg_HOAS.197»)) c1 \ fun `x` c0 c2 \ c2) (prod `T` (sort (typ «uuu»)) c0 \ prod `T1` (sort (typ «elpi.tests.test_arg_HOAS.197»)) c1 \ prod `x` c0 c2 \ c0) X2 «f6» f6@{uuux} : forall T : Type@{uuu}, Type@{uuux} -> T -> T (* uuux |= *) f6 is universe polymorphic Arguments f6 (T T1)%type_scope x f6 is transparent Expands to: Constant elpi.tests.test_arg_HOAS.f6 Query assignments: GR = «Nat.add» MP = «Coq.Init.Datatypes» ----<<---- enter: coq.arity->term (arity (prod `T` (sort (typ «uuu»)) c0 \ prod `T1` (sort (typ «Set»)) c1 \ prod `x` c0 c2 \ c0)) X0 ---->>---- exit: coq.arity->term (arity (prod `T` (sort (typ «uuu»)) c0 \ prod `T1` (sort (typ «Set»)) c1 \ prod `x` c0 c2 \ c0)) (prod `T` (sort (typ «uuu»)) c0 \ prod `T1` (sort (typ «Set»)) c1 \ prod `x` c0 c2 \ c0) ----<<---- enter: std.assert-ok! (coq.typecheck (pglobal (const «f6») «Set») (prod `T` (sort (typ «uuu»)) c0 \ prod `T1` (sort (typ «Set»)) c1 \ prod `x` c0 c2 \ c0)) illtyped definition ---->>---- exit: std.assert-ok! (coq.typecheck (pglobal (const «f6») «Set») (prod `T` (sort (typ «uuu»)) c0 \ prod `T1` (sort (typ «Set»)) c1 \ prod `x` c0 c2 \ c0)) illtyped definition ----<<---- enter: coq.upoly-decl->attribute (upoly-decl [] tt [] tt) X1 ---->>---- exit: coq.upoly-decl->attribute (upoly-decl [] tt [] tt) (get-option coq:udecl (upoly-decl [] tt [] tt)) ----<<---- enter: get-option coq:udecl (upoly-decl [] tt [] tt) => coq.env.add-const f7 (pglobal (const «f6») «Set») (prod `T` (sort (typ «uuu»)) c0 \ prod `T1` (sort (typ «Set»)) c1 \ prod `x` c0 c2 \ c0) X2 X3 ---->>---- exit: get-option coq:udecl (upoly-decl [] tt [] tt) => coq.env.add-const f7 (pglobal (const «f6») «Set») (prod `T` (sort (typ «uuu»)) c0 \ prod `T1` (sort (typ «Set»)) c1 \ prod `x` c0 c2 \ c0) X2 «f7» Query assignments: W = const «W» ----<<---- enter: coq.arity->term (arity X0) X1 ---->>---- exit: coq.arity->term (arity X1) X1 ----<<---- enter: get-option coq:keepunivs tt => std.assert-ok! (coq.elaborate-ty-skeleton X1 X2 X3) illtyped arity ---->>---- exit: get-option coq:keepunivs tt => std.assert-ok! (coq.elaborate-ty-skeleton X1 (typ «elpi.tests.test_arg_HOAS.198») (X4)) illtyped arity ----<<---- enter: get-option coq:keepunivs tt => std.assert-ok! (coq.elaborate-skeleton (pglobal (const «f6») «Set») (X4) X5) illtyped definition ---->>---- exit: get-option coq:keepunivs tt => std.assert-ok! (coq.elaborate-skeleton (pglobal (const «f6») «Set») (prod `T` (sort (typ «uuu»)) c0 \ prod `T1` (sort (typ «Set»)) c1 \ prod `x` c0 c2 \ c0) (pglobal (const «f6») «Set»)) illtyped definition ----<<---- enter: coq.upoly-decl->attribute (upoly-decl [] tt [] tt) X6 ---->>---- exit: coq.upoly-decl->attribute (upoly-decl [] tt [] tt) (get-option coq:udecl (upoly-decl [] tt [] tt)) ----<<---- enter: get-option coq:udecl (upoly-decl [] tt [] tt) => coq.env.add-const f8 (pglobal (const «f6») «Set») (prod `T` (sort (typ «uuu»)) c0 \ prod `T1` (sort (typ «Set»)) c1 \ prod `x` c0 c2 \ c0) X7 X8 ---->>---- exit: get-option coq:udecl (upoly-decl [] tt [] tt) => coq.env.add-const f8 (pglobal (const «f6») «Set») (prod `T` (sort (typ «uuu»)) c0 \ prod `T1` (sort (typ «Set»)) c1 \ prod `x` c0 c2 \ c0) X7 «f8» ----<<---- enter: coq.arity->term (arity (prod `T` (sort (typ «uuu»)) c0 \ prod `T1` (sort (typ «uuu»)) c1 \ prod `x` c0 c2 \ c0)) X0 ---->>---- exit: coq.arity->term (arity (prod `T` (sort (typ «uuu»)) c0 \ prod `T1` (sort (typ «uuu»)) c1 \ prod `x` c0 c2 \ c0)) (prod `T` (sort (typ «uuu»)) c0 \ prod `T1` (sort (typ «uuu»)) c1 \ prod `x` c0 c2 \ c0) ----<<---- enter: std.assert-ok! (coq.typecheck (pglobal (const «f6») «uuu») (prod `T` (sort (typ «uuu»)) c0 \ prod `T1` (sort (typ «uuu»)) c1 \ prod `x` c0 c2 \ c0)) illtyped definition ---->>---- exit: std.assert-ok! (coq.typecheck (pglobal (const «f6») «uuu») (prod `T` (sort (typ «uuu»)) c0 \ prod `T1` (sort (typ «uuu»)) c1 \ prod `x` c0 c2 \ c0)) illtyped definition ----<<---- enter: coq.upoly-decl->attribute (upoly-decl [] tt [] tt) X1 ---->>---- exit: coq.upoly-decl->attribute (upoly-decl [] tt [] tt) (get-option coq:udecl (upoly-decl [] tt [] tt)) ----<<---- enter: get-option coq:udecl (upoly-decl [] tt [] tt) => coq.env.add-const f7' (pglobal (const «f6») «uuu») (prod `T` (sort (typ «uuu»)) c0 \ prod `T1` (sort (typ «uuu»)) c1 \ prod `x` c0 c2 \ c0) X2 X3 ---->>---- exit: get-option coq:udecl (upoly-decl [] tt [] tt) => coq.env.add-const f7' (pglobal (const «f6») «uuu») (prod `T` (sort (typ «uuu»)) c0 \ prod `T1` (sort (typ «uuu»)) c1 \ prod `x` c0 c2 \ c0) X2 «f7'» ----<<---- enter: coq.arity->term (arity X0) X1 ---->>---- exit: coq.arity->term (arity X1) X1 ----<<---- enter: get-option coq:keepunivs tt => std.assert-ok! (coq.elaborate-ty-skeleton X1 X2 X3) illtyped arity ---->>---- exit: get-option coq:keepunivs tt => std.assert-ok! (coq.elaborate-ty-skeleton X1 (typ «elpi.tests.test_arg_HOAS.199») (X4)) illtyped arity ----<<---- enter: get-option coq:keepunivs tt => std.assert-ok! (coq.elaborate-skeleton (pglobal (const «f6») «uuu») (X4) X5) illtyped definition ---->>---- exit: get-option coq:keepunivs tt => std.assert-ok! (coq.elaborate-skeleton (pglobal (const «f6») «uuu») (prod `T` (sort (typ «uuu»)) c0 \ prod `T1` (sort (typ «uuu»)) c1 \ prod `x` c0 c2 \ c0) (pglobal (const «f6») «uuu»)) illtyped definition ----<<---- enter: coq.upoly-decl->attribute (upoly-decl [] tt [] tt) X6 ---->>---- exit: coq.upoly-decl->attribute (upoly-decl [] tt [] tt) (get-option coq:udecl (upoly-decl [] tt [] tt)) ----<<---- enter: get-option coq:udecl (upoly-decl [] tt [] tt) => coq.env.add-const f8' (pglobal (const «f6») «uuu») (prod `T` (sort (typ «uuu»)) c0 \ prod `T1` (sort (typ «uuu»)) c1 \ prod `x` c0 c2 \ c0) X7 X8 ---->>---- exit: get-option coq:udecl (upoly-decl [] tt [] tt) => coq.env.add-const f8' (pglobal (const «f6») «uuu») (prod `T` (sort (typ «uuu»)) c0 \ prod `T1` (sort (typ «uuu»)) c1 \ prod `x` c0 c2 \ c0) X7 «f8'» ----<<---- enter: coq.arity->term (arity (prod `T` (sort (typ «uuu»)) c0 \ prod `T1` (sort (typ «elpi.tests.test_arg_HOAS.200»)) c1 \ prod `x` c0 c2 \ c0)) X0 ---->>---- exit: coq.arity->term (arity (prod `T` (sort (typ «uuu»)) c0 \ prod `T1` (sort (typ «elpi.tests.test_arg_HOAS.200»)) c1 \ prod `x` c0 c2 \ c0)) (prod `T` (sort (typ «uuu»)) c0 \ prod `T1` (sort (typ «elpi.tests.test_arg_HOAS.200»)) c1 \ prod `x` c0 c2 \ c0) ----<<---- enter: std.assert-ok! (coq.typecheck (pglobal (const «f6») «elpi.tests.test_arg_HOAS.200») (prod `T` (sort (typ «uuu»)) c0 \ prod `T1` (sort (typ «elpi.tests.test_arg_HOAS.200»)) c1 \ prod `x` c0 c2 \ c0)) illtyped definition ---->>---- exit: std.assert-ok! (coq.typecheck (pglobal (const «f6») «elpi.tests.test_arg_HOAS.200») (prod `T` (sort (typ «uuu»)) c0 \ prod `T1` (sort (typ «elpi.tests.test_arg_HOAS.200»)) c1 \ prod `x` c0 c2 \ c0)) illtyped definition ----<<---- enter: coq.upoly-decl->attribute (upoly-decl [«elpi.tests.test_arg_HOAS.200»] ff [] tt) X1 ---->>---- exit: coq.upoly-decl->attribute (upoly-decl [«elpi.tests.test_arg_HOAS.200»] ff [] tt) (get-option coq:udecl (upoly-decl [«elpi.tests.test_arg_HOAS.200»] ff [] tt)) ----<<---- enter: get-option coq:udecl (upoly-decl [«elpi.tests.test_arg_HOAS.200»] ff [] tt) => coq.env.add-const f7'' (pglobal (const «f6») «elpi.tests.test_arg_HOAS.200») (prod `T` (sort (typ «uuu»)) c0 \ prod `T1` (sort (typ «elpi.tests.test_arg_HOAS.200»)) c1 \ prod `x` c0 c2 \ c0) X2 X3 ---->>---- exit: get-option coq:udecl (upoly-decl [«elpi.tests.test_arg_HOAS.200»] ff [] tt) => coq.env.add-const f7'' (pglobal (const «f6») «elpi.tests.test_arg_HOAS.200») (prod `T` (sort (typ «uuu»)) c0 \ prod `T1` (sort (typ «elpi.tests.test_arg_HOAS.200»)) c1 \ prod `x` c0 c2 \ c0) X2 «f7''» ----<<---- enter: coq.arity->term (arity X0) X1 ---->>---- exit: coq.arity->term (arity X1) X1 ----<<---- enter: get-option coq:keepunivs tt => std.assert-ok! (coq.elaborate-ty-skeleton X1 X2 X3) illtyped arity ---->>---- exit: get-option coq:keepunivs tt => std.assert-ok! (coq.elaborate-ty-skeleton X1 (typ «elpi.tests.test_arg_HOAS.202») (X4)) illtyped arity ----<<---- enter: get-option coq:keepunivs tt => std.assert-ok! (coq.elaborate-skeleton (pglobal (const «f6») «elpi.tests.test_arg_HOAS.201») (X4) X5) illtyped definition ---->>---- exit: get-option coq:keepunivs tt => std.assert-ok! (coq.elaborate-skeleton (pglobal (const «f6») «elpi.tests.test_arg_HOAS.201») (prod `T` (sort (typ «uuu»)) c0 \ prod `T1` (sort (typ «elpi.tests.test_arg_HOAS.201»)) c1 \ prod `x` c0 c2 \ c0) (pglobal (const «f6») «elpi.tests.test_arg_HOAS.201»)) illtyped definition ----<<---- enter: coq.upoly-decl->attribute (upoly-decl [«elpi.tests.test_arg_HOAS.201»] ff [] tt) X6 ---->>---- exit: coq.upoly-decl->attribute (upoly-decl [«elpi.tests.test_arg_HOAS.201»] ff [] tt) (get-option coq:udecl (upoly-decl [«elpi.tests.test_arg_HOAS.201»] ff [] tt)) ----<<---- enter: get-option coq:udecl (upoly-decl [«elpi.tests.test_arg_HOAS.201»] ff [] tt) => coq.env.add-const f8'' (pglobal (const «f6») «elpi.tests.test_arg_HOAS.201») (prod `T` (sort (typ «uuu»)) c0 \ prod `T1` (sort (typ «elpi.tests.test_arg_HOAS.201»)) c1 \ prod `x` c0 c2 \ c0) X7 X8 ---->>---- exit: get-option coq:udecl (upoly-decl [«elpi.tests.test_arg_HOAS.201»] ff [] tt) => coq.env.add-const f8'' (pglobal (const «f6») «elpi.tests.test_arg_HOAS.201») (prod `T` (sort (typ «uuu»)) c0 \ prod `T1` (sort (typ «elpi.tests.test_arg_HOAS.201»)) c1 \ prod `x` c0 c2 \ c0) X7 «f8''» COQC tests/test_libobject_C.v File "./tests/test_vernacular2.v", line 11, characters 2-17: Warning: This command does not support this attribute: fwd_compat_attr. [unsupported-attributes,parsing,default] [attribute elpi.loc (leaf-loc File "./tests/test_vernacular2.v", line 11, column 24, character 361:), attribute elpi.phase (leaf-str interp), attribute fwd_compat_attr (leaf-str )] [attribute elpi.loc (leaf-loc File "./tests/test_vernacular2.v", line 12, column 0, character 366:), attribute elpi.phase (leaf-str interp), attribute fwd_compat_attr (leaf-str )] [trm c0, trm (app [global (const «Nat.add»), c0, c1])] {c0 c1} : decl c1 `y` (global (indt «nat»)), decl c0 `x` (global (indt «nat»)) ?- evar (X0 c0 c1) (global (indt «True»)) (X1 c0 c1) /* suspended on X0, X1 */ [trm c0, trm (app [global (const «Nat.add»), X0 c0 c1, c1])] {c0 c1} : decl c1 `y` (global (indt «nat»)), decl c0 `x` (global (indt «nat»)) ?- evar (X1 c0 c1) (global (indt «nat»)) (X0 c0 c1) /* suspended on X1, X0 */ {c0 c1} : decl c1 `y` (global (indt «nat»)), decl c0 `x` (global (indt «nat»)) ?- evar (X2 c0 c1) (global (indt «True»)) (X3 c0 c1) /* suspended on X2, X3 */ [trm c0, trm (app [global (const «Nat.add»), X0 c0 c1, c1])] {c0 c1} : decl c1 `y` (global (indt «nat»)), decl c0 `x` (global (indt «nat»)) ?- evar (X1 c0 c1) (global (indt «True»)) (X2 c0 c1) /* suspended on X1, X2 */ [trm c0, trm c1] {c0 c1} : decl c1 `y` (global (indt «nat»)), decl c0 `x` (global (indt «nat»)) ?- evar (X0 c0 c1) (global (indt «True»)) (X1 c0 c1) /* suspended on X0, X1 */ [trm (app [global (const «Nat.add»), c0, c1])] {c0 c1} : decl c1 `y` (global (indt «nat»)), decl c0 `x` (global (indt «nat»)) ?- evar (X0 c0 c1) (global (indt «True»)) (X1 c0 c1) /* suspended on X0, X1 */ Query assignments: C = «Nat.add» F = TODO T = app [fun `n` (global (indt «nat»)) c0 \ fun `m` (global (indt «nat»)) c1 \ match c0 (fun `n` (global (indt «nat»)) c2 \ global (indt «nat»)) [c1, fun `p` (global (indt «nat»)) c2 \ app [global (indc «S»), app [fix `add` 0 (prod `n` (global (indt «nat»)) c3 \ prod `m` (global (indt «nat»)) c4 \ global (indt «nat»)) c3 \ fun `n` (global (indt «nat»)) c4 \ fun `m` (global (indt «nat»)) c5 \ match c4 (fun `n` (global (indt «nat»)) c6 \ global (indt «nat»)) [c5, fun `p` (global (indt «nat»)) c6 \ app [global (indc «S»), app [c3, c6, c5]]], c2, c1]]], app [global (indc «S»), global (indc «O»)], app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]] T1 = app [global (const «Nat.add»), app [global (indc «S»), global (indc «O»)], app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]] T2 = app [fun `n` (global (indt «nat»)) c0 \ fun `m` (global (indt «nat»)) c1 \ match c0 (fun `n` (global (indt «nat»)) c2 \ global (indt «nat»)) [c1, fun `p` (global (indt «nat»)) c2 \ app [global (indc «S»), app [fix `plus` 0 (prod `n` (global (indt «nat»)) c3 \ prod `m` (global (indt «nat»)) c4 \ global (indt «nat»)) c3 \ fun `n` (global (indt «nat»)) c4 \ fun `m` (global (indt «nat»)) c5 \ match c4 (fun `n` (global (indt «nat»)) c6 \ global (indt «nat»)) [c5, fun `p` (global (indt «nat»)) c6 \ app [global (indc «S»), app [c3, c6, c5]]], c2, c1]]], app [global (indc «S»), global (indc «O»)], app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]] _uvk_42_ = global (indt «nat») _uvk_43_ = c0 \ global (indt «nat») _uvk_44_ = c0 \ c1 \ global (indt «nat») _uvk_45_ = c0 \ c1 \ global (indt «nat») _uvk_46_ = c0 \ c1 \ c2 \ global (indt «nat») _uvk_47_ = c0 \ c1 \ c2 \ global (indt «nat») _uvk_48_ = c0 \ c1 \ c2 \ global (indt «nat») _uvk_49_ = c0 \ c1 \ c2 \ c3 \ global (indt «nat») _uvk_50_ = c0 \ c1 \ c2 \ c3 \ global (indt «nat») _uvk_51_ = c0 \ c1 \ c2 \ c3 \ global (indt «nat») _uvk_52_ = c0 \ c1 \ c2 \ c3 \ global (indt «nat») [trm (app [global (const «Nat.add»), X0 c0 c1, c1])] {c0 c1} : decl c1 `y` (global (indt «nat»)), decl c0 `x` (global (indt «nat»)) ?- evar (X1 c0 c1) (global (indt «nat»)) (X0 c0 c1) /* suspended on X1, X0 */ {c0 c1} : decl c1 `y` (global (indt «nat»)), decl c0 `x` (global (indt «nat»)) ?- evar (X2 c0 c1) (global (indt «True»)) (X3 c0 c1) /* suspended on X2, X3 */ [trm (app [global (const «Nat.add»), X0 c0 c1, c1])] {c0 c1} : decl c1 `y` (global (indt «nat»)), decl c0 `x` (global (indt «nat»)) ?- evar (X1 c0 c1) (global (indt «True»)) (X2 c0 c1) /* suspended on X1, X2 */ [trm (app [global (indc «O»), global (indc «O»)])] {c0 c1} : decl c1 `y` (global (indt «nat»)), decl c0 `x` (global (indt «nat»)) ?- evar (X0 c0 c1) (global (indt «True»)) (X1 c0 c1) /* suspended on X0, X1 */ Query q X0 [trm c0] {c0 c1} : decl c1 `y` (global (indt «nat»)), decl c0 `x` (global (indt «nat»)) ?- evar (X0 c0 c1) (global (indt «True»)) (X1 c0 c1) /* suspended on X0, X1 */ [int 1] {c0 c1} : decl c1 `y` (global (indt «nat»)), decl c0 `x` (global (indt «nat»)) ?- evar (X0 c0 c1) (global (indt «True»)) (X1 c0 c1) /* suspended on X0, X1 */ Query r X0 Result r 1 [int -1] {c0 c1} : decl c1 `y` (global (indt «nat»)), decl c0 `x` (global (indt «nat»)) ?- evar (X0 c0 c1) (global (indt «True»)) (X1 c0 c1) /* suspended on X0, X1 */ [str a] {c0 c1} : decl c1 `y` (global (indt «nat»)), decl c0 `x` (global (indt «nat»)) ?- evar (X0 c0 c1) (global (indt «True»)) (X1 c0 c1) /* suspended on X0, X1 */ [str a] {c0 c1} : decl c1 `y` (global (indt «nat»)), decl c0 `x` (global (indt «nat»)) ?- evar (X0 c0 c1) (global (indt «True»)) (X1 c0 c1) /* suspended on X0, X1 */ [str x] {c0 c1} : decl c1 `y` (global (indt «nat»)), decl c0 `x` (global (indt «nat»)) ?- evar (X0 c0 c1) (global (indt «True»)) (X1 c0 c1) /* suspended on X0, X1 */ [trm (app [global (const «Nat.add»), c0, c1])] {c0 c1} : decl c1 `y` (global (indt «nat»)), decl c0 `x` (global (indt «nat»)) ?- evar (X0 c0 c1) (global (indt «True»)) (X1 c0 c1) /* suspended on X0, X1 */ [trm (app [global (const «Nat.add»), X0 c0 c1, c1])] {c0 c1} : decl c1 `y` (global (indt «nat»)), decl c0 `x` (global (indt «nat»)) ?- evar (X1 c0 c1) (global (indt «True»)) (X2 c0 c1) /* suspended on X1, X2 */ COQC tests/test_readme.v COQC tests/test_derive_stdlib.v [trm (app [global (const «Nat.add»), X0 c0 c1, c1])] {c0 c1} : decl c1 `y` (global (indt «nat»)), decl c0 `x` (global (indt «nat»)) ?- evar (X1 c0 c1) (global (indt «True»)) (X2 c0 c1) /* suspended on X1, X2 */ [trm c0] {c0 c1} : decl c1 `y` (global (indt «nat»)), decl c0 `x` (global (indt «nat»)) ?- evar (X0 c0 c1) (global (indt «True»)) (X1 c0 c1) /* suspended on X0, X1 */ COQC tests/test_param2.v COQC tests/test_idx2inv.v COQC tests/test_invert.v global (indc «O») app [global (indc «S»), app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]] COQC examples/usage.v Query assignments: X = sort (typ «elpi.tests.test_elaborator.53») Y = sort (typ «elpi.tests.test_elaborator.54») Universe constraints: UNIVERSES: {elpi.tests.test_elaborator.54 elpi.tests.test_elaborator.53} |= elpi.tests.test_elaborator.53 < elpi.tests.test_elaborator.54 ALGEBRAIC UNIVERSES: {elpi.tests.test_elaborator.54 elpi.tests.test_elaborator.53} FLEXIBLE UNIVERSES: elpi.tests.test_elaborator.54 elpi.tests.test_elaborator.53 SORTS: WEAK CONSTRAINTS: COQC tests/test_link_order_import3.v Query assignments: _uvk_6_ = «nuind.u0» _uvk_7_ = «nuind.u1» Universe constraints: UNIVERSES: ALGEBRAIC UNIVERSES: {nuind.u1 nuind.u0} FLEXIBLE UNIVERSES: nuind.u1 nuind.u0 SORTS: WEAK CONSTRAINTS: fun x : nuind nat 3 false => match x in (nuind _ _ b) return (b = b) with | k1 _ _ => eq_refl : true = true | k2 _ _ x0 => (fun _ : nuind nat 1 false => eq_refl : false = false) x0 end : nuind nat 3 false -> false = false [cs-instance (const «eq_op») (cs-gref (const «Z1»)) (const «myc1»)] Query assignments: L = [cs-instance (const «eq_op») (cs-gref (const «Z1»)) (const «myc1»)] P = const «eq_op» W = const «Z1» Query assignments: A = «elpi.tests.test_API.succ» GR = «Nat.add» MP = «Coq.Init.Datatypes» X1 = [loc-gref (const «Nat.add»)] X2 = [loc-gref (const «Nat.add»)] X3 = [loc-abbreviation «elpi.tests.test_API.succ»] X4 = [loc-modpath «Coq.Init.Datatypes»] Query assignments: C = «Nat.add» F = TODO T = match (app [global (indc «S»), global (indc «O»)]) (fun `n` (global (indt «nat»)) c0 \ global (indt «nat»)) [app [global (indc «S»), app [global (indc «S»), global (indc «O»)]], fun `p` (global (indt «nat»)) c0 \ app [global (indc «S»), app [fix `add` 0 (prod `n` (global (indt «nat»)) c1 \ prod `m` (global (indt «nat»)) c2 \ global (indt «nat»)) c1 \ fun `n` (global (indt «nat»)) c2 \ fun `m` (global (indt «nat»)) c3 \ match c2 (fun `n` (global (indt «nat»)) c4 \ global (indt «nat»)) [c3, fun `p` (global (indt «nat»)) c4 \ app [global (indc «S»), app [c1, c4, c3]]], c0, app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]]]] T1 = app [global (const «Nat.add»), app [global (indc «S»), global (indc «O»)], app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]] T2 = match (app [global (indc «S»), global (indc «O»)]) (fun `_` (global (indt «nat»)) c0 \ global (indt «nat»)) [app [global (indc «S»), app [global (indc «S»), global (indc «O»)]], fun `p` (global (indt «nat»)) c0 \ app [global (indc «S»), app [fix `plus` 0 (prod `n` (global (indt «nat»)) c1 \ prod `m` (global (indt «nat»)) c2 \ global (indt «nat»)) c1 \ fun `n` (global (indt «nat»)) c2 \ fun `m` (global (indt «nat»)) c3 \ match c2 (fun `n` (global (indt «nat»)) c4 \ global (indt «nat»)) [c3, fun `p` (global (indt «nat»)) c4 \ app [global (indc «S»), app [c1, c4, c3]]], c0, app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]]]] _uvk_53_ = c0 \ global (indt «nat») _uvk_54_ = global (indt «nat») _uvk_55_ = c0 \ global (indt «nat») _uvk_56_ = c0 \ c1 \ global (indt «nat») _uvk_57_ = c0 \ c1 \ c2 \ global (indt «nat») _uvk_58_ = c0 \ c1 \ global (indt «nat») _uvk_59_ = c0 \ c1 \ c2 \ global (indt «nat») _uvk_60_ = c0 \ c1 \ c2 \ c3 \ global (indt «nat») _uvk_61_ = c0 \ c1 \ c2 \ c3 \ global (indt «nat») COQC examples/readme.v const-decl D (some (fun `i` (global (indt «I»)) c0 \ fun `l` (app [global (indt «L»), c0]) c1 \ global (indt «True»))) (parameter i maximal (global (indt «I»)) c0 \ parameter l maximal (app [global (indt «L»), c0]) c1 \ arity (sort prop)) const-decl D (some (fun `i` (global (indt «I»)) c0 \ fun `H` (app [global (indt «L»), c0]) c1 \ global (indt «True»))) (parameter i maximal (global (indt «I»)) c0 \ parameter H maximal (app [global (indt «L»), c0]) c1 \ arity (sort prop)) const-decl D (some (fun `i` (global (indt «I»)) c0 \ fun `H` (app [global (indt «L»), c0]) c1 \ fun `n` (global (indt «nat»)) c2 \ global (indt «True»))) (parameter i maximal (global (indt «I»)) c0 \ parameter H maximal (app [global (indt «L»), c0]) c1 \ parameter n explicit (global (indt «nat»)) c2 \ arity (sort prop)) test_inv : Type -> bool -> Type : Type -> bool -> Type Query assignments: C = «Nat.add» F = TODO T = app [global (indc «S»), app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]] T1 = app [global (const «Nat.add»), app [global (indc «S»), global (indc «O»)], app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]] T2 = app [global (indc «S»), app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]] K1_inv : forall (A : Type) (b : bool), b = true -> test_inv A b : forall (A : Type) (b : bool), b = true -> test_inv A b K2_inv : forall (A : Type) (b x : bool), A -> test_inv A (negb x) -> b = negb (negb x) -> test_inv A b : forall (A : Type) (b x : bool), A -> test_inv A (negb x) -> b = negb (negb x) -> test_inv A b Inductive listR_inv (A : Type) (PA : A -> Type) (idx0 : list A) : Type := nilR_inv : idx0 = nil -> listR_inv A PA idx0 | consR_inv : forall a : A, PA a -> forall xs : list A, listR_inv A PA xs -> idx0 = (a :: xs)%list -> listR_inv A PA idx0. Arguments listR_inv A%type_scope PA%function_scope idx0%list_scope Arguments nilR_inv A%type_scope PA%function_scope idx0%list_scope _ Arguments consR_inv A%type_scope PA%function_scope idx0%list_scope a _ xs%list_scope _ _ c0 global (indt «nat») Query assignments: T = global (indt «nat») nth_R = fun (T T0 : Type) (T1 : T -> T0 -> Type) (x0 : T) (x1 : T0) (x2 : T1 x0 x1) => let fix rec (n : nat) (l : list T) {struct n} : T := match l with | nil => x0 | (x :: xs)%list => match n with | 0 => x | S m => rec m xs end end in let fix rec0 (n : nat) (l : list T0) {struct n} : T0 := match l with | nil => x1 | (x :: xs)%list => match n with | 0 => x | S m => rec0 m xs end end in fix rec1 (n n0 : nat) (n1 : nat_R n n0) {struct n1} : forall (l : list T) (l0 : list T0), list_R T T0 T1 l l0 -> T1 (rec n l) (rec0 n0 l0) := match n1 in (nat_R s1 s2) return (forall (l : list T) (l0 : list T0), list_R T T0 T1 l l0 -> T1 (rec s1 l) (rec0 s2 l0)) with | O_R => let K := O_R in (fun (n2 n3 : nat) (n4 : nat_R n2 n3) (l : list T) (l0 : list T0) (l1 : list_R T T0 T1 l l0) => match l1 in (list_R _ _ _ l2 l3) return (T1 match l2 with | nil => x0 | (x :: xs)%list => match n2 with | 0 => x | S m => rec m xs end end match l3 with | nil => x1 | (x :: xs)%list => match n3 with | 0 => x | S m => rec0 m xs end end) with | nil_R _ _ _ => x2 | cons_R _ _ _ x x3 x4 xs xs0 xs1 => match n4 in (nat_R n5 n6) return (T1 match n5 with | 0 => x | S m => rec m xs end match n6 with | 0 => x3 | S m => rec0 m xs0 end) with | O_R => x4 | S_R m m0 m1 => rec1 m m0 m1 xs xs0 xs1 end end) 0 0 K | S_R x x3 x4 => let K := S_R x x3 x4 in (fun (n2 n3 : nat) (n4 : nat_R n2 n3) (l : list T) (l0 : list T0) (l1 : list_R T T0 T1 l l0) => match l1 in (list_R _ _ _ l2 l3) return (T1 match l2 with | nil => x0 | (x5 :: xs)%list => match n2 with | 0 => x5 | S m => rec m xs end end match l3 with | nil => x1 | (x5 :: xs)%list => match n3 with | 0 => x5 | S m => rec0 m xs end end) with | nil_R _ _ _ => x2 | cons_R _ _ _ x5 x6 x7 xs xs0 xs1 => match n4 in (nat_R n5 n6) return (T1 match n5 with | 0 => x5 | S m => rec m xs end match n6 with | 0 => x6 | S m => rec0 m xs0 end) with | O_R => x7 | S_R m m0 m1 => rec1 m m0 m1 xs xs0 xs1 end end) (S x) (S x3) K end : forall (T T0 : Type) (T1 : T -> T0 -> Type) (x0 : T) (x1 : T0), T1 x0 x1 -> forall n n0 : nat, nat_R n n0 -> forall (l : list T) (l0 : list T0), list_R T T0 T1 l l0 -> T1 (nth T x0 n l) (nth T0 x1 n0 l0) Arguments nth_R (T T)%type_scope T%function_scope x0 x0 x0 (n n)%nat_scope n (l l)%list_scope l is_list_to_is_list_inv : forall (A : Type) (PA : A -> Type) (l : list A), is_list A PA l -> is_list_inv A PA l : forall (A : Type) (PA : A -> Type) (l : list A), is_list A PA l -> is_list_inv A PA l Query assignments: D = X0 R = app [global (indc «ex_intro»), X0, fun `hd_beta_auto` X0 c0 \ app [global (indt «eq»), global (indt «nat»), global (indc «O»), global (indc «O»)], X1, global (const «p»)] TY = app [global (indt «ex»), X0, fun `hd_beta_auto` X0 c0 \ app [global (indt «eq»), global (indt «nat»), global (indc «O»), global (indc «O»)]] _uvk_135_ = X2 _uvk_136_ = X3 _uvk_137_ = X4 Syntactic constraints: evar (X2) (sort (typ «ex.u0»)) X0 /* suspended on X2, X0 */ evar (X4) X0 (X1) /* suspended on X4, X1 */ evar (X1) X0 X5 /* suspended on X1, X5 */ Query assignments: P = const «eq_op» W = indt «nat» elpi.tests.test_HOAS.P.p1 1 global (const «P.x») @P.p1 X0 global (const «P.x») P.p1 P.x some (fun `A` (sort (typ «P.foo.u0»)) c0 \ fun `f` (app [global (indt «P.foo»), c0]) c1 \ app [primitive (proj elpi.tests.test_HOAS.P.p1 1), c1]) elpi.tests.test_HOAS.P.p2 2 global (const «P.x») @P.p2 X0 global (const «P.x») P.p2 P.x some (fun `A` (sort (typ «P.foo.u0»)) c0 \ fun `f` (app [global (indt «P.foo»), c0]) c1 \ app [primitive (proj elpi.tests.test_HOAS.P.p1 1), c1]) Universe constraints: COQC tests/test_projK.v COQC tests/test_derive.v COQC tests/test_eq.v COQC tests/test_param1.v COQC tests/test_isK.v COQC tests/test_map.v COQC tests/test_lens.v Debug: elpi lets escape exception: Attribute foo2 is not supported Query assignments: D = parameter A X0 (sort (typ «tx.u0»)) c0 \ inductive tx X1 (parameter y X2 (global (indt «nat»)) c1 \ arity (prod `_` (global (indt «bool»)) c2 \ sort (typ «tx.u1»))) c1 \ [constructor K1x (parameter y X3 (global (indt «nat»)) c2 \ arity (prod `x` c0 c3 \ prod `n` (global (indt «nat»)) c4 \ prod `p` (app [global (indt «eq»), global (indt «nat»), app [global (indc «S»), c4], c2]) c5 \ prod `e` (app [c1, c4, global (indc «true»)]) c6 \ app [c1, c2, global (indc «true»)])), constructor K2x (parameter y X4 (global (indt «nat»)) c2 \ arity (app [c1, c2, global (indc «false»)]))] _uvk_8_ = «tx.u0» _uvk_9_ = «tx.u1» Universe constraints: UNIVERSES: {elpi.tests.test_API_env.18 elpi.tests.test_API_env.17 elpi.tests.test_API_env.16 elpi.tests.test_API_env.15 elpi.tests.test_API_env.14 elpi.tests.test_API_env.13 elpi.tests.test_API_env.11} |= tx.u0 < elpi.tests.test_API_env.11 tx.u1 < elpi.tests.test_API_env.13 Set <= eq.u0 Set <= elpi.tests.test_API_env.13 Set <= elpi.tests.test_API_env.14 Set <= elpi.tests.test_API_env.15 Set <= elpi.tests.test_API_env.16 Set <= elpi.tests.test_API_env.17 Set <= elpi.tests.test_API_env.18 tx.u0 <= elpi.tests.test_API_env.14 tx.u1 <= elpi.tests.test_API_env.14 elpi.tests.test_API_env.14 <= tx.u1 ALGEBRAIC UNIVERSES: {tx.u1 tx.u0} FLEXIBLE UNIVERSES: tx.u1 tx.u0 SORTS: α2 := Type α3 := Type α4 := Type α5 := Type WEAK CONSTRAINTS: pred_R = fun (n n0 : nat) (n1 : nat_R n n0) => match n1 in (nat_R n2 n3) return (nat_R match n2 with | 0 => n | S u => u end match n3 with | 0 => n0 | S u => u end) with | O_R => n1 | S_R _ _ u1 => u1 end : forall n n0 : nat, nat_R n n0 -> nat_R (Nat.pred n) (Nat.pred n0) Arguments pred_R (n n)%nat_scope n pred_R : nat2nat_R Nat.pred Nat.pred : nat2nat_R Nat.pred Nat.pred predn_R : nat2nat_R predn predn : nat2nat_R predn predn add_R : nat2nat2nat_R Nat.add Nat.add : nat2nat2nat_R Nat.add Nat.add more : forall A : Type, A -> tickle A -> tickle A : forall A : Type, A -> tickle A -> tickle A tickle.eqb : forall A : Type, (A -> A -> bool) -> tickle A -> tickle A -> bool : forall A : Type, (A -> A -> bool) -> tickle A -> tickle A -> bool tickle.eqb_OK : forall (A : Type) (f : A -> A -> bool), (forall x y : A, reflect (x = y) (f x y)) -> forall x y : tickle A, reflect (x = y) (tickle.eqb A f x y) : forall (A : Type) (f : A -> A -> bool), (forall x y : A, reflect (x = y) (f x y)) -> forall x y : tickle A, reflect (x = y) (tickle.eqb A f x y) tickle.map : forall A B : Type, (A -> B) -> tickle A -> tickle B : forall A B : Type, (A -> B) -> tickle A -> tickle B tickle.tickle_R : forall A B : Type, (A -> B -> Type) -> tickle A -> tickle B -> Type : forall A B : Type, (A -> B -> Type) -> tickle A -> tickle B -> Type File "./tests/test_param2.v", line 85, characters 0-30: Warning: Not a truly recursive fixpoint. [non-recursive,fixpoints,default] Starting module rtree Declaring inductive parameter A explicit (sort (typ «elpi.apps.derive.examples.usage.194»)) c0 \ inductive rtree tt (arity (sort (typ «elpi.apps.derive.examples.usage.195»))) c1 \ [constructor Leaf (arity (prod `a` c0 c2 \ c1)), constructor Node (arity (prod `l` (app [global (indt «tickle.tickle»), c1]) c2 \ c1))] Deriving Derivation map on indt «rtree» Derivation map on indt «rtree» took 0.009318 Derivation lens on indt «rtree» Derivation lens on indt «rtree» failed, continuing Derivation param1 on indt «rtree» Derivation param1 on indt «rtree» took 0.018019 Derivation param2 on indt «rtree» Query assignments: C1 = const «C1» GR1 = const «c12» GR2 = const «c1t» GR3 = const «c1f» Derivation param2 on indt «rtree» took 0.022957 Derivation tag on indt «rtree» fun x : C1 => x : C2 : C1 -> C2 fun (x : C1) (_ : x) => true : forall x : C1, x -> bool fun x : C1 => x 3 : C1 -> nat Derivation tag on indt «rtree» took 0.005141 Derivation eqType_ast on indt «rtree» Derivation eqType_ast on indt «rtree» took 0.001956 Derivation lens_laws on indt «rtree» Derivation lens_laws on indt «rtree» took 0.001241 Derivation param1_congr on indt «rtree» Derivation param1_congr on indt «rtree» took 0.007829 Derivation param1_inhab on indt «rtree» Derivation param1_inhab on indt «rtree» took 0.007722 Derivation param1_functor on indt «rtree» COQC tests/test_tag.v Derivation param1_functor on indt «rtree» took 0.007905 Derivation fields on indt «rtree» Derivation fields on indt «rtree» took 0.018324 Derivation param1_trivial on indt «rtree» Query assignments: R = app [global (indc «ex_intro»), global (indt «nat»), fun `hd_beta_auto` (global (indt «nat»)) c0 \ app [global (indt «eq»), global (indt «nat»), c0, c0], global (indc «O»), global (const «p»)] TY = app [global (indt «ex»), global (indt «nat»), fun `hd_beta_auto` (global (indt «nat»)) c0 \ app [global (indt «eq»), global (indt «nat»), c0, c0]] _uvk_164_ = X0 _uvk_165_ = X1 Query assignments: X = «elpi.tests.test_API.1» Universe constraints: UNIVERSES: {elpi.tests.test_API.1} |= ALGEBRAIC UNIVERSES: {} FLEXIBLE UNIVERSES: SORTS: WEAK CONSTRAINTS: Derivation param1_trivial on indt «rtree» took 0.172236 Derivation induction on indt «rtree» Derivation induction on indt «rtree» took 0.006297 Derivation eqb on indt «rtree» Derivation eqb on indt «rtree» took 0.021659 Derivation eqbcorrect on indt «rtree» Derivation eqbcorrect on indt «rtree» took 0.078100 Derivation eqbOK on indt «rtree» Derivation eqbOK on indt «rtree» took 0.004813 Done rtree.induction : forall (A : Type) (PA : A -> Type) (P : rtree A -> Type), (forall a : A, PA a -> P (Leaf A a)) -> (forall l : tickle (rtree A), tickle.is_tickle (rtree A) P l -> P (Node A l)) -> forall x : rtree A, rtree.is_rtree A PA x -> P x : forall (A : Type) (PA : A -> Type) (P : rtree A -> Type), (forall a : A, PA a -> P (Leaf A a)) -> (forall l : tickle (rtree A), tickle.is_tickle (rtree A) P l -> P (Node A l)) -> forall x : rtree A, rtree.is_rtree A PA x -> P x Starting module Box Declaring inductive parameter A explicit (sort (typ «elpi.apps.derive.examples.usage.387»)) c0 \ record Box (sort (typ «elpi.apps.derive.examples.usage.388»)) Build_Box (field [coercion off, canonical tt] contents c0 c1 \ field [coercion off, canonical tt] tag (global (indt «nat»)) c2 \ end-record) Deriving Skipping derivation map on indt «Box» since the user did not select it Derivation lens on indt «Box» Derivation lens on indt «Box» took 0.011385 Skipping derivation param1 on indt «Box» since the user did not select it Skipping derivation param2 on indt «Box» since the user did not select it Derivation tag on indt «Box» File "./examples/usage.v", line 53, characters 0-92: Warning: Global name tag is taken, using tag1 instead [elpi.renamed,elpi,default] Derivation tag on indt «Box» took 0.004046 Derivation eqType_ast on indt «Box» Derivation eqType_ast on indt «Box» took 0.001760 Derivation lens_laws on indt «Box» Derivation lens_laws on indt «Box» took 0.023734 Skipping derivation param1_congr on indt «Box» since the user did not select it Skipping derivation param1_inhab on indt «Box» since the user did not select it Skipping derivation param1_functor on indt «Box» since the user did not select it Derivation fields on indt «Box» Derivation fields on indt «Box» took 0.010899 Skipping derivation param1_trivial on indt «Box» since the user did not select it Skipping derivation induction on indt «Box» since the user did not select it Derivation eqb on indt «Box» Derivation eqb on indt «Box» took 0.011792 Skipping derivation eqbcorrect on indt «Box» since the user did not select it Skipping derivation eqbOK on indt «Box» since the user did not select it Done [attribute elpi.loc (leaf-loc File "./tests/test_tactic.v", line 314, column 10, character 6765:), attribute elpi.phase (leaf-str interp)] Box.eqb : forall A : Type, (A -> A -> bool) -> Box A -> Box A -> bool : forall A : Type, (A -> A -> bool) -> Box A -> Box A -> bool @Box._tag : forall A : Type, Lens (Box A) (Box A) nat nat : forall A : Type, Lens (Box A) (Box A) nat nat Box._tag_set_set : forall (A : Type) (r : Box A) (y x : nat), set Box._tag x (set Box._tag y r) = set Box._tag x r : forall (A : Type) (r : Box A) (y x : nat), set Box._tag x (set Box._tag y r) = set Box._tag x r Box._tag_contents_exchange : forall (A : Type) (r : Box A) (x : nat) (y : A), set Box._tag x (set Box._contents y r) = set Box._contents y (set Box._tag x r) : forall (A : Type) (r : Box A) (x : nat) (y : A), set Box._tag x (set Box._contents y r) = set Box._contents y (set Box._tag x r) nat_eqb_OK : forall x y : nat, reflect (x = y) (nat_eqb x y) : forall x y : nat, reflect (x = y) (nat_eqb x y) Derivation map on indt «a» Derivation map on indt «a» took 0.005658 Derivation lens on indt «a» Derivation lens on indt «a» failed, continuing Derivation param1 on indt «a» Derivation param1 on indt «a» took 0.011866 Derivation param2 on indt «a» some (pglobal (const «toto») «elpi.tests.test_HOAS.19 elpi.tests.test_HOAS.20») prod `T1` (sort (typ «elpi.tests.test_HOAS.19»)) c0 \ prod `T2` (sort (typ «elpi.tests.test_HOAS.20»)) c1 \ prod `x` c0 c2 \ c0 Query assignments: Body = some (pglobal (const «toto») «elpi.tests.test_HOAS.19 elpi.tests.test_HOAS.20») C = «titi» Term = prod `T1` (sort (typ «elpi.tests.test_HOAS.19»)) c0 \ prod `T2` (sort (typ «elpi.tests.test_HOAS.20»)) c1 \ prod `x` c0 c2 \ c0 Universe constraints: UNIVERSES: {elpi.tests.test_HOAS.20 elpi.tests.test_HOAS.19} |= ALGEBRAIC UNIVERSES: {} FLEXIBLE UNIVERSES: SORTS: WEAK CONSTRAINTS: Derivation param2 on indt «a» took 0.012176 Derivation tag on indt «a» Derivation tag on indt «a» took 0.003342 Derivation eqType_ast on indt «a» Derivation eqType_ast on indt «a» took 0.001933 Derivation lens_laws on indt «a» Derivation lens_laws on indt «a» took 0.001616 Derivation param1_congr on indt «a» Derivation param1_congr on indt «a» took 0.002837 Derivation param1_inhab on indt «a» Derivation param1_inhab on indt «a» took 0.005640 Derivation param1_functor on indt «a» Derivation param1_functor on indt «a» took 0.005269 Derivation fields on indt «a» Derivation fields on indt «a» took 0.008997 Derivation param1_trivial on indt «a» Query assignments: D = parameter A explicit (sort (typ «elpi.tests.test_API_env.20»)) c0 \ parameter a explicit c0 c1 \ inductive ind1 tt (parameter B explicit (sort (typ «ind1.u0»)) c2 \ parameter b explicit c2 c3 \ arity (prod `C` (sort (typ «elpi.tests.test_API_env.22»)) c4 \ prod `_` c4 c5 \ sort (typ «elpi.tests.test_API_env.26»))) c2 \ [constructor k1 (parameter B explicit (sort (typ «ind1.u0»)) c3 \ parameter b explicit c3 c4 \ arity (prod `bb` (app [global (indt «prod»), c3, c3]) c5 \ prod `_` (app [c2, app [global (indt «prod»), c3, c3], c5, global (indt «bool»), global (indc «true»)]) c6 \ app [c2, c3, c4, global (indt «unit»), global (indc «tt»)])), constructor k2 (parameter B explicit (sort (typ «ind1.u0»)) c3 \ parameter b explicit c3 c4 \ arity (app [c2, c3, c4, global (indt «nat»), app [global (indc «S»), global (indc «O»)]]))] D1 = parameter A explicit (sort (typ «elpi.tests.test_API_env.20»)) c0 \ parameter a explicit c0 c1 \ inductive ind1 tt (parameter B explicit (sort (typ «ind1.u0»)) c2 \ parameter b explicit c2 c3 \ arity (prod `C` (sort (typ «elpi.tests.test_API_env.22»)) c4 \ prod `_` c4 c5 \ sort (typ «elpi.tests.test_API_env.26»))) c2 \ [constructor k1 (parameter B explicit (sort (typ «ind1.u0»)) c3 \ parameter b explicit c3 c4 \ arity (prod `bb` (app [global (indt «prod»), c3, c3]) c5 \ prod `_` (app [c2, app [global (indt «prod»), c3, c3], c5, global (indt «bool»), global (indc «true»)]) c6 \ app [c2, c3, c4, global (indt «unit»), global (indc «tt»)])), constructor k2 (parameter B explicit (sort (typ «ind1.u0»)) c3 \ parameter b explicit c3 c4 \ arity (app [c2, c3, c4, global (indt «nat»), app [global (indc «S»), global (indc «O»)]]))] I = «ind1» U = «elpi.tests.test_API_env.26» UA = «elpi.tests.test_API_env.20» UB1 = «ind1.u0» UB2 = «ind1.u0» UB3 = «ind1.u0» UC = «elpi.tests.test_API_env.22» Universe constraints: UNIVERSES: {elpi.tests.test_API_env.26} |= Set <= elpi.tests.test_API_env.26 ind1.u0 <= elpi.tests.test_API_env.26 ALGEBRAIC UNIVERSES: {} FLEXIBLE UNIVERSES: SORTS: WEAK CONSTRAINTS: Derivation param1_trivial on indt «a» took 0.005759 Derivation induction on indt «a» Derivation induction on indt «a» took 0.004195 Derivation eqb on indt «a» Derivation eqb on indt «a» took 0.008134 Derivation eqbcorrect on indt «a» Derivation eqbcorrect on indt «a» took 0.012510 Derivation eqbOK on indt «a» Derivation eqbOK on indt «a» took 0.003424 Skipping derivation map on indt «b» since the user did not select it Skipping derivation lens on indt «b» since the user did not select it Derivation param1 on indt «b» Derivation param1 on indt «b» took 0.011830 Skipping derivation param2 on indt «b» since the user did not select it Derivation tag on indt «b» Derivation tag on indt «b» took 0.004286 Derivation eqType_ast on indt «b» Derivation eqType_ast on indt «b» took 0.001936 Skipping derivation lens_laws on indt «b» since the user did not select it Skipping derivation param1_congr on indt «b» since the user did not select it Derivation param1_inhab on indt «b» Derivation param1_inhab on indt «b» took 0.006184 Derivation param1_functor on indt «b» Derivation param1_functor on indt «b» took 0.006392 Derivation fields on indt «b» Derivation fields on indt «b» took 0.009676 Skipping derivation param1_trivial on indt «b» since the user did not select it Derivation induction on indt «b» Derivation induction on indt «b» took 0.004747 Derivation eqb on indt «b» Derivation eqb on indt «b» took 0.043838 Derivation eqbcorrect on indt «b» Derivation eqbcorrect on indt «b» took 0.013551 Derivation eqbOK on indt «b» Derivation eqbOK on indt «b» took 0.003566 COQC tests/test_eqType_ast.v a_eqb : a -> a -> bool b_eqb : b -> b -> bool Query assignments: X = typ «elpi.tests.test_API.2» Y = typ «elpi.tests.test_API.3» Universe constraints: UNIVERSES: {elpi.tests.test_API.3 elpi.tests.test_API.2} |= elpi.tests.test_API.2 <= elpi.tests.test_API.3 ALGEBRAIC UNIVERSES: {} FLEXIBLE UNIVERSES: SORTS: WEAK CONSTRAINTS: Query assignments: L = [coercion (const «c1t») 0 (const «C1») sortclass, coercion (const «c1f») 0 (const «C1») funclass, coercion (const «c12») 0 (const «C1») (grefclass (const «C2»)), coercion (const «reverse_coercion») 3 (const «ReverseCoercionSource») (grefclass (const «ReverseCoercionTarget»))] Inductive peano : Set := Zero : peano | Succ : peano -> peano. Arguments Succ p = false : bool peano_eqb_OK : forall x1 x2 : peano, reflect (x1 = x2) (peano_eqb x1 x2) pglobal (const «toto») X0 pglobal (const «toto») «u1 u2» toto Query assignments: Spilled_1 = toto _uvk_62_ = X0 _uvk_63_ = «elpi.tests.test_HOAS.23 elpi.tests.test_HOAS.24» Universe constraints: UNIVERSES: {elpi.tests.test_HOAS.24 elpi.tests.test_HOAS.23} |= ALGEBRAIC UNIVERSES: {elpi.tests.test_HOAS.24 elpi.tests.test_HOAS.23} FLEXIBLE UNIVERSES: elpi.tests.test_HOAS.24 elpi.tests.test_HOAS.23 SORTS: WEAK CONSTRAINTS: Query assignments: R = app [global (indc «ex_intro»), global (indt «nat»), fun `hd_beta_auto` (global (indt «nat»)) c0 \ app [global (indt «eq»), global (indt «nat»), c0, global (indc «O»)], global (indc «O»), global (const «p»)] TY = app [global (indt «ex»), global (indt «nat»), fun `n` (global (indt «nat»)) c0 \ app [global (indt «eq»), global (indt «nat»), c0, global (indc «O»)]] _uvk_174_ = X0 _uvk_175_ = c0 \ X1 c0 _uvk_176_ = X2 _uvk_177_ = X3 Universe constraints: UNIVERSES: {elpi.tests.test_elaborator.58 elpi.tests.test_elaborator.57 elpi.tests.test_elaborator.56 elpi.tests.test_elaborator.55} |= Set <= elpi.tests.test_elaborator.55 elpi.tests.test_elaborator.55 <= elpi.tests.test_elaborator.57 elpi.tests.test_elaborator.56 <= elpi.tests.test_elaborator.57 elpi.tests.test_elaborator.57 <= elpi.tests.test_elaborator.58 ALGEBRAIC UNIVERSES: {} FLEXIBLE UNIVERSES: SORTS: WEAK CONSTRAINTS: Entry binder_constr is [ LEFTA [ "exists2"; "'"; pattern LEVEL "0"; ":"; term LEVEL "200"; ","; term LEVEL "200"; "&"; term LEVEL "200" | "exists2"; "'"; pattern LEVEL "0"; ","; term LEVEL "200"; "&"; term LEVEL "200" | "exists2"; name; ":"; term LEVEL "200"; ","; term LEVEL "200"; "&"; term LEVEL "200" | "exists2"; name; ","; term LEVEL "200"; "&"; term LEVEL "200" | "exists"; "!"; open_binders; ","; term LEVEL "200" | "exists"; open_binders; ","; term LEVEL "200" | "forall"; open_binders; ","; term LEVEL "200" | "fun"; open_binders; "=>"; term LEVEL "200" | "let"; "fix"; fix_decl; "in"; term LEVEL "200" | "let"; "cofix"; cofix_body; "in"; term LEVEL "200" | "let"; "'"; pattern LEVEL "200"; ":="; term LEVEL "200"; "in"; term LEVEL "200" | "let"; "'"; pattern LEVEL "200"; ":="; term LEVEL "200"; case_type; "in"; term LEVEL "200" | "let"; "'"; pattern LEVEL "200"; "in"; pattern LEVEL "200"; ":="; term LEVEL "200"; case_type; "in"; term LEVEL "200" | "let"; name; binders; let_type_cstr; ":="; term LEVEL "200"; "in"; term LEVEL "200" | "let"; [ "("; LIST0 name SEP ","; ")" | "()" ]; as_return_type; ":="; term LEVEL "200"; "in"; term LEVEL "200" | "if"; term LEVEL "200"; as_return_type; "then"; term LEVEL "200"; "else"; term LEVEL "200" | "fix"; fix_decls | "cofix"; cofix_decls ] ] Entry constr is [ LEFTA [ "@"; global; univ_annot | term LEVEL "8" ] ] Entry lconstr is [ LEFTA [ term LEVEL "200" ] ] Entry term is [ "200" RIGHTA [ ] | "100" RIGHTA [ SELF; "<:"; term LEVEL "200" | SELF; "<<:"; term LEVEL "200" | SELF; ":>"; term LEVEL "200" | SELF; ":"; term LEVEL "200" ] | "99" RIGHTA [ SELF; "->"; term LEVEL "200" ] | "95" RIGHTA [ SELF; "<->"; NEXT ] | "90" RIGHTA [ ] | "85" RIGHTA [ SELF; "\\/"; term LEVEL "85" ] | "80" RIGHTA [ SELF; "/\\"; term LEVEL "80" ] | "75" RIGHTA [ "~"; term LEVEL "75" ] | "70" RIGHTA [ SELF; ">"; NEXT | SELF; ">="; NEXT | SELF; "<"; NEXT; "<="; NEXT | SELF; "<"; NEXT; "<"; NEXT | SELF; "<"; NEXT | SELF; "<="; NEXT; "<"; NEXT | SELF; "<="; NEXT; "<="; NEXT | SELF; "<="; NEXT | SELF; "<>"; NEXT; ":>"; NEXT | SELF; "<>"; NEXT | SELF; "="; NEXT; "="; NEXT | SELF; "="; NEXT; ":>"; NEXT | SELF; "="; NEXT ] | "60" RIGHTA [ SELF; "++"; term LEVEL "60" | SELF; "::"; term LEVEL "60" ] | "50" LEFTA [ SELF; "||"; NEXT | SELF; "-"; NEXT | SELF; "+"; NEXT ] | "40" LEFTA [ SELF; "&&"; NEXT | SELF; "/"; NEXT | SELF; "*"; NEXT ] | "35" RIGHTA [ "/"; term LEVEL "35" | "-"; term LEVEL "35" ] | "30" RIGHTA [ SELF; "^"; term LEVEL "30" ] | LEFTA [ IDENT "XX"; FIELD "xxx"; LIST0 arg ] | "10" LEFTA [ SELF; LIST1 arg | "@"; global; univ_annot; LIST0 NEXT | "@"; pattern_ident; LIST1 identref | binder_constr ] | "9" LEFTA [ ".."; term LEVEL "0"; ".." ] | "8" LEFTA [ ] | "1" LEFTA [ SELF; ".("; "@"; global; univ_annot; LIST0 (term LEVEL "9"); ")" | SELF; ".("; global; univ_annot; LIST0 arg; ")" | SELF; "%"; IDENT | SELF; "%_"; IDENT ] | "0" LEFTA [ "lib"; ":"; "@"; qualified_name | "lib"; ":"; qualified_name | QUOTATION "lp:" | "{"; "'"; pattern LEVEL "0"; "&"; term LEVEL "200"; "&"; term LEVEL "200"; "}" | "{"; "'"; pattern LEVEL "0"; "&"; term LEVEL "200"; "}" | "{"; "'"; pattern LEVEL "0"; ":"; term LEVEL "200"; "&"; term LEVEL "200"; "&"; term LEVEL "200"; "}" | "{"; "'"; pattern LEVEL "0"; ":"; term LEVEL "200"; "&"; term LEVEL "200"; "}" | "{"; "'"; pattern LEVEL "0"; ":"; term LEVEL "200"; "|"; term LEVEL "200"; "&"; term LEVEL "200"; "}" | "{"; "'"; pattern LEVEL "0"; ":"; term LEVEL "200"; "|"; term LEVEL "200"; "}" | "{"; "'"; pattern LEVEL "0"; "|"; term LEVEL "200"; "&"; term LEVEL "200"; "}" | "{"; "'"; pattern LEVEL "0"; "|"; term LEVEL "200"; "}" | "{"; term LEVEL "99"; "&"; term LEVEL "200"; "&"; term LEVEL "200"; "}" | "{"; term LEVEL "99"; "&"; term LEVEL "200"; "}" | "{"; term LEVEL "99"; ":"; term LEVEL "200"; "&"; term LEVEL "200"; "&"; term LEVEL "200"; "}" | "{"; term LEVEL "99"; ":"; term LEVEL "200"; "&"; term LEVEL "200"; "}" | "{"; term LEVEL "99"; ":"; term LEVEL "200"; "|"; term LEVEL "200"; "&"; term LEVEL "200"; "}" | "{"; term LEVEL "99"; ":"; term LEVEL "200"; "|"; term LEVEL "200"; "}" | "{"; term LEVEL "99"; "|"; term LEVEL "200"; "&"; term LEVEL "200"; "}" | "{"; term LEVEL "99"; "|"; term LEVEL "200"; "}" | "{"; term LEVEL "99"; "}" | IDENT "ltac"; ":"; "("; ltac_expr; ")" | "("; term LEVEL "200"; ","; term LEVEL "200"; ","; LIST1 (term LEVEL "200") SEP ","; ")" | "("; term LEVEL "200"; ","; term LEVEL "200"; ")" | "("; term LEVEL "200"; ")" | "{|"; record_declaration; '|}' | "`{"; term LEVEL "200"; "}" | "`("; term LEVEL "200"; ")" | NUMBER | atomic_constr | term_match | ident; fields; univ_annot | ident; univ_annot | string | test_array_opening; "["; "|"; array_elems; "|"; lconstr; type_cstr; test_array_closing; "|"; "]"; univ_annot ] ] [attribute elpi.loc (leaf-loc File "./tests/test_tactic.v", line 325, column 12, character 7018:), attribute elpi.phase (leaf-str interp)] skip int 1 skip str 33 skip trm (global (indt «bool»)) [attribute elpi.loc (leaf-loc File "./tests/test_tactic.v", line 325, column 12, character 7018:), attribute elpi.phase (leaf-str interp)] skip int 1 skip str 33 skip trm (global (indt «bool»)) nat -> bool -> True : Prop [attribute elpi.loc (leaf-loc File "./tests/test_tactic.v", line 334, column 12, character 7204:), attribute elpi.phase (leaf-str interp)] [attribute elpi.loc (leaf-loc File "./tests/test_tactic.v", line 334, column 12, character 7204:), attribute elpi.phase (leaf-str interp)] [attribute elpi.loc (leaf-loc File "./tests/test_tactic.v", line 338, column 30, character 7305:), attribute elpi.phase (leaf-str interp)] [attribute elpi.loc (leaf-loc File "./tests/test_tactic.v", line 338, column 30, character 7305:), attribute elpi.phase (leaf-str interp)] [attribute elpi.loc (leaf-loc File "./tests/test_tactic.v", line 346, column 7, character 7481:), attribute elpi.phase (leaf-str interp)] [attribute elpi.loc (leaf-loc File "./tests/test_tactic.v", line 346, column 7, character 7481:), attribute elpi.phase (leaf-str interp)] app [pglobal (const «t») X0, global (indt «nat»), pglobal (const «fnat») X1] app [pglobal (const «t») «elpi.tests.test_HOAS.29», global (indt «nat»), pglobal (const «fnat») «»] Query assignments: T = app [pglobal (const «t») «elpi.tests.test_HOAS.29», global (indt «nat»), pglobal (const «fnat») «»] Ty = global (indt «nat») _uvk_64_ = «elpi.tests.test_HOAS.29» _uvk_65_ = «» Universe constraints: UNIVERSES: {elpi.tests.test_HOAS.29} |= Set <= elpi.tests.test_HOAS.29 Set = elpi.tests.test_HOAS.29 ALGEBRAIC UNIVERSES: {elpi.tests.test_HOAS.29} FLEXIBLE UNIVERSES: elpi.tests.test_HOAS.29 := Set SORTS: WEAK CONSTRAINTS: Query assignments: D = parameter A explicit (sort (typ «elpi.tests.test_API_env.20»)) c0 \ parameter a explicit c0 c1 \ inductive ind1 tt (parameter B explicit (sort (typ «ind1.u0»)) c2 \ parameter b explicit c2 c3 \ arity (prod `C` (sort (typ «elpi.tests.test_API_env.22»)) c4 \ prod `_` c4 c5 \ sort (typ «elpi.tests.test_API_env.27»))) c2 \ [constructor k1 (parameter B explicit (sort (typ «ind1.u0»)) c3 \ parameter b explicit c3 c4 \ parameter bb implicit (app [global (indt «prod»), c3, c3]) c5 \ arity (prod `_` (app [c2, app [global (indt «prod»), c3, c3], c5, global (indt «bool»), global (indc «true»)]) c6 \ app [c2, c3, c4, global (indt «unit»), global (indc «tt»)])), constructor k2 (parameter B explicit (sort (typ «ind1.u0»)) c3 \ parameter b explicit c3 c4 \ arity (app [c2, c3, c4, global (indt «nat»), app [global (indc «S»), global (indc «O»)]]))] D1 = parameter A explicit (sort (typ «elpi.tests.test_API_env.20»)) c0 \ parameter a explicit c0 c1 \ inductive ind1 tt (parameter B explicit (sort (typ «ind1.u0»)) c2 \ parameter b explicit c2 c3 \ arity (prod `C` (sort (typ «elpi.tests.test_API_env.22»)) c4 \ prod `_` c4 c5 \ sort (typ «elpi.tests.test_API_env.27»))) c2 \ [constructor k1 (parameter B explicit (sort (typ «ind1.u0»)) c3 \ parameter b explicit c3 c4 \ parameter bb implicit (app [global (indt «prod»), c3, c3]) c5 \ arity (prod `_` (app [c2, app [global (indt «prod»), c3, c3], c5, global (indt «bool»), global (indc «true»)]) c6 \ app [c2, c3, c4, global (indt «unit»), global (indc «tt»)])), constructor k2 (parameter B explicit (sort (typ «ind1.u0»)) c3 \ parameter b explicit c3 c4 \ arity (app [c2, c3, c4, global (indt «nat»), app [global (indc «S»), global (indc «O»)]]))] I = «ind1» U = «elpi.tests.test_API_env.27» UA = «elpi.tests.test_API_env.20» UB1 = «ind1.u0» UB2 = «ind1.u0» UB3 = «ind1.u0» UC = «elpi.tests.test_API_env.22» Universe constraints: UNIVERSES: {elpi.tests.test_API_env.27} |= Set <= elpi.tests.test_API_env.27 ind1.u0 <= elpi.tests.test_API_env.27 ALGEBRAIC UNIVERSES: {} FLEXIBLE UNIVERSES: SORTS: WEAK CONSTRAINTS: Inductive peano : Set := Zero : peano | Succ : peano -> peano. Arguments peano.Succ p = false : bool peano.eqb_OK : forall x1 x2 : peano, reflect (x1 = x2) (peano.eqb x1 x2) peano.eqb_OK is not universe polymorphic Arguments peano.eqb_OK x1 x2 peano.eqb_OK is opaque Expands to: Constant elpi.apps.derive.examples.readme.peano.eqb_OK Notation peano := peano.peano Inductive peano : Set := Zero : peano | Succ : peano -> peano. Arguments peano.Succ p = false : bool peano.eqb_OK : forall x1 x2 : peano, reflect (x1 = x2) (peano.eqb x1 x2) Query assignments: X = typ «elpi.tests.test_API.4» Y = typ «elpi.tests.test_API.5» Universe constraints: UNIVERSES: {elpi.tests.test_API.5 elpi.tests.test_API.4} |= elpi.tests.test_API.4 <= elpi.tests.test_API.5 ALGEBRAIC UNIVERSES: {} FLEXIBLE UNIVERSES: SORTS: WEAK CONSTRAINTS: Derivation param1 on const «Nat.add» Query assignments: Spilled_1 = const «nuc» nuc : forall x : nat, C1 -> C3 x nuc is not universe polymorphic Arguments nuc x%nat_scope _ nuc is a reversible coercion Expands to: Constant elpi.tests.test_API_TC_CS.nuc Derivation param1 on const «Nat.add» took 0.258052 Derivation param2 on const «Nat.add» Derivation param2 on const «Nat.add» took 0.017757 Derivation eqb-alias on const «Nat.add» Query assignments: A4 = «elpi.tests.test_HOAS.36» A5 = «elpi.tests.test_HOAS.37» A6 = «elpi.tests.test_HOAS.38» A7 = «elpi.tests.test_HOAS.39» A8 = «elpi.tests.test_HOAS.40» Arity = prod `T` (sort (typ «elpi.tests.test_HOAS.30»)) c0 \ sort (typ «elpi.tests.test_HOAS.30») Arity1 = prod `T` (sort (typ «elpi.tests.test_HOAS.31»)) c0 \ sort (typ «elpi.tests.test_HOAS.31») Arity2 = prod `T` (sort (typ «elpi.tests.test_HOAS.32»)) c0 \ sort (typ «elpi.tests.test_HOAS.32») Arity4 = prod `T` (sort (typ «elpi.tests.test_HOAS.36»)) c0 \ sort (typ «elpi.tests.test_HOAS.36») Arity5 = prod `T` (sort (typ «elpi.tests.test_HOAS.37»)) c0 \ sort (typ «elpi.tests.test_HOAS.37») B = «Build_F» B1 = «elpi.tests.test_HOAS.43» B2 = «elpi.tests.test_HOAS.44» BTy2 = prod `T` (sort (typ «elpi.tests.test_HOAS.42»)) c0 \ prod `t` c0 c1 \ app [pglobal (indt «F») «elpi.tests.test_HOAS.42», c0] BTy3 = prod `T` (sort (typ «elpi.tests.test_HOAS.43»)) c0 \ prod `t` c0 c1 \ app [pglobal (indt «F») «elpi.tests.test_HOAS.43», c0] BoN = none BoT = some (fun `T` (sort (typ «elpi.tests.test_HOAS.45»)) c0 \ fun `f` (app [pglobal (indt «F») «elpi.tests.test_HOAS.45», c0]) c1 \ match c1 (fun `f` (app [pglobal (indt «F») «elpi.tests.test_HOAS.45», c0]) c2 \ c0) [fun `t` c0 c2 \ c2]) Derivation eqb-alias on const «Nat.add» failed, continuing BoT1 = some (fun `T` (sort (typ «elpi.tests.test_HOAS.46»)) c0 \ fun `f` (app [pglobal (indt «F») «elpi.tests.test_HOAS.46», c0]) c1 \ match c1 (fun `f` (app [pglobal (indt «F») «elpi.tests.test_HOAS.46», c0]) c2 \ c0) [fun `t` c0 c2 \ c2]) Derivation eqbcorrect-alias on const «Nat.add» BoT2 = some (fun `T` (sort (typ «elpi.tests.test_HOAS.47»)) c0 \ fun `f` (app [pglobal (indt «F») «elpi.tests.test_HOAS.47», c0]) c1 \ match c1 (fun `f` (app [pglobal (indt «F») «elpi.tests.test_HOAS.47», c0]) c2 \ c0) [fun `t` c0 c2 \ c2]) BoT4 = some (fun `T` (sort (typ «elpi.tests.test_HOAS.49»)) c0 \ fun `f` (app [pglobal (indt «F») «elpi.tests.test_HOAS.49», c0]) c1 \ match c1 (fun `f` (app [pglobal (indt «F») «elpi.tests.test_HOAS.49», c0]) c2 \ c0) [fun `t` c0 c2 \ c2]) BoT5 = some (fun `T` (sort (typ «elpi.tests.test_HOAS.50»)) c0 \ fun `f` (app [pglobal (indt «F») «elpi.tests.test_HOAS.50», c0]) c1 \ match c1 (fun `f` (app [pglobal (indt «F») «elpi.tests.test_HOAS.50», c0]) c2 \ c0) [fun `t` c0 c2 \ c2]) BoT6 = some (fun `T` (sort (typ «elpi.tests.test_HOAS.64»)) c0 \ fun `f` (app [pglobal (indt «F») «elpi.tests.test_HOAS.64», c0]) c1 \ match c1 (fun `f` (app [pglobal (indt «F») «elpi.tests.test_HOAS.64», c0]) c2 \ c0) [fun `t` c0 c2 \ c2]) BoT7 = some (fun `T` (sort (typ «elpi.tests.test_HOAS.66»)) c0 \ fun `f` (app [pglobal (indt «F») «elpi.tests.test_HOAS.66», c0]) c1 \ match c1 (fun `f` (app [pglobal (indt «F») «elpi.tests.test_HOAS.66», c0]) c2 \ c0) [fun `t` c0 c2 \ c2]) C1 = «elpi.tests.test_HOAS.54» C2 = «elpi.tests.test_HOAS.55» C3 = «elpi.tests.test_HOAS.58» C4 = «elpi.tests.test_HOAS.59» C5 = «elpi.tests.test_HOAS.62» C6 = «elpi.tests.test_HOAS.63» D1 = «elpi.tests.test_HOAS.49» D2 = «elpi.tests.test_HOAS.50» Derivation eqbcorrect-alias on const «Nat.add» failed, continuing D3 = «elpi.tests.test_HOAS.51» D4 = X0 E5 = «elpi.tests.test_HOAS.66» E6 = «elpi.tests.test_HOAS.67» GRB = indc «Build_F» GRF = indt «F» GRn = const «n» GRt = const «t» I = «elpi.tests.test_HOAS.30» I2 = «elpi.tests.test_HOAS.41» I3 = «elpi.tests.test_HOAS.45» I4 = «» Ind = «F» K = [«Build_F»] KTys = [prod `T` (sort (typ «elpi.tests.test_HOAS.30»)) c0 \ prod `t` c0 c1 \ app [pglobal (indt «F») «elpi.tests.test_HOAS.30», c0]] Derivation eqbOK-alias on const «Nat.add» KTys1 = [prod `T` (sort (typ «elpi.tests.test_HOAS.31»)) c0 \ prod `t` c0 c1 \ app [pglobal (indt «F») «elpi.tests.test_HOAS.31», c0]] KTys3 = [prod `T` (sort (typ «elpi.tests.test_HOAS.33»)) c0 \ prod `t` c0 c1 \ app [pglobal (indt «F») «elpi.tests.test_HOAS.33», c0]] KTys4 = [prod `T` (sort (typ «elpi.tests.test_HOAS.36»)) c0 \ prod `t` c0 c1 \ app [pglobal (indt «F») «elpi.tests.test_HOAS.36», c0]] KTys6 = [prod `T` (sort (typ «elpi.tests.test_HOAS.38»)) c0 \ prod `t` c0 c1 \ app [pglobal (indt «F») «elpi.tests.test_HOAS.38», c0]] N = «n» T = «t» TyB = prod `T` (sort (typ «elpi.tests.test_HOAS.41»)) c0 \ prod `t` c0 c1 \ app [pglobal (indt «F») «elpi.tests.test_HOAS.41», c0] TyB2 = prod `T` (sort (typ «elpi.tests.test_HOAS.56»)) c0 \ prod `t` c0 c1 \ app [pglobal (indt «F») «elpi.tests.test_HOAS.56», c0] Derivation eqbOK-alias on const «Nat.add» failed, continuing TyB3 = prod `T` (sort (typ «elpi.tests.test_HOAS.58»)) c0 \ prod `t` c0 c1 \ app [pglobal (indt «F») «elpi.tests.test_HOAS.58», c0] TyF = prod `T` (sort (typ «elpi.tests.test_HOAS.30»)) c0 \ sort (typ «elpi.tests.test_HOAS.30») TyF2 = prod `T` (sort (typ «elpi.tests.test_HOAS.52»)) c0 \ sort (typ «elpi.tests.test_HOAS.52») TyF3 = prod `T` (sort (typ «elpi.tests.test_HOAS.54»)) c0 \ sort (typ «elpi.tests.test_HOAS.54») TyN = global (indt «nat») TyT = prod `T` (sort (typ «elpi.tests.test_HOAS.45»)) c0 \ prod `f` (app [pglobal (indt «F») «elpi.tests.test_HOAS.45», c0]) c1 \ c0 TyT1 = prod `T` (sort (typ «elpi.tests.test_HOAS.46»)) c0 \ prod `f` (app [pglobal (indt «F») «elpi.tests.test_HOAS.46», c0]) c1 \ c0 TyT3 = prod `T` (sort (typ «elpi.tests.test_HOAS.48»)) c0 \ prod `f` (app [pglobal (indt «F») «elpi.tests.test_HOAS.48», c0]) c1 \ c0 TyT4 = prod `T` (sort (typ «elpi.tests.test_HOAS.49»)) c0 \ prod `f` (app [pglobal (indt «F») «elpi.tests.test_HOAS.49», c0]) c1 \ c0 TyT5 = prod `T` (sort (typ «elpi.tests.test_HOAS.51»)) c0 \ prod `f` (app [pglobal (indt «F») «elpi.tests.test_HOAS.51», c0]) c1 \ c0 TyT6 = prod `T` (sort (typ «elpi.tests.test_HOAS.60»)) c0 \ prod `f` (app [pglobal (indt «F») «elpi.tests.test_HOAS.60», c0]) c1 \ c0 TyT7 = prod `T` (sort (typ «elpi.tests.test_HOAS.62»)) c0 \ prod `f` (app [pglobal (indt «F») «elpi.tests.test_HOAS.62», c0]) c1 \ c0 Tyt = prod `T` (sort (typ «elpi.tests.test_HOAS.45»)) c0 \ prod `f` (app [pglobal (indt «F») «elpi.tests.test_HOAS.45», c0]) c1 \ c0 Universe constraints: UNIVERSES: {elpi.tests.test_HOAS.67 elpi.tests.test_HOAS.66 elpi.tests.test_HOAS.65 elpi.tests.test_HOAS.64 elpi.tests.test_HOAS.63 elpi.tests.test_HOAS.62 elpi.tests.test_HOAS.61 elpi.tests.test_HOAS.60 elpi.tests.test_HOAS.59 elpi.tests.test_HOAS.58 elpi.tests.test_HOAS.57 elpi.tests.test_HOAS.56 elpi.tests.test_HOAS.55 elpi.tests.test_HOAS.54 elpi.tests.test_HOAS.53 elpi.tests.test_HOAS.52 elpi.tests.test_HOAS.51 elpi.tests.test_HOAS.50 elpi.tests.test_HOAS.49 elpi.tests.test_HOAS.48 elpi.tests.test_HOAS.47 elpi.tests.test_HOAS.46 elpi.tests.test_HOAS.45 elpi.tests.test_HOAS.44 elpi.tests.test_HOAS.43 elpi.tests.test_HOAS.42 elpi.tests.test_HOAS.41 elpi.tests.test_HOAS.40 elpi.tests.test_HOAS.39 elpi.tests.test_HOAS.38 elpi.tests.test_HOAS.37 elpi.tests.test_HOAS.36 elpi.tests.test_HOAS.35 elpi.tests.test_HOAS.34 elpi.tests.test_HOAS.33 elpi.tests.test_HOAS.32 elpi.tests.test_HOAS.31 elpi.tests.test_HOAS.30} |= ALGEBRAIC UNIVERSES: {elpi.tests.test_HOAS.45 elpi.tests.test_HOAS.44 elpi.tests.test_HOAS.43 elpi.tests.test_HOAS.42 elpi.tests.test_HOAS.41 elpi.tests.test_HOAS.40 elpi.tests.test_HOAS.39 elpi.tests.test_HOAS.38 elpi.tests.test_HOAS.37 elpi.tests.test_HOAS.36 elpi.tests.test_HOAS.35 elpi.tests.test_HOAS.34 elpi.tests.test_HOAS.33 elpi.tests.test_HOAS.32 elpi.tests.test_HOAS.31 elpi.tests.test_HOAS.30} FLEXIBLE UNIVERSES: elpi.tests.test_HOAS.45 elpi.tests.test_HOAS.44 elpi.tests.test_HOAS.43 elpi.tests.test_HOAS.42 elpi.tests.test_HOAS.41 elpi.tests.test_HOAS.40 elpi.tests.test_HOAS.39 elpi.tests.test_HOAS.38 elpi.tests.test_HOAS.37 elpi.tests.test_HOAS.36 elpi.tests.test_HOAS.35 elpi.tests.test_HOAS.34 elpi.tests.test_HOAS.33 elpi.tests.test_HOAS.32 elpi.tests.test_HOAS.31 elpi.tests.test_HOAS.30 SORTS: WEAK CONSTRAINTS: is_add : forall n : nat, is_nat n -> forall m : nat, is_nat m -> is_nat (n + m) Query assignments: R = app [global (indc «ex_intro»), global (indt «nat»), fun `n` (global (indt «nat»)) c0 \ app [global (indt «eq»), global (indt «nat»), c0, global (indc «O»)], global (indc «O»), global (const «p»)] TY = app [global (indt «ex»), global (indt «nat»), fun `n` (global (indt «nat»)) c0 \ app [global (indt «eq»), global (indt «nat»), c0, global (indc «O»)]] _uvk_211_ = X0 _uvk_212_ = c0 \ X1 c0 _uvk_213_ = X2 _uvk_214_ = X3 Universe constraints: UNIVERSES: {elpi.tests.test_elaborator.62 elpi.tests.test_elaborator.61 elpi.tests.test_elaborator.60 elpi.tests.test_elaborator.59} |= Set <= elpi.tests.test_elaborator.59 elpi.tests.test_elaborator.59 <= elpi.tests.test_elaborator.61 elpi.tests.test_elaborator.60 <= elpi.tests.test_elaborator.61 elpi.tests.test_elaborator.61 <= elpi.tests.test_elaborator.62 ALGEBRAIC UNIVERSES: {} FLEXIBLE UNIVERSES: SORTS: WEAK CONSTRAINTS: H goal [] (X0) (global (indt «True»)) X1 [trm (global (const «H»))] goal [] (X0) (global (indt «True»)) X1 [trm (app [global (indt «eq»), global (indt «True»), global (const «H»), global (const «H»)])] goal [] (X0) (global (indt «True»)) X1 [trm (global (const «H»))] Notation peano := Peano.peano Inductive peano : Set := Zero : peano | Succ : peano -> peano. Arguments Peano.Succ p = false : bool Peano.eqb_OK : forall x1 x2 : peano, reflect (x1 = x2) (Peano.eqb x1 x2) «elpi.tests.test_HOAS.68» parameter T explicit (sort (typ «elpi.tests.test_HOAS.68»)) c0 \ record F (sort (typ «elpi.tests.test_HOAS.68»)) Build_F (field [coercion off, canonical tt] t c0 c1 \ end-record) «elpi.tests.test_HOAS.68» parameter T explicit (sort (typ «elpi.tests.test_HOAS.68»)) c0 \ record F (sort (typ «elpi.tests.test_HOAS.68»)) Build_F (field [coercion off, canonical tt] t c0 c1 \ end-record) parameter T explicit (sort (typ «elpi.tests.test_HOAS.69»)) c0 \ record F (sort (typ «elpi.tests.test_HOAS.69»)) Build_F (field [coercion off, canonical tt] t c0 c1 \ end-record) Query assignments: Decl = parameter T explicit (sort (typ «elpi.tests.test_HOAS.68»)) c0 \ record F (sort (typ «elpi.tests.test_HOAS.68»)) Build_F (field [coercion off, canonical tt] t c0 c1 \ end-record) Decl1 = parameter T explicit (sort (typ «elpi.tests.test_HOAS.68»)) c0 \ record F (sort (typ «elpi.tests.test_HOAS.68»)) Build_F (field [coercion off, canonical tt] t c0 c1 \ end-record) Decl2 = parameter T explicit (sort (typ «elpi.tests.test_HOAS.69»)) c0 \ record F (sort (typ «elpi.tests.test_HOAS.69»)) Build_F (field [coercion off, canonical tt] t c0 c1 \ end-record) GRF = indt «F» I = «elpi.tests.test_HOAS.68» Ind = «F» Universe constraints: UNIVERSES: {elpi.tests.test_HOAS.69 elpi.tests.test_HOAS.68} |= ALGEBRAIC UNIVERSES: {elpi.tests.test_HOAS.69 elpi.tests.test_HOAS.68} FLEXIBLE UNIVERSES: elpi.tests.test_HOAS.69 elpi.tests.test_HOAS.68 SORTS: WEAK CONSTRAINTS: Query assignments: D = parameter P explicit (sort (typ «r1.u0»)) c0 \ parameter p explicit c0 c1 \ record r1 (sort (typ «r1.u0»)) mk_r1 (field [coercion reversible, canonical tt] f1 (prod `_` c0 c2 \ c0) c2 \ field [coercion off, canonical ff] f2 (app [global (indt «eq»), c0, c1, app [c2, c1]]) c3 \ end-record) D1 = parameter P explicit (sort (typ «r1.u0»)) c0 \ parameter p explicit c0 c1 \ record r1 (sort (typ «r1.u0»)) mk_r1 (field [coercion reversible, canonical tt] f1 (prod `_` c0 c2 \ c0) c2 \ field [coercion off, canonical ff] f2 (app [global (indt «eq»), c0, c1, app [c2, c1]]) c3 \ end-record) I = «r1» UP = «r1.u0» UR = «r1.u0» Query assignments: X = typ «elpi.tests.test_API.6» Y = typ «elpi.tests.test_API.7» Z = typ «elpi.tests.test_API.8» Universe constraints: UNIVERSES: {elpi.tests.test_API.8 elpi.tests.test_API.7 elpi.tests.test_API.6} |= elpi.tests.test_API.6 <= elpi.tests.test_API.8 elpi.tests.test_API.7 <= elpi.tests.test_API.8 ALGEBRAIC UNIVERSES: {} FLEXIBLE UNIVERSES: SORTS: WEAK CONSTRAINTS: Notation peano := Peano.peano Inductive peano : Set := Zero : peano | Succ : peano -> peano. Arguments Peano.Succ p Module Peano := Struct Inductive peano : Set := Zero : example4.peano | Succ : example4.peano -> example4.peano. Definition peano_rect : forall P : example4.peano -> Type, P example4.Zero -> (forall p : example4.peano, P p -> P (example4.Succ p)) -> forall p : example4.peano, P p. Definition peano_ind : forall P : example4.peano -> Prop, P example4.Zero -> (forall p : example4.peano, P p -> P (example4.Succ p)) -> forall p : example4.peano, P p. Definition peano_rec : forall P : example4.peano -> Set, P example4.Zero -> (forall p : example4.peano, P p -> P (example4.Succ p)) -> forall p : example4.peano, P p. Definition peano_sind : forall P : example4.peano -> SProp, P example4.Zero -> (forall p : example4.peano, P p -> P (example4.Succ p)) -> forall p : example4.peano, P p. Definition Peano_map : example4.peano -> example4.peano. Inductive is_peano : example4.peano -> Type := is_Zero : is_peano example4.Zero | is_Succ : forall p : example4.peano, is_peano p -> is_peano (example4.Succ p). Definition is_peano_rect : forall P : forall s1 : example4.peano, is_peano s1 -> Type, P example4.Zero is_Zero -> (forall (p : example4.peano) (Pp : is_peano p), P p Pp -> P (example4.Succ p) (is_Succ p Pp)) -> forall (s1 : example4.peano) (i : is_peano s1), P s1 i. Definition is_peano_ind : forall P : forall s1 : example4.peano, is_peano s1 -> Prop, P example4.Zero is_Zero -> (forall (p : example4.peano) (Pp : is_peano p), P p Pp -> P (example4.Succ p) (is_Succ p Pp)) -> forall (s1 : example4.peano) (i : is_peano s1), P s1 i. Definition is_peano_rec : forall P : forall s1 : example4.peano, is_peano s1 -> Set, P example4.Zero is_Zero -> (forall (p : example4.peano) (Pp : is_peano p), P p Pp -> P (example4.Succ p) (is_Succ p Pp)) -> forall (s1 : example4.peano) (i : is_peano s1), P s1 i. Definition is_peano_sind : forall P : forall s1 : example4.peano, is_peano s1 -> SProp, P example4.Zero is_Zero -> (forall (p : example4.peano) (Pp : is_peano p), P p Pp -> P (example4.Succ p) (is_Succ p Pp)) -> forall (s1 : example4.peano) (i : is_peano s1), P s1 i. Definition reali_is_peano : reali_db example4.peano is_peano. Definition reali_is_peano_Zero : reali_db example4.Zero is_Zero. Definition reali_is_peano_Succ : reali_db example4.Succ is_Succ. Inductive peano_R : example4.peano -> example4.peano -> Set := Zero_R : peano_R example4.Zero example4.Zero | Succ_R : forall p p0 : example4.peano, peano_R p p0 -> peano_R (example4.Succ p) (example4.Succ p0). Definition peano_R_rect : forall P : forall s1 s2 : example4.peano, peano_R s1 s2 -> Type, P example4.Zero example4.Zero Zero_R -> (forall (p p0 : example4.peano) (p1 : peano_R p p0), P p p0 p1 -> P (example4.Succ p) (example4.Succ p0) (Succ_R p p0 p1)) -> forall (s1 s2 : example4.peano) (p : peano_R s1 s2), P s1 s2 p. Definition peano_R_ind : forall P : forall s1 s2 : example4.peano, peano_R s1 s2 -> Prop, P example4.Zero example4.Zero Zero_R -> (forall (p p0 : example4.peano) (p1 : peano_R p p0), P p p0 p1 -> P (example4.Succ p) (example4.Succ p0) (Succ_R p p0 p1)) -> forall (s1 s2 : example4.peano) (p : peano_R s1 s2), P s1 s2 p. Definition peano_R_rec : forall P : forall s1 s2 : example4.peano, peano_R s1 s2 -> Set, P example4.Zero example4.Zero Zero_R -> (forall (p p0 : example4.peano) (p1 : peano_R p p0), P p p0 p1 -> P (example4.Succ p) (example4.Succ p0) (Succ_R p p0 p1)) -> forall (s1 s2 : example4.peano) (p : peano_R s1 s2), P s1 s2 p. Definition peano_R_sind : forall P : forall s1 s2 : example4.peano, peano_R s1 s2 -> SProp, P example4.Zero example4.Zero Zero_R -> (forall (p p0 : example4.peano) (p1 : peano_R p p0), P p p0 p1 -> P (example4.Succ p) (example4.Succ p0) (Succ_R p p0 p1)) -> forall (s1 s2 : example4.peano) (p : peano_R s1 s2), P s1 s2 p. Definition param_peano_R : param_db example4.peano example4.peano peano_R. Definition param_Zero_R : param_db example4.Zero example4.Zero Zero_R. Definition param_Succ_R : param_db example4.Succ example4.Succ Succ_R. Definition Peano_tag : example4.peano -> BinNums.positive. Definition congr_is_Zero : is_Zero = is_Zero. Definition congr_is_Succ : forall (x : example4.peano) (p1 p2 : is_peano x), p1 = p2 -> is_Succ x p1 = is_Succ x p2. Definition is_peano_inhab : forall x : example4.peano, is_peano x. Definition is_peano_functor : forall x : example4.peano, is_peano x -> is_peano x. Record box_peano_Zero : Type := Box_peano_Zero { }. Record box_peano_Succ : Type := Box_peano_Succ { Box_peano_Succ_0 : example4.peano }. Definition Box_peano_Succ_0 : box_peano_Succ -> example4.peano. Definition Peano_fields_t : BinNums.positive -> Type. Definition Peano_fields : forall i : example4.peano, Peano_fields_t (Peano_tag i). Definition Peano_construct : forall p : BinNums.positive, Peano_fields_t p -> option example4.peano. Parameter Peano_constructP : forall i : example4.peano, Peano_construct (Peano_tag i) (Peano_fields i) = Some i. Definition is_peano_trivial : forall x : example4.peano, {u : is_peano x & forall v : is_peano x, u = v}. Definition Peano_induction : forall P : example4.peano -> Type, P example4.Zero -> (forall p : example4.peano, P p -> P (example4.Succ p)) -> forall s1 : example4.peano, is_peano s1 -> P s1. Definition Peano_eqb_fields : (example4.peano -> example4.peano -> bool) -> forall x : BinNums.positive, Peano_fields_t x -> Peano_fields_t x -> bool. Definition Peano_eqb : example4.peano -> example4.peano -> bool. Parameter Peano_eqb_correct : forall x : example4.peano, eqb_correct_on Peano_eqb x. Parameter Peano_eqb_refl : forall x : example4.peano, eqb_refl_on Peano_eqb x. Parameter Peano_eqb_OK : forall x1 x2 : example4.peano, reflect (x1 = x2) (Peano_eqb x1 x2). End = false : bool Peano.Peano_eqb_OK : forall x1 x2 : peano, reflect (x1 = x2) (Peano.Peano_eqb x1 x2) _f1 : Lens fo_record fo_record peano peano : Lens fo_record fo_record peano peano _f2 : Lens fo_record fo_record unit unit : Lens fo_record fo_record unit unit @_f3 : forall A : Type, Lens (pa_record A) (pa_record A) peano peano : forall A : Type, Lens (pa_record A) (pa_record A) peano peano @_f4 : forall A : Type, Lens (pa_record A) (pa_record A) A A : forall A : Type, Lens (pa_record A) (pa_record A) A A @_pf3 : forall A : Type, Lens (pr_record A) (pr_record A) peano peano : forall A : Type, Lens (pr_record A) (pr_record A) peano peano @_pf4 : forall A : Type, Lens (pr_record A) (pr_record A) A A : forall A : Type, Lens (pr_record A) (pr_record A) A A ok «elpi.tests.test_HOAS.70» «elpi.tests.test_HOAS.71» Universe constraints: UNIVERSES: {elpi.tests.test_HOAS.71 elpi.tests.test_HOAS.70} |= ALGEBRAIC UNIVERSES: {elpi.tests.test_HOAS.71 elpi.tests.test_HOAS.70} FLEXIBLE UNIVERSES: elpi.tests.test_HOAS.71 elpi.tests.test_HOAS.70 SORTS: WEAK CONSTRAINTS: Universe constraints: UNIVERSES: {elpi.tests.test_HOAS.71 elpi.tests.test_HOAS.70} |= elpi.tests.test_HOAS.70 = elpi.tests.test_HOAS.71 ALGEBRAIC UNIVERSES: {elpi.tests.test_HOAS.71 elpi.tests.test_HOAS.70} FLEXIBLE UNIVERSES: elpi.tests.test_HOAS.71 elpi.tests.test_HOAS.70 := elpi.tests.test_HOAS.71 SORTS: WEAK CONSTRAINTS: Query assignments: GRF = indt «F» I1 = «elpi.tests.test_HOAS.70» I2 = «elpi.tests.test_HOAS.71» Universe constraints: UNIVERSES: {elpi.tests.test_HOAS.71 elpi.tests.test_HOAS.70} |= elpi.tests.test_HOAS.70 = elpi.tests.test_HOAS.71 ALGEBRAIC UNIVERSES: {elpi.tests.test_HOAS.71 elpi.tests.test_HOAS.70} FLEXIBLE UNIVERSES: elpi.tests.test_HOAS.71 elpi.tests.test_HOAS.70 := elpi.tests.test_HOAS.71 SORTS: WEAK CONSTRAINTS: COQC tests/test_lens_laws.v Query assignments: A = tt B = 0 C = 0 D = sort (typ «Set») E = [«true», «false»] F = [global (indt «bool»), global (indt «bool»)] GR = «bool» «elpi.tests.test_HOAS.72» «» Universe constraints: UNIVERSES: {elpi.tests.test_HOAS.72} |= ALGEBRAIC UNIVERSES: {elpi.tests.test_HOAS.72} FLEXIBLE UNIVERSES: elpi.tests.test_HOAS.72 SORTS: WEAK CONSTRAINTS: different universe instance lengths Universe constraints: UNIVERSES: {elpi.tests.test_HOAS.72} |= ALGEBRAIC UNIVERSES: {elpi.tests.test_HOAS.72} FLEXIBLE UNIVERSES: elpi.tests.test_HOAS.72 SORTS: WEAK CONSTRAINTS: Query assignments: E = different universe instance lengths GRF = indt «F» GRfnat = const «fnat» I1 = «elpi.tests.test_HOAS.72» I2 = «» Universe constraints: UNIVERSES: {elpi.tests.test_HOAS.72} |= ALGEBRAIC UNIVERSES: {elpi.tests.test_HOAS.72} FLEXIBLE UNIVERSES: elpi.tests.test_HOAS.72 SORTS: WEAK CONSTRAINTS: is_empty : pred empty : pred empty is_unit : pred unit : pred unit is_peano : pred peano : pred peano is_option : forall A : Type, pred A -> pred (option A) : forall A : Type, pred A -> pred (option A) is_pair : forall A : Type, pred A -> forall B : Type, pred B -> pred (pair A B) : forall A : Type, pred A -> forall B : Type, pred B -> pred (pair A B) is_seq : forall A : Type, pred A -> pred (seq A) : forall A : Type, pred A -> pred (seq A) is_rose : forall A : Type, pred A -> pred (rose A) : forall A : Type, pred A -> pred (rose A) is_nest : forall A : Type, pred A -> pred (nest A) : forall A : Type, pred A -> pred (nest A) is_w : forall A : Type, pred A -> pred (w A) : forall A : Type, pred A -> pred (w A) is_vect : forall A : Type, pred A -> forall i : peano, is_peano i -> pred (vect A i) : forall A : Type, pred A -> forall i : peano, is_peano i -> pred (vect A i) is_dyn : pred dyn : pred dyn is_zeta : forall A : Type, pred A -> pred (zeta A) : forall A : Type, pred A -> pred (zeta A) Inductive peano : Set := Zero : peano | Succ : peano -> peano. Arguments Succ p is_beta : forall A : Type, pred A -> pred (beta A) : forall A : Type, pred A -> pred (beta A) is_iota : pred iota : pred iota = false : bool is_large : pred large : pred large eqb_OK : forall x1 x2 : peano, reflect (x1 = x2) (eqb x1 x2) is_prim_int : pred prim_int : pred prim_int is_prim_float : pred prim_float : pred prim_float is_fo_record : pred fo_record : pred fo_record is_pa_record : forall A : Type, pred A -> pred (pa_record A) : forall A : Type, pred A -> pred (pa_record A) Query assignments: is_pr_record : forall A : Type, pred A -> pred (pr_record A) : forall A : Type, pred A -> pred (pr_record A) is_enum : pred enum : pred enum is_ord : forall p : peano, is_peano p -> pred (ord p) : forall p : peano, is_peano p -> pred (ord p) D = parameter P explicit (sort (typ «r1.u0»)) c0 \ parameter p explicit c0 c1 \ record r1 (sort (typ «r1.u0»)) mk_r1 (field [coercion reversible, canonical tt] f1 (prod `_` c0 c2 \ c0) c2 \ field [coercion regular, canonical ff] f2 (app [global (indt «eq»), c0, c1, app [c2, c1]]) c3 \ end-record) is_ord2 : forall p : peano, is_peano p -> pred (ord2 p) : forall p : peano, is_peano p -> pred (ord2 p) D1 = parameter P explicit (sort (typ «r1.u0»)) c0 \ parameter p explicit c0 c1 \ record r1 (sort (typ «r1.u0»)) mk_r1 (field [coercion reversible, canonical tt] f1 (prod `_` c0 c2 \ c0) c2 \ field [coercion regular, canonical ff] f2 (app [global (indt «eq»), c0, c1, app [c2, c1]]) c3 \ end-record) I = «r1» UP = «r1.u0» UR = «r1.u0» is_val : pred val : pred val Query assignments: X = typ «elpi.tests.test_API.9» Y = typ «elpi.tests.test_API.10» Universe constraints: UNIVERSES: {elpi.tests.test_API.10 elpi.tests.test_API.9} |= elpi.tests.test_API.9 < elpi.tests.test_API.10 ALGEBRAIC UNIVERSES: {} FLEXIBLE UNIVERSES: SORTS: WEAK CONSTRAINTS: x1 : nat w : nat Query assignments: GRF = indt «F» I1 = «elpi.tests.test_HOAS.73» I2 = «elpi.tests.test_HOAS.73» U = «elpi.tests.test_HOAS.73» UL1 = [«elpi.tests.test_HOAS.73»] Universe constraints: UNIVERSES: {elpi.tests.test_HOAS.73} |= ALGEBRAIC UNIVERSES: {elpi.tests.test_HOAS.73} FLEXIBLE UNIVERSES: elpi.tests.test_HOAS.73 SORTS: WEAK CONSTRAINTS: Inductive peano : Set := Zero : Peano.peano | Succ : Peano.peano -> Peano.peano. Arguments Peano.Succ p = false : bool Peano.eqb_OK : forall x1 x2 : Peano.peano, reflect (x1 = x2) (Peano.eqb x1 x2) Query assignments: F = app [global (const «nat_of_bool»), global (indc «true»)] empty_tag : tag empty : tag empty unit_tag : tag unit : tag unit peano_tag : tag peano : tag peano option_tag : forall A : Type, tag (option A) : forall A : Type, tag (option A) pair_tag : forall A B : Type, tag (pair A B) : forall A B : Type, tag (pair A B) seq_tag : forall A : Type, tag (seq A) : forall A : Type, tag (seq A) rose_tag : forall A : Type, tag (rose A) : forall A : Type, tag (rose A) nest_tag : forall A : Type, tag (nest A) : forall A : Type, tag (nest A) w_tag : forall A : Type, tag (w A) : forall A : Type, tag (w A) vect_tag : forall (A : Type) (i : peano), tag (vect A i) : forall (A : Type) (i : peano), tag (vect A i) dyn_tag : tag dyn : tag dyn beta_tag : forall A : Type, tag (beta A) : forall A : Type, tag (beta A) iota_tag : tag iota : tag iota large_tag : tag large : tag large prim_int_tag : tag prim_int : tag prim_int prim_float_tag : tag prim_float : tag prim_float pa_record_tag : forall A : Type, tag (pa_record A) : forall A : Type, tag (pa_record A) pr_record_tag : forall A : Type, tag (pr_record A) : forall A : Type, tag (pr_record A) ord_tag : forall p : peano, tag (ord p) : forall p : peano, tag (ord p) ord2_tag : forall p : peano, tag (ord2 p) : forall p : peano, tag (ord2 p) val_tag : tag val : tag val unit_is_tt : unit -> bool : unit -> bool peano_is_Zero : peano -> bool : peano -> bool peano_is_Succ : peano -> bool : peano -> bool option_is_None : forall A : Type, option A -> bool : forall A : Type, option A -> bool option_is_Some : forall A : Type, option A -> bool : forall A : Type, option A -> bool pair_is_Comma : forall A B : Type, pair A B -> bool : forall A B : Type, pair A B -> bool seq_is_Nil : forall A : Type, seq A -> bool : forall A : Type, seq A -> bool seq_is_Cons : forall A : Type, seq A -> bool : forall A : Type, seq A -> bool rose_is_Leaf : forall A : Type, rose A -> bool : forall A : Type, rose A -> bool rose_is_Node : forall A : Type, rose A -> bool : forall A : Type, rose A -> bool nest_is_NilN : forall A : Type, nest A -> bool : forall A : Type, nest A -> bool nest_is_ConsN : forall A : Type, nest A -> bool : forall A : Type, nest A -> bool w_is_via : forall A : Type, w A -> bool : forall A : Type, w A -> bool vect_is_VNil : forall (A : Type) (i : peano), vect A i -> bool : forall (A : Type) (i : peano), vect A i -> bool vect_is_VCons : forall (A : Type) (i : peano), vect A i -> bool : forall (A : Type) (i : peano), vect A i -> bool dyn_is_box : dyn -> bool : dyn -> bool zeta_is_Envelope : forall A : Type, zeta A -> bool : forall A : Type, zeta A -> bool beta_is_Redex : forall A : Type, beta A -> bool : forall A : Type, beta A -> bool iota_is_Why : iota -> bool : iota -> bool large_is_K1 : large -> bool large_is_K2 : large -> bool empty_map : map empty : map empty prim_int_is_PI : prim_int -> bool prim_float_is_PF : prim_float -> bool unit_map : map unit : map unit peano_map : map peano : map peano fo_record_is_Build_fo_record : fo_record -> bool : fo_record -> bool pa_record_is_Build_pa_record : forall A : Type, pa_record A -> bool : forall A : Type, pa_record A -> bool option_map : map1 option : map1 option pr_record_is_Build_pr_record : forall A : Type, pr_record A -> bool : forall A : Type, pr_record A -> bool enum_is_E1 : enum -> bool : enum -> bool pair_map : forall A B : Type, (A -> B) -> forall C D : Type, (C -> D) -> pair A C -> pair B D : forall A B : Type, (A -> B) -> forall C D : Type, (C -> D) -> pair A C -> pair B D seq_map : map1 seq : map1 seq rose_map : map1 rose : map1 rose vect_map : forall A B : Type, (A -> B) -> forall i : peano, vect A i -> vect B i : forall A B : Type, (A -> B) -> forall i : peano, vect A i -> vect B i dyn_map : map dyn : map dyn zeta_map : map1 zeta : map1 zeta iota_map : map iota : map iota large_map : map large : map large prim_int_map : map prim_int : map prim_int prim_float_map : map prim_float : map prim_float pa_record_map : map1 pa_record : map1 pa_record pr_record_map : map1 pr_record : map1 pr_record COQC tests/test_fields.v {{ nat; S; }} {{ nat; S; }} Query assignments: GR = const «Nat.add» L = {{ nat; S; }} S = {{ nat; S; }} Cannot enforce elpi.tests.test_HOAS.74 = elpi.tests.test_HOAS.75 because elpi.tests.test_HOAS.74 < elpi.tests.test_HOAS.75 Query assignments: E = Cannot enforce elpi.tests.test_HOAS.74 = elpi.tests.test_HOAS.75 because elpi.tests.test_HOAS.74 < elpi.tests.test_HOAS.75 GRF = indt «F» I1 = «elpi.tests.test_HOAS.74» I2 = «elpi.tests.test_HOAS.75» L1 = «elpi.tests.test_HOAS.74» L2 = «elpi.tests.test_HOAS.75» U1 = «elpi.tests.test_HOAS.74» U2 = «elpi.tests.test_HOAS.75» Universe constraints: UNIVERSES: {elpi.tests.test_HOAS.75 elpi.tests.test_HOAS.74} |= elpi.tests.test_HOAS.74 < elpi.tests.test_HOAS.75 ALGEBRAIC UNIVERSES: {elpi.tests.test_HOAS.75 elpi.tests.test_HOAS.74} FLEXIBLE UNIVERSES: elpi.tests.test_HOAS.75 elpi.tests.test_HOAS.74 SORTS: WEAK CONSTRAINTS: empty_eq : eq_test empty : eq_test empty unit_eq : eq_test unit : eq_test unit peano_eq : eq_test peano : eq_test peano option_eq : forall A : Type, eq_test A -> eq_test (option A) : forall A : Type, eq_test A -> eq_test (option A) pair_eq : forall A : Type, eq_test A -> forall B : Type, eq_test B -> eq_test (pair A B) : forall A : Type, eq_test A -> forall B : Type, eq_test B -> eq_test (pair A B) seq_eq : forall A : Type, eq_test A -> eq_test (seq A) : forall A : Type, eq_test A -> eq_test (seq A) rose_eq : forall A : Type, eq_test A -> eq_test (rose A) : forall A : Type, eq_test A -> eq_test (rose A) vect_eq : forall A : Type, eq_test A -> forall i : peano, eq_test (vect A i) : forall A : Type, eq_test A -> forall i : peano, eq_test (vect A i) zeta_eq : forall A : Type, eq_test A -> eq_test (zeta A) : forall A : Type, eq_test A -> eq_test (zeta A) beta_eq : forall A : Type, eq_test A -> eq_test (beta A) : forall A : Type, eq_test A -> eq_test (beta A) large_eq : eq_test large : eq_test large prim_int_eq : eq_test prim_int : eq_test prim_int prim_float_eq : eq_test prim_float : eq_test prim_float fo_record_eq : eq_test fo_record : eq_test fo_record pa_record_eq : forall A : Type, eq_test A -> eq_test (pa_record A) : forall A : Type, eq_test A -> eq_test (pa_record A) pr_record_eq : forall A : Type, eq_test A -> eq_test (pr_record A) : forall A : Type, eq_test A -> eq_test (pr_record A) enum_eq : eq_test enum : eq_test enum Universe constraints: UNIVERSES: {elpi.tests.test_HOAS.79 elpi.tests.test_HOAS.78} |= elpi.tests.test_HOAS.78 < elpi.tests.test_HOAS.79 ALGEBRAIC UNIVERSES: {elpi.tests.test_HOAS.79 elpi.tests.test_HOAS.78} FLEXIBLE UNIVERSES: elpi.tests.test_HOAS.79 elpi.tests.test_HOAS.78 SORTS: WEAK CONSTRAINTS: Query assignments: GRF = indt «F2» I1 = «elpi.tests.test_HOAS.78» I2 = «elpi.tests.test_HOAS.79» L1 = «elpi.tests.test_HOAS.78» L2 = «elpi.tests.test_HOAS.79» U1 = «elpi.tests.test_HOAS.78» U2 = «elpi.tests.test_HOAS.79» Universe constraints: UNIVERSES: {elpi.tests.test_HOAS.79 elpi.tests.test_HOAS.78} |= elpi.tests.test_HOAS.78 < elpi.tests.test_HOAS.79 elpi.tests.test_HOAS.78 <= elpi.tests.test_HOAS.79 ALGEBRAIC UNIVERSES: {elpi.tests.test_HOAS.79 elpi.tests.test_HOAS.78} FLEXIBLE UNIVERSES: elpi.tests.test_HOAS.79 elpi.tests.test_HOAS.78 SORTS: WEAK CONSTRAINTS: {{ X.a; }} {{ X.a; Nat.add; nat; }} {{ X.a; }} {{ X.a; Nat.add; nat; O; S; }} Query assignments: AllL = {{ X.a; Nat.add; nat; }} AllS = {{ X.a; Nat.add; nat; O; S; }} GR = const «X.b» L = {{ X.a; }} M = «elpi.tests.test_API_env.HOAS.X» S = {{ X.a; }} Spilled_1 = const «X.a» c0 \ app [global (const «nat_of_bool»), c0] Query assignments: Res = app [global (const «map»), global (indt «bool»), global (indt «nat»), fun `x` (global (indt «bool»)) c0 \ app [global (const «nat_of_bool»), c0], app [global (indc «cons»), global (indt «bool»), global (indc «true»), app [global (indc «nil»), global (indt «bool»)]]] _uvk_238_ = X0 _uvk_239_ = X1 Universe constraints: UNIVERSES: {elpi.tests.test_HOAS.81 elpi.tests.test_HOAS.80} |= elpi.tests.test_HOAS.80 < elpi.tests.test_HOAS.81 ALGEBRAIC UNIVERSES: {elpi.tests.test_HOAS.81} FLEXIBLE UNIVERSES: elpi.tests.test_HOAS.81 elpi.tests.test_HOAS.80 SORTS: WEAK CONSTRAINTS: Cannot enforce elpi.tests.test_HOAS.81 = elpi.tests.test_HOAS.80 because elpi.tests.test_HOAS.80 < elpi.tests.test_HOAS.81 Query assignments: E = Cannot enforce elpi.tests.test_HOAS.81 = elpi.tests.test_HOAS.80 because elpi.tests.test_HOAS.80 < elpi.tests.test_HOAS.81 GRF = indt «F» I1 = «elpi.tests.test_HOAS.80» I2 = «elpi.tests.test_HOAS.81» L1 = «elpi.tests.test_HOAS.80» L2 = «elpi.tests.test_HOAS.81» U1 = «elpi.tests.test_HOAS.80» U2 = «elpi.tests.test_HOAS.81» Universe constraints: UNIVERSES: {elpi.tests.test_HOAS.81 elpi.tests.test_HOAS.80} |= elpi.tests.test_HOAS.80 < elpi.tests.test_HOAS.81 ALGEBRAIC UNIVERSES: {elpi.tests.test_HOAS.81} FLEXIBLE UNIVERSES: elpi.tests.test_HOAS.81 elpi.tests.test_HOAS.80 SORTS: WEAK CONSTRAINTS: Query assignments: Y = global (indc «is_O») _f1_view_set : view_set _f1 : view_set _f1 _f2_view_set : view_set _f2 : view_set _f2 _f3_view_set : forall A : Type, view_set _f3 : forall A : Type, view_set _f3 _f4_view_set : forall A : Type, view_set _f4 : forall A : Type, view_set _f4 _pf3_view_set : forall A : Type, view_set _pf3 : forall A : Type, view_set _pf3 _pf4_view_set : forall A : Type, view_set _pf4 : forall A : Type, view_set _pf4 _f1_set_set : set_set _f1 : set_set _f1 _f2_set_set : set_set _f2 : set_set _f2 _f3_set_set : forall A : Type, set_set _f3 : forall A : Type, set_set _f3 _f4_set_set : forall A : Type, set_set _f4 : forall A : Type, set_set _f4 _pf3_set_set : forall A : Type, set_set _pf3 : forall A : Type, set_set _pf3 _pf4_set_set : forall A : Type, set_set _pf4 : forall A : Type, set_set _pf4 _f1_set_view : set_view _f1 : set_view _f1 _f2_set_view : set_view _f2 : set_view _f2 _f3_set_view : forall A : Type, set_view _f3 : forall A : Type, set_view _f3 _f4_set_view : forall A : Type, set_view _f4 : forall A : Type, set_view _f4 _pf3_set_view : forall A : Type, set_view _pf3 : forall A : Type, set_view _pf3 _pf4_set_view : forall A : Type, set_view _pf4 : forall A : Type, set_view _pf4 _f1_f2_exchange : exchange _f1 _f2 : exchange _f1 _f2 _f2_f1_exchange : exchange _f2 _f1 : exchange _f2 _f1 _f3_f4_exchange : forall A : Type, exchange _f3 _f4 : forall A : Type, exchange _f3 _f4 _f4_f3_exchange : forall A : Type, exchange _f4 _f3 : forall A : Type, exchange _f4 _f3 _pf3_pf4_exchange : forall A : Type, exchange _pf3 _pf4 : forall A : Type, exchange _pf3 _pf4 _pf4_pf3_exchange : forall A : Type, exchange _pf4 _pf3 : forall A : Type, exchange _pf4 _pf3 Query assignments: Res = app [global (const «Z_of_nat»), app [global (const «nat_of_bool»), global (indc «true»)]] Query assignments: GR = indt «nat» Query assignments: Y = app [global (indc «is_S»), app [global (indc «S»), global (indc «O»)], app [global (indc «is_S»), global (indc «O»), global (indc «is_O»)]] Query assignments: GR = indt «F» I = «elpi.tests.test_HOAS.82» Universe constraints: UNIVERSES: {elpi.tests.test_HOAS.82} |= ALGEBRAIC UNIVERSES: {} FLEXIBLE UNIVERSES: elpi.tests.test_HOAS.82 SORTS: WEAK CONSTRAINTS: c0 \ app [global (const «Z_of_nat»), app [global (const «nat_of_bool»), c0]] Query assignments: Res = app [global (const «map»), global (indt «bool»), global (const «Z»), fun `x` (global (indt «bool»)) c0 \ app [global (const «Z_of_nat»), app [global (const «nat_of_bool»), c0]], app [global (indc «cons»), global (indt «bool»), global (indc «true»), app [global (indc «nil»), global (indt «bool»)]]] _uvk_274_ = X0 _uvk_275_ = X1 is_pred = fun (n : nat) (Pn : is_nat n) => match Pn in (is_nat n0) return (is_nat match n0 with | 0 => n | S u => u end) with | is_O => Pn | is_S _ Pu => Pu end : forall n : nat, is_nat n -> is_nat (Nat.pred n) Arguments is_pred n%nat_scope Pn is_pred : is_nat2nat Nat.pred : is_nat2nat Nat.pred is_predn : is_nat2nat predn : is_nat2nat predn is_add : is_nat2nat2nat Nat.add : is_nat2nat2nat Nat.add Inductive is_bla : forall H : nat, is_nat H -> bla H -> Type := is_Bla : forall H : nat, is_nat H -> is_bla 0 is_O (Bla H) | is_Blu : forall (n : nat) (Pn : is_nat n) (H : bla n), is_bla n Pn H -> is_bla 1 (is_S 0 is_O) (Blu n H). Arguments is_bla _%nat_scope P_ s1 Arguments is_Bla _%nat_scope P_ Arguments is_Blu n%nat_scope Pn _ P_ Query assignments: GR = indt «F» Query assignments: R = prod `r` (global (const «ring»)) c0 \ prod `x` (app [global (const «carr»), c0]) c1 \ app [global (indt «eq»), app [global (const «carr»), c0], c1, c1] T = sort (typ «elpi.tests.test_elaborator.75») _uvk_310_ = c0 \ c1 \ X0 c0 c1 Universe constraints: UNIVERSES: {elpi.tests.test_elaborator.75 elpi.tests.test_elaborator.74 elpi.tests.test_elaborator.73 elpi.tests.test_elaborator.72 elpi.tests.test_elaborator.70} |= ring.u0 <= elpi.tests.test_elaborator.70 elpi.tests.test_elaborator.70 <= elpi.tests.test_elaborator.75 elpi.tests.test_elaborator.73 <= elpi.tests.test_elaborator.74 elpi.tests.test_elaborator.74 <= elpi.tests.test_elaborator.75 ALGEBRAIC UNIVERSES: {} FLEXIBLE UNIVERSES: SORTS: WEAK CONSTRAINTS: [foo (const «X»), foo (indt «nat»), foo (indt «bool»)] [foo (indt «nat»), foo (indt «bool»)] [] [foo (indt «nat»)] pglobal (indt «F») «elpi.tests.test_HOAS.84» «elpi.tests.test_HOAS.84» pglobal (indc «Build_F») «elpi.tests.test_HOAS.84» Query assignments: GR = indt «F» GR1 = indc «Build_F» I = «elpi.tests.test_HOAS.84» Spilled_1 = pglobal (indc «Build_F») «elpi.tests.test_HOAS.84» Spilled_2 = pglobal (indt «F») «elpi.tests.test_HOAS.84» Universe constraints: UNIVERSES: {elpi.tests.test_HOAS.84} |= ALGEBRAIC UNIVERSES: {} FLEXIBLE UNIVERSES: elpi.tests.test_HOAS.84 SORTS: WEAK CONSTRAINTS: Query assignments: PDb = [tc-instance (const «reali_is_bla_Blu») (tc-priority-given 0), tc-instance (const «reali_is_bla_Bla») (tc-priority-given 0), tc-instance (const «reali_is_bla») (tc-priority-given 0), tc-instance (const «reali_is_weirdn») (tc-priority-given 0), tc-instance (const «reali_is_quasidn») (tc-priority-given 0), tc-instance (const «reali_is_predn») (tc-priority-given 0), tc-instance (const «reali_is_pred») (tc-priority-given 0), tc-instance (const «reali_is_nat2nat2nat») (tc-priority-given 0), tc-instance (const «reali_is_nat2nat») (tc-priority-given 0), tc-instance (const «reali_is_vec_length_rec») (tc-priority-given 0), tc-instance (const «reali_is_vec_length_type») (tc-priority-given 0), tc-instance (const «reali_is_test») (tc-priority-given 0), tc-instance (const «reali_is_div») (tc-priority-given 0), tc-instance (const «reali_is_divmod») (tc-priority-given 0), tc-instance (const «reali_is_bool_false») (tc-priority-given 0), tc-instance (const «reali_is_bool_true») (tc-priority-given 0), tc-instance (const «reali_is_bool») (tc-priority-given 0), tc-instance (const «reali_is_snd») (tc-priority-given 0), tc-instance (const «reali_is_fst») (tc-priority-given 0), tc-instance (const «reali_is_prod_pair») (tc-priority-given 0), tc-instance (const «reali_is_prod») (tc-priority-given 0), tc-instance (const «reali_is_add») (tc-priority-given 0), tc-instance (const «reali_is_plus'») (tc-priority-given 0), tc-instance (const «reali_is_eq_eq_refl») (tc-priority-given 0), tc-instance (const «reali_is_eq») (tc-priority-given 0), tc-instance (const «reali_is_is_list_is_cons») (tc-priority-given 0), tc-instance (const «reali_is_is_list_is_nil») (tc-priority-given 0), tc-instance (const «reali_is_is_list») (tc-priority-given 0), tc-instance (const «reali_is_list_cons») (tc-priority-given 0), tc-instance (const «reali_is_list_nil») (tc-priority-given 0), tc-instance (const «reali_is_list») (tc-priority-given 0), tc-instance (const «reali_is_vec_length») (tc-priority-given 0), tc-instance (const «reali_is_vec_vcons») (tc-priority-given 0), tc-instance (const «reali_is_vec_vnil») (tc-priority-given 0), tc-instance (const «reali_is_vec») (tc-priority-given 0), tc-instance (const «reali_is_fin_length») (tc-priority-given 0), tc-instance (const «reali_is_fin_FS») (tc-priority-given 0), tc-instance (const «reali_is_fin_FO») (tc-priority-given 0), tc-instance (const «reali_is_fin») (tc-priority-given 0), tc-instance (const «reali_is_nat_S») (tc-priority-given 0), tc-instance (const «reali_is_nat_O») (tc-priority-given 0), tc-instance (const «reali_is_nat») (tc-priority-given 0), tc-instance (const «reali_is_unit_tt») (tc-priority-given 0), tc-instance (const «reali_is_unit») (tc-priority-given 0), tc-instance (const «reali_is_val_V») (tc-priority-given 0), tc-instance (const «reali_is_val») (tc-priority-given 0), tc-instance (const «reali_is_ord2_mkOrd2») (tc-priority-given 0), tc-instance (const «reali_is_ord2») (tc-priority-given 0), tc-instance (const «reali_is_ord_mkOrd») (tc-priority-given 0), tc-instance (const «reali_is_ord») (tc-priority-given 0), tc-instance (const «reali_is_is_leq») (tc-priority-given 0), tc-instance (const «reali_is_sigma_bool_Build_sigma_bool») (tc-priority-given 0), tc-instance (const «reali_is_sigma_bool») (tc-priority-given 0), tc-instance (const «reali_is_is_zero») (tc-priority-given 0), tc-instance (const «Coverage.reali_is_bool_false») (tc-priority-given 0), tc-instance (const «Coverage.reali_is_bool_true») (tc-priority-given 0), tc-instance (const «Coverage.reali_is_bool») (tc-priority-given 0), tc-instance (const «reali_is_enum_E3») (tc-priority-given 0), tc-instance (const «reali_is_enum_E2») (tc-priority-given 0), tc-instance (const «reali_is_enum_E1») (tc-priority-given 0), tc-instance (const «reali_is_enum») (tc-priority-given 0), tc-instance (const «reali_is_dep_record_Build_dep_record») (tc-priority-given 0), tc-instance (const «reali_is_dep_record») (tc-priority-given 0), tc-instance (const «reali_is_pr_record_Build_pr_record») (tc-priority-given 0), tc-instance (const «reali_is_pr_record») (tc-priority-given 0), tc-instance (const «reali_is_pa_record_Build_pa_record») (tc-priority-given 0), tc-instance (const «reali_is_pa_record») (tc-priority-given 0), tc-instance (const «reali_is_fo_record_Build_fo_record») (tc-priority-given 0), tc-instance (const «reali_is_fo_record») (tc-priority-given 0), tc-instance (const «reali_is_prim_float_PF») (tc-priority-given 0), tc-instance (const «reali_is_prim_float») (tc-priority-given 0), tc-instance (const «reali_is_prim_int_PI») (tc-priority-given 0), tc-instance (const «reali_is_prim_int») (tc-priority-given 0), tc-instance (const «reali_is_large_K26») (tc-priority-given 0), tc-instance (const «reali_is_large_K25») (tc-priority-given 0), tc-instance (const «reali_is_large_K24») (tc-priority-given 0), tc-instance (const «reali_is_large_K23») (tc-priority-given 0), tc-instance (const «reali_is_large_K22») (tc-priority-given 0), tc-instance (const «reali_is_large_K21») (tc-priority-given 0), tc-instance (const «reali_is_large_K20») (tc-priority-given 0), tc-instance (const «reali_is_large_K19») (tc-priority-given 0), tc-instance (const «reali_is_large_K18») (tc-priority-given 0), tc-instance (const «reali_is_large_K17») (tc-priority-given 0), tc-instance (const «reali_is_large_K16») (tc-priority-given 0), tc-instance (const «reali_is_large_K15») (tc-priority-given 0), tc-instance (const «reali_is_large_K14») (tc-priority-given 0), tc-instance (const «reali_is_large_K13») (tc-priority-given 0), tc-instance (const «reali_is_large_K12») (tc-priority-given 0), tc-instance (const «reali_is_large_K11») (tc-priority-given 0), tc-instance (const «reali_is_large_K10») (tc-priority-given 0), tc-instance (const «reali_is_large_K9») (tc-priority-given 0), tc-instance (const «reali_is_large_K8») (tc-priority-given 0), tc-instance (const «reali_is_large_K7») (tc-priority-given 0), tc-instance (const «reali_is_large_K6») (tc-priority-given 0), tc-instance (const «reali_is_large_K5») (tc-priority-given 0), tc-instance (const «reali_is_large_K4») (tc-priority-given 0), tc-instance (const «reali_is_large_K3») (tc-priority-given 0), tc-instance (const «reali_is_large_K2») (tc-priority-given 0), tc-instance (const «reali_is_large_K1») (tc-priority-given 0), tc-instance (const «reali_is_large») (tc-priority-given 0), tc-instance (const «reali_is_iota_Why») (tc-priority-given 0), tc-instance (const «reali_is_iota») (tc-priority-given 0), tc-instance (const «reali_is_beta_Redex») (tc-priority-given 0), tc-instance (const «reali_is_beta») (tc-priority-given 0), tc-instance (const «reali_is_zeta_Envelope») (tc-priority-given 0), tc-instance (const «reali_is_zeta») (tc-priority-given 0), tc-instance (const «reali_is_dyn_box») (tc-priority-given 0), tc-instance (const «reali_is_dyn») (tc-priority-given 0), tc-instance (const «reali_is_vect_VCons») (tc-priority-given 0), tc-instance (const «reali_is_vect_VNil») (tc-priority-given 0), tc-instance (const «reali_is_vect») (tc-priority-given 0), tc-instance (const «reali_is_w_via») (tc-priority-given 0), tc-instance (const «reali_is_w») (tc-priority-given 0), tc-instance (const «reali_is_nest_ConsN») (tc-priority-given 0), tc-instance (const «reali_is_nest_NilN») (tc-priority-given 0), tc-instance (const «reali_is_nest») (tc-priority-given 0), tc-instance (const «reali_is_rose_o_Nodeo») (tc-priority-given 0), tc-instance (const «reali_is_rose_o_Leafo») (tc-priority-given 0), tc-instance (const «reali_is_rose_o») (tc-priority-given 0), tc-instance (const «reali_is_rose_p_Nodep») (tc-priority-given 0), tc-instance (const «reali_is_rose_p_Leafp») (tc-priority-given 0), tc-instance (const «reali_is_rose_p») (tc-priority-given 0), tc-instance (const «reali_is_rose_Node») (tc-priority-given 0), tc-instance (const «reali_is_rose_Leaf») (tc-priority-given 0), tc-instance (const «reali_is_rose») (tc-priority-given 0), tc-instance (const «reali_is_box_peano_Box») (tc-priority-given 0), tc-instance (const «reali_is_box_peano») (tc-priority-given 0), tc-instance (const «reali_is_seq_Cons») (tc-priority-given 0), tc-instance (const «reali_is_seq_Nil») (tc-priority-given 0), tc-instance (const «reali_is_seq») (tc-priority-given 0), tc-instance (const «reali_is_pair_Comma») (tc-priority-given 0), tc-instance (const «reali_is_pair») (tc-priority-given 0), tc-instance (const «reali_is_option_Some») (tc-priority-given 0), tc-instance (const «reali_is_option_None») (tc-priority-given 0), tc-instance (const «reali_is_option») (tc-priority-given 0), tc-instance (const «reali_is_peano_Succ») (tc-priority-given 0), tc-instance (const «reali_is_peano_Zero») (tc-priority-given 0), tc-instance (const «reali_is_peano») (tc-priority-given 0), tc-instance (const «Coverage.reali_is_unit_tt») (tc-priority-given 0), tc-instance (const «Coverage.reali_is_unit») (tc-priority-given 0), tc-instance (const «reali_is_empty») (tc-priority-given 0), tc-instance (const «exports.reali_is_eq_eq_refl») (tc-priority-given 0), tc-instance (const «exports.reali_is_eq») (tc-priority-given 0)] Spilled_1 = indt «reali_db» File "./tests/test_param1.v", line 158, characters 0-30: Warning: Not a truly recursive fixpoint. [non-recursive,fixpoints,default] «elpi.tests.test_HOAS.85 elpi.tests.test_HOAS.85» Query assignments: I = «elpi.tests.test_HOAS.85 elpi.tests.test_HOAS.85» U = «elpi.tests.test_HOAS.85» Universe constraints: UNIVERSES: {elpi.tests.test_HOAS.85} |= ALGEBRAIC UNIVERSES: {} FLEXIBLE UNIVERSES: SORTS: WEAK CONSTRAINTS: Query assignments: GR = const «Ranalysis5.derivable_pt_lim_CVU» S = {{ Field_theory.AF_1_neq_0; Field_theory.AF_AR; Field_theory.AFdiv_def; Field_theory.AFinv_l; Ring_theory.ARadd_0_l; Ring_theory.ARadd_0_r; Ring_theory.ARadd_assoc; Ring_theory.ARadd_assoc1; Ring_theory.ARadd_assoc2; Ring_theory.ARadd_comm; Ring_theory.ARdistr_l; Ring_theory.ARdistr_r; InitialRing.ARgen_phiPOS_Psucc; InitialRing.ARgen_phiPOS_add; InitialRing.ARgen_phiPOS_mult; Ring_theory.ARmul_0_l; Ring_theory.ARmul_0_r; Ring_theory.ARmul_1_l; Ring_theory.ARmul_1_r; Ring_theory.ARmul_assoc; Ring_theory.ARmul_assoc1; Ring_theory.ARmul_assoc2; Ring_theory.ARmul_comm; Ring_theory.ARopp_add; Ring_theory.ARopp_mul_l; Ring_theory.ARopp_mul_r; Ring_theory.ARopp_zero; Ring_theory.ARsub_def; Ring_theory.ARsub_ext; Ring_theory.ARth_SRth; RList.AbsList; RList.AbsList_P1; RList.AbsList_P2; Acc_inv; Morphisms_Prop.Acc_pt_morphism; Acc_rect; Tauto.BFormula; PSeries_reg.Ball_in_inter; Rlimit.Base; PSeries_reg.Boule; PSeries_reg.Boule_center; Setoid.Build_Setoid_Theory; Ring_polynom.CFactor; RMicromega.CInvR0; RMicromega.CPowR0; ConstructiveReals.CR_Q_dense; ConstructiveReals.CR_archimedean; ConstructiveReals.CR_cauchy; ConstructiveReals.CR_complete; ConstructiveReals.CR_cv; ConstructiveLimits.CR_cv_bound_down; ConstructiveLimits.CR_cv_le; ConstructiveLimits.CR_cv_open_above; ConstructiveLimits.CR_cv_open_below; ConstructiveLimits.CR_cv_opp; ConstructiveLimits.CR_cv_plus; ConstructiveLimits.CR_cv_proper; ConstructiveReals.CR_of_Q; ConstructiveReals.CR_of_Q_le; ConstructiveReals.CR_of_Q_lt; ConstructiveReals.CR_of_Q_morph; ConstructiveReals.CR_of_Q_morph_Proper; ConstructiveReals.CR_of_Q_morph_T; ConstructiveReals.CR_of_Q_mult; ConstructiveReals.CR_of_Q_opp; ConstructiveReals.CR_of_Q_plus; ConstructiveReals.CR_of_Q_pos; ConstructiveLUB.CR_sig_lub; ConstructiveReals.CRabs; ConstructiveReals.CRabs_def; ConstructiveAbs.CRabs_le; ConstructiveAbs.CRabs_lt; ConstructiveAbs.CRabs_morph; ConstructiveAbs.CRabs_morph_prop_Proper; ConstructiveAbs.CRabs_opp; ConstructiveAbs.CRabs_right; ConstructiveAbs.CRabs_triang; ConstructiveReals.CRapart; ConstructiveReals.CRcarrier; ConstructiveRcomplete.CRealAbsLUB; ConstructiveCauchyRealsMult.CRealArchimedean; ConstructiveRcomplete.CRealComplete; ConstructiveRcomplete.CRealConstructive; ConstructiveCauchyReals.CRealEq; ConstructiveCauchyReals.CRealEq_diff; ConstructiveCauchyReals.CRealEq_refl; ConstructiveCauchyReals.CRealEq_rel; ConstructiveCauchyReals.CRealEq_relT; ConstructiveCauchyReals.CRealEq_rel_Reflexive; ConstructiveCauchyReals.CRealEq_rel_Symmetric; ConstructiveCauchyReals.CRealEq_rel_Transitive; ConstructiveCauchyReals.CRealEq_sym; ConstructiveCauchyReals.CRealEq_trans; ConstructiveCauchyReals.CRealGe; ConstructiveCauchyReals.CRealLe; ConstructiveCauchyAbs.CRealLe_0R_to_single_dist; ConstructiveCauchyReals.CRealLe_morph_Proper; ConstructiveCauchyReals.CRealLe_not_lt; ConstructiveCauchyReals.CRealLe_refl; ConstructiveCauchyRealsMult.CRealLowerBound; ConstructiveCauchyRealsMult.CRealLowerBoundSpec; ConstructiveCauchyRealsMult.CRealLowerBound_lt_scale; ConstructiveCauchyReals.CRealLt; ConstructiveRcomplete.CRealLtDisjunctEpsilon; ConstructiveCauchyReals.CRealLtEpsilon; ConstructiveCauchyReals.CRealLtForget; ConstructiveRcomplete.CRealLtIsLinear; ConstructiveCauchyReals.CRealLtProp; ConstructiveCauchyReals.CRealLtProp_morph_Proper; ConstructiveCauchyReals.CRealLt_0_1; ConstructiveCauchyAbs.CRealLt_RQ_from_single_dist; ConstructiveCauchyReals.CRealLt_above; ConstructiveCauchyReals.CRealLt_aboveSig; ConstructiveCauchyReals.CRealLt_aboveSig'; ConstructiveCauchyReals.CRealLt_above_same; ConstructiveCauchyReals.CRealLt_asym; ConstructiveCauchyReals.CRealLt_dec; ConstructiveCauchyReals.CRealLt_irrefl; ConstructiveCauchyReals.CRealLt_lpo_dec; ConstructiveCauchyReals.CRealLt_morph; ConstructiveCauchyRealsMult.CRealQ_dense; ConstructiveCauchyRealsMult.CRealRing_ring_lemma1; ConstructiveCauchyRealsMult.CRealRing_ring_lemma2; ConstructiveCauchyAbs.CReal_abs; ConstructiveCauchyAbs.CReal_abs_appart_0; ConstructiveCauchyAbs.CReal_abs_bound; ConstructiveCauchyAbs.CReal_abs_cauchy; ConstructiveCauchyAbs.CReal_abs_def2; ConstructiveCauchyAbs.CReal_abs_le; ConstructiveCauchyAbs.CReal_abs_left; ConstructiveCauchyAbs.CReal_abs_minus_sym; ConstructiveCauchyAbs.CReal_abs_morph; ConstructiveCauchyAbs.CReal_abs_morph_Proper; ConstructiveCauchyAbs.CReal_abs_opp; ConstructiveCauchyAbs.CReal_abs_pos; ConstructiveCauchyAbs.CReal_abs_right; ConstructiveCauchyAbs.CReal_abs_scale; ConstructiveCauchyAbs.CReal_abs_seq; ConstructiveCauchyAbs.CReal_abs_triang; ConstructiveCauchyReals.CReal_appart; ConstructiveRcomplete.CReal_cv_self'; ConstructiveRcomplete.CReal_from_cauchy; ConstructiveRcomplete.CReal_from_cauchy_bound; ConstructiveRcomplete.CReal_from_cauchy_cauchy; ConstructiveRcomplete.CReal_from_cauchy_cm; ConstructiveRcomplete.CReal_from_cauchy_cm_mono; ConstructiveRcomplete.CReal_from_cauchy_scale; ConstructiveRcomplete.CReal_from_cauchy_seq; ConstructiveRcomplete.CReal_from_cauchy_seq_bound; ConstructiveCauchyRealsMult.CReal_inv; ConstructiveCauchyRealsMult.CReal_inv_0_lt_compat; ConstructiveCauchyRealsMult.CReal_inv_l; ConstructiveCauchyRealsMult.CReal_inv_l_pos; ConstructiveCauchyRealsMult.CReal_inv_pos; ConstructiveCauchyRealsMult.CReal_inv_pos_bound; ConstructiveCauchyRealsMult.CReal_inv_pos_cauchy; ConstructiveCauchyRealsMult.CReal_inv_pos_cm; ConstructiveCauchyRealsMult.CReal_inv_pos_scale; ConstructiveCauchyRealsMult.CReal_inv_pos_seq; ConstructiveCauchyRealsMult.CReal_isRing; ConstructiveCauchyRealsMult.CReal_isRingExt; ConstructiveCauchyAbs.CReal_le_abs; ConstructiveCauchyReals.CReal_le_lt_trans; ConstructiveCauchyReals.CReal_le_trans; ConstructiveCauchyReals.CReal_lt_le_trans; ConstructiveCauchyReals.CReal_lt_trans; ConstructiveCauchyReals.CReal_minus; ConstructiveCauchyRealsMult.CReal_mult; ConstructiveCauchyRealsMult.CReal_mult_1_l; ConstructiveCauchyRealsMult.CReal_mult_assoc; ConstructiveCauchyRealsMult.CReal_mult_bound; ConstructiveCauchyRealsMult.CReal_mult_cauchy; ConstructiveCauchyRealsMult.CReal_mult_comm; ConstructiveCauchyRealsMult.CReal_mult_lt_0_compat; ConstructiveCauchyRealsMult.CReal_mult_lt_0_compat_correct; ConstructiveCauchyRealsMult.CReal_mult_lt_compat_l; ConstructiveCauchyRealsMult.CReal_mult_morph_Proper; ConstructiveCauchyRealsMult.CReal_mult_plus_distr_l; ConstructiveCauchyRealsMult.CReal_mult_proper_0_l; ConstructiveCauchyRealsMult.CReal_mult_proper_l; ConstructiveCauchyRealsMult.CReal_mult_scale; ConstructiveCauchyRealsMult.CReal_mult_seq; ConstructiveCauchyRealsMult.CReal_neg_lt_pos; ConstructiveCauchyRealsMult.CReal_neg_lt_pos_subproof; ConstructiveCauchyReals.CReal_opp; ConstructiveCauchyReals.CReal_opp_0; ConstructiveCauchyReals.CReal_opp_bound; ConstructiveCauchyReals.CReal_opp_cauchy; ConstructiveCauchyReals.CReal_opp_ge_le_contravar; ConstructiveCauchyReals.CReal_opp_involutive; ConstructiveCauchyRealsMult.CReal_opp_morph_Proper; ConstructiveCauchyRealsMult.CReal_opp_morph_T; ConstructiveCauchyRealsMult.CReal_opp_mult_distr_l; ConstructiveCauchyRealsMult.CReal_opp_mult_distr_r; ConstructiveCauchyReals.CReal_opp_scale; ConstructiveCauchyReals.CReal_opp_seq; ConstructiveCauchyReals.CReal_plus; ConstructiveCauchyReals.CReal_plus_0_l; ConstructiveCauchyReals.CReal_plus_0_r; ConstructiveCauchyReals.CReal_plus_assoc; ConstructiveCauchyReals.CReal_plus_bound; ConstructiveCauchyReals.CReal_plus_cauchy; ConstructiveCauchyReals.CReal_plus_comm; ConstructiveCauchyReals.CReal_plus_eq_reg_l; ConstructiveCauchyReals.CReal_plus_le_compat; ConstructiveCauchyReals.CReal_plus_le_compat_l; ConstructiveCauchyReals.CReal_plus_le_lt_compat; ConstructiveCauchyReals.CReal_plus_le_reg_r; ConstructiveCauchyReals.CReal_plus_lt_compat_l; ConstructiveCauchyReals.CReal_plus_lt_compat_r; ConstructiveCauchyReals.CReal_plus_lt_reg_l; ConstructiveCauchyReals.CReal_plus_lt_reg_r; ConstructiveCauchyReals.CReal_plus_morph; ConstructiveCauchyReals.CReal_plus_morph_Proper; ConstructiveCauchyReals.CReal_plus_morph_T; ConstructiveCauchyReals.CReal_plus_opp_l; ConstructiveCauchyReals.CReal_plus_opp_r; ConstructiveCauchyReals.CReal_plus_proper_l; ConstructiveCauchyReals.CReal_plus_proper_r; ConstructiveCauchyReals.CReal_plus_scale; ConstructiveCauchyReals.CReal_plus_seq; ConstructiveCauchyRealsMult.CReal_red_scale; ConstructiveCauchyReals.CReal_red_seq; ConstructiveCauchyRealsMult.CReal_scale_sep0_limit; ConstructiveReals.CReq; ConstructiveReals.CReq_refl; ConstructiveReals.CReq_rel; ConstructiveReals.CReq_relT; ConstructiveReals.CReq_rel_Reflexive; ConstructiveReals.CReq_rel_Symmetric; ConstructiveReals.CReq_rel_Transitive; ConstructiveReals.CReq_sym; ConstructiveReals.CReq_trans; ConstructiveReals.CRinv; ConstructiveReals.CRinv_0_lt_compat; ConstructiveReals.CRinv_l; ConstructiveReals.CRinv_r; ConstructiveReals.CRisRing; ConstructiveReals.CRisRingExt; ConstructiveLUB.CRis_upper_bound; ConstructiveReals.CRle; ConstructiveAbs.CRle_abs; ConstructiveReals.CRle_lt_trans; ConstructiveReals.CRle_morph_Proper; ConstructiveReals.CRle_refl; ConstructiveReals.CRle_trans; ConstructiveReals.CRlt; ConstructiveReals.CRltEpsilon; ConstructiveReals.CRltForget; ConstructiveReals.CRltLinear; ConstructiveReals.CRltProp; ConstructiveReals.CRlt_asym; ConstructiveReals.CRlt_le_trans; ConstructiveLUB.CRlt_lpo_dec; ConstructiveReals.CRlt_minus; ConstructiveReals.CRlt_morph; ConstructiveReals.CRlt_proper; ConstructiveReals.CRlt_trans; ConstructiveReals.CRminus; ConstructiveReals.CRmult; ConstructiveReals.CRmult_0_r; ConstructiveReals.CRmult_1_l; ConstructiveReals.CRmult_1_r; ConstructiveReals.CRmult_assoc; ConstructiveReals.CRmult_comm; ConstructiveReals.CRmult_lt_0_compat; ConstructiveReals.CRmult_lt_compat_l; ConstructiveReals.CRmult_lt_compat_r; ConstructiveReals.CRmult_lt_reg_l; ConstructiveReals.CRmult_lt_reg_r; ConstructiveReals.CRmult_morph; ConstructiveReals.CRmult_morph_Proper; ConstructiveReals.CRmult_morph_T; ConstructiveReals.CRmult_plus_distr_l; ConstructiveReals.CRmult_plus_distr_r; ConstructiveReals.CRopp; ConstructiveReals.CRopp_0; ConstructiveReals.CRopp_ge_le_contravar; ConstructiveReals.CRopp_gt_lt_contravar; ConstructiveReals.CRopp_involutive; ConstructiveReals.CRopp_lt_cancel; ConstructiveReals.CRopp_morph_Proper; ConstructiveReals.CRopp_mult_distr_l; ConstructiveReals.CRopp_mult_distr_r; ConstructiveReals.CRopp_plus_distr; ConstructiveReals.CRplus; ConstructiveReals.CRplus_0_l; ConstructiveReals.CRplus_0_r; ConstructiveReals.CRplus_assoc; ConstructiveReals.CRplus_comm; ConstructiveReals.CRplus_eq_reg_l; ConstructiveReals.CRplus_le_compat; ConstructiveReals.CRplus_le_compat_l; ConstructiveReals.CRplus_le_compat_r; ConstructiveReals.CRplus_le_reg_l; ConstructiveReals.CRplus_le_reg_r; ConstructiveReals.CRplus_lt_compat_l; ConstructiveReals.CRplus_lt_compat_r; ConstructiveReals.CRplus_lt_reg_l; ConstructiveReals.CRplus_lt_reg_r; ConstructiveReals.CRplus_morph; ConstructiveReals.CRplus_morph_Proper; ConstructiveReals.CRplus_morph_T; ConstructiveReals.CRplus_opp_l; ConstructiveReals.CRplus_opp_r; ConstructiveReals.CRup_nat; ConstructiveReals.CRzero_double; PSeries_reg.CVU; CompOpp; CompOpp_iff; CompOpp_inj; CompOpp_involutive; CompSpec; CompSpec2Type; CompSpecT; CompareSpec2Type; ConstructiveLUB.DDcut_limit; ConstructiveLUB.DDcut_limit_fix; ConstructiveLUB.DDdec; ConstructiveLUB.DDhigh; ConstructiveLUB.DDhighProp; ConstructiveLUB.DDinterval; ConstructiveLUB.DDlow; ConstructiveLUB.DDlowProp; ConstructiveLUB.DDlow_below_up; ConstructiveLUB.DDproper; ConstructiveLUB.DDupcut; Rderiv.D_in; Rderiv.D_x; Rderiv.Dmult; Env.Env; Ring_theory.Eq_ext; Ring_theory.Eqsth; RelationClasses.Equivalence_PER; CRelationClasses.Equivalence_Reflexive; RelationClasses.Equivalence_Reflexive; CRelationClasses.Equivalence_Symmetric; RelationClasses.Equivalence_Symmetric; RelationClasses.Equivalence_Transitive; ZMicromega.F; Field_theory.F2AF; Field_theory.FEeval; Field_theory.FExpr_ind; Field_theory.F_1_neq_0; Field_theory.F_R; False_ind; False_rec; False_rect; Field_theory.Fapp; Field_theory.Fcons0; Field_theory.Fcons1; Field_theory.Fcons2; Field_theory.Fdiv_def; Field_theory.Field_correct; Field_theory.Field_rw_pow_correct; Field_theory.Field_simplify_eq_pow_correct; Field_theory.Finv_l; Field_theory.Fnorm; Field_theory.Fnorm_FEeval_PEeval; Field_theory.Fnorm_crossproduct; Tauto.GFormula_ind; ID; Ring_theory.IDmorph; Ring_theory.IDphi; Rdefinitions.IPR; Rdefinitions.IPR_2; RIneq.IPR_2_xH; RIneq.IPR_2_xI; RIneq.IPR_2_xO; RIneq.IPR_IPR_2; RIneq.IPR_ge_1; RIneq.IPR_gt_0; RIneq.IPR_xH; RIneq.IPR_xI; RIneq.IPR_xO; Rdefinitions.IZR; RIneq.IZR_ge; RIneq.IZR_le; RIneq.IZR_lt; Qreals.IZR_nz; List.In; ZifyInst.Inj_Z_Z; ZifyInst.Inj_pos_Z; RelationClasses.Irreflexive; Ring_polynom.MFactor; Ring_polynom.MPcond; MVT.MVT; RList.MaxRlist; RList.MaxRlist_P1; Ring_polynom.Mcphi_ok; RList.MinRlist; RList.MinRlist_P1; RList.MinRlist_P2; Ring_polynom.Mphi; Ring_polynom.Mphi_ok; RingMicromega.NFormula; Classical_Prop.NNPP; Field_theory.NPEadd; Field_theory.NPEadd_ok; Field_theory.NPEequiv; Field_theory.NPEequiv_eq; Field_theory.NPEeval_ext; Field_theory.NPEmul; Field_theory.NPEmul_ok; Field_theory.NPEopp; Field_theory.NPEopp_ok; Field_theory.NPEpow; Field_theory.NPEpow_ok; Field_theory.NPEsub; Field_theory.NPEsub_ok; InitialRing.Nopp; InitialRing.Nsub; Field_theory.NtoZ; InitialRing.Ntriv_div_th; O_S; ConstructiveEpsilon.O_witness; RingMicromega.OpAdd; RingMicromega.OpAdd_sound; RingMicromega.OpMult; RingMicromega.OpMult_sound; ConstructiveEpsilon.P'; ConstructiveEpsilon.P'_decidable; EnvRing.P0; Ring_polynom.P0; EnvRing.P1; Ring_polynom.P1; Field_theory.PCond; Field_theory.PCond_app; Field_theory.PCond_cons; RelationClasses.PER_Symmetric; RelationClasses.PER_Transitive; Morphisms.PER_morphism; Morphisms.PER_morphism_obligation_1; Field_theory.PE_1_l; Field_theory.PE_1_r; Field_theory.PEadd_ext; EnvRing.PEeval; Ring_polynom.PEeval; Field_theory.PEmul_ext; Field_theory.PEopp_ext; Field_theory.PEpow_0_r; Field_theory.PEpow_1_l; Field_theory.PEpow_1_r; Field_theory.PEpow_add_r; Field_theory.PEpow_ext; Field_theory.PEpow_mul_l; Field_theory.PEpow_mul_r; Field_theory.PEpow_nz; Field_theory.PEsimp; Field_theory.PEsimp_ok; Field_theory.PEsub_ext; Field_theory.PExpr_eq; Field_theory.PExpr_eq_semi_ok; Field_theory.PExpr_eq_spec; EnvRing.PExpr_ind; Ring_polynom.PExpr_ind; Field_theory.PFcons0_fcons_inv; Field_theory.PFcons1_fcons_inv; Field_theory.PFcons2_fcons_inv; Ring_polynom.PNSubst; Ring_polynom.PNSubst1; Ring_polynom.PNSubst1_ok; Ring_polynom.PNSubstL; Ring_polynom.PNSubstL_ok; Ring_polynom.PNSubst_ok; Ring_polynom.POneSubst; Ring_polynom.POneSubst_ok; Ring_polynom.PSubstL; Ring_polynom.PSubstL1; Ring_polynom.PSubstL1_ok; Ring_polynom.PSubstL_ok; Ring_polynom.PX_ext; EnvRing.Padd; Ring_polynom.Padd; EnvRing.PaddC; Ring_polynom.PaddC; EnvRing.PaddC_ok; Ring_polynom.PaddC_ok; EnvRing.PaddI; Ring_polynom.PaddI; EnvRing.PaddX; Ring_polynom.PaddX; EnvRing.PaddX_ok; Ring_polynom.PaddX_ok; EnvRing.Padd_ok; Ring_polynom.Padd_ok; Field_theory.Pcond_Fnorm; Field_theory.Pcond_simpl_complete; EnvRing.Peq; Ring_polynom.Peq; EnvRing.Peq_ok; Ring_polynom.Peq_ok; EnvRing.Peq_spec; Ring_polynom.Peq_spec; Ring_polynom.Pequiv; Ring_polynom.Pequiv_eq; EnvRing.Pjump_add; EnvRing.Pjump_pred_double; EnvRing.Pjump_xO_tail; EnvRing.Pmul; Ring_polynom.Pmul; EnvRing.PmulC; Ring_polynom.PmulC; EnvRing.PmulC_aux; Ring_polynom.PmulC_aux; EnvRing.PmulC_aux_ok; Ring_polynom.PmulC_aux_ok; EnvRing.PmulC_ok; Ring_polynom.PmulC_ok; EnvRing.PmulI; Ring_polynom.PmulI; EnvRing.PmulI_ok; Ring_polynom.PmulI_ok; EnvRing.Pmul_ok; Ring_polynom.Pmul_ok; RingMicromega.PolC; RingMicromega.PolEnv; EnvRing.Pol_ind; Ring_polynom.Pol_ind; EnvRing.Popp; Ring_polynom.Popp; EnvRing.Popp_ok; Ring_polynom.Popp_ok; ConstructiveRcomplete.Pos2Z_pos_is_pos; QExtra.Pos_log2floor_plus1; QExtra.Pos_log2floor_plus1_spec; PosExtra.Pos_pow_1_r; PosExtra.Pos_pow_le_mono_r; ConstructiveExtra.Pos_pred_double_inj; ConstructiveRcomplete.Pospow_lin_le_2pow; EnvRing.Pphi; Ring_polynom.Pphi; EnvRing.Pphi0; Ring_polynom.Pphi0; EnvRing.Pphi1; Ring_polynom.Pphi1; Ring_polynom.Pphi_avoid; Ring_polynom.Pphi_avoid_ok; Ring_polynom.Pphi_dev; Ring_polynom.Pphi_dev_ok; Ring_polynom.Pphi_ext; Ring_polynom.Pphi_pow; Ring_polynom.Pphi_pow_ok; BinPos.Pplus_one_succ_l; BinPos.Pplus_one_succ_r; EnvRing.Ppow_N; Ring_polynom.Ppow_N; EnvRing.Ppow_N_ok; Ring_polynom.Ppow_N_ok; EnvRing.Ppow_pos; Ring_polynom.Ppow_pos; EnvRing.Ppow_pos_ok; Ring_polynom.Ppow_pos_ok; RelationClasses.PreOrder_Reflexive; RelationClasses.PreOrder_Transitive; RIneq.Private_sumbool_to_or; CMorphisms.Proper; Morphisms.Proper; CMorphisms.ProperProxy; Morphisms.ProperProxy; Qminmax.Q.Proper_instance_0; BinInt.Z.Proper_instance_0; RingMicromega.Psatz_ind; EnvRing.Psquare; EnvRing.Psquare_ok; EnvRing.Psub; Ring_polynom.Psub; EnvRing.PsubC; Ring_polynom.PsubC; EnvRing.PsubC_ok; RingMicromega.PsubC_ok; Ring_polynom.PsubC_ok; EnvRing.PsubI; Ring_polynom.PsubI; EnvRing.PsubX; Ring_polynom.PsubX; EnvRing.PsubX_ok; EnvRing.Psub_ok; Ring_polynom.Psub_ok; Ring_polynom.Psub_opp; Rdefinitions.Q2R; RMicromega.Q2R_0; RMicromega.Q2R_1; Qreals.Q2R_inv; RMicromega.Q2R_inv_ext; RMicromega.Q2R_m_Proper; Qreals.Q2R_minus; Qreals.Q2R_mult; Qreals.Q2R_opp; Qreals.Q2R_plus; RMicromega.Q2R_pow_N; RMicromega.Q2R_pow_pos; RMicromega.Q2RpowerRZ; ConstructiveCauchyReals.QBound; ConstructiveCauchyReals.QCauchySeq; QMicromega.QNpower; RMicromega.QReval_expr; RMicromega.QReval_formula; RMicromega.QReval_formula'; RMicromega.QReval_formula_compat; QMicromega.QSORaddon; RMicromega.QSORaddon; QMicromega.QTautoChecker; QMicromega.QTautoChecker_sound; QMicromega.QWeakChecker; QMicromega.QWeakChecker_sound; QMicromega.QWitness; QArith_base.Q_Setoid; QArith_base.Q_dec; RMicromega.Q_of_Rcst; RMicromega.Q_of_RcstR; Qabs.Qabs; ConstructiveRcomplete.Qabs_Qgt_condition; Qabs.Qabs_Qinv; Qabs.Qabs_Qle_condition; Qabs.Qabs_Qlt_condition; Qabs.Qabs_Qmult; ConstructiveRcomplete.Qabs_Rabs; Qabs.Qabs_case; Qabs.Qabs_case_subproof; Qabs.Qabs_case_subproof0; Qabs.Qabs_case_subproof1; Qabs.Qabs_gt; ConstructiveCauchyAbs.Qabs_involutive; Qabs.Qabs_neg; Qabs.Qabs_nonneg; Qabs.Qabs_opp; Qabs.Qabs_pos; Qabs.Qabs_triangle; Qabs.Qabs_triangle_reverse; Qabs.Qabs_wd; Qabs.Qabs_wd_Proper; QArith_base.Qarchimedean; QExtra.QarchimedeanExp2_Z; QExtra.QarchimedeanLowExp2_Z; QExtra.Qbound_lt_ZExp2; QExtra.Qbound_lt_ZExp2_spec; QExtra.Qbound_ltabs_ZExp2; QExtra.Qbound_ltabs_ZExp2_spec; QArith_base.Qcompare; QArith_base.Qcompare_comp; QArith_base.Qden; QArith_base.Qdiv; QArith_base.Qdiv_comp; QArith_base.Qdiv_mult_l; QArith_base.Qeq; QArith_base.Qeq_alt; QArith_base.Qeq_bool; QArith_base.Qeq_bool_eq; QArith_base.Qeq_bool_iff; QArith_base.Qeq_bool_neq; QArith_base.Qeq_dec; Qreals.Qeq_eqR; QArith_base.Qeq_eq_bool; RMicromega.Qeq_false; QArith_base.Qeq_refl; QArith_base.Qeq_sym; QArith_base.Qeq_trans; RMicromega.Qeq_true; QMicromega.Qeval_bop2; QMicromega.Qeval_expr; QMicromega.Qeval_expr'; QMicromega.Qeval_expr_compat; QMicromega.Qeval_formula; QMicromega.Qeval_formula'; QMicromega.Qeval_formula_compat; QMicromega.Qeval_nformula; RMicromega.Qeval_nformula; QMicromega.Qeval_nformula_dec; QMicromega.Qeval_op2; QMicromega.Qeval_op2_hold; QMicromega.Qeval_pop2; Qfield.Qfield_field_lemma1; Qfield.Qfield_field_lemma2; Qfield.Qfield_lemma5; Qfield.Qfield_ring_lemma1; Qfield.Qfield_ring_lemma2; Qround.Qfloor; Qround.Qfloor_le; QArith_base.Qinv; QArith_base.Qinv_comp; QArith_base.Qinv_involutive; QArith_base.Qinv_le_0_compat; QArith_base.Qinv_lt_0_compat; QArith_base.Qinv_lt_contravar; QArith_base.Qinv_mult_distr; QArith_base.Qinv_plus_distr; QArith_base.Qinv_pos; Qpower.Qinv_power; Qpower.Qinv_power_positive; QArith_base.Qle; Qabs.Qle_Qabs; Qreals.Qle_Rle; QArith_base.Qle_alt; QArith_base.Qle_antisym; QArith_base.Qle_bool; QArith_base.Qle_bool_iff; QArith_base.Qle_bool_imp_le; QArith_base.Qle_comp; QArith_base.Qle_lt_trans; QArith_base.Qle_minus_iff; QArith_base.Qle_not_lt; QArith_base.Qle_refl; QArith_base.Qle_shift_div_l; QArith_base.Qle_shift_div_r; QArith_base.Qle_trans; RMicromega.Qle_true; QExtra.Qlowbound_lt_ZExp2_spec; QExtra.Qlowbound_ltabs_ZExp2; QExtra.Qlowbound_ltabs_ZExp2_inv; QArith_base.Qlt; QArith_base.Qlt_alt; QMicromega.Qlt_bool; QMicromega.Qlt_bool_iff; QArith_base.Qlt_compat; Qround.Qlt_floor; QArith_base.Qlt_irrefl; QArith_base.Qlt_le_dec; QArith_base.Qlt_le_trans; QArith_base.Qlt_le_weak; QArith_base.Qlt_leneq; QArith_base.Qlt_minus_iff; QArith_base.Qlt_not_eq; QArith_base.Qlt_not_le; QArith_base.Qlt_shift_div_l; QArith_base.Qlt_shift_div_r; QArith_base.Qlt_shift_inv_l; QArith_base.Qlt_trans; ConstructiveRcomplete.Qlt_trans_swap_hyp; QArith_base.Qminus; QArith_base.Qminus_comp; QArith_base.Qmult; QArith_base.Qmult_0_l; QArith_base.Qmult_0_r; QArith_base.Qmult_1_l; QArith_base.Qmult_1_r; QArith_base.Qmult_assoc; QArith_base.Qmult_comm; QArith_base.Qmult_comp; QArith_base.Qmult_div_r; QArith_base.Qmult_frac_l; QArith_base.Qmult_integral; RMicromega.Qmult_integral; QArith_base.Qmult_integral_l; QArith_base.Qmult_inv_r; QArith_base.Qmult_le_0_compat; QArith_base.Qmult_le_1_compat; QArith_base.Qmult_le_compat_nonneg; QArith_base.Qmult_le_compat_r; QArith_base.Qmult_le_l; QArith_base.Qmult_le_lt_compat_pos; QArith_base.Qmult_le_r; QArith_base.Qmult_lt_0_le_reg_r; QArith_base.Qmult_lt_compat_nonneg; QArith_base.Qmult_lt_compat_r; QArith_base.Qmult_lt_l; QArith_base.Qmult_lt_r; QArith_base.Qmult_plus_distr_l; QMicromega.Qnegate; QMicromega.Qnormalise; QArith_base.Qnot_eq_sym; QArith_base.Qnot_le_lt; QArith_base.Qnot_lt_le; QArith_base.Qnum; QArith_base.Qopp; QArith_base.Qopp_comp; QArith_base.Qopp_le_compat; QArith_base.Qopp_lt_compat; ConstructiveCauchyAbs.Qopp_mult_mone; Qfield.Qopp_opp; QArith_base.Qplus; QArith_base.Qplus_0_l; QArith_base.Qplus_0_r; QArith_base.Qplus_assoc; QArith_base.Qplus_comm; QArith_base.Qplus_comp; QArith_base.Qplus_le_compat; QArith_base.Qplus_le_l; QArith_base.Qplus_le_r; QArith_base.Qplus_lt_l; QArith_base.Qplus_lt_le_compat; QArith_base.Qplus_lt_r; QArith_base.Qplus_opp_r; QArith_base.Qpower; RMicromega.Qpower0; Qpower.Qpower_0_le; Qpower.Qpower_0_lt; Qpower.Qpower_0_r; Qpower.Qpower_1_le; Qpower.Qpower_1_le_pos; ConstructiveRcomplete.Qpower_2powneg_le_inv; QArith_base.Qpower_comp; Qpower.Qpower_decomp_pos; Qpower.Qpower_decomp_positive; Qpower.Qpower_le_compat_l; Qpower.Qpower_lt_compat_l_inv; Qpower.Qpower_minus; Qpower.Qpower_minus_pos; Qpower.Qpower_minus_positive; Qpower.Qpower_not_0; Qpower.Qpower_not_0_positive; Qpower.Qpower_opp; Qpower.Qpower_plus; Qpower.Qpower_plus_positive; Qpower.Qpower_pos_positive; QArith_base.Qpower_positive; Qpower.Qpower_positive_0; QArith_base.Qpower_positive_comp; RMicromega.Qpower_positive_eq_zero; RMicromega.Qpower_positive_zero; Qfield.Qpower_theory; Qreduction.Qred; Qreduction.Qred_correct; Qfield.Qsft; QMicromega.Qsor; Qfield.Qsrt; Rdefinitions.RbaseSymbolsImpl.R; Rdefinitions.RbaseSymbolsImpl.R0; Rdefinitions.RbaseSymbolsImpl.R0_def; Rdefinitions.RbaseSymbolsImpl.R1; Rdefinitions.RbaseSymbolsImpl.R1_def; Raxioms.R1_neq_R0; RIneq.RField_field_lemma1; RIneq.RField_field_lemma3; RIneq.RField_lemma5; RIneq.RField_ring_lemma1; Rbasic_fun.RRle_abs; RMicromega.RTautoChecker; RMicromega.RTautoChecker_sound; RealField.RTheory; RMicromega.RWeakChecker; RMicromega.RWeakChecker_sound; RMicromega.RWitness; Rlimit.R_met; RMicromega.R_of_Rcst; RealField.R_power_theory; RIneq.R_rm; InitialRing.R_set1; InitialRing.R_set1_Reflexive; InitialRing.R_set1_Transitive; InitialRing.R_setoid3; InitialRing.R_setoid3_Reflexive; InitialRing.R_setoid3_Symmetric; InitialRing.R_setoid3_Transitive; InitialRing.R_setoid4; InitialRing.R_setoid4_Reflexive; InitialRing.R_setoid4_Transitive; Rbasic_fun.Rabs; Rbasic_fun.Rabs_R0; Rbasic_fun.Rabs_Ropp; Rbasic_fun.Rabs_def1; Rbasic_fun.Rabs_def2; Rbasic_fun.Rabs_inv; Rbasic_fun.Rabs_minus_sym; Rbasic_fun.Rabs_mult; Rbasic_fun.Rabs_no_R0; Rbasic_fun.Rabs_pos; Rbasic_fun.Rabs_pos_eq; Rbasic_fun.Rabs_pos_lt; Rbasic_fun.Rabs_right; Rbasic_fun.Rabs_triang; Rbasic_fun.Rabs_triang_inv; Rdefinitions.RbaseSymbolsImpl.Rabst; Ring_theory.Radd_0_l; Ring_theory.Radd_assoc; Ring_theory.Radd_comm; Ring_theory.Radd_ext; Rbasic_fun.Rcase_abs; ConstructiveRcomplete.Rcauchy_complete; RMicromega.Rcst_ind; RealField.Rdef_pow_add; Rfunctions.Rdist; Rfunctions.Rdist_plus; Rfunctions.Rdist_pos; Rfunctions.Rdist_refl; Rfunctions.Rdist_sym; Rfunctions.Rdist_tri; Ring_theory.Rdistr_l; Rdefinitions.Rdiv; RIneq.Rdiv_plus_distr; CRelationClasses.Reflexive; RelationClasses.Reflexive; Morphisms.ReflexiveProxy; CMorphisms.Reflexive_partial_app_morphism; Morphisms.Reflexive_partial_app_morphism; Rdefinitions.Req_appart_dec; RIneq.Req_dec; RIneq.Req_dec_T; OrderedRing.Req_dne; OrderedRing.Req_em; RIneq.Req_le; RIneq.Req_le_sym; RMicromega.Reval_bop2; RMicromega.Reval_expr; RMicromega.Reval_formula; RMicromega.Reval_formula'; RMicromega.Reval_formula_compat; RMicromega.Reval_nformula_dec; RMicromega.Reval_op2; RMicromega.Reval_op2_hold; RMicromega.Reval_pop2; RMicromega.Reval_pop2_eval_op2; RealField.Rfield; Rdefinitions.Rge; RIneq.Rge_antisym; RIneq.Rge_gt_dec; RIneq.Rge_gt_trans; RIneq.Rge_le; RIneq.Rge_minus; RIneq.Rge_not_lt; RIneq.Rge_trans; Rdefinitions.Rgt; RIneq.Rgt_dec; RIneq.Rgt_ge_trans; RIneq.Rgt_lt; RIneq.Rgt_minus; RIneq.Rgt_not_eq; RIneq.Rgt_not_ge; RIneq.Rgt_not_le; RIneq.Rgt_trans; BinInt.Z.Rgt_wd; Rdefinitions.RinvImpl.Rinv; RIneq.Rinv_0; RIneq.Rinv_0_lt_compat; RIneq.Rinv_1; RMicromega.Rinv_1; Rdefinitions.RinvImpl.Rinv_def; Raxioms.Rinv_l; RIneq.Rinv_lt_0_compat; RIneq.Rinv_mult; RIneq.Rinv_neq_0_compat; RIneq.Rinv_opp; RIneq.Rinv_r; Rdefinitions.Rle; RIneq.Rle_0_1; RIneq.Rle_0_sqr; RIneq.Rle_Reflexive; RIneq.Rle_Transitive; Rbasic_fun.Rle_abs; RIneq.Rle_antisym; OrderedRing.Rle_antisymm; RIneq.Rle_dec; RIneq.Rle_ge; OrderedRing.Rle_gt_cases; RIneq.Rle_le_eq; OrderedRing.Rle_le_minus; RIneq.Rle_lt_dec; OrderedRing.Rle_lt_eq; OrderedRing.Rle_lt_trans; RIneq.Rle_lt_trans; OrderedRing.Rle_ngt; RIneq.Rle_not_lt; OrderedRing.Rle_refl; RIneq.Rle_refl; OrderedRing.Rle_trans; RIneq.Rle_trans; Rdefinitions.RbaseSymbolsImpl.Rlt; RIneq.Rlt_0_1; RIneq.Rlt_0_2; RIneq.Rlt_0_minus; RIneq.Rlt_0_sqr; Raxioms.Rlt_asym; RIneq.Rlt_dec; Rdefinitions.RbaseSymbolsImpl.Rlt_def; RIneq.Rlt_dichotomy_converse; RIneq.Rlt_gt; RIneq.Rlt_irrefl; RIneq.Rlt_le; RIneq.Rlt_le_dec; OrderedRing.Rlt_le_neq; OrderedRing.Rlt_le_trans; RIneq.Rlt_le_trans; OrderedRing.Rlt_lt_minus; OrderedRing.Rlt_neq; OrderedRing.Rlt_nge; RIneq.Rlt_not_eq; RIneq.Rlt_not_ge; RIneq.Rlt_not_le; RIneq.Rlt_or_le; OrderedRing.Rlt_trans; Raxioms.Rlt_trans; OrderedRing.Rlt_trichotomy; BinNat.N.Rlt_wd; PeanoNat.Nat.Rlt_wd; BinInt.Z.Rlt_wd; Rbasic_fun.Rmax; Rbasic_fun.Rmax_Rlt; Rbasic_fun.Rmax_case_strong; Rbasic_fun.Rmax_l; Rbasic_fun.Rmax_left; Rbasic_fun.Rmax_lub_lt; Rbasic_fun.Rmax_r; Rbasic_fun.Rmax_right; Rbasic_fun.Rmax_stable_in_negreal; Rbasic_fun.Rmin; Rbasic_fun.Rmin_Rgt; Rbasic_fun.Rmin_Rgt_l; Rbasic_fun.Rmin_Rgt_r; Rbasic_fun.Rmin_case_strong; Rbasic_fun.Rmin_glb_lt; Rbasic_fun.Rmin_l; Rbasic_fun.Rmin_r; Rbasic_fun.Rmin_stable_in_posreal; Rdefinitions.Rminus; RIneq.Rminus_0_r; RIneq.Rminus_diag_eq; RIneq.Rminus_diag_uniq; RIneq.Rminus_diag_uniq_sym; OrderedRing.Rminus_eq_0; RIneq.Rminus_eq_contra; RIneq.Rminus_ge; RIneq.Rminus_gt; RIneq.Rminus_le; RIneq.Rminus_lt; RIneq.Rminus_not_eq; RIneq.Rminus_plus_distr; RIneq.Rminus_plus_l_l; RIneq.Rminus_plus_r_l; RIneq.Rminus_plus_r_r; Ring_theory.Rmul_0_l; Ring_theory.Rmul_1_l; Ring_theory.Rmul_assoc; Ring_theory.Rmul_comm; Ring_theory.Rmul_ext; Rdefinitions.RbaseSymbolsImpl.Rmult; RIneq.Rmult_0_l; RIneq.Rmult_0_r; Raxioms.Rmult_1_l; RIneq.Rmult_1_r; Raxioms.Rmult_assoc; Raxioms.Rmult_comm; Rdefinitions.RbaseSymbolsImpl.Rmult_def; RIneq.Rmult_div_l; RIneq.Rmult_div_r; RIneq.Rmult_eq_compat_l; RIneq.Rmult_eq_reg_l; RIneq.Rmult_ge_0_gt_0_lt_compat; RIneq.Rmult_gt_0_compat; RIneq.Rmult_integral; RIneq.Rmult_integral_contrapositive; RIneq.Rmult_integral_contrapositive_currified; RIneq.Rmult_inv_r_id_l; RIneq.Rmult_inv_r_id_m; RIneq.Rmult_inv_r_uniq; RIneq.Rmult_le_0_lt_compat; RIneq.Rmult_le_compat; RIneq.Rmult_le_compat_l; RIneq.Rmult_le_compat_neg_l; RIneq.Rmult_le_compat_r; RIneq.Rmult_le_pos; RIneq.Rmult_lt_0_compat; Raxioms.Rmult_lt_compat_l; RIneq.Rmult_lt_compat_r; RIneq.Rmult_lt_gt_compat_neg_l; RIneq.Rmult_lt_reg_l; RIneq.Rmult_ne; RIneq.Rmult_opp_opp; Raxioms.Rmult_plus_distr_l; RIneq.Rmult_plus_distr_r; RMicromega.Rnegate; OrderedRing.Rneq_symm; RMicromega.Rnormalise; RIneq.Rnot_gt_ge; RIneq.Rnot_le_gt; RIneq.Rnot_le_lt; RIneq.Rnot_lt_ge; RIneq.Rnot_lt_le; Rdefinitions.RbaseSymbolsImpl.Ropp; RIneq.Ropp_0; Rbasic_fun.Ropp_Rmin; RIneq.Ropp_Ropp_IZR; Ring_theory.Ropp_add; Ring_theory.Ropp_def; Rdefinitions.RbaseSymbolsImpl.Ropp_def; RIneq.Ropp_eq_0_compat; RIneq.Ropp_eq_compat; RIneq.Ropp_eq_reg; Ring_theory.Ropp_ext; RIneq.Ropp_ge_cancel; RIneq.Ropp_ge_le_contravar; RIneq.Ropp_gt_lt_0_contravar; RIneq.Ropp_gt_lt_contravar; RIneq.Ropp_involutive; RIneq.Ropp_le_cancel; RIneq.Ropp_le_contravar; RIneq.Ropp_le_ge_contravar; RIneq.Ropp_lt_cancel; RIneq.Ropp_lt_contravar; RIneq.Ropp_lt_gt_0_contravar; RIneq.Ropp_lt_gt_contravar; OrderedRing.Ropp_lt_mono; RIneq.Ropp_minus_distr; Ring_theory.Ropp_mul_l; RIneq.Ropp_mult_distr_l; RIneq.Ropp_mult_distr_l_reverse; RIneq.Ropp_mult_distr_r; RIneq.Ropp_neq_0_compat; Ring_theory.Ropp_opp; RIneq.Ropp_plus_distr; OrderedRing.Ropp_pos_neg; RingMicromega.Rops_wd; Rdefinitions.RbaseSymbolsImpl.Rplus; OrderedRing.Rplus_0_l; Raxioms.Rplus_0_l; OrderedRing.Rplus_0_r; RIneq.Rplus_0_r; RIneq.Rplus_0_r_uniq; Raxioms.Rplus_assoc; OrderedRing.Rplus_cancel_l; OrderedRing.Rplus_comm; Raxioms.Rplus_comm; Rdefinitions.RbaseSymbolsImpl.Rplus_def; RIneq.Rplus_diag; RIneq.Rplus_eq_compat_l; RIneq.Rplus_eq_compat_r; RIneq.Rplus_eq_reg_l; RIneq.Rplus_ge_compat_l; RIneq.Rplus_ge_compat_r; RIneq.Rplus_ge_reg_r; RIneq.Rplus_half_diag; RIneq.Rplus_le_compat; RIneq.Rplus_le_compat_l; RIneq.Rplus_le_compat_r; RIneq.Rplus_le_lt_0_compat; RIneq.Rplus_le_lt_0_neq_0; RIneq.Rplus_le_lt_compat; OrderedRing.Rplus_le_lt_mono; OrderedRing.Rplus_le_mono; OrderedRing.Rplus_le_mono_l; OrderedRing.Rplus_le_mono_r; RIneq.Rplus_le_reg_l; RIneq.Rplus_le_reg_r; RIneq.Rplus_lt_0_compat; RIneq.Rplus_lt_compat; Raxioms.Rplus_lt_compat_l; RIneq.Rplus_lt_compat_r; RIneq.Rplus_lt_le_0_compat; RIneq.Rplus_lt_le_compat; OrderedRing.Rplus_lt_le_mono; OrderedRing.Rplus_lt_mono; OrderedRing.Rplus_lt_mono_l; OrderedRing.Rplus_lt_mono_r; RIneq.Rplus_lt_reg_l; RIneq.Rplus_lt_reg_r; RIneq.Rplus_minus_assoc; RIneq.Rplus_minus_l; RIneq.Rplus_minus_r; RIneq.Rplus_ne; OrderedRing.Rplus_nonneg_nonneg; OrderedRing.Rplus_nonneg_pos; RIneq.Rplus_opp_l; Raxioms.Rplus_opp_r; RIneq.Rplus_opp_r_uniq; OrderedRing.Rplus_pos_nonneg; OrderedRing.Rplus_pos_pos; Rdefinitions.RbaseSymbolsImpl.Rquot1; Rdefinitions.RbaseSymbolsImpl.Rquot2; Rdefinitions.RbaseSymbolsImpl.Rrepr; Raxioms.Rrepr_0; Raxioms.Rrepr_1; Rdefinitions.Rrepr_appart_0; Raxioms.Rrepr_le; Raxioms.Rrepr_mult; Raxioms.Rrepr_opp; Raxioms.Rrepr_plus; Field_theory.Rring_ring_lemma1; RMicromega.Rsor; RIneq.Rsqr; RIneq.Rsqr_0_uniq; RIneq.Rsqr_def; RMicromega.Rsrt; Ring_theory.Rsub_def; Ring_theory.Rth_ARth; OrderedRing.Rtimes_0_l; OrderedRing.Rtimes_0_r; OrderedRing.Rtimes_comm; OrderedRing.Rtimes_neg_neg; OrderedRing.Rtimes_neq_0; OrderedRing.Rtimes_nonneg_nonneg; OrderedRing.Rtimes_pos_neg; OrderedRing.Rtimes_pos_pos; OrderedRing.Rtimes_square_nonneg; RIneq.Rtotal_order; ConstructiveRcomplete.Rup_pos; RingMicromega.SORRing_ring_lemma1; OrderedRing.SOR_ring_lemma1; RingMicromega.SORcleb_morph; RingMicromega.SORcneqb_morph; OrderedRing.SORle_antisymm; OrderedRing.SORle_refl; OrderedRing.SORle_trans; OrderedRing.SORle_wd; OrderedRing.SORlt_le_neq; OrderedRing.SORlt_trichotomy; OrderedRing.SORlt_wd; OrderedRing.SORopp_wd; OrderedRing.SORplus_le_mono_l; OrderedRing.SORplus_wd; RingMicromega.SORpower; RingMicromega.SORrm; OrderedRing.SORrt; OrderedRing.SORsetoid; OrderedRing.SORtimes_pos_pos; OrderedRing.SORtimes_wd; Ring_theory.SRadd_0_l; Ring_theory.SRadd_assoc; Ring_theory.SRadd_comm; Ring_theory.SRadd_ext; Ring_theory.SRdistr_l; Ring_theory.SReqe_Reqe; Ring_theory.SRmul_0_l; Ring_theory.SRmul_1_l; Ring_theory.SRmul_assoc; Ring_theory.SRmul_comm; Ring_theory.SRmul_ext; Ring_theory.SRopp; Ring_theory.SRopp_add; Ring_theory.SRopp_ext; Ring_theory.SRopp_mul_l; Ring_theory.SRsub; Ring_theory.SRsub_def; Ring_theory.SRth_ARth; Setoid.Seq_refl; Setoid.Seq_sym; Setoid.Seq_trans; Setoid.Setoid_Theory; Ring_theory.Smorph0; Ring_theory.Smorph1; Ring_theory.Smorph_add; Ring_theory.Smorph_eq; Ring_theory.Smorph_morph; Ring_theory.Smorph_mul; Ring_theory.Smorph_opp; Ring_theory.Smorph_sub; RelationClasses.StrictOrder_Irreflexive; RelationClasses.StrictOrder_Transitive; CRelationClasses.Symmetric; RelationClasses.Symmetric; Tauto.TFormula; CRelationClasses.Transitive; RelationClasses.Transitive; ConstructiveRcomplete.Un_cauchy_mod; Rseries.Un_cv; ConstructiveLimits.Un_cv_nat_real; Init.Unconvertible; ConstructiveCauchyRealsMult.Weaken_Qle_QpowerAddExp; ConstructiveCauchyRealsMult.Weaken_Qle_QpowerFac; ConstructiveCauchyRealsMult.Weaken_Qle_QpowerRemSubExp; ZMicromega.ZChecker; ZMicromega.ZChecker_sound; ZMicromega.ZNpower; ZMicromega.ZSORaddon; ZMicromega.ZTautoChecker; ZMicromega.ZTautoChecker_sound; ZMicromega.ZWitness; Znat.Z_N_nat; RIneq.Z_R_minus; ZArith_dec.Z_dec'; Zdiv.Z_div_mod; Zdiv.Z_div_mod_eq_full; ConstructiveExtra.Z_inj_nat; ConstructiveExtra.Z_inj_nat_id; ConstructiveExtra.Z_inj_nat_rev; ZArith_dec.Z_le_lt_eq_dec; ZArith_dec.Z_lt_dec; ZArith_dec.Z_lt_ge_dec; ZArith_dec.Z_lt_le_dec; Znumtheory.Z_lt_neq; Zdiv.Z_mod_lt; Zdiv.Z_mod_mult; Field_theory.Z_pos_sub_gt; BinNums.Z_rec; BinNums.Z_rect; Zcompare.Zcompare_mult_compat; ZArith_dec.Zcompare_rec; ZArith_dec.Zcompare_rect; ZMicromega.Zdeduce; ZMicromega.Zdiv_pol; ZMicromega.Zdiv_pol_correct; Znumtheory.Zdivide_Zdiv_eq; ZMicromega.Zdivide_ceiling; Znumtheory.Zdivide_mod; Znumtheory.Zdivide_opp_r; ZMicromega.Zdivide_pol_Zdivide; ZMicromega.Zdivide_pol_ind; ZMicromega.Zdivide_pol_one; ZMicromega.Zdivide_pol_sub; Zbool.Zeq_bool; RIneq.Zeq_bool_IZR; Zbool.Zeq_bool_eq; Zbool.Zeq_bool_neq; Zbool.Zeq_is_eq_bool; ZMicromega.Zeval_bop2; ZMicromega.Zeval_expr; ZMicromega.Zeval_expr_compat; ZMicromega.Zeval_formula; ZMicromega.Zeval_formula'; ZMicromega.Zeval_formula_compat; ZMicromega.Zeval_formula_compat'; ZMicromega.Zeval_nformula_dec; ZMicromega.Zeval_op2; ZMicromega.Zeval_op2_hold; ZMicromega.Zeval_pop2; ZMicromega.ZgcdM; Znumtheory.Zgcd_is_gcd; ZMicromega.Zgcd_minus; ZMicromega.Zgcd_pol; ZMicromega.Zgcd_pol_correct_lt; ZMicromega.Zgcd_pol_div; Zbool.Zgt_cases; Zbool.Zgt_is_gt_bool; Zorder.Zgt_le_succ; Zorder.Zgt_pos_0; Zorder.Zgt_trans; Znumtheory.Zis_gcd_gcd; Znumtheory.Zis_gcd_ind; Znumtheory.Zis_gcd_uniqueness_apart_sign; Zorder.Zle_0_minus_le; Zbool.Zle_bool_imp_le; Zbool.Zle_is_le_bool; Zorder.Zle_lt_succ; Zorder.Zle_minus_le_0; Zorder.Zle_not_lt; Zorder.Zlt_0_minus_lt; Ztac.Zlt_le_add_1; Zorder.Zlt_le_succ; auxiliary.Zlt_left_lt; Zorder.Zlt_not_le; Zorder.Zlt_succ_le; Zmax.Zmax_spec; BinInt.Zminus_eq; Zdiv.Zmod_0_r; Zorder.Zmult_le_compat_r; Zorder.Zmult_lt_compat2; Zorder.Zmult_lt_reg_r; Zorder.Znot_le_gt; Zorder.Zplus_lt_compat_l; BinInt.Zpos_eq; Zpow_def.Zpower_theory; ZArithRing.Zr_ring_lemma1; ZArithRing.Zr_ring_lemma2; ZMicromega.Zsor; InitialRing.Zsth; InitialRing.Zth; Field_theory.ZtoN; InitialRing.Ztriv_div_th; ZMicromega.Zunsat; ZMicromega.Zunsat_sound; BinInt.Z.abs; BinInt.Z.abs_eq; BinInt.Z.abs_eq_cases; BinInt.Z.abs_eq_or_opp; BinInt.Z.abs_mul; BinInt.Z.abs_neq; BinInt.Z.abs_nonneg; BinInt.Z.abs_opp; BinInt.Z.abs_or_opp_abs; BinInt.Z.abs_triangle; BinInt.Z.abs_wd; Field_theory.absurd_PCond; Field_theory.absurd_PCond_bottom; Nat.add; BinNat.N.add; BinPos.Pos.add; BinInt.Z.add; BinNat.N.add_0_l; PeanoNat.Nat.add_0_l; BinInt.Z.add_0_l; BinNat.N.add_0_r; PeanoNat.Nat.add_0_r; BinInt.Z.Private_BootStrap.add_0_r; BinInt.Z.add_0_r; BinPos.Pos.add_1_l; BinInt.Z.add_1_l; BinPos.Pos.add_1_r; BinInt.Z.add_1_r; BinNat.N.add_assoc; PeanoNat.Nat.add_assoc; BinPos.Pos.add_assoc; BinInt.Z.Private_BootStrap.add_assoc; BinInt.Z.add_assoc; BinInt.Z.Private_BootStrap.add_assoc_pos; BinNat.N.add_cancel_l; BinPos.Pos.add_cancel_l; BinInt.Z.add_cancel_l; BinNat.N.add_cancel_r; BinInt.Z.add_cancel_r; BinPos.Pos.add_carry; BinPos.Pos.add_carry_add; BinPos.Pos.add_carry_spec; BinNat.N.add_comm; PeanoNat.Nat.add_comm; BinPos.Pos.add_comm; BinInt.Z.Private_BootStrap.add_comm; BinInt.Z.add_comm; BinPos.Pos.add_compare_mono_l; BinPos.Pos.add_compare_mono_r; BinPos.Pos.add_diag; Ztac.add_le; BinInt.Z.add_le_lt_mono; PeanoNat.Nat.add_le_mono; BinInt.Z.add_le_mono; PeanoNat.Nat.add_le_mono_l; BinPos.Pos.add_le_mono_l; BinInt.Z.add_le_mono_l; PeanoNat.Nat.add_le_mono_r; BinPos.Pos.add_le_mono_r; BinInt.Z.add_le_mono_r; BinPos.Pos.add_lt_mono; BinInt.Z.add_lt_mono; BinPos.Pos.add_lt_mono_l; BinInt.Z.add_lt_mono_l; BinPos.Pos.add_lt_mono_r; BinInt.Z.add_lt_mono_r; BinPos.Pos.add_max_distr_l; BinPos.Pos.add_max_distr_r; BinInt.Z.add_move_0_l; BinInt.Z.add_move_0_r; BinInt.Z.add_move_l; BinInt.Z.add_move_r; Ring_polynom.add_mult_dev; Ring_polynom.add_mult_dev_ok; BinInt.Z.add_neg_neg; BinPos.Pos.add_no_neutral; BinInt.Z.add_nonneg_nonneg; BinInt.Z.add_nonpos_nonpos; BinInt.Z.add_opp_diag_l; BinInt.Z.Private_BootStrap.add_opp_diag_r; BinInt.Z.add_opp_diag_r; BinInt.Z.add_opp_l; BinInt.Z.add_opp_r; BinInt.Pos2Z.add_pos_neg; Ring_polynom.add_pow_list; Ring_polynom.add_pow_list_ok; BinNat.N.add_pred_l; BinInt.Z.add_pred_l; BinNat.N.add_pred_r; BinInt.Z.add_pred_r; BinPos.Pos.add_reg_l; BinPos.Pos.add_reg_r; BinInt.Z.add_simpl_r; BinNat.N.add_sub; BinPos.Pos.add_sub; BinNat.N.add_sub_assoc; BinPos.Pos.add_sub_assoc; BinInt.Z.add_sub_assoc; BinNat.N.add_succ_l; PeanoNat.Nat.add_succ_l; BinPos.Pos.add_succ_l; BinInt.Z.add_succ_l; BinNat.N.add_succ_r; PeanoNat.Nat.add_succ_r; BinPos.Pos.add_succ_r; BinInt.Z.add_succ_r; Tauto.add_term; Tauto.add_term_correct; BinNat.N.add_wd; PeanoNat.Nat.add_wd; BinInt.Z.add_wd; PeanoNat.Nat.add_wd_obligation_1; BinPos.Pos.add_xI_pred_double; BinPos.Pos.add_xO; Rlimit.adhDa; Rtopology.adherence; Rtopology.adherence_P1; Rtopology.adherence_P2; Rtopology.adherence_P3; ZMicromega.agree_env; ZMicromega.agree_env_eval_nformula; ZMicromega.agree_env_eval_nformulae; ZMicromega.agree_env_jump; ZMicromega.agree_env_subset; ZMicromega.agree_env_tail; all; Morphisms_Prop.all_iff_morphism; Morphisms_Prop.all_iff_morphism_obligation_1; and_assoc; Tauto.and_cnf; Tauto.and_cnf_opt; Tauto.and_cnf_opt_cnf_ff_r; Tauto.and_cnf_opt_cnf_tt; and_comm; and_iff_compat_l; Morphisms_Prop.and_iff_morphism; Morphisms_Prop.and_iff_morphism_obligation_1; and_ind; ZifyClasses.and_morph; and_rec; and_rect; andb; Bool.andb_false_iff; andb_prop; Bool.andb_true_iff; app; CRelationClasses.arrow; CRelationClasses.arrow_Transitive; CRelationClasses.arrow_Transitive_obligation_1; ZMicromega.bdepth; BinNat.N.bi_induction; PeanoNat.Nat.bi_induction; BinInt.Z.bi_induction; ConstructiveCauchyReals.bound; Raxioms.bound; ZMicromega.bound_var; Rtopology.bounded; BinNat.N.case_analysis; PeanoNat.Nat.case_analysis; ConstructiveCauchyReals.cauchy; ZMicromega.ceiling; BinNat.N.central_induction; PeanoNat.Nat.central_induction; BinInt.Z.central_induction; EnvRing.ceqb_spec; Field_theory.ceqb_spec; Ring_polynom.ceqb_spec; Field_theory.ceqb_spec'; RingMicromega.check_inconsistent; RingMicromega.check_inconsistent_sound; RingMicromega.check_normalised_formulas; RingMicromega.checker_nf_sound; Classical_Prop.classic; Tauto.clause; RingMicromega.cleb_sound; Rtopology.closed_set; Rtopology.closed_set_P1; RingMicromega.cltb; RingMicromega.cltb_sound; RingMicromega.cneqb; RingMicromega.cneqb_sound; Tauto.cnf; Tauto.cnf_checker; Tauto.cnf_checker_sound; Tauto.cnf_ff; RingMicromega.cnf_negate; RingMicromega.cnf_negate_correct; RingMicromega.cnf_normalise; RingMicromega.cnf_normalise_correct; RingMicromega.cnf_of_list; ZMicromega.cnf_of_list; RingMicromega.cnf_of_list_correct; ZMicromega.cnf_of_list_correct; Tauto.cnf_tt; Rtopology.compact; Rtopology.compact_EMP; Rtopology.compact_P1; Rtopology.compact_P2; Rtopology.compact_P3; Rtopology.compact_eqDom; PeanoNat.Nat.compare; BinNat.N.compare; BinPos.Pos.compare; BinInt.Z.compare; BinNat.N.compare_antisym; PeanoNat.Nat.compare_antisym; BinPos.Pos.compare_antisym; BinInt.Z.compare_antisym; BinPos.Pos.compare_cont; BinPos.Pos.compare_cont_antisym; BinPos.Pos.compare_cont_spec; BinNat.N.compare_eq_iff; PeanoNat.Nat.compare_eq_iff; BinPos.Pos.compare_eq_iff; BinInt.Z.compare_eq_iff; PeanoNat.Nat.compare_ge_iff; PeanoNat.Nat.compare_gt_iff; BinInt.Z.compare_gt_iff; BinNat.N.compare_le_iff; PeanoNat.Nat.compare_le_iff; BinPos.Pos.compare_le_iff; BinInt.Z.compare_le_iff; BinNat.N.compare_lt_iff; PeanoNat.Nat.compare_lt_iff; BinPos.Pos.compare_lt_iff; BinInt.Z.compare_lt_iff; BinNat.N.compare_nge_iff; BinInt.Z.compare_nge_iff; BinInt.Z.compare_ngt_iff; BinNat.N.compare_nle_iff; BinInt.Z.compare_nle_iff; BinNat.N.compare_refl; PeanoNat.Nat.compare_refl; BinPos.Pos.compare_refl; BinInt.Z.compare_refl; BinNat.N.compare_spec; PeanoNat.Nat.compare_spec; BinPos.Pos.compare_spec; Qminmax.Q.OT.compare_spec; BinInt.Z.compare_spec; BinInt.Z.compare_sub; BinPos.Pos.compare_sub_mask; PeanoNat.Nat.compare_succ; BinPos.Pos.compare_succ_l; BinPos.Pos.compare_succ_r; BinPos.Pos.compare_succ_succ; BinPos.Pos.compare_xI_xI; BinPos.Pos.compare_xI_xO; BinPos.Pos.compare_xO_xI; BinPos.Pos.compare_xO_xO; RelationClasses.complement; Rtopology.complementary; Raxioms.completeness; Rtopology.cond_fam; RIneq.cond_neg; RIneq.cond_pos; Field_theory.condition; ConstructiveEpsilon.constructive_indefinite_ground_description; ConstructiveExtra.constructive_indefinite_ground_description_Z; ConstructiveEpsilon.constructive_indefinite_ground_description_nat; Rderiv.cont_deriv; Rderiv.continue_in; Ranalysis1.continuity; Rtopology.continuity_P1; Rtopology.continuity_P2; Rtopology.continuity_ab_maj; Rtopology.continuity_ab_min; Rtopology.continuity_compact; Ranalysis1.continuity_pt; Ranalysis1.continuity_pt_minus; Ranalysis1.continuity_pt_mult; Ranalysis1.continuity_pt_opp; Rtopology.covering; Rtopology.covering_finite; Rtopology.covering_open_set; CRelationClasses.crelation; Field_theory.cross_product_eq; ZMicromega.cutting_plane_sound; Decidable.decidable; Field_theory.default_isIn; Field_theory.default_isIn_ok; SetoidTactics.default_relation; Field_theory.denum; Ranalysis1.deriv_constant2; Ranalysis1.deriv_maximum; Ranalysis1.deriv_minimum; Ranalysis1.derivable; Ranalysis1.derivable_const; Ranalysis1.derivable_continuous; Ranalysis1.derivable_continuous_pt; Ranalysis1.derivable_derive; Ranalysis1.derivable_id; Ranalysis1.derivable_pt; Ranalysis1.derivable_pt_abs; Ranalysis1.derivable_pt_const; Ranalysis1.derivable_pt_id; Ranalysis1.derivable_pt_lim; Ranalysis1.derivable_pt_lim_D_in; Ranalysis1.derivable_pt_lim_const; Ranalysis1.derivable_pt_lim_id; Ranalysis1.derivable_pt_lim_minus; Ranalysis1.derivable_pt_lim_mult; Ranalysis1.derivable_pt_lim_opp; Ranalysis1.derivable_pt_lim_opp_fwd; Ranalysis1.derivable_pt_minus; Ranalysis1.derivable_pt_mult; Ranalysis1.derivable_pt_opp; Ranalysis1.derive_pt; Ranalysis1.derive_pt_D_in; Ranalysis1.derive_pt_const; Ranalysis1.derive_pt_eq; Ranalysis1.derive_pt_eq_0; Ranalysis1.derive_pt_eq_1; Ranalysis1.derive_pt_id; Ranalysis1.derive_pt_minus; Ranalysis1.derive_pt_mult; Ranalysis1.derive_pt_opp; Bool.diff_false_true; Rtopology.disc; Rtopology.disc_P1; Field_theory.display_pow_linear; Rlimit.dist; BinInt.Z.div; BinNat.N.div_eucl; BinInt.Z.div_eucl; BinInt.Z.div_eucl_eq; BinNat.N.div_eucl_spec; Ring_theory.div_eucl_th; BinInt.Z.div_mod; BinInt.Z.Private_NZDiv.div_mod_unique; BinInt.Z.div_mod_unique; BinInt.Z.div_mul; BinInt.Z.div_unique; BinInt.Z.div_unique_exact; BinInt.Z.div_wd; BinPos.Pos.divide; BinInt.Z.divide; BinInt.Z.divide_Zpos; BinInt.Z.divide_Zpos_Zneg_l; BinInt.Z.divide_Zpos_Zneg_r; BinInt.Z.divide_abs_l; BinInt.Z.divide_abs_r; BinPos.Pos.divide_add_cancel_l; BinInt.Z.divide_antisym; BinInt.Z.divide_antisym_abs; BinInt.Z.divide_antisym_nonneg; BinPos.Pos.divide_mul_l; BinPos.Pos.divide_mul_r; BinInt.Z.divide_opp_l; BinInt.Z.divide_opp_r; BinInt.Z.divide_refl; BinInt.Z.divide_trans; BinInt.Z.divide_wd; BinPos.Pos.divide_xO_xI; BinPos.Pos.divide_xO_xO; Rtopology.domain_finite; BinNat.N.double; BinInt.Z.double; BinNat.N.double_add; BinPos.Pos.double_mask; BinNat.N.double_mul; BinPos.Pos.double_pred_mask; Tauto.eAND; Tauto.eAnd_morph_Proper; Tauto.eFF; Tauto.eIFF; Tauto.eIFF_morph_Proper; Tauto.eIMPL; Tauto.eIMPL_morph_Proper; Tauto.eKind; Tauto.eNOT; Tauto.eNOT_morph_Proper; Tauto.eOR; Tauto.eOR_morph_Proper; Tauto.eTT; Tauto.e_rtyp; Tauto.eiff; Tauto.eiff_eq; Tauto.eiff_refl; Tauto.eiff_sym; Tauto.eiff_trans; Ztac.elim_concl_le; EnvRing.env_morph; Rlimit.eps2; Rlimit.eps2_Rgt_R0; BinNat.N.eq; BinInt.Z.eq; RingMicromega.eq0_cnf; Qreals.eqR_Qeq; Rtopology.eq_Dom; RIneq.eq_IZR; RIneq.eq_IZR_R0; RIneq.eq_IZR_contrapositive; RelationClasses.eq_Reflexive; RelationClasses.eq_Symmetric; RelationClasses.eq_Transitive; eq_add_S; ZMicromega.eq_cnf; BinPos.Pos.eq_dec; BinInt.Z.eq_dec; BinInt.Z.eq_decidable; BinNat.N.Private_OrderTac.IsTotal.eq_equiv; PeanoNat.Nat.Private_OrderTac.IsTotal.eq_equiv; BinInt.Z.Private_OrderTac.IsTotal.eq_equiv; BinNat.N.eq_equiv; PeanoNat.Nat.eq_equiv; BinPos.Pos.eq_equiv; Qminmax.Q.OT.eq_equiv; BinInt.Z.eq_equiv; RelationClasses.eq_equivalence; Ztac.eq_incl; eq_ind; eq_ind_r; BinPos.Pos.Private_Tac.eq_le; Qminmax.Q.Private_Tac.eq_le; BinInt.Z.Private_Tac.eq_le; BinInt.Z.Private_OrderTac.Tac.eq_le; ZMicromega.eq_le_iff; BinNat.N.eq_le_incl; PeanoNat.Nat.eq_le_incl; BinInt.Z.eq_le_incl; PeanoNat.Nat.Private_Tac.eq_lt; BinPos.Pos.Private_Tac.eq_lt; Qminmax.Q.Private_Tac.eq_lt; BinInt.Z.Private_Tac.eq_lt; BinInt.Z.Private_OrderTac.Tac.eq_lt; BinInt.Z.eq_mul_0; BinInt.Z.eq_mul_1_nonneg; BinInt.Z.eq_mul_1_nonneg'; BinPos.Pos.Private_Tac.eq_neq; BinInt.Z.Private_OrderTac.Tac.eq_neq; BinInt.Z.eq_opp_l; ZifyInst.eq_pos_inj; Morphisms.eq_proper_proxy; eq_rec; eq_rec_r; eq_rect; BinPos.Pos.Private_Tac.eq_refl; BinInt.Z.Private_OrderTac.Tac.eq_refl; BinInt.Z.eq_refl; eq_sym; PeanoNat.Nat.Private_Tac.eq_sym; BinPos.Pos.Private_Tac.eq_sym; Qminmax.Q.Private_Tac.eq_sym; BinInt.Z.Private_Tac.eq_sym; BinInt.Z.Private_OrderTac.Tac.eq_sym; BinInt.Z.eq_sym_iff; eq_trans; BinPos.Pos.Private_Tac.eq_trans; BinInt.Z.Private_OrderTac.Tac.eq_trans; Bool.eqb; BinNat.N.eqb; BinPos.Pos.eqb; BinInt.Z.eqb; BinNat.N.eqb_eq; BinPos.Pos.eqb_eq; BinInt.Z.eqb_eq; BinPos.Pos.eqb_neq; BinPos.Pos.eqb_refl; BinNat.N.eqb_spec; BinPos.Pos.eqb_spec; Bool.eqb_true_iff; SetoidTactics.equivalence_default; RelationClasses.equivalence_rewrite_relation; RingMicromega.eval_Psatz; ZMicromega.eval_Psatz; RingMicromega.eval_Psatz_Sound; ZMicromega.eval_Psatz_sound; Tauto.eval_bf; Tauto.eval_bf_map; Tauto.eval_clause; Tauto.eval_cnf; Tauto.eval_cnf_and_opt; Tauto.eval_cnf_app; Tauto.eval_cnf_cons_iff; Tauto.eval_cnf_ff; Tauto.eval_cnf_tt; ZMicromega.eval_expr; Tauto.eval_f; Tauto.eval_f_morph; RingMicromega.eval_formula; RingMicromega.eval_formulaSC; RingMicromega.eval_nformula; ZMicromega.eval_nformula; ZMicromega.eval_nformula_bound_var; RingMicromega.eval_nformula_dec; ZMicromega.eval_nformula_mk_eq_pos; ZMicromega.eval_nformula_split; RingMicromega.eval_op1; RingMicromega.eval_op2; Tauto.eval_opt_clause; RingMicromega.eval_pexpr; RingMicromega.eval_pexprSC; RingMicromega.eval_pol; ZMicromega.eval_pol; ZMicromega.eval_pol_Pc; RingMicromega.eval_pol_add; ZMicromega.eval_pol_add; RingMicromega.eval_pol_norm; ZMicromega.eval_pol_norm; RingMicromega.eval_pol_opp; RingMicromega.eval_pol_sub; ZMicromega.eval_pol_sub; RingMicromega.eval_sexpr; RingMicromega.eval_sformula; Tauto.eval_tt; Morphisms_Prop.ex_iff_morphism; Morphisms_Prop.ex_iff_morphism_obligation_1; ex_ind; Rtopology.f; f_equal; f_equal_nat; Rtopology.family_finite; Rtopology.family_open_set; Field_theory.fcons_ok; Ranalysis1.fct_cte; Field_theory.field_is_integral_domain; VarMap.find; Basics.flip; CRelationClasses.flip; CMorphisms.flip1; CMorphisms.flip2; RelationClasses.flip_Reflexive; List.fold_left; List.fold_right; fst; BinPos.Pos.gcd; BinInt.Z.gcd; BinInt.Z.gcd_divide_l; BinInt.Z.gcd_divide_r; BinPos.Pos.gcd_greatest; BinInt.Z.gcd_greatest; BinInt.Z.gcd_nonneg; BinPos.Pos.gcdn; BinPos.Pos.gcdn_greatest; ge; BinPos.Pos.ge; BinInt.Z.ge; BinInt.Z.ge_le; BinPos.Pos.ge_le_iff; BinInt.Z.ge_le_iff; BinInt.Z.geb; BinInt.Z.geb_le; BinInt.Z.geb_leb; ZMicromega.genCuttingPlane; ZMicromega.genCuttingPlaneNone; InitialRing.gen_Zeqb_ok; InitialRing.gen_phiN; InitialRing.gen_phiN1; InitialRing.gen_phiN_add; InitialRing.gen_phiN_morph; InitialRing.gen_phiN_mult; InitialRing.gen_phiN_sub; InitialRing.gen_phiPOS; InitialRing.gen_phiPOS1; InitialRing.gen_phiZ; InitialRing.gen_phiZ1; InitialRing.gen_phiZ1_pos_sub; InitialRing.gen_phiZ_add; InitialRing.gen_phiZ_ext; InitialRing.gen_phiZ_morph; InitialRing.gen_phiZ_mul; EnvRing.get_PEopp; Ring_polynom.get_PEopp; InitialRing.get_signZ; InitialRing.get_signZ_th; Ring_theory.get_sign_None; Ring_theory.get_sign_None_th; BinPos.Pos.ggcd; BinInt.Z.ggcd; BinPos.Pos.ggcd_correct_divisors; BinInt.Z.ggcd_correct_divisors; BinPos.Pos.ggcd_gcd; BinInt.Z.ggcd_gcd; BinPos.Pos.ggcdn; BinPos.Pos.ggcdn_correct_divisors; BinPos.Pos.ggcdn_gcdn; ConstructiveLUB.glb_dec_Q; BinPos.Pos.gt; BinInt.Z.gt; BinPos.Pos.gt_lt; BinInt.Z.gt_lt; BinPos.Pos.gt_lt_iff; BinInt.Z.gt_lt_iff; BinInt.Z.gt_wf; BinInt.Z.gtb; BinInt.Z.gtb_ltb; BinInt.Z.gtb_spec; Env.hd; List.hd; Tauto.hold; Tauto.hold_eAND; Tauto.hold_eEQ; Tauto.hold_eFF; Tauto.hold_eIFF; Tauto.hold_eIFF_IMPL; Tauto.hold_eIMPL; Tauto.hold_eNOT; Tauto.hold_eOR; Tauto.hold_eTT; Tauto.hold_eiff; id; Ranalysis1.id; Nnat.N2Nat.id; Znat.N2Z.id; Nnat.Nat2N.id; Pnat.Nat2Pos.id; Znat.Nat2Z.id; Pnat.Pos2Nat.id; Znat.Z2N.id; Znat.Z2Nat.id; BinInt.Z2Pos.id; Ring_theory.id_phi_N; Pnat.SuccNat2Pos.id_succ; Tauto.if_cnf_tt; Field_theory.if_true; iff; CRelationClasses.iffT; CMorphisms.iffT_arrow_subrelation; CMorphisms.iffT_flip_arrow_subrelation; RelationClasses.iff_Reflexive; RelationClasses.iff_Symmetric; RelationClasses.iff_Transitive; RelationClasses.iff_equivalence; Morphisms.iff_flip_impl_subrelation; Morphisms_Prop.iff_iff_iff_impl_morphism; Morphisms_Prop.iff_iff_iff_impl_morphism_obligation_1; Morphisms.iff_impl_subrelation; iff_refl; Bool.iff_reflect; iff_stepl; iff_sym; iff_trans; Rtopology.image_dir; Rtopology.image_rec; Basics.impl; RelationClasses.impl_Reflexive; RelationClasses.impl_Reflexive_obligation_1; implb; Classical_Prop.imply_to_and; ZMicromega.in_bdepth; Rtopology.included; Rtopology.included_trans; Rtopology.ind; BinNat.N.induction; PeanoNat.Nat.induction; ZifyClasses.inj; Nnat.N2Nat.inj; Znat.Nat2Z.inj; Pnat.Pos2Nat.inj; BinInt.Pos2Z.inj; Pnat.Pos2Nat.inj_1; Nnat.N2Nat.inj_add; Znat.N2Z.inj_add; Nnat.Nat2N.inj_add; Znat.Nat2Z.inj_add; Pnat.Pos2Nat.inj_add; BinInt.Pos2Z.inj_add; Nnat.N2Nat.inj_compare; Znat.N2Z.inj_compare; Nnat.Nat2N.inj_compare; Znat.Nat2Z.inj_compare; Pnat.Pos2Nat.inj_compare; Znat.Z2Nat.inj_compare; Znat.Nat2Z.inj_ge; Znat.Nat2Z.inj_iff; BinInt.Pos2Z.inj_iff; Znat.Nat2Z.inj_le; Pnat.Pos2Nat.inj_le; Znat.Z2Nat.inj_le; Znat.Nat2Z.inj_lt; Nnat.N2Nat.inj_max; Znat.N2Z.inj_max; Nnat.Nat2N.inj_max; Znat.Nat2Z.inj_max; Pnat.Pos2Nat.inj_mul; BinInt.Pos2Z.inj_mul; Znat.N2Z.inj_pos; BinInt.Pos2Z.inj_pow; BinInt.Pos2Z.inj_pow_pos; Znat.Nat2Z.inj_succ; Pnat.Pos2Nat.inj_succ; BinInt.Pos2Z.inj_succ; Pnat.Pos2Nat.inj_xI; Pnat.Pos2Nat.inj_xO; ConstructiveCauchyReals.inject_Q; ConstructiveCauchyReals.inject_Q_cauchy; ConstructiveCauchyReals.inject_Q_compare; ConstructiveCauchyReals.inject_Q_le; ConstructiveCauchyReals.inject_Q_lt; ConstructiveCauchyReals.inject_Q_morph; ConstructiveCauchyReals.inject_Q_morph_Proper; ConstructiveCauchyRealsMult.inject_Q_mult; ConstructiveCauchyReals.inject_Q_plus; ConstructiveCauchyReals.inject_Z; QArith_base.inject_Z; Rtopology.interior; Rtopology.interior_P1; Rtopology.interior_P2; Ring_polynom.interp_PElist; Ring_polynom.interp_PElist_ok; PeanoNat.Nat.Private_Tac.interp_ord; BinPos.Pos.Private_Tac.interp_ord; Qminmax.Q.Private_Tac.interp_ord; BinInt.Z.Private_Tac.interp_ord; BinNat.N.Private_OrderTac.Tac.interp_ord; PeanoNat.Nat.Private_OrderTac.Tac.interp_ord; BinInt.Z.Private_OrderTac.Tac.interp_ord; Rtopology.intersection_domain; Pnat.SuccNat2Pos.inv; ConstructiveEpsilon.inv_before_witness; Field_theory.isIn; Field_theory.isIn_ok; ConstructiveReals.isLinearOrder; Tauto.is_bool; Tauto.is_bool_inv; Tauto.is_cnf_ff; Tauto.is_cnf_ff_cnf_ff; Tauto.is_cnf_ff_inv; Tauto.is_cnf_tt; Tauto.is_cnf_tt_cnf_ff; Tauto.is_cnf_tt_inv; ConstructiveLUB.is_lub; Raxioms.is_lub; Znat.Nat2Z.is_nonneg; BinInt.Pos2Z.is_nonneg; ZMicromega.is_pol_Z0; ZMicromega.is_pol_Z0_eval_pol; Pnat.Pos2Nat.is_pos; BinInt.Pos2Z.is_pos; Pnat.Pos2Nat.is_succ; is_true; ConstructiveLUB.is_upper_bound; Raxioms.is_upper_bound; ConstructiveLUB.is_upper_bound_closed; ConstructiveLUB.is_upper_bound_dec; ConstructiveLUB.is_upper_bound_epsilon; ConstructiveLUB.is_upper_bound_glb; ConstructiveLUB.is_upper_bound_not_epsilon; BinPos.Pos.iter; BinPos.Pos.iter_add; BinPos.Pos.iter_ind; BinPos.Pos.iter_invariant; BinPos.Pos.iter_op; BinPos.Pos.iter_op_succ; BinPos.Pos.iter_succ; BinPos.Pos.iter_swap; BinPos.Pos.iter_swap_gen; BinList.jump; Env.jump; BinList.jump_add; Env.jump_add; Ring_polynom.jump_add'; BinList.jump_pred_double; Env.jump_pred_double; Env.jump_simpl; BinList.jump_succ; BinList.jump_tl; BinNat.N.le; BinPos.Pos.le; BinInt.Z.le; ZMicromega.le_0_iff; BinNat.N.le_0_l; PeanoNat.Nat.le_0_l; le_0_n; BinInt.Z.le_0_sub; BinPos.Pos.le_1_l; le_S_n; BinInt.Z.le_add_le_sub_l; BinInt.Z.le_add_le_sub_r; BinPos.Pos.le_antisym; BinPos.Pos.Private_Tac.le_antisym; BinInt.Z.Private_OrderTac.Tac.le_antisym; BinInt.Z.le_antisymm; Qminmax.Q.Private_Tac.le_eq; BinInt.Z.Private_Tac.le_eq; BinInt.Z.Private_OrderTac.Tac.le_eq; BinInt.Z.le_exists_sub; BinInt.Z.le_ge; BinInt.Z.le_ge_cases; BinNat.N.le_gt_cases; PeanoNat.Nat.le_gt_cases; BinInt.Z.le_gt_cases; le_ind; BinInt.Z.le_ind; BinNat.N.le_le_succ_r; PeanoNat.Nat.le_le_succ_r; BinInt.Z.le_le_succ_r; BinInt.Z.le_lt_add_lt; Compare_dec.le_lt_dec; PeanoNat.Nat.Private_Tac.le_lt_trans; BinPos.Pos.Private_Tac.le_lt_trans; Qminmax.Q.Private_Tac.le_lt_trans; BinInt.Z.Private_Tac.le_lt_trans; BinNat.N.Private_OrderTac.Tac.le_lt_trans; PeanoNat.Nat.Private_OrderTac.Tac.le_lt_trans; BinInt.Z.Private_OrderTac.Tac.le_lt_trans; BinInt.Z.le_lt_trans; BinNat.N.Private_OrderTac.IsTotal.le_lteq; PeanoNat.Nat.Private_OrderTac.IsTotal.le_lteq; BinInt.Z.Private_OrderTac.IsTotal.le_lteq; BinNat.N.le_lteq; PeanoNat.Nat.le_lteq; BinPos.Pos.le_lteq; Qminmax.Q.OT.le_lteq; BinInt.Z.le_lteq; PeanoNat.Nat.le_max_l; BinPos.Pos.le_max_l; PeanoNat.Nat.le_max_r; BinPos.Pos.le_max_r; BinInt.Z.le_min_l; le_n_S; ZMicromega.le_neg; BinInt.Z.le_neq; BinPos.Pos.Private_Tac.le_neq_lt; BinInt.Z.Private_OrderTac.Tac.le_neq_lt; PeanoNat.Nat.le_ngt; BinInt.Z.le_ngt; BinPos.Pos.le_nlt; le_pred; BinNat.N.le_preorder; PeanoNat.Nat.le_preorder; BinInt.Z.le_preorder; BinNat.N.le_refl; PeanoNat.Nat.le_refl; BinPos.Pos.le_refl; BinInt.Z.Private_OrderTac.Tac.le_refl; BinInt.Z.le_refl; BinInt.Z.le_sub_le_add_l; BinInt.Z.le_sub_le_add_r; BinNat.N.le_succ_l; PeanoNat.Nat.le_succ_l; BinPos.Pos.le_succ_l; BinInt.Z.le_succ_l; BinNat.N.le_succ_r; PeanoNat.Nat.le_succ_r; BinInt.Z.le_succ_r; BinNat.N.le_trans; PeanoNat.Nat.le_trans; BinPos.Pos.le_trans; BinInt.Z.le_trans; BinNat.N.le_wd; PeanoNat.Nat.le_wd; BinInt.Z.le_wd; BinNat.N.leb; BinPos.Pos.leb; BinInt.Z.leb; BinInt.Z.leb_gt; BinNat.N.leb_le; BinPos.Pos.leb_le; BinInt.Z.leb_le; BinInt.Z.leb_nle; BinNat.N.leb_spec; BinInt.Z.leb_spec; BinNat.N.leb_spec0; BinInt.Z.leb_spec0; BinInt.Z.left_induction; Rlimit.limit1_in; Rlimit.limit_Ropp; Rlimit.limit_in; Rlimit.limit_minus; Rlimit.limit_mul; Rlimit.limit_plus; ConstructiveCauchyReals.linear_order_T; ConstructiveEpsilon.linear_search_conform; ConstructiveEpsilon.linear_search_from_0_conform; list_ind; list_rec; list_rect; Ring_polynom.local_mkpow_ok; lt; BinNat.N.lt; BinPos.Pos.lt; BinInt.Z.lt; BinInt.Z.lt_0_1; RIneq.lt_0_IZR; BinInt.Z.lt_0_sub; PeanoNat.Nat.lt_0_succ; BinInt.Z.lt_1_2; BinInt.Z.lt_1_l; BinInt.Z.lt_1_mul_pos; BinPos.Pos.lt_1_succ; ConstructiveReals.lt_CR_of_Q; RIneq.lt_IZR; BinInt.Z.lt_add_lt_sub_r; BinInt.Z.lt_add_pos_l; BinInt.Z.lt_add_pos_r; BinPos.Pos.lt_add_r; BinNat.N.lt_asymm; PeanoNat.Nat.lt_asymm; BinInt.Z.lt_asymm; BinNat.N.Private_OrderTac.IsTotal.lt_compat; PeanoNat.Nat.Private_OrderTac.IsTotal.lt_compat; BinInt.Z.Private_OrderTac.IsTotal.lt_compat; BinNat.N.lt_compat; PeanoNat.Nat.lt_compat; BinPos.Pos.lt_compat; Qminmax.Q.OT.lt_compat; BinInt.Z.lt_compat; BinPos.Pos.Private_Tac.lt_eq; Qminmax.Q.Private_Tac.lt_eq; BinInt.Z.Private_Tac.lt_eq; BinNat.N.Private_OrderTac.Tac.lt_eq; PeanoNat.Nat.Private_OrderTac.Tac.lt_eq; BinInt.Z.Private_OrderTac.Tac.lt_eq; BinNat.N.lt_eq_cases; PeanoNat.Nat.lt_eq_cases; BinPos.Pos.lt_eq_cases; BinInt.Z.lt_eq_cases; BinNat.N.lt_exists_pred; PeanoNat.Nat.lt_exists_pred; BinInt.Z.lt_exists_pred; BinInt.Z.lt_ge_cases; BinPos.Pos.lt_gt; BinInt.Z.lt_gt; BinInt.Z.lt_gt_cases; BinPos.Pos.lt_iff_add; BinNat.N.lt_ind; BinInt.Z.lt_ind; BinNat.N.lt_ind_rel; ConstructiveCauchyReals.lt_inject_Q; BinNat.N.lt_irrefl; PeanoNat.Nat.lt_irrefl; BinPos.Pos.lt_irrefl; PeanoNat.Nat.Private_Tac.lt_irrefl; BinPos.Pos.Private_Tac.lt_irrefl; Qminmax.Q.Private_Tac.lt_irrefl; BinInt.Z.Private_Tac.lt_irrefl; BinNat.N.Private_OrderTac.Tac.lt_irrefl; PeanoNat.Nat.Private_OrderTac.Tac.lt_irrefl; BinInt.Z.Private_OrderTac.Tac.lt_irrefl; BinInt.Z.lt_irrefl; ZMicromega.lt_le_iff; BinNat.N.lt_le_incl; PeanoNat.Nat.lt_le_incl; BinInt.Z.lt_le_incl; BinInt.Z.lt_le_pred; PeanoNat.Nat.lt_le_trans; BinPos.Pos.lt_le_trans; BinInt.Z.lt_le_trans; BinNat.N.lt_lt_succ_r; PeanoNat.Nat.lt_lt_succ_r; BinInt.Z.lt_lt_succ_r; BinInt.Z.lt_neq; BinInt.Z.lt_nge; BinPos.Pos.lt_nle; BinNat.N.Private_OrderTac.IsTotal.lt_strorder; PeanoNat.Nat.Private_OrderTac.IsTotal.lt_strorder; BinInt.Z.Private_OrderTac.IsTotal.lt_strorder; BinNat.N.lt_strorder; PeanoNat.Nat.lt_strorder; BinPos.Pos.lt_strorder; Qminmax.Q.OT.lt_strorder; BinInt.Z.lt_strorder; BinInt.Z.lt_sub_lt_add_r; BinNat.N.lt_succ_diag_r; PeanoNat.Nat.lt_succ_diag_r; BinPos.Pos.lt_succ_diag_r; BinInt.Z.lt_succ_diag_r; BinNat.N.lt_succ_l; BinInt.Z.lt_succ_l; BinNat.N.lt_succ_r; PeanoNat.Nat.lt_succ_r; BinPos.Pos.lt_succ_r; BinInt.Z.lt_succ_r; BinNat.N.Private_OrderTac.IsTotal.lt_total; PeanoNat.Nat.Private_OrderTac.IsTotal.lt_total; BinInt.Z.Private_OrderTac.IsTotal.lt_total; BinNat.N.lt_total; PeanoNat.Nat.lt_total; Qminmax.Q.OT.lt_total; BinPos.Pos.lt_total; BinInt.Z.lt_total; BinNat.N.lt_trans; PeanoNat.Nat.lt_trans; BinPos.Pos.lt_trans; PeanoNat.Nat.Private_Tac.lt_trans; BinPos.Pos.Private_Tac.lt_trans; BinInt.Z.Private_Tac.lt_trans; BinNat.N.Private_OrderTac.Tac.lt_trans; PeanoNat.Nat.Private_OrderTac.Tac.lt_trans; BinInt.Z.Private_OrderTac.Tac.lt_trans; BinInt.Z.lt_trans; BinNat.N.lt_trichotomy; PeanoNat.Nat.lt_trichotomy; BinInt.Z.lt_trichotomy; BinNat.N.lt_wd; PeanoNat.Nat.lt_wd; BinInt.Z.lt_wd; PeanoNat.Nat.lt_wd_obligation_1; BinNat.N.lt_wf; PeanoNat.Nat.lt_wf; BinInt.Z.lt_wf; BinInt.Z.ltb; BinInt.Z.ltb_ge; BinInt.Z.ltb_lt; BinInt.Z.ltb_nlt; BinInt.Z.ltb_spec; BinInt.Z.ltb_spec0; Wf_nat.ltof; ZMicromega.ltof_bdepth_split_l; ZMicromega.ltof_bdepth_split_r; ZMicromega.makeCuttingPlane; ZMicromega.makeCuttingPlane_ns_sound; Refl.make_conj; Refl.make_conj_app; Refl.make_conj_cons; Refl.make_conj_impl; Refl.make_conj_in; Refl.make_conj_rapp; Refl.make_impl; Refl.make_impl_map; List.map; RingMicromega.map_Formula; RingMicromega.map_PExpr; Tauto.map_bformula; RingMicromega.map_option; RingMicromega.map_option2; BinPos.Pos.mask2cmp; PeanoNat.Nat.max; BinNat.N.max; BinPos.Pos.max; BinInt.Z.max; BinPos.Pos.max_1_l; BinInt.Z.max_case; BinPos.Pos.max_case_strong; BinPos.Pos.Private_Dec.max_case_strong; BinInt.Z.Private_Dec.max_case_strong; BinInt.Z.max_case_strong; BinInt.Z.max_comm; max_l; PeanoNat.Nat.max_l; BinPos.Pos.max_l; BinInt.Z.max_l; BinPos.Pos.max_le_compat_r; BinPos.Pos.max_lub_iff; BinPos.Pos.max_mono; BinPos.Pos.max_monotone; max_r; PeanoNat.Nat.max_r; BinPos.Pos.max_r; BinInt.Z.max_r; PeanoNat.Nat.max_spec; BinPos.Pos.max_spec; BinInt.Z.max_spec; ZMicromega.max_var; ZMicromega.max_var_acc; ZMicromega.max_var_nformulae; ZMicromega.max_var_nformulae_mono_aux; ZMicromega.max_var_nformulae_mono_aux'; RingMicromega.micomega_sor_setoid; RingMicromega.micomega_sor_setoid_Reflexive; RingMicromega.micomega_sor_setoid_Symmetric; RingMicromega.micomega_sor_setoid_Transitive; BinInt.Z.min; BinInt.Z.Private_Dec.min_case; BinInt.Z.Private_Dec.min_case_strong; BinInt.Z.Private_Dec.min_dec; BinInt.Z.min_dec; BinInt.Z.min_l; BinInt.Z.min_r; BinInt.Z.min_spec; RIneq.minus_IPR; RIneq.minus_IZR; Ranalysis1.minus_fct; EnvRing.mkPX; Ring_polynom.mkPX; Ring_polynom.mkPX_ext; EnvRing.mkPX_ok; Ring_polynom.mkPX_ok; EnvRing.mkPinj; Ring_polynom.mkPinj; Ring_polynom.mkPinj_ext; EnvRing.mkPinj_ok; Ring_polynom.mkPinj_ok; EnvRing.mkPinj_pred; Ring_polynom.mkPinj_pred; Ring_polynom.mkVmon; Ring_polynom.mkVmon_ok; EnvRing.mkX; Ring_polynom.mkX; EnvRing.mkX_ok; Ring_polynom.mkX_ok; EnvRing.mkXi; Ring_polynom.mkXi; Ring_polynom.mkZmon; Ring_polynom.mkZmon_ok; EnvRing.mk_X; Ring_polynom.mk_X; Tauto.mk_and; ZMicromega.mk_eq_pos; Tauto.mk_iff; Tauto.mk_iff_is_bool; Tauto.mk_impl; Ring_polynom.mk_monpol_list; Tauto.mk_or; Ring_polynom.mkadd_mult; Ring_polynom.mkadd_mult_ok; ZifyClasses.mkapp; ZifyClasses.mkapp2; Ring_polynom.mkmult1; Ring_polynom.mkmult1_ok; Ring_polynom.mkmult_c; Ring_polynom.mkmult_c_ok; Ring_polynom.mkmult_c_pos; Ring_polynom.mkmult_c_pos_ok; Ring_polynom.mkmult_pow; Ring_polynom.mkmult_pow_ok; Ring_polynom.mkmult_rec; Ring_polynom.mkmult_rec_ok; Ring_polynom.mkmultm1; Ring_polynom.mkmultm1_ok; Ring_polynom.mkopp_pow; Ring_polynom.mkopp_pow_ok; Ring_polynom.mkpow; Ring_polynom.mkpow_ok; ZifyClasses.mkrel; BinInt.Z.mod_eq; BinInt.Z.mod_mul; BinInt.Z.mod_neg_bound; BinInt.Z.mod_pos_bound; BinInt.Z.modulo; Ring_polynom.mon_of_pol; Ring_polynom.mon_of_pol_ok; Ring_theory.morph0; Ring_theory.morph1; Ring_theory.morph_add; Ring_theory.morph_eq; Ring_theory.morph_mul; Ring_theory.morph_opp; Ring_theory.morph_sub; Nat.mul; BinNat.N.mul; BinPos.Pos.mul; BinInt.Z.mul; BinNat.N.mul_0_l; BinInt.Z.mul_0_l; BinNat.N.mul_0_r; BinInt.Z.Private_BootStrap.mul_0_r; BinInt.Z.mul_0_r; BinPos.Pos.mul_1_l; BinInt.Z.Private_BootStrap.mul_1_l; BinInt.Z.mul_1_l; BinPos.Pos.mul_1_r; BinInt.Z.mul_1_r; BinPos.Pos.mul_add_distr_l; BinInt.Z.mul_add_distr_l; BinInt.Z.Private_BootStrap.mul_add_distr_pos; BinPos.Pos.mul_add_distr_r; BinInt.Z.Private_BootStrap.mul_add_distr_r; BinInt.Z.mul_add_distr_r; BinPos.Pos.mul_assoc; BinInt.Z.mul_assoc; BinInt.Z.mul_cancel_l; BinInt.Z.mul_cancel_r; BinNat.N.mul_comm; BinPos.Pos.mul_comm; BinInt.Z.mul_comm; BinPos.Pos.mul_compare_mono_l; BinPos.Pos.mul_compare_mono_r; BinInt.Z.mul_div_le; BinInt.Z.mul_eq_0; Rlimit.mul_factor; Rlimit.mul_factor_gt; Rlimit.mul_factor_gt_f; Rlimit.mul_factor_wd; BinInt.Z.mul_id_l; BinPos.Pos.mul_le_mono_l; BinInt.Z.mul_le_mono_nonneg; BinInt.Z.mul_le_mono_nonneg_l; BinInt.Z.mul_le_mono_nonneg_r; BinInt.Z.mul_le_mono_nonpos_l; BinInt.Z.mul_le_mono_nonpos_r; BinInt.Z.mul_le_mono_pos_l; BinInt.Z.mul_le_mono_pos_r; BinPos.Pos.mul_lt_mono_l; BinInt.Z.mul_lt_mono_neg_l; BinInt.Z.mul_lt_mono_neg_r; BinInt.Z.mul_lt_mono_nonneg; BinInt.Z.mul_lt_mono_pos_l; BinInt.Z.mul_lt_mono_pos_r; BinPos.Pos.mul_lt_mono_r; BinInt.Z.mul_lt_pred; BinInt.Z.mul_neg_neg; BinInt.Z.mul_neg_pos; BinInt.Z.mul_nonneg_nonneg; BinInt.Z.mul_nonneg_nonpos; BinInt.Z.mul_opp_comm; BinInt.Z.mul_opp_l; BinInt.Z.mul_opp_opp; BinInt.Z.Private_BootStrap.mul_opp_r; BinInt.Z.mul_opp_r; BinInt.Z.mul_pos_cancel_l; BinInt.Z.mul_pos_neg; BinInt.Z.mul_pos_pos; BinInt.Z.mul_reg_r; BinInt.Z.mul_shuffle0; BinInt.Z.mul_shuffle1; BinPos.Pos.mul_sub_distr_l; BinPos.Pos.mul_sub_distr_r; BinNat.N.mul_succ_l; BinPos.Pos.mul_succ_l; BinInt.Z.mul_succ_l; BinNat.N.mul_succ_r; BinPos.Pos.mul_succ_r; BinInt.Z.mul_succ_r; BinNat.N.mul_wd; BinInt.Z.mul_wd; BinPos.Pos.mul_xI_r; BinPos.Pos.mul_xO_r; RIneq.mult_IPR; RIneq.mult_IZR; Ring_polynom.mult_dev; Ring_polynom.mult_dev_ok; Ranalysis1.mult_fct; ZMicromega.narrow_interval_lower_bound; Znat.nat_N_Z; Compare_dec.nat_compare_ge; Compare_dec.nat_compare_le; Compare_dec.nat_compare_lt; nat_ind; nat_rec; nat_rect; RIneq.neg; BinInt.Pos2Z.neg_is_neg; ZMicromega.negate; ZMicromega.negate_correct; negb; Bool.negb_false_iff; Bool.negb_true_iff; Rtopology.neighbourhood; PeanoNat.Nat.neq_0_lt_0; RelationClasses.neq_Symmetric; BinPos.Pos.Private_Tac.neq_eq; BinInt.Z.Private_OrderTac.Tac.neq_eq; BinNat.N.neq_succ_0; PeanoNat.Nat.neq_succ_0; BinNat.N.neq_succ_diag_l; PeanoNat.Nat.neq_succ_diag_l; BinInt.Z.neq_succ_diag_l; BinInt.Z.Private_OrderTac.Tac.neq_sym; BinInt.Z.neq_sym; ZMicromega.nformula_of_cutting_plane; RingMicromega.nformula_plus_nformula; RingMicromega.nformula_plus_nformula_correct; RingMicromega.nformula_times_nformula; RingMicromega.nformula_times_nformula_correct; BinInt.Z.nle_gt; BinNat.N.nle_succ_diag_l; PeanoNat.Nat.nle_succ_diag_l; BinInt.Z.nle_succ_diag_l; PeanoNat.Nat.nlt_0_r; BinPos.Pos.nlt_1_r; BinInt.Z.nlt_ge; BinNat.N.nlt_succ_diag_l; PeanoNat.Nat.nlt_succ_diag_l; BinInt.Z.nlt_succ_diag_l; Ranalysis1.no_cond; RingMicromega.norm; ZMicromega.normZ; EnvRing.norm_aux; Ring_polynom.norm_aux; EnvRing.norm_aux_PEadd; Ring_polynom.norm_aux_PEadd; EnvRing.norm_aux_PEopp; Ring_polynom.norm_aux_PEopp; EnvRing.norm_aux_spec; Ring_polynom.norm_aux_spec; Ring_polynom.norm_subst; Ring_polynom.norm_subst_ok; Ring_polynom.norm_subst_spec; RingMicromega.normalise; ZMicromega.normalise; ZMicromega.normalise_correct; RingMicromega.normalise_sound; not; RIneq.not_0_IZR; ZArith_dec.not_Zeq_inf; Classical_Pred_Type.not_all_ex_not; Classical_Pred_Type.not_all_not_ex; Classical_Prop.not_and_or; not_eq_sym; Classical_Pred_Type.not_ex_all_not; BinPos.Pos.Private_Tac.not_ge_lt; BinNat.N.Private_OrderTac.Tac.not_ge_lt; PeanoNat.Nat.Private_OrderTac.Tac.not_ge_lt; BinInt.Z.Private_OrderTac.Tac.not_ge_lt; PeanoNat.Nat.Private_Tac.not_gt_le; BinPos.Pos.Private_Tac.not_gt_le; Qminmax.Q.Private_Tac.not_gt_le; BinInt.Z.Private_Tac.not_gt_le; BinNat.N.Private_OrderTac.Tac.not_gt_le; PeanoNat.Nat.Private_OrderTac.Tac.not_gt_le; BinInt.Z.Private_OrderTac.Tac.not_gt_le; Morphisms_Prop.not_iff_morphism; Morphisms_Prop.not_iff_morphism_obligation_1; Classical_Prop.not_imply_elim; Classical_Prop.not_imply_elim2; BinPos.Pos.Private_Tac.not_neq_eq; BinInt.Z.Private_OrderTac.Tac.not_neq_eq; Bool.not_true_iff_false; BinList.nth; Env.nth; List.nth; List.nth_in_or_default; BinList.nth_jump; Env.nth_jump; BinList.nth_pred_double; Env.nth_pred_double; Env.nth_spec; Field_theory.num; BinInt.Z.of_N; BinNat.N.of_nat; BinPos.Pos.of_nat; BinInt.Z.of_nat; BinPos.Pos.of_nat_succ; BinPos.Pos.of_succ_nat; BinInt.Z.one_succ; Rtopology.open_set; Rtopology.open_set_P1; Rtopology.open_set_P4; Rtopology.open_set_P6; BinInt.Z.opp; BinInt.Z.opp_0; RIneq.opp_IZR; BinInt.Z.Private_BootStrap.opp_add_distr; BinInt.Z.opp_add_distr; Ranalysis1.opp_fct; BinInt.Z.Private_BootStrap.opp_inj; BinInt.Z.opp_inj; BinInt.Z.opp_inj_wd; ConstructiveCauchyReals.opp_inject_Q; BinInt.Z.opp_involutive; BinInt.Z.opp_le_mono; BinInt.Z.opp_lt_mono; BinInt.Z.opp_nonneg_nonpos; BinInt.Z.opp_nonpos_nonneg; BinInt.Pos2Z.opp_pos; BinInt.Z.opp_pred; BinInt.Z.opp_sub_distr; BinInt.Z.opp_succ; BinInt.Z.opp_wd; or_cancel_r; Tauto.or_clause; Tauto.or_clause_cnf; Tauto.or_clause_cnf_correct; Tauto.or_clause_correct; Tauto.or_cnf; Tauto.or_cnf_correct; Tauto.or_cnf_opt; Tauto.or_cnf_opt_cnf_ff; Tauto.or_cnf_opt_cnf_ff_r; Tauto.or_cnf_opt_correct; or_comm; or_iff_compat_r; Morphisms_Prop.or_iff_morphism; Morphisms_Prop.or_iff_morphism_obligation_1; or_ind; orb; Bool.orb_comm; Bool.orb_true_iff; BinInt.Z.order_induction; BinInt.Z.order_induction_0; RingMicromega.padd; ZMicromega.padd; BinPos.Pos.peano_ind; BinInt.Z.peano_ind; BinNat.N.peano_rect; BinPos.Pos.peano_rect; Morphisms.per_partial_app_morphism; Morphisms.per_partial_app_morphism_obligation_1; RingMicromega.pexpr_times_nformula; RingMicromega.pexpr_times_nformula_correct; Ring_theory.phi_ext1_Proper; RIneq.plus_IPR; RIneq.plus_IZR; RIneq.plus_IZR_NEG_POS; plus_Sn_m; plus_n_O; plus_n_Sm; Rtopology.point_adherent; Morphisms.pointwise_relation; QMicromega.pop2_bop2; RMicromega.pop2_bop2; ZMicromega.pop2_bop2; RingMicromega.popp; ZMicromega.popp; RIneq.pos; BinNat.N.pos_div_eucl; BinInt.Z.pos_div_eucl; BinInt.Z.pos_div_eucl_bound; BinInt.Z.pos_div_eucl_eq; BinNat.N.pos_div_eucl_spec; BinInt.Pos2Z.pos_is_pos; BinInt.Pos2Z.pos_le_pos; BinInt.Z.pos_sub; BinInt.Z.Private_BootStrap.pos_sub_add; BinInt.Z.pos_sub_diag; BinInt.Z.pos_sub_discr; BinInt.Z.pos_sub_gt; BinInt.Z.pos_sub_lt; BinInt.Z.pos_sub_opp; BinInt.Z.pos_sub_spec; Znat.positive_N_nat; BinNums.positive_ind; Znat.positive_nat_Z; BinNums.positive_rec; BinNums.positive_rect; Rpow_def.pow; BinPos.Pos.pow; BinInt.Z.pow; BinInt.Z.pow_0_r; BinInt.Z.pow_1_l; BinPos.Pos.pow_1_r; BinInt.Z.pow_1_r; Ring_theory.pow_N; Field_theory.pow_N_ext; Ring_theory.pow_N_pow_N; Ring_theory.pow_N_th; BinInt.Z.pow_add_r; Field_theory.pow_ext; BinInt.Z.pow_gt_1; BinInt.Z.pow_le_mono_r; BinInt.Z.pow_lt_mono_l; BinInt.Z.pow_lt_mono_r; BinInt.Z.pow_neg_r; BinInt.Z.pow_nonneg; Ring_theory.pow_pos; BinInt.Z.pow_pos; Field_theory.pow_pos_0; Field_theory.pow_pos_1; EnvRing.pow_pos_add; Ring_polynom.pow_pos_add; Ring_theory.pow_pos_add; Field_theory.pow_pos_add_r; Field_theory.pow_pos_cst; Field_theory.pow_pos_div; Field_theory.pow_pos_mul_l; Field_theory.pow_pos_mul_r; BinInt.Z.pow_pos_nonneg; Field_theory.pow_pos_nz; Ring_theory.pow_pos_succ; Ring_theory.pow_pos_swap; BinPos.Pos.pow_succ_r; BinInt.Z.pow_succ_r; BinInt.Z.pow_twice_r; BinInt.Z.pow_wd; Rfunctions.powerRZ; Ranalysis1.pr_nu; Ranalysis4.pr_nu_var; PeanoNat.Nat.pred; BinNat.N.pred; BinPos.Pos.pred; BinInt.Z.pred; BinNat.N.pred_0; PeanoNat.Nat.pred_0; BinPos.Pos.pred_N; BinPos.Pos.pred_N_succ; BinPos.Pos.pred_double; BinInt.Z.pred_double; BinPos.Pos.pred_double_succ; BinInt.Z.pred_inj; BinInt.Z.pred_inj_wd; BinPos.Pos.pred_mask; BinNat.N.pred_succ; PeanoNat.Nat.pred_succ; BinInt.Z.pred_succ; BinNat.N.pred_wd; PeanoNat.Nat.pred_wd; BinInt.Z.pred_wd; PeanoNat.Nat.pred_wd_obligation_1; prod_ind; prod_rect; proj1; proj1_sig; proj2; proj2_sig; Rtopology.prolongement_C0; Rlimit.prop_eps; Morphisms.proper_prf; Morphisms.proper_sym_impl_iff; RingMicromega.psub; ZMicromega.psub; RingMicromega.psubC; QMicromega.qdeduce; QMicromega.qunsat; BinInt.Z.quotrem; BinInt.Z.quotrem_eq; Ring_polynom.r_list_pow; Ring_polynom.r_list_pow_rev; Field_theory.radd_ext; Ring_theory.radd_ext2_Proper; InitialRing.radd_ext3_Proper; InitialRing.radd_ext4_Proper; EnvRing.radd_ext_Proper; Field_theory.radd_ext_Proper; InitialRing.radd_ext_Proper; Ring_polynom.radd_ext_Proper; RMicromega.rdeduce; Field_theory.rdiv1; Field_theory.rdiv2b; Field_theory.rdiv3b; Field_theory.rdiv4; Field_theory.rdiv4b; Field_theory.rdiv5; Field_theory.rdiv6; Field_theory.rdiv7; Field_theory.rdiv7b; Field_theory.rdiv_ext; Field_theory.rdiv_r_r; Field_theory.rdiv_simpl; Morphisms.reflexive_eq_dom_reflexive; Morphisms.reflexive_proper; CMorphisms.reflexive_proper_proxy; Morphisms.reflexive_proper_proxy; Morphisms.reflexive_reflexive_proxy; RelationClasses.reflexivity; ConstructiveEpsilon.rel_ls_ind; ConstructiveEpsilon.rel_ls_post; Relation_Definitions.relation; CMorphisms.respectful; Morphisms.respectful; Rtopology.restriction_family; List.rev'; List.rev_append; ZifyClasses.rew_iff; ZifyClasses.rew_iff_rev; Morphisms.rewrite_relation_eq_dom; BinNat.N.right_induction; PeanoNat.Nat.right_induction; BinInt.Z.right_induction; Ring_polynom.ring_correct; Ring_polynom.ring_rw_correct; Ring_polynom.ring_rw_pow_correct; Ring_tac.ring_subst_niter; Field_theory.rinv_ext_Proper; OrderedRing.rle_morph_Proper; RingMicromega.rle_morph_Proper; OrderedRing.rlt_morph_Proper; RingMicromega.rlt_morph_Proper; OrderedRing.rminus_morph; OrderedRing.rminus_morph_Proper; RingMicromega.rminus_morph_Proper; Field_theory.rmul_ext; Ring_theory.rmul_ext2_Proper; InitialRing.rmul_ext3_Proper; InitialRing.rmul_ext4_Proper; EnvRing.rmul_ext_Proper; Field_theory.rmul_ext_Proper; InitialRing.rmul_ext_Proper; Ring_polynom.rmul_ext_Proper; Field_theory.rmul_reg_l; Ring_theory.ropp_ext2_Proper; InitialRing.ropp_ext3_Proper; EnvRing.ropp_ext_Proper; Field_theory.ropp_ext_Proper; Ring_polynom.ropp_ext_Proper; OrderedRing.ropp_morph_Proper; RingMicromega.ropp_morph_Proper; Field_theory.ropp_neq_0; OrderedRing.rplus_morph_Proper; RingMicromega.rplus_morph_Proper; Ring_theory.rpow_pow_N; Field_theory.rsplit_common; Field_theory.rsplit_left; Field_theory.rsplit_right; Field_theory.rsub_0_l; Field_theory.rsub_0_r; EnvRing.rsub_ext_Proper; Field_theory.rsub_ext_Proper; Ring_polynom.rsub_ext_Proper; OrderedRing.rtimes_morph_Proper; RingMicromega.rtimes_morph_Proper; Tauto.rtyp; RMicromega.runsat; InitialRing.same_gen; InitialRing.same_genN; InitialRing.same_genZ; ConstructiveCauchyReals.scale; ConstructiveCauchyReals.seq; ConstructiveRcomplete.seq_cv; BinInt.Z.sgn; ClassicalDedekindReals.sig_forall_dec; ConstructiveLUB.sig_forall_dec_T; sig_ind; ConstructiveLUB.sig_lub; ClassicalDedekindReals.sig_not_dec; ConstructiveLUB.sig_not_dec_T; sig_rec; sig_rect; Ring_theory.sign_spec; Rlimit.single_limit; BinPos.Pos.size_nat; BinPos.Pos.size_nat_monotone; snd; OrderedRing.sor_setoid; OrderedRing.sor_setoid_Reflexive; OrderedRing.sor_setoid_Symmetric; OrderedRing.sor_setoid_Transitive; Field_theory.split; Field_theory.split_aux; Field_theory.split_aux_ok; Field_theory.split_aux_ok1; Field_theory.split_nz_l; Field_theory.split_nz_r; Field_theory.split_ok_l; Field_theory.split_ok_r; BinInt.Z.strong_left_induction; BinNat.N.strong_right_induction; PeanoNat.Nat.strong_right_induction; BinInt.Z.strong_right_induction; BinNat.N.sub; BinPos.Pos.sub; BinInt.Z.sub; BinInt.Z.sub_0_l; BinNat.N.sub_0_r; BinInt.Z.sub_0_r; BinInt.Z.sub_1_r; BinNat.N.sub_add; BinPos.Pos.sub_add; BinPos.Pos.sub_add_distr; BinInt.Z.sub_cancel_r; BinPos.Pos.sub_decr; BinNat.N.sub_diag; BinInt.Z.sub_diag; BinNat.N.sub_gt; BinInt.Z.sub_le_mono_r; BinInt.Z.sub_lt_mono_r; BinPos.Pos.sub_mask; BinPos.Pos.sub_mask_add; BinPos.Pos.sub_mask_add_diag_l; BinPos.Pos.sub_mask_add_diag_r; BinPos.Pos.sub_mask_carry; BinPos.Pos.sub_mask_carry_spec; BinPos.Pos.sub_mask_diag; BinPos.Pos.sub_mask_neg_iff; BinPos.Pos.sub_mask_nul_iff; BinPos.Pos.sub_mask_pos; BinPos.Pos.sub_mask_pos'; BinPos.Pos.sub_mask_pos_iff; BinPos.Pos.sub_mask_spec; BinPos.Pos.sub_mask_succ_r; BinInt.Z.sub_move_0_r; BinInt.Z.sub_move_r; BinInt.Z.sub_opp_r; BinInt.Z.sub_simpl_r; BinPos.Pos.sub_sub_distr; BinInt.Z.sub_sub_distr; BinNat.N.sub_succ; BinInt.Z.sub_succ_l; BinNat.N.sub_succ_r; BinInt.Z.sub_succ_r; BinNat.N.sub_wd; BinInt.Z.sub_wd; BinPos.Pos.sub_xI_xI; BinPos.Pos.sub_xI_xO; BinPos.Pos.sub_xO_xI; BinPos.Pos.sub_xO_xO; Rtopology.subfamily; CRelationClasses.subrelation; RelationClasses.subrelation; CMorphisms.subrelation_proper; Morphisms.subrelation_proper; CMorphisms.subrelation_refl; Morphisms.subrelation_refl; CMorphisms.subrelation_respectful; Morphisms.subrelation_respectful; BinNat.N.succ; BinPos.Pos.succ; BinInt.Z.succ; RIneq.succ_IPR; BinNat.N.succ_double; BinInt.Z.succ_double; BinNat.N.succ_double_add; BinPos.Pos.succ_double_mask; BinNat.N.succ_double_mul; BinInt.Z.succ_double_spec; BinNat.N.succ_inj; PeanoNat.Nat.succ_inj; BinPos.Pos.succ_inj; BinInt.Z.succ_inj; BinNat.N.succ_inj_wd; PeanoNat.Nat.succ_inj_wd; BinInt.Z.succ_inj_wd; PeanoNat.Nat.succ_le_mono; BinInt.Z.succ_le_mono; PeanoNat.Nat.succ_lt_mono; BinPos.Pos.succ_lt_mono; BinInt.Z.succ_lt_mono; BinPos.Pos.succ_not_1; BinInt.Z.succ_pred; BinPos.Pos.succ_pred_double; BinPos.Pos.succ_pred_or; BinNat.N.succ_wd; PeanoNat.Nat.succ_wd; BinInt.Z.succ_wd; PeanoNat.Nat.succ_wd_obligation_1; sumbool_rec; sumbool_rect; RMicromega.sumboolb; BinPos.Pos.switch_Eq; CRelationClasses.symmetry; RelationClasses.symmetry; Env.tail; Tauto.tauto_checker; Tauto.tauto_checker_sound; List.tl; BinInt.Z.to_N; BinNat.N.to_nat; BinPos.Pos.to_nat; BinInt.Z.to_nat; BinInt.Z.to_pos; Rdefinitions.total_order_T; PeanoNat.Nat.Private_Tac.trans; BinPos.Pos.Private_Tac.trans; Qminmax.Q.Private_Tac.trans; BinInt.Z.Private_Tac.trans; BinNat.N.Private_OrderTac.Tac.trans; PeanoNat.Nat.Private_OrderTac.Tac.trans; BinInt.Z.Private_OrderTac.Tac.trans; Morphisms.trans_co_eq_inv_impl_morphism; Morphisms.trans_co_eq_inv_impl_morphism_obligation_1; Morphisms.trans_co_impl_morphism; Morphisms.trans_co_impl_morphism_obligation_1; CMorphisms.trans_contra_inv_impl_type_morphism; CMorphisms.trans_contra_inv_impl_type_morphism_obligation_1; OrdersTac.trans_ord; Morphisms.trans_sym_co_inv_impl_morphism; Morphisms.trans_sym_co_inv_impl_morphism_obligation_1; CRelationClasses.transitivity; RelationClasses.transitivity; InitialRing.triv_div; InitialRing.triv_div_th; BinInt.Z.two_succ; Ranalysis1.uniqueness_limite; Ranalysis1.uniqueness_step1; Ranalysis1.uniqueness_step2; Ranalysis1.uniqueness_step3; ZMicromega.valid_cut_sign; well_founded; well_founded_ind; well_founded_induction; well_founded_induction_type; Wf_nat.well_founded_ltof; BinPos.Pos.xI_succ_xO; Tauto.xcnf; Tauto.xcnf_correct; Tauto.xcnf_iff; Tauto.xcnf_impl; RingMicromega.xnegate; ZMicromega.xnegate; RingMicromega.xnegate_correct; ZMicromega.xnegate_correct; ZMicromega.xnnormalise; ZMicromega.xnnormalise_correct; RingMicromega.xnormalise; ZMicromega.xnormalise; RingMicromega.xnormalise_correct; ZMicromega.xnormalise_correct; Tauto.xor_clause_cnf; RMicromega.z_of_exp; Ring_polynom.zmon_pred; Ring_polynom.zmon_pred_ok; Acc; BoolSpec; ConstructiveCauchyReals.CReal; CompareSpec; CompareSpecT; ConstructiveReals.ConstructiveReals; ConstructiveLUB.DedekindDecCut; SetoidTactics.DefaultRelation; CRelationClasses.Equivalence; RelationClasses.Equivalence; Field_theory.FExpr; False; RingMicromega.Formula; Tauto.GFormula; ZifyClasses.InjTyp; Rlimit.Metric_Space; Ring_polynom.Mon; BinNums.N; RingMicromega.Op1; RingMicromega.Op2; RelationClasses.PER; EnvRing.PExpr; Ring_polynom.PExpr; EnvRing.Pol; Ring_polynom.Pol; RelationClasses.PreOrder; RingMicromega.Psatz; QArith_base.Q; RMicromega.Rcst; RelationClasses.RewriteRelation; OrderedRing.SOR; RingMicromega.SORaddon; RelationClasses.StrictOrder; BinPos.Pos.SubMaskSpec; True; BinNums.Z; ZMicromega.ZArithProof; ZMicromega.Zdivide_pol; Znumtheory.Zis_gcd; Field_theory.almost_field_theory; Ring_theory.almost_ring_theory; and; ConstructiveEpsilon.before_witness; bool; comparison; Ring_theory.div_theory; eq; ex; Rtopology.family; Field_theory.field_theory; Tauto.kind; le; Field_theory.linear; list; BinPos.Pos.mask; nat; RIneq.negreal; option; or; OrdersTac.ord; BinNums.positive; RIneq.posreal; Ring_theory.power_theory; prod; Bool.reflect; ConstructiveEpsilon.rel_ls; Ring_theory.ring_eq_ext; Ring_theory.ring_morph; Ring_theory.ring_theory; Field_theory.rsplit; Ring_theory.semi_morph; Ring_theory.semi_ring_theory; sig; sigT; Ring_theory.sign_theory; Ring_theory.sring_eq_ext; sum; sumbool; sumor; VarMap.t; unit; Acc_intro; BoolSpecT; ConstructiveCauchyReals.mkCReal; CompEq; CompEqT; ConstructiveReals.Build_ConstructiveReals; ConstructiveLUB.Build_DedekindDecCut; SetoidTactics.Build_DefaultRelation; CRelationClasses.Build_Equivalence; RelationClasses.Build_Equivalence; Field_theory.FEO; RingMicromega.Build_Formula; Tauto.TT; ZifyClasses.mkinj; Rlimit.Build_Metric_Space; Ring_polynom.mon0; BinNums.N0; RingMicromega.Equal; RingMicromega.OpEq; RelationClasses.Build_PER; EnvRing.PEc; Ring_polynom.PEO; EnvRing.Pc; Ring_polynom.Pc; RelationClasses.Build_PreOrder; RingMicromega.PsatzLet; QArith_base.Qmake; RMicromega.C0; RelationClasses.Build_RewriteRelation; OrderedRing.mk_SOR_theory; RingMicromega.mk_SOR_addon; RelationClasses.Build_StrictOrder; BinPos.Pos.SubIsNul; I; BinNums.Z0; ZMicromega.DoneProof; ZMicromega.Zdiv_Pc; Znumtheory.Zis_gcd_intro; Field_theory.mk_afield; Ring_theory.mk_art; conj; ConstructiveEpsilon.stop; true; Eq; Ring_theory.mkdiv_th; eq_refl; ex_intro; Rtopology.mkfamily; Field_theory.mk_field; Tauto.isProp; le_n; Field_theory.mk_linear; nil; BinPos.Pos.IsNul; O; RIneq.mknegreal; Some; or_introl; OrdersTac.OEQ; BinNums.xI; RIneq.mkposreal; Ring_theory.mkpow_th; pair; Bool.ReflectT; ConstructiveEpsilon.Rstop; Ring_theory.mk_reqe; Ring_theory.mkmorph; Ring_theory.mk_rt; Field_theory.mk_rsplit; Ring_theory.mkRmorph; Ring_theory.mk_srt; exist; existT; Ring_theory.mksign_th; Ring_theory.mk_seqe; inl; left; inleft; VarMap.Empty; tt; BoolSpecF; CompLt; CompLtT; Field_theory.FEI; Tauto.FF; Ring_polynom.zmon; BinNums.Npos; RingMicromega.NonEqual; RingMicromega.OpNEq; EnvRing.PEX; Ring_polynom.PEI; EnvRing.Pinj; Ring_polynom.Pinj; RingMicromega.PsatzIn; RMicromega.C1; BinPos.Pos.SubIsPos; BinNums.Zpos; ZMicromega.RatProof; ZMicromega.Zdiv_Pinj; ConstructiveEpsilon.next; false; Lt; Tauto.isBool; le_S; cons; BinPos.Pos.IsPos; S; None; or_intror; OrdersTac.OLT; BinNums.xO; Bool.ReflectF; ConstructiveEpsilon.Rnext; inr; right; inright; VarMap.Elt; CompGt; CompGtT; Field_theory.FEc; Tauto.X; Ring_polynom.vmon; RingMicromega.Strict; RingMicromega.OpLe; EnvRing.PEadd; Ring_polynom.PEc; EnvRing.PX; Ring_polynom.PX; RingMicromega.PsatzSquare; RMicromega.CQ; BinPos.Pos.SubIsNeg; BinNums.Zneg; ZMicromega.CutProof; ZMicromega.Zdiv_PX; Gt; BinPos.Pos.IsNeg; OrdersTac.OLE; BinNums.xH; VarMap.Branch; Field_theory.FEX; Tauto.A; RingMicromega.NonStrict; RingMicromega.OpGe; EnvRing.PEsub; Ring_polynom.PEX; RingMicromega.PsatzMulC; RMicromega.CZ; ZMicromega.SplitProof; Field_theory.FEadd; Tauto.AND; RingMicromega.OpLt; EnvRing.PEmul; Ring_polynom.PEadd; RingMicromega.PsatzMulE; RMicromega.CPlus; ZMicromega.EnumProof; Field_theory.FEsub; Tauto.OR; RingMicromega.OpGt; EnvRing.PEopp; Ring_polynom.PEsub; RingMicromega.PsatzAdd; RMicromega.CMinus; ZMicromega.ExProof; Field_theory.FEmul; Tauto.NOT; EnvRing.PEpow; Ring_polynom.PEmul; RingMicromega.PsatzC; RMicromega.CMult; Field_theory.FEopp; Tauto.IMPL; Ring_polynom.PEopp; RingMicromega.PsatzZ; RMicromega.CPow; Field_theory.FEinv; Tauto.IFF; Ring_polynom.PEpow; RMicromega.CInv; Field_theory.FEdiv; Tauto.EQ; RMicromega.COpp; Field_theory.FEpow; }} Spilled_1 = 3375 T = 1.295058 empty_fields_t : positive -> Type : positive -> Type empty_fields : forall n : empty, empty_fields_t (empty_tag n) : forall n : empty, empty_fields_t (empty_tag n) empty_construct : forall p : positive, empty_fields_t p -> Datatypes.option empty : forall p : positive, empty_fields_t p -> Datatypes.option empty empty_constructP : forall n : empty, empty_construct (empty_tag n) (empty_fields n) = Datatypes.Some n : forall n : empty, empty_construct (empty_tag n) (empty_fields n) = Datatypes.Some n unit_fields_t : positive -> Type : positive -> Type unit_fields : forall n : unit, unit_fields_t (unit_tag n) : forall n : unit, unit_fields_t (unit_tag n) unit_construct : forall p : positive, unit_fields_t p -> Datatypes.option unit : forall p : positive, unit_fields_t p -> Datatypes.option unit unit_constructP : forall n : unit, unit_construct (unit_tag n) (unit_fields n) = Datatypes.Some n : forall n : unit, unit_construct (unit_tag n) (unit_fields n) = Datatypes.Some n peano_fields_t : positive -> Type : positive -> Type peano_fields : forall n : peano, peano_fields_t (peano_tag n) : forall n : peano, peano_fields_t (peano_tag n) peano_construct : forall p : positive, peano_fields_t p -> Datatypes.option peano : forall p : positive, peano_fields_t p -> Datatypes.option peano peano_constructP : forall n : peano, peano_construct (peano_tag n) (peano_fields n) = Datatypes.Some n : forall n : peano, peano_construct (peano_tag n) (peano_fields n) = Datatypes.Some n option_fields_t : Type -> positive -> Type : Type -> positive -> Type option_fields : forall (A : Type) (l : option A), option_fields_t A (option_tag A l) : forall (A : Type) (l : option A), option_fields_t A (option_tag A l) option_construct : forall (A : Type) (p : positive), option_fields_t A p -> Datatypes.option (option A) : forall (A : Type) (p : positive), option_fields_t A p -> Datatypes.option (option A) option_constructP : forall (A : Type) (l : option A), option_construct A (option_tag A l) (option_fields A l) = Datatypes.Some l : forall (A : Type) (l : option A), option_construct A (option_tag A l) (option_fields A l) = Datatypes.Some l pair_fields_t : Type -> Type -> positive -> Type : Type -> Type -> positive -> Type pair_fields : forall (A B : Type) (l : pair A B), pair_fields_t A B (pair_tag A B l) : forall (A B : Type) (l : pair A B), pair_fields_t A B (pair_tag A B l) pair_construct : forall (A B : Type) (p : positive), pair_fields_t A B p -> Datatypes.option (pair A B) : forall (A B : Type) (p : positive), pair_fields_t A B p -> Datatypes.option (pair A B) pair_constructP : forall (A B : Type) (l : pair A B), pair_construct A B (pair_tag A B l) (pair_fields A B l) = Datatypes.Some l : forall (A B : Type) (l : pair A B), pair_construct A B (pair_tag A B l) (pair_fields A B l) = Datatypes.Some l seq_fields_t : Type -> positive -> Type : Type -> positive -> Type seq_fields : forall (A : Type) (l : seq A), seq_fields_t A (seq_tag A l) : forall (A : Type) (l : seq A), seq_fields_t A (seq_tag A l) seq_construct : forall (A : Type) (p : positive), seq_fields_t A p -> Datatypes.option (seq A) : forall (A : Type) (p : positive), seq_fields_t A p -> Datatypes.option (seq A) seq_constructP : forall (A : Type) (l : seq A), seq_construct A (seq_tag A l) (seq_fields A l) = Datatypes.Some l : forall (A : Type) (l : seq A), seq_construct A (seq_tag A l) (seq_fields A l) = Datatypes.Some l rose_fields_t : Type -> positive -> Type : Type -> positive -> Type rose_fields : forall (A : Type) (l : rose A), rose_fields_t A (rose_tag A l) : forall (A : Type) (l : rose A), rose_fields_t A (rose_tag A l) rose_construct : forall (A : Type) (p : positive), rose_fields_t A p -> Datatypes.option (rose A) : forall (A : Type) (p : positive), rose_fields_t A p -> Datatypes.option (rose A) rose_constructP : forall (A : Type) (l : rose A), rose_construct A (rose_tag A l) (rose_fields A l) = Datatypes.Some l : forall (A : Type) (l : rose A), rose_construct A (rose_tag A l) (rose_fields A l) = Datatypes.Some l beta_fields_t : Type -> positive -> Type : Type -> positive -> Type beta_fields : forall (A : Type) (l : beta A), beta_fields_t A (beta_tag A l) : forall (A : Type) (l : beta A), beta_fields_t A (beta_tag A l) beta_construct : forall (A : Type) (p : positive), beta_fields_t A p -> Datatypes.option (beta A) : forall (A : Type) (p : positive), beta_fields_t A p -> Datatypes.option (beta A) beta_constructP : forall (A : Type) (l : beta A), beta_construct A (beta_tag A l) (beta_fields A l) = Datatypes.Some l : forall (A : Type) (l : beta A), beta_construct A (beta_tag A l) (beta_fields A l) = Datatypes.Some l large_fields_t : positive -> Type : positive -> Type large_fields : forall n : large, large_fields_t (large_tag n) : forall n : large, large_fields_t (large_tag n) large_construct : forall p : positive, large_fields_t p -> Datatypes.option large : forall p : positive, large_fields_t p -> Datatypes.option large large_constructP : forall n : large, large_construct (large_tag n) (large_fields n) = Datatypes.Some n : forall n : large, large_construct (large_tag n) (large_fields n) = Datatypes.Some n prim_int_fields_t : positive -> Type : positive -> Type prim_int_fields : forall n : prim_int, prim_int_fields_t (prim_int_tag n) : forall n : prim_int, prim_int_fields_t (prim_int_tag n) prim_int_construct : forall p : positive, prim_int_fields_t p -> Datatypes.option prim_int : forall p : positive, prim_int_fields_t p -> Datatypes.option prim_int prim_int_constructP : forall n : prim_int, prim_int_construct (prim_int_tag n) (prim_int_fields n) = Datatypes.Some n : forall n : prim_int, prim_int_construct (prim_int_tag n) (prim_int_fields n) = Datatypes.Some n pa_record_fields_t : Type -> positive -> Type : Type -> positive -> Type pa_record_fields : forall (A : Type) (l : pa_record A), pa_record_fields_t A (pa_record_tag A l) : forall (A : Type) (l : pa_record A), pa_record_fields_t A (pa_record_tag A l) pa_record_construct : forall (A : Type) (p : positive), pa_record_fields_t A p -> Datatypes.option (pa_record A) : forall (A : Type) (p : positive), pa_record_fields_t A p -> Datatypes.option (pa_record A) pa_record_constructP : forall (A : Type) (l : pa_record A), pa_record_construct A (pa_record_tag A l) (pa_record_fields A l) = Datatypes.Some l : forall (A : Type) (l : pa_record A), pa_record_construct A (pa_record_tag A l) (pa_record_fields A l) = Datatypes.Some l pr_record_fields_t : Type -> positive -> Type : Type -> positive -> Type pr_record_fields : forall (A : Type) (l : pr_record A), pr_record_fields_t A (pr_record_tag A l) : forall (A : Type) (l : pr_record A), pr_record_fields_t A (pr_record_tag A l) pr_record_construct : forall (A : Type) (p : positive), pr_record_fields_t A p -> Datatypes.option (pr_record A) : forall (A : Type) (p : positive), pr_record_fields_t A p -> Datatypes.option (pr_record A) pr_record_constructP : forall (A : Type) (l : pr_record A), pr_record_construct A (pr_record_tag A l) (pr_record_fields A l) = Datatypes.Some l : forall (A : Type) (l : pr_record A), pr_record_construct A (pr_record_tag A l) (pr_record_fields A l) = Datatypes.Some l sigma_bool_fields_t : positive -> Type : positive -> Type sigma_bool_fields : forall l : sigma_bool, sigma_bool_fields_t (sigma_bool_tag l) : forall l : sigma_bool, sigma_bool_fields_t (sigma_bool_tag l) sigma_bool_construct : forall p : positive, sigma_bool_fields_t p -> Datatypes.option sigma_bool : forall p : positive, sigma_bool_fields_t p -> Datatypes.option sigma_bool sigma_bool_constructP : forall l : sigma_bool, sigma_bool_construct (sigma_bool_tag l) (sigma_bool_fields l) = Datatypes.Some l : forall l : sigma_bool, sigma_bool_construct (sigma_bool_tag l) (sigma_bool_fields l) = Datatypes.Some l ord_fields_t : peano -> positive -> Type : peano -> positive -> Type ord_fields : forall (p : peano) (o : ord p), ord_fields_t p (ord_tag p o) : forall (p : peano) (o : ord p), ord_fields_t p (ord_tag p o) ord_construct : forall (n : peano) (p : positive), ord_fields_t n p -> Datatypes.option (ord n) : forall (n : peano) (p : positive), ord_fields_t n p -> Datatypes.option (ord n) ord_constructP : forall (p : peano) (o : ord p), ord_construct p (ord_tag p o) (ord_fields p o) = Datatypes.Some o : forall (p : peano) (o : ord p), ord_construct p (ord_tag p o) (ord_fields p o) = Datatypes.Some o ord2_fields_t : peano -> positive -> Type : peano -> positive -> Type ord2_fields : forall (p : peano) (o : ord2 p), ord2_fields_t p (ord2_tag p o) : forall (p : peano) (o : ord2 p), ord2_fields_t p (ord2_tag p o) ord2_construct : forall (n : peano) (p : positive), ord2_fields_t n p -> Datatypes.option (ord2 n) : forall (n : peano) (p : positive), ord2_fields_t n p -> Datatypes.option (ord2 n) ord2_constructP : forall (p : peano) (o : ord2 p), ord2_construct p (ord2_tag p o) (ord2_fields p o) = Datatypes.Some o : forall (p : peano) (o : ord2 p), ord2_construct p (ord2_tag p o) (ord2_fields p o) = Datatypes.Some o val_fields_t : positive -> Type : positive -> Type val_fields : forall i : val, val_fields_t (val_tag i) : forall i : val, val_fields_t (val_tag i) val_construct : forall p : positive, val_fields_t p -> Datatypes.option val : forall p : positive, val_fields_t p -> Datatypes.option val val_constructP : forall v : val, val_construct (val_tag v) (val_fields v) = Datatypes.Some v : forall v : val, val_construct (val_tag v) (val_fields v) = Datatypes.Some v COQC tests/test_eqb.v Universe constraints: ------------------ Universe constraints: UNIVERSES: {elpi.tests.test_HOAS.87 elpi.tests.test_HOAS.86} |= elpi.tests.test_HOAS.86 < elpi.tests.test_HOAS.87 ALGEBRAIC UNIVERSES: {elpi.tests.test_HOAS.87 elpi.tests.test_HOAS.86} FLEXIBLE UNIVERSES: elpi.tests.test_HOAS.87 elpi.tests.test_HOAS.86 SORTS: WEAK CONSTRAINTS: Universe constraints: UNIVERSES: {elpi.tests.test_HOAS.87 elpi.tests.test_HOAS.86} |= elpi.tests.test_HOAS.86 < elpi.tests.test_HOAS.87 ALGEBRAIC UNIVERSES: {elpi.tests.test_HOAS.87 elpi.tests.test_HOAS.86} FLEXIBLE UNIVERSES: elpi.tests.test_HOAS.87 elpi.tests.test_HOAS.86 SORTS: WEAK CONSTRAINTS: Query assignments: Body = sort (typ «elpi.tests.test_HOAS.86») LX = «elpi.tests.test_HOAS.86» LY = «elpi.tests.test_HOAS.87» Type = sort (typ «elpi.tests.test_HOAS.87») UX = «elpi.tests.test_HOAS.86» UY = «elpi.tests.test_HOAS.87» Universe constraints: UNIVERSES: {elpi.tests.test_HOAS.87 elpi.tests.test_HOAS.86} |= elpi.tests.test_HOAS.86 < elpi.tests.test_HOAS.87 ALGEBRAIC UNIVERSES: {elpi.tests.test_HOAS.87 elpi.tests.test_HOAS.86} FLEXIBLE UNIVERSES: elpi.tests.test_HOAS.87 elpi.tests.test_HOAS.86 SORTS: WEAK CONSTRAINTS: poly@{u u0} : Type@{u0} (* u u0 |= u < u0 *) poly is universe polymorphic poly is transparent Expands to: Constant elpi.tests.test_HOAS.poly poly@{Set elpi.tests.test_HOAS.88} : Type@{elpi.tests.test_HOAS.88} (* {elpi.tests.test_HOAS.88} |= Set < elpi.tests.test_HOAS.88 *) Box not a defined object. derive.param1_trivial: wrong shape is_nest . It does not look like a unary parametricity translation of an inductive with no indexes. Query assignments: S = {{ Nat.add; eq; nat; O; }} Spilled_1 = 4 T = prod `x` (global (indt «nat»)) c0 \ app [global (indt «eq»), X0 c0, app [global (const «Nat.add»), c0, global (indc «O»)], c0] _uvk_18_ = c0 \ X0 c0 Syntactic constraints: {c0} : decl c0 `x` (global (indt «nat»)) ?- evar (X0 c0) (X1 c0) (X0 c0) /* suspended on X0 */ {c0} : decl c0 `x` (global (indt «nat»)) ?- evar (X2 c0) (sort (typ «elpi.tests.test_API_env.30»)) (X1 c0) /* suspended on X2, X1 */ Universe constraints: UNIVERSES: {elpi.tests.test_API_env.30} |= ALGEBRAIC UNIVERSES: {} FLEXIBLE UNIVERSES: SORTS: α8 WEAK CONSTRAINTS: Query assignments: T = global (const «int») X = primitive (uint63 99) sort (typ «Set») Query assignments: U = «elpi.tests.test_HOAS.89» Universe constraints: UNIVERSES: {elpi.tests.test_HOAS.89} |= Set = elpi.tests.test_HOAS.89 ALGEBRAIC UNIVERSES: {elpi.tests.test_HOAS.89} FLEXIBLE UNIVERSES: elpi.tests.test_HOAS.89 := Set SORTS: WEAK CONSTRAINTS: Inductive tree@{u} (A : Type@{u}) : Type@{max(Set,u)} := leaf : A -> tree@{u} A | node : A -> list (tree@{u} A) -> tree@{u} A. (* u |= Set <= list.u0 u <= list.u0 *) Arguments tree A%type_scope Arguments leaf A%type_scope _ Arguments node A%type_scope _ _%list_scope derive.param1_trivial: wrong shape is_vect A PA . It does not look like a unary parametricity translation of an inductive with no indexes. Query assignments: Decl = record Rec (sort (typ «elpi.tests.test_API_env.31»)) BuildRec (field [] f (sort (typ «elpi.tests.test_API_env.32»)) c0 \ end-record) _uvk_27_ = «elpi.tests.test_API_env.31» _uvk_28_ = «elpi.tests.test_API_env.32» Universe constraints: UNIVERSES: {elpi.tests.test_API_env.32 elpi.tests.test_API_env.31} |= ALGEBRAIC UNIVERSES: {elpi.tests.test_API_env.32 elpi.tests.test_API_env.31} FLEXIBLE UNIVERSES: elpi.tests.test_API_env.32 elpi.tests.test_API_env.31 SORTS: WEAK CONSTRAINTS: Module Test := Struct Record Rec@{u u0} : Type@{u} := BuildRec { f : Type@{u0} }. (* u u0 |= u0 < u *) Definition f : Rec@{u u0} -> Type@{u0}. (* u u0 |= u0 < u *) End Test.f@{elpi.tests.test_API_env.33 elpi.tests.test_API_env.34} : Test.Rec@{elpi.tests.test_API_env.33 elpi.tests.test_API_env.34} -> Type@{elpi.tests.test_API_env.34} (* {elpi.tests.test_API_env.34 elpi.tests.test_API_env.33} |= elpi.tests.test_API_env.34 < elpi.tests.test_API_env.33 *) File "./tests/test_param1.v", line 176, characters 0-66: Warning: Not a truly recursive fixpoint. [non-recursive,fixpoints,default] Query assignments: T = global (const «float») X = primitive (float64 993000) parameter A explicit (sort (typ «elpi.tests.test_HOAS.98»)) c0 \ inductive tree tt (arity (sort (typ «elpi.tests.test_HOAS.99»))) c1 \ [constructor leaf (arity (prod `_` c0 c2 \ c1)), constructor node (arity (prod `_` c0 c2 \ prod `_` (app [global (indt «list»), c1]) c3 \ c1))] Universe constraints: UNIVERSES: {elpi.tests.test_HOAS.103 elpi.tests.test_HOAS.102 elpi.tests.test_HOAS.101 elpi.tests.test_HOAS.100 elpi.tests.test_HOAS.99 elpi.tests.test_HOAS.98} |= elpi.tests.test_HOAS.98 < elpi.tests.test_HOAS.100 elpi.tests.test_HOAS.99 < elpi.tests.test_HOAS.101 Set <= list.u0 Set <= elpi.tests.test_HOAS.99 Set <= elpi.tests.test_HOAS.103 elpi.tests.test_HOAS.98 <= list.u0 elpi.tests.test_HOAS.98 <= elpi.tests.test_HOAS.99 elpi.tests.test_HOAS.98 <= elpi.tests.test_HOAS.102 elpi.tests.test_HOAS.98 <= elpi.tests.test_HOAS.103 elpi.tests.test_HOAS.99 <= list.u0 elpi.tests.test_HOAS.99 <= elpi.tests.test_HOAS.102 elpi.tests.test_HOAS.99 <= elpi.tests.test_HOAS.103 elpi.tests.test_HOAS.102 <= elpi.tests.test_HOAS.99 elpi.tests.test_HOAS.103 <= elpi.tests.test_HOAS.99 ALGEBRAIC UNIVERSES: {elpi.tests.test_HOAS.98} FLEXIBLE UNIVERSES: elpi.tests.test_HOAS.98 SORTS: WEAK CONSTRAINTS: Query assignments: D = parameter A explicit (sort (typ «M.tree.u0»)) c0 \ inductive tree tt (arity (sort (typ «M.tree.u1»))) c1 \ [constructor leaf (arity (prod `_` c0 c2 \ c1)), constructor node (arity (prod `_` c0 c2 \ prod `_` (app [global (indt «list»), c1]) c3 \ c1))] I = «tree» _uvk_66_ = X0 Universe constraints: UNIVERSES: {elpi.tests.test_HOAS.103 elpi.tests.test_HOAS.102 elpi.tests.test_HOAS.101 elpi.tests.test_HOAS.100} |= M.tree.u0 < elpi.tests.test_HOAS.100 M.tree.u1 < elpi.tests.test_HOAS.101 Set <= list.u0 Set <= M.tree.u1 Set <= elpi.tests.test_HOAS.103 M.tree.u0 <= elpi.tests.test_HOAS.102 M.tree.u0 <= elpi.tests.test_HOAS.103 M.tree.u1 <= elpi.tests.test_HOAS.102 M.tree.u1 <= elpi.tests.test_HOAS.103 elpi.tests.test_HOAS.102 <= M.tree.u1 elpi.tests.test_HOAS.103 <= M.tree.u1 ALGEBRAIC UNIVERSES: {M.tree.u0} FLEXIBLE UNIVERSES: M.tree.u0 SORTS: WEAK CONSTRAINTS: parameter A maximal (sort (typ «elpi.tests.test_HOAS.105»)) c0 \ parameter x explicit (prod `_` c0 c1 \ c0) c1 \ record c (sort prop) Build_c end-record COQC tests/test_param1_functor.v COQC tests/test_param1_congr.v Query assignments: LP = «Coq.ZArith.Znat» MP = «Coq.ZArith.Znat.N2Z» hello [int 1, int 2, trm (global (indt «nat»)), str x] coq.pp.box (coq.pp.hv 2) [coq.pp.str Module, coq.pp.spc, coq.pp.str Foo, coq.pp.spc, coq.pp.str :=, coq.pp.brk 1 0, coq.pp.str body, coq.pp.spc, coq.pp.str End Foo.] Module Foo := body End Foo. fix foo (x : ?e3) (y : ?e4) {struct x} : ?e2 := match x as x0 return ?e6@{x:=x0} with | true => S (S (S O)) | false => y end fix foo x y {struct x} := if x as x0 return ?e14@{x:=x0} then 3 else y COQC tests/test_API2.v Query assignments: _uvk_323_ = X0 Debug: Cannot enforce elpi.apps.derive.tests.test_derive.3246 <= Set File "./tests/test_derive.v", line 33, characters 2-9: Warning: This command does not support this attribute: verbose. [unsupported-attributes,parsing,default] Skipping derivation map on indt «nat» since it has been already run Derivation lens on indt «nat» Derivation lens on indt «nat» failed, continuing Skipping derivation param1 on indt «nat» since it has been already run Skipping derivation param2 on indt «nat» since it has been already run Skipping derivation tag on indt «nat» since it has been already run Skipping derivation eqType_ast on indt «nat» since it has been already run Derivation projK on indt «nat» Derivation projK on indt «nat» took 0.005666 Derivation isK on indt «nat» Derivation isK on indt «nat» took 0.008515 Derivation eq on indt «nat» Derivation eq on indt «nat» took 0.007566 Derivation invert on indt «nat» Derivation invert on indt «nat» took 0.009705 Skipping derivation lens_laws on indt «nat» since it has been already run Skipping derivation param1_congr on indt «nat» since it has been already run Skipping derivation param1_inhab on indt «nat» since it has been already run Skipping derivation param1_functor on indt «nat» since it has been already run Skipping derivation fields on indt «nat» since it has been already run Derivation bcongr on indt «nat» Derivation bcongr on indt «nat» took 0.010476 Derivation idx2inv on indt «nat» Derivation idx2inv on indt «nat» failed, continuing Skipping derivation param1_trivial on indt «nat» since it has been already run Skipping derivation induction on indt «nat» since it has been already run Skipping derivation eqb on indt «nat» since it has been already run Derivation eqK on indt «nat» Derivation eqK on indt «nat» took 0.011659 Skipping derivation eqbcorrect on indt «nat» since it has been already run Derivation eqcorrect on indt «nat» Derivation eqcorrect on indt «nat» took 0.006116 Skipping derivation eqbOK on indt «nat» since it has been already run Derivation eqOK on indt «nat» Derivation eqOK on indt «nat» took 0.004206 nat_eqb : nat -> nat -> bool : nat -> nat -> bool is_nat : nat -> Type : nat -> Type is_nat_inhab : forall x : nat, is_nat x : forall x : nat, is_nat x is_nat_functor : forall x : nat, is_nat x -> is_nat x : forall x : nat, is_nat x -> is_nat x nat_induction : forall P : nat -> Type, P 0 -> (forall n : nat, P n -> P (S n)) -> forall x : nat, is_nat x -> P x : forall P : nat -> Type, P 0 -> (forall n : nat, P n -> P (S n)) -> forall x : nat, is_nat x -> P x nat_tag : nat -> BinNums.positive : nat -> BinNums.positive nat_fields_t : BinNums.positive -> Type : BinNums.positive -> Type nat_fields : forall n : nat, nat_fields_t (nat_tag n) : forall n : nat, nat_fields_t (nat_tag n) nat_construct : forall p : BinNums.positive, nat_fields_t p -> option nat : forall p : BinNums.positive, nat_fields_t p -> option nat nat_constructP : forall n : nat, nat_construct (nat_tag n) (nat_fields n) = Some n : forall n : nat, nat_construct (nat_tag n) (nat_fields n) = Some n nat_eqb : nat -> nat -> bool : nat -> nat -> bool nat_eqb_correct : forall x : nat, eqb_correct_on nat_eqb x nat_eqb_refl : forall x : nat, eqb_refl_on nat_eqb x list_map : forall A B : Type, (A -> B) -> list A -> list B : forall A B : Type, (A -> B) -> list A -> list B is_nil : forall (A : Type) (P : A -> Type), is_list A P nil : forall (A : Type) (P : A -> Type), is_list A P nil is_cons : forall (A : Type) (P : A -> Type) (x : A), P x -> forall tl : list A, is_list A P tl -> is_list A P (x :: tl) : forall (A : Type) (P : A -> Type) (x : A), P x -> forall tl : list A, is_list A P tl -> is_list A P (x :: tl) is_list_functor : forall (A : Type) (P Q : A -> Type), (forall x : A, P x -> Q x) -> forall l : list A, is_list A P l -> is_list A Q l : forall (A : Type) (P Q : A -> Type), (forall x : A, P x -> Q x) -> forall l : list A, is_list A P l -> is_list A Q l list_induction : forall (A : Type) (PA : A -> Type) (P : list A -> Type), P nil -> (forall x : A, PA x -> forall xs : list A, P xs -> P (x :: xs)%list) -> forall l : list A, is_list A PA l -> P l : forall (A : Type) (PA : A -> Type) (P : list A -> Type), P nil -> (forall x : A, PA x -> forall xs : list A, P xs -> P (x :: xs)%list) -> forall l : list A, is_list A PA l -> P l list_tag : forall A : Type, list A -> BinNums.positive : forall A : Type, list A -> BinNums.positive list_fields_t : Type -> BinNums.positive -> Type : Type -> BinNums.positive -> Type list_fields : forall (A : Type) (l : list A), list_fields_t A (list_tag A l) : forall (A : Type) (l : list A), list_fields_t A (list_tag A l) list_construct : forall (A : Type) (p : BinNums.positive), list_fields_t A p -> option (list A) : forall (A : Type) (p : BinNums.positive), list_fields_t A p -> option (list A) list_constructP : forall (A : Type) (l : list A), list_construct A (list_tag A l) (list_fields A l) = Some l : forall (A : Type) (l : list A), list_construct A (list_tag A l) (list_fields A l) = Some l list_eqb : forall A : Type, (A -> A -> bool) -> list A -> list A -> bool : forall A : Type, (A -> A -> bool) -> list A -> list A -> bool list_eqb_correct : forall (a : Type) (eqA : a -> a -> bool), eqb_correct eqA -> forall x : list a, eqb_correct_on (list_eqb a eqA) x list_eqb_refl : forall (a : Type) (eqA : a -> a -> bool), eqb_reflexive eqA -> forall x : list a, eqb_refl_on (list_eqb a eqA) x congr_is_tt : is_tt = is_tt : is_tt = is_tt congr_is_Zero : is_Zero = is_Zero : is_Zero = is_Zero congr_is_Succ : forall (x : peano) (p1 p2 : is_peano x), p1 = p2 -> is_Succ x p1 = is_Succ x p2 : forall (x : peano) (p1 p2 : is_peano x), p1 = p2 -> is_Succ x p1 = is_Succ x p2 congr_is_None : forall (A : Type) (PA : A -> Type), is_None A PA = is_None A PA : forall (A : Type) (PA : A -> Type), is_None A PA = is_None A PA congr_is_Some : forall (A : Type) (PA : A -> Type) (x : A) (p1 p2 : PA x), p1 = p2 -> is_Some A PA x p1 = is_Some A PA x p2 : forall (A : Type) (PA : A -> Type) (x : A) (p1 p2 : PA x), p1 = p2 -> is_Some A PA x p1 = is_Some A PA x p2 empty_eqb : eq_test2 empty empty : eq_test2 empty empty unit_eqb : eq_test2 unit unit : eq_test2 unit unit peano_eqb : eq_test2 peano peano : eq_test2 peano peano congr_is_Comma : forall (A : Type) (PA : A -> Type) (B : Type) (PB : B -> Type) (x : A) (p1 p2 : PA x), p1 = p2 -> forall (y : B) (q1 q2 : PB y), q1 = q2 -> is_Comma A PA B PB x p1 y q1 = is_Comma A PA B PB x p2 y q2 : forall (A : Type) (PA : A -> Type) (B : Type) (PB : B -> Type) (x : A) (p1 p2 : PA x), p1 = p2 -> forall (y : B) (q1 q2 : PB y), q1 = q2 -> is_Comma A PA B PB x p1 y q1 = is_Comma A PA B PB x p2 y q2 congr_is_Nil : forall (A : Type) (PA : A -> Type), is_Nil A PA = is_Nil A PA : forall (A : Type) (PA : A -> Type), is_Nil A PA = is_Nil A PA option_eqb : forall A : Type, eq_test2 A A -> eq_test2 (option A) (option A) : forall A : Type, eq_test2 A A -> eq_test2 (option A) (option A) congr_is_Cons : forall (A : Type) (PA : A -> Type) (x : A) (p1 p2 : PA x), p1 = p2 -> forall (y : seq A) (q1 q2 : is_seq A PA y), q1 = q2 -> is_Cons A PA x p1 y q1 = is_Cons A PA x p2 y q2 : forall (A : Type) (PA : A -> Type) (x : A) (p1 p2 : PA x), p1 = p2 -> forall (y : seq A) (q1 q2 : is_seq A PA y), q1 = q2 -> is_Cons A PA x p1 y q1 = is_Cons A PA x p2 y q2 pair_eqb : forall A : Type, eq_test2 A A -> forall B : Type, eq_test2 B B -> eq_test2 (pair A B) (pair A B) : forall A : Type, eq_test2 A A -> forall B : Type, eq_test2 B B -> eq_test2 (pair A B) (pair A B) congr_is_Leaf : forall (A : Type) (PA : A -> Type) (x : A) (p1 p2 : PA x), p1 = p2 -> is_Leaf A PA x p1 = is_Leaf A PA x p2 : forall (A : Type) (PA : A -> Type) (x : A) (p1 p2 : PA x), p1 = p2 -> is_Leaf A PA x p1 = is_Leaf A PA x p2 seq_eqb : forall A : Type, eq_test2 A A -> eq_test2 (seq A) (seq A) : forall A : Type, eq_test2 A A -> eq_test2 (seq A) (seq A) congr_is_Node : forall (A : Type) (PA : A -> Type) (x : seq (rose A)) (p1 p2 : is_seq (rose A) (is_rose A PA) x), p1 = p2 -> is_Node A PA x p1 = is_Node A PA x p2 : forall (A : Type) (PA : A -> Type) (x : seq (rose A)) (p1 p2 : is_seq (rose A) (is_rose A PA) x), p1 = p2 -> is_Node A PA x p1 = is_Node A PA x p2 rose_eqb : forall A : Type, eq_test2 A A -> eq_test2 (rose A) (rose A) : forall A : Type, eq_test2 A A -> eq_test2 (rose A) (rose A) congr_is_via : forall (A : Type) (PA : A -> Type) (x : A -> w A) (p1 p2 : forall H : A, PA H -> is_w A PA (x H)), p1 = p2 -> is_via A PA x p1 = is_via A PA x p2 : forall (A : Type) (PA : A -> Type) (x : A -> w A) (p1 p2 : forall H : A, PA H -> is_w A PA (x H)), p1 = p2 -> is_via A PA x p1 = is_via A PA x p2 congr_is_VNil : forall (A : Type) (PA : A -> Type), is_VNil A PA = is_VNil A PA : forall (A : Type) (PA : A -> Type), is_VNil A PA = is_VNil A PA beta_eqb : forall A : Type, eq_test2 A A -> eq_test2 (beta A) (beta A) : forall A : Type, eq_test2 A A -> eq_test2 (beta A) (beta A) prim_int_eqb : eq_test2 prim_int prim_int : eq_test2 prim_int prim_int congr_is_Envelope : forall (A : Type) (PA : A -> Type) (x : A) (p1 p2 : PA x), p1 = p2 -> forall (y : A) (q1 q2 : PA y), q1 = q2 -> is_Envelope A PA x p1 y q1 = is_Envelope A PA x p2 y q2 : forall (A : Type) (PA : A -> Type) (x : A) (p1 p2 : PA x), p1 = p2 -> forall (y : A) (q1 q2 : PA y), q1 = q2 -> is_Envelope A PA x p1 y q1 = is_Envelope A PA x p2 y q2 fo_record_eqb : eq_test2 fo_record fo_record : eq_test2 fo_record fo_record congr_is_Redex : forall (A : Type) (PA : A -> Type) (x : A) (p1 p2 : PA x), p1 = p2 -> is_Redex A PA x p1 = is_Redex A PA x p2 : forall (A : Type) (PA : A -> Type) (x : A) (p1 p2 : PA x), p1 = p2 -> is_Redex A PA x p1 = is_Redex A PA x p2 congr_is_PI : forall (x : PrimInt63.int) (p1 p2 : is_uint63 x), p1 = p2 -> is_PI x p1 = is_PI x p2 congr_is_PF : forall (x : PrimFloat.float) (p1 p2 : is_float64 x), p1 = p2 -> is_PF x p1 = is_PF x p2 pa_record_eqb : forall A : Type, eq_test2 A A -> eq_test2 (pa_record A) (pa_record A) : forall A : Type, eq_test2 A A -> eq_test2 (pa_record A) (pa_record A) congr_is_Build_fo_record : forall (n : peano) (p1 p2 : is_peano n), p1 = p2 -> forall (b : unit) (q1 q2 : is_unit b), q1 = q2 -> is_Build_fo_record n p1 b q1 = is_Build_fo_record n p2 b q2 : forall (n : peano) (p1 p2 : is_peano n), p1 = p2 -> forall (b : unit) (q1 q2 : is_unit b), q1 = q2 -> is_Build_fo_record n p1 b q1 = is_Build_fo_record n p2 b q2 pr_record_eqb : forall A : Type, eq_test2 A A -> eq_test2 (pr_record A) (pr_record A) : forall A : Type, eq_test2 A A -> eq_test2 (pr_record A) (pr_record A) congr_is_Build_pa_record : forall (A : Type) (PA : A -> Type) (n : peano) (p1 p2 : is_peano n), p1 = p2 -> forall (b : A) (q1 q2 : PA b), q1 = q2 -> is_Build_pa_record A PA n p1 b q1 = is_Build_pa_record A PA n p2 b q2 : forall (A : Type) (PA : A -> Type) (n : peano) (p1 p2 : is_peano n), p1 = p2 -> forall (b : A) (q1 q2 : PA b), q1 = q2 -> is_Build_pa_record A PA n p1 b q1 = is_Build_pa_record A PA n p2 b q2 enum_eqb : eq_test2 enum enum : eq_test2 enum enum sigma_bool_eqb : eq_test2 sigma_bool sigma_bool : eq_test2 sigma_bool sigma_bool ord_eqb : forall p1 p2 : peano, eq_test2 (ord p1) (ord p2) : forall p1 p2 : peano, eq_test2 (ord p1) (ord p2) congr_is_Build_pr_record : forall (A : Type) (pr : A -> Type) (n : peano) (p1 p2 : is_peano n), p1 = p2 -> forall (b : A) (q1 q2 : pr b), q1 = q2 -> is_Build_pr_record A pr n p1 b q1 = is_Build_pr_record A pr n p2 b q2 : forall (A : Type) (pr : A -> Type) (n : peano) (p1 p2 : is_peano n), p1 = p2 -> forall (b : A) (q1 q2 : pr b), q1 = q2 -> is_Build_pr_record A pr n p1 b q1 = is_Build_pr_record A pr n p2 b q2 ord2_eqb : forall p1 p2 : peano, eq_test2 (ord2 p1) (ord2 p2) : forall p1 p2 : peano, eq_test2 (ord2 p1) (ord2 p2) congr_is_E1 : is_E1 = is_E1 : is_E1 = is_E1 val_eqb : eq_test2 val val : eq_test2 val val alias_eqb : eq_test2 alias alias : eq_test2 alias alias COQC tests/test_param1_trivial.v projSucc1 : peano -> peano -> peano : peano -> peano -> peano projSome1 : forall A : Type, A -> option A -> A : forall A : Type, A -> option A -> A projComma1 : forall A B : Type, A -> B -> pair A B -> A : forall A B : Type, A -> B -> pair A B -> A projComma2 : forall A B : Type, A -> B -> pair A B -> B : forall A B : Type, A -> B -> pair A B -> B projCons1 : forall A : Type, A -> seq A -> seq A -> A : forall A : Type, A -> seq A -> seq A -> A projCons2 : forall A : Type, A -> seq A -> seq A -> seq A : forall A : Type, A -> seq A -> seq A -> seq A projLeaf1 : forall A : Type, A -> rose A -> A : forall A : Type, A -> rose A -> A projNode1 : forall A : Type, seq (rose A) -> rose A -> seq (rose A) : forall A : Type, seq (rose A) -> rose A -> seq (rose A) projConsN1 : forall A : Type, A -> nest (pair A A) -> nest A -> A : forall A : Type, A -> nest (pair A A) -> nest A -> A projConsN2 : forall A : Type, A -> nest (pair A A) -> nest A -> nest (pair A A) : forall A : Type, A -> nest (pair A A) -> nest A -> nest (pair A A) projvia1 : forall A : Type, (A -> w A) -> w A -> A -> w A : forall A : Type, (A -> w A) -> w A -> A -> w A projVCons1 : forall (A : Type) (i : peano), A -> forall j : peano, vect A j -> vect A i -> A : forall (A : Type) (i : peano), A -> forall j : peano, vect A j -> vect A i -> A projVCons2 : forall (A : Type) (i : peano), A -> forall j : peano, vect A j -> vect A i -> peano : forall (A : Type) (i : peano), A -> forall j : peano, vect A j -> vect A i -> peano projVCons3 : forall (A : Type) (i : peano), A -> forall j : peano, vect A j -> vect A i -> {w : peano & vect A w} : forall (A : Type) (i : peano), A -> forall j : peano, vect A j -> vect A i -> {w : peano & vect A w} projbox1 : forall T : Type, T -> dyn -> Type : forall T : Type, T -> dyn -> Type projbox2 : forall T : Type, T -> dyn -> {T0 : Type & T0} : forall T : Type, T -> dyn -> {T0 : Type & T0} projEnvelope1 : forall A : Type, A -> A -> zeta A -> A : forall A : Type, A -> A -> zeta A -> A eq_refl : projEnvelope1 nat 1 1 (Envelope nat 0 1) = 0 : projEnvelope1 nat 1 1 (Envelope nat 0 1) = 0 projEnvelope2 : forall A : Type, A -> A -> zeta A -> A : forall A : Type, A -> A -> zeta A -> A eq_refl : projEnvelope2 nat 1 1 (Envelope nat 1 0) = 0 : projEnvelope2 nat 1 1 (Envelope nat 1 0) = 0 projRedex1 : forall A : Type, A -> beta A -> A : forall A : Type, A -> beta A -> A projWhy1 : forall n : peano, match n with | Zero => peano | Succ _ => unit end -> iota -> peano : forall n : peano, match n with | Zero => peano | Succ _ => unit end -> iota -> peano projWhy2 : forall n : peano, match n with | Zero => peano | Succ _ => unit end -> iota -> {i : peano & match i with | Zero => peano | Succ _ => unit end} : forall n : peano, match n with | Zero => peano | Succ _ => unit end -> iota -> {i : peano & match i with | Zero => peano | Succ _ => unit end} projPI1 : PrimInt63.int -> prim_int -> PrimInt63.int projPF1 : PrimFloat.float -> prim_float -> PrimFloat.float projBuild_fo_record1 : peano -> unit -> fo_record -> peano : peano -> unit -> fo_record -> peano projBuild_fo_record2 : peano -> unit -> fo_record -> unit : peano -> unit -> fo_record -> unit projBuild_pa_record2 : forall A : Type, peano -> A -> pa_record A -> A : forall A : Type, peano -> A -> pa_record A -> A projBuild_pr_record2 : forall A : Type, peano -> A -> pr_record A -> A : forall A : Type, peano -> A -> pr_record A -> A COQC tests/test_bcongr.v is_empty_functor : func is_empty : func is_empty is_unit_functor : func is_unit : func is_unit is_peano_functor : func is_peano : func is_peano is_option_functor : func1 is_option : func1 is_option is_pair_functor : func2 is_pair : func2 is_pair is_seq_functor : func1 is_seq : func1 is_seq is_rose_functor : func1 is_rose : func1 is_rose is_vect_functor : forall (A : Type) (P Q : A -> Type), (forall y : A, P y -> Q y) -> forall (i : peano) (p : is_peano i) (v : vect A i), is_vect A P i p v -> is_vect A Q i p v : forall (A : Type) (P Q : A -> Type), (forall y : A, P y -> Q y) -> forall (i : peano) (p : is_peano i) (v : vect A i), is_vect A P i p v -> is_vect A Q i p v is_dyn_functor : func is_dyn : func is_dyn is_zeta_functor : func1 is_zeta : func1 is_zeta is_beta_functor : func1 is_beta : func1 is_beta is_iota_functor : func is_iota : func is_iota is_large_functor : func is_large : func is_large is_prim_int_functor : func is_prim_int : func is_prim_int is_prim_float_functor : func is_prim_float : func is_prim_float is_fo_record_functor : func is_fo_record : func is_fo_record is_pa_record_functor : func1 is_pa_record : func1 is_pa_record is_pr_record_functor : func1 is_pr_record : func1 is_pr_record is_enum_functor : func is_enum : func is_enum is_ord_functor : forall (n : peano) (pn : is_peano n), func (is_ord n pn) : forall (n : peano) (pn : is_peano n), func (is_ord n pn) is_ord2_functor : forall (n : peano) (pn : is_peano n), func (is_ord2 n pn) : forall (n : peano) (pn : is_peano n), func (is_ord2 n pn) is_val_functor : func is_val : func is_val COQC tests/test_induction.v Query assignments: X1 = «x1» X2 = «x2» X3 = «x3» Query assignments: M = [[mode-ground], [mode-input]] Inductive elpi.apps.derive.tests.test_param1.Coverage.is_unit Inductive elpi.apps.derive.tests.test_param1.OtherTests.is_unit (shorter name to refer to it in current context is OtherTests.is_unit) (fun P : empty -> Prop => empty_induction P) : forall (P : empty -> Prop) (x : empty), is_empty x -> P x : forall (P : empty -> Prop) (x : empty), is_empty x -> P x (fun P : unit -> Prop => unit_induction P) : forall P : unit -> Prop, P tt -> forall x : unit, is_unit x -> P x : forall P : unit -> Prop, P tt -> forall x : unit, is_unit x -> P x peano_induction : forall P : peano -> Type, P Zero -> (forall n : peano, P n -> P (Succ n)) -> forall x : peano, is_peano x -> P x : forall P : peano -> Type, P Zero -> (forall n : peano, P n -> P (Succ n)) -> forall x : peano, is_peano x -> P x option_induction : forall (A : Type) (PA : A -> Type) (P : option A -> Type), P (None A) -> (forall a : A, PA a -> P (Some A a)) -> forall x : option A, is_option A PA x -> P x : forall (A : Type) (PA : A -> Type) (P : option A -> Type), P (None A) -> (forall a : A, PA a -> P (Some A a)) -> forall x : option A, is_option A PA x -> P x pair_induction : forall (A : Type) (PA : A -> Type) (B : Type) (PB : B -> Type) (P : pair A B -> Type), (forall a : A, PA a -> forall b : B, PB b -> P (Comma A B a b)) -> forall x : pair A B, is_pair A PA B PB x -> P x : forall (A : Type) (PA : A -> Type) (B : Type) (PB : B -> Type) (P : pair A B -> Type), (forall a : A, PA a -> forall b : B, PB b -> P (Comma A B a b)) -> forall x : pair A B, is_pair A PA B PB x -> P x seq_induction : forall (A : Type) (PA : A -> Type) (P : seq A -> Type), P (Nil A) -> (forall x : A, PA x -> forall xs : seq A, P xs -> P (Cons A x xs)) -> forall l : seq A, is_seq A PA l -> P l : forall (A : Type) (PA : A -> Type) (P : seq A -> Type), P (Nil A) -> (forall x : A, PA x -> forall xs : seq A, P xs -> P (Cons A x xs)) -> forall l : seq A, is_seq A PA l -> P l rose_induction : forall (A : Type) (PA : A -> Type) (P : rose A -> Type), (forall x : A, PA x -> P (Leaf A x)) -> (forall l : seq (rose A), is_seq (rose A) P l -> P (Node A l)) -> forall x : rose A, is_rose A PA x -> P x : forall (A : Type) (PA : A -> Type) (P : rose A -> Type), (forall x : A, PA x -> P (Leaf A x)) -> (forall l : seq (rose A), is_seq (rose A) P l -> P (Node A l)) -> forall x : rose A, is_rose A PA x -> P x nest_induction : forall P : forall A : Type, (A -> Type) -> nest A -> Type, (forall (A : Type) (PA : A -> Type), P A PA (NilN A)) -> (forall (A : Type) (PA : A -> Type) (x : A), PA x -> forall xs : nest (pair A A), P (pair A A) (is_pair A PA A PA) xs -> P A PA (ConsN A x xs)) -> forall (A : Type) (PA : A -> Type) (n : nest A), is_nest A PA n -> P A PA n : forall P : forall A : Type, (A -> Type) -> nest A -> Type, (forall (A : Type) (PA : A -> Type), P A PA (NilN A)) -> (forall (A : Type) (PA : A -> Type) (x : A), PA x -> forall xs : nest (pair A A), P (pair A A) (is_pair A PA A PA) xs -> P A PA (ConsN A x xs)) -> forall (A : Type) (PA : A -> Type) (n : nest A), is_nest A PA n -> P A PA n w_induction : forall (A : Type) (PA : A -> Type) (P : w A -> Type), (forall f : A -> w A, (forall a : A, PA a -> P (f a)) -> P (via A f)) -> forall x : w A, is_w A PA x -> P x : forall (A : Type) (PA : A -> Type) (P : w A -> Type), (forall f : A -> w A, (forall a : A, PA a -> P (f a)) -> P (via A f)) -> forall x : w A, is_w A PA x -> P x vect_induction : forall (A : Type) (PA : A -> Type) (P : forall n : peano, is_peano n -> vect A n -> Type), P Zero is_Zero (VNil A) -> (forall a : A, PA a -> forall (n : peano) (nR : is_peano n) (v : vect A n), P n nR v -> P (Succ n) (is_Succ n nR) (VCons A a n v)) -> forall (l : peano) (lR : is_peano l) (x : vect A l), is_vect A PA l lR x -> P l lR x : forall (A : Type) (PA : A -> Type) (P : forall n : peano, is_peano n -> vect A n -> Type), P Zero is_Zero (VNil A) -> (forall a : A, PA a -> forall (n : peano) (nR : is_peano n) (v : vect A n), P n nR v -> P (Succ n) (is_Succ n nR) (VCons A a n v)) -> forall (l : peano) (lR : is_peano l) (x : vect A l), is_vect A PA l lR x -> P l lR x dyn_induction : forall P : dyn -> Type, (forall (T : Type) (PT : T -> Type) (t : T), PT t -> P (box T t)) -> forall x : dyn, is_dyn x -> P x : forall P : dyn -> Type, (forall (T : Type) (PT : T -> Type) (t : T), PT t -> P (box T t)) -> forall x : dyn, is_dyn x -> P x zeta_induction : forall (A : Type) (PA : A -> Type) (P : zeta A -> Type), (forall a : A, PA a -> forall c : A, PA c -> P (Envelope A a c)) -> forall x : zeta A, is_zeta A PA x -> P x : forall (A : Type) (PA : A -> Type) (P : zeta A -> Type), (forall a : A, PA a -> forall c : A, PA c -> P (Envelope A a c)) -> forall x : zeta A, is_zeta A PA x -> P x iota_induction : forall P : iota -> Type, (forall (n : peano) (Pn : is_peano n) (a : match n with | Zero => peano | Succ _ => unit end), match Pn in (is_peano n0) return (match n0 with | Zero => peano | Succ _ => unit end -> Type) with | is_Zero => is_peano | is_Succ _ _ => is_unit end a -> P (Why n a)) -> forall s1 : iota, is_iota s1 -> P s1 large_induction : forall P : large -> Type, (forall H : unit, is_unit H -> P (K1 H)) -> (forall H : unit, is_unit H -> forall H0 : unit, is_unit H0 -> P (K2 H H0)) -> (forall H : unit, is_unit H -> forall H0 : unit, is_unit H0 -> forall H1 : unit, is_unit H1 -> P (K3 H H0 H1)) -> (forall H : unit, is_unit H -> forall H0 : unit, is_unit H0 -> forall H1 : unit, is_unit H1 -> forall H2 : unit, is_unit H2 -> P (K4 H H0 H1 H2)) -> (forall H : unit, is_unit H -> forall H0 : unit, is_unit H0 -> forall H1 : unit, is_unit H1 -> forall H2 : unit, is_unit H2 -> forall H3 : unit, is_unit H3 -> P (K5 H H0 H1 H2 H3)) -> (forall H : unit, is_unit H -> forall H0 : unit, is_unit H0 -> forall H1 : unit, is_unit H1 -> forall H2 : unit, is_unit H2 -> forall H3 : unit, is_unit H3 -> forall H4 : unit, is_unit H4 -> P (K6 H H0 H1 H2 H3 H4)) -> (forall H : unit, is_unit H -> forall H0 : unit, is_unit H0 -> forall H1 : unit, is_unit H1 -> forall H2 : unit, is_unit H2 -> forall H3 : unit, is_unit H3 -> forall H4 : unit, is_unit H4 -> forall H5 : unit, is_unit H5 -> P (K7 H H0 H1 H2 H3 H4 H5)) -> (forall H : unit, is_unit H -> forall H0 : unit, is_unit H0 -> forall H1 : unit, is_unit H1 -> forall H2 : unit, is_unit H2 -> forall H3 : unit, is_unit H3 -> forall H4 : unit, is_unit H4 -> forall H5 : unit, is_unit H5 -> forall H6 : unit, is_unit H6 -> P (K8 H H0 H1 H2 H3 H4 H5 H6)) -> (forall H : unit, is_unit H -> forall H0 : unit, is_unit H0 -> forall H1 : unit, is_unit H1 -> forall H2 : unit, is_unit H2 -> forall H3 : unit, is_unit H3 -> forall H4 : unit, is_unit H4 -> forall H5 : unit, is_unit H5 -> forall H6 : unit, is_unit H6 -> forall H7 : unit, is_unit H7 -> P (K9 H H0 H1 H2 H3 H4 H5 H6 H7)) -> (forall H : unit, is_unit H -> forall H0 : unit, is_unit H0 -> forall H1 : unit, is_unit H1 -> forall H2 : unit, is_unit H2 -> forall H3 : unit, is_unit H3 -> forall H4 : unit, is_unit H4 -> forall H5 : unit, is_unit H5 -> forall H6 : unit, is_unit H6 -> forall H7 : unit, is_unit H7 -> forall H8 : unit, is_unit H8 -> P (K10 H H0 H1 H2 H3 H4 H5 H6 H7 H8)) -> (forall H : unit, is_unit H -> forall H0 : unit, is_unit H0 -> forall H1 : unit, is_unit H1 -> forall H2 : unit, is_unit H2 -> forall H3 : unit, is_unit H3 -> forall H4 : unit, is_unit H4 -> forall H5 : unit, is_unit H5 -> forall H6 : unit, is_unit H6 -> forall H7 : unit, is_unit H7 -> forall H8 : unit, is_unit H8 -> forall H9 : unit, is_unit H9 -> P (K11 H H0 H1 H2 H3 H4 H5 H6 H7 H8 H9)) -> (forall H : unit, is_unit H -> forall H0 : unit, is_unit H0 -> forall H1 : unit, is_unit H1 -> forall H2 : unit, is_unit H2 -> forall H3 : unit, is_unit H3 -> forall H4 : unit, is_unit H4 -> forall H5 : unit, is_unit H5 -> forall H6 : unit, is_unit H6 -> forall H7 : unit, is_unit H7 -> forall H8 : unit, is_unit H8 -> forall H9 : unit, is_unit H9 -> forall H10 : unit, is_unit H10 -> P (K12 H H0 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10)) -> (forall H : unit, is_unit H -> forall H0 : unit, is_unit H0 -> forall H1 : unit, is_unit H1 -> forall H2 : unit, is_unit H2 -> forall H3 : unit, is_unit H3 -> forall H4 : unit, is_unit H4 -> forall H5 : unit, is_unit H5 -> forall H6 : unit, is_unit H6 -> forall H7 : unit, is_unit H7 -> forall H8 : unit, is_unit H8 -> forall H9 : unit, is_unit H9 -> forall H10 : unit, is_unit H10 -> forall H11 : unit, is_unit H11 -> P (K13 H H0 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11)) -> (forall H : unit, is_unit H -> forall H0 : unit, is_unit H0 -> forall H1 : unit, is_unit H1 -> forall H2 : unit, is_unit H2 -> forall H3 : unit, is_unit H3 -> forall H4 : unit, is_unit H4 -> forall H5 : unit, is_unit H5 -> forall H6 : unit, is_unit H6 -> forall H7 : unit, is_unit H7 -> forall H8 : unit, is_unit H8 -> forall H9 : unit, is_unit H9 -> forall H10 : unit, is_unit H10 -> forall H11 : unit, is_unit H11 -> forall H12 : unit, is_unit H12 -> P (K14 H H0 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12)) -> (forall H : unit, is_unit H -> forall H0 : unit, is_unit H0 -> forall H1 : unit, is_unit H1 -> forall H2 : unit, is_unit H2 -> forall H3 : unit, is_unit H3 -> forall H4 : unit, is_unit H4 -> forall H5 : unit, is_unit H5 -> forall H6 : unit, is_unit H6 -> forall H7 : unit, is_unit H7 -> forall H8 : unit, is_unit H8 -> forall H9 : unit, is_unit H9 -> forall H10 : unit, is_unit H10 -> forall H11 : unit, is_unit H11 -> forall H12 : unit, is_unit H12 -> forall ..., ... -> ...) -> (forall H : unit, is_unit H -> forall H0 : unit, is_unit H0 -> forall H1 : unit, is_unit H1 -> forall H2 : unit, is_unit H2 -> forall H3 : unit, is_unit H3 -> forall H4 : unit, is_unit H4 -> forall H5 : unit, is_unit H5 -> forall H6 : unit, is_unit H6 -> forall H7 : unit, is_unit H7 -> forall H8 : unit, is_unit H8 -> forall H9 : unit, is_unit H9 -> forall H10 : unit, is_unit H10 -> forall H11 : unit, is_unit H11 -> forall H12 : unit, is_unit H12 -> ..., ...) -> (forall H : unit, is_unit H -> forall H0 : unit, is_unit H0 -> forall H1 : unit, is_unit H1 -> forall H2 : unit, is_unit H2 -> forall H3 : unit, is_unit H3 -> forall H4 : unit, is_unit H4 -> forall H5 : unit, is_unit H5 -> forall H6 : unit, is_unit H6 -> forall H7 : unit, is_unit H7 -> forall H8 : unit, is_unit H8 -> forall H9 : unit, is_unit H9 -> forall H10 : unit, is_unit H10 -> forall H11 : unit, is_unit H11 -> forall ..., ... -> ...) -> (forall H : unit, is_unit H -> forall H0 : unit, is_unit H0 -> forall H1 : unit, is_unit H1 -> forall H2 : unit, is_unit H2 -> forall H3 : unit, is_unit H3 -> forall H4 : unit, is_unit H4 -> forall H5 : unit, is_unit H5 -> forall H6 : unit, is_unit H6 -> forall H7 : unit, is_unit H7 -> forall H8 : unit, is_unit H8 -> forall H9 : unit, is_unit H9 -> forall H10 : unit, is_unit H10 -> forall H11 : unit, is_unit H11 -> ..., ...) -> (forall H : unit, is_unit H -> forall H0 : unit, is_unit H0 -> forall H1 : unit, is_unit H1 -> forall H2 : unit, is_unit H2 -> forall H3 : unit, is_unit H3 -> forall H4 : unit, is_unit H4 -> forall H5 : unit, is_unit H5 -> forall H6 : unit, is_unit H6 -> forall H7 : unit, is_unit H7 -> forall H8 : unit, is_unit H8 -> forall H9 : unit, is_unit H9 -> forall H10 : unit, is_unit H10 -> forall ..., ... -> ...) -> (forall H : unit, is_unit H -> forall H0 : unit, is_unit H0 -> forall H1 : unit, is_unit H1 -> forall H2 : unit, is_unit H2 -> forall H3 : unit, is_unit H3 -> forall H4 : unit, is_unit H4 -> forall H5 : unit, is_unit H5 -> forall H6 : unit, is_unit H6 -> forall H7 : unit, is_unit H7 -> forall H8 : unit, is_unit H8 -> forall H9 : unit, is_unit H9 -> forall H10 : unit, is_unit H10 -> ..., ...) -> (forall H : unit, is_unit H -> forall H0 : unit, is_unit H0 -> forall H1 : unit, is_unit H1 -> forall H2 : unit, is_unit H2 -> forall H3 : unit, is_unit H3 -> forall H4 : unit, is_unit H4 -> forall H5 : unit, is_unit H5 -> forall H6 : unit, is_unit H6 -> forall H7 : unit, is_unit H7 -> forall H8 : unit, is_unit H8 -> forall H9 : unit, is_unit H9 -> forall ..., ... -> ...) -> (forall H : unit, is_unit H -> forall H0 : unit, is_unit H0 -> forall H1 : unit, is_unit H1 -> forall H2 : unit, is_unit H2 -> forall H3 : unit, is_unit H3 -> forall H4 : unit, is_unit H4 -> forall H5 : unit, is_unit H5 -> forall H6 : unit, is_unit H6 -> forall H7 : unit, is_unit H7 -> forall H8 : unit, is_unit H8 -> forall H9 : unit, is_unit H9 -> ..., ...) -> (forall H : unit, is_unit H -> forall H0 : unit, is_unit H0 -> forall H1 : unit, is_unit H1 -> forall H2 : unit, is_unit H2 -> forall H3 : unit, is_unit H3 -> forall H4 : unit, is_unit H4 -> forall H5 : unit, is_unit H5 -> forall H6 : unit, is_unit H6 -> forall H7 : unit, is_unit H7 -> forall H8 : unit, is_unit H8 -> forall ..., ... -> ...) -> (forall H : unit, is_unit H -> forall H0 : unit, is_unit H0 -> forall H1 : unit, is_unit H1 -> forall H2 : unit, is_unit H2 -> forall H3 : unit, is_unit H3 -> forall H4 : unit, is_unit H4 -> forall H5 : unit, is_unit H5 -> forall H6 : unit, is_unit H6 -> forall H7 : unit, is_unit H7 -> forall H8 : unit, is_unit H8 -> ..., ...) -> (forall H : unit, is_unit H -> forall H0 : unit, is_unit H0 -> forall H1 : unit, is_unit H1 -> forall H2 : unit, is_unit H2 -> forall H3 : unit, is_unit H3 -> forall H4 : unit, is_unit H4 -> forall H5 : unit, is_unit H5 -> forall H6 : unit, is_unit H6 -> forall H7 : unit, is_unit H7 -> forall ..., ... -> ...) -> (forall H : unit, is_unit H -> forall H0 : unit, is_unit H0 -> forall H1 : unit, is_unit H1 -> forall H2 : unit, is_unit H2 -> forall H3 : unit, is_unit H3 -> forall H4 : unit, is_unit H4 -> forall H5 : unit, is_unit H5 -> forall H6 : unit, is_unit H6 -> forall H7 : unit, is_unit H7 -> ..., ...) -> forall s1 : large, is_large s1 -> P s1 prim_int_induction : forall P : prim_int -> Type, (forall i : PrimInt63.int, is_uint63 i -> P (PI i)) -> forall s1 : prim_int, is_prim_int s1 -> P s1 prim_float_induction : forall P : prim_float -> Type, (forall f : PrimFloat.float, is_float64 f -> P (PF f)) -> forall s1 : prim_float, is_prim_float s1 -> P s1 fo_record_induction : forall P : fo_record -> Type, (forall x : peano, is_peano x -> forall y : unit, is_unit y -> P {| f1 := x; f2 := y |}) -> forall x : fo_record, is_fo_record x -> P x : forall P : fo_record -> Type, (forall x : peano, is_peano x -> forall y : unit, is_unit y -> P {| f1 := x; f2 := y |}) -> forall x : fo_record, is_fo_record x -> P x pa_record_induction : forall (A : Type) (PA : A -> Type) (P : pa_record A -> Type), (forall x : peano, is_peano x -> forall y : A, PA y -> P {| f3 := x; f4 := y |}) -> forall x : pa_record A, is_pa_record A PA x -> P x : forall (A : Type) (PA : A -> Type) (P : pa_record A -> Type), (forall x : peano, is_peano x -> forall y : A, PA y -> P {| f3 := x; f4 := y |}) -> forall x : pa_record A, is_pa_record A PA x -> P x pr_record_induction : forall (A : Type) (pr : A -> Type) (P : pr_record A -> Type), (forall x : peano, is_peano x -> forall y : A, pr y -> P {| pf3 := x; pf4 := y |}) -> forall x : pr_record A, is_pr_record A pr x -> P x : forall (A : Type) (pr : A -> Type) (P : pr_record A -> Type), (forall x : peano, is_peano x -> forall y : A, pr y -> P {| pf3 := x; pf4 := y |}) -> forall x : pr_record A, is_pr_record A pr x -> P x dep_record_induction : forall P : dep_record -> Type, (forall (x : peano) (px : is_peano x) (y : vect unit x), is_vect unit is_unit x px y -> P {| f5 := x; f6 := y |}) -> forall x : dep_record, is_dep_record x -> P x : forall P : dep_record -> Type, (forall (x : peano) (px : is_peano x) (y : vect unit x), is_vect unit is_unit x px y -> P {| f5 := x; f6 := y |}) -> forall x : dep_record, is_dep_record x -> P x enum_induction : forall P : enum -> Type, P E1 -> P E2 -> P E3 -> forall x : enum, is_enum x -> P x : forall P : enum -> Type, P E1 -> P E2 -> P E3 -> forall x : enum, is_enum x -> P x sigma_bool_induction : forall P : sigma_bool -> Type, (forall (depn : peano) (Pdepn : is_peano depn) (depeq : is_zero depn = true), is_eq bool is_bool (is_zero depn) (is_is_zero depn Pdepn) true is_true depeq -> P {| depn := depn; depeq := depeq |}) -> forall s1 : sigma_bool, is_sigma_bool s1 -> P s1 ord_induction : forall (p : peano) (Pp : is_peano p) (P : ord p -> Type), (forall (n : peano) (Pn : is_peano n) (l : is_leq n p = true), is_eq bool is_bool (is_leq n p) (is_is_leq n Pn p Pp) true is_true l -> P (mkOrd p n l)) -> forall o : ord p, is_ord p Pp o -> P o : forall (p : peano) (Pp : is_peano p) (P : ord p -> Type), (forall (n : peano) (Pn : is_peano n) (l : is_leq n p = true), is_eq bool is_bool (is_leq n p) (is_is_leq n Pn p Pp) true is_true l -> P (mkOrd p n l)) -> forall o : ord p, is_ord p Pp o -> P o ord2_induction : forall (p : peano) (Pp : is_peano p) (P : ord2 p -> Type), (forall o1 : ord p, is_ord p Pp o1 -> forall o2 : ord p, is_ord p Pp o2 -> P (mkOrd2 p o1 o2)) -> forall o : ord2 p, is_ord2 p Pp o -> P o : forall (p : peano) (Pp : is_peano p) (P : ord2 p -> Type), (forall o1 : ord p, is_ord p Pp o1 -> forall o2 : ord p, is_ord p Pp o2 -> P (mkOrd2 p o1 o2)) -> forall o : ord2 p, is_ord2 p Pp o -> P o unit_bcongr_tt : reflect (tt = tt) true : reflect (tt = tt) true peano_bcongr_Zero : reflect (Zero = Zero) true : reflect (Zero = Zero) true peano_bcongr_Succ : forall (x y : peano) (b : bool), reflect (x = y) b -> reflect (Succ x = Succ y) b : forall (x y : peano) (b : bool), reflect (x = y) b -> reflect (Succ x = Succ y) b option_bcongr_None : forall A : Type, reflect (None A = None A) true : forall A : Type, reflect (None A = None A) true option_bcongr_Some : forall (A : Type) (x y : A) (b : bool), reflect (x = y) b -> reflect (Some A x = Some A y) b : forall (A : Type) (x y : A) (b : bool), reflect (x = y) b -> reflect (Some A x = Some A y) b pair_bcongr_Comma : forall (A B : Type) (x1 x2 : A) (b1 : bool), reflect (x1 = x2) b1 -> forall (y1 y2 : B) (b2 : bool), reflect (y1 = y2) b2 -> reflect (Comma A B x1 y1 = Comma A B x2 y2) (b1 && b2) : forall (A B : Type) (x1 x2 : A) (b1 : bool), reflect (x1 = x2) b1 -> forall (y1 y2 : B) (b2 : bool), reflect (y1 = y2) b2 -> reflect (Comma A B x1 y1 = Comma A B x2 y2) (b1 && b2) seq_bcongr_Nil : forall A : Type, reflect (Nil A = Nil A) true : forall A : Type, reflect (Nil A = Nil A) true seq_bcongr_Cons : forall (A : Type) (x y : A) (b1 : bool), reflect (x = y) b1 -> forall (xs ys : seq A) (b2 : bool), reflect (xs = ys) b2 -> reflect (Cons A x xs = Cons A y ys) (b1 && b2) : forall (A : Type) (x y : A) (b1 : bool), reflect (x = y) b1 -> forall (xs ys : seq A) (b2 : bool), reflect (xs = ys) b2 -> reflect (Cons A x xs = Cons A y ys) (b1 && b2) rose_bcongr_Leaf : forall (A : Type) (x y : A) (b : bool), reflect (x = y) b -> reflect (Leaf A x = Leaf A y) b : forall (A : Type) (x y : A) (b : bool), reflect (x = y) b -> reflect (Leaf A x = Leaf A y) b rose_bcongr_Node : forall (A : Type) (l1 l2 : seq (rose A)) (b : bool), reflect (l1 = l2) b -> reflect (Node A l1 = Node A l2) b : forall (A : Type) (l1 l2 : seq (rose A)) (b : bool), reflect (l1 = l2) b -> reflect (Node A l1 = Node A l2) b nest_bcongr_NilN : forall A : Type, reflect (NilN A = NilN A) true : forall A : Type, reflect (NilN A = NilN A) true nest_bcongr_ConsN : forall (A : Type) (x y : A) (b1 : bool), reflect (x = y) b1 -> forall (xs ys : nest (pair A A)) (b2 : bool), reflect (xs = ys) b2 -> reflect (ConsN A x xs = ConsN A y ys) (b1 && b2) : forall (A : Type) (x y : A) (b1 : bool), reflect (x = y) b1 -> forall (xs ys : nest (pair A A)) (b2 : bool), reflect (xs = ys) b2 -> reflect (ConsN A x xs = ConsN A y ys) (b1 && b2) w_bcongr_via : forall (A : Type) (f g : A -> w A) (b : bool), reflect (f = g) b -> reflect (via A f = via A g) b : forall (A : Type) (f g : A -> w A) (b : bool), reflect (f = g) b -> reflect (via A f = via A g) b zeta_bcongr_Envelope : forall (A : Type) (x1 x2 : A) (b1 : bool), reflect (x1 = x2) b1 -> forall (y1 y2 : A) (b2 : bool), reflect (y1 = y2) b2 -> reflect (Envelope A x1 y1 = Envelope A x2 y2) (b1 && b2) : forall (A : Type) (x1 x2 : A) (b1 : bool), reflect (x1 = x2) b1 -> forall (y1 y2 : A) (b2 : bool), reflect (y1 = y2) b2 -> reflect (Envelope A x1 y1 = Envelope A x2 y2) (b1 && b2) beta_bcongr_Redex : forall (A : Type) (x y : A) (b : bool), reflect (x = y) b -> reflect (Redex A x = Redex A y) b : forall (A : Type) (x y : A) (b : bool), reflect (x = y) b -> reflect (Redex A x = Redex A y) b prim_int_bcongr_PI : forall (x y : PrimInt63.int) (b : bool), reflect (x = y) b -> reflect (PI x = PI y) b : forall (x y : PrimInt63.int) (b : bool), reflect (x = y) b -> reflect (PI x = PI y) b prim_float_bcongr_PF : forall (x y : PrimFloat.float) (b : bool), reflect (x = y) b -> reflect (PF x = PF y) b : forall (x y : PrimFloat.float) (b : bool), reflect (x = y) b -> reflect (PF x = PF y) b fo_record_bcongr_Build_fo_record : forall (x1 x2 : peano) (b1 : bool), reflect (x1 = x2) b1 -> forall (y1 y2 : unit) (b2 : bool), reflect (y1 = y2) b2 -> reflect ({| f1 := x1; f2 := y1 |} = {| f1 := x2; f2 := y2 |}) (b1 && b2) : forall (x1 x2 : peano) (b1 : bool), reflect (x1 = x2) b1 -> forall (y1 y2 : unit) (b2 : bool), reflect (y1 = y2) b2 -> reflect ({| f1 := x1; f2 := y1 |} = {| f1 := x2; f2 := y2 |}) (b1 && b2) pa_record_bcongr_Build_pa_record : forall (A : Type) (x1 x2 : peano) (b1 : bool), reflect (x1 = x2) b1 -> forall (y1 y2 : A) (b2 : bool), reflect (y1 = y2) b2 -> reflect ({| f3 := x1; f4 := y1 |} = {| f3 := x2; f4 := y2 |}) (b1 && b2) : forall (A : Type) (x1 x2 : peano) (b1 : bool), reflect (x1 = x2) b1 -> forall (y1 y2 : A) (b2 : bool), reflect (y1 = y2) b2 -> reflect ({| f3 := x1; f4 := y1 |} = {| f3 := x2; f4 := y2 |}) (b1 && b2) pr_record_bcongr_Build_pr_record : forall (A : Type) (x1 x2 : peano) (b1 : bool), reflect (x1 = x2) b1 -> forall (y1 y2 : A) (b2 : bool), reflect (y1 = y2) b2 -> reflect ({| pf3 := x1; pf4 := y1 |} = {| pf3 := x2; pf4 := y2 |}) (b1 && b2) : forall (A : Type) (x1 x2 : peano) (b1 : bool), reflect (x1 = x2) b1 -> forall (y1 y2 : A) (b2 : bool), reflect (y1 = y2) b2 -> reflect ({| pf3 := x1; pf4 := y1 |} = {| pf3 := x2; pf4 := y2 |}) (b1 && b2) enum_bcongr_E1 : reflect (E1 = E1) true : reflect (E1 = E1) true enum_bcongr_E2 : reflect (E2 = E2) true : reflect (E2 = E2) true enum_bcongr_E3 : reflect (E3 = E3) true : reflect (E3 = E3) true COQC tests/test_eqK.v Skipping derivation map on indt «nat» since the user did not select it Skipping derivation lens on indt «nat» since the user did not select it Skipping derivation param1 on indt «nat» since it has been already run Skipping derivation param2 on indt «nat» since the user did not select it Skipping derivation tag on indt «nat» since the user did not select it Skipping derivation eqType_ast on indt «nat» since the user did not select it Skipping derivation projK on indt «nat» since it has been already run Skipping derivation isK on indt «nat» since it has been already run Skipping derivation eq on indt «nat» since it has been already run Skipping derivation invert on indt «nat» since the user did not select it Skipping derivation lens_laws on indt «nat» since the user did not select it Skipping derivation param1_congr on indt «nat» since it has been already run Skipping derivation param1_inhab on indt «nat» since it has been already run Skipping derivation param1_functor on indt «nat» since it has been already run Skipping derivation fields on indt «nat» since the user did not select it Skipping derivation bcongr on indt «nat» since it has been already run Skipping derivation idx2inv on indt «nat» since the user did not select it Skipping derivation param1_trivial on indt «nat» since it has been already run Skipping derivation induction on indt «nat» since it has been already run Skipping derivation eqb on indt «nat» since the user did not select it Skipping derivation eqK on indt «nat» since it has been already run Skipping derivation eqbcorrect on indt «nat» since the user did not select it Skipping derivation eqcorrect on indt «nat» since it has been already run Skipping derivation eqbOK on indt «nat» since the user did not select it Skipping derivation eqOK on indt «nat» since it has been already run 1 1 1.000000 1.2 [p 1, p 2, p 3, p 4, p 5, p 6, p 7, p 8, p 9, p 10, p 11, p 12, p 13, p 14, p 15, p 16, p 17, p 18, p 19, p 20, p 21, p 22, p 23, p 24, p 25, p 26, p 27, p 28, p 29, p 30, p 31, p 32, p 33, p 34, p 35, p 36, p 37, p 38, p 39, p 40, p 41, p 42, p 43, p 44, p 45, p 46, p 47, p 48, p 49, p 50, p 51, p 52, p 53, p 54, p 55, p 56, p 57, p 58, p 59, p 60, p 61, p 62, p 63, p 64, p 65, p 66, p 67, p 68, p 69, p 70, p 71, p 72, p 73, p 74, p 75, p 76, p 77, p 78, p 79, p 80, p 81, p 82, p 83, p 84, p 85, p 86, p 87, p 88, p 89, p 90, p 91, p 92, p 93, p 94, p 95, p 96, p 97, p 98, p 99, p 100, p 101, p 102, p 103, p 104, p 105, p 106, p 107, p 108, p 109, p 110, p 111, p 112, p 113, p 114, p 115, p 116, p 117, p 118, p 119, p 120, p 121, p 122, p 123, p 124, p 125, p 126, p 127, p 128, p 129, p 130, p 131, p 132, p 133, p 134, p 135, p 136, p 137, p 138, p 139, p 140, p 141, p 142, p 143, p 144, p 145, p 146, p 147, p 148, p 149, p 150, p 151, p 152, p 153, p 154, p 155, p 156, p 157, p 158, p 159, p 160, p 161, p 162, p 163, p 164, p 165, p 166, p 167, p 168, p 169, p 170, p 171, p 172, p 173, p 174, p 175, p 176, p 177, p 178, p 179, p 180, p 181, p 182, p 183, p 184, p 185, p 186, p 187, p 188, p 189, p 190, p 191, p 192, p 193, p 194, p 195, p 196, p 197, p 198, p 199, p 200, p 201, p 202, p 203, p 204, p 205, p 206, p 207, p 208, p 209, p 210, p 211, p 212, p 213, p 214, p 215, p 216, p 217, p 218, p 219, p 220, p 221, p 222, p 223, p 224, p 225, p 226, p 227, p 228, p 229, p 230, p 231, p 232, p 233, p 234, p 235, p 236, p 237, p 238, p 239, p 240, p 241, p 242, p 243, p 244, p 245, p 246, p 247, p 248, p 249, p 250, p 251, p 252, p 253, p 254, p 255, p 256, p 257, p 258, p 259, p 260, p 261, p 262, p 263, p 264, p 265, p 266, p 267, p 268, p 269, p 270, p 271, p 272, p 273, p 274, p 275, p 276, p 277, p 278, p 279, p 280, p 281, p 282, p 283, p 284, p 285, p 286, p 287, p 288, p 289, p 290, p 291, p 292, p 293, p 294, p 295, p 296, p 297, p 298, p 299, p 300, p 301, p 302, p 303, p 304, p 305, p 306, p 307, p 308, p 309, p 310, p 311, p 312, p 313, p 314, p 315, p 316, p 317, p 318, p 319, p 320, p 321, p 322, p 323, p 324, p 325, p 326, p 327, p 328, p 329, p 330, p 331, p 332, p 333, p 334, p 335, p 336, p 337, p 338, p 339, p 340, p 341, p 342, p 343, p 344, p 345, p 346, p 347, p 348, p 349, p 350, p 351, p 352, p 353, p 354, p 355, p 356, p 357, p 358, p 359, p 360, p 361, p 362, p 363, p 364, p 365, p 366, p 367, p 368, p 369, p 370, p 371, p 372, p 373, p 374, p 375, p 376, p 377, p 378, p 379, p 380, p 381, p 382, p 383, p 384, p 385, p 386, p 387, p 388, p 389, p 390, p 391, p 392, p 393, p 394, p 395, p 396, p 397, p 398, p 399, p 400, p 401, p 402, p 403, p 404, p 405, p 406, p 407, p 408, p 409, p 410, p 411, p 412, p 413, p 414, p 415, p 416, p 417, p 418, p 419, p 420, p 421, p 422, p 423, p 424, p 425, p 426, p 427, p 428, p 429, p 430, p 431, p 432, p 433, p 434, p 435, p 436, p 437, p 438, p 439, p 440, p 441, p 442, p 443, p 444, p 445, p 446, p 447, p 448, p 449, p 450, p 451, p 452, p 453, p 454, p 455, p 456, p 457, p 458, p 459, p 460, p 461, p 462, p 463, p 464, p 465, p 466, p 467, p 468, p 469, p 470, p 471, p 472, p 473, p 474, p 475, p 476, p 477, p 478, p 479, p 480, p 481, p 482, p 483, p 484, p 485, p 486, p 487, p 488, p 489, p 490, p 491, p 492, p 493, p 494, p 495, p 496, p 497, p 498, p 499, p 500, p 501, p 502, p 503, p 504, p 505, p 506, p 507, p 508, p 509, p 510, p 511, p 512, p 513, p 514, p 515, p 516, p 517, p 518, p 519, p 520, p 521, p 522, p 523, p 524, p 525, p 526, p 527, p 528, p 529, p 530, p 531, p 532, p 533, p 534, p 535, p 536, p 537, p 538, p 539, p 540, p 541, p 542, p 543, p 544, p 545, p 546, p 547, p 548, p 549, p 550, p 551, p 552, p 553, p 554, p 555, p 556, p 557, p 558, p 559, p 560, p 561, p 562, p 563, p 564, p 565, p 566, p 567, p 568, p 569, p 570, p 571, p 572, p 573, p 574, p 575, p 576, p 577, p 578, p 579, p 580, p 581, p 582, p 583, p 584, p 585, p 586, p 587, p 588, p 589, p 590, p 591, p 592, p 593, p 594, p 595, p 596, p 597, p 598, p 599, p 600, p 601, p 602, p 603, p 604, p 605, p 606, p 607, p 608, p 609, p 610, p 611, p 612, p 613, p 614, p 615, p 616, p 617, p 618, p 619, p 620, p 621, p 622, p 623, p 624, p 625, p 626, p 627, p 628, p 629, p 630, p 631, p 632, p 633, p 634, p 635, p 636, p 637, p 638, p 639, p 640, p 641, p 642, p 643, p 644, p 645, p 646, p 647, p 648, p 649, p 650, p 651, p 652, p 653, p 654, p 655, p 656, p 657, p 658, p 659, p 660, p 661, p 662, p 663, p 664, p 665, p 666, p 667, p 668, p 669, p 670, p 671, p 672, p 673, p 674, p 675, p 676, p 677, p 678, p 679, p 680, p 681, p 682, p 683, p 684, p 685, p 686, p 687, p 688, p 689, p 690, p 691, p 692, p 693, p 694, p 695, p 696, p 697, p 698, p 699, p 700, p 701, p 702, p 703, p 704, p 705, p 706, p 707, p 708, p 709, p 710, p 711, p 712, p 713, p 714, p 715, p 716, p 717, p 718, p 719, p 720, p 721, p 722, p 723, p 724, p 725, p 726, p 727, p 728, p 729, p 730, p 731, p 732, p 733, p 734, p 735, p 736, p 737, p 738, p 739, p 740, p 741, p 742, p 743, p 744, p 745, p 746, p 747, p 748, p 749, p 750, p 751, p 752, p 753, p 754, p 755, p 756, p 757, p 758, p 759, p 760, p 761, p 762, p 763, p 764, p 765, p 766, p 767, p 768, p 769, p 770, p 771, p 772, p 773, p 774, p 775, p 776, p 777, p 778, p 779, p 780, p 781, p 782, p 783, p 784, p 785, p 786, p 787, p 788, p 789, p 790, p 791, p 792, p 793, p 794, p 795, p 796, p 797, p 798, p 799, p 800, p 801, p 802, p 803, p 804, p 805, p 806, p 807, p 808, p 809, p 810, p 811, p 812, p 813, p 814, p 815, p 816, p 817, p 818, p 819, p 820, p 821, p 822, p 823, p 824, p 825, p 826, p 827, p 828, p 829, p 830, p 831, p 832, p 833, p 834, p 835, p 836, p 837, p 838, p 839, p 840, p 841, p 842, p 843, p 844, p 845, p 846, p 847, p 848, p 849, p 850, p 851, p 852, p 853, p 854, p 855, p 856, p 857, p 858, p 859, p 860, p 861, p 862, p 863, p 864, p 865, p 866, p 867, p 868, p 869, p 870, p 871, p 872, p 873, p 874, p 875, p 876, p 877, p 878, p 879, p 880, p 881, p 882, p 883, p 884, p 885, p 886, p 887, p 888, p 889, p 890, p 891, p 892, p 893, p 894, p 895, p 896, p 897, p 898, p 899, p 900, p 901, p 902, p 903, p 904, p 905, p 906, p 907, p 908, p 909, p 910, p 911, p 912, p 913, p 914, p 915, p 916, p 917, p 918, p 919, p 920, p 921, p 922, p 923, p 924, p 925, p 926, p 927, p 928, p 929, p 930, p 931, p 932, p 933, p 934, p 935, p 936, p 937, p 938, p 939, p 940, p 941, p 942, p 943, p 944, p 945, p 946, p 947, p 948, p 949, p 950, p 951, p 952, p 953, p 954, p 955, p 956, p 957, p 958, p 959, p 960, p 961, p 962, p 963, p 964, p 965, p 966, p 967, p 968, p 969, p 970, p 971, p 972, p 973, p 974, p 975, p 976, p 977, p 978, p 979, p 980, p 981, p 982, p 983, p 984, p 985, p 986, p 987, p 988, p 989, p 990, p 991, p 992, p 993, p 994, p 995, p 996, p 997, p 998, p 999, p 1000, p 1001, p 1002, p 1003, p 1004, p 1005, p 1006, p 1007, p 1008, p 1009, p 1010, p 1011, p 1012, p 1013, p 1014, p 1015, p 1016, p 1017, p 1018, p 1019, p 1020, p 1021, p 1022, p 1023, p 1024, p 1025, p 1026, p 1027, p 1028, p 1029, p 1030, p 1031, p 1032, p 1033, p 1034, p 1035, p 1036, p 1037, p 1038, p 1039, p 1040, p 1041, p 1042, p 1043, p 1044, p 1045, p 1046, p 1047, p 1048, p 1049, p 1050, p 1051, p 1052, p 1053, p 1054, p 1055, p 1056, p 1057, p 1058, p 1059, p 1060, p 1061, p 1062, p 1063, p 1064, p 1065, p 1066, p 1067, p 1068, p 1069, p 1070, p 1071, p 1072, p 1073, p 1074, p 1075, p 1076, p 1077, p 1078, p 1079, p 1080, p 1081, p 1082, p 1083, p 1084, p 1085, p 1086, p 1087, p 1088, p 1089, p 1090, p 1091, p 1092, p 1093, p 1094, p 1095, p 1096, p 1097, p 1098, p 1099, p 1100, p 1101, p 1102, p 1103, p 1104, p 1105, p 1106, p 1107, p 1108, p 1109, p 1110, p 1111, p 1112, p 1113, p 1114, p 1115, p 1116, p 1117, p 1118, p 1119, p 1120, p 1121, p 1122, p 1123, p 1124, p 1125, p 1126, p 1127, p 1128, p 1129, p 1130, p 1131, p 1132, p 1133, p 1134, p 1135, p 1136, p 1137, p 1138, p 1139, p 1140, p 1141, p 1142, p 1143, p 1144, p 1145, p 1146, p 1147, p 1148, p 1149, p 1150, p 1151, p 1152, p 1153, p 1154, p 1155, p 1156, p 1157, p 1158, p 1159, p 1160, p 1161, p 1162, p 1163, p 1164, p 1165, p 1166, p 1167, p 1168, p 1169, p 1170, p 1171, p 1172, p 1173, p 1174, p 1175, p 1176, p 1177, p 1178, p 1179, p 1180, p 1181, p 1182, p 1183, p 1184, p 1185, p 1186, p 1187, p 1188, p 1189, p 1190, p 1191, p 1192, p 1193, p 1194, p 1195, p 1196, p 1197, p 1198, p 1199, p 1200, p 1201, p 1202, p 1203, p 1204, p 1205, p 1206, p 1207, p 1208, p 1209, p 1210, p 1211, p 1212, p 1213, p 1214, p 1215, p 1216, p 1217, p 1218, p 1219, p 1220, p 1221, p 1222, p 1223, p 1224, p 1225, p 1226, p 1227, p 1228, p 1229, p 1230, p 1231, p 1232, p 1233, p 1234, p 1235, p 1236, p 1237, p 1238, p 1239, p 1240, p 1241, p 1242, p 1243, p 1244, p 1245, p 1246, p 1247, p 1248, p 1249, p 1250, p 1251, p 1252, p 1253, p 1254, p 1255, p 1256, p 1257, p 1258, p 1259, p 1260, p 1261, p 1262, p 1263, p 1264, p 1265, p 1266, p 1267, p 1268, p 1269, p 1270, p 1271, p 1272, p 1273, p 1274, p 1275, p 1276, p 1277, p 1278, p 1279, p 1280, p 1281, p 1282, p 1283, p 1284, p 1285, p 1286, p 1287, p 1288, p 1289, p 1290, p 1291, p 1292, p 1293, p 1294, p 1295, p 1296, p 1297, p 1298, p 1299, p 1300, p 1301, p 1302, p 1303, p 1304, p 1305, p 1306, p 1307, p 1308, p 1309, p 1310, p 1311, p 1312, p 1313, p 1314, p 1315, p 1316, p 1317, p 1318, p 1319, p 1320, p 1321, p 1322, p 1323, p 1324, p 1325, p 1326, p 1327, p 1328, p 1329, p 1330, p 1331, p 1332, p 1333, p 1334, p 1335, p 1336, p 1337, p 1338, p 1339, p 1340, p 1341, p 1342, p 1343, p 1344, p 1345, p 1346, p 1347, p 1348, p 1349, p 1350, p 1351, p 1352, p 1353, p 1354, p 1355, p 1356, p 1357, p 1358, p 1359, p 1360, p 1361, p 1362, p 1363, p 1364, p 1365, p 1366, p 1367, p 1368, p 1369, p 1370, p 1371, p 1372, p 1373, p 1374, p 1375, p 1376, p 1377, p 1378, p 1379, p 1380, p 1381, p 1382, p 1383, p 1384, p 1385, p 1386, p 1387, p 1388, p 1389, p 1390, p 1391, p 1392, p 1393, p 1394, p 1395, p 1396, p 1397, p 1398, p 1399, p 1400, p 1401, p 1402, p 1403, p 1404, p 1405, p 1406, p 1407, p 1408, p 1409, p 1410, p 1411, p 1412, p 1413, p 1414, p 1415, p 1416, p 1417, p 1418, p 1419, p 1420, p 1421, p 1422, p 1423, p 1424, p 1425, p 1426, p 1427, p 1428, p 1429, p 1430, p 1431, p 1432, p 1433, p 1434, p 1435, p 1436, p 1437, p 1438, p 1439, p 1440, p 1441, p 1442, p 1443, p 1444, p 1445, p 1446, p 1447, p 1448, p 1449, p 1450, p 1451, p 1452, p 1453, p 1454, p 1455, p 1456, p 1457, p 1458, p 1459, p 1460, p 1461, p 1462, p 1463, p 1464, p 1465, p 1466, p 1467, p 1468, p 1469, p 1470, p 1471, p 1472, p 1473, p 1474, p 1475, p 1476, p 1477, p 1478, p 1479, p 1480, p 1481, p 1482, p 1483, p 1484, p 1485, p 1486, p 1487, p 1488, p 1489, p 1490, p 1491, p 1492, p 1493, p 1494, p 1495, p 1496, p 1497, p 1498, p 1499, p 1500, p 1501, p 1502, p 1503, p 1504, p 1505, p 1506, p 1507, p 1508, p 1509, p 1510, p 1511, p 1512, p 1513, p 1514, p 1515, p 1516, p 1517, p 1518, p 1519, p 1520, p 1521, p 1522, p 1523, p 1524, p 1525, p 1526, p 1527, p 1528, p 1529, p 1530, p 1531, p 1532, p 1533, p 1534, p 1535, p 1536, p 1537, p 1538, p 1539, p 1540, p 1541, p 1542, p 1543, p 1544, p 1545, p 1546, p 1547, p 1548, p 1549, p 1550, p 1551, p 1552, p 1553, p 1554, p 1555, p 1556, p 1557, p 1558, p 1559, p 1560, p 1561, p 1562, p 1563, p 1564, p 1565, p 1566, p 1567, p 1568, p 1569, p 1570, p 1571, p 1572, p 1573, p 1574, p 1575, p 1576, p 1577, p 1578, p 1579, p 1580, p 1581, p 1582, p 1583, p 1584, p 1585, p 1586, p 1587, p 1588, p 1589, p 1590, p 1591, p 1592, p 1593, p 1594, p 1595, p 1596, p 1597, p 1598, p 1599, p 1600, p 1601, p 1602, p 1603, p 1604, p 1605, p 1606, p 1607, p 1608, p 1609, p 1610, p 1611, p 1612, p 1613, p 1614, p 1615, p 1616, p 1617, p 1618, p 1619, p 1620, p 1621, p 1622, p 1623, p 1624, p 1625, p 1626, p 1627, p 1628, p 1629, p 1630, p 1631, p 1632, p 1633, p 1634, p 1635, p 1636, p 1637, p 1638, p 1639, p 1640, p 1641, p 1642, p 1643, p 1644, p 1645, p 1646, p 1647, p 1648, p 1649, p 1650, p 1651, p 1652, p 1653, p 1654, p 1655, p 1656, p 1657, p 1658, p 1659, p 1660, p 1661, p 1662, p 1663, p 1664, p 1665, p 1666, p 1667, p 1668, p 1669, p 1670, p 1671, p 1672, p 1673, p 1674, p 1675, p 1676, p 1677, p 1678, p 1679, p 1680, p 1681, p 1682, p 1683, p 1684, p 1685, p 1686, p 1687, p 1688, p 1689, p 1690, p 1691, p 1692, p 1693, p 1694, p 1695, p 1696, p 1697, p 1698, p 1699, p 1700, p 1701, p 1702, p 1703, p 1704, p 1705, p 1706, p 1707, p 1708, p 1709, p 1710, p 1711, p 1712, p 1713, p 1714, p 1715, p 1716, p 1717, p 1718, p 1719, p 1720, p 1721, p 1722, p 1723, p 1724, p 1725, p 1726, p 1727, p 1728, p 1729, p 1730, p 1731, p 1732, p 1733, p 1734, p 1735, p 1736, p 1737, p 1738, p 1739, p 1740, p 1741, p 1742, p 1743, p 1744, p 1745, p 1746, p 1747, p 1748, p 1749, p 1750, p 1751, p 1752, p 1753, p 1754, p 1755, p 1756, p 1757, p 1758, p 1759, p 1760, p 1761, p 1762, p 1763, p 1764, p 1765, p 1766, p 1767, p 1768, p 1769, p 1770, p 1771, p 1772, p 1773, p 1774, p 1775, p 1776, p 1777, p 1778, p 1779, p 1780, p 1781, p 1782, p 1783, p 1784, p 1785, p 1786, p 1787, p 1788, p 1789, p 1790, p 1791, p 1792, p 1793, p 1794, p 1795, p 1796, p 1797, p 1798, p 1799, p 1800, p 1801, p 1802, p 1803, p 1804, p 1805, p 1806, p 1807, p 1808, p 1809, p 1810, p 1811, p 1812, p 1813, p 1814, p 1815, p 1816, p 1817, p 1818, p 1819, p 1820, p 1821, p 1822, p 1823, p 1824, p 1825, p 1826, p 1827, p 1828, p 1829, p 1830, p 1831, p 1832, p 1833, p 1834, p 1835, p 1836, p 1837, p 1838, p 1839, p 1840, p 1841, p 1842, p 1843, p 1844, p 1845, p 1846, p 1847, p 1848, p 1849, p 1850, p 1851, p 1852, p 1853, p 1854, p 1855, p 1856, p 1857, p 1858, p 1859, p 1860, p 1861, p 1862, p 1863, p 1864, p 1865, p 1866, p 1867, p 1868, p 1869, p 1870, p 1871, p 1872, p 1873, p 1874, p 1875, p 1876, p 1877, p 1878, p 1879, p 1880, p 1881, p 1882, p 1883, p 1884, p 1885, p 1886, p 1887, p 1888, p 1889, p 1890, p 1891, p 1892, p 1893, p 1894, p 1895, p 1896, p 1897, p 1898, p 1899, p 1900, p 1901, p 1902, p 1903, p 1904, p 1905, p 1906, p 1907, p 1908, p 1909, p 1910, p 1911, p 1912, p 1913, p 1914, p 1915, p 1916, p 1917, p 1918, p 1919, p 1920, p 1921, p 1922, p 1923, p 1924, p 1925, p 1926, p 1927, p 1928, p 1929, p 1930, p 1931, p 1932, p 1933, p 1934, p 1935, p 1936, p 1937, p 1938, p 1939, p 1940, p 1941, p 1942, p 1943, p 1944, p 1945, p 1946, p 1947, p 1948, p 1949, p 1950, p 1951, p 1952, p 1953, p 1954, p 1955, p 1956, p 1957, p 1958, p 1959, p 1960, p 1961, p 1962, p 1963, p 1964, p 1965, p 1966, p 1967, p 1968, p 1969, p 1970, p 1971, p 1972, p 1973, p 1974, p 1975, p 1976, p 1977, p 1978, p 1979, p 1980, p 1981, p 1982, p 1983, p 1984, p 1985, p 1986, p 1987, p 1988, p 1989, p 1990, p 1991, p 1992, p 1993, p 1994, p 1995, p 1996, p 1997, p 1998, p 1999, p 2000, p 2001, p 2002, p 2003, p 2004, p 2005, p 2006, p 2007, p 2008, p 2009, p 2010, p 2011, p 2012, p 2013, p 2014, p 2015, p 2016, p 2017, p 2018, p 2019, p 2020, p 2021, p 2022, p 2023, p 2024, p 2025, p 2026, p 2027, p 2028, p 2029, p 2030, p 2031, p 2032, p 2033, p 2034, p 2035, p 2036, p 2037, p 2038, p 2039, p 2040, p 2041, p 2042, p 2043, p 2044, p 2045, p 2046, p 2047, p 2048, p 2049, p 2050, p 2051, p 2052, p 2053, p 2054, p 2055, p 2056, p 2057, p 2058, p 2059, p 2060, p 2061, p 2062, p 2063, p 2064, p 2065, p 2066, p 2067, p 2068, p 2069, p 2070, p 2071, p 2072, p 2073, p 2074, p 2075, p 2076, p 2077, p 2078, p 2079, p 2080, p 2081, p 2082, p 2083, p 2084, p 2085, p 2086, p 2087, p 2088, p 2089, p 2090, p 2091, p 2092, p 2093, p 2094, p 2095, p 2096, p 2097, p 2098, p 2099, p 2100, p 2101, p 2102, p 2103, p 2104, p 2105, p 2106, p 2107, p 2108, p 2109, p 2110, p 2111, p 2112, p 2113, p 2114, p 2115, p 2116, p 2117, p 2118, p 2119, p 2120, p 2121, p 2122, p 2123, p 2124, p 2125, p 2126, p 2127, p 2128, p 2129, p 2130, p 2131, p 2132, p 2133, p 2134, p 2135, p 2136, p 2137, p 2138, p 2139, p 2140, p 2141, p 2142, p 2143, p 2144, p 2145, p 2146, p 2147, p 2148, p 2149, p 2150, p 2151, p 2152, p 2153, p 2154, p 2155, p 2156, p 2157, p 2158, p 2159, p 2160, p 2161, p 2162, p 2163, p 2164, p 2165, p 2166, p 2167, p 2168, p 2169, p 2170, p 2171, p 2172, p 2173, p 2174, p 2175, p 2176, p 2177, p 2178, p 2179, p 2180, p 2181, p 2182, p 2183, p 2184, p 2185, p 2186, p 2187, p 2188, p 2189, p 2190, p 2191, p 2192, p 2193, p 2194, p 2195, p 2196, p 2197, p 2198, p 2199, p 2200, p 2201, p 2202, p 2203, p 2204, p 2205, p 2206, p 2207, p 2208, p 2209, p 2210, p 2211, p 2212, p 2213, p 2214, p 2215, p 2216, p 2217, p 2218, p 2219, p 2220, p 2221, p 2222, p 2223, p 2224, p 2225, p 2226, p 2227, p 2228, p 2229, p 2230, p 2231, p 2232, p 2233, p 2234, p 2235, p 2236, p 2237, p 2238, p 2239, p 2240, p 2241, p 2242, p 2243, p 2244, p 2245, p 2246, p 2247, p 2248, p 2249, p 2250, p 2251, p 2252, p 2253, p 2254, p 2255, p 2256, p 2257, p 2258, p 2259, p 2260, p 2261, p 2262, p 2263, p 2264, p 2265, p 2266, p 2267, p 2268, p 2269, p 2270, p 2271, p 2272, p 2273, p 2274, p 2275, p 2276, p 2277, p 2278, p 2279, p 2280, p 2281, p 2282, p 2283, p 2284, p 2285, p 2286, p 2287, p 2288, p 2289, p 2290, p 2291, p 2292, p 2293, p 2294, p 2295, p 2296, p 2297, p 2298, p 2299, p 2300, p 2301, p 2302, p 2303, p 2304, p 2305, p 2306, p 2307, p 2308, p 2309, p 2310, p 2311, p 2312, p 2313, p 2314, p 2315, p 2316, p 2317, p 2318, p 2319, p 2320, p 2321, p 2322, p 2323, p 2324, p 2325, p 2326, p 2327, p 2328, p 2329, p 2330, p 2331, p 2332, p 2333, p 2334, p 2335, p 2336, p 2337, p 2338, p 2339, p 2340, p 2341, p 2342, p 2343, p 2344, p 2345, p 2346, p 2347, p 2348, p 2349, p 2350, p 2351, p 2352, p 2353, p 2354, p 2355, p 2356, p 2357, p 2358, p 2359, p 2360, p 2361, p 2362, p 2363, p 2364, p 2365, p 2366, p 2367, p 2368, p 2369, p 2370, p 2371, p 2372, p 2373, p 2374, p 2375, p 2376, p 2377, p 2378, p 2379, p 2380, p 2381, p 2382, p 2383, p 2384, p 2385, p 2386, p 2387, p 2388, p 2389, p 2390, p 2391, p 2392, p 2393, p 2394, p 2395, p 2396, p 2397, p 2398, p 2399, p 2400, p 2401, p 2402, p 2403, p 2404, p 2405, p 2406, p 2407, p 2408, p 2409, p 2410, p 2411, p 2412, p 2413, p 2414, p 2415, p 2416, p 2417, p 2418, p 2419, p 2420, p 2421, p 2422, p 2423, p 2424, p 2425, p 2426, p 2427, p 2428, p 2429, p 2430, p 2431, p 2432, p 2433, p 2434, p 2435, p 2436, p 2437, p 2438, p 2439, p 2440, p 2441, p 2442, p 2443, p 2444, p 2445, p 2446, p 2447, p 2448, p 2449, p 2450, p 2451, p 2452, p 2453, p 2454, p 2455, p 2456, p 2457, p 2458, p 2459, p 2460, p 2461, p 2462, p 2463, p 2464, p 2465, p 2466, p 2467, p 2468, p 2469, p 2470, p 2471, p 2472, p 2473, p 2474, p 2475, p 2476, p 2477, p 2478, p 2479, p 2480, p 2481, p 2482, p 2483, p 2484, p 2485, p 2486, p 2487, p 2488, p 2489, p 2490, p 2491, p 2492, p 2493, p 2494, p 2495, p 2496, p 2497, p 2498, p 2499, p 2500, p 2501, p 2502, p 2503, p 2504, p 2505, p 2506, p 2507, p 2508, p 2509, p 2510, p 2511, p 2512, p 2513, p 2514, p 2515, p 2516, p 2517, p 2518, p 2519, p 2520, p 2521, p 2522, p 2523, p 2524, p 2525, p 2526, p 2527, p 2528, p 2529, p 2530, p 2531, p 2532, p 2533, p 2534, p 2535, p 2536, p 2537, p 2538, p 2539, p 2540, p 2541, p 2542, p 2543, p 2544, p 2545, p 2546, p 2547, p 2548, p 2549, p 2550, p 2551, p 2552, p 2553, p 2554, p 2555, p 2556, p 2557, p 2558, p 2559, p 2560, p 2561, p 2562, p 2563, p 2564, p 2565, p 2566, p 2567, p 2568, p 2569, p 2570, p 2571, p 2572, p 2573, p 2574, p 2575, p 2576, p 2577, p 2578, p 2579, p 2580, p 2581, p 2582, p 2583, p 2584, p 2585, p 2586, p 2587, p 2588, p 2589, p 2590, p 2591, p 2592, p 2593, p 2594, p 2595, p 2596, p 2597, p 2598, p 2599, p 2600, p 2601, p 2602, p 2603, p 2604, p 2605, p 2606, p 2607, p 2608, p 2609, p 2610, p 2611, p 2612, p 2613, p 2614, p 2615, p 2616, p 2617, p 2618, p 2619, p 2620, p 2621, p 2622, p 2623, p 2624, p 2625, p 2626, p 2627, p 2628, p 2629, p 2630, p 2631, p 2632, p 2633, p 2634, p 2635, p 2636, p 2637, p 2638, p 2639, p 2640, p 2641, p 2642, p 2643, p 2644, p 2645, p 2646, p 2647, p 2648, p 2649, p 2650, p 2651, p 2652, p 2653, p 2654, p 2655, p 2656, p 2657, p 2658, p 2659, p 2660, p 2661, p 2662, p 2663, p 2664, p 2665, p 2666, p 2667, p 2668, p 2669, p 2670, p 2671, p 2672, p 2673, p 2674, p 2675, p 2676, p 2677, p 2678, p 2679, p 2680, p 2681, p 2682, p 2683, p 2684, p 2685, p 2686, p 2687, p 2688, p 2689, p 2690, p 2691, p 2692, p 2693, p 2694, p 2695, p 2696, p 2697, p 2698, p 2699, p 2700, p 2701, p 2702, p 2703, p 2704, p 2705, p 2706, p 2707, p 2708, p 2709, p 2710, p 2711, p 2712, p 2713, p 2714, p 2715, p 2716, p 2717, p 2718, p 2719, p 2720, p 2721, p 2722, p 2723, p 2724, p 2725, p 2726, p 2727, p 2728, p 2729, p 2730, p 2731, p 2732, p 2733, p 2734, p 2735, p 2736, p 2737, p 2738, p 2739, p 2740, p 2741, p 2742, p 2743, p 2744, p 2745, p 2746, p 2747, p 2748, p 2749, p 2750, p 2751, p 2752, p 2753, p 2754, p 2755, p 2756, p 2757, p 2758, p 2759, p 2760, p 2761, p 2762, p 2763, p 2764, p 2765, p 2766, p 2767, p 2768, p 2769, p 2770, p 2771, p 2772, p 2773, p 2774, p 2775, p 2776, p 2777, p 2778, p 2779, p 2780, p 2781, p 2782, p 2783, p 2784, p 2785, p 2786, p 2787, p 2788, p 2789, p 2790, p 2791, p 2792, p 2793, p 2794, p 2795, p 2796, p 2797, p 2798, p 2799, p 2800, p 2801, p 2802, p 2803, p 2804, p 2805, p 2806, p 2807, p 2808, p 2809, p 2810, p 2811, p 2812, p 2813, p 2814, p 2815, p 2816, p 2817, p 2818, p 2819, p 2820, p 2821, p 2822, p 2823, p 2824, p 2825, p 2826, p 2827, p 2828, p 2829, p 2830, p 2831, p 2832, p 2833, p 2834, p 2835, p 2836, p 2837, p 2838, p 2839, p 2840, p 2841, p 2842, p 2843, p 2844, p 2845, p 2846, p 2847, p 2848, p 2849, p 2850, p 2851, p 2852, p 2853, p 2854, p 2855, p 2856, p 2857, p 2858, p 2859, p 2860, p 2861, p 2862, p 2863, p 2864, p 2865, p 2866, p 2867, p 2868, p 2869, p 2870, p 2871, p 2872, p 2873, p 2874, p 2875, p 2876, p 2877, p 2878, p 2879, p 2880, p 2881, p 2882, p 2883, p 2884, p 2885, p 2886, p 2887, p 2888, p 2889, p 2890, p 2891, p 2892, p 2893, p 2894, p 2895, p 2896, p 2897, p 2898, p 2899, p 2900, p 2901, p 2902, p 2903, p 2904, p 2905, p 2906, p 2907, p 2908, p 2909, p 2910, p 2911, p 2912, p 2913, p 2914, p 2915, p 2916, p 2917, p 2918, p 2919, p 2920, p 2921, p 2922, p 2923, p 2924, p 2925, p 2926, p 2927, p 2928, p 2929, p 2930, p 2931, p 2932, p 2933, p 2934, p 2935, p 2936, p 2937, p 2938, p 2939, p 2940, p 2941, p 2942, p 2943, p 2944, p 2945, p 2946, p 2947, p 2948, p 2949, p 2950, p 2951, p 2952, p 2953, p 2954, p 2955, p 2956, p 2957, p 2958, p 2959, p 2960, p 2961, p 2962, p 2963, p 2964, p 2965, p 2966, p 2967, p 2968, p 2969, p 2970, p 2971, p 2972, p 2973, p 2974, p 2975, p 2976, p 2977, p 2978, p 2979, p 2980, p 2981, p 2982, p 2983, p 2984, p 2985, p 2986, p 2987, p 2988, p 2989, p 2990, p 2991, p 2992, p 2993, p 2994, p 2995, p 2996, p 2997, p 2998, p 2999, p 3000, p 3001, p 3002, p 3003, p 3004, p 3005, p 3006, p 3007, p 3008, p 3009, p 3010, p 3011, p 3012, p 3013, p 3014, p 3015, p 3016, p 3017, p 3018, p 3019, p 3020, p 3021, p 3022, p 3023, p 3024, p 3025, p 3026, p 3027, p 3028, p 3029, p 3030, p 3031, p 3032, p 3033, p 3034, p 3035, p 3036, p 3037, p 3038, p 3039, p 3040, p 3041, p 3042, p 3043, p 3044, p 3045, p 3046, p 3047, p 3048, p 3049, p 3050, p 3051, p 3052, p 3053, p 3054, p 3055, p 3056, p 3057, p 3058, p 3059, p 3060, p 3061, p 3062, p 3063, p 3064, p 3065, p 3066, p 3067, p 3068, p 3069, p 3070, p 3071, p 3072, p 3073, p 3074, p 3075, p 3076, p 3077, p 3078, p 3079, p 3080, p 3081, p 3082, p 3083, p 3084, p 3085, p 3086, p 3087, p 3088, p 3089, p 3090, p 3091, p 3092, p 3093, p 3094, p 3095, p 3096, p 3097, p 3098, p 3099, p 3100, p 3101, p 3102, p 3103, p 3104, p 3105, p 3106, p 3107, p 3108, p 3109, p 3110, p 3111, p 3112, p 3113, p 3114, p 3115, p 3116, p 3117, p 3118, p 3119, p 3120, p 3121, p 3122, p 3123, p 3124, p 3125, p 3126, p 3127, p 3128, p 3129, p 3130, p 3131, p 3132, p 3133, p 3134, p 3135, p 3136, p 3137, p 3138, p 3139, p 3140, p 3141, p 3142, p 3143, p 3144, p 3145, p 3146, p 3147, p 3148, p 3149, p 3150, p 3151, p 3152, p 3153, p 3154, p 3155, p 3156, p 3157, p 3158, p 3159, p 3160, p 3161, p 3162, p 3163, p 3164, p 3165, p 3166, p 3167, p 3168, p 3169, p 3170, p 3171, p 3172, p 3173, p 3174, p 3175, p 3176, p 3177, p 3178, p 3179, p 3180, p 3181, p 3182, p 3183, p 3184, p 3185, p 3186, p 3187, p 3188, p 3189, p 3190, p 3191, p 3192, p 3193, p 3194, p 3195, p 3196, p 3197, p 3198, p 3199, p 3200, p 3201, p 3202, p 3203, p 3204, p 3205, p 3206, p 3207, p 3208, p 3209, p 3210, p 3211, p 3212, p 3213, p 3214, p 3215, p 3216, p 3217, p 3218, p 3219, p 3220, p 3221, p 3222, p 3223, p 3224, p 3225, p 3226, p 3227, p 3228, p 3229, p 3230, p 3231, p 3232, p 3233, p 3234, p 3235, p 3236, p 3237, p 3238, p 3239, p 3240, p 3241, p 3242, p 3243, p 3244, p 3245, p 3246, p 3247, p 3248, p 3249, p 3250, p 3251, p 3252, p 3253, p 3254, p 3255, p 3256, p 3257, p 3258, p 3259, p 3260, p 3261, p 3262, p 3263, p 3264, p 3265, p 3266, p 3267, p 3268, p 3269, p 3270, p 3271, p 3272, p 3273, p 3274, p 3275, p 3276, p 3277, p 3278, p 3279, p 3280, p 3281, p 3282, p 3283, p 3284, p 3285, p 3286, p 3287, p 3288, p 3289, p 3290, p 3291, p 3292, p 3293, p 3294, p 3295, p 3296, p 3297, p 3298, p 3299, p 3300, p 3301, p 3302, p 3303, p 3304, p 3305, p 3306, p 3307, p 3308, p 3309, p 3310, p 3311, p 3312, p 3313, p 3314, p 3315, p 3316, p 3317, p 3318, p 3319, p 3320, p 3321, p 3322, p 3323, p 3324, p 3325, p 3326, p 3327, p 3328, p 3329, p 3330, p 3331, p 3332, p 3333, p 3334, p 3335, p 3336, p 3337, p 3338, p 3339, p 3340, p 3341, p 3342, p 3343, p 3344, p 3345, p 3346, p 3347, p 3348, p 3349, p 3350, p 3351, p 3352, p 3353, p 3354, p 3355, p 3356, p 3357, p 3358, p 3359, p 3360, p 3361, p 3362, p 3363, p 3364, p 3365, p 3366, p 3367, p 3368, p 3369, p 3370, p 3371, p 3372, p 3373, p 3374, p 3375, p 3376, p 3377, p 3378, p 3379, p 3380, p 3381, p 3382, p 3383, p 3384, p 3385, p 3386, p 3387, p 3388, p 3389, p 3390, p 3391, p 3392, p 3393, p 3394, p 3395, p 3396, p 3397, p 3398, p 3399, p 3400, p 3401, p 3402, p 3403, p 3404, p 3405, p 3406, p 3407, p 3408, p 3409, p 3410, p 3411, p 3412, p 3413, p 3414, p 3415, p 3416, p 3417, p 3418, p 3419, p 3420, p 3421, p 3422, p 3423, p 3424, p 3425, p 3426, p 3427, p 3428, p 3429, p 3430, p 3431, p 3432, p 3433, p 3434, p 3435, p 3436, p 3437, p 3438, p 3439, p 3440, p 3441, p 3442, p 3443, p 3444, p 3445, p 3446, p 3447, p 3448, p 3449, p 3450, p 3451, p 3452, p 3453, p 3454, p 3455, p 3456, p 3457, p 3458, p 3459, p 3460, p 3461, p 3462, p 3463, p 3464, p 3465, p 3466, p 3467, p 3468, p 3469, p 3470, p 3471, p 3472, p 3473, p 3474, p 3475, p 3476, p 3477, p 3478, p 3479, p 3480, p 3481, p 3482, p 3483, p 3484, p 3485, p 3486, p 3487, p 3488, p 3489, p 3490, p 3491, p 3492, p 3493, p 3494, p 3495, p 3496, p 3497, p 3498, p 3499, p 3500, p 3501, p 3502, p 3503, p 3504, p 3505, p 3506, p 3507, p 3508, p 3509, p 3510, p 3511, p 3512, p 3513, p 3514, p 3515, p 3516, p 3517, p 3518, p 3519, p 3520, p 3521, p 3522, p 3523, p 3524, p 3525, p 3526, p 3527, p 3528, p 3529, p 3530, p 3531, p 3532, p 3533, p 3534, p 3535, p 3536, p 3537, p 3538, p 3539, p 3540, p 3541, p 3542, p 3543, p 3544, p 3545, p 3546, p 3547, p 3548, p 3549, p 3550, p 3551, p 3552, p 3553, p 3554, p 3555, p 3556, p 3557, p 3558, p 3559, p 3560, p 3561, p 3562, p 3563, p 3564, p 3565, p 3566, p 3567, p 3568, p 3569, p 3570, p 3571, p 3572, p 3573, p 3574, p 3575, p 3576, p 3577, p 3578, p 3579, p 3580, p 3581, p 3582, p 3583, p 3584, p 3585, p 3586, p 3587, p 3588, p 3589, p 3590, p 3591, p 3592, p 3593, p 3594, p 3595, p 3596, p 3597, p 3598, p 3599, p 3600, p 3601, p 3602, p 3603, p 3604, p 3605, p 3606, p 3607, p 3608, p 3609, p 3610, p 3611, p 3612, p 3613, p 3614, p 3615, p 3616, p 3617, p 3618, p 3619, p 3620, p 3621, p 3622, p 3623, p 3624, p 3625, p 3626, p 3627, p 3628, p 3629, p 3630, p 3631, p 3632, p 3633, p 3634, p 3635, p 3636, p 3637, p 3638, p 3639, p 3640, p 3641, p 3642, p 3643, p 3644, p 3645, p 3646, p 3647, p 3648, p 3649, p 3650, p 3651, p 3652, p 3653, p 3654, p 3655, p 3656, p 3657, p 3658, p 3659, p 3660, p 3661, p 3662, p 3663, p 3664, p 3665, p 3666, p 3667, p 3668, p 3669, p 3670, p 3671, p 3672, p 3673, p 3674, p 3675, p 3676, p 3677, p 3678, p 3679, p 3680, p 3681, p 3682, p 3683, p 3684, p 3685, p 3686, p 3687, p 3688, p 3689, p 3690, p 3691, p 3692, p 3693, p 3694, p 3695, p 3696, p 3697, p 3698, p 3699, p 3700, p 3701, p 3702, p 3703, p 3704, p 3705, p 3706, p 3707, p 3708, p 3709, p 3710] derive.param1_trivial: wrong shape is_t A PA . It does not look like a unary parametricity translation of an inductive with no indexes. Vector.t_eq : forall A : Type, (A -> A -> bool) -> forall n : nat, Vector.t A n -> Vector.t A n -> bool : forall A : Type, (A -> A -> bool) -> forall n : nat, Vector.t A n -> Vector.t A n -> bool Vector.t_isk_nil : forall (A : Type) (n : nat), Vector.t A n -> bool : forall (A : Type) (n : nat), Vector.t A n -> bool Vector.t_isk_cons : forall (A : Type) (n : nat), Vector.t A n -> bool : forall (A : Type) (n : nat), Vector.t A n -> bool Vector.t_map : forall A B : Type, (A -> B) -> forall n : nat, Vector.t A n -> Vector.t B n : forall A B : Type, (A -> B) -> forall n : nat, Vector.t A n -> Vector.t B n Vector.t_getk_cons1 : forall (A : Type) (n : nat), A -> forall m : nat, Vector.t A m -> Vector.t A n -> A : forall (A : Type) (n : nat), A -> forall m : nat, Vector.t A m -> Vector.t A n -> A Vector.t_getk_cons2 : forall (A : Type) (n : nat), A -> forall m : nat, Vector.t A m -> Vector.t A n -> nat : forall (A : Type) (n : nat), A -> forall m : nat, Vector.t A m -> Vector.t A n -> nat Vector.t_getk_cons3 : forall (A : Type) (n : nat), A -> forall m : nat, Vector.t A m -> Vector.t A n -> {k : nat & Vector.t A k} : forall (A : Type) (n : nat), A -> forall m : nat, Vector.t A m -> Vector.t A n -> {k : nat & Vector.t A k} Vector.is_t : forall A : Type, (A -> Type) -> forall n : nat, is_nat n -> Vector.t A n -> Type : forall A : Type, (A -> Type) -> forall n : nat, is_nat n -> Vector.t A n -> Type Vector.is_nil : forall (A : Type) (PA : A -> Type), Vector.is_t A PA 0 is_O (Vector.nil A) : forall (A : Type) (PA : A -> Type), Vector.is_t A PA 0 is_O (Vector.nil A) Vector.is_cons : forall (A : Type) (PA : A -> Type) (a : A), PA a -> forall (n : nat) (Pn : is_nat n) (H : Vector.t A n), Vector.is_t A PA n Pn H -> Vector.is_t A PA (S n) (is_S n Pn) (Vector.cons A a n H) : forall (A : Type) (PA : A -> Type) (a : A), PA a -> forall (n : nat) (Pn : is_nat n) (H : Vector.t A n), Vector.is_t A PA n Pn H -> Vector.is_t A PA (S n) (is_S n Pn) (Vector.cons A a n H) Vector.is_t_functor : forall (A : Type) (PA QA : A -> Type), (forall x : A, PA x -> QA x) -> forall (n : nat) (nR : is_nat n) (v : Vector.t A n), Vector.is_t A PA n nR v -> Vector.is_t A QA n nR v : forall (A : Type) (PA QA : A -> Type), (forall x : A, PA x -> QA x) -> forall (n : nat) (nR : is_nat n) (v : Vector.t A n), Vector.is_t A PA n nR v -> Vector.is_t A QA n nR v Vector.t_induction : forall (A : Type) (PA : A -> Type) (P : forall n : nat, is_nat n -> Vector.t A n -> Type), P 0 is_O (Vector.nil A) -> (forall a : A, PA a -> forall (m : nat) (mR : is_nat m) (v : Vector.t A m), P m mR v -> P (S m) (is_S m mR) (Vector.cons A a m v)) -> forall (n : nat) (nR : is_nat n) (v : Vector.t A n), Vector.is_t A PA n nR v -> P n nR v : forall (A : Type) (PA : A -> Type) (P : forall n : nat, is_nat n -> Vector.t A n -> Type), P 0 is_O (Vector.nil A) -> (forall a : A, PA a -> forall (m : nat) (mR : is_nat m) (v : Vector.t A m), P m mR v -> P (S m) (is_S m mR) (Vector.cons A a m v)) -> forall (n : nat) (nR : is_nat n) (v : Vector.t A n), Vector.is_t A PA n nR v -> P n nR v Vector.t_tag : forall (A : Type) (i : nat), Vector.t A i -> BinNums.positive : forall (A : Type) (i : nat), Vector.t A i -> BinNums.positive W_tag : forall A : Type, W A -> BinNums.positive : forall A : Type, W A -> BinNums.positive XXX.rtree_tag : forall A : Type, rtree A -> BinNums.positive : forall A : Type, rtree A -> BinNums.positive XXX.rtree_fields_t : Type -> BinNums.positive -> Type : Type -> BinNums.positive -> Type XXX.rtree_fields : forall (A : Type) (l : rtree A), XXX.rtree_fields_t A (XXX.rtree_tag A l) : forall (A : Type) (l : rtree A), XXX.rtree_fields_t A (XXX.rtree_tag A l) XXX.rtree_construct : forall (A : Type) (p : BinNums.positive), XXX.rtree_fields_t A p -> option (rtree A) : forall (A : Type) (p : BinNums.positive), XXX.rtree_fields_t A p -> option (rtree A) XXX.rtree_constructP : forall (A : Type) (l : rtree A), XXX.rtree_construct A (XXX.rtree_tag A l) (XXX.rtree_fields A l) = Some l : forall (A : Type) (l : rtree A), XXX.rtree_construct A (XXX.rtree_tag A l) (XXX.rtree_fields A l) = Some l XXX.rtree_eqb : forall A : Type, (A -> A -> bool) -> rtree A -> rtree A -> bool : forall A : Type, (A -> A -> bool) -> rtree A -> rtree A -> bool derive.param1_trivial: wrong shape is_triv . It does not look like a unary parametricity translation of an inductive with no indexes. triv.induction : forall P : forall H : Coverage.unit, is_unit H -> triv H -> Prop, (forall (t : Coverage.unit) (Pt : is_unit t), P t Pt (one t)) -> (forall (x : Coverage.unit) (Px : is_unit x), P x Px (more x)) -> forall (u : Coverage.unit) (p : is_unit u) (s : triv u), triv.is_triv u p s -> P u p s : forall P : forall H : Coverage.unit, is_unit H -> triv H -> Prop, (forall (t : Coverage.unit) (Pt : is_unit t), P t Pt (one t)) -> (forall (x : Coverage.unit) (Px : is_unit x), P x Px (more x)) -> forall (u : Coverage.unit) (p : is_unit u) (s : triv u), triv.is_triv u p s -> P u p s Debug: Cannot enforce elpi.apps.derive.tests.test_derive.4214 <= Set eq_axiom_tt : eq_axiom_at unit unit_eq tt : eq_axiom_at unit unit_eq tt eq_axiom_Zero : eq_axiom_at peano peano_eq Zero : eq_axiom_at peano peano_eq Zero eq_axiom_Succ : forall y : peano, eq_axiom_at peano peano_eq y -> eq_axiom_at peano peano_eq (Succ y) : forall y : peano, eq_axiom_at peano peano_eq y -> eq_axiom_at peano peano_eq (Succ y) eq_axiom_None : forall (A : Type) (f : eq_test A), eq_axiom_at (option A) (option_eq A f) (None A) : forall (A : Type) (f : eq_test A), eq_axiom_at (option A) (option_eq A f) (None A) eq_axiom_Some : forall (A : Type) (f : eq_test A) (x : A), eq_axiom_at A f x -> eq_axiom_at (option A) (option_eq A f) (Some A x) : forall (A : Type) (f : eq_test A) (x : A), eq_axiom_at A f x -> eq_axiom_at (option A) (option_eq A f) (Some A x) eq_axiom_Comma : forall (A : Type) (f : eq_test A) (B : Type) (g : eq_test B) (x : A), eq_axiom_at A f x -> forall y : B, eq_axiom_at B g y -> eq_axiom_at (pair A B) (pair_eq A f B g) (Comma A B x y) : forall (A : Type) (f : eq_test A) (B : Type) (g : eq_test B) (x : A), eq_axiom_at A f x -> forall y : B, eq_axiom_at B g y -> eq_axiom_at (pair A B) (pair_eq A f B g) (Comma A B x y) eq_axiom_Nil : forall (A : Type) (f : eq_test A), eq_axiom_at (seq A) (seq_eq A f) (Nil A) : forall (A : Type) (f : eq_test A), eq_axiom_at (seq A) (seq_eq A f) (Nil A) eq_axiom_Cons : forall (A : Type) (f : eq_test A) (x : A), eq_axiom_at A f x -> forall xs : seq A, eq_axiom_at (seq A) (seq_eq A f) xs -> eq_axiom_at (seq A) (seq_eq A f) (Cons A x xs) : forall (A : Type) (f : eq_test A) (x : A), eq_axiom_at A f x -> forall xs : seq A, eq_axiom_at (seq A) (seq_eq A f) xs -> eq_axiom_at (seq A) (seq_eq A f) (Cons A x xs) eq_axiom_Leaf : forall (A : Type) (f : eq_test A) (a : A), eq_axiom_at A f a -> eq_axiom_at (rose A) (rose_eq A f) (Leaf A a) : forall (A : Type) (f : eq_test A) (a : A), eq_axiom_at A f a -> eq_axiom_at (rose A) (rose_eq A f) (Leaf A a) eq_axiom_Node : forall (A : Type) (f : eq_test A) (l : seq (rose A)), eq_axiom_at (seq (rose A)) (seq_eq (rose A) (rose_eq A f)) l -> eq_axiom_at (rose A) (rose_eq A f) (Node A l) : forall (A : Type) (f : eq_test A) (l : seq (rose A)), eq_axiom_at (seq (rose A)) (seq_eq (rose A) (rose_eq A f)) l -> eq_axiom_at (rose A) (rose_eq A f) (Node A l) eq_axiom_Envelope : forall (Sender : Type) (f : eq_test Sender) (x : Sender), eq_axiom_at Sender f x -> forall x0 : Sender, eq_axiom_at Sender f x0 -> forall x1 : zeta Sender, eq_axiom_on (zeta Sender) (zeta_eq Sender f) (Envelope Sender x x0) x1 eq_axiom_Redex : forall (A : Type) (f : eq_test A) (x : A), eq_axiom_at A f x -> forall x0 : beta A, eq_axiom_on (beta A) (beta_eq A f) (Redex A x) x0 eq_axiom_PI : forall x : PrimInt63.int, eq_axiom_at PrimInt63.int PrimInt63.eqb x -> forall x0 : prim_int, eq_axiom_on prim_int prim_int_eq (PI x) x0 eq_axiom_PF : forall x : PrimFloat.float, eq_axiom_at PrimFloat.float PrimFloat.eqb x -> forall x0 : prim_float, eq_axiom_on prim_float prim_float_eq (PF x) x0 eq_axiom_Build_fo_record : forall x : peano, eq_axiom_at peano peano_eq x -> forall y : unit, eq_axiom_at unit unit_eq y -> eq_axiom_at fo_record fo_record_eq {| f1 := x; f2 := y |} : forall x : peano, eq_axiom_at peano peano_eq x -> forall y : unit, eq_axiom_at unit unit_eq y -> eq_axiom_at fo_record fo_record_eq {| f1 := x; f2 := y |} eq_axiom_Build_pa_record : forall (A : Type) (f : eq_test A) (x : peano), eq_axiom_at peano peano_eq x -> forall y : A, eq_axiom_at A f y -> eq_axiom_at (pa_record A) (pa_record_eq A f) {| f3 := x; f4 := y |} : forall (A : Type) (f : eq_test A) (x : peano), eq_axiom_at peano peano_eq x -> forall y : A, eq_axiom_at A f y -> eq_axiom_at (pa_record A) (pa_record_eq A f) {| f3 := x; f4 := y |} eq_axiom_Build_pr_record : forall (A : Type) (f : eq_test A) (x : peano), eq_axiom_at peano peano_eq x -> forall y : A, eq_axiom_at A f y -> eq_axiom_at (pr_record A) (pr_record_eq A f) {| pf3 := x; pf4 := y |} : forall (A : Type) (f : eq_test A) (x : peano), eq_axiom_at peano peano_eq x -> forall y : A, eq_axiom_at A f y -> eq_axiom_at (pr_record A) (pr_record_eq A f) {| pf3 := x; pf4 := y |} eq_axiom_E1 : eq_axiom_at enum enum_eq E1 : eq_axiom_at enum enum_eq E1 eq_axiom_E2 : eq_axiom_at enum enum_eq E2 : eq_axiom_at enum enum_eq E2 eq_axiom_E3 : eq_axiom_at enum enum_eq E3 : eq_axiom_at enum enum_eq E3 COQC tests/test_eqcorrect.v derive.param1_trivial: wrong shape is_Pred . It does not look like a unary parametricity translation of an inductive with no indexes. Pred.Pred_to_Predinv : forall T : RoseTree, Pred T -> Pred.Predinv T : forall T : RoseTree, Pred T -> Pred.Predinv T wimpls.wimpls not a defined object. wimpls.Kwi not a defined object. Kwi 3 eq_refl : wimpls where ?rtree0 : [ |- rtree nat] File "./tests/test_API2.v", line 126, characters 0-16: Warning: Option Foo Bar is deprecated. elpi [deprecated-option,deprecated,default] File "./tests/test_API2.v", line 134, characters 0-14: Warning: Option Foo Bar is deprecated. elpi [deprecated-option,deprecated,default] empty_eq_correct : correct empty is_empty empty_eq : correct empty is_empty empty_eq unit_eq_correct : correct unit is_unit unit_eq : correct unit is_unit unit_eq peano_eq_correct : correct peano is_peano peano_eq : correct peano is_peano peano_eq option_eq_correct : forall (A : Type) (f : eq_test A), correct (option A) (is_option A (eq_axiom_at A f)) (option_eq A f) : forall (A : Type) (f : eq_test A), correct (option A) (is_option A (eq_axiom_at A f)) (option_eq A f) pair_eq_correct : forall (A : Type) (f : eq_test A) (B : Type) (g : eq_test B), correct (pair A B) (is_pair A (eq_axiom_at A f) B (eq_axiom_at B g)) (pair_eq A f B g) : forall (A : Type) (f : eq_test A) (B : Type) (g : eq_test B), correct (pair A B) (is_pair A (eq_axiom_at A f) B (eq_axiom_at B g)) (pair_eq A f B g) seq_eq_correct : forall (A : Type) (f : eq_test A), correct (seq A) (is_seq A (eq_axiom_at A f)) (seq_eq A f) : forall (A : Type) (f : eq_test A), correct (seq A) (is_seq A (eq_axiom_at A f)) (seq_eq A f) rose_eq_correct : forall (A : Type) (f : eq_test A), correct (rose A) (is_rose A (eq_axiom_at A f)) (rose_eq A f) : forall (A : Type) (f : eq_test A), correct (rose A) (is_rose A (eq_axiom_at A f)) (rose_eq A f) zeta_eq_correct : forall (A : Type) (f : eq_test A), correct (zeta A) (is_zeta A (eq_axiom_at A f)) (zeta_eq A f) : forall (A : Type) (f : eq_test A), correct (zeta A) (is_zeta A (eq_axiom_at A f)) (zeta_eq A f) beta_eq_correct : forall (A : Type) (f : eq_test A), correct (beta A) (is_beta A (eq_axiom_at A f)) (beta_eq A f) : forall (A : Type) (f : eq_test A), correct (beta A) (is_beta A (eq_axiom_at A f)) (beta_eq A f) prim_int_eq_correct : correct prim_int is_prim_int prim_int_eq fo_record_eq_correct : correct fo_record is_fo_record fo_record_eq : correct fo_record is_fo_record fo_record_eq pa_record_eq_correct : forall (A : Type) (f : eq_test A), correct (pa_record A) (is_pa_record A (eq_axiom_at A f)) (pa_record_eq A f) : forall (A : Type) (f : eq_test A), correct (pa_record A) (is_pa_record A (eq_axiom_at A f)) (pa_record_eq A f) pr_record_eq_correct : forall (A : Type) (f : eq_test A), correct (pr_record A) (is_pr_record A (eq_axiom_at A f)) (pr_record_eq A f) : forall (A : Type) (f : eq_test A), correct (pr_record A) (is_pr_record A (eq_axiom_at A f)) (pr_record_eq A f) enum_eq_correct : correct enum is_enum enum_eq : correct enum is_enum enum_eq Query assignments: C1 = «Nat.add» C2 = «times» X1 = tt X2 = ff Query assignments: C1 = «x» is_empty_trivial : trivial empty is_empty : trivial empty is_empty is_unit_trivial : trivial unit is_unit : trivial unit is_unit is_peano_trivial : trivial peano is_peano : trivial peano is_peano is_option_trivial : forall (A : Type) (P : A -> Type), trivial A P -> trivial (option A) (is_option A P) : forall (A : Type) (P : A -> Type), trivial A P -> trivial (option A) (is_option A P) is_pair_trivial : forall (A : Type) (P : A -> Type), trivial A P -> forall (B : Type) (Q : B -> Type), trivial B Q -> trivial (pair A B) (is_pair A P B Q) : forall (A : Type) (P : A -> Type), trivial A P -> forall (B : Type) (Q : B -> Type), trivial B Q -> trivial (pair A B) (is_pair A P B Q) is_seq_trivial : forall (A : Type) (P : A -> Type), trivial A P -> trivial (seq A) (is_seq A P) : forall (A : Type) (P : A -> Type), trivial A P -> trivial (seq A) (is_seq A P) is_rose_trivial : forall (A : Type) (P : A -> Type), trivial A P -> trivial (rose A) (is_rose A P) : forall (A : Type) (P : A -> Type), trivial A P -> trivial (rose A) (is_rose A P) is_zeta_trivial : forall (A : Type) (P : A -> Type), trivial A P -> trivial (zeta A) (is_zeta A P) : forall (A : Type) (P : A -> Type), trivial A P -> trivial (zeta A) (is_zeta A P) is_beta_trivial : forall (A : Type) (P : A -> Type), trivial A P -> trivial (beta A) (is_beta A P) : forall (A : Type) (P : A -> Type), trivial A P -> trivial (beta A) (is_beta A P) is_large_trivial : trivial large is_large : trivial large is_large is_prim_int_trivial : trivial prim_int is_prim_int : trivial prim_int is_prim_int is_prim_float_trivial : trivial prim_float is_prim_float : trivial prim_float is_prim_float is_fo_record_trivial : trivial fo_record is_fo_record : trivial fo_record is_fo_record is_pa_record_trivial : forall (A : Type) (P : A -> Type), trivial A P -> trivial (pa_record A) (is_pa_record A P) : forall (A : Type) (P : A -> Type), trivial A P -> trivial (pa_record A) (is_pa_record A P) is_pr_record_trivial : forall (A : Type) (P : A -> Type), trivial A P -> trivial (pr_record A) (is_pr_record A P) : forall (A : Type) (P : A -> Type), trivial A P -> trivial (pr_record A) (is_pr_record A P) is_enum_trivial : trivial enum is_enum : trivial enum is_enum is_sigma_bool_trivial : trivial sigma_bool is_sigma_bool : trivial sigma_bool is_sigma_bool is_ord_trivial : forall (p : peano) (px : is_peano p), trivial (ord p) (is_ord p px) : forall (p : peano) (px : is_peano p), trivial (ord p) (is_ord p px) is_ord2_trivial : forall (p : peano) (px : is_peano p), trivial (ord2 p) (is_ord2 p px) : forall (p : peano) (px : is_peano p), trivial (ord2 p) (is_ord2 p px) is_val_trivial : trivial val is_val : trivial val is_val Query assignments: XX = «elpi.tests.test_API2.xx» is_empty_inhab : full empty is_empty : full empty is_empty is_unit_inhab : full unit is_unit : full unit is_unit is_peano_inhab : full peano is_peano : full peano is_peano is_option_inhab : forall (A : Type) (P : A -> Type), full A P -> full (option A) (is_option A P) : forall (A : Type) (P : A -> Type), full A P -> full (option A) (is_option A P) is_pair_inhab : forall (A : Type) (P : A -> Type), full A P -> forall (B : Type) (Q : B -> Type), full B Q -> full (pair A B) (is_pair A P B Q) : forall (A : Type) (P : A -> Type), full A P -> forall (B : Type) (Q : B -> Type), full B Q -> full (pair A B) (is_pair A P B Q) is_seq_inhab : forall (A : Type) (P : A -> Type), full A P -> full (seq A) (is_seq A P) : forall (A : Type) (P : A -> Type), full A P -> full (seq A) (is_seq A P) is_rose_inhab : forall (A : Type) (P : A -> Type), full A P -> full (rose A) (is_rose A P) : forall (A : Type) (P : A -> Type), full A P -> full (rose A) (is_rose A P) is_zeta_inhab : forall (A : Type) (P : A -> Type), full A P -> full (zeta A) (is_zeta A P) : forall (A : Type) (P : A -> Type), full A P -> full (zeta A) (is_zeta A P) is_beta_inhab : forall (A : Type) (P : A -> Type), full A P -> full (beta A) (is_beta A P) : forall (A : Type) (P : A -> Type), full A P -> full (beta A) (is_beta A P) is_large_inhab : full large is_large : full large is_large is_prim_int_inhab : full prim_int is_prim_int : full prim_int is_prim_int is_prim_float_inhab : full prim_float is_prim_float : full prim_float is_prim_float is_fo_record_inhab : full fo_record is_fo_record : full fo_record is_fo_record is_pa_record_inhab : forall (A : Type) (P : A -> Type), full A P -> full (pa_record A) (is_pa_record A P) : forall (A : Type) (P : A -> Type), full A P -> full (pa_record A) (is_pa_record A P) is_pr_record_inhab : forall (A : Type) (P : A -> Type), full A P -> full (pr_record A) (is_pr_record A P) : forall (A : Type) (P : A -> Type), full A P -> full (pr_record A) (is_pr_record A P) is_enum_inhab : full enum is_enum : full enum is_enum is_sigma_bool_inhab : full sigma_bool is_sigma_bool : full sigma_bool is_sigma_bool is_ord_inhab : forall (p : peano) (px : is_peano p), full (ord p) (is_ord p px) : forall (p : peano) (px : is_peano p), full (ord p) (is_ord p px) is_ord2_inhab : forall (p : peano) (px : is_peano p), full (ord2 p) (is_ord2 p px) : forall (p : peano) (px : is_peano p), full (ord2 p) (is_ord2 p px) is_val_inhab : full val is_val : full val is_val COQC tests/test_eqOK.v COQC tests/test_eqbcorrect.v Query assignments: C1 = «x» M = «elpi.tests.test_API2.xx» Query assignments: XX = «elpi.tests.test_API2.xx2» Query assignments: C1 = «x» M = «elpi.tests.test_API2.xx2» Query assignments: C1 = «x» M = «elpi.tests.test_API2.xx3» empty_eq_OK : ok empty empty_eq : ok empty empty_eq unit_eq_OK : ok unit unit_eq : ok unit unit_eq peano_eq_OK : ok peano peano_eq : ok peano peano_eq option_eq_OK : forall (A : Type) (f : A -> A -> bool), ok A f -> ok (option A) (option_eq A f) : forall (A : Type) (f : A -> A -> bool), ok A f -> ok (option A) (option_eq A f) pair_eq_OK : forall (A : Type) (f : A -> A -> bool), ok A f -> forall (B : Type) (g : B -> B -> bool), ok B g -> ok (pair A B) (pair_eq A f B g) : forall (A : Type) (f : A -> A -> bool), ok A f -> forall (B : Type) (g : B -> B -> bool), ok B g -> ok (pair A B) (pair_eq A f B g) seq_eq_OK : forall (A : Type) (f : A -> A -> bool), ok A f -> ok (seq A) (seq_eq A f) : forall (A : Type) (f : A -> A -> bool), ok A f -> ok (seq A) (seq_eq A f) rose_eq_OK : forall (A : Type) (f : A -> A -> bool), ok A f -> ok (rose A) (rose_eq A f) : forall (A : Type) (f : A -> A -> bool), ok A f -> ok (rose A) (rose_eq A f) zeta_eq_OK : forall (A : Type) (f : A -> A -> bool), ok A f -> ok (zeta A) (zeta_eq A f) : forall (A : Type) (f : A -> A -> bool), ok A f -> ok (zeta A) (zeta_eq A f) beta_eq_OK : forall (A : Type) (f : A -> A -> bool), ok A f -> ok (beta A) (beta_eq A f) : forall (A : Type) (f : A -> A -> bool), ok A f -> ok (beta A) (beta_eq A f) prim_int_eq_OK : ok prim_int prim_int_eq fo_record_eq_OK : ok fo_record fo_record_eq : ok fo_record fo_record_eq pa_record_eq_OK : forall (A : Type) (f : A -> A -> bool), ok A f -> ok (pa_record A) (pa_record_eq A f) : forall (A : Type) (f : A -> A -> bool), ok A f -> ok (pa_record A) (pa_record_eq A f) pr_record_eq_OK : forall (A : Type) (f : A -> A -> bool), ok A f -> ok (pr_record A) (pr_record_eq A f) : forall (A : Type) (f : A -> A -> bool), ok A f -> ok (pr_record A) (pr_record_eq A f) enum_eq_OK : ok enum enum_eq : ok enum enum_eq dlist_eqOK : forall (A : Type) (f : A -> A -> bool), ok A f -> ok (dlist A) (dlist_eq A f) : forall (A : Type) (f : A -> A -> bool), ok A f -> ok (dlist A) (dlist_eq A f) Query assignments: _uvk_1_ = X0 _uvk_2_ = X1 Syntactic constraints: evar (X1) (X2) (X1) /* suspended on X1 */ evar X3 (sort (typ «elpi.tests.test_API2.6»)) (X2) /* suspended on X3, X2 */ evar (X0) (X4) (X0) /* suspended on X0 */ evar X5 (sort (typ «elpi.tests.test_API2.5»)) (X4) /* suspended on X5, X4 */ Universe constraints: UNIVERSES: {elpi.tests.test_API2.6 elpi.tests.test_API2.5} |= ALGEBRAIC UNIVERSES: {} FLEXIBLE UNIVERSES: SORTS: α4 α5 WEAK CONSTRAINTS: Non-discriminated database Unfoldable variable definitions: all Unfoldable constant definitions: all Cut: emp For any goal -> For xeq -> exact xxx(level 0, pattern 0 = _, id 0) Query assignments: _uvk_19_ = «elpi.tests.test_API2.7» Universe constraints: UNIVERSES: ALGEBRAIC UNIVERSES: {elpi.tests.test_API2.7} FLEXIBLE UNIVERSES: elpi.tests.test_API2.7 SORTS: WEAK CONSTRAINTS: Query assignments: Spilled_1 = «elpi.tests.test_API2.T» peano_eqb_correct : forall n m : peano, peano_eqb n m = true -> n = m : forall n m : peano, peano_eqb n m = true -> n = m peano_eqb_refl : forall n : peano, peano_eqb n n = true : forall n : peano, peano_eqb n n = true ord_eqb_correct : forall n : peano, eqb_correct (ord_eqb n n) : forall n : peano, eqb_correct (ord_eqb n n) ord_eqb_refl : forall n : peano, eqb_reflexive (ord_eqb n n) : forall n : peano, eqb_reflexive (ord_eqb n n) ord2_eqb_correct : forall n : peano, eqb_correct (ord2_eqb n n) : forall n : peano, eqb_correct (ord2_eqb n n) ord2_eqb_refl : forall n : peano, eqb_reflexive (ord2_eqb n n) : forall n : peano, eqb_reflexive (ord2_eqb n n) val_eqb_correct : eqb_correct val_eqb : eqb_correct val_eqb val_eqb_refl : eqb_reflexive val_eqb : eqb_reflexive val_eqb alias_eqb_correct : eqb_correct alias_eqb : eqb_correct alias_eqb alias_eqb_refl : eqb_reflexive alias_eqb : eqb_reflexive alias_eqb COQC tests/test_eqbOK.v Query assignments: GR = const const EXN PRINTING: Not_found Query assignments: Spilled_1 = «elpi.tests.test_API2.F» Spilled_2 = «elpi.tests.test_API2.X» «elpi.tests.test_API2.G» Query assignments: G = «elpi.tests.test_API2.G» Module G : Sig Definition id : X.T -> X.T. End := (F X) Query assignments: Spilled_1 = «elpi.tests.test_API2.F» Spilled_2 = «elpi.tests.test_API2.X» «elpi.tests.test_API2.H» Query assignments: H = «elpi.tests.test_API2.H» Module H : Sig Definition id : nat -> nat. End := (F X) Query assignments: Spilled_1 = «elpi.tests.test_API2.T» Query assignments: GR = const const EXN PRINTING: Not_found Module Type FT = Funsig (P:T) Sig Parameter idT : P.T -> P.T. End peano_eqb_OK : forall n m : peano, Bool.reflect (n = m) (peano_eqb n m) : forall n m : peano, Bool.reflect (n = m) (peano_eqb n m) seq_eqb_OK : forall (A : Type) (eqA : eq_test2 A A), (forall a1 a2 : A, Bool.reflect (a1 = a2) (eqA a1 a2)) -> forall l1 l2 : seq A, Bool.reflect (l1 = l2) (seq_eqb A eqA l1 l2) : forall (A : Type) (eqA : eq_test2 A A), (forall a1 a2 : A, Bool.reflect (a1 = a2) (eqA a1 a2)) -> forall l1 l2 : seq A, Bool.reflect (l1 = l2) (seq_eqb A eqA l1 l2) ord_eqb_OK : forall (n : peano) (o1 o2 : ord n), Bool.reflect (o1 = o2) (ord_eqb n n o1 o2) : forall (n : peano) (o1 o2 : ord n), Bool.reflect (o1 = o2) (ord_eqb n n o1 o2) alias_eqb_OK : forall x y : alias, Bool.reflect (x = y) (alias_eqb x y) : forall x y : alias, Bool.reflect (x = y) (alias_eqb x y) Query assignments: Spilled_1 = «elpi.tests.test_API2.FT» Spilled_2 = «elpi.tests.test_API2.X» make[2]: Leaving directory '/build/reproducible-path/coq-elpi-2.1.0/apps/derive' make[2]: Entering directory '/build/reproducible-path/coq-elpi-2.1.0/apps/eltac' Using coq found in /usr/bin//, from COQBIN or PATH Warning: ../../theories (used in -R or -Q) is not a subdirectory of the current directory COQDEP VFILES «elpi.tests.test_API2.GT» Query assignments: G = «elpi.tests.test_API2.GT» Module Type GT = Sig Parameter idT : X.T -> X.T. End Query assignments: Spilled_1 = «elpi.tests.test_API2.FT» Spilled_2 = «elpi.tests.test_API2.X» COQC tests/test_assumption.v COQC tests/test_constructor.v COQC tests/test_intro.v COQC tests/test_clear.v COQC tests/test_discriminate.v COQC tests/test_fail.v COQC tests/test_injection.v COQC tests/test_case.v COQC tests/test_generalize.v COQC tests/test_cycle.v COQC examples/usage_eltac.v trying i = i trying elpi_ctx_entry_2_ = elpi_ctx_entry_2_ trying elpi_ctx_entry_1_ = elpi_ctx_entry_1_ /\ p0 = p0 trying elpi_ctx_entry_1_ = elpi_ctx_entry_1_ /\ p0 = p0 «elpi.tests.test_API2.HT» Query assignments: H = «elpi.tests.test_API2.HT» Module Type HT = Sig Parameter idT : nat -> nat. End d : nat Debug: elpi lets escape exception: not enough goals: 3 < 3 Debug: elpi lets escape exception: discriminate: the equation F of type K nat nat = K nat nat is trivial at the top level Query assignments: L = [«elpi.tests.test_API2.8», «elpi.tests.test_API2.9»] S = {{ elpi.tests.test_API2.8; elpi.tests.test_API2.9; }} U = «elpi.tests.test_API2.8» UV = «elpi.tests.test_API2.8» V = «elpi.tests.test_API2.9» VV = «elpi.tests.test_API2.9» Universe constraints: UNIVERSES: {elpi.tests.test_API2.9 elpi.tests.test_API2.8} |= ALGEBRAIC UNIVERSES: {elpi.tests.test_API2.9 elpi.tests.test_API2.8} FLEXIBLE UNIVERSES: elpi.tests.test_API2.9 elpi.tests.test_API2.8 SORTS: WEAK CONSTRAINTS: make[2]: Leaving directory '/build/reproducible-path/coq-elpi-2.1.0/apps/eltac' make[2]: Entering directory '/build/reproducible-path/coq-elpi-2.1.0/apps/NES' Using coq found in /usr/bin//, from COQBIN or PATH File "./tests/test_API2.v", line 372, characters 3-201: Warning: constant test has no declared type. [elpi.typecheck,elpi,default] Warning: ../../theories (used in -R or -Q) is not a subdirectory of the current directory COQDEP VFILES Query assignments: _uvk_20_ = X0 _uvk_21_ = X0 _uvk_22_ = X1 _uvk_23_ = X2 _uvk_24_ = c0 \ X3 c0 _uvk_25_ = X4 _uvk_26_ = c0 \ X5 c0 _uvk_27_ = X4 _uvk_28_ = c0 \ X5 c0 _uvk_29_ = X6 _uvk_30_ = c0 \ X7 c0 _uvk_31_ = c0 \ c1 \ X8 c0 c1 _uvk_32_ = X9 _uvk_33_ = c0 \ X10 c0 _uvk_34_ = c0 \ c1 \ X11 c0 c1 _uvk_35_ = X12 _uvk_36_ = c0 \ X13 c0 _uvk_37_ = c0 \ c1 \ X14 c0 c1 _uvk_38_ = X12 Syntactic constraints: evar X12 (sort (typ «elpi.tests.test_API2.25»)) X12 /* suspended on X12 */ evar X12 (sort (typ «elpi.tests.test_API2.28»)) X12 /* suspended on X12 */ {c0 c1} : decl c1 `x` (X13 c0), decl c0 `z` X12 ?- evar (X14 c0 c1) (sort (typ «elpi.tests.test_API2.27»)) (X14 c0 c1) /* suspended on X14 */ {c0} : decl c0 `z` X12 ?- evar (X13 c0) (sort (typ «elpi.tests.test_API2.26»)) (X13 c0) /* suspended on X13 */ {c0 c1} : decl c1 `x` (X10 c0), decl c0 `z` X9 ?- evar (X11 c0 c1) (sort (typ «elpi.tests.test_API2.24»)) (X11 c0 c1) /* suspended on X11 */ {c0} : decl c0 `z` X9 ?- evar (X10 c0) (sort (typ «elpi.tests.test_API2.23»)) (X10 c0) /* suspended on X10 */ evar (X9) (sort (typ «elpi.tests.test_API2.22»)) (X9) /* suspended on X9 */ {c0 c1} : decl c1 `x` (X7 c0), decl c0 `z` X6 ?- evar (X8 c0 c1) (sort (typ «elpi.tests.test_API2.21»)) (X8 c0 c1) /* suspended on X8 */ {c0} : decl c0 `z` X6 ?- evar (X7 c0) (sort (typ «elpi.tests.test_API2.20»)) (X7 c0) /* suspended on X7 */ evar (X6) (sort (typ «elpi.tests.test_API2.19»)) (X6) /* suspended on X6 */ evar X4 (sort (typ «elpi.tests.test_API2.15»)) X4 /* suspended on X4 */ evar X4 (sort (typ «elpi.tests.test_API2.17»)) X4 /* suspended on X4 */ {c0} : decl c0 `x` X4 ?- evar (X5 c0) (sort (typ «elpi.tests.test_API2.16»)) (X5 c0) /* suspended on X5 */ {c0} : decl c0 `x` X4 ?- evar (X5 c0) (sort (typ «elpi.tests.test_API2.18»)) (X5 c0) /* suspended on X5 */ {c0} : decl c0 `x` X2 ?- evar (X3 c0) (sort (typ «elpi.tests.test_API2.14»)) (X3 c0) /* suspended on X3 */ evar (X2) (sort (typ «elpi.tests.test_API2.13»)) (X2) /* suspended on X2 */ evar (X1) (sort (typ «elpi.tests.test_API2.12»)) (X1) /* suspended on X1 */ evar X0 (sort (typ «elpi.tests.test_API2.10»)) X0 /* suspended on X0 */ evar X0 (sort (typ «elpi.tests.test_API2.11»)) X0 /* suspended on X0 */ Universe constraints: UNIVERSES: {elpi.tests.test_API2.28 elpi.tests.test_API2.27 elpi.tests.test_API2.26 elpi.tests.test_API2.25 elpi.tests.test_API2.24 elpi.tests.test_API2.23 elpi.tests.test_API2.22 elpi.tests.test_API2.21 elpi.tests.test_API2.20 elpi.tests.test_API2.19 elpi.tests.test_API2.18 elpi.tests.test_API2.17 elpi.tests.test_API2.16 elpi.tests.test_API2.15 elpi.tests.test_API2.14 elpi.tests.test_API2.13 elpi.tests.test_API2.12 elpi.tests.test_API2.11 elpi.tests.test_API2.10} |= ALGEBRAIC UNIVERSES: {} FLEXIBLE UNIVERSES: SORTS: α6 α7 α8 α9 α10 α11 α12 α13 α14 α15 α16 α17 α18 α19 α20 α21 α22 α23 α24 WEAK CONSTRAINTS: COQC tests/test_require_bad_order.v COQC tests/test_NES.v COQC tests/test_NES_resolve.v COQC tests/test_NES_perf.v COQC tests/test_NES_perf_optimal.v COQC tests/test_module_namespace.v COQC tests/test_NES_lib.v COQC examples/usage_NES.v Foo.x = 3 : nat Foo.x = 3 : nat Foo.x2 = 4 : nat eq_refl : Foo.x = 5 : Foo.x = 5 A.B.c : nat A.B.c is not universe polymorphic A.B.c is transparent Expands to: Constant elpi.apps.NES.tests.test_NES.A_aux_4.A.B.c This.Is.A.Long.Namespace.stuff = 1 : nat = 1 : nat A1.B1.d : nat A1.B1.d is not universe polymorphic A1.B1.d is transparent Expands to: Constant elpi.apps.NES.tests.test_NES.A1_aux_6.A1.B1.d A1.B1.c : nat A1.B1.c is not universe polymorphic A1.B1.c is transparent Expands to: Constant elpi.apps.NES.tests.test_NES.A1_aux_5.A1.B1.c This.Is.A.Long.Namespace.stuff = 2 : nat = 1 : nat x = 5 : nat x2 = 4 : nat B1.c = 1 : nat B1.d = 1 : nat This_aux_1.This.Is.A.Long.Namespace.stuff This.Is.A.Long.Namespace.more_stuff This.Is.A.Long.Namespace.stuff d = 1 : nat This_aux_1.This.Is.A.Long.Namespace.stuff : nat This.Is.A.Long.Namespace.more_stuff : nat This.Is.A.Long.Namespace.stuff : nat stuff = 2 : nat default nat_def : nat : nat A2.B2.f = 2 : nat Cats.And.Dogs.x = 42 : nat Finished transaction in 49.801 secs (49.268u,0.252s) (successful) Finished transaction in 0.405 secs (0.404u,0.s) (successful) test coqdoc hyperlinks test link order make[2]: Leaving directory '/build/reproducible-path/coq-elpi-2.1.0/apps/NES' make[2]: Entering directory '/build/reproducible-path/coq-elpi-2.1.0/apps/locker' Using coq found in /usr/bin//, from COQBIN or PATH Warning: ../../theories (used in -R or -Q) is not a subdirectory of the current directory COQDEP VFILES COQC tests/test_locker.v Module d3 : d3_Locked := Struct Definition body : nat. Parameter unlock : d3 = 3. End Module Type d3_Locked = Sig Parameter body : nat. Parameter unlock : body = 3. End cons2 : forall {A : Type}, A -> list A -> list A cons2 is not universe polymorphic Arguments cons2 {A}%type_scope x xs%list_scope cons2 is transparent Expands to: Constant elpi.apps.locker.tests.test_locker.Bug_286.lock_container.cons2 cons3 : forall [A : Type], EqDecision A -> A -> list A -> list A cons3 is not universe polymorphic Arguments cons3 [A]%type_scope {H} x xs%list_scope cons3 is transparent Expands to: Constant elpi.apps.locker.tests.test_locker.Bug_286.lock_container2.cons3 id1@{u} : forall T : Type@{u}, T -> T (* u |= u < locked_with.u0 *) id1 is universe polymorphic Arguments id1 T%type_scope x id1 is transparent Expands to: Constant elpi.apps.locker.tests.test_locker.id1 Query assignments: GR = const «id1» id2.body@{u} : forall T : Type@{u}, T -> T (* u |= u < eq.u0 *) id2.body is universe polymorphic Arguments id2.body T%type_scope x Expands to: Constant elpi.apps.locker.tests.test_locker.id2.body Query assignments: GR = const «id2.body» up1.body@{u} : forall T : Type@{u}, T -> T (* u |= u < eq.u0 *) up1.body is universe polymorphic Arguments up1.body T%type_scope x Expands to: Constant elpi.apps.locker.tests.test_locker.up1.body Query assignments: GR = const «up1.body» nup1.body : forall T : Type@{nup1.body.u0}, T -> T nup1.body is not universe polymorphic Arguments nup1.body T%type_scope x Expands to: Constant elpi.apps.locker.tests.test_locker.nup1.body Query assignments: GR = const «nup1.body» up2.body@{u u0} : forall T : Type@{u}, Type@{u0} -> T -> T (* u u0 |= u < eq.u0 u0 < eq.u0 *) up2.body is universe polymorphic Arguments up2.body (T W)%type_scope x Expands to: Constant elpi.apps.locker.tests.test_locker.up2.body Query assignments: GR = const «up2.body» Debug: elpi lets escape exception: Universe elpi.apps.locker.tests.test_locker.161 (File "./tests/test_locker.v", line 113, characters 50-54) is unbound. make[2]: Leaving directory '/build/reproducible-path/coq-elpi-2.1.0/apps/locker' make[2]: Entering directory '/build/reproducible-path/coq-elpi-2.1.0/apps/coercion' Using coq found in /usr/bin//, from COQBIN or PATH Warning: ../../theories (used in -R or -Q) is not a subdirectory of the current directory COQDEP VFILES COQC tests/test_coercion.v COQC tests/test_coercion_open.v true && false : bool natmul R n : ringType_sort R : ringType_sort R natmul R n : ringType_sort R : ringType_sort R COQC tests/test_coercion_load.v true : bool : bool make[2]: Leaving directory '/build/reproducible-path/coq-elpi-2.1.0/apps/coercion' make[2]: Entering directory '/build/reproducible-path/coq-elpi-2.1.0/apps/cs' Using coq found in /usr/bin//, from COQBIN or PATH Warning: ../../theories (used in -R or -Q) is not a subdirectory of the current directory COQDEP VFILES COQC tests/test_cs.v 1 : nat cs hook start cs hook got proj cs hook got structure cs hook got params & arg 1 0 compile solver run solver found solution aha(id (A:=nat)) eq_refl : {| sort := id (A:=nat) |} = id (A:=nat) : {| sort := id (A:=nat) |} = id (A:=nat) 11 : nat cs hook start cs hook got proj cs hook got structure cs hook got params & arg 1 1 compile solver run solver found solution aha(id (A:=nat)) eq_refl : {| sort := id (A:=nat) |} 1 = id 1 : {| sort := id (A:=nat) |} 1 = id 1 2 : nat cs hook start cs hook got proj cs hook got structure cs hook got params & arg 1 0 compile solver run solver solver failed cs hook start cs hook got proj cs hook start cs hook got proj cs hook got structure cs hook got params & arg 1 0 compile solver run solver found solution aha(id (A:=nat)) eq_refl : {| sort := id (A:=nat) |} = id1 nat : {| sort := id (A:=nat) |} = id1 nat 3 : nat cs hook start cs hook got proj cs hook start cs hook got proj cs hook got structure cs hook got params & arg 1 0 compile solver run solver found solution aha(id (A:=nat)) eq_refl : sort1 nat {| sort := id (A:=nat) |} = id (A:=nat) : sort1 nat {| sort := id (A:=nat) |} = id (A:=nat) 4 : nat cs hook start cs hook got proj cs hook start cs hook got proj cs hook start cs hook got proj cs hook got structure cs hook got params & arg 1 0 compile solver run solver found solution aha(id (A:=nat)) eq_refl : sort1 nat {| sort := id (A:=nat) |} = id1 nat : sort1 nat {| sort := id (A:=nat) |} = id1 nat make[2]: Leaving directory '/build/reproducible-path/coq-elpi-2.1.0/apps/cs' make[2]: Entering directory '/build/reproducible-path/coq-elpi-2.1.0/apps/tc' Using coq found in /usr/bin//, from COQBIN or PATH Warning: ../../theories (used in -R or -Q) is not a subdirectory of the current directory COQDEP VFILES COQC tests/classes_declare.v COQC tests/register/f1.v COQC tests/hook_test.v COQC tests/auto_compile.v COQC tests/importOrder/sameOrderCommand.v COQC tests/nobacktrack.v COQC tests/patternFragment.v COQC tests/contextDeepHierarchy.v COQC tests/section_in_out.v COQC tests/injTest.v COQC tests/eqSimplDef.v COQC tests/stdppInjClassic.v COQC tests/stdppInj.v COQC tests/indt_to_inst.v COQC tests/bigTest.v COQC examples/tutorial.v COQC tests/importOrder/f1.v The predicate of indt «C» is tc-C and search mode is deterministic COQC tests/register/f2.v Query assignments: Len = 2 Rules = [instance [] (const «Bool.Decidable_eq_bool») (indt «DecidableClass.Decidable»), instance [] (const «DecidableClass.Decidable_not») (indt «DecidableClass.Decidable»)] Instances list for indt «Eqb» is: const «eqBool» const «eqProd» Instances list for indt «DecidableClass.Decidable» is: const «Decidable_eq_bool» const «DecidableClass.Decidable_not» The predicate of indt «Eqb» is tc-tutorial.tc-Eqb and search mode is classic (Inst2 bool (fun (H : Type) (_ : nat) => ?Goal) (fun (H : Type) (H0 _ : nat) (H2 : Y ((fun (H1 : Type) (_ : nat) => ?Goal@{H:=H1}) H H0)) => H2)) (Inst2 bool (fun (H : Type) (_ : nat) => H) (fun (H : Type) (H0 _ : nat) (H2 : Y ((fun (H1 : Type) (_ : nat) => H1) H H0)) => H2)) Instances list for indt «Eqb» is: const «eqProd'» const «HB» const «HA» const «eqBool» const «eqProd» (Inst2 bool (fun (H : Type) (_ : nat) => ?Goal) (fun (H : Type) (H0 _ : nat) (H2 : Y ((fun (H1 : Type) (_ : nat) => ?Goal@{H:=H1}) H H0)) => H2)) (Inst2 bool (fun (_ : Type) (_ : nat) => bool) (fun (H : Type) (H0 _ : nat) (H2 : Y ((fun (_ : Type) (_ : nat) => bool) H H0)) => H2)) COQC tests/register/f3.v COQC tests/importOrder/f2a.v COQC tests/importOrder/f3f.v COQC tests/importOrder/f3c.v COQC tests/importOrder/f3g.v COQC tests/importOrder/f2b.v Received the following event [str I4, str A, str Export, int -1] File "./tests/bigTest.v", line 386, characters 0-87: Warning: A coercion will be introduced instead of an instance in future versions when using ':>' in 'Class' declarations. Replace ':>' with '::' (or use '#[global] Existing Instance field.' for compatibility with Coq < 8.18). Beware that the default locality for '::' is #[export], as opposed to #[global] for ':>' currently. Add an explicit #[global] attribute if you need to keep the current behavior. For example: "Class foo := #[global] baz :: bar." [future-coercion-class-field,deprecated-since-8.17,deprecated,default] COQC tests/importOrder/f3d.v COQC tests/importOrder/f3a.v COQC tests/importOrder/f3b.v COQC tests/importOrder/f3e.v File "./tests/bigTest.v", line 517, characters 0-133: Warning: A coercion will be introduced instead of an instance in future versions when using ':>' in 'Class' declarations. Replace ':>' with '::' (or use '#[global] Existing Instance field.' for compatibility with Coq < 8.18). Beware that the default locality for '::' is #[export], as opposed to #[global] for ':>' currently. Add an explicit #[global] attribute to the field if you need to keep the current behavior. For example: "Class foo := { #[global] field :: bar }." [future-coercion-class-field,deprecated-since-8.17,deprecated,default] File "./tests/bigTest.v", line 523, characters 0-143: Warning: A coercion will be introduced instead of an instance in future versions when using ':>' in 'Class' declarations. Replace ':>' with '::' (or use '#[global] Existing Instance field.' for compatibility with Coq < 8.18). Beware that the default locality for '::' is #[export], as opposed to #[global] for ':>' currently. Add an explicit #[global] attribute to the field if you need to keep the current behavior. For example: "Class foo := { #[global] field :: bar }." [future-coercion-class-field,deprecated-since-8.17,deprecated,default] Instances list for indt «Eqb» is: const «eqBool» const «eqProd'» const «eqProd» The predicate of indt «Eqb» is tc-tutorial.tc-Eqb and search mode is classic Instances list for indt «Eqb» is: const «eqBool» const «eqProd'» const «eqProd» Instances list for indt «DecidableClass.Decidable» is: const «Decidable_eq_bool» const «DecidableClass.Decidable_not» The predicate of indt «DecidableClass.Decidable» is tc-Coq.Classes.DecidableClass.tc-Decidable and search mode is classic COQC tests/test.v File "./tests/test.v", line 2, characters 16-34: Warning: There is no flag or option with this name: "TC TimeRefine". [unknown-option,default] File "./tests/test.v", line 2, characters 35-57: Warning: There is no flag or option with this name: "TC ResolutionTime". [unknown-option,default] File "./tests/test.v", line 2, characters 58-79: Warning: There is no debug flag "elpitime". [unknown-debug-flag,default] Finished transaction in 0.01 secs (0.01u,0.s) (successful) File "./tests/bigTest.v", line 1602, characters 0-302: Warning: A coercion will be introduced instead of an instance in future versions when using ':>' in 'Class' declarations. Replace ':>' with '::' (or use '#[global] Existing Instance field.' for compatibility with Coq < 8.18). Beware that the default locality for '::' is #[export], as opposed to #[global] for ':>' currently. Add an explicit #[global] attribute to the field if you need to keep the current behavior. For example: "Class foo := { #[global] field :: bar }." [future-coercion-class-field,deprecated-since-8.17,deprecated,default] File "./tests/bigTest.v", line 1610, characters 0-295: Warning: A coercion will be introduced instead of an instance in future versions when using ':>' in 'Class' declarations. Replace ':>' with '::' (or use '#[global] Existing Instance field.' for compatibility with Coq < 8.18). Beware that the default locality for '::' is #[export], as opposed to #[global] for ':>' currently. Add an explicit #[global] attribute to the field if you need to keep the current behavior. For example: "Class foo := { #[global] field :: bar }." [future-coercion-class-field,deprecated-since-8.17,deprecated,default] File "./tests/bigTest.v", line 1651, characters 0-274: Warning: A coercion will be introduced instead of an instance in future versions when using ':>' in 'Class' declarations. Replace ':>' with '::' (or use '#[global] Existing Instance field.' for compatibility with Coq < 8.18). Beware that the default locality for '::' is #[export], as opposed to #[global] for ':>' currently. Add an explicit #[global] attribute to the field if you need to keep the current behavior. For example: "Class foo := { #[global] field :: bar }." [future-coercion-class-field,deprecated-since-8.17,deprecated,default] File "./tests/bigTest.v", line 1674, characters 0-584: Warning: A coercion will be introduced instead of an instance in future versions when using ':>' in 'Class' declarations. Replace ':>' with '::' (or use '#[global] Existing Instance field.' for compatibility with Coq < 8.18). Beware that the default locality for '::' is #[export], as opposed to #[global] for ':>' currently. Add an explicit #[global] attribute to the field if you need to keep the current behavior. For example: "Class foo := { #[global] field :: bar }." [future-coercion-class-field,deprecated-since-8.17,deprecated,default] File "./tests/bigTest.v", line 1707, characters 0-186: Warning: A coercion will be introduced instead of an instance in future versions when using ':>' in 'Class' declarations. Replace ':>' with '::' (or use '#[global] Existing Instance field.' for compatibility with Coq < 8.18). Beware that the default locality for '::' is #[export], as opposed to #[global] for ':>' currently. Add an explicit #[global] attribute to the field if you need to keep the current behavior. For example: "Class foo := { #[global] field :: bar }." [future-coercion-class-field,deprecated-since-8.17,deprecated,default] make[2]: Leaving directory '/build/reproducible-path/coq-elpi-2.1.0/apps/tc' make[1]: Leaving directory '/build/reproducible-path/coq-elpi-2.1.0' create-stamp debian/debhelper-build-stamp dh_prep dh_auto_install --destdir=debian/libcoq-elpi/ make -j20 install DESTDIR=/build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi AM_UPDATE_INFO_DIR=no "INSTALL=install --strip-program=true" make[1]: Entering directory '/build/reproducible-path/coq-elpi-2.1.0' Using coq found in /usr/bin, from COQBIN or PATH ########################## installing plugin ############################ make[2]: Entering directory '/build/reproducible-path/coq-elpi-2.1.0' make[2]: /usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq: Permission denied make[2]: /usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq: Permission denied make[2]: /usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq: Permission denied INSTALL theories/elpi.vo /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/ INSTALL theories/elpi.v /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/ INSTALL theories/elpi.glob /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/ INSTALL src/elpi_plugin.cmxs /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/ INSTALL src/elpi_plugin.cmxs /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/ ocamlfind: [WARNING] No such file: /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq/../coq-core//../coq-elpi/META Installed /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq/../coq-core//../coq-elpi/elpi_plugin.cmx Installed /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq/../coq-core//../coq-elpi/elpi_plugin.cmxa Installed /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq/../coq-core//../coq-elpi/elpi_plugin.cmxs ocamlfind: [WARNING] Overwriting file /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq/../coq-core//../coq-elpi/elpi_plugin.cmxs Installed /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq/../coq-core//../coq-elpi/elpi_plugin.cmxs Installed /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq/../coq-core//../coq-elpi/elpi_plugin.cmi Installed /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq/../coq-core//../coq-elpi/META make[3]: Entering directory '/build/reproducible-path/coq-elpi-2.1.0' df="`"/usr/bin//////coq_makefile" -destination-of theories/elpi.vo -I apps/coercion/src -I apps/cs/src -I apps/tc/src -I src -Q examples elpi.examples -Q tests elpi.tests -Q src elpi -Q apps/derive/tests elpi.apps.derive.tests -Q tests elpi.tests -Q elpi elpi -R theories elpi -R apps/derive/theories elpi.apps -R apps/derive/tests elpi.apps.derive.tests -R apps/derive/examples elpi.apps.derive.examples -R apps/NES/theories elpi.apps -R apps/NES/elpi elpi.apps.NES -R apps/NES/tests elpi.apps.NES.tests -R apps/NES/examples elpi.apps.NES.examples -R apps/eltac/theories elpi.apps.eltac -R apps/eltac/tests elpi.apps.eltac.tests -R apps/eltac/examples elpi.apps.eltac.examples -R apps/coercion/theories elpi.apps.coercion -R apps/coercion/tests elpi.apps.tc.coercion -R apps/cs/theories elpi.apps.cs -R apps/cs/tests elpi.apps.tc.cs -R apps/tc/theories elpi.apps.tc -R apps/tc/tests elpi.apps.tc.tests -R apps/tc/elpi elpi.apps.tc`";\ install -m 0644 elpi-builtin.elpi "/build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/$df";\ install -m 0644 coq-builtin.elpi "/build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/$df";\ install -m 0644 coq-builtin-synterp.elpi "/build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/$df";\ install -m 0644 elpi/coq-lib-common.elpi "/build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/$df";\ install -m 0644 elpi/coq-lib.elpi "/build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/$df";\ install -m 0644 elpi/elpi_elaborator.elpi "/build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/$df" make[3]: Leaving directory '/build/reproducible-path/coq-elpi-2.1.0' make[2]: Leaving directory '/build/reproducible-path/coq-elpi-2.1.0' make[2]: Entering directory '/build/reproducible-path/coq-elpi-2.1.0' Installed /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq/../coq-core//../coq-elpi/elpi_plugin.cmo Installed /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq/../coq-core//../coq-elpi/elpi_plugin.cma make[2]: Leaving directory '/build/reproducible-path/coq-elpi-2.1.0' cp etc/coq-elpi.lang /usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//ide/ cp: cannot create regular file '/usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//ide/': Not a directory make[1]: [Makefile:131: install] Error 1 (ignored) ########################## installing APPS ############################ make[2]: Entering directory '/build/reproducible-path/coq-elpi-2.1.0/apps/derive' Using coq found in /usr/bin//, from COQBIN or PATH make[3]: Entering directory '/build/reproducible-path/coq-elpi-2.1.0/apps/derive' make[3]: /usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq: Permission denied make[3]: /usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq: Permission denied make[3]: /usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq: Permission denied INSTALL theories/derive.vo /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps/ INSTALL theories/derive/std.vo /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps//derive INSTALL theories/derive/legacy.vo /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps//derive INSTALL theories/derive/experimental.vo /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps//derive INSTALL theories/derive/bcongr.vo /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps//derive INSTALL theories/derive/cast.vo /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps//derive INSTALL theories/derive/eq.vo /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps//derive INSTALL theories/derive/eqcorrect.vo /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps//derive INSTALL theories/derive/eqK.vo /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps//derive INSTALL theories/derive/eqOK.vo /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps//derive INSTALL theories/derive/map.vo /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps//derive INSTALL theories/derive/isK.vo /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps//derive INSTALL theories/derive/idx2inv.vo /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps//derive INSTALL theories/derive/invert.vo /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps//derive INSTALL theories/derive/projK.vo /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps//derive INSTALL theories/derive/param1.vo /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps//derive INSTALL theories/derive/param1_functor.vo /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps//derive INSTALL theories/derive/param1_congr.vo /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps//derive INSTALL theories/derive/param1_trivial.vo /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps//derive INSTALL theories/derive/param2.vo /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps//derive INSTALL theories/derive/induction.vo /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps//derive INSTALL theories/derive/lens.vo /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps//derive INSTALL theories/derive/lens_laws.vo /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps//derive INSTALL theories/derive/eqb_core_defs.vo /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps//derive INSTALL theories/derive/tag.vo /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps//derive INSTALL theories/derive/fields.vo /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps//derive INSTALL theories/derive/eqb.vo /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps//derive INSTALL theories/derive/eqbcorrect.vo /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps//derive INSTALL theories/derive/eqbOK.vo /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps//derive INSTALL theories/derive/eqType_ast.vo /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps//derive INSTALL theories/derive.v /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps/ INSTALL theories/derive/std.v /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps//derive INSTALL theories/derive/legacy.v /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps//derive INSTALL theories/derive/experimental.v /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps//derive INSTALL theories/derive/bcongr.v /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps//derive INSTALL theories/derive/cast.v /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps//derive INSTALL theories/derive/eq.v /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps//derive INSTALL theories/derive/eqcorrect.v /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps//derive INSTALL theories/derive/eqK.v /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps//derive INSTALL theories/derive/eqOK.v /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps//derive INSTALL theories/derive/map.v /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps//derive INSTALL theories/derive/isK.v /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps//derive INSTALL theories/derive/idx2inv.v /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps//derive INSTALL theories/derive/invert.v /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps//derive INSTALL theories/derive/projK.v /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps//derive INSTALL theories/derive/param1.v /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps//derive INSTALL theories/derive/param1_functor.v /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps//derive INSTALL theories/derive/param1_congr.v /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps//derive INSTALL theories/derive/param1_trivial.v /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps//derive INSTALL theories/derive/param2.v /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps//derive INSTALL theories/derive/induction.v /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps//derive INSTALL theories/derive/lens.v /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps//derive INSTALL theories/derive/lens_laws.v /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps//derive INSTALL theories/derive/eqb_core_defs.v /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps//derive INSTALL theories/derive/tag.v /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps//derive INSTALL theories/derive/fields.v /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps//derive INSTALL theories/derive/eqb.v /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps//derive INSTALL theories/derive/eqbcorrect.v /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps//derive INSTALL theories/derive/eqbOK.v /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps//derive INSTALL theories/derive/eqType_ast.v /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps//derive INSTALL theories/derive.glob /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps/ INSTALL theories/derive/std.glob /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps//derive INSTALL theories/derive/legacy.glob /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps//derive INSTALL theories/derive/experimental.glob /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps//derive INSTALL theories/derive/bcongr.glob /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps//derive INSTALL theories/derive/cast.glob /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps//derive INSTALL theories/derive/eq.glob /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps//derive INSTALL theories/derive/eqcorrect.glob /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps//derive INSTALL theories/derive/eqK.glob /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps//derive INSTALL theories/derive/eqOK.glob /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps//derive INSTALL theories/derive/map.glob /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps//derive INSTALL theories/derive/isK.glob /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps//derive INSTALL theories/derive/idx2inv.glob /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps//derive INSTALL theories/derive/invert.glob /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps//derive INSTALL theories/derive/projK.glob /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps//derive INSTALL theories/derive/param1.glob /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps//derive INSTALL theories/derive/param1_functor.glob /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps//derive INSTALL theories/derive/param1_congr.glob /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps//derive INSTALL theories/derive/param1_trivial.glob /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps//derive INSTALL theories/derive/param2.glob /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps//derive INSTALL theories/derive/induction.glob /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps//derive INSTALL theories/derive/lens.glob /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps//derive INSTALL theories/derive/lens_laws.glob /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps//derive INSTALL theories/derive/eqb_core_defs.glob /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps//derive INSTALL theories/derive/tag.glob /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps//derive INSTALL theories/derive/fields.glob /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps//derive INSTALL theories/derive/eqb.glob /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps//derive INSTALL theories/derive/eqbcorrect.glob /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps//derive INSTALL theories/derive/eqbOK.glob /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps//derive INSTALL theories/derive/eqType_ast.glob /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps//derive make[4]: Entering directory '/build/reproducible-path/coq-elpi-2.1.0/apps/derive' df="`"/usr/bin///////coq_makefile" -destination-of theories/derive/std.vo -I ../../src -Q ../../theories elpi -Q elpi elpi.apps.derive -R theories elpi.apps -R tests elpi.apps.derive.tests -R examples elpi.apps.derive.examples`";\ install -m 0644 elpi/bcongr.elpi elpi/cast.elpi elpi/derive.elpi elpi/derive_hook.elpi elpi/derive_synterp.elpi elpi/derive_synterp_hook.elpi elpi/discriminate.elpi elpi/eq.elpi elpi/eqK.elpi elpi/eqOK.elpi elpi/eqType.elpi elpi/eqb.elpi elpi/eqbOK.elpi elpi/eqbcorrect.elpi elpi/eqcorrect.elpi elpi/fields.elpi elpi/idx2inv.elpi elpi/induction.elpi elpi/injection.elpi elpi/invert.elpi elpi/isK.elpi elpi/lens.elpi elpi/lens_laws.elpi elpi/map.elpi elpi/param1.elpi elpi/param1_congr.elpi elpi/param1_functor.elpi elpi/param1_inhab.elpi elpi/param1_trivial.elpi elpi/param2.elpi elpi/paramX_lib.elpi elpi/projK.elpi elpi/tag.elpi "/build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/$df" make[4]: Leaving directory '/build/reproducible-path/coq-elpi-2.1.0/apps/derive' make[3]: Leaving directory '/build/reproducible-path/coq-elpi-2.1.0/apps/derive' make[2]: Leaving directory '/build/reproducible-path/coq-elpi-2.1.0/apps/derive' make[2]: Entering directory '/build/reproducible-path/coq-elpi-2.1.0/apps/eltac' Using coq found in /usr/bin//, from COQBIN or PATH make[3]: Entering directory '/build/reproducible-path/coq-elpi-2.1.0/apps/eltac' make[3]: /usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq: Permission denied make[3]: /usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq: Permission denied make[3]: /usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq: Permission denied INSTALL theories/assumption.vo /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps/eltac/ INSTALL theories/constructor.vo /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps/eltac/ INSTALL theories/intro.vo /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps/eltac/ INSTALL theories/clear.vo /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps/eltac/ INSTALL theories/fail.vo /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps/eltac/ INSTALL theories/discriminate.vo /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps/eltac/ INSTALL theories/injection.vo /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps/eltac/ INSTALL theories/case.vo /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps/eltac/ INSTALL theories/generalize.vo /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps/eltac/ INSTALL theories/cycle.vo /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps/eltac/ INSTALL theories/tactics.vo /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps/eltac/ INSTALL theories/assumption.v /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps/eltac/ INSTALL theories/constructor.v /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps/eltac/ INSTALL theories/intro.v /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps/eltac/ INSTALL theories/clear.v /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps/eltac/ INSTALL theories/fail.v /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps/eltac/ INSTALL theories/discriminate.v /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps/eltac/ INSTALL theories/injection.v /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps/eltac/ INSTALL theories/case.v /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps/eltac/ INSTALL theories/generalize.v /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps/eltac/ INSTALL theories/cycle.v /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps/eltac/ INSTALL theories/tactics.v /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps/eltac/ INSTALL theories/assumption.glob /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps/eltac/ INSTALL theories/constructor.glob /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps/eltac/ INSTALL theories/intro.glob /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps/eltac/ INSTALL theories/clear.glob /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps/eltac/ INSTALL theories/fail.glob /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps/eltac/ INSTALL theories/discriminate.glob /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps/eltac/ INSTALL theories/injection.glob /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps/eltac/ INSTALL theories/case.glob /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps/eltac/ INSTALL theories/generalize.glob /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps/eltac/ INSTALL theories/cycle.glob /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps/eltac/ INSTALL theories/tactics.glob /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps/eltac/ make[4]: Entering directory '/build/reproducible-path/coq-elpi-2.1.0/apps/eltac' make[4]: Leaving directory '/build/reproducible-path/coq-elpi-2.1.0/apps/eltac' make[3]: Leaving directory '/build/reproducible-path/coq-elpi-2.1.0/apps/eltac' make[2]: Leaving directory '/build/reproducible-path/coq-elpi-2.1.0/apps/eltac' make[2]: Entering directory '/build/reproducible-path/coq-elpi-2.1.0/apps/NES' Using coq found in /usr/bin//, from COQBIN or PATH make[3]: Entering directory '/build/reproducible-path/coq-elpi-2.1.0/apps/NES' make[3]: /usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq: Permission denied make[3]: /usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq: Permission denied make[3]: /usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq: Permission denied INSTALL theories/NES.vo /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps/ INSTALL theories/NES.v /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps/ INSTALL theories/NES.glob /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps/ make[4]: Entering directory '/build/reproducible-path/coq-elpi-2.1.0/apps/NES' df="`"/usr/bin///////coq_makefile" -destination-of theories/NES.vo -I ../../src -Q ../../theories elpi -Q elpi elpi.apps.NES -R theories elpi.apps`";\ install -m 0644 elpi/nes_interp.elpi elpi/nes_synterp.elpi "/build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/$df" make[4]: Leaving directory '/build/reproducible-path/coq-elpi-2.1.0/apps/NES' make[3]: Leaving directory '/build/reproducible-path/coq-elpi-2.1.0/apps/NES' make[2]: Leaving directory '/build/reproducible-path/coq-elpi-2.1.0/apps/NES' make[2]: Entering directory '/build/reproducible-path/coq-elpi-2.1.0/apps/locker' Using coq found in /usr/bin//, from COQBIN or PATH make[3]: Entering directory '/build/reproducible-path/coq-elpi-2.1.0/apps/locker' make[3]: /usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq: Permission denied make[3]: /usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq: Permission denied make[3]: /usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq: Permission denied INSTALL theories/locker.vo /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps/ INSTALL theories/locker.v /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps/ INSTALL theories/locker.glob /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps/ make[4]: Entering directory '/build/reproducible-path/coq-elpi-2.1.0/apps/locker' make[4]: Leaving directory '/build/reproducible-path/coq-elpi-2.1.0/apps/locker' make[3]: Leaving directory '/build/reproducible-path/coq-elpi-2.1.0/apps/locker' make[2]: Leaving directory '/build/reproducible-path/coq-elpi-2.1.0/apps/locker' make[2]: Entering directory '/build/reproducible-path/coq-elpi-2.1.0/apps/coercion' Using coq found in /usr/bin//, from COQBIN or PATH make[3]: Entering directory '/build/reproducible-path/coq-elpi-2.1.0/apps/coercion' make[3]: /usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq: Permission denied make[3]: /usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq: Permission denied make[3]: /usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq: Permission denied INSTALL theories/coercion.vo /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps/ INSTALL theories/coercion.v /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps/ INSTALL theories/coercion.glob /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps/ INSTALL src/elpi_coercion_plugin.cmxs /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps/ INSTALL src/elpi_coercion_plugin.cmxs /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps/ ocamlfind: [WARNING] No such file: /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq/../coq-core//../coq-elpi-coercion/META Installed /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq/../coq-core//../coq-elpi-coercion/elpi_coercion_plugin.cmx Installed /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq/../coq-core//../coq-elpi-coercion/elpi_coercion_plugin.cmxa Installed /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq/../coq-core//../coq-elpi-coercion/elpi_coercion_plugin.cmxs ocamlfind: [WARNING] Overwriting file /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq/../coq-core//../coq-elpi-coercion/elpi_coercion_plugin.cmxs Installed /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq/../coq-core//../coq-elpi-coercion/elpi_coercion_plugin.cmxs Installed /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq/../coq-core//../coq-elpi-coercion/elpi_coercion_plugin.cmi Installed /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq/../coq-core//../coq-elpi-coercion/META make[4]: Entering directory '/build/reproducible-path/coq-elpi-2.1.0/apps/coercion' make[4]: Leaving directory '/build/reproducible-path/coq-elpi-2.1.0/apps/coercion' make[3]: Leaving directory '/build/reproducible-path/coq-elpi-2.1.0/apps/coercion' make[2]: Leaving directory '/build/reproducible-path/coq-elpi-2.1.0/apps/coercion' make[2]: Entering directory '/build/reproducible-path/coq-elpi-2.1.0/apps/cs' Using coq found in /usr/bin//, from COQBIN or PATH make[3]: Entering directory '/build/reproducible-path/coq-elpi-2.1.0/apps/cs' make[3]: /usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq: Permission denied make[3]: /usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq: Permission denied make[3]: /usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq: Permission denied INSTALL theories/cs.vo /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps/ INSTALL theories/cs.v /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps/ INSTALL theories/cs.glob /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps/ INSTALL src/elpi_cs_plugin.cmxs /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps/ INSTALL src/elpi_cs_plugin.cmxs /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps/ ocamlfind: [WARNING] No such file: /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq/../coq-core//../coq-elpi-cs/META Installed /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq/../coq-core//../coq-elpi-cs/elpi_cs_plugin.cmx Installed /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq/../coq-core//../coq-elpi-cs/elpi_cs_plugin.cmxa Installed /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq/../coq-core//../coq-elpi-cs/elpi_cs_plugin.cmxs ocamlfind: [WARNING] Overwriting file /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq/../coq-core//../coq-elpi-cs/elpi_cs_plugin.cmxs Installed /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq/../coq-core//../coq-elpi-cs/elpi_cs_plugin.cmxs Installed /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq/../coq-core//../coq-elpi-cs/elpi_cs_plugin.cmi Installed /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq/../coq-core//../coq-elpi-cs/META make[4]: Entering directory '/build/reproducible-path/coq-elpi-2.1.0/apps/cs' make[4]: Leaving directory '/build/reproducible-path/coq-elpi-2.1.0/apps/cs' make[3]: Leaving directory '/build/reproducible-path/coq-elpi-2.1.0/apps/cs' make[2]: Leaving directory '/build/reproducible-path/coq-elpi-2.1.0/apps/cs' make[2]: Entering directory '/build/reproducible-path/coq-elpi-2.1.0/apps/tc' Using coq found in /usr/bin//, from COQBIN or PATH make[3]: Entering directory '/build/reproducible-path/coq-elpi-2.1.0/apps/tc' make[3]: /usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq: Permission denied make[3]: /usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq: Permission denied make[3]: /usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq: Permission denied INSTALL theories/db.vo /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps/tc/ INSTALL theories/add_commands.vo /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps/tc/ INSTALL theories/tc.vo /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps/tc/ INSTALL theories/wip.vo /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps/tc/ INSTALL theories/db.v /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps/tc/ INSTALL theories/add_commands.v /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps/tc/ INSTALL theories/tc.v /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps/tc/ INSTALL theories/wip.v /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps/tc/ INSTALL theories/db.glob /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps/tc/ INSTALL theories/add_commands.glob /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps/tc/ INSTALL theories/tc.glob /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps/tc/ INSTALL theories/wip.glob /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/elpi/apps/tc/ SKIP src/elpi_tc_plugin.cmxs since it has no logical path SKIP src/elpi_tc_plugin.cmxs since it has no logical path ocamlfind: [WARNING] No such file: /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq/../coq-core//../coq-elpi-tc/META Installed /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq/../coq-core//../coq-elpi-tc/elpi_tc_plugin.cmx Installed /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq/../coq-core//../coq-elpi-tc/elpi_tc_plugin.cmxa Installed /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq/../coq-core//../coq-elpi-tc/elpi_tc_plugin.cmxs ocamlfind: [WARNING] Overwriting file /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq/../coq-core//../coq-elpi-tc/elpi_tc_plugin.cmxs Installed /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq/../coq-core//../coq-elpi-tc/elpi_tc_plugin.cmxs Installed /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq/../coq-core//../coq-elpi-tc/elpi_tc_plugin.cmi Installed /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq/../coq-core//../coq-elpi-tc/META make[4]: Entering directory '/build/reproducible-path/coq-elpi-2.1.0/apps/tc' df="`"/usr/bin///////coq_makefile" -destination-of theories/tc.vo -I ../../src -I src/ -Q ../../theories elpi -R theories elpi.apps.tc -R elpi elpi.apps.tc -R tests elpi.apps.tc.tests`";\ install -m 0644 elpi/alias.elpi elpi/base.elpi elpi/compiler.elpi elpi/create_tc_predicate.elpi elpi/parser_addInstances.elpi elpi/rewrite_forward.elpi elpi/solver.elpi elpi/tc_aux.elpi "/build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi//usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq//user-contrib/$df" make[4]: Leaving directory '/build/reproducible-path/coq-elpi-2.1.0/apps/tc' make[3]: Leaving directory '/build/reproducible-path/coq-elpi-2.1.0/apps/tc' make[2]: Leaving directory '/build/reproducible-path/coq-elpi-2.1.0/apps/tc' ########################## installing doc ############################ mkdir -p /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi/usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq/../../share/doc/coq-elpi cp doc/* /build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi/usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq/../../share/doc/coq-elpi cp: cannot stat 'doc/*': No such file or directory make[1]: [Makefile:136: install] Error 1 (ignored) ########################## installed ############################ make[1]: Leaving directory '/build/reproducible-path/coq-elpi-2.1.0' dh_ocamldoc dh_installdocs dh_installchangelogs dh_installexamples dh_lintian dh_perl dh_link dh_strip_nondeterminism dh_compress dh_fixperms dh_missing dh_dwz -a dwz: debian/libcoq-elpi/usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-elpi-coercion/elpi_coercion_plugin.cmxs: .debug_info section not present dwz: debian/libcoq-elpi/usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-elpi-cs/elpi_cs_plugin.cmxs: .debug_info section not present dwz: debian/libcoq-elpi/usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq-elpi-tc/elpi_tc_plugin.cmxs: .debug_info section not present dwz: debian/libcoq-elpi/usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq/user-contrib/elpi/apps/elpi_coercion_plugin.cmxs: .debug_info section not present dwz: debian/libcoq-elpi/usr/lib/x86_64-linux-gnu/ocaml/5.2.0/coq/user-contrib/elpi/apps/elpi_cs_plugin.cmxs: .debug_info section not present dh_strip -a dh_makeshlibs -a dh_shlibdeps -a dh_installdeb debian/rules override_dh_ocaml make[1]: Entering directory '/build/reproducible-path/coq-elpi-2.1.0' dh_ocaml --nodefined-map=libcoq-elpi-ocaml-dev:Elpi_parser,Elpi_util,Elpi_parser__Ast,Elpi__Runtime,Elpi__,Elpi_util__Util,Elpi__Builtin_checker,Elpi__Builtin,Elpi__Ptmap,Elpi_parser__Grammar,Elpi__Data,Elpi_lexer_config,Elpi__API,Elpi_parser__Parse,Elpi__Builtin_set,Trace_ppx_runtime,Elpi_parser__Parser_config,Elpi_parser__Error_messages,Elpi_parser__Lexer,Elpi,Elpi_exer_config__Tokens,Elpi_Builtin_stdlib,Elpi__Legacy_parser_proxy,Elpi__Builtin_map,Elpi_lexer_config__Tokens,Elpi__Compiler,Trace_ppx_runtime__Runtime,Elpi_lexer_config__Lexer_config,Elpi__Builtin_stdlib,Elpi__Runtime_trace_off,MenhirLib,Ppx_deriving_runtime,Re__Perl,Re__Core,Re__Pcre,Re_str,Re__Automata,Re__Emacs,Re,Re__Fmt,Re__Group,Re__,Re__Glob,Re__Pmark,Re__Category,Re__Str,Re__Posix,Re__Color_map,Re__Cset,Result make[1]: Leaving directory '/build/reproducible-path/coq-elpi-2.1.0' dh_coq dh_gencontrol dh_md5sums dh_builddeb dpkg-deb: building package 'libcoq-elpi' in '../libcoq-elpi_2.1.0-1_amd64.deb'. dpkg-deb: building package 'libcoq-elpi-dbgsym' in '../libcoq-elpi-dbgsym_2.1.0-1_amd64.deb'. dpkg-genbuildinfo --build=binary -O../coq-elpi_2.1.0-1_amd64.buildinfo dpkg-genchanges --build=binary -O../coq-elpi_2.1.0-1_amd64.changes dpkg-genchanges: info: binary-only upload (no source code included) dpkg-source --after-build . dpkg-buildpackage: info: binary-only upload (no source included) dpkg-genchanges: info: including full source code in upload I: copying local configuration I: user script /srv/workspace/pbuilder/3256756/tmp/hooks/B01_cleanup starting I: user script /srv/workspace/pbuilder/3256756/tmp/hooks/B01_cleanup finished I: unmounting dev/ptmx filesystem I: unmounting dev/pts filesystem I: unmounting dev/shm filesystem I: unmounting proc filesystem I: unmounting sys filesystem I: cleaning the build env I: removing directory /srv/workspace/pbuilder/3256756 and its subdirectories I: Current time: Fri Oct 25 00:52:11 +14 2024 I: pbuilder-time-stamp: 1729767131