Diff of the two buildlogs: -- --- b1/build.log 2024-07-02 14:36:13.285284794 +0000 +++ b2/build.log 2024-07-02 14:55:14.556637179 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Tue Jul 2 02:27:33 -12 2024 -I: pbuilder-time-stamp: 1719930453 +I: Current time: Wed Jul 3 04:36:53 +14 2024 +I: pbuilder-time-stamp: 1719931013 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/unstable-reproducible-base.tgz] I: copying local configuration @@ -28,52 +28,84 @@ 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/18658/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/24653/tmp/hooks/D01_modify_environment starting +debug: Running on ff64a. +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 Jul 2 14:37 /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/24653/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/24653/tmp/hooks/D02_print_environment starting I: set - BUILDDIR='/build/reproducible-path' - BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other' - BUILDUSERNAME='pbuilder1' - BUILD_ARCH='armhf' - DEBIAN_FRONTEND='noninteractive' - DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=3 ' - DISTRIBUTION='unstable' - HOME='/root' - HOST_ARCH='armhf' + 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]="21" [3]="1" [4]="release" [5]="arm-unknown-linux-gnueabihf") + BASH_VERSION='5.2.21(1)-release' + BUILDDIR=/build/reproducible-path + BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other' + BUILDUSERNAME=pbuilder2 + BUILD_ARCH=armhf + DEBIAN_FRONTEND=noninteractive + DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=6 ' + DIRSTACK=() + DISTRIBUTION=unstable + EUID=0 + FUNCNAME=([0]="Echo" [1]="main") + GROUPS=() + HOME=/root + HOSTNAME=i-capture-the-hostname + HOSTTYPE=arm + HOST_ARCH=armhf IFS=' ' - INVOCATION_ID='ed3f9441a4a2489d9dc1a4ddaa70d330' - LANG='C' - LANGUAGE='en_US:en' - LC_ALL='C' - MAIL='/var/mail/root' - OPTIND='1' - PATH='/usr/sbin:/usr/bin:/sbin:/bin:/usr/games' - PBCURRENTCOMMANDLINEOPERATION='build' - PBUILDER_OPERATION='build' - PBUILDER_PKGDATADIR='/usr/share/pbuilder' - PBUILDER_PKGLIBDIR='/usr/lib/pbuilder' - PBUILDER_SYSCONFDIR='/etc' - PPID='18658' - PS1='# ' - PS2='> ' + INVOCATION_ID=fe7825974375463c98d050bd73860ee3 + LANG=C + LANGUAGE=it_CH:it + LC_ALL=C + MACHTYPE=arm-unknown-linux-gnueabihf + MAIL=/var/mail/root + OPTERR=1 + OPTIND=1 + OSTYPE=linux-gnueabihf + 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=24653 PS4='+ ' - PWD='/' - SHELL='/bin/bash' - SHLVL='2' - SUDO_COMMAND='/usr/bin/timeout -k 18.1h 18h /usr/bin/ionice -c 3 /usr/bin/nice /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.jBZJ1WOr/pbuilderrc_qQ6y --distribution unstable --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/unstable-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.jBZJ1WOr/b1 --logfile b1/build.log coq-elpi_2.1.0-1.dsc' - SUDO_GID='110' - SUDO_UID='103' - SUDO_USER='jenkins' - TERM='unknown' - TZ='/usr/share/zoneinfo/Etc/GMT+12' - USER='root' - _='/usr/bin/systemd-run' - http_proxy='http://10.0.0.15:3142/' + 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.jBZJ1WOr/pbuilderrc_03fj --distribution unstable --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/unstable-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.jBZJ1WOr/b2 --logfile b2/build.log coq-elpi_2.1.0-1.dsc' + SUDO_GID=114 + SUDO_UID=109 + SUDO_USER=jenkins + TERM=unknown + TZ=/usr/share/zoneinfo/Etc/GMT-14 + UID=0 + USER=root + _='I: set' + http_proxy=http://10.0.0.15:3142/ I: uname -a - Linux virt32z 6.1.0-22-armmp-lpae #1 SMP Debian 6.1.94-1 (2024-06-21) armv7l GNU/Linux + Linux i-capture-the-hostname 6.1.0-22-arm64 #1 SMP Debian 6.1.94-1 (2024-06-21) aarch64 GNU/Linux I: ls -l /bin lrwxrwxrwx 1 root root 7 Jun 5 22:35 /bin -> usr/bin -I: user script /srv/workspace/pbuilder/18658/tmp/hooks/D02_print_environment finished +I: user script /srv/workspace/pbuilder/24653/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -196,7 +228,7 @@ Get: 73 http://deb.debian.org/debian unstable/main armhf libppx-deriving-ocaml-dev armhf 6.0.2-2 [854 kB] Get: 74 http://deb.debian.org/debian unstable/main armhf libre-ocaml-dev armhf 1.11.0-1+b1 [924 kB] Get: 75 http://deb.debian.org/debian unstable/main armhf libelpi-ocaml-dev armhf 1.18.2-4 [9618 kB] -Fetched 349 MB in 3s (99.9 MB/s) +Fetched 349 MB in 14s (25.8 MB/s) debconf: delaying package configuration, since apt-utils is not installed Selecting previously unselected package libpython3.12-minimal:armhf. (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 ... 19412 files and directories currently installed.) @@ -451,8 +483,8 @@ Setting up tzdata (2024a-4) ... Current default time zone: 'Etc/UTC' -Local time is now: Tue Jul 2 14:28:32 UTC 2024. -Universal Time is now: Tue Jul 2 14:28:32 UTC 2024. +Local time is now: Tue Jul 2 14:40:15 UTC 2024. +Universal Time is now: Tue Jul 2 14:40:15 UTC 2024. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up autotools-dev (20220109.1) ... @@ -523,7 +555,11 @@ Building tag database... -> Finished parsing the build-deps I: Building the package -I: Running cd /build/reproducible-path/coq-elpi-2.1.0/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-genchanges -S > ../coq-elpi_2.1.0-1_source.changes +I: user script /srv/workspace/pbuilder/24653/tmp/hooks/A99_set_merged_usr starting +Not re-configuring usrmerge for unstable +I: user script /srv/workspace/pbuilder/24653/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 @@ -873,7 +909,7 @@ 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.013 secs (0.008u,0.004s) (successful) +Finished transaction in 0.036 secs (0.036u,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 @@ -1047,7 +1083,7 @@ 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 -j3 test + make -j6 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 ########################## @@ -1064,11 +1100,24 @@ 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_module.v +COQC tests/test_API_env.v make[4]: Nothing to be done for 'real-all'. 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[4]: Nothing to be done for 'real-all'. +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 +Coq version: 8.19.1 = 8 . 19 . 1 +Query assignments: + MA = 8 + MI = 19 + P = 1 + V = 8.19.1 +make[4]: Nothing to be done for 'real-all'. Query assignments: E = fun `n` (global (indt «nat»)) c0 \ fun `t` (app [global (const «T2»), c0]) c1 \ @@ -1105,15 +1154,104 @@ WEAK CONSTRAINTS: -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' +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 -Coq version: 8.19.1 = 8 . 19 . 1 Query assignments: - MA = 8 - MI = 19 - P = 1 - V = 8.19.1 + 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» +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: + 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») +hello world +make[4]: Nothing to be done for 'real-all'. +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/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 +Query assignments: + GR = «empty_nat» + TY = global (indt «nat») Query assignments: E = app [global (const «bar»), @@ -1124,12 +1262,46 @@ TY = prop _uvk_4_ = X0 _uvk_5_ = X1 +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» +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[4]: Nothing to be done for 'real-all'. -hello world -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' +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 Query assignments: + GR1 = indc «Vector.nil» + GR2 = indt «nat» + GR3 = const «A» +A +make[4]: Nothing to be done for 'real-all'. +Query assignments: E = app [global (const «op»), global (const «c»), app @@ -1151,8 +1323,57 @@ WEAK CONSTRAINTS: -A -make[4]: Nothing to be done for 'real-all'. +Query assignments: + I = «Y.i» + ID = j + J = «Y.j» + MP = «elpi.tests.test_API_module.Y» + P = [elpi, tests, test_API_module, Y] +make[2]: Leaving directory '/build/reproducible-path/coq-elpi-2.1.0/apps/tc' +COQC tests/test_API_section.v +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») +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 +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" +B +Query assignments: + Mp_ta = «elpi.tests.test_API_module.TA» +«myfalse» +Query assignments: + F = indt «False» + GR = «myfalse» +myfalse + : False raw: parameter A explicit (global (const «T1»)) c0 \ inductive ind1 tt @@ -1238,200 +1459,158 @@ (prod `x` c0 c1 \ app [global (indt «eq»), c0, c1, c1]) c1 \ end-record) forall x : ind3, x -> Prop : Type -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 -B +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: - 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»)] + 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: - {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 -make[4]: Nothing to be done for 'real-all'. -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 -«elpi.tests.test_API_elaborate.52» «elpi.tests.test_API_elaborate.52» -Query assignments: - GR = «nat» -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: - {} + {eq_class.u1 eq_class.u0} FLEXIBLE UNIVERSES: - + eq_class.u1 + eq_class.u0 SORTS: - α22 := Type + WEAK CONSTRAINTS: -COQC tests/test_API_typecheck.v -make[4]: Nothing to be done for 'real-all'. -Query assignments: - GR = «Nat.add» - MP = «Coq.Init.Datatypes» -make[2]: Leaving directory '/build/reproducible-path/coq-elpi-2.1.0/apps/tc' -########################## 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 +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 ) +Unable to unify "bool" with "nat". 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»] -COQDEP VFILES -Universe constraints: -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») + Msg = Unable to unify "bool" with "nat". Query assignments: - X = «elpi.tests.test_API.1» + 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: - {elpi.tests.test_API.1} |= + 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: -c2 -global (indt «nat») -z -nat +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: - Spilled_1 = c0 \ c1 \ c2 \ -nat - Spilled_2 = c0 \ c1 \ c2 \ -z - T = global (indt «nat») -COQC tests/test_readme.v -c2 -global (indt «nat») -z -nat + GR = «nat» Query assignments: - Spilled_1 = c0 \ c1 \ c2 \ -nat - Spilled_2 = c0 \ c1 \ c2 \ -z - T = global (indt «nat») + A = «elpi.tests.test_API_module.a» + MP_TA = «elpi.tests.test_API_module.TA» + TF = «elpi.tests.test_API_module.TF» Query assignments: - X = typ «elpi.tests.test_API.2» - Y = typ «elpi.tests.test_API.3» + 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: - {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: - - -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: - 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: - {} + {prim_eq_class.u1 prim_eq_class.u0} FLEXIBLE UNIVERSES: - + prim_eq_class.u1 + prim_eq_class.u0 SORTS: WEAK CONSTRAINTS: -Unable to unify "bool" with "nat". +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 *) Query assignments: - Msg = Unable to unify "bool" with "nat". + CA = «a» + CB = «b» + CC = «c» +d : nat + +d is not universe polymorphic +Expands to: Variable d +eq_refl : e2 = 3 + : e2 = 3 Query assignments: - X = typ «elpi.tests.test_API.6» - Y = typ «elpi.tests.test_API.7» - Z = typ «elpi.tests.test_API.8» + 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.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 + {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: -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) +Debug: +elpi lets escape exception: The term global (indc X0) cannot be represented in Coq since its gref part is illformed +unknown_gref +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: Cons = global (indc «cons») GRCons = indc «cons» @@ -1469,177 +1648,83 @@ WEAK CONSTRAINTS: -Notation peano := peano.peano -Inductive peano : Set := Zero : peano | Succ : peano -> peano. +Query assignments: + GR = «Nat.add» + MP = «Coq.Init.Datatypes» +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 -Arguments peano.Succ p - = false - : bool -peano.eqb_OK - : forall x1 x2 : peano, reflect (x1 = x2) (peano.eqb x1 x2) +Module B : Sig Parameter w : nat. End := (F A A) + +*** [ B.w : nat ] +«elpi.tests.test_API_elaborate.52» «elpi.tests.test_API_elaborate.52» Query assignments: - X = typ «elpi.tests.test_API.9» - Y = typ «elpi.tests.test_API.10» + C = «pc» +Query assignments: + MP_TA = «elpi.tests.test_API_module.TA» +Query assignments: + X = «x» +fx : nat -> nat + : nat -> nat +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»] +Universe constraints: 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: - {} + {myind.u0} FLEXIBLE UNIVERSES: - + myind.u0 SORTS: WEAK CONSTRAINTS: -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) -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 +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 +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: + - = false - : bool -Peano.Peano_eqb_OK - : forall x1 x2 : peano, reflect (x1 = x2) (Peano.Peano_eqb x1 x2) +COQC tests/test_API_TC_CS.v +Module Type TB = Funsig (A:TA) Sig End global (indt «nat») Query assignments: T = global (indt «nat») @@ -1668,593 +1753,104 @@ WEAK CONSTRAINTS: -Inductive peano : Set := Zero : peano | Succ : peano -> peano. - -Arguments Succ p - = false - : bool -eqb_OK - : forall x1 x2 : peano, reflect (x1 = x2) (eqb x1 x2) -Inductive peano : Set := - Zero : Peano.peano | Succ : Peano.peano -> Peano.peano. +opaque_3 : nat -Arguments Peano.Succ p - = false - : bool -Peano.eqb_OK - : forall x1 x2 : Peano.peano, reflect (x1 = x2) (Peano.eqb x1 x2) -«elpi.tests.test_API_typecheck.10» +opaque_3 is not universe polymorphic +opaque_3 is opaque +Expands to: Constant elpi.tests.test_API_section.opaque_3 Query assignments: - U = «elpi.tests.test_API_typecheck.10» + X = «elpi.tests.test_API.1» Universe constraints: UNIVERSES: - {elpi.tests.test_API_typecheck.10} |= - Set <= elpi.tests.test_API_typecheck.10 + {elpi.tests.test_API.1} |= ALGEBRAIC UNIVERSES: - {elpi.tests.test_API_typecheck.10} + {} FLEXIBLE UNIVERSES: - elpi.tests.test_API_typecheck.10 -SORTS: -WEAK CONSTRAINTS: - - -COQC tests/test_derive_stdlib.v -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_API_env.v -COQC tests/test_param2.v -[foo (const «X»), foo (indt «nat»), foo (indt «bool»)] -[foo (indt «nat»), foo (indt «bool»)] -[] -[foo (indt «nat»)] -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») -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 -Query assignments: - GR = «empty_nat» - TY = global (indt «nat») -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 -File "./tests/test_param2.v", line 85, characters 0-30: -Warning: Not a truly recursive fixpoint. [non-recursive,fixpoints,default] -COQC tests/test_invert.v -Query assignments: - GR1 = indc «Vector.nil» - GR2 = indt «nat» - GR3 = const «A» -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») -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 -test_inv : Type -> bool -> Type - : Type -> bool -> Type -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 _ _ -COQC tests/test_idx2inv.v -«myfalse» -Query assignments: - F = indt «False» - GR = «myfalse» -myfalse - : False -hello [int 1, int 2, trm (global (indt «nat»)), str x] -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 -COQC tests/test_lens.v -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: - 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 ) -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_API_module.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» + _uvk_6_ = «nuind.u0» + _uvk_7_ = «nuind.u1» Universe constraints: UNIVERSES: ALGEBRAIC UNIVERSES: - {prim_eq_class.u1 prim_eq_class.u0} + {nuind.u1 nuind.u0} FLEXIBLE UNIVERSES: - prim_eq_class.u1 - prim_eq_class.u0 + nuind.u1 + nuind.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 *) -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] -_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 -COQC tests/test_tag.v -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» +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 Query assignments: - C = «pc» -elpi.tests.test_API_module.X.i -[elpi, tests, test_API_module, X, Y] -[elpi, tests, test_API_module, X, Y] + A = «elpi.tests.test_API_module.A» 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» + 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: - {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 +?r : Reflexive R + : Reflexive R +where +?r : [ |- Reflexive R] +c0 global (indt «nat») Query assignments: - I = «Y.i» - ID = j - J = «Y.j» - MP = «elpi.tests.test_API_module.Y» - P = [elpi, tests, test_API_module, Y] + T = global (indt «nat») +«elpi.tests.test_API_typecheck.10» Query assignments: - _uvk_6_ = «nuind.u0» - _uvk_7_ = «nuind.u1» + 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: - {nuind.u1 nuind.u0} + {elpi.tests.test_API_typecheck.10} FLEXIBLE UNIVERSES: - nuind.u1 - nuind.u0 + elpi.tests.test_API_typecheck.10 SORTS: WEAK CONSTRAINTS: Query assignments: -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 - Mp_ta = «elpi.tests.test_API_module.TA» -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 -c0 global (indt «nat») -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 -Query assignments: - T = global (indt «nat») -COQC tests/test_eqType_ast.v -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» + 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: - {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: - A = «elpi.tests.test_API_module.a» - MP_TA = «elpi.tests.test_API_module.TA» - TF = «elpi.tests.test_API_module.TF» Query assignments: D = parameter A X0 (sort (typ «tx.u0»)) c0 \ inductive tx X1 @@ -2308,83 +1904,20 @@ 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) + Spilled_1 = «elpi.tests.test_API_module.A» +Module IA := Struct Definition z : nat. Definition i : Type. End -*** [ B.w : nat ] Query assignments: - MP_TA = «elpi.tests.test_API_module.TA» + Spilled_1 = «elpi.tests.test_API_module.IA» 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» + 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_env.26} |= - Set <= elpi.tests.test_API_env.26 - ind1.u0 <= elpi.tests.test_API_env.26 + {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: @@ -2394,14 +1927,10 @@ WEAK CONSTRAINTS: -Module Type TB = Funsig (A:TA) Sig End Query assignments: - A = «elpi.tests.test_API_module.A» -COQC examples/usage.v -Query assignments: - Spilled_1 = «elpi.tests.test_API_module.A» -Module IA := Struct Definition z : nat. Definition i : Type. End - + GR = const «myi» +myi : Reflexive R + : Reflexive R Query assignments: D = parameter A explicit (sort (typ «elpi.tests.test_API_env.20»)) c0 \ parameter a explicit c0 c1 \ @@ -2410,13 +1939,13 @@ 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 \ + 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 \ - parameter bb implicit (app [global (indt «prod»), c3, c3]) c5 \ - arity - (prod `_` + 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 \ @@ -2435,13 +1964,13 @@ 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 \ + 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 \ - parameter bb implicit (app [global (indt «prod»), c3, c3]) c5 \ - arity - (prod `_` + 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 \ @@ -2454,3696 +1983,111 @@ [c2, c3, c4, global (indt «nat»), app [global (indc «S»), global (indc «O»)]]))] I = «ind1» - U = «elpi.tests.test_API_env.27» + 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.27} |= - Set <= elpi.tests.test_API_env.27 - ind1.u0 <= elpi.tests.test_API_env.27 -ALGEBRAIC UNIVERSES: - {} -FLEXIBLE UNIVERSES: - -SORTS: - -WEAK CONSTRAINTS: - - -Query assignments: - Spilled_1 = «elpi.tests.test_API_module.IA» -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: - Spilled_1 = «elpi.tests.test_API_module.IA» -i - : Type -Query assignments: - Spilled_1 = «elpi.tests.test_API_module.TA» -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 regular, 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 regular, canonical ff] f2 - (app [global (indt «eq»), c0, c1, app [c2, c1]]) c3 \ end-record) - I = «r1» - UP = «r1.u0» - UR = «r1.u0» -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 -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» -Query assignments: - Spilled_1 = «elpi.tests.test_API_module.TA» -Module Type ITA = Sig Parameter z : nat. Parameter i : Type. End -Derivation map on indt «rtree» took 0.007812 -Derivation lens on indt «rtree» -Derivation lens on indt «rtree» failed, continuing -Derivation param1 on indt «rtree» -Derivation param1 on indt «rtree» took 0.017980 -Derivation param2 on indt «rtree» -Derivation param2 on indt «rtree» took 0.021706 -Derivation tag on indt «rtree» -Derivation tag on indt «rtree» took 0.003482 -Derivation eqType_ast on indt «rtree» -Derivation eqType_ast on indt «rtree» took 0.002281 -Derivation lens_laws on indt «rtree» -Derivation lens_laws on indt «rtree» took 0.001666 -Derivation param1_congr on indt «rtree» -Derivation param1_congr on indt «rtree» took 0.007163 -Derivation param1_inhab on indt «rtree» -Derivation param1_inhab on indt «rtree» took 0.006516 -Derivation param1_functor on indt «rtree» -Derivation param1_functor on indt «rtree» took 0.006585 -Derivation fields on indt «rtree» -{{ nat; S; }} -{{ nat; S; }} -Query assignments: - GR = const «Nat.add» - L = {{ nat; S; }} - S = {{ nat; S; }} -Derivation fields on indt «rtree» took 0.017693 -Derivation param1_trivial on indt «rtree» -Derivation param1_trivial on indt «rtree» took 0.195334 -Derivation induction on indt «rtree» -Derivation induction on indt «rtree» took 0.004782 -Derivation eqb on indt «rtree» -Derivation eqb on indt «rtree» took 0.029851 -Derivation eqbcorrect on indt «rtree» -Derivation eqbcorrect on indt «rtree» took 0.106881 -Derivation eqbOK on indt «rtree» -Derivation eqbOK on indt «rtree» took 0.003895 -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.017483 -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.006859 -Derivation eqType_ast on indt «Box» -Derivation eqType_ast on indt «Box» took 0.002013 -Derivation lens_laws on indt «Box» -Derivation lens_laws on indt «Box» took 0.037562 -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.010596 -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.013870 -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 -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) -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» -{{ 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» -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) -COQC tests/test_API_section.v -Derivation map on indt «a» -Derivation map on indt «a» took 0.004786 -Derivation lens on indt «a» -Derivation lens on indt «a» failed, continuing -Derivation param1 on indt «a» -Derivation param1 on indt «a» took 0.018337 -Derivation param2 on indt «a» -Derivation param2 on indt «a» took 0.019138 -Derivation tag on indt «a» -Derivation tag on indt «a» took 0.002855 -Derivation eqType_ast on indt «a» -Derivation eqType_ast on indt «a» took 0.002036 -Derivation lens_laws on indt «a» -Derivation lens_laws on indt «a» took 0.001678 -Derivation param1_congr on indt «a» -Derivation param1_congr on indt «a» took 0.002210 -Derivation param1_inhab on indt «a» -Derivation param1_inhab on indt «a» took 0.004565 -Derivation param1_functor on indt «a» -Derivation param1_functor on indt «a» took 0.009306 -Derivation fields on indt «a» -Derivation fields on indt «a» took 0.016252 -Derivation param1_trivial on indt «a» -Derivation param1_trivial on indt «a» took 0.014069 -Derivation induction on indt «a» -Derivation induction on indt «a» took 0.007528 -Derivation eqb on indt «a» -Derivation eqb on indt «a» took 0.011570 -Derivation eqbcorrect on indt «a» -Derivation eqbcorrect on indt «a» took 0.014507 -Derivation eqbOK on indt «a» -Derivation eqbOK on indt «a» took 0.002963 -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.019070 -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.007096 -Derivation eqType_ast on indt «b» -Derivation eqType_ast on indt «b» took 0.001978 -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.008677 -Derivation param1_functor on indt «b» -Derivation param1_functor on indt «b» took 0.008921 -Derivation fields on indt «b» -Derivation fields on indt «b» took 0.016556 -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.003429 -Derivation eqb on indt «b» -Derivation eqb on indt «b» took 0.073679 -Derivation eqbcorrect on indt «b» -Derivation eqbcorrect on indt «b» took 0.016078 -Derivation eqbOK on indt «b» -Derivation eqbOK on indt «b» took 0.002744 -a_eqb - : a -> a -> bool -b_eqb - : b -> b -> bool -COQC examples/readme.v -Query assignments: - CA = «a» - CB = «b» - CC = «c» -d : nat - -d is not universe polymorphic -Expands to: Variable d -eq_refl : e2 = 3 - : e2 = 3 -Query assignments: - X = «x» -fx : nat -> nat - : nat -> nat -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 -Derivation param1 on const «Nat.add» -Derivation param1 on const «Nat.add» took 0.017677 -Derivation param2 on const «Nat.add» -Derivation param2 on const «Nat.add» took 0.019131 -Derivation eqb-alias on const «Nat.add» -Derivation eqb-alias on const «Nat.add» failed, continuing -Derivation eqbcorrect-alias on const «Nat.add» -Derivation eqbcorrect-alias on const «Nat.add» failed, continuing -Derivation eqbOK-alias on const «Nat.add» -Derivation eqbOK-alias on const «Nat.add» failed, continuing -is_add - : forall n : nat, is_nat n -> forall m : nat, is_nat m -> is_nat (n + m) -COQC tests/test_projK.v -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 = 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 = 2.794073 -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: - - -foo : nat - : nat -bar : bool -> nat - : bool -> nat -COQC tests/test_API_TC_CS.v -?r : Reflexive R - : Reflexive R -where -?r : [ |- Reflexive R] -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 *) -Query assignments: - GR = const «myi» -myi : Reflexive R - : Reflexive R -Query assignments: - LP = «Coq.ZArith.Znat» - MP = «Coq.ZArith.Znat.N2Z» -COQC tests/test_API_arguments.v -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] -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] -Query assignments: - L = [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 «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 «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), - tc-instance (const «Bool.Decidable_eq_bool») (tc-priority-computed 0), - tc-instance (const «DecidableClass.Decidable_not») - (tc-priority-computed 1), - 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 «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 «Equivalence_PER») (tc-priority-given 10)] -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)] -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: - GR = indt «RewriteRelation» -Query assignments: - GR = indt «True» -Query assignments: - Spilled_1 = const «foo» -foo 3 - : nat -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 -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 - = fun x : bool => x = x - : bool -> Prop -COQC tests/test_API_notations.v -Query assignments: - GR = const «myc» -eq_op myc t t - : bool -Query assignments: - L = [cs-instance (const «carrier») (cs-gref (const «W»)) (const «myc»), - cs-instance (const «eq_op») (cs-gref (const «Z»)) (const «myc»)] -«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 -Query assignments: - I = «eq» - P1 = «carrier» - P2 = «eq_op» -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 «myc1» -eq_op myc1 t1 t1 - : bool -Query assignments: - P = const «eq_op» -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 -Query assignments: - W = const «W» -Query assignments: - Spilled_1 = «elpi.tests.test_API_notations.abbr2» -COQC tests/test_API2.v -[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» -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_derive.v -Query assignments: - P = const «eq_op» - W = indt «nat» -Query assignments: - C1 = const «C1» - GR1 = const «c12» - GR2 = const «c1t» - GR3 = const «c1f» -fun x : C1 => x : C2 - : C1 -> C2 -fun (x : C1) (_ : x) => true - : forall x : C1, x -> bool -fun x : C1 => x 3 - : C1 -> nat -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»))] -Query assignments: - X1 = «x1» - X2 = «x2» - X3 = «x3» -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 -COQC tests/test_HOAS.v -Query assignments: - M = [[mode-ground], [mode-input]] - {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 */ -1 -1 -1.000000 -1.2 -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) [])] -[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»)) - [])] -Query assignments: - T = sort (typ «elpi.tests.test_HOAS.3») - U = «elpi.tests.test_HOAS.3» -Query assignments: - U = «elpi.tests.test_HOAS.4» -Universe constraints: -UNIVERSES: - {elpi.tests.test_HOAS.4} |= -ALGEBRAIC UNIVERSES: - {} -FLEXIBLE UNIVERSES: - -SORTS: - -WEAK CONSTRAINTS: - - -File "./tests/test_API2.v", line 126, characters 0-16: -Warning: Option Foo Bar is deprecated. elpi -[deprecated-option,deprecated,default] -Query assignments: - U = «foo» -derive.param1_trivial: wrong shape is_nest -. It does not look like a unary parametricity translation of an inductive with no indexes. -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: - - -File "./tests/test_API2.v", line 134, characters 0-14: -Warning: Option Foo Bar is deprecated. elpi -[deprecated-option,deprecated,default] -derive.param1_trivial: wrong shape is_vect A PA -. It does not look like a unary parametricity translation of an inductive with no indexes. ----------------------------------- - {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: - C1 = «Nat.add» - C2 = «times» - X1 = tt - X2 = ff -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 -Query assignments: - C1 = «x» -Query assignments: - XX = «elpi.tests.test_API2.xx» -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») -Query assignments: - C1 = «x» - M = «elpi.tests.test_API2.xx» -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») -Query assignments: - XX = «elpi.tests.test_API2.xx2» -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») -Query assignments: - C1 = «x» - M = «elpi.tests.test_API2.xx2» -Debug: Cannot enforce elpi.apps.derive.tests.test_derive.3246 <= Set -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»)]]] -Query assignments: - C1 = «x» - M = «elpi.tests.test_API2.xx3» -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]) -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.003974 -Derivation isK on indt «nat» -Derivation isK on indt «nat» took 0.006881 -Derivation eq on indt «nat» -Derivation eq on indt «nat» took 0.006890 -Derivation invert on indt «nat» -Derivation invert on indt «nat» took 0.008619 -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.024935 -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.009109 -Skipping derivation eqbcorrect on indt «nat» since it has been already run -Derivation eqcorrect on indt «nat» -Derivation eqcorrect on indt «nat» took 0.003551 -Skipping derivation eqbOK on indt «nat» since it has been already run -Derivation eqOK on indt «nat» -Derivation eqOK on indt «nat» took 0.003037 -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 -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: - - -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) - -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: - - -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: - _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» -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]) - 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]) - 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» - 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]] - 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] - 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: - - -Query assignments: - GR = const const EXN PRINTING: Not_found -«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: - - -«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: - - -Query assignments: - Spilled_1 = «elpi.tests.test_API2.F» - Spilled_2 = «elpi.tests.test_API2.X» -«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: - - -«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» -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: - - -«elpi.tests.test_API2.H» -Query assignments: - H = «elpi.tests.test_API2.H» -Module H : Sig Definition id : nat -> nat. End := (F X) - -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: - - -Query assignments: - Spilled_1 = «elpi.tests.test_API2.T» -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: - - -Query assignments: - GR = const const EXN PRINTING: Not_found -Module Type FT = Funsig (P:T) Sig Parameter idT : P.T -> P.T. End -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 -Query assignments: - Spilled_1 = «elpi.tests.test_API2.FT» - Spilled_2 = «elpi.tests.test_API2.X» -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: - - -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 -Query assignments: - GR = indt «nat» -«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» -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: - - -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 -«elpi.tests.test_API2.HT» -Query assignments: - H = «elpi.tests.test_API2.HT» -Module Type HT = Sig Parameter idT : nat -> nat. End -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 -Query assignments: - GR = indt «F» -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: - - -File "./tests/test_API2.v", line 372, characters 3-201: -Warning: constant test has no declared type. [elpi.typecheck,elpi,default] -derive.param1_trivial: wrong shape is_Pred -. It does not look like a unary parametricity translation of an inductive with no indexes. -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» + UB2 = «ind1.u0» + UB3 = «ind1.u0» + UC = «elpi.tests.test_API_env.22» Universe constraints: UNIVERSES: - {elpi.tests.test_HOAS.84} |= + {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: - elpi.tests.test_HOAS.84 + SORTS: WEAK CONSTRAINTS: -Pred.Pred_to_Predinv : forall T : RoseTree, Pred T -> Pred.Predinv T - : forall T : RoseTree, Pred T -> Pred.Predinv T +Unable to unify "Set" with "Prop" (universe inconsistency: Cannot enforce Set +<= Prop). 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 */ + E = Unable to unify "Set" with "Prop" (universe inconsistency: Cannot enforce Set +<= Prop). +Query assignments: + X = typ «elpi.tests.test_API.9» + Y = typ «elpi.tests.test_API.10» 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} |= + {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: - α6 - α7 - α8 - α9 - α10 - α11 - α12 - α13 - α14 - α15 - α16 - α17 - α18 - α19 - α20 - α21 - α22 - α23 - α24 + WEAK CONSTRAINTS: -COQC tests/test_arg_HOAS.v -wimpls.wimpls not a defined object. -wimpls.Kwi not a defined object. -Kwi 3 eq_refl - : wimpls -where -?rtree0 : [ |- rtree nat] -COQC tests/test_eq.v -«elpi.tests.test_HOAS.85 elpi.tests.test_HOAS.85» +COQC tests/test_API_arguments.v Query assignments: - I = «elpi.tests.test_HOAS.85 elpi.tests.test_HOAS.85» - U = «elpi.tests.test_HOAS.85» + 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_HOAS.85} |= + {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: @@ -6153,89 +2097,364 @@ WEAK CONSTRAINTS: -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» + Spilled_1 = «elpi.tests.test_API_module.IA» +i + : Type +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] +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] +Query assignments: + L = [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 «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 «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), + tc-instance (const «Bool.Decidable_eq_bool») (tc-priority-computed 0), + tc-instance (const «DecidableClass.Decidable_not») + (tc-priority-computed 1), + 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 «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 «Equivalence_PER») (tc-priority-given 10)] +Query assignments: + Spilled_1 = «elpi.tests.test_API_module.TA» +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: + 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) + 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» +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)] +foo : nat + : nat +bar : bool -> nat + : bool -> nat +COQC tests/test_API_notations.v +Query assignments: + Spilled_1 = «elpi.tests.test_API_module.TA» +Module Type ITA = Sig Parameter z : nat. Parameter i : Type. End +{{ nat; S; }} +{{ nat; S; }} +Query assignments: + GR = const «Nat.add» + L = {{ nat; S; }} + S = {{ nat; S; }} +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: + GR = indt «RewriteRelation» +{{ 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» +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» +COQC tests/test_HOAS.v +Query assignments: + Spilled_1 = const «foo» +foo 3 + : nat +[foo (const «X»), foo (indt «nat»), foo (indt «bool»)] +[foo (indt «nat»), foo (indt «bool»)] +[] +[foo (indt «nat»)] +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 +Query assignments: + GR = indt «True» +«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_HOAS.87 elpi.tests.test_HOAS.86} |= - elpi.tests.test_HOAS.86 < elpi.tests.test_HOAS.87 + {elpi.tests.test_API_notations.3 elpi.tests.test_API_notations.2 + elpi.tests.test_API_notations.1} |= 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: +SORTS: + α1 + α2 + α3 WEAK CONSTRAINTS: -poly@{u u0} : Type@{u0} -(* u u0 |= u < u0 *) +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 +Query assignments: + Spilled_1 = const «f» +f : forall [S : Type], S -> Prop -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. -sort (typ «Set») +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 + = fun x : bool => x = x + : bool -> Prop +COQC tests/test_arg_HOAS.v Query assignments: - U = «elpi.tests.test_HOAS.89» + _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_HOAS.89} |= Set = elpi.tests.test_HOAS.89 + {elpi.tests.test_API_notations.6 elpi.tests.test_API_notations.5 + elpi.tests.test_API_notations.4} |= ALGEBRAIC UNIVERSES: - {elpi.tests.test_HOAS.89} + {} FLEXIBLE UNIVERSES: - elpi.tests.test_HOAS.89 := Set -SORTS: +SORTS: + α4 + α5 + α6 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 *) +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 + {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) -Arguments tree A%type_scope -Arguments leaf A%type_scope _ -Arguments node A%type_scope _ _%list_scope +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 */ +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 ----<<---- enter: coq.say raw: (parameter A1 maximal (sort (typ «elpi.tests.test_arg_HOAS.2»)) c0 \ @@ -6914,6 +3133,10 @@ (prod `_` c0 c5 \ app [c2, c3, c4, app [global (indc «S»), global (indc «O»)]]))]) X10 +Query assignments: + GR = const «myc» +eq_op myc t t + : bool ---->>---- exit: coq.env.add-indt (parameter A1 maximal (sort (typ «foo1.u0»)) c0 \ @@ -6964,75 +3187,19 @@ ?B1 : [ |- Type] ?B2 : [ |- Type] ?f : [ |- foo1 ?A2 (?B1 * ?B1) ?B2 3] -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 + Spilled_1 = «elpi.tests.test_API_notations.abbr2» +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) [])] COQC tests/test_quotation.v Query assignments: D = parameter A explicit (sort (typ «t.u0»)) c0 \ @@ -7454,6 +3621,10 @@ prod `x` c0 c5 \ app [global (indt «eq»), c0, app [c2, c5, c5], c5]) c4 \ end-record)) «foo» +hello [int 1, int 2, trm (global (indt «nat»)), str x] +Query assignments: + L = [cs-instance (const «carrier») (cs-gref (const «W»)) (const «myc»), + cs-instance (const «eq_op») (cs-gref (const «Z»)) (const «myc»)] Query assignments: I = «foo» ----<<---- enter: @@ -7586,6 +3757,12 @@ prod `x` c0 c5 \ app [global (indt «eq»), c0, app [c2, c5, c5], c5]) c4 \ end-record))) Illtyped inductive declaration +[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»)) + [])] ----<<---- enter: coq.say typed: (parameter A explicit (sort (typ «elpi.tests.test_arg_HOAS.94»)) c0 \ @@ -7685,45 +3862,6 @@ prod `x` c0 c5 \ app [global (indt «eq»), c0, app [c2, c5, c5], c5]) c4 \ end-record)) «foo» -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 -COQC tests/test_isK.v Query assignments: BO = fix `add` 0 (prod `n` (global (indt «nat»)) c0 \ @@ -7737,8 +3875,1490 @@ GR = «Nat.add» TY = prod `n` (global (indt «nat»)) c0 \ prod `m` (global (indt «nat»)) c1 \ global (indt «nat») +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_vernacular1.v +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 = 9.096522 +Query assignments: + I = «eq» + P1 = «carrier» + P2 = «eq_op» +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: + + Query assignments: I = «foo» +test2 ----<<---- enter: coq.arity->term (parameter P explicit (sort (typ «elpi.tests.test_arg_HOAS.99»)) c0 \ @@ -7767,6 +5387,8 @@ prod `w` c0 c1 \ prod `n` (global (indt «nat»)) c2 \ global (indt «nat»))) illtyped definition +test1 +str hello ---->>---- exit: std.assert-ok! (coq.typecheck @@ -7804,8 +5426,13 @@ prod `n` (global (indt «nat»)) c2 \ global (indt «nat»)) X1 «x1» x1 : forall P : Type, P -> nat -> nat : forall P : Type, P -> nat -> nat +test1 +too many arguments eq_refl : x1 = (fun (P : Type) (_ : P) (n : nat) => n + 1) : x1 = (fun (P : Type) (_ : P) (n : nat) => n + 1) +test1 +str hello my +str Dear ----<<---- enter: coq.arity->term (parameter n explicit (global (indt «nat»)) c0 \ @@ -7831,6 +5458,8 @@ coq.env.add-axiom y (prod `n` (global (indt «nat»)) c0 \ sort (typ «elpi.tests.test_arg_HOAS.102»)) X2 +test1 +too many arguments ---->>---- exit: coq.env.add-axiom y (prod `n` (global (indt «nat»)) c0 \ sort (typ «y.u0»)) «y» @@ -8029,50 +5658,64 @@ (record foo (sort prop) Build_foo (field [coercion off, canonical tt] bar (global (indt «True»)) c0 \ end-record)) «foo» -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 + GR = const «myc1» +eq_op myc1 t1 t1 + : bool +Query assignments: + T = sort (typ «elpi.tests.test_HOAS.3») + U = «elpi.tests.test_HOAS.3» +Query assignments: + P = const «eq_op» +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 )])] +Query assignments: + S = {{ Nat.add; eq; nat; O; }} + Spilled_1 = 4 +[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] + 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 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 */ + {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_quotation.3 elpi.tests.test_quotation.2 - elpi.tests.test_quotation.1} |= Set <= elpi.tests.test_quotation.3 + {elpi.tests.test_API_env.30} |= ALGEBRAIC UNIVERSES: {} FLEXIBLE UNIVERSES: - elpi.tests.test_quotation.3 + SORTS: - α1 - α2 + α8 WEAK CONSTRAINTS: @@ -8148,43 +5791,6 @@ ?B1 : [ |- Type] ?B2 : [ |- Type] ?f : [ |- foo1 ?A2 (?B1 * ?B1) ?B2 3] -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 fun `v` (app [global (indt «Vector.t»), global (indt «nat»), @@ -8325,9 +5931,126 @@ WEAK CONSTRAINTS: +Query assignments: + W = const «W» +Query assignments: + U = «elpi.tests.test_HOAS.4» +Universe constraints: +UNIVERSES: + {elpi.tests.test_HOAS.4} |= +ALGEBRAIC UNIVERSES: + {} +FLEXIBLE UNIVERSES: + +SORTS: + +WEAK CONSTRAINTS: + + +[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: + 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 *) +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 3 Query assignments: X = 3 +Query assignments: + P = const «eq_op» + W = indt «nat» +Query assignments: + U = «foo» +Query assignments: + LP = «Coq.ZArith.Znat» + MP = «Coq.ZArith.Znat.N2Z» +COQC tests/test_tactic.v +Query assignments: + C1 = const «C1» + GR1 = const «c12» + GR2 = const «c1t» + GR3 = const «c1f» +fun x : C1 => x : C2 + : C1 -> C2 +fun (x : C1) (_ : x) => true + : forall x : C1, x -> bool +fun x : C1 => x 3 + : C1 -> nat +fun `x` X0 c0 \ app [X1, c0] +Query assignments: + X = X1 + Y = fun `x` X0 c0 \ app [X1, c0] + _uvk_34_ = X0 ----<<---- enter: coq.say raw: (inductive X3 tt (arity (sort (typ «elpi.tests.test_arg_HOAS.131»))) c0 \ @@ -8466,80 +6189,6 @@ X4 is universe polymorphic Expands to: Inductive elpi.tests.test_arg_HOAS.X4 -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 -prim_int_is_PI - : prim_int -> bool -prim_float_is_PF - : prim_float -> bool -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 -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 -COQC tests/test_param1.v -fun `x` X0 c0 \ app [X1, c0] -Query assignments: - X = X1 - Y = fun `x` X0 c0 \ app [X1, c0] - _uvk_34_ = X0 -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: - - fun `r` (global (indt «nat»)) c0 \ fun `p` (prod `y` (global (indt «nat»)) c1 \ @@ -8568,6 +6217,46 @@ {| 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) 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: + + +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»))] +Query assignments: + X = 3 +app [global (const «Nat.mul»), X0, X1] type +Query assignments: GR = indc «Ord» K = global (indc «Ord») T = fun `u` X0 c0 \ @@ -8669,7 +6358,102 @@ 1 : nat -COQC tests/test_vernacular1.v +COQC tests/test_elaborator.v +COQC tests/test_ltac.v +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 +COQC tests/test_ltac3.v +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: + + +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] +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 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: + + +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 Query assignments: GR = indt «X4» Universe constraints: @@ -9348,6 +7132,36 @@ 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» + {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) ----<<---- enter: coq.arity->term (arity X0) X1 ---->>---- exit: coq.arity->term (arity X1) X1 ----<<---- enter: @@ -9384,6 +7198,36 @@ 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» + {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) ----<<---- enter: coq.arity->term (arity @@ -9422,6 +7266,50 @@ 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'» + {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.arity->term (arity X0) X1 ---->>---- exit: coq.arity->term (arity X1) X1 ----<<---- enter: @@ -9458,6 +7346,50 @@ 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'» + {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.arity->term (arity @@ -9559,285 +7491,53 @@ (prod `T` (sort (typ «uuu»)) c0 \ prod `T1` (sort (typ «elpi.tests.test_arg_HOAS.201»)) c1 \ prod `x` c0 c2 \ c0) X7 «f8''» -test2 -test1 -str hello -test1 -too many arguments -test1 -str hello my -str Dear -test1 -too many arguments -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)) -COQC tests/test_tactic.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] -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] -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]) []) -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) -is_beta : forall A : Type, pred A -> pred (beta A) - : forall A : Type, pred A -> pred (beta A) -is_iota : pred iota - : pred iota -is_large : pred large - : pred large -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) -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) -is_ord2 : forall p : peano, is_peano p -> pred (ord2 p) - : forall p : peano, is_peano p -> pred (ord2 p) -is_val : pred val - : pred val - {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) -Query assignments: - X = 3 - {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) -app [global (const «Nat.mul»), X0, X1] type - {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) - {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) -COQC tests/test_elaborator.v +z + : nat +COQC tests/test_cache_async.v Query assignments: - Y = global (indc «is_O») - 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 + 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») Query assignments: B = fix `add` 0 (prod `n` (global (indt «nat»)) c0 \ @@ -9919,38 +7619,116 @@ WEAK CONSTRAINTS: -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»)]] -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) +it = elpi_subproof + : True +it : True -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). +it is not universe polymorphic +it is transparent +Expands to: Constant elpi.tests.test_ltac.it +elpi_subproof = I + : True +elpi_subproof : True -Arguments is_bla _%nat_scope P_ s1 -Arguments is_Bla _%nat_scope P_ -Arguments is_Blu n%nat_scope Pn _ P_ +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_COQ_ELPI_ATTRIBUTES.v +COQC tests/perf_calls.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)) +COQC tests/test_ctx_cache.v +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») Query assignments: B = fun `n` (global (indt «nat»)) c0 \ app @@ -10057,157 +7835,89 @@ 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] + 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 tests/test_libobject_A.v +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»)]]] +COQC tests/test_glob.v + 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 +COQC tests/test_link_perf.v CHR: Uniqueness of typing of frozen--1073 + [] <-> [] 1 |> [decl c0 `x` (uvar frozen--1073 [])] |- frozen--1073 [] : sort (typ «elpi.tests.test_elaborator.40») @@ -10240,14 +7950,43 @@ WEAK CONSTRAINTS: -[(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] +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]) +d1 + : nat +d2 + : nat +i1 + : Prop +i2 + : Prop +k1 + : i1 +k2 + : i2 +r1 + : Set +r2 + : Type +f1 + : r1 -> nat +f2 + : r2 -> nat +COQC tests/test_link_order1.v Query assignments: R = fun `x` (global (indt «nat»)) c0 \ app [global (const «Nat.add»), c0, global (indc «O»)] @@ -10269,15 +8008,61 @@ WEAK CONSTRAINTS: -1356 - : nat -this 3 app [c4, X0 c0 c1 c2 c3 c4] -app [c3, app [c1, c2], global (const «a»)] foo.bar sort (typ X0) Query assignments: _uvk_129_ = X0 -Debug: elpi lets escape exception: API coq.env.add-const cannot be used in -tactics +[(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] +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: + + +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: S = sort (typ «elpi.tests.test_elaborator.48») T = sort (typ «elpi.tests.test_elaborator.47») @@ -10295,9 +8080,349 @@ WEAK CONSTRAINTS: -File "./tests/test_param1.v", line 176, characters 0-66: -Warning: Not a truly recursive fixpoint. [non-recursive,fixpoints,default] -COQC tests/test_map.v +1356 + : nat +this 3 app [c4, X0 c0 c1 c2 c3 c4] +app [c3, app [c1, c2], global (const «a»)] foo.bar +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: + 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: + + +Finished transaction in 9.247 secs (9.239u,0.003s) (successful) +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]) + 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]) + 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» + 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]] + 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] + 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: + + +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 +Debug: elpi lets escape exception: API coq.env.add-const cannot be used in +tactics +«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: + 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: + + +«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: + + [trm c0, trm (app [global (const «Nat.add»), c0, c1])] {c0 c1} : decl c1 `y` (global (indt «nat»)), decl c0 `x` (global (indt «nat»)) @@ -10340,6 +8465,48 @@ {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 */ +«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: + + [int 1] {c0 c1} : decl c1 `y` (global (indt «nat»)), decl c0 `x` (global (indt «nat»)) @@ -10352,6 +8519,27 @@ {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: + 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 */ [str a] {c0 c1} : decl c1 `y` (global (indt «nat»)), decl c0 `x` (global (indt «nat»)) @@ -10377,51 +8565,201 @@ 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: - 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» + 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: + + +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 +COQC tests/test_link_order2.v +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: + + +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: + + +Debug: elpi lets escape exception: Attribute foo2 is not supported +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_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 + {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_elaborator.51 elpi.tests.test_elaborator.49} + {elpi.tests.test_HOAS.79 elpi.tests.test_HOAS.78} FLEXIBLE UNIVERSES: - elpi.tests.test_elaborator.51 - elpi.tests.test_elaborator.49 + elpi.tests.test_HOAS.79 + elpi.tests.test_HOAS.78 SORTS: WEAK CONSTRAINTS: -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 -Debug: elpi lets escape exception: Attribute foo2 is not supported [attribute elpi.loc (leaf-loc File "./tests/test_tactic.v", line 314, column 10, character 6765:), attribute elpi.phase (leaf-str interp)] Query assignments: - X = sort (typ «elpi.tests.test_elaborator.53») - Y = sort (typ «elpi.tests.test_elaborator.54») + 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.54 elpi.tests.test_elaborator.53} |= - elpi.tests.test_elaborator.53 < elpi.tests.test_elaborator.54 + {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: - {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: + + +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: @@ -10616,6 +8954,1667 @@ [attribute elpi.loc (leaf-loc File "./tests/test_tactic.v", line 346, column 7, character 7481:), attribute elpi.phase (leaf-str interp)] +COQC tests/test_link_order3.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» +Query assignments: + GR = indt «nat» +Query assignments: + F = app [global (const «nat_of_bool»), global (indc «true»)] +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»))] +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 +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: + + +Query assignments: + Res = app + [global (const «Z_of_nat»), + app [global (const «nat_of_bool»), global (indc «true»)]] +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 +Query assignments: + GR = indt «F» +x1 + : nat +w + : nat +COQC tests/test_link_order4.v +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: + + +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: + + +COQC tests/test_link_order5.v +«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: + + +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. +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 +Query assignments: + T = global (const «int») + X = primitive (uint63 99) +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_link_order6.v +Query assignments: + T = global (const «float») + X = primitive (float64 993000) +COQC tests/test_link_order7.v +COQC tests/test_link_order8.v +Query assignments: + _uvk_323_ = X0 +COQC tests/test_link_order9.v +COQC tests/test_API_new_pred.v +COQC tests/test_link_order_import0.v +COQC tests/test_query_extra_dep.v +COQC tests/test_toposort.v +COQC tests/test_synterp.v +Query q X0 +Query r X0 +Result r 1 +COQC tests/test_checker.v +COQC tests/test_replay.v +Query assignments: + P = /build/reproducible-path/coq-elpi-2.1.0/elpi/elpi_elaborator.elpi +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)] +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_API2.v +a + : nat +L= [p 1] +COQC tests/test_vernacular2.v +COQC tests/test_ltac2.v +test1 +str hello +str x +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] +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_libobject_B.v +Query assignments: + X1 = «x1» + X2 = «x2» + X3 = «x3» +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] +COQC tests/test_link_order_import1.v +COQC tests/test_link_order_import2.v +Query assignments: + M = [[mode-ground], [mode-input]] +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 )] +COQC tests/test_libobject_C.v +global (indc «O») +app + [global (indc «S»), + app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]] +########################## 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 + +COQDEP VFILES +[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] +COQC tests/test_link_order_import3.v +Finished transaction in 79.567 secs (77.287u,0.127s) (successful) +COQC tests/test_readme.v +COQC tests/test_derive_stdlib.v +COQC tests/test_param2.v +1 +1 +1.000000 +1.2 +Finished transaction in 1.544 secs (1.538u,0.s) (successful) +COQC tests/test_invert.v +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 +COQC tests/test_idx2inv.v +test_inv : Type -> bool -> Type + : Type -> bool -> Type +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 _ _ +COQC examples/usage.v +COQC examples/readme.v +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 +File "./tests/test_param2.v", line 85, characters 0-30: +Warning: Not a truly recursive fixpoint. [non-recursive,fixpoints,default] +COQC tests/test_projK.v +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 +COQC tests/test_derive.v +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) +File "./tests/test_API2.v", line 126, characters 0-16: +Warning: Option Foo Bar is deprecated. elpi +[deprecated-option,deprecated,default] +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) +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) +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) +File "./tests/test_API2.v", line 134, characters 0-14: +Warning: Option Foo Bar is deprecated. elpi +[deprecated-option,deprecated,default] +Inductive peano : Set := Zero : peano | Succ : peano -> peano. + +Arguments Succ p + = false + : bool +eqb_OK + : forall x1 x2 : peano, reflect (x1 = x2) (eqb x1 x2) +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 +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 +Derivation param1 on const «Nat.add» +Derivation param1 on const «Nat.add» took 0.044744 +Derivation param2 on const «Nat.add» +Derivation param2 on const «Nat.add» took 0.053269 +Derivation eqb-alias on const «Nat.add» +Derivation eqb-alias on const «Nat.add» failed, continuing +Derivation eqbcorrect-alias on const «Nat.add» +Derivation eqbcorrect-alias on const «Nat.add» failed, continuing +Derivation eqbOK-alias on const «Nat.add» +Derivation eqbOK-alias on const «Nat.add» failed, continuing +is_add + : forall n : nat, is_nat n -> forall m : nat, is_nat m -> is_nat (n + m) +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 +COQC tests/test_eq.v +Derivation map on indt «rtree» +Derivation map on indt «rtree» took 0.035400 +Derivation lens on indt «rtree» +Derivation lens on indt «rtree» failed, continuing +Derivation param1 on indt «rtree» +Derivation param1 on indt «rtree» took 0.086063 +Derivation param2 on indt «rtree» +Derivation param2 on indt «rtree» took 0.099658 +Derivation tag on indt «rtree» +Derivation tag on indt «rtree» took 0.014835 +Derivation eqType_ast on indt «rtree» +Derivation eqType_ast on indt «rtree» took 0.010347 +Derivation lens_laws on indt «rtree» +Derivation lens_laws on indt «rtree» took 0.007688 +Derivation param1_congr on indt «rtree» +Derivation param1_congr on indt «rtree» took 0.032828 +Derivation param1_inhab on indt «rtree» +Derivation param1_inhab on indt «rtree» took 0.028633 +Derivation param1_functor on indt «rtree» +Derivation param1_functor on indt «rtree» took 0.031147 +Derivation fields on indt «rtree» +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) +Derivation fields on indt «rtree» took 0.077186 +Derivation param1_trivial on indt «rtree» +Derivation param1_trivial on indt «rtree» took 0.720381 +Derivation induction on indt «rtree» +Derivation induction on indt «rtree» took 0.022578 +Derivation eqb on indt «rtree» +Derivation eqb on indt «rtree» took 0.085680 +Derivation eqbcorrect on indt «rtree» +Derivation eqbcorrect on indt «rtree» took 0.286808 +Derivation eqbOK on indt «rtree» +Derivation eqbOK on indt «rtree» took 0.016735 +Done +Query assignments: + C1 = «Nat.add» + C2 = «times» + X1 = tt + X2 = ff +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 +COQC tests/test_isK.v +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.042991 +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.015893 +Derivation eqType_ast on indt «Box» +Derivation eqType_ast on indt «Box» took 0.009450 +Derivation lens_laws on indt «Box» +Derivation lens_laws on indt «Box» took 0.097189 +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.049638 +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.045784 +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 +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» +Query assignments: + C1 = «x» +Derivation map on indt «a» took 0.019885 +Derivation lens on indt «a» +Derivation lens on indt «a» failed, continuing +Derivation param1 on indt «a» +Derivation param1 on indt «a» took 0.046856 +Derivation param2 on indt «a» +Derivation param2 on indt «a» took 0.050394 +Derivation tag on indt «a» +Derivation tag on indt «a» took 0.012250 +Derivation eqType_ast on indt «a» +Derivation eqType_ast on indt «a» took 0.008604 +Derivation lens_laws on indt «a» +Derivation lens_laws on indt «a» took 0.007792 +Derivation param1_congr on indt «a» +Derivation param1_congr on indt «a» took 0.009557 +Derivation param1_inhab on indt «a» +Derivation param1_inhab on indt «a» took 0.020180 +Derivation param1_functor on indt «a» +Derivation param1_functor on indt «a» took 0.020043 +Derivation fields on indt «a» +Derivation fields on indt «a» took 0.034646 +Derivation param1_trivial on indt «a» +Derivation param1_trivial on indt «a» took 0.023674 +Derivation induction on indt «a» +Derivation induction on indt «a» took 0.014143 +Derivation eqb on indt «a» +Derivation eqb on indt «a» took 0.032686 +Derivation eqbcorrect on indt «a» +Derivation eqbcorrect on indt «a» took 0.047711 +Derivation eqbOK on indt «a» +Derivation eqbOK on indt «a» took 0.011432 +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.049785 +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.012598 +Derivation eqType_ast on indt «b» +Derivation eqType_ast on indt «b» took 0.009128 +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.020902 +Derivation param1_functor on indt «b» +Derivation param1_functor on indt «b» took 0.020687 +Derivation fields on indt «b» +Derivation fields on indt «b» took 0.039823 +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.015231 +Derivation eqb on indt «b» +Query assignments: + XX = «elpi.tests.test_API2.xx» +Derivation eqb on indt «b» took 0.176627 +Derivation eqbcorrect on indt «b» +Derivation eqbcorrect on indt «b» took 0.054868 +Derivation eqbOK on indt «b» +Derivation eqbOK on indt «b» took 0.011488 +a_eqb + : a -> a -> bool +b_eqb + : b -> b -> bool +COQC tests/test_param1.v +Query assignments: + C1 = «x» + M = «elpi.tests.test_API2.xx» +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 +prim_int_is_PI + : prim_int -> bool +prim_float_is_PF + : prim_float -> bool +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 +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 +COQC tests/test_map.v +Query assignments: + XX = «elpi.tests.test_API2.xx2» +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 +COQC tests/test_lens.v +Query assignments: + C1 = «x» + M = «elpi.tests.test_API2.xx2» empty_map : map empty : map empty unit_map : map unit @@ -10654,85 +10653,124 @@ : map1 pa_record pr_record_map : map1 pr_record : map1 pr_record -COQC tests/test_lens_laws.v -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 */ -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»))] -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 +COQC tests/test_tag.v +derive.param1_trivial: wrong shape is_nest +. It does not look like a unary parametricity translation of an inductive with no indexes. 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: - - -x1 - : nat -w - : nat -COQC tests/test_ltac.v + C1 = «x» + M = «elpi.tests.test_API2.xx3» +_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 +derive.param1_trivial: wrong shape is_vect A PA +. It does not look like a unary parametricity translation of an inductive with no indexes. +COQC tests/test_eqType_ast.v +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 +COQC tests/test_lens_laws.v +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) +is_beta : forall A : Type, pred A -> pred (beta A) + : forall A : Type, pred A -> pred (beta A) +is_iota : pred iota + : pred iota +is_large : pred large + : pred large +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) +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) +is_ord2 : forall p : peano, is_peano p -> pred (ord2 p) + : forall p : peano, is_peano p -> pred (ord2 p) +is_val : pred val + : pred val _f1_view_set : view_set _f1 : view_set _f1 _f2_view_set : view_set _f2 @@ -10773,6 +10811,34 @@ : exchange _f1 _f2 _f2_f1_exchange : exchange _f2 _f1 : exchange _f2 _f1 +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) + _f3_f4_exchange : forall A : Type, exchange _f3 _f4 : forall A : Type, exchange _f3 _f4 _f4_f3_exchange : forall A : Type, exchange _f4 _f3 @@ -10783,81 +10849,460 @@ : forall A : Type, exchange _pf4 _pf3 COQC tests/test_fields.v 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 + _uvk_19_ = «elpi.tests.test_API2.7» 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: - {} + {elpi.tests.test_API2.7} FLEXIBLE UNIVERSES: - + elpi.tests.test_API2.7 SORTS: WEAK CONSTRAINTS: +Debug: Cannot enforce elpi.apps.derive.tests.test_derive.3246 <= Set Query assignments: - A = tt - B = 0 - C = 0 - D = sort (typ «Set») - E = [«true», «false»] - F = [global (indt «bool»), global (indt «bool»)] - GR = «bool» -z - : nat + Spilled_1 = «elpi.tests.test_API2.T» Query assignments: - F = app [global (const «nat_of_bool»), global (indc «true»)] -it = elpi_subproof - : True -it : True + Y = global (indc «is_O») +Query assignments: + GR = const const EXN PRINTING: Not_found +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.011280 +Derivation isK on indt «nat» +Derivation isK on indt «nat» took 0.021451 +Derivation eq on indt «nat» +Derivation eq on indt «nat» took 0.021117 +Derivation invert on indt «nat» +Derivation invert on indt «nat» took 0.027584 +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.080328 +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.027602 +Skipping derivation eqbcorrect on indt «nat» since it has been already run +Derivation eqcorrect on indt «nat» +Derivation eqcorrect on indt «nat» took 0.011063 +Skipping derivation eqbOK on indt «nat» since it has been already run +Derivation eqOK on indt «nat» +Derivation eqOK on indt «nat» took 0.009307 +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 +Query assignments: + Spilled_1 = «elpi.tests.test_API2.F» + Spilled_2 = «elpi.tests.test_API2.X» +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»)]] +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) -it is not universe polymorphic -it is transparent -Expands to: Constant elpi.tests.test_ltac.it -elpi_subproof = I - : True -elpi_subproof : True +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). -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_ltac3.v -c0 \ app [global (const «nat_of_bool»), c0] +Arguments is_bla _%nat_scope P_ s1 +Arguments is_Bla _%nat_scope P_ +Arguments is_Blu n%nat_scope Pn _ P_ +«elpi.tests.test_API2.G» 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 + G = «elpi.tests.test_API2.G» +Module G : Sig Definition id : X.T -> X.T. End := (F X) + Query assignments: - Res = app - [global (const «Z_of_nat»), - app [global (const «nat_of_bool»), global (indc «true»)]] -COQC tests/test_cache_async.v + 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) + +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 +Query assignments: + Spilled_1 = «elpi.tests.test_API2.T» +COQC tests/test_bcongr.v +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] empty_fields_t : positive -> Type : positive -> Type empty_fields : forall n : empty, empty_fields_t (empty_tag n) @@ -11059,23 +11504,13 @@ Datatypes.Some l sigma_bool_fields_t : positive -> Type : positive -> Type +Query assignments: + GR = const const EXN PRINTING: Not_found 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) -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 +Module Type FT = Funsig (P:T) Sig Parameter idT : P.T -> P.T. End sigma_bool_construct : forall p : positive, sigma_bool_fields_t p -> Datatypes.option sigma_bool @@ -11132,41 +11567,41 @@ 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_bcongr.v -COQC tests/test_COQ_ELPI_ATTRIBUTES.v +COQC tests/test_eqb.v 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 + Spilled_1 = «elpi.tests.test_API2.FT» + Spilled_2 = «elpi.tests.test_API2.X» +«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» +«elpi.tests.test_API2.HT» +Query assignments: + H = «elpi.tests.test_API2.HT» +Module Type HT = Sig Parameter idT : nat -> nat. End +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_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 + {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: -COQC tests/perf_calls.v -Query assignments: - T = global (const «int») - X = primitive (uint63 99) -COQC tests/test_require_bad_order.v -Query assignments: - T = global (const «float») - X = primitive (float64 993000) unit_bcongr_tt : reflect (tt = tt) true : reflect (tt = tt) true peano_bcongr_Zero : reflect (Zero = Zero) true @@ -11315,216 +11750,108 @@ : reflect (E2 = E2) true enum_bcongr_E3 : reflect (E3 = E3) true : reflect (E3 = E3) true -COQC tests/test_param1_functor.v -COQC tests/test_ctx_cache.v +COQC tests/test_eqK.v +File "./tests/test_API2.v", line 372, characters 3-201: +Warning: constant test has no declared type. [elpi.typecheck,elpi,default] Query assignments: - _uvk_323_ = X0 -COQC tests/test_libobject_A.v -COQC tests/test_glob.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 + _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 +File "./tests/test_param1.v", line 176, characters 0-66: +Warning: Not a truly recursive fixpoint. [non-recursive,fixpoints,default] +COQC tests/test_param1_functor.v COQC tests/test_param1_congr.v -d1 - : nat -d2 - : nat -i1 - : Prop -i2 - : Prop -k1 - : i1 -k2 - : i2 -r1 - : Set -r2 - : Type -f1 - : r1 -> nat -f2 - : r2 -> nat -COQC tests/test_link_perf.v -Finished transaction in 2.604 secs (1.682u,0.s) (successful) -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -congr_is_E1 : is_E1 = is_E1 - : is_E1 = is_E1 -COQC tests/test_eqb.v empty_eqb : eq_test2 empty empty : eq_test2 empty empty unit_eqb : eq_test2 unit unit @@ -11571,7 +11898,6 @@ : eq_test2 val val alias_eqb : eq_test2 alias alias : eq_test2 alias alias -COQC tests/test_eqK.v 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 @@ -11697,7 +12023,368 @@ : eq_axiom_at enum enum_eq E2 eq_axiom_E3 : eq_axiom_at enum enum_eq E3 : eq_axiom_at enum enum_eq E3 +test coqdoc hyperlinks +test link order +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +congr_is_E1 : is_E1 = is_E1 + : is_E1 = is_E1 +COQC tests/test_param1_trivial.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 +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 +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 +W_tag : forall A : Type, W A -> BinNums.positive + : forall A : Type, W A -> BinNums.positive +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 +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 +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] 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) @@ -12371,7 +13058,71 @@ 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 -COQC tests/test_param1_trivial.v +COQC tests/test_eqcorrect.v +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 is_empty_trivial : trivial empty is_empty : trivial empty is_empty is_unit_trivial : trivial unit is_unit @@ -12528,499 +13279,8 @@ : 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_eqcorrect.v -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 -COQC tests/test_eqbcorrect.v -[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] -COQC tests/test_link_order1.v -COQC tests/test_link_order2.v -Finished transaction in 26.013 secs (20.301u,0.027s) (successful) -Finished transaction in 0.687 secs (0.42u,0.s) (successful) -COQC tests/test_link_order3.v -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_eqOK.v -COQC tests/test_link_order4.v +COQC tests/test_eqbcorrect.v empty_eq_OK : ok empty empty_eq : ok empty empty_eq unit_eq_OK : ok unit unit_eq @@ -13033,7 +13293,6 @@ 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) -COQC tests/test_link_order5.v pair_eq_OK : forall (A : Type) (f : A -> A -> bool), @@ -13087,8 +13346,27 @@ 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) +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 -COQC tests/test_link_order6.v 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 @@ -13112,218 +13390,43 @@ 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 -COQC tests/test_link_order7.v COQDEP VFILES COQC tests/test_assumption.v -COQC tests/test_link_order8.v COQC tests/test_constructor.v COQC tests/test_intro.v COQC tests/test_clear.v -d - : nat COQC tests/test_fail.v -COQC tests/test_link_order9.v COQC tests/test_discriminate.v -COQC tests/test_API_new_pred.v +COQC tests/test_injection.v Debug: elpi lets escape exception: discriminate: the equation F of type K nat nat = K nat nat is trivial at the top level -COQC tests/test_injection.v -COQC tests/test_link_order_import0.v -COQC tests/test_query_extra_dep.v COQC tests/test_case.v +COQC tests/test_generalize.v +d + : nat +COQC tests/test_cycle.v +COQC examples/usage_eltac.v +Debug: elpi lets escape exception: not enough goals: 3 < 3 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 -COQC tests/test_generalize.v -Query q X0 -Query r X0 -Result r 1 -COQC tests/test_toposort.v -Query assignments: - P = /build/reproducible-path/coq-elpi-2.1.0/elpi/elpi_elaborator.elpi -COQC tests/test_cycle.v -Debug: elpi lets escape exception: not enough goals: 3 < 3 -COQC examples/usage_eltac.v -COQC tests/test_synterp.v -COQC tests/test_checker.v 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 Warning: ../../theories (used in -R or -Q) is not a subdirectory of the current directory -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)] -synterp [str X] -interp [str X] -synterp [int 1] -interp [int 1] -synterp [trm _] COQDEP VFILES -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 - -a - : nat -L= [p 1] 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 -COQC tests/test_replay.v Foo.x = 3 : nat Foo.x2 = 4 @@ -13355,79 +13458,14 @@ : nat d = 1 : nat -A2.B2.f = 2 +Cats.And.Dogs.x = 42 : nat -COQC tests/test_NES_resolve.v -COQC tests/test_NES_perf.v -COQC tests/test_vernacular2.v -test1 -str hello -str x -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] -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] -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 )] -COQC tests/test_ltac2.v -COQC tests/test_libobject_B.v -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_order_import1.v -COQC tests/test_link_order_import2.v -COQC tests/test_libobject_C.v -global (indc «O») -app - [global (indc «S»), - app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]] -COQC tests/test_NES_perf_optimal.v -COQC tests/test_link_order_import3.v -COQC tests/test_module_namespace.v -test coqdoc hyperlinks -test link order -COQC tests/test_NES_lib.v -COQC examples/usage_NES.v This.Is.A.Long.Namespace.stuff = 1 : nat = 1 : nat +A2.B2.f = 2 + : nat This.Is.A.Long.Namespace.stuff = 2 : nat = 1 @@ -13442,8 +13480,6 @@ : nat default nat_def : nat : nat -Cats.And.Dogs.x = 42 - : 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 @@ -13644,8 +13680,6 @@ COQC tests/nobacktrack.v The predicate of indt «C» is tc-C and search mode is deterministic COQC tests/patternFragment.v -COQC tests/contextDeepHierarchy.v -COQC tests/section_in_out.v (Inst2 bool (fun (H : Type) (_ : nat) => ?Goal) (fun (H : Type) (H0 _ : nat) (H2 : Y ((fun (H1 : Type) (_ : nat) => ?Goal@{H:=H1}) H H0)) => H2)) @@ -13658,27 +13692,22 @@ (Inst2 bool (fun (_ : Type) (_ : nat) => bool) (fun (H : Type) (H0 _ : nat) (H2 : Y ((fun (_ : Type) (_ : nat) => bool) H H0)) => H2)) +COQC tests/contextDeepHierarchy.v +COQC tests/section_in_out.v COQC tests/eqSimplDef.v +COQC tests/injTest.v +COQC tests/stdppInj.v +COQC tests/stdppInjClassic.v +COQC tests/indt_to_inst.v +COQC tests/bigTest.v Query assignments: Len = 2 Rules = [instance [] (const «Bool.Decidable_eq_bool») (indt «DecidableClass.Decidable»), instance [] (const «DecidableClass.Decidable_not») (indt «DecidableClass.Decidable»)] -COQC tests/injTest.v -COQC tests/stdppInj.v -COQC tests/stdppInjClassic.v -COQC tests/indt_to_inst.v -COQC tests/bigTest.v COQC examples/tutorial.v -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/register/f2.v Instances list for indt «Eqb» is: const «eqBool» const «eqProd» @@ -13693,6 +13722,28 @@ const «HA» const «eqBool» const «eqProd» +COQC tests/importOrder/f1.v +COQC tests/register/f3.v +COQC tests/importOrder/f2a.v +Received the following event [str I4, str A, str Export, int -1] +COQC tests/importOrder/f2b.v +COQC tests/importOrder/f3c.v +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/f3f.v +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 +COQC tests/importOrder/f3g.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 @@ -13711,13 +13762,10 @@ 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 -COQC tests/register/f2.v +COQC tests/importOrder/f3a.v +COQC tests/importOrder/f3b.v +COQC tests/importOrder/f3d.v +COQC tests/importOrder/f3e.v Instances list for indt «Eqb» is: const «eqBool» const «eqProd'» @@ -13727,9 +13775,7 @@ const «DecidableClass.Decidable_not» The predicate of indt «DecidableClass.Decidable» is tc-Coq.Classes.DecidableClass.tc-Decidable and search mode is classic -COQC tests/importOrder/f1.v COQC tests/test.v -COQC tests/register/f3.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] @@ -13738,17 +13784,7 @@ [unknown-option,default] File "./tests/test.v", line 2, characters 58-79: Warning: There is no debug flag "elpitime". [unknown-debug-flag,default] -Received the following event [str I4, str A, str Export, int -1] -COQC tests/importOrder/f2a.v -COQC tests/importOrder/f2b.v -Finished transaction in 0.021 secs (0.013u,0.s) (successful) -COQC tests/importOrder/f3c.v -COQC tests/importOrder/f3f.v -COQC tests/importOrder/f3g.v -COQC tests/importOrder/f3a.v -COQC tests/importOrder/f3b.v -COQC tests/importOrder/f3d.v -COQC tests/importOrder/f3e.v +Finished transaction in 0.039 secs (0.038u,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 @@ -13799,7 +13835,7 @@ create-stamp debian/debhelper-build-stamp dh_prep dh_auto_install --destdir=debian/libcoq-elpi/ - make -j3 install DESTDIR=/build/reproducible-path/coq-elpi-2.1.0/debian/libcoq-elpi AM_UPDATE_INFO_DIR=no "INSTALL=install --strip-program=true" + make -j6 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 ############################ @@ -14136,12 +14172,14 @@ 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/24653/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/24653/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/18658 and its subdirectories -I: Current time: Tue Jul 2 02:36:02 -12 2024 -I: pbuilder-time-stamp: 1719930962 +I: removing directory /srv/workspace/pbuilder/24653 and its subdirectories +I: Current time: Wed Jul 3 04:55:07 +14 2024 +I: pbuilder-time-stamp: 1719932107