Diff of the two buildlogs: -- --- b1/build.log 2025-03-24 03:21:52.836074417 +0000 +++ b2/build.log 2025-03-24 03:24:51.648005765 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Sun Mar 23 15:19:31 -12 2025 -I: pbuilder-time-stamp: 1742786371 +I: Current time: Sun Apr 26 23:44:56 +14 2026 +I: pbuilder-time-stamp: 1777196696 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/trixie-reproducible-base.tgz] I: copying local configuration @@ -22,52 +22,84 @@ dpkg-source: info: unpacking coq-elpi_2.5.0-1.debian.tar.xz I: Not using root during the build. I: Installing the build-deps -I: user script /srv/workspace/pbuilder/402054/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/1382711/tmp/hooks/D01_modify_environment starting +debug: Running on codethink03-arm64. +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 Apr 26 09:45 /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/1382711/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/1382711/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='arm64' - DEBIAN_FRONTEND='noninteractive' + 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]="37" [3]="1" [4]="release" [5]="aarch64-unknown-linux-gnu") + BASH_VERSION='5.2.37(1)-release' + BUILDDIR=/build/reproducible-path + BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other' + BUILDUSERNAME=pbuilder2 + BUILD_ARCH=arm64 + DEBIAN_FRONTEND=noninteractive DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=12 ' - DISTRIBUTION='trixie' - HOME='/root' - HOST_ARCH='arm64' + DIRSTACK=() + DISTRIBUTION=trixie + EUID=0 + FUNCNAME=([0]="Echo" [1]="main") + GROUPS=() + HOME=/root + HOSTNAME=i-capture-the-hostname + HOSTTYPE=aarch64 + HOST_ARCH=arm64 IFS=' ' - INVOCATION_ID='d6b8fe6bc9f54969b313d4936775ecd2' - 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='402054' - PS1='# ' - PS2='> ' + INVOCATION_ID=c65c5fb3f4e642388016a5aa196327f1 + LANG=C + LANGUAGE=nl_BE:nl + LC_ALL=C + MACHTYPE=aarch64-unknown-linux-gnu + MAIL=/var/mail/root + OPTERR=1 + OPTIND=1 + OSTYPE=linux-gnu + PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path + PBCURRENTCOMMANDLINEOPERATION=build + PBUILDER_OPERATION=build + PBUILDER_PKGDATADIR=/usr/share/pbuilder + PBUILDER_PKGLIBDIR=/usr/lib/pbuilder + PBUILDER_SYSCONFDIR=/etc + PIPESTATUS=([0]="0") + POSIXLY_CORRECT=y + PPID=1382711 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.aQeQ3zjq/pbuilderrc_wwaZ --distribution trixie --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/trixie-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.aQeQ3zjq/b1 --logfile b1/build.log coq-elpi_2.5.0-1.dsc' - SUDO_GID='109' - SUDO_UID='104' - SUDO_USER='jenkins' - TERM='unknown' - TZ='/usr/share/zoneinfo/Etc/GMT+12' - USER='root' - _='/usr/bin/systemd-run' - http_proxy='http://192.168.101.4:3128' + 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.aQeQ3zjq/pbuilderrc_lsAa --distribution trixie --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/trixie-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.aQeQ3zjq/b2 --logfile b2/build.log coq-elpi_2.5.0-1.dsc' + SUDO_GID=109 + SUDO_UID=104 + SUDO_USER=jenkins + TERM=unknown + TZ=/usr/share/zoneinfo/Etc/GMT-14 + UID=0 + USER=root + _='I: set' + http_proxy=http://192.168.101.4:3128 I: uname -a - Linux codethink04-arm64 6.1.0-32-cloud-arm64 #1 SMP Debian 6.1.129-1 (2025-03-06) aarch64 GNU/Linux + Linux i-capture-the-hostname 6.1.0-32-cloud-arm64 #1 SMP Debian 6.1.129-1 (2025-03-06) aarch64 GNU/Linux I: ls -l /bin - lrwxrwxrwx 1 root root 7 Mar 4 11:20 /bin -> usr/bin -I: user script /srv/workspace/pbuilder/402054/tmp/hooks/D02_print_environment finished + lrwxrwxrwx 1 root root 7 Mar 4 2025 /bin -> usr/bin +I: user script /srv/workspace/pbuilder/1382711/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -210,7 +242,7 @@ Get: 87 http://deb.debian.org/debian trixie/main arm64 libstdio-ocaml-dev arm64 0.17.0-1+b1 [115 kB] Get: 88 http://deb.debian.org/debian trixie/main arm64 libppx-optcomp-ocaml-dev arm64 1:0.17.0-1+b6 [326 kB] Get: 89 http://deb.debian.org/debian trixie/main arm64 ocaml-dune arm64 3.17.2-1 [5587 kB] -Fetched 380 MB in 2s (199 MB/s) +Fetched 380 MB in 3s (131 MB/s) Preconfiguring packages ... Selecting previously unselected package libpython3.13-minimal:arm64. (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 ... 19899 files and directories currently installed.) @@ -509,8 +541,8 @@ Setting up tzdata (2025a-2) ... Current default time zone: 'Etc/UTC' -Local time is now: Mon Mar 24 03:20:21 UTC 2025. -Universal Time is now: Mon Mar 24 03:20:21 UTC 2025. +Local time is now: Sun Apr 26 09:45:51 UTC 2026. +Universal Time is now: Sun Apr 26 09:45:51 UTC 2026. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up autotools-dev (20220109.1) ... @@ -593,7 +625,11 @@ Building tag database... -> Finished parsing the build-deps I: Building the package -I: Running cd /build/reproducible-path/coq-elpi-2.5.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.5.0-1_source.changes +I: user script /srv/workspace/pbuilder/1382711/tmp/hooks/A99_set_merged_usr starting +Not re-configuring usrmerge for trixie +I: user script /srv/workspace/pbuilder/1382711/tmp/hooks/A99_set_merged_usr finished +hostname: Name or service not known +I: Running cd /build/reproducible-path/coq-elpi-2.5.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.5.0-1_source.changes dpkg-buildpackage: info: source package coq-elpi dpkg-buildpackage: info: source version 2.5.0-1 dpkg-buildpackage: info: source distribution UNRELEASED @@ -607,7 +643,7 @@ dune clean Warning: Cache directories could not be created: Permission denied; disabling cache -Hint: Make sure the directory /nonexistent/first-build/.cache/dune/db/temp +Hint: Make sure the directory /nonexistent/second-build/.cache/dune/db/temp can be created make[1]: Leaving directory '/build/reproducible-path/coq-elpi-2.5.0' dh_ocamlclean @@ -625,17 +661,8 @@ dune build Warning: Cache directories could not be created: Permission denied; disabling cache -Hint: Make sure the directory /nonexistent/first-build/.cache/dune/db/temp +Hint: Make sure the directory /nonexistent/second-build/.cache/dune/db/temp can be created -File "./apps/NES/elpi/dummy.v", line 1, characters 0-99: -Warning: To avoid stack overflow, large numbers in nat are interpreted as -applications of Nat.of_num_uint. [abstract-large-number,numbers,default] -File "./apps/NES/elpi/dummy.v", line 2, characters 0-65: -Warning: To avoid stack overflow, large numbers in nat are interpreted as -applications of Nat.of_num_uint. [abstract-large-number,numbers,default] -File "./apps/NES/elpi/dummy.v", line 3, characters 0-66: -Warning: To avoid stack overflow, large numbers in nat are interpreted as -applications of Nat.of_num_uint. [abstract-large-number,numbers,default] File "./elpi/dummy.v", line 1, characters 0-93: Warning: To avoid stack overflow, large numbers in nat are interpreted as applications of Nat.of_num_uint. [abstract-large-number,numbers,default] @@ -675,10 +702,15 @@ File "./elpi/dummy.v", line 13, characters 0-70: Warning: To avoid stack overflow, large numbers in nat are interpreted as applications of Nat.of_num_uint. [abstract-large-number,numbers,default] -File "./theories-stdlib/Vector.v", line 1, characters 0-31: -Warning: Using Vector.t is known to be technically difficult, see -. -[warn-library-file-stdlib-vector,stdlib-vector,warn-library-file,user-warn,default] +File "./apps/NES/elpi/dummy.v", line 1, characters 0-99: +Warning: To avoid stack overflow, large numbers in nat are interpreted as +applications of Nat.of_num_uint. [abstract-large-number,numbers,default] +File "./apps/NES/elpi/dummy.v", line 2, characters 0-65: +Warning: To avoid stack overflow, large numbers in nat are interpreted as +applications of Nat.of_num_uint. [abstract-large-number,numbers,default] +File "./apps/NES/elpi/dummy.v", line 3, characters 0-66: +Warning: To avoid stack overflow, large numbers in nat are interpreted as +applications of Nat.of_num_uint. [abstract-large-number,numbers,default] File "./apps/derive/elpi/dummy.v", line 1, characters 0-99: Warning: To avoid stack overflow, large numbers in nat are interpreted as applications of Nat.of_num_uint. [abstract-large-number,numbers,default] @@ -781,6 +813,10 @@ File "./apps/derive/elpi/dummy.v", line 34, characters 0-58: Warning: To avoid stack overflow, large numbers in nat are interpreted as applications of Nat.of_num_uint. [abstract-large-number,numbers,default] +File "./theories-stdlib/Vector.v", line 1, characters 0-31: +Warning: Using Vector.t is known to be technically difficult, see +. +[warn-library-file-stdlib-vector,stdlib-vector,warn-library-file,user-warn,default] File "./apps/locker/elpi/dummy.v", line 1, characters 0-99: Warning: To avoid stack overflow, large numbers in nat are interpreted as applications of Nat.of_num_uint. [abstract-large-number,numbers,default] @@ -852,27 +888,7 @@ 2410 | type 'arg tactic_main = Solve of 'arg list | Custom of string ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Warning 34 [unused-type-declaration]: unused type tactic_main. -The Db contains [phone_prefix USA 1] -Phone prefix for USA is 1 -The Db contains -[phone_prefix USA 1, phone_prefix France 33, phone_prefix Italy 39] -Phone prefix for France is 33 -sweet! -brr -yummy! -Notation p2 := (p2 nat 3 x) -example_import_projections.p1 nat 3 x : nat - : nat -p1 : forall (T : Type) (t : T), r T t -> nat - : forall (T : Type) (t : T), r T t -> nat -eq_refl -: -example_import_projections.p1 bool false (Build bool false 3 eq_refl eq_refl) = -3 - : example_import_projections.p1 bool false - (Build bool false 3 eq_refl eq_refl) = 3 -example_import_projections.f1 _ x - : bool +3 + 7 becomes fun (x : ?e) (x0 : ?e0) => S (S x0) + S (S (S (S (S (S x))))) goal X0 c0 c1 c2 c3 is [decl c3 `H` (app [global (const «lt»), c0, c1]), @@ -916,7 +932,28 @@ Arguments E_AND1 e1 e2 (b1 b2)%bool_scope _ _ Arguments E_OR1 e1 e2 (b1 b2)%bool_scope _ _ Arguments E_EQ1 e1 e2 (n1 n2)%nat_scope _ _ -3 + 7 becomes fun (x : ?e) (x0 : ?e0) => S (S x0) + S (S (S (S (S (S x))))) +The Db contains [phone_prefix USA 1] +Phone prefix for USA is 1 +The Db contains +[phone_prefix USA 1, phone_prefix France 33, phone_prefix Italy 39] +Phone prefix for France is 33 +sweet! +brr +yummy! +Notation p2 := (p2 nat 3 x) +example_import_projections.p1 nat 3 x : nat + : nat +p1 : forall (T : Type) (t : T), r T t -> nat + : forall (T : Type) (t : T), r T t -> nat +eq_refl +: +example_import_projections.p1 bool false (Build bool false 3 eq_refl eq_refl) = +3 + : example_import_projections.p1 bool false + (Build bool false 3 eq_refl eq_refl) = 3 +example_import_projections.f1 _ x + : bool +(eq_refl : 2 = (let z := 1 in S z)) foo = {f1 : Type & {f2 : f1 -> Type & forall t : f1, f2 t -> bool}} : Type @@ -928,7 +965,6 @@ (forall t : f1, f2 t -> bool) -> foo Arguments mk_foo f1%type_scope (f2 f3)%function_scope -(eq_refl : 2 = (let z := 1 in S z)) Query assignments: GRnat = indt «nat» GRplus = const «Nat.add» @@ -1879,7 +1915,7 @@ Debug: rid:1 step:7 gid:20 user:rule:backchain:candidates = File "(context step_id:4)", line 1, column 0, characters 0-0: -Debug: }}} -> (0.004s) +Debug: }}} -> (0.000s) Debug: select 6 {{{ Debug: @@ -2080,7 +2116,7 @@ Debug: rid:4 step:8 gid:47 user:rule:backchain:candidates = File "(context step_id:4)", line 1, column 0, characters 0-0: -Debug: }}} -> (0.008s) +Debug: }}} -> (0.000s) Debug: select 5 {{{ Debug: @@ -2093,7 +2129,7 @@ Debug: rid:4 step:8 gid:47 user:rule:backchain = success -Debug: }}} -> (0.000s) +Debug: }}} -> (0.020s) arr X0 (arr X2 X0) Query assignments: Ty = arr X0 (arr X2 X0) @@ -2210,208 +2246,6 @@ File "./examples/tutorial_elpi_lang.v", line 1518, characters 28-29 C is linear: name it _C (discard) or C_ (fresh variable) [elpi.linear-variable,elpi.typecheck,elpi,default] -File "./tests/perf_calls.v", line 11, characters 2-3: -Warning: -File "./tests/perf_calls.v", line 11, characters 2-3 -N is linear: name it _N (discard) or N_ (fresh variable) -[elpi.linear-variable,elpi.typecheck,elpi,default] -File "./tests/perf_calls.v", line 13, characters 9-11: -Warning: -File "./tests/perf_calls.v", line 13, characters 9-11 -GR is linear: name it _GR (discard) or GR_ (fresh variable) -[elpi.linear-variable,elpi.typecheck,elpi,default] -File "./tests/perf_calls.v", line 13, characters 7-8: -Warning: -File "./tests/perf_calls.v", line 13, characters 7-8 -N is linear: name it _N (discard) or N_ (fresh variable) -[elpi.linear-variable,elpi.typecheck,elpi,default] -Coq version: 8.20.1 = 8 . 20 . 1 -Query assignments: - MA = 8 - MI = 20 - P = 1 - V = 8.20.1 -hello world -A -B -Query assignments: - GR = «nat» -Query assignments: - GR = «Nat.add» - MP = «Coq.Init.Datatypes» -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: -Query assignments: - X = «elpi.tests.test_API.1» -Universe constraints: -UNIVERSES: - {elpi.tests.test_API.1} |= -ALGEBRAIC UNIVERSES: - {} -FLEXIBLE UNIVERSES: - -SORTS: - -WEAK CONSTRAINTS: - - -Query assignments: - X = typ «elpi.tests.test_API.2» - Y = typ «elpi.tests.test_API.3» -Universe constraints: -UNIVERSES: - {elpi.tests.test_API.3 elpi.tests.test_API.2} |= - elpi.tests.test_API.2 <= elpi.tests.test_API.3 -ALGEBRAIC UNIVERSES: - {} -FLEXIBLE UNIVERSES: - -SORTS: - -WEAK CONSTRAINTS: - - -Query assignments: - X = typ «elpi.tests.test_API.4» - Y = typ «elpi.tests.test_API.5» -Universe constraints: -UNIVERSES: - {elpi.tests.test_API.5 elpi.tests.test_API.4} |= - elpi.tests.test_API.4 <= elpi.tests.test_API.5 -ALGEBRAIC UNIVERSES: - {} -FLEXIBLE UNIVERSES: - -SORTS: - -WEAK CONSTRAINTS: - - -Query assignments: - X = typ «elpi.tests.test_API.6» - Y = typ «elpi.tests.test_API.7» - Z = typ «elpi.tests.test_API.8» -Universe constraints: -UNIVERSES: - {elpi.tests.test_API.8 elpi.tests.test_API.7 elpi.tests.test_API.6} |= - elpi.tests.test_API.6 <= elpi.tests.test_API.8 - elpi.tests.test_API.7 <= elpi.tests.test_API.8 -ALGEBRAIC UNIVERSES: - {} -FLEXIBLE UNIVERSES: - -SORTS: - -WEAK CONSTRAINTS: - - -Query assignments: - X = typ «elpi.tests.test_API.9» - Y = typ «elpi.tests.test_API.10» -Universe constraints: -UNIVERSES: - {elpi.tests.test_API.10 elpi.tests.test_API.9} |= - elpi.tests.test_API.9 < elpi.tests.test_API.10 -ALGEBRAIC UNIVERSES: - {} -FLEXIBLE UNIVERSES: - -SORTS: - -WEAK CONSTRAINTS: - - -[foo (const «X»), foo (indt «nat»), foo (indt «bool»)] -[foo (indt «nat»), foo (indt «bool»)] -[] -[foo (indt «nat»)] -hello [int 1, int 2, trm (global (indt «nat»)), str x] -coq.pp.box (coq.pp.hv 2) - [coq.pp.str Module, coq.pp.spc, coq.pp.str Foo, coq.pp.spc, coq.pp.str :=, - coq.pp.brk 1 0, coq.pp.str body, coq.pp.spc, coq.pp.str End Foo.] -Module - Foo - := - body - End Foo. -fix foo (x : ?e3) (y : ?e4) {struct x} : ?e2 := - match x as _elpi_renamed_x_3 return ?e6 with - | true => S (S (S O)) - | false => y - end -fix foo x y {struct x} := if x as _elpi_renamed_x_3 then 3 else y -File "./tests/test_API.v", line 73, characters 37-39: -Warning: -File "./tests/test_API.v", line 73, characters 37-39 -MP is linear: name it _MP (discard) or MP_ (fresh variable) -[elpi.linear-variable,elpi.typecheck,elpi,default] -File "./tests/test_API.v", line 81, characters 54-55: -Warning: -File "./tests/test_API.v", line 81, characters 54-55 -A is linear: name it _A (discard) or A_ (fresh variable) -[elpi.linear-variable,elpi.typecheck,elpi,default] -File "./tests/test_API.v", line 82, characters 56-58: -Warning: -File "./tests/test_API.v", line 82, characters 56-58 -MP is linear: name it _MP (discard) or MP_ (fresh variable) -[elpi.linear-variable,elpi.typecheck,elpi,default] -File "./tests/test_API.v", line 91, characters 29-30: -Warning: -File "./tests/test_API.v", line 91, characters 29-30 -X is linear: name it _X (discard) or X_ (fresh variable) -[elpi.linear-variable,elpi.typecheck,elpi,default] -File "./tests/test_API.v", line 92, characters 29-30: -Warning: -File "./tests/test_API.v", line 92, characters 29-30 -X is linear: name it _X (discard) or X_ (fresh variable) -[elpi.linear-variable,elpi.typecheck,elpi,default] -File "./tests/test_API.v", line 92, characters 31-32: -Warning: -File "./tests/test_API.v", line 92, characters 31-32 -Y is linear: name it _Y (discard) or Y_ (fresh variable) -[elpi.linear-variable,elpi.typecheck,elpi,default] -File "./tests/test_API.v", line 93, characters 28-29: -Warning: -File "./tests/test_API.v", line 93, characters 28-29 -X is linear: name it _X (discard) or X_ (fresh variable) -[elpi.linear-variable,elpi.typecheck,elpi,default] -File "./tests/test_API.v", line 93, characters 30-31: -Warning: -File "./tests/test_API.v", line 93, characters 30-31 -Y is linear: name it _Y (discard) or Y_ (fresh variable) -[elpi.linear-variable,elpi.typecheck,elpi,default] -File "./tests/test_API.v", line 94, characters 36-37: -Warning: -File "./tests/test_API.v", line 94, characters 36-37 -X is linear: name it _X (discard) or X_ (fresh variable) -[elpi.linear-variable,elpi.typecheck,elpi,default] -File "./tests/test_API.v", line 94, characters 38-39: -Warning: -File "./tests/test_API.v", line 94, characters 38-39 -Y is linear: name it _Y (discard) or Y_ (fresh variable) -[elpi.linear-variable,elpi.typecheck,elpi,default] -File "./tests/test_API.v", line 94, characters 40-41: -Warning: -File "./tests/test_API.v", line 94, characters 40-41 -Z is linear: name it _Z (discard) or Z_ (fresh variable) -[elpi.linear-variable,elpi.typecheck,elpi,default] -File "./tests/test_API.v", line 95, characters 29-30: -Warning: -File "./tests/test_API.v", line 95, characters 29-30 -X is linear: name it _X (discard) or X_ (fresh variable) -[elpi.linear-variable,elpi.typecheck,elpi,default] -File "./tests/test_API.v", line 95, characters 31-32: -Warning: -File "./tests/test_API.v", line 95, characters 31-32 -Y is linear: name it _Y (discard) or Y_ (fresh variable) -[elpi.linear-variable,elpi.typecheck,elpi,default] Hello [str world!] Hello [int 46] Hello [str there] @@ -2483,7 +2317,7 @@ interp x := some (app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]) -The module is «elpi_examples.tutorial_coq_elpi_command.Module4» +The module is «elpi_examples.tutorial_coq_elpi_command.Module51» Box.Box.Box.Box.foo = fun n : nat => n + 2 : nat -> nat @@ -2498,768 +2332,2986 @@ File "./examples/tutorial_coq_elpi_command.v", line 644, characters 7-14: Warning: This command does not support this attribute: unknown. [unsupported-attributes,parsing,default] +File "./apps/NES/theories/NES.v", line 39, characters 0-42: +Warning: +Undeclared globals: +- File "/build/reproducible-path/coq-elpi-2.5.0/apps/NES/elpi/nes_interp.elpi", line 6, column 24, characters 152-161: ns. +Please add the following text to your program: +type ns list string -> modpath -> prop. +[elpi.missing-types,elpi.typecheck,elpi,default] 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: - %arg1 = const «foo» -foo 3 - : nat + 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») +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 `_elpi_renamed_n_2` (global (indt «nat»)) c3 \ X1 c1 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 `_elpi_renamed_n_2` (global (indt «nat»)) c3 \ + global (indt «nat»)) [c2, fun `p` (X3 c1 c2) c3 \ app [c0, c3, c2]] Query assignments: - %arg1 = const «f» - %arg2 = const «f» - %arg3 = const «f» - %arg4 = const «f» - %arg5 = const «f» -f : forall [S : Type], S -> Prop + 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 `_elpi_renamed_n_2` (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») + X1_ = c0 \ c1 \ c2 \ +global (indt «nat») + X2_ = 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_stdlib.test_quotation.2»)) + (X3 c0 c1) /* suspended on X3 */ +Universe constraints: +UNIVERSES: + {elpi_tests_stdlib.test_quotation.3 elpi_tests_stdlib.test_quotation.2 + elpi_tests_stdlib.test_quotation.1} |= + Set <= elpi_tests_stdlib.test_quotation.3 +ALGEBRAIC UNIVERSES: + {} +FLEXIBLE UNIVERSES: + elpi_tests_stdlib.test_quotation.3 +SORTS: + α1 + α2 +WEAK CONSTRAINTS: + -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 +fun `v` + (app + [global (indt «Vector.t»), global (indt «nat»), + app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]]) + c0 \ + match c0 + (fun `_` (X0 c0) c1 \ + fun `_elpi_renamed_v_1` (app [global (indt «Vector.t»), X1 c0, X2 c0]) + c2 \ X3 c0 c2) + [global (indc «O»), + fun `_` (X4 c0) c1 \ + fun `_` (X5 c0) c2 \ + fun `_` (X6 c0) c3 \ app [global (indc «S»), global (indc «O»)]] +fun `v` + (app + [global (indt «Vector.t»), global (indt «nat»), + app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]]) + c0 \ + match c0 + (fun `_` (X7 c0) c1 \ + fun `_elpi_renamed_v_1` + (app [global (indt «Vector.t»), global (indt «nat»), X8 c0]) c2 \ + global (indt «nat»)) + [global (indc «O»), + fun `_` (X9 c0) c1 \ + fun `_` (X10 c0) c2 \ + fun `_` (X11 c0) c3 \ app [global (indc «S»), global (indc «O»)]] Query assignments: - %arg1 = const «f» -f : forall [S : Type], S -> Prop + T = fun `v` + (app + [global (indt «Vector.t»), global (indt «nat»), + app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]]) + c0 \ + match c0 + (fun `_` (X7 c0) c1 \ + fun `_elpi_renamed_v_1` + (app [global (indt «Vector.t»), global (indt «nat»), X8 c0]) c2 \ + global (indt «nat»)) + [global (indc «O»), + fun `_` (X9 c0) c1 \ + fun `_` (X10 c0) c2 \ + fun `_` (X11 c0) c3 \ app [global (indc «S»), global (indc «O»)]] + X3_ = c0 \ +X7 c0 + X4_ = c0 \ +global (indt «nat») + X5_ = c0 \ +X8 c0 + X6_ = c0 \ c1 \ +global (indt «nat») + X7_ = c0 \ +X9 c0 + X8_ = c0 \ +X10 c0 + X9_ = c0 \ +X11 c0 +Syntactic constraints: + {c0} : + decl c0 `v` + (app + [global (indt «Vector.t»), global (indt «nat»), + app + [global (indc «S»), app [global (indc «S»), global (indc «O»)]]]) + ?- evar (X11 c0) (sort (typ «elpi_tests_stdlib.test_quotation.10»)) + (X11 c0) /* suspended on X11 */ + {c0} : + decl c0 `v` + (app + [global (indt «Vector.t»), global (indt «nat»), + app + [global (indc «S»), app [global (indc «S»), global (indc «O»)]]]) + ?- evar (X10 c0) (sort (typ «elpi_tests_stdlib.test_quotation.9»)) + (X10 c0) /* suspended on X10 */ + {c0} : + decl c0 `v` + (app + [global (indt «Vector.t»), global (indt «nat»), + app + [global (indc «S»), app [global (indc «S»), global (indc «O»)]]]) + ?- evar (X9 c0) (sort (typ «elpi_tests_stdlib.test_quotation.8»)) + (X9 c0) /* suspended on X9 */ + {c0} : + decl c0 `v` + (app + [global (indt «Vector.t»), global (indt «nat»), + app + [global (indc «S»), app [global (indc «S»), global (indc «O»)]]]) + ?- evar (X8 c0) (X12 c0) (X8 c0) /* suspended on X8 */ + {c0} : + decl c0 `v` + (app + [global (indt «Vector.t»), global (indt «nat»), + app + [global (indc «S»), app [global (indc «S»), global (indc «O»)]]]) + ?- evar (X13 c0) (sort (typ «elpi_tests_stdlib.test_quotation.6»)) + (X12 c0) /* suspended on X13, X12 */ + {c0} : + decl c0 `v` + (app + [global (indt «Vector.t»), global (indt «nat»), + app + [global (indc «S»), app [global (indc «S»), global (indc «O»)]]]) + ?- evar (X7 c0) (sort (typ «elpi_tests_stdlib.test_quotation.4»)) + (X7 c0) /* suspended on X7 */ +Universe constraints: +UNIVERSES: + {elpi_tests_stdlib.test_quotation.12 elpi_tests_stdlib.test_quotation.11 + elpi_tests_stdlib.test_quotation.10 elpi_tests_stdlib.test_quotation.9 + elpi_tests_stdlib.test_quotation.8 elpi_tests_stdlib.test_quotation.7 + elpi_tests_stdlib.test_quotation.6 elpi_tests_stdlib.test_quotation.5 + elpi_tests_stdlib.test_quotation.4} |= + elpi_tests_stdlib.test_quotation.11 < elpi_tests_stdlib.test_quotation.5 + Set <= Vector.t.u0 + Set <= elpi_tests_stdlib.test_quotation.11 + Set <= elpi_tests_stdlib.test_quotation.12 + elpi_tests_stdlib.test_quotation.11 <= Vector.t.u0 +ALGEBRAIC UNIVERSES: + {} +FLEXIBLE UNIVERSES: + elpi_tests_stdlib.test_quotation.12 +SORTS: + α3 + α4 := Type + α5 + α6 + α7 + α8 + α9 +WEAK CONSTRAINTS: + -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 -Query assignments: - GR = const «myi» -Query assignments: - GR = const «myi» -myi : Reflexive R - : Reflexive R -Query assignments: - GR = const «myi» -Query assignments: - L = [tc-instance (const «relation_equivalence_rewrite_relation») 0, - tc-instance (const «iff_rewrite_relation») 2, - tc-instance (const «impl_rewrite_relation») 3, - tc-instance (const «inverse_impl_rewrite_relation») 3, - tc-instance (const «Equivalence_PER») 10, - tc-instance (const «relation_equivalence_equivalence») 0, - tc-instance (const «predicate_equivalence_equivalence») 0, - tc-instance (const «iff_equivalence») 0, - tc-instance (const «eq_equivalence») 10, - tc-instance (const «relation_implication_preorder») 0, - tc-instance (const «predicate_implication_preorder») 0, - tc-instance (const «Equivalence_PreOrder») 10, - tc-instance (const «Bool.Decidable_eq_bool») 0, - tc-instance (const «DecidableClass.Decidable_not») 1, - tc-instance (const «subrelation_partial_order») 0, - tc-instance (const «iff_Transitive») 0, - tc-instance (const «impl_Transitive») 0, - tc-instance (const «eq_Transitive») 0, - tc-instance (const «Equivalence_Transitive») 1, - tc-instance (const «StrictOrder_Transitive») 1, - tc-instance (const «PreOrder_Transitive») 2, - tc-instance (const «PER_Transitive») 3, - tc-instance (const «StrictOrder_Irreflexive») 1, - tc-instance (const «StrictOrder_Asymmetric») 1, - tc-instance (const «iff_Reflexive») 0, - tc-instance (const «impl_Reflexive») 0, - tc-instance (const «eq_Reflexive») 0, - tc-instance (const «Equivalence_Reflexive») 1, - tc-instance (const «PreOrder_Reflexive») 2, - tc-instance (const «myi») 10, - tc-instance (const «partial_order_antisym») 2, - tc-instance (const «iff_Symmetric») 0, - tc-instance (const «neq_Symmetric») 0, - tc-instance (const «eq_Symmetric») 0, - tc-instance (const «Equivalence_Symmetric») 1, - tc-instance (const «PER_Symmetric») 3] -Query assignments: - GR = indt «RewriteRelation» - L = [tc-instance (const «relation_equivalence_rewrite_relation») 0, - tc-instance (const «iff_rewrite_relation») 2, - tc-instance (const «impl_rewrite_relation») 3, - tc-instance (const «inverse_impl_rewrite_relation») 3] -Query assignments: - GR = indt «RewriteRelation» -Query assignments: - GR = indt «True» -Query assignments: - Check = c0 \ -sigma c1 \ - c0 = expected c1 , - std.mem - [tc-instance (const «hint_c») 0, tc-instance (const «instance_c») 0, - tc-instance (const «instance_g») 4, tc-instance (const «hint_g») 5] - c1 - Exp = [expected (tc-instance (const «hint_c») 0), - expected (tc-instance (const «instance_c») 0), - expected (tc-instance (const «instance_g») 4), - expected (tc-instance (const «hint_g») 5)] - L = [tc-instance (const «hint_c») 0, tc-instance (const «instance_c») 0, - tc-instance (const «instance_g») 4, tc-instance (const «hint_g») 5] -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»)] -Query assignments: - I = «eq» - P1 = «carrier» - P2 = «eq_op» -Query assignments: - GR = const «myc1» -eq_op myc1 t1 t1 - : bool -Query assignments: - P = const «eq_op» -Query assignments: - W = const «W» -[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: - P = const «eq_op» - W = indt «nat» +3 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 + X = 3 +fun `x` X0 c0 \ app [X1, c0] 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»))] + X = X1 + X10_ = X0 + Y = fun `x` X0 c0 \ app [X1, c0] +fun `r` (global (indt «nat»)) c0 \ + fun `p` + (prod `y` (global (indt «nat»)) c1 \ + app + [global (indt «eq»), global (indt «nat»), c1, global (indc «O»)]) + c1 \ + fun `q` (global (indt «bool»)) c2 \ + prod `y` (global (indt «nat»)) c3 \ + app + [global (indt «eq»), global (indt «nat»), c3, global (indc «O»)] Query assignments: - %arg1 = const «nuc» -nuc : forall x : nat, C1 -> C3 x + %arg1 = c0 \ c1 \ c2 \ +prod `y` (global (indt «nat»)) c3 \ + app [global (indt «eq»), global (indt «nat»), c3, global (indc «O»)] + X = fun `r` (global (indt «nat»)) c0 \ + fun `p` + (prod `y` (global (indt «nat»)) c1 \ + app + [global (indt «eq»), global (indt «nat»), c1, global (indc «O»)]) + c1 \ + fun `q` (global (indt «bool»)) c2 \ + prod `y` (global (indt «nat»)) c3 \ + app + [global (indt «eq»), global (indt «nat»), c3, global (indc «O»)] +fun u : nat => +{| val := oval u; Sub := Ord u; Sub_rect := inlined_sub_rect |} + : forall u : nat, is_SUB nat (fun x : nat => leq x u) (ord u) +Debug: +[elpi] + gterm2lp: term=(fun u => + {| val := oval u; Sub := _; Sub_rect := inlined_sub_rect |}) +Debug: [elpi] gterm2lp: term=_ +Debug: +[elpi] + gterm2lp: term={| val := oval u; Sub := _; Sub_rect := inlined_sub_rect |} +Debug: [elpi] gterm2lp: term=SubType +Debug: [elpi] gterm2lp: term=_ +Debug: [elpi] gterm2lp: term=_ +Debug: [elpi] gterm2lp: term=_ +Debug: [elpi] gterm2lp: term=(oval u) +Debug: [elpi] gterm2lp: term=oval +Debug: [elpi] gterm2lp: term=u +Debug: [elpi] gterm2lp: term=_ +Debug: [elpi] gterm2lp: term=inlined_sub_rect +Debug: [elpi] gterm2lp: term=_ +Debug: +[elpi] + gterm2lp: term=(fun K_S u => + let (x, Px) as u0 return (K u0) := u in K_S x Px) +Debug: [elpi] gterm2lp: term=_ +Debug: +[elpi] + gterm2lp: term=(fun u => let (x, Px) as u0 return (K u0) := u in K_S x Px) +Debug: [elpi] gterm2lp: term=_ +Debug: +[elpi] + gterm2lp: term=(let (x, Px) as u0 return (K u0) := _elpi_renamed_u_3 in + K_S x Px) +Debug: [elpi] gterm2lp: term=_elpi_renamed_u_3 +Debug: [elpi] gterm2lp: term=(fun u0 => K u0) +Debug: [elpi] gterm2lp: term=_ +Debug: [elpi] gterm2lp: term=(K u0) +Debug: [elpi] gterm2lp: term=K +Debug: [elpi] gterm2lp: term=u0 +Debug: [elpi] gterm2lp: term=(fun x Px => K_S x Px) +Debug: [elpi] gterm2lp: term=_ +Debug: [elpi] gterm2lp: term=(fun Px => K_S x Px) +Debug: [elpi] gterm2lp: term=_ +Debug: [elpi] gterm2lp: term=(K_S x Px) +Debug: [elpi] gterm2lp: term=K_S +Debug: [elpi] gterm2lp: term=x +Debug: [elpi] gterm2lp: term=Px +Debug: +[elpi] + gterm2lp: term=(fun u => + {| val := _; Sub := elpi_code:(K) u; Sub_rect := _ |}) +Debug: [elpi] gterm2lp: term=_ +Debug: +[elpi] gterm2lp: term={| val := _; Sub := elpi_code:(K) u; Sub_rect := _ |} +Debug: [elpi] gterm2lp: term=SubType +Debug: [elpi] gterm2lp: term=_ +Debug: [elpi] gterm2lp: term=_ +Debug: [elpi] gterm2lp: term=_ +Debug: [elpi] gterm2lp: term=_ +Debug: [elpi] gterm2lp: term=(elpi_code:(K) u) +Debug: [elpi] gterm2lp: term=elpi_code:(K) +Debug: [elpi] gterm2lp: term=u +Debug: [elpi] gterm2lp: term=_ +XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX +fun `u` X0 c0 \ + app + [global (indc «SubType»), X1 c0, X2 c0, X3 c0, + app [global (const «oval»), c0], X4 c0, + fun `K` (X5 c0) c1 \ + fun `K_S` (X6 c0 c1) c2 \ + fun `_elpi_renamed_u_3` (X7 c0 c1 c2) c3 \ + match c3 (fun `u0` (X8 c0 c1 c2 c3) c4 \ app [c1, c4]) + [fun `x` (X9 c0 c1 c2 c3) c4 \ + fun `Px` (X10 c0 c1 c2 c3 c4) c5 \ app [c2, c4, c5]]] +XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX +Debug: +[elpi] + elpi sigma -> coq sigma: before: +SHELF: +FUTURE GOALS STACK: + + +Rocq-Elpi mapping: +RAW: +ELAB: + +Debug: +[elpi] + elpi sigma -> coq sigma: synchronized: +SHELF: +FUTURE GOALS STACK: + + +Rocq-Elpi mapping: +RAW: +ELAB: + +Debug: +[elpi] + elpi sigma -> coq sigma: after: +SHELF: +FUTURE GOALS STACK: + + +Rocq-Elpi mapping: +RAW: +ELAB: + +Debug: +[elpi] + lp2term: depth=0 ctx=[] term=fun `u` X0 c0 \ + app + [global (indc «SubType»), X1 c0, X2 c0, X3 c0, + app [global (const «oval»), c0], X4 c0, + fun `K` (X5 c0) c1 \ + fun `K_S` (X6 c0 c1) c2 \ + fun `_elpi_renamed_u_3` (X7 c0 c1 c2) c3 \ + match c3 (fun `u0` (X8 c0 c1 c2 c3) c4 \ app [c1, c4]) + [fun `x` (X9 c0 c1 c2 c3) c4 \ + fun `Px` (X10 c0 c1 c2 c3 c4) c5 \ app [c2, c4, c5]]] +Debug: +[elpi] + lp2term@0:fun `u` X0 c0 \ + app + [global (indc «SubType»), X1 c0, X2 c0, X3 c0, + app [global (const «oval»), c0], X4 c0, + fun `K` (X5 c0) c1 \ + fun `K_S` (X6 c0 c1) c2 \ + fun `_elpi_renamed_u_3` (X7 c0 c1 c2) c3 \ + match c3 (fun `u0` (X8 c0 c1 c2 c3) c4 \ app [c1, c4]) + [fun `x` (X9 c0 c1 c2 c3) c4 \ + fun `Px` (X10 c0 c1 c2 c3 c4) c5 \ app [c2, c4, c5]]] +Debug: [elpi] lp2term@0:X0 +Debug: [elpi] lp2term: evar: calldepth:0 X0 RAW: +ELAB: + +Debug: +[elpi] + lp2term@1:app + [global (indc «SubType»), X1 c0, X2 c0, X3 c0, + app [global (const «oval»), c0], X4 c0, + fun `K` (X5 c0) c1 \ + fun `K_S` (X6 c0 c1) c2 \ + fun `_elpi_renamed_u_3` (X7 c0 c1 c2) c3 \ + match c3 (fun `u0` (X8 c0 c1 c2 c3) c4 \ app [c1, c4]) + [fun `x` (X9 c0 c1 c2 c3) c4 \ + fun `Px` (X10 c0 c1 c2 c3 c4) c5 \ app [c2, c4, c5]]] +Debug: [elpi] lp2term@1:global (indc «SubType») +Debug: [elpi] lp2term@1:X1 c0 +Debug: [elpi] lp2term: evar: calldepth:0 X1 c0 RAW: +ELAB: + +Debug: [elpi] lp2term@1:X2 c0 +Debug: [elpi] lp2term: evar: calldepth:0 X2 c0 RAW: +ELAB: + +Debug: [elpi] lp2term@1:X3 c0 +Debug: [elpi] lp2term: evar: calldepth:0 X3 c0 RAW: +ELAB: + +Debug: [elpi] lp2term@1:app [global (const «oval»), c0] +Debug: [elpi] lp2term@1:global (const «oval») +Debug: [elpi] lp2term@1:c0 +Debug: [elpi] lp2term@1:X4 c0 +Debug: [elpi] lp2term: evar: calldepth:0 X4 c0 RAW: +ELAB: + +Debug: +[elpi] + lp2term@1:fun `K` (X5 c0) c1 \ + fun `K_S` (X6 c0 c1) c2 \ + fun `_elpi_renamed_u_3` (X7 c0 c1 c2) c3 \ + match c3 (fun `u0` (X8 c0 c1 c2 c3) c4 \ app [c1, c4]) + [fun `x` (X9 c0 c1 c2 c3) c4 \ + fun `Px` (X10 c0 c1 c2 c3 c4) c5 \ app [c2, c4, c5]] +Debug: [elpi] lp2term@1:X5 c0 +Debug: [elpi] lp2term: evar: calldepth:0 X5 c0 RAW: +ELAB: + +Debug: +[elpi] + lp2term@2:fun `K_S` (X6 c0 c1) c2 \ + fun `_elpi_renamed_u_3` (X7 c0 c1 c2) c3 \ + match c3 (fun `u0` (X8 c0 c1 c2 c3) c4 \ app [c1, c4]) + [fun `x` (X9 c0 c1 c2 c3) c4 \ + fun `Px` (X10 c0 c1 c2 c3 c4) c5 \ app [c2, c4, c5]] +Debug: [elpi] lp2term@2:X6 c0 c1 +Debug: [elpi] lp2term: evar: calldepth:0 X6 c0 c1 RAW: +ELAB: + +Debug: +[elpi] + lp2term@3:fun `_elpi_renamed_u_3` (X7 c0 c1 c2) c3 \ + match c3 (fun `u0` (X8 c0 c1 c2 c3) c4 \ app [c1, c4]) + [fun `x` (X9 c0 c1 c2 c3) c4 \ + fun `Px` (X10 c0 c1 c2 c3 c4) c5 \ app [c2, c4, c5]] +Debug: [elpi] lp2term@3:X7 c0 c1 c2 +Debug: [elpi] lp2term: evar: calldepth:0 X7 c0 c1 c2 RAW: +ELAB: + +Debug: +[elpi] + lp2term@4:match c3 (fun `u0` (X8 c0 c1 c2 c3) c4 \ app [c1, c4]) + [fun `x` (X9 c0 c1 c2 c3) c4 \ + fun `Px` (X10 c0 c1 c2 c3 c4) c5 \ app [c2, c4, c5]] +Debug: [elpi] lp2term@4:c3 +Debug: [elpi] lp2term@4:fun `u0` (X8 c0 c1 c2 c3) c4 \ app [c1, c4] +Debug: [elpi] lp2term@4:X8 c0 c1 c2 c3 +Debug: [elpi] lp2term: evar: calldepth:0 X8 c0 c1 c2 c3 RAW: +ELAB: + +Debug: [elpi] lp2term@5:app [c1, c4] +Debug: [elpi] lp2term@5:c1 +Debug: [elpi] lp2term@5:c4 +Debug: +[elpi] + lp2term@4:fun `x` (X9 c0 c1 c2 c3) c4 \ + fun `Px` (X10 c0 c1 c2 c3 c4) c5 \ app [c2, c4, c5] +Debug: [elpi] lp2term@4:X9 c0 c1 c2 c3 +Debug: [elpi] lp2term: evar: calldepth:0 X9 c0 c1 c2 c3 RAW: +ELAB: + +Debug: [elpi] lp2term@5:fun `Px` (X10 c0 c1 c2 c3 c4) c5 \ app [c2, c4, c5] +Debug: [elpi] lp2term@5:X10 c0 c1 c2 c3 c4 +Debug: [elpi] lp2term: evar: calldepth:0 X10 c0 c1 c2 c3 c4 RAW: +ELAB: + +Debug: [elpi] lp2term@6:app [c2, c4, c5] +Debug: [elpi] lp2term@6:c2 +Debug: [elpi] lp2term@6:c4 +Debug: [elpi] lp2term@6:c5 +Debug: +[elpi] + lp2term: out=(fun u : hole hole => + {| + val := oval u; + Sub := hole u hole; + Sub_rect := + fun (K : hole u hole) (K_S : hole K u hole) + (_elpi_renamed_u_3 : hole K_S K u hole) => + let + (x, Px) as u0 + return (hole u0 _elpi_renamed_u_3 K_S K hole) := + _elpi_renamed_u_3 in + K_S x Px + |}) + elpi2coq: + RAW: +ELAB: +SHELF: + + FUTURE GOALS STACK: + + +Debug: +[elpi] + detype: (fun u : hole hole => + {| + val := oval u; + Sub := hole u hole; + Sub_rect := + fun (K : hole u hole) (K_S : hole K u hole) + (_elpi_renamed_u_3 : hole K_S K u hole) => + let + (x, Px) as u0 + return (hole u0 _elpi_renamed_u_3 K_S K hole) := + _elpi_renamed_u_3 in + K_S x Px + |}) +Debug: [elpi] bringing updated sigma back to lp +Debug: +[elpi] + term2lp: depth=0 ctx= term=(forall u : nat, + is_SUB nat (fun x : nat => leq x u) (ord u)) +Debug: +[elpi] + term2lp (out): prod `u` (global (indt «nat»)) c0 \ + app + [global (indt «is_SUB»), global (indt «nat»), + fun `x` (global (indt «nat»)) c1 \ app [global (const «leq»), c1, c0], + app [global (indt «ord»), c0]] +Debug: +[elpi] + term2lp: depth=0 ctx= term=(fun u : nat => + {| + val := oval u; + Sub := Ord u; + Sub_rect := inlined_sub_rect + |}) +Debug: +[elpi] + term2lp (out): fun `u` (global (indt «nat»)) c0 \ + app + [global (indc «SubType»), global (indt «nat»), + fun `x` (global (indt «nat»)) c1 \ app [global (const «leq»), c1, c0], + app [global (indt «ord»), c0], app [global (const «oval»), c0], + app [global (indc «Ord»), c0], + fun `K` + (prod `x` (app [global (indt «ord»), c0]) c1 \ sort (typ «is_SUB.u2»)) + c1 \ + fun `K_S` + (prod `x` (global (indt «nat»)) c2 \ + prod `Px` + (app + [global (indt «eq»), global (indt «bool»), + app + [fun `x` (global (indt «nat»)) c3 \ + app [global (const «leq»), c3, c0], c2], + global (indc «true»)]) c3 \ + app [c1, app [global (indc «Ord»), c0, c2, c3]]) c2 \ + fun `_elpi_renamed_u_3` (app [global (indt «ord»), c0]) c3 \ + match c3 + (fun `xxx` (app [global (indt «ord»), c0]) c4 \ app [c1, c4]) + [fun `x` (global (indt «nat»)) c4 \ + fun `Px` + (app + [global (indt «eq»), global (indt «bool»), + app [global (const «leq»), c4, c0], global (indc «true»)]) + c5 \ app [c2, c4, c5]]] +Debug: +[elpi] + Elpi: query-compilation:0.0114 static-check:0.0000 optimization:0.0001 runtime:0.0032 (with success) -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 -File "./tests/test_API_TC_CS.v", line 42, characters 26-27: -Warning: -File "./tests/test_API_TC_CS.v", line 42, characters 26-27 -L is linear: name it _L (discard) or L_ (fresh variable) -[elpi.linear-variable,elpi.typecheck,elpi,default] -File "./tests/test_API_TC_CS.v", line 42, characters 0-30: -Warning: -There is an hint extern in the typeclass db: -(*external*) (equiv_rewrite_relation R) -[elpi.TC.hints,elpi,default] -File "./tests/test_API_TC_CS.v", line 42, characters 0-30: -Warning: -There is an hint extern in the typeclass db: -(*external*) (class_apply @flip_StrictOrder) -[elpi.TC.hints,elpi,default] -File "./tests/test_API_TC_CS.v", line 42, characters 0-30: -Warning: -There is an hint extern in the typeclass db: -(*external*) (class_apply @flip_PreOrder) -[elpi.TC.hints,elpi,default] -File "./tests/test_API_TC_CS.v", line 42, characters 0-30: -Warning: -There is an hint extern in the typeclass db: -(*external*) (class_apply @PartialOrder_inverse) -[elpi.TC.hints,elpi,default] -File "./tests/test_API_TC_CS.v", line 42, characters 0-30: -Warning: -There is an hint extern in the typeclass db: -(*external*) (class_apply @subrelation_symmetric) -[elpi.TC.hints,elpi,default] -File "./tests/test_API_TC_CS.v", line 42, characters 0-30: -Warning: -There is an hint extern in the typeclass db: -(*external*) (class_apply @flip_Transitive) -[elpi.TC.hints,elpi,default] -File "./tests/test_API_TC_CS.v", line 42, characters 0-30: -Warning: -There is an hint extern in the typeclass db: -(*external*) (class_apply @flip_Irreflexive) -[elpi.TC.hints,elpi,default] -File "./tests/test_API_TC_CS.v", line 42, characters 0-30: -Warning: -There is an hint extern in the typeclass db: -(*external*) (class_apply @complement_Irreflexive) -[elpi.TC.hints,elpi,default] -File "./tests/test_API_TC_CS.v", line 42, characters 0-30: -Warning: -There is an hint extern in the typeclass db: -(*external*) (class_apply @flip_Asymmetric) -[elpi.TC.hints,elpi,default] -File "./tests/test_API_TC_CS.v", line 42, characters 0-30: -Warning: -There is an hint extern in the typeclass db: -(*external*) (class_apply @irreflexivity) -[elpi.TC.hints,elpi,default] -File "./tests/test_API_TC_CS.v", line 42, characters 0-30: -Warning: -There is an hint extern in the typeclass db: -(*external*) (apply flip_Reflexive) -[elpi.TC.hints,elpi,default] -File "./tests/test_API_TC_CS.v", line 42, characters 0-30: -Warning: -There is an hint extern in the typeclass db: -(*external*) unconvertible -[elpi.TC.hints,elpi,default] -File "./tests/test_API_TC_CS.v", line 42, characters 0-30: -Warning: -There is an hint extern in the typeclass db: -(*external*) (class_apply @flip_Antisymmetric) -[elpi.TC.hints,elpi,default] -File "./tests/test_API_TC_CS.v", line 42, characters 0-30: -Warning: -There is an hint extern in the typeclass db: -(*external*) (class_apply @flip_Symmetric) -[elpi.TC.hints,elpi,default] -File "./tests/test_API_TC_CS.v", line 42, characters 0-30: -Warning: -There is an hint extern in the typeclass db: -(*external*) (class_apply @complement_Symmetric) -[elpi.TC.hints,elpi,default] -File "./tests/test_API_TC_CS.v", line 43, characters 66-67: -Warning: -File "./tests/test_API_TC_CS.v", line 43, characters 66-67 -L is linear: name it _L (discard) or L_ (fresh variable) -[elpi.linear-variable,elpi.typecheck,elpi,default] -File "./tests/test_API_TC_CS.v", line 43, characters 0-70: -Warning: -There is an hint extern in the typeclass db: -(*external*) (equiv_rewrite_relation R) -[elpi.TC.hints,elpi,default] -File "./tests/test_API_TC_CS.v", line 102, characters 27-28: -Warning: -File "./tests/test_API_TC_CS.v", line 102, characters 27-28 -L is linear: name it _L (discard) or L_ (fresh variable) -[elpi.linear-variable,elpi.typecheck,elpi,default] -File "./tests/test_API_TC_CS.v", line 159, characters 32-33: -Warning: -File "./tests/test_API_TC_CS.v", line 159, characters 32-33 -L is linear: name it _L (discard) or L_ (fresh variable) -[elpi.linear-variable,elpi.typecheck,elpi,default] Query assignments: - E = fun `n` (global (indt «nat»)) c0 \ - fun `t` (app [global (const «T2»), c0]) c1 \ - fun `x` - (app [global (const «f3»), c0, app [global (const «h»), c0, c1]]) c2 \ - app - [global (const «g3»), c0, app [global (const «h»), c0, c1], - app - [global (indc «S»), - app - [global (indc «S»), app [global (indc «S»), global (indc «O»)]]]] - TY = prod `n` (global (indt «nat»)) c0 \ - prod `t` (app [global (const «T2»), c0]) c1 \ - prod `x` - (app [global (const «f3»), c0, app [global (const «h»), c0, c1]]) c2 \ - global (indt «nat») - X1_ = X0 + GR = indc «Ord» + K = global (indc «Ord») + T = fun `u` X0 c0 \ + app + [global (indc «SubType»), X1 c0, X2 c0, X3 c0, + app [global (const «oval»), c0], X4 c0, + fun `K` (X5 c0) c1 \ + fun `K_S` (X6 c0 c1) c2 \ + fun `_elpi_renamed_u_3` (X7 c0 c1 c2) c3 \ + match c3 (fun `u0` (X8 c0 c1 c2 c3) c4 \ app [c1, c4]) + [fun `x` (X9 c0 c1 c2 c3) c4 \ + fun `Px` (X10 c0 c1 c2 c3 c4) c5 \ app [c2, c4, c5]]] + T1 = fun `u` (global (indt «nat»)) c0 \ + app + [global (indc «SubType»), global (indt «nat»), + fun `x` (global (indt «nat»)) c1 \ app [global (const «leq»), c1, c0], + app [global (indt «ord»), c0], app [global (const «oval»), c0], + app [global (indc «Ord»), c0], + fun `K` + (prod `x` (app [global (indt «ord»), c0]) c1 \ sort (typ «is_SUB.u2»)) + c1 \ + fun `K_S` + (prod `x` (global (indt «nat»)) c2 \ + prod `Px` + (app + [global (indt «eq»), global (indt «bool»), + app + [fun `x` (global (indt «nat»)) c3 \ + app [global (const «leq»), c3, c0], c2], + global (indc «true»)]) c3 \ + app [c1, app [global (indc «Ord»), c0, c2, c3]]) c2 \ + fun `_elpi_renamed_u_3` (app [global (indt «ord»), c0]) c3 \ + match c3 + (fun `xxx` (app [global (indt «ord»), c0]) c4 \ app [c1, c4]) + [fun `x` (global (indt «nat»)) c4 \ + fun `Px` + (app + [global (indt «eq»), global (indt «bool»), + app [global (const «leq»), c4, c0], global (indc «true»)]) + c5 \ app [c2, c4, c5]]] + X11_ = X0 + X12_ = X1 + X13_ = X2 + X14_ = X3 + X15_ = X4 + X16_ = X5 + X17_ = X6 + X18_ = X7 + X19_ = X8 + X20_ = X9 + X21_ = X10 + X22_ = global (indt «nat») + X23_ = c0 \ +global (indt «nat») + X24_ = c0 \ +fun `x` (global (indt «nat»)) c1 \ app [global (const «leq»), c1, c0] + X25_ = c0 \ +app [global (indt «ord»), c0] + X26_ = c0 \ +app [global (const «oval»), c0] + X27_ = c0 \ +fun `K` + (prod `x` (app [global (indt «ord»), c0]) c1 \ sort (typ «is_SUB.u2»)) + c1 \ + fun `K_S` + (prod `x` (global (indt «nat»)) c2 \ + prod `Px` + (app + [global (indt «eq»), global (indt «bool»), + app + [fun `x` (global (indt «nat»)) c3 \ + app [global (const «leq»), c3, c0], c2], global (indc «true»)]) + c3 \ app [c1, app [global (indc «Ord»), c0, c2, c3]]) c2 \ + fun `_elpi_renamed_u_3` (app [global (indt «ord»), c0]) c3 \ + match c3 (fun `xxx` (app [global (indt «ord»), c0]) c4 \ app [c1, c4]) + [fun `x` (global (indt «nat»)) c4 \ + fun `Px` + (app + [global (indt «eq»), global (indt «bool»), + app [global (const «leq»), c4, c0], global (indc «true»)]) c5 \ + app [c2, c4, c5]] Universe constraints: UNIVERSES: - {elpi.tests.test_API_elaborate.13 elpi.tests.test_API_elaborate.10 - elpi.tests.test_API_elaborate.9} |= - elpi.tests.test_API_elaborate.13 < elpi.tests.test_API_elaborate.9 - Set <= elpi.tests.test_API_elaborate.10 - Set <= elpi.tests.test_API_elaborate.13 - T2.u0 <= elpi.tests.test_API_elaborate.13 - f3.u0 <= elpi.tests.test_API_elaborate.13 + {elpi_tests_stdlib.test_quotation.28 elpi_tests_stdlib.test_quotation.27} |= + Set <= is_SUB.u0 + Set <= is_SUB.u1 + Set <= elpi_tests_stdlib.test_quotation.27 + is_SUB.u2 <= elpi_tests_stdlib.test_quotation.28 ALGEBRAIC UNIVERSES: - {elpi.tests.test_API_elaborate.10} + {elpi_tests_stdlib.test_quotation.28 elpi_tests_stdlib.test_quotation.27} FLEXIBLE UNIVERSES: - elpi.tests.test_API_elaborate.10 + elpi_tests_stdlib.test_quotation.28 + elpi_tests_stdlib.test_quotation.27 SORTS: - α4 := Type - α5 := Type + α24 := Type + α25 := Type WEAK CONSTRAINTS: -Query assignments: - E = app - [global (const «bar»), - app - [global (indc «S»), - app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]], - global (const «xxx»)] - TY = prop - X2_ = X0 - X3_ = X1 -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»)] - X4_ = X0 -Universe constraints: +Debug: +[elpi] + gterm2lp: term=(fun u => + {| val := oval u; Sub := _; Sub_rect := inlined_sub_rect |}) +Debug: [elpi] gterm2lp: term=_ +Debug: +[elpi] + gterm2lp: term={| val := oval u; Sub := _; Sub_rect := inlined_sub_rect |} +Debug: [elpi] gterm2lp: term=SubType +Debug: [elpi] gterm2lp: term=_ +Debug: [elpi] gterm2lp: term=_ +Debug: [elpi] gterm2lp: term=_ +Debug: [elpi] gterm2lp: term=(oval u) +Debug: [elpi] gterm2lp: term=oval +Debug: [elpi] gterm2lp: term=u +Debug: [elpi] gterm2lp: term=_ +Debug: [elpi] gterm2lp: term=inlined_sub_rect +Debug: [elpi] gterm2lp: term=_ +Debug: +[elpi] + gterm2lp: term=(fun K_S u => + let (x, Px) as u0 return (K u0) := u in K_S x Px) +Debug: [elpi] gterm2lp: term=_ +Debug: +[elpi] + gterm2lp: term=(fun u => let (x, Px) as u0 return (K u0) := u in K_S x Px) +Debug: [elpi] gterm2lp: term=_ +Debug: +[elpi] + gterm2lp: term=(let (x, Px) as u0 return (K u0) := _elpi_renamed_u_3 in + K_S x Px) +Debug: [elpi] gterm2lp: term=_elpi_renamed_u_3 +Debug: [elpi] gterm2lp: term=(fun u0 => K u0) +Debug: [elpi] gterm2lp: term=_ +Debug: [elpi] gterm2lp: term=(K u0) +Debug: [elpi] gterm2lp: term=K +Debug: [elpi] gterm2lp: term=u0 +Debug: [elpi] gterm2lp: term=(fun x Px => K_S x Px) +Debug: [elpi] gterm2lp: term=_ +Debug: [elpi] gterm2lp: term=(fun Px => K_S x Px) +Debug: [elpi] gterm2lp: term=_ +Debug: [elpi] gterm2lp: term=(K_S x Px) +Debug: [elpi] gterm2lp: term=K_S +Debug: [elpi] gterm2lp: term=x +Debug: [elpi] gterm2lp: term=Px +Debug: +[elpi] + elpi sigma -> coq sigma: before: +SHELF: +FUTURE GOALS STACK: + + +Rocq-Elpi mapping: +RAW: +ELAB: + +Debug: +[elpi] + elpi sigma -> coq sigma: synchronized: +SHELF: +FUTURE GOALS STACK: + + +Rocq-Elpi mapping: +RAW: +ELAB: + +Debug: +[elpi] + elpi sigma -> coq sigma: after: +SHELF: +FUTURE GOALS STACK: + + +Rocq-Elpi mapping: +RAW: +ELAB: + +Debug: +[elpi] + lp2term: depth=0 ctx=[] term=fun `u` X0 c0 \ + app + [global (indc «SubType»), X1 c0, X2 c0, X3 c0, + app [global (const «oval»), c0], X4 c0, + fun `K` (X5 c0) c1 \ + fun `K_S` (X6 c0 c1) c2 \ + fun `_elpi_renamed_u_3` (X7 c0 c1 c2) c3 \ + match c3 (fun `u0` (X8 c0 c1 c2 c3) c4 \ app [c1, c4]) + [fun `x` (X9 c0 c1 c2 c3) c4 \ + fun `Px` (X10 c0 c1 c2 c3 c4) c5 \ app [c2, c4, c5]]] +Debug: +[elpi] + lp2term@0:fun `u` X0 c0 \ + app + [global (indc «SubType»), X1 c0, X2 c0, X3 c0, + app [global (const «oval»), c0], X4 c0, + fun `K` (X5 c0) c1 \ + fun `K_S` (X6 c0 c1) c2 \ + fun `_elpi_renamed_u_3` (X7 c0 c1 c2) c3 \ + match c3 (fun `u0` (X8 c0 c1 c2 c3) c4 \ app [c1, c4]) + [fun `x` (X9 c0 c1 c2 c3) c4 \ + fun `Px` (X10 c0 c1 c2 c3 c4) c5 \ app [c2, c4, c5]]] +Debug: [elpi] lp2term@0:X0 +Debug: [elpi] lp2term: evar: calldepth:0 X0 RAW: +ELAB: + +Debug: [elpi] lp2term: evar: unknown: calldepth:0 X0 +Debug: [elpi] lp2term: evar: create_unknown: whole ctx: ; +Debug: [elpi] lp2term: evar: create_unknown: visible ctx: +Debug: [elpi] restrict_coq_context: named: +Debug: [elpi] lp2term: evar: create_unknown: restricted ctx: +Debug: +[elpi] + lp2term: evar: create_unknown: new link: ? |> |- ? = ?X41 + EVARS: + ?X41==[ |- Type] (internal placeholder) {?e} + UNIVERSES: - {elpi.tests.test_API_elaborate.19 elpi.tests.test_API_elaborate.18} |= - elpi.tests.test_API_elaborate.19 < elpi.tests.test_API_elaborate.18 - s.u0 <= elpi.tests.test_API_elaborate.19 + {elpi_tests_stdlib.test_quotation.29} |= ALGEBRAIC UNIVERSES: {} FLEXIBLE UNIVERSES: SORTS: - α11 := Type + α26 WEAK CONSTRAINTS: +SHELF: +FUTURE GOALS STACK: + ?X41 + +Debug: [elpi] lp2term@0:X0 +Debug: +[elpi] lp2term: evar: calldepth:0 X0 RAW: +?X41 <-> X0 +ELAB: +?X41 <-> X0 + +Debug: [elpi] lp2term: evar: already in Coq: ?X41 +Debug: +[elpi] + lp2term@1:app + [global (indc «SubType»), X1 c0, X2 c0, X3 c0, + app [global (const «oval»), c0], X4 c0, + fun `K` (X5 c0) c1 \ + fun `K_S` (X6 c0 c1) c2 \ + fun `_elpi_renamed_u_3` (X7 c0 c1 c2) c3 \ + match c3 (fun `u0` (X8 c0 c1 c2 c3) c4 \ app [c1, c4]) + [fun `x` (X9 c0 c1 c2 c3) c4 \ + fun `Px` (X10 c0 c1 c2 c3 c4) c5 \ app [c2, c4, c5]]] +Debug: [elpi] lp2term@1:global (indc «SubType») +Debug: [elpi] lp2term@1:X1 c0 +Debug: +[elpi] lp2term: evar: calldepth:0 X1 c0 RAW: +?X41 <-> X0 +ELAB: +?X41 <-> X0 + +Debug: [elpi] lp2term: evar: unknown: calldepth:0 X1 +Debug: [elpi] lp2term: evar: create_unknown: whole ctx: ; (u : ?e) +Debug: [elpi] lp2term: evar: create_unknown: visible ctx:c0 +Debug: [elpi] restrict_coq_context: named: +Debug: +[elpi] + restrict_coq_context: cur rel ctx: + restrict_coq_context: cur subst: + restrict_coq_context: looking at u(dbl 0) +Debug: [elpi] ?e--0->?e +Debug: [elpi] lp2term: evar: create_unknown: restricted ctx:(u : ?e) +Debug: [elpi] in_elpi_evar:?X42 +Debug: +[elpi] + lp2term: evar: create_unknown: new link: ? |> |- ? = ?X43 + EVARS: + ?X43==[u |- ?e0] (internal placeholder) {?e1} + ?X42==[u |- Type] (internal placeholder) {?e0} + ?X41==[ |- Type] (internal placeholder) {?e} -raw: -parameter A explicit (global (const «T1»)) c0 \ - inductive ind1 tt - (parameter B explicit (sort (typ «elpi.tests.test_API_elaborate.20»)) - c1 \ arity (sort (typ «elpi.tests.test_API_elaborate.22»))) c1 \ - [constructor K1 - (parameter B explicit (sort (typ «elpi.tests.test_API_elaborate.20»)) - c2 \ arity (prod `_` (app [c1, c2]) c3 \ app [c1, c2])), - constructor K2 - (parameter B explicit (sort (typ «elpi.tests.test_API_elaborate.20»)) - c2 \ - arity (prod `_` (app [global (const «f1»), c0]) c3 \ app [c1, c2])), - constructor K3 - (parameter B explicit (sort (typ «elpi.tests.test_API_elaborate.20»)) - c2 \ - arity (prod `a` (app [global (const «f1»), c0]) c3 \ app [c1, c2]))] -elab1: -parameter A explicit (global (const «T1»)) c0 \ - inductive ind1 tt - (parameter B explicit (sort (typ «elpi.tests.test_API_elaborate.23»)) - c1 \ arity (sort (typ «elpi.tests.test_API_elaborate.25»))) c1 \ - [constructor K1 - (parameter B explicit (sort (typ «elpi.tests.test_API_elaborate.28»)) - c2 \ arity (prod `_` (app [c1, c2]) c3 \ app [c1, c2])), - constructor K2 - (parameter B explicit (sort (typ «elpi.tests.test_API_elaborate.30»)) - c2 \ - arity (prod `_` (app [global (const «f1»), c0]) c3 \ app [c1, c2])), - constructor K3 - (parameter B explicit (sort (typ «elpi.tests.test_API_elaborate.33»)) - c2 \ - arity (prod `a` (app [global (const «f1»), c0]) c3 \ app [c1, c2]))] -elab2: -parameter A explicit (global (const «T1»)) c0 \ - parameter B explicit (sort (typ «ind1.u0»)) c1 \ - inductive ind1 tt (arity (sort (typ «ind1.u1»))) c2 \ - [constructor K1 (arity (prod `_` c2 c3 \ c2)), - constructor K2 - (arity (prod `_` (app [global (const «f1»), c0]) c3 \ c2)), - constructor K3 - (arity (prod `a` (app [global (const «f1»), c0]) c3 \ c2))] -raw: -parameter A explicit (global (const «T1»)) c0 \ - record ind2 (sort (typ «f1.u0»)) Build_ind2 - (field [coercion off, canonical tt] fld1 (app [global (const «f1»), c0]) - c1 \ - field [coercion off, canonical tt] fld2 - (app [global (indt «eq»), app [global (const «f1»), c0], c1, c1]) - c2 \ end-record) -elab1: -parameter A explicit (global (const «T1»)) c0 \ - record ind2 (sort (typ «elpi.tests.test_API_elaborate.38»)) Build_ind2 - (field [coercion off, canonical tt] fld1 (app [global (const «f1»), c0]) - c1 \ - field [coercion off, canonical tt] fld2 - (app [global (indt «eq»), app [global (const «f1»), c0], c1, c1]) - c2 \ end-record) -elab2: -parameter A explicit (global (const «T1»)) c0 \ - record ind2 (sort (typ «ind2.u0»)) Build_ind2 - (field [coercion off, canonical tt] fld1 (app [global (const «f1»), c0]) - c1 \ - field [coercion off, canonical tt] fld2 - (app [global (indt «eq»), app [global (const «f1»), c0], c1, c1]) - c2 \ end-record) -raw: -record ind3 (sort (typ «elpi.tests.test_API_elaborate.41»)) Build_ind3 - (field [coercion reversible, canonical tt] fld3 - (sort (typ «elpi.tests.test_API_elaborate.40»)) c0 \ - field [coercion off, canonical tt] fld4 - (prod `x` c0 c1 \ app [global (indt «eq»), c0, c1, c1]) c1 \ end-record) -elab1: -record ind3 (sort (typ «elpi.tests.test_API_elaborate.42»)) Build_ind3 - (field [coercion reversible, canonical tt] fld3 - (sort (typ «elpi.tests.test_API_elaborate.43»)) c0 \ - field [coercion off, canonical tt] fld4 - (prod `x` c0 c1 \ app [global (indt «eq»), c0, c1, c1]) c1 \ end-record) -elab2: -record ind3 (sort (typ «ind3.u0»)) Build_ind3 - (field [coercion reversible, canonical tt] fld3 (sort (typ «ind3.u1»)) - c0 \ - field [coercion off, canonical tt] fld4 - (prod `x` c0 c1 \ app [global (indt «eq»), c0, c1, c1]) c1 \ end-record) -forall x : ind3, x -> Prop - : Type -Query assignments: - E = app - [global (const «op»), global (const «c»), - app - [global (indc «S»), - app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]]] - TY = app [global (const «field»), global (const «c»)] -Universe constraints: UNIVERSES: - {elpi.tests.test_API_elaborate.50 elpi.tests.test_API_elaborate.49} |= - elpi.tests.test_API_elaborate.50 < elpi.tests.test_API_elaborate.49 - s.u0 <= elpi.tests.test_API_elaborate.50 + {elpi_tests_stdlib.test_quotation.30 elpi_tests_stdlib.test_quotation.29} |= ALGEBRAIC UNIVERSES: {} FLEXIBLE UNIVERSES: SORTS: - α21 := Type + α26 + α27 WEAK CONSTRAINTS: +SHELF: +FUTURE GOALS STACK:?X43 ?X42 +?X41 + +Debug: [elpi] lp2term@1:X1 c0 +Debug: +[elpi] + lp2term: evar: calldepth:0 X1 c0 + RAW: +?X41 <-> X0 +?X42 <-> X12 +?X43 <-> X1 +ELAB: +?X41 <-> X0 +?X42 <-> X11 +?X43 <-> X1 + +Debug: [elpi] lp2term: evar: already in Coq: ?X43 +Debug: [elpi] lp2term@1:c0 +Debug: [elpi] lp2term@1:X2 c0 +Debug: +[elpi] + lp2term: evar: calldepth:0 X2 c0 + RAW: +?X41 <-> X0 +?X42 <-> X12 +?X43 <-> X1 +ELAB: +?X41 <-> X0 +?X42 <-> X11 +?X43 <-> X1 + +Debug: [elpi] lp2term: evar: unknown: calldepth:0 X2 +Debug: [elpi] lp2term: evar: create_unknown: whole ctx: ; (u : ?e) +Debug: [elpi] lp2term: evar: create_unknown: visible ctx:c0 +Debug: [elpi] restrict_coq_context: named: +Debug: +[elpi] + restrict_coq_context: cur rel ctx: + restrict_coq_context: cur subst: + restrict_coq_context: looking at u(dbl 0) +Debug: [elpi] ?e--0->?e +Debug: [elpi] lp2term: evar: create_unknown: restricted ctx:(u : ?e) +Debug: [elpi] in_elpi_evar:?X44 +Debug: +[elpi] + lp2term: evar: create_unknown: new link: ? |> |- ? = ?X45 + EVARS: + ?X45==[u |- ?e2] (internal placeholder) {?e3} + ?X44==[u |- Type] (internal placeholder) {?e2} + ?X43==[u |- ?e0] (internal placeholder) {?e1} + ?X42==[u |- Type] (internal placeholder) {?e0} + ?X41==[ |- Type] (internal placeholder) {?e} + +UNIVERSES: + {elpi_tests_stdlib.test_quotation.31 elpi_tests_stdlib.test_quotation.30 + elpi_tests_stdlib.test_quotation.29} |= +ALGEBRAIC UNIVERSES: + {} +FLEXIBLE UNIVERSES: + +SORTS: + α26 + α27 + α28 +WEAK CONSTRAINTS: + +SHELF: +FUTURE GOALS STACK:?X45 ?X44 ?X43 ?X42 +?X41 + +Debug: [elpi] lp2term@1:X2 c0 +Debug: +[elpi] + lp2term: evar: calldepth:0 X2 c0 + RAW: +?X41 <-> X0 +?X42 <-> X12 +?X43 <-> X1 +?X44 <-> X14 +?X45 <-> X2 +ELAB: +?X41 <-> X0 +?X42 <-> X11 +?X43 <-> X1 +?X44 <-> X13 +?X45 <-> X2 + +Debug: [elpi] lp2term: evar: already in Coq: ?X45 +Debug: [elpi] lp2term@1:c0 +Debug: [elpi] lp2term@1:X3 c0 +Debug: +[elpi] + lp2term: evar: calldepth:0 X3 c0 + RAW: +?X41 <-> X0 +?X42 <-> X12 +?X43 <-> X1 +?X44 <-> X14 +?X45 <-> X2 +ELAB: +?X41 <-> X0 +?X42 <-> X11 +?X43 <-> X1 +?X44 <-> X13 +?X45 <-> X2 + +Debug: [elpi] lp2term: evar: unknown: calldepth:0 X3 +Debug: [elpi] lp2term: evar: create_unknown: whole ctx: ; (u : ?e) +Debug: [elpi] lp2term: evar: create_unknown: visible ctx:c0 +Debug: [elpi] restrict_coq_context: named: +Debug: +[elpi] + restrict_coq_context: cur rel ctx: + restrict_coq_context: cur subst: + restrict_coq_context: looking at u(dbl 0) +Debug: [elpi] ?e--0->?e +Debug: [elpi] lp2term: evar: create_unknown: restricted ctx:(u : ?e) +Debug: [elpi] in_elpi_evar:?X46 +Debug: +[elpi] + lp2term: evar: create_unknown: new link: ? |> |- ? = ?X47 + EVARS: + ?X47==[u |- ?e4] (internal placeholder) {?e5} + ?X46==[u |- Type] (internal placeholder) {?e4} + ?X45==[u |- ?e2] (internal placeholder) {?e3} + ?X44==[u |- Type] (internal placeholder) {?e2} + ?X43==[u |- ?e0] (internal placeholder) {?e1} + ?X42==[u |- Type] (internal placeholder) {?e0} + ?X41==[ |- Type] (internal placeholder) {?e} -unknown_gref -«elpi.tests.test_API_elaborate.52» «elpi.tests.test_API_elaborate.52» -File "./tests/test_API_elaborate.v", line 160, characters 19-20: -Warning: -File "./tests/test_API_elaborate.v", line 160, characters 19-20 -Y is linear: name it _Y (discard) or Y_ (fresh variable) -[elpi.linear-variable,elpi.typecheck,elpi,default] -File "./tests/test_API_elaborate.v", line 170, characters 33-34: -Warning: -File "./tests/test_API_elaborate.v", line 170, characters 33-34 -Y is linear: name it _Y (discard) or Y_ (fresh variable) -[elpi.linear-variable,elpi.typecheck,elpi,default] -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» -elpi.tests.test_API_module.X.i -[elpi, tests, test_API_module, X, Y] -[elpi, tests, test_API_module, X, Y] -Query assignments: - %arg1 = elpi.tests.test_API_module.X.i - %arg2 = elpi.tests.test_API_module.X.i - %arg3 = elpi.tests.test_API_module.X.Y.i - %arg4 = [elpi, tests, test_API_module, X, Y] - %arg5 = [elpi, tests, test_API_module, X, Y] - 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» - XYi = «X.Y.i» - XYr = «X.Y.i_rect» - Xi = «X.i» -Query assignments: - I = «Y.i» - ID = j - J = «Y.j» - MP = «elpi.tests.test_API_module.Y» - P = [elpi, tests, test_API_module, Y] -Query assignments: - Mp_ta = «elpi.tests.test_API_module.TA» -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» - X1_ = «A.i.u0» - X2_ = «elpi.tests.test_API_module.11» -Universe constraints: UNIVERSES: + {elpi_tests_stdlib.test_quotation.32 elpi_tests_stdlib.test_quotation.31 + elpi_tests_stdlib.test_quotation.30 elpi_tests_stdlib.test_quotation.29} |= ALGEBRAIC UNIVERSES: - {elpi.tests.test_API_module.11 A.i.u0} + {} FLEXIBLE UNIVERSES: - elpi.tests.test_API_module.11 - A.i.u0 + SORTS: + α26 + α27 + α28 + α29 +WEAK CONSTRAINTS: + +SHELF: +FUTURE GOALS STACK:?X47 ?X46 ?X45 ?X44 ?X43 ?X42 +?X41 + +Debug: [elpi] lp2term@1:X3 c0 +Debug: +[elpi] + lp2term: evar: calldepth:0 X3 c0 + RAW: +?X41 <-> X0 +?X42 <-> X12 +?X43 <-> X1 +?X44 <-> X14 +?X45 <-> X2 +?X46 <-> X16 +?X47 <-> X3 +ELAB: +?X41 <-> X0 +?X42 <-> X11 +?X43 <-> X1 +?X44 <-> X13 +?X45 <-> X2 +?X46 <-> X15 +?X47 <-> X3 + +Debug: [elpi] lp2term: evar: already in Coq: ?X47 +Debug: [elpi] lp2term@1:c0 +Debug: [elpi] lp2term@1:app [global (const «oval»), c0] +Debug: [elpi] lp2term@1:global (const «oval») +Debug: [elpi] lp2term@1:c0 +Debug: [elpi] lp2term@1:X4 c0 +Debug: +[elpi] + lp2term: evar: calldepth:0 X4 c0 + RAW: +?X41 <-> X0 +?X42 <-> X12 +?X43 <-> X1 +?X44 <-> X14 +?X45 <-> X2 +?X46 <-> X16 +?X47 <-> X3 +ELAB: +?X41 <-> X0 +?X42 <-> X11 +?X43 <-> X1 +?X44 <-> X13 +?X45 <-> X2 +?X46 <-> X15 +?X47 <-> X3 + +Debug: [elpi] lp2term: evar: unknown: calldepth:0 X4 +Debug: [elpi] lp2term: evar: create_unknown: whole ctx: ; (u : ?e) +Debug: [elpi] lp2term: evar: create_unknown: visible ctx:c0 +Debug: [elpi] restrict_coq_context: named: +Debug: +[elpi] + restrict_coq_context: cur rel ctx: + restrict_coq_context: cur subst: + restrict_coq_context: looking at u(dbl 0) +Debug: [elpi] ?e--0->?e +Debug: [elpi] lp2term: evar: create_unknown: restricted ctx:(u : ?e) +Debug: [elpi] in_elpi_evar:?X48 +Debug: +[elpi] + lp2term: evar: create_unknown: new link: ? |> |- ? = ?X49 + EVARS: + ?X49==[u |- ?e6] (internal placeholder) {?e7} + ?X48==[u |- Type] (internal placeholder) {?e6} + ?X47==[u |- ?e4] (internal placeholder) {?e5} + ?X46==[u |- Type] (internal placeholder) {?e4} + ?X45==[u |- ?e2] (internal placeholder) {?e3} + ?X44==[u |- Type] (internal placeholder) {?e2} + ?X43==[u |- ?e0] (internal placeholder) {?e1} + ?X42==[u |- Type] (internal placeholder) {?e0} + ?X41==[ |- Type] (internal placeholder) {?e} + +UNIVERSES: + {elpi_tests_stdlib.test_quotation.33 elpi_tests_stdlib.test_quotation.32 + elpi_tests_stdlib.test_quotation.31 elpi_tests_stdlib.test_quotation.30 + elpi_tests_stdlib.test_quotation.29} |= +ALGEBRAIC UNIVERSES: + {} +FLEXIBLE UNIVERSES: +SORTS: + α26 + α27 + α28 + α29 + α30 WEAK CONSTRAINTS: +SHELF: +FUTURE GOALS STACK:?X49 ?X48 ?X47 ?X46 ?X45 ?X44 ?X43 ?X42 +?X41 -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: - %arg1 = «elpi.tests.test_API_module.a» - %arg2 = const const EXN PRINTING: Not_found - MP_TA = «elpi.tests.test_API_module.TA» - MP_TF = «elpi.tests.test_API_module.TF» -Module -F - : Funsig (a:TA) Funsig (b:TA) TF -:= Functor (a:TA) Functor (b:TA) Struct Definition w : nat. End -Module B : Sig Parameter w : nat. End := (F A A) -*** [ B.w : nat ] -Query assignments: - MP_TA = «elpi.tests.test_API_module.TA» -Module Type TB = Funsig (A:TA) Sig End -Query assignments: - A = «elpi.tests.test_API_module.A» -Query assignments: - %arg1 = «elpi.tests.test_API_module.A» -Module IA := Struct Definition z : nat. Definition i : Type. End -Query assignments: - %arg1 = «elpi.tests.test_API_module.IA» -Query assignments: - %arg1 = «elpi.tests.test_API_module.IA» -i - : Type -Query assignments: - %arg1 = «elpi.tests.test_API_module.TA» -Query assignments: - %arg1 = «elpi.tests.test_API_module.TA» -Module Type ITA = Sig Parameter z : nat. Parameter i : Type. End -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» -File "./tests/test_API_module.v", line 7, characters 69-70: -Warning: -File "./tests/test_API_module.v", line 7, characters 69-70 -L is linear: name it _L (discard) or L_ (fresh variable) -[elpi.linear-variable,elpi.typecheck,elpi,default] -File "./tests/test_API_module.v", line 50, characters 26-28: -Warning: -File "./tests/test_API_module.v", line 50, characters 26-28 -ID is linear: name it _ID (discard) or ID_ (fresh variable) -[elpi.linear-variable,elpi.typecheck,elpi,default] -File "./tests/test_API_module.v", line 49, characters 28-29: -Warning: -File "./tests/test_API_module.v", line 49, characters 28-29 -P is linear: name it _P (discard) or P_ (fresh variable) -[elpi.linear-variable,elpi.typecheck,elpi,default] -File "./tests/test_API_module.v", line 77, characters 21-22: -Warning: -File "./tests/test_API_module.v", line 77, characters 21-22 -L is linear: name it _L (discard) or L_ (fresh variable) -[elpi.linear-variable,elpi.typecheck,elpi,default] -File "./tests/test_API_module.v", line 67, characters 27-32: -Warning: -File "./tests/test_API_module.v", line 67, characters 27-32 -MP_TA is linear: name it _MP_TA (discard) or MP_TA_ (fresh variable) -[elpi.linear-variable,elpi.typecheck,elpi,default] -File "./tests/test_API_module.v", line 102, characters 31-36: -Warning: -File "./tests/test_API_module.v", line 102, characters 31-36 -MP_TA is linear: name it _MP_TA (discard) or MP_TA_ (fresh variable) -[elpi.linear-variable,elpi.typecheck,elpi,default] -File "./tests/test_API_module.v", line 101, characters 27-32: -Warning: -File "./tests/test_API_module.v", line 101, characters 27-32 -MP_TF is linear: name it _MP_TF (discard) or MP_TF_ (fresh variable) -[elpi.linear-variable,elpi.typecheck,elpi,default] -Query q X0 -Query r X0 -Result r 1 -eq_refl : d = 3 - : d = 3 -eq_refl : e = 4 - : e = 4 -foo = fun a b c : nat => a + b + c + d + e - : nat -> nat -> nat -> nat +Debug: [elpi] lp2term@1:X4 c0 +Debug: +[elpi] + lp2term: evar: calldepth:0 X4 c0 + RAW: +?X41 <-> X0 +?X42 <-> X12 +?X43 <-> X1 +?X44 <-> X14 +?X45 <-> X2 +?X46 <-> X16 +?X47 <-> X3 +?X48 <-> X18 +?X49 <-> X4 +ELAB: +?X41 <-> X0 +?X42 <-> X11 +?X43 <-> X1 +?X44 <-> X13 +?X45 <-> X2 +?X46 <-> X15 +?X47 <-> X3 +?X48 <-> X17 +?X49 <-> X4 + +Debug: [elpi] lp2term: evar: already in Coq: ?X49 +Debug: [elpi] lp2term@1:c0 +Debug: +[elpi] + lp2term@1:fun `K` (X5 c0) c1 \ + fun `K_S` (X6 c0 c1) c2 \ + fun `_elpi_renamed_u_3` (X7 c0 c1 c2) c3 \ + match c3 (fun `u0` (X8 c0 c1 c2 c3) c4 \ app [c1, c4]) + [fun `x` (X9 c0 c1 c2 c3) c4 \ + fun `Px` (X10 c0 c1 c2 c3 c4) c5 \ app [c2, c4, c5]] +Debug: [elpi] lp2term@1:X5 c0 +Debug: +[elpi] + lp2term: evar: calldepth:0 X5 c0 + RAW: +?X41 <-> X0 +?X42 <-> X12 +?X43 <-> X1 +?X44 <-> X14 +?X45 <-> X2 +?X46 <-> X16 +?X47 <-> X3 +?X48 <-> X18 +?X49 <-> X4 +ELAB: +?X41 <-> X0 +?X42 <-> X11 +?X43 <-> X1 +?X44 <-> X13 +?X45 <-> X2 +?X46 <-> X15 +?X47 <-> X3 +?X48 <-> X17 +?X49 <-> X4 + +Debug: [elpi] lp2term: evar: unknown: calldepth:0 X5 +Debug: [elpi] lp2term: evar: create_unknown: whole ctx: ; (u : ?e) +Debug: [elpi] lp2term: evar: create_unknown: visible ctx:c0 +Debug: [elpi] restrict_coq_context: named: +Debug: +[elpi] + restrict_coq_context: cur rel ctx: + restrict_coq_context: cur subst: + restrict_coq_context: looking at u(dbl 0) +Debug: [elpi] ?e--0->?e +Debug: [elpi] lp2term: evar: create_unknown: restricted ctx:(u : ?e) +Debug: +[elpi] + lp2term: evar: create_unknown: new link: ? |> |- ? = ?X50 + EVARS: + ?X50==[u |- Type] (internal placeholder) {?e8} + ?X49==[u |- ?e6] (internal placeholder) {?e7} + ?X48==[u |- Type] (internal placeholder) {?e6} + ?X47==[u |- ?e4] (internal placeholder) {?e5} + ?X46==[u |- Type] (internal placeholder) {?e4} + ?X45==[u |- ?e2] (internal placeholder) {?e3} + ?X44==[u |- Type] (internal placeholder) {?e2} + ?X43==[u |- ?e0] (internal placeholder) {?e1} + ?X42==[u |- Type] (internal placeholder) {?e0} + ?X41==[ |- Type] (internal placeholder) {?e} -Arguments foo a%nat_scope [b]%nat_scope {c}%nat_scope -Query assignments: - %arg1 = const «foo» -«elpi.tests.test_API_notations.abbr» -Query assignments: - A = «elpi.tests.test_API_notations.abbr» - X1_ = X0 - X2_ = c0 \ -X1 c0 - X3_ = c0 \ -X2 c0 -Syntactic constraints: - {c0} : decl c0 `x` X0 ?- evar (X2 c0) (X3 c0) (X2 c0) /* suspended on X2 */ - {c0} : decl c0 `x` X0 - ?- evar (X4 c0) (sort (typ «elpi.tests.test_API_notations.3»)) (X3 c0) /* 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} |= + {elpi_tests_stdlib.test_quotation.34 elpi_tests_stdlib.test_quotation.33 + elpi_tests_stdlib.test_quotation.32 elpi_tests_stdlib.test_quotation.31 + elpi_tests_stdlib.test_quotation.30 elpi_tests_stdlib.test_quotation.29} |= + ALGEBRAIC UNIVERSES: {} FLEXIBLE UNIVERSES: SORTS: - α1 - α2 - α3 + α26 + α27 + α28 + α29 + α30 + α31 WEAK CONSTRAINTS: +SHELF: +FUTURE GOALS STACK:?X50 ?X49 ?X48 ?X47 ?X46 ?X45 ?X44 ?X43 ?X42 +?X41 + +Debug: [elpi] lp2term@1:X5 c0 +Debug: +[elpi] + lp2term: evar: calldepth:0 X5 c0 + RAW: +?X41 <-> X0 +?X42 <-> X12 +?X43 <-> X1 +?X44 <-> X14 +?X45 <-> X2 +?X46 <-> X16 +?X47 <-> X3 +?X48 <-> X18 +?X49 <-> X4 +?X50 <-> X5 +ELAB: +?X41 <-> X0 +?X42 <-> X11 +?X43 <-> X1 +?X44 <-> X13 +?X45 <-> X2 +?X46 <-> X15 +?X47 <-> X3 +?X48 <-> X17 +?X49 <-> X4 +?X50 <-> X5 + +Debug: [elpi] lp2term: evar: already in Coq: ?X50 +Debug: [elpi] lp2term@1:c0 +Debug: +[elpi] + lp2term@2:fun `K_S` (X6 c0 c1) c2 \ + fun `_elpi_renamed_u_3` (X7 c0 c1 c2) c3 \ + match c3 (fun `u0` (X8 c0 c1 c2 c3) c4 \ app [c1, c4]) + [fun `x` (X9 c0 c1 c2 c3) c4 \ + fun `Px` (X10 c0 c1 c2 c3 c4) c5 \ app [c2, c4, c5]] +Debug: [elpi] lp2term@2:X6 c0 c1 +Debug: +[elpi] + lp2term: evar: calldepth:0 X6 c0 c1 + RAW: +?X41 <-> X0 +?X42 <-> X12 +?X43 <-> X1 +?X44 <-> X14 +?X45 <-> X2 +?X46 <-> X16 +?X47 <-> X3 +?X48 <-> X18 +?X49 <-> X4 +?X50 <-> X5 +ELAB: +?X41 <-> X0 +?X42 <-> X11 +?X43 <-> X1 +?X44 <-> X13 +?X45 <-> X2 +?X46 <-> X15 +?X47 <-> X3 +?X48 <-> X17 +?X49 <-> X4 +?X50 <-> X5 + +Debug: [elpi] lp2term: evar: unknown: calldepth:0 X6 +Debug: [elpi] lp2term: evar: create_unknown: whole ctx: ; (u : ?e) (K : ?e8) +Debug: [elpi] lp2term: evar: create_unknown: visible ctx:c0 +c1 +Debug: [elpi] restrict_coq_context: named: +Debug: +[elpi] + restrict_coq_context: cur rel ctx: + restrict_coq_context: cur subst: + restrict_coq_context: looking at u(dbl 0) +Debug: [elpi] ?e--0->?e +Debug: +[elpi] + restrict_coq_context: cur rel ctx: (u : ?e) + restrict_coq_context: cur subst: u + restrict_coq_context: looking at K(dbl 1) +Debug: [elpi] ?e8--0->?e8 +Debug: +[elpi] lp2term: evar: create_unknown: restricted ctx:(u : ?e) (K : ?e8) +Debug: +[elpi] + lp2term: evar: create_unknown: new link: ? |> |- ? = ?X51 + EVARS: + ?X51==[u K |- Type] (internal placeholder) {?e9} + ?X50==[u |- Type] (internal placeholder) {?e8} + ?X49==[u |- ?e6] (internal placeholder) {?e7} + ?X48==[u |- Type] (internal placeholder) {?e6} + ?X47==[u |- ?e4] (internal placeholder) {?e5} + ?X46==[u |- Type] (internal placeholder) {?e4} + ?X45==[u |- ?e2] (internal placeholder) {?e3} + ?X44==[u |- Type] (internal placeholder) {?e2} + ?X43==[u |- ?e0] (internal placeholder) {?e1} + ?X42==[u |- Type] (internal placeholder) {?e0} + ?X41==[ |- Type] (internal placeholder) {?e} -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: - X4_ = X0 - X5_ = c0 \ -X1 c0 - X6_ = c0 \ -X2 c0 -Syntactic constraints: - {c0} : decl c0 `x` X0 ?- evar (X2 c0) (X3 c0) (X2 c0) /* suspended on X2 */ - {c0} : decl c0 `x` X0 - ?- evar (X4 c0) (sort (typ «elpi.tests.test_API_notations.6»)) (X3 c0) /* 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} |= + {elpi_tests_stdlib.test_quotation.35 elpi_tests_stdlib.test_quotation.34 + elpi_tests_stdlib.test_quotation.33 elpi_tests_stdlib.test_quotation.32 + elpi_tests_stdlib.test_quotation.31 elpi_tests_stdlib.test_quotation.30 + elpi_tests_stdlib.test_quotation.29} |= ALGEBRAIC UNIVERSES: {} FLEXIBLE UNIVERSES: SORTS: - α4 - α5 - α6 + α26 + α27 + α28 + α29 + α30 + α31 + α32 WEAK CONSTRAINTS: +SHELF: +FUTURE GOALS STACK:?X51 ?X50 ?X49 ?X48 ?X47 ?X46 ?X45 ?X44 ?X43 ?X42 +?X41 -Notation abbr2 _elpi_ctx_entry_1_was_x_ := - (fun _ => _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 -fun `_` X0 c0 \ - app [global (indt «eq»), X1, fun `x` X2 c1 \ c1, fun `x` X2 c1 \ c1] -Query assignments: - %arg1 = «elpi.tests.test_API_notations.abbr2» - T = fun `_` X0 c0 \ - app [global (indt «eq»), X1, fun `x` X2 c1 \ c1, fun `x` X2 c1 \ c1] - X7_ = X2 -Query assignments: - %arg1 = «elpi.tests.test_API_notations.abbr2» -The argument fun x : ?e => x + ?e1 was closed under 1 binders -old replacement: fun (x : ?e) (y : ?e0) => x - y with -fun (y : ?e1) (x : ?e2) => y + x -new replacement: fun y : ?e0 => x - y with fun y : ?e1 => y + x -Query assignments: - CA = «a» - CB = «b» - CC = «c» -d : nat +Debug: [elpi] lp2term@2:X6 c0 c1 +Debug: +[elpi] + lp2term: evar: calldepth:0 X6 c0 c1 + RAW: +?X41 <-> X0 +?X42 <-> X12 +?X43 <-> X1 +?X44 <-> X14 +?X45 <-> X2 +?X46 <-> X16 +?X47 <-> X3 +?X48 <-> X18 +?X49 <-> X4 +?X50 <-> X5 +?X51 <-> X6 +ELAB: +?X41 <-> X0 +?X42 <-> X11 +?X43 <-> X1 +?X44 <-> X13 +?X45 <-> X2 +?X46 <-> X15 +?X47 <-> X3 +?X48 <-> X17 +?X49 <-> X4 +?X50 <-> X5 +?X51 <-> X6 -d is not universe polymorphic -Expands to: Variable d -eq_refl : e2 = 3 - : e2 = 3 -Query assignments: - X = «x» -fx : nat -> nat - : nat -> nat -opaque_3 : nat +Debug: [elpi] lp2term: evar: already in Coq: ?X51 +Debug: [elpi] lp2term@2:c0 +Debug: [elpi] lp2term@2:c1 +Debug: +[elpi] + lp2term@3:fun `_elpi_renamed_u_3` (X7 c0 c1 c2) c3 \ + match c3 (fun `u0` (X8 c0 c1 c2 c3) c4 \ app [c1, c4]) + [fun `x` (X9 c0 c1 c2 c3) c4 \ + fun `Px` (X10 c0 c1 c2 c3 c4) c5 \ app [c2, c4, c5]] +Debug: [elpi] lp2term@3:X7 c0 c1 c2 +Debug: +[elpi] + lp2term: evar: calldepth:0 X7 c0 c1 c2 + RAW: +?X41 <-> X0 +?X42 <-> X12 +?X43 <-> X1 +?X44 <-> X14 +?X45 <-> X2 +?X46 <-> X16 +?X47 <-> X3 +?X48 <-> X18 +?X49 <-> X4 +?X50 <-> X5 +?X51 <-> X6 +ELAB: +?X41 <-> X0 +?X42 <-> X11 +?X43 <-> X1 +?X44 <-> X13 +?X45 <-> X2 +?X46 <-> X15 +?X47 <-> X3 +?X48 <-> X17 +?X49 <-> X4 +?X50 <-> X5 +?X51 <-> X6 -opaque_3 is not universe polymorphic -opaque_3 is opaque -Expands to: Constant elpi.tests.test_API_section.opaque_3 -foo : nat - : nat -bar : bool -> nat - : bool -> nat +Debug: [elpi] lp2term: evar: unknown: calldepth:0 X7 +Debug: +[elpi] + lp2term: evar: create_unknown: whole ctx: ; (u : ?e) + (K : ?e8) + (K_S : ?e9) +Debug: [elpi] lp2term: evar: create_unknown: visible ctx:c0 c1 +c2 +Debug: [elpi] restrict_coq_context: named: +Debug: +[elpi] + restrict_coq_context: cur rel ctx: + restrict_coq_context: cur subst: + restrict_coq_context: looking at u(dbl 0) +Debug: [elpi] ?e--0->?e +Debug: +[elpi] + restrict_coq_context: cur rel ctx: (u : ?e) + restrict_coq_context: cur subst: u + restrict_coq_context: looking at K(dbl 1) +Debug: [elpi] ?e8--0->?e8 +Debug: +[elpi] + restrict_coq_context: cur rel ctx: (u : ?e) + (K : ?e8) + restrict_coq_context: cur subst: K + u + restrict_coq_context: looking at K_S(dbl 2) +Debug: [elpi] ?e9--0->?e9 +Debug: +[elpi] + lp2term: evar: create_unknown: restricted ctx:(u : ?e) + (K : ?e8) + (K_S : ?e9) +Debug: +[elpi] + lp2term: evar: create_unknown: new link: ? |> |- ? = ?X52 + EVARS: + ?X52==[u K K_S |- Type] (internal placeholder) {?e10} + ?X51==[u K |- Type] (internal placeholder) {?e9} + ?X50==[u |- Type] (internal placeholder) {?e8} + ?X49==[u |- ?e6] (internal placeholder) {?e7} + ?X48==[u |- Type] (internal placeholder) {?e6} + ?X47==[u |- ?e4] (internal placeholder) {?e5} + ?X46==[u |- Type] (internal placeholder) {?e4} + ?X45==[u |- ?e2] (internal placeholder) {?e3} + ?X44==[u |- Type] (internal placeholder) {?e2} + ?X43==[u |- ?e0] (internal placeholder) {?e1} + ?X42==[u |- Type] (internal placeholder) {?e0} + ?X41==[ |- Type] (internal placeholder) {?e} + +UNIVERSES: + {elpi_tests_stdlib.test_quotation.36 elpi_tests_stdlib.test_quotation.35 + elpi_tests_stdlib.test_quotation.34 elpi_tests_stdlib.test_quotation.33 + elpi_tests_stdlib.test_quotation.32 elpi_tests_stdlib.test_quotation.31 + elpi_tests_stdlib.test_quotation.30 elpi_tests_stdlib.test_quotation.29} |= + +ALGEBRAIC UNIVERSES: + {} +FLEXIBLE UNIVERSES: + +SORTS: + α26 + α27 + α28 + α29 + α30 + α31 + α32 + α33 +WEAK CONSTRAINTS: + +SHELF: +FUTURE GOALS STACK:?X52 ?X51 ?X50 ?X49 ?X48 ?X47 ?X46 ?X45 ?X44 ?X43 ?X42 +?X41 + +Debug: [elpi] lp2term@3:X7 c0 c1 c2 +Debug: +[elpi] + lp2term: evar: calldepth:0 X7 c0 c1 c2 + RAW: +?X41 <-> X0 +?X42 <-> X12 +?X43 <-> X1 +?X44 <-> X14 +?X45 <-> X2 +?X46 <-> X16 +?X47 <-> X3 +?X48 <-> X18 +?X49 <-> X4 +?X50 <-> X5 +?X51 <-> X6 +?X52 <-> X7 +ELAB: +?X41 <-> X0 +?X42 <-> X11 +?X43 <-> X1 +?X44 <-> X13 +?X45 <-> X2 +?X46 <-> X15 +?X47 <-> X3 +?X48 <-> X17 +?X49 <-> X4 +?X50 <-> X5 +?X51 <-> X6 +?X52 <-> X7 + +Debug: [elpi] lp2term: evar: already in Coq: ?X52 +Debug: [elpi] lp2term@3:c0 +Debug: [elpi] lp2term@3:c1 +Debug: [elpi] lp2term@3:c2 +Debug: +[elpi] + lp2term@4:match c3 (fun `u0` (X8 c0 c1 c2 c3) c4 \ app [c1, c4]) + [fun `x` (X9 c0 c1 c2 c3) c4 \ + fun `Px` (X10 c0 c1 c2 c3 c4) c5 \ app [c2, c4, c5]] +Debug: [elpi] lp2term@4:c3 +Debug: [elpi] lp2term@4:fun `u0` (X8 c0 c1 c2 c3) c4 \ app [c1, c4] +Debug: [elpi] lp2term@4:X8 c0 c1 c2 c3 +Debug: +[elpi] + lp2term: evar: calldepth:0 X8 c0 c1 c2 c3 + RAW: +?X41 <-> X0 +?X42 <-> X12 +?X43 <-> X1 +?X44 <-> X14 +?X45 <-> X2 +?X46 <-> X16 +?X47 <-> X3 +?X48 <-> X18 +?X49 <-> X4 +?X50 <-> X5 +?X51 <-> X6 +?X52 <-> X7 +ELAB: +?X41 <-> X0 +?X42 <-> X11 +?X43 <-> X1 +?X44 <-> X13 +?X45 <-> X2 +?X46 <-> X15 +?X47 <-> X3 +?X48 <-> X17 +?X49 <-> X4 +?X50 <-> X5 +?X51 <-> X6 +?X52 <-> X7 + +Debug: [elpi] lp2term: evar: unknown: calldepth:0 X8 +Debug: +[elpi] + lp2term: evar: create_unknown: whole ctx: ; (u : ?e) + (K : ?e8) + (K_S : ?e9) + (_elpi_renamed_u_3 : ?e10) +Debug: [elpi] lp2term: evar: create_unknown: visible ctx:c0 c1 c2 +c3 +Debug: [elpi] restrict_coq_context: named: +Debug: +[elpi] + restrict_coq_context: cur rel ctx: + restrict_coq_context: cur subst: + restrict_coq_context: looking at u(dbl 0) +Debug: [elpi] ?e--0->?e +Debug: +[elpi] + restrict_coq_context: cur rel ctx: (u : ?e) + restrict_coq_context: cur subst: u + restrict_coq_context: looking at K(dbl 1) +Debug: [elpi] ?e8--0->?e8 +Debug: +[elpi] + restrict_coq_context: cur rel ctx: (u : ?e) + (K : ?e8) + restrict_coq_context: cur subst: K + u + restrict_coq_context: looking at K_S(dbl 2) +Debug: [elpi] ?e9--0->?e9 +Debug: +[elpi] + restrict_coq_context: cur rel ctx: (u : ?e) + (K : ?e8) + (K_S : ?e9) + restrict_coq_context: cur subst: K_S + K + u + restrict_coq_context: looking at _elpi_renamed_u_3(dbl 3) +Debug: [elpi] ?e10--0->?e10 +Debug: +[elpi] + lp2term: evar: create_unknown: restricted ctx:(u : ?e) + (K : ?e8) + (K_S : ?e9) + (_elpi_renamed_u_3 : ?e10) +Debug: +[elpi] + lp2term: evar: create_unknown: new link: ? |> |- ? = ?X53 + EVARS: + ?X53==[u K K_S _elpi_renamed_u_3 |- Type] (internal placeholder) {?e11} + ?X52==[u K K_S |- Type] (internal placeholder) {?e10} + ?X51==[u K |- Type] (internal placeholder) {?e9} + ?X50==[u |- Type] (internal placeholder) {?e8} + ?X49==[u |- ?e6] (internal placeholder) {?e7} + ?X48==[u |- Type] (internal placeholder) {?e6} + ?X47==[u |- ?e4] (internal placeholder) {?e5} + ?X46==[u |- Type] (internal placeholder) {?e4} + ?X45==[u |- ?e2] (internal placeholder) {?e3} + ?X44==[u |- Type] (internal placeholder) {?e2} + ?X43==[u |- ?e0] (internal placeholder) {?e1} + ?X42==[u |- Type] (internal placeholder) {?e0} + ?X41==[ |- Type] (internal placeholder) {?e} + +UNIVERSES: + {elpi_tests_stdlib.test_quotation.37 elpi_tests_stdlib.test_quotation.36 + elpi_tests_stdlib.test_quotation.35 elpi_tests_stdlib.test_quotation.34 + elpi_tests_stdlib.test_quotation.33 elpi_tests_stdlib.test_quotation.32 + elpi_tests_stdlib.test_quotation.31 elpi_tests_stdlib.test_quotation.30 + elpi_tests_stdlib.test_quotation.29} |= +ALGEBRAIC UNIVERSES: + {} +FLEXIBLE UNIVERSES: + +SORTS: + α26 + α27 + α28 + α29 + α30 + α31 + α32 + α33 + α34 +WEAK CONSTRAINTS: + +SHELF: +FUTURE GOALS STACK:?X53 ?X52 ?X51 ?X50 ?X49 ?X48 ?X47 ?X46 ?X45 ?X44 ?X43 +?X42 +?X41 + +Debug: [elpi] lp2term@4:X8 c0 c1 c2 c3 +Debug: +[elpi] + lp2term: evar: calldepth:0 X8 c0 c1 c2 c3 + RAW: +?X41 <-> X0 +?X42 <-> X12 +?X43 <-> X1 +?X44 <-> X14 +?X45 <-> X2 +?X46 <-> X16 +?X47 <-> X3 +?X48 <-> X18 +?X49 <-> X4 +?X50 <-> X5 +?X51 <-> X6 +?X52 <-> X7 +?X53 <-> X8 +ELAB: +?X41 <-> X0 +?X42 <-> X11 +?X43 <-> X1 +?X44 <-> X13 +?X45 <-> X2 +?X46 <-> X15 +?X47 <-> X3 +?X48 <-> X17 +?X49 <-> X4 +?X50 <-> X5 +?X51 <-> X6 +?X52 <-> X7 +?X53 <-> X8 + +Debug: [elpi] lp2term: evar: already in Coq: ?X53 +Debug: [elpi] lp2term@4:c0 +Debug: [elpi] lp2term@4:c1 +Debug: [elpi] lp2term@4:c2 +Debug: [elpi] lp2term@4:c3 +Debug: [elpi] lp2term@5:app [c1, c4] +Debug: [elpi] lp2term@5:c1 +Debug: [elpi] lp2term@5:c4 +Debug: +[elpi] + lp2term@4:fun `x` (X9 c0 c1 c2 c3) c4 \ + fun `Px` (X10 c0 c1 c2 c3 c4) c5 \ app [c2, c4, c5] +Debug: [elpi] lp2term@4:X9 c0 c1 c2 c3 +Debug: +[elpi] + lp2term: evar: calldepth:0 X9 c0 c1 c2 c3 + RAW: +?X41 <-> X0 +?X42 <-> X12 +?X43 <-> X1 +?X44 <-> X14 +?X45 <-> X2 +?X46 <-> X16 +?X47 <-> X3 +?X48 <-> X18 +?X49 <-> X4 +?X50 <-> X5 +?X51 <-> X6 +?X52 <-> X7 +?X53 <-> X8 +ELAB: +?X41 <-> X0 +?X42 <-> X11 +?X43 <-> X1 +?X44 <-> X13 +?X45 <-> X2 +?X46 <-> X15 +?X47 <-> X3 +?X48 <-> X17 +?X49 <-> X4 +?X50 <-> X5 +?X51 <-> X6 +?X52 <-> X7 +?X53 <-> X8 + +Debug: [elpi] lp2term: evar: unknown: calldepth:0 X9 +Debug: +[elpi] + lp2term: evar: create_unknown: whole ctx: ; (u : ?e) + (K : ?e8) + (K_S : ?e9) + (_elpi_renamed_u_3 : ?e10) +Debug: [elpi] lp2term: evar: create_unknown: visible ctx:c0 c1 c2 +c3 +Debug: [elpi] restrict_coq_context: named: +Debug: +[elpi] + restrict_coq_context: cur rel ctx: + restrict_coq_context: cur subst: + restrict_coq_context: looking at u(dbl 0) +Debug: [elpi] ?e--0->?e +Debug: +[elpi] + restrict_coq_context: cur rel ctx: (u : ?e) + restrict_coq_context: cur subst: u + restrict_coq_context: looking at K(dbl 1) +Debug: [elpi] ?e8--0->?e8 +Debug: +[elpi] + restrict_coq_context: cur rel ctx: (u : ?e) + (K : ?e8) + restrict_coq_context: cur subst: K + u + restrict_coq_context: looking at K_S(dbl 2) +Debug: [elpi] ?e9--0->?e9 +Debug: +[elpi] + restrict_coq_context: cur rel ctx: (u : ?e) + (K : ?e8) + (K_S : ?e9) + restrict_coq_context: cur subst: K_S + K + u + restrict_coq_context: looking at _elpi_renamed_u_3(dbl 3) +Debug: [elpi] ?e10--0->?e10 +Debug: +[elpi] + lp2term: evar: create_unknown: restricted ctx:(u : ?e) + (K : ?e8) + (K_S : ?e9) + (_elpi_renamed_u_3 : ?e10) +Debug: +[elpi] + lp2term: evar: create_unknown: new link: ? |> |- ? = ?X54 + EVARS: + ?X54==[u K K_S _elpi_renamed_u_3 |- Type] (internal placeholder) {?e12} + ?X53==[u K K_S _elpi_renamed_u_3 |- Type] (internal placeholder) {?e11} + ?X52==[u K K_S |- Type] (internal placeholder) {?e10} + ?X51==[u K |- Type] (internal placeholder) {?e9} + ?X50==[u |- Type] (internal placeholder) {?e8} + ?X49==[u |- ?e6] (internal placeholder) {?e7} + ?X48==[u |- Type] (internal placeholder) {?e6} + ?X47==[u |- ?e4] (internal placeholder) {?e5} + ?X46==[u |- Type] (internal placeholder) {?e4} + ?X45==[u |- ?e2] (internal placeholder) {?e3} + ?X44==[u |- Type] (internal placeholder) {?e2} + ?X43==[u |- ?e0] (internal placeholder) {?e1} + ?X42==[u |- Type] (internal placeholder) {?e0} + ?X41==[ |- Type] (internal placeholder) {?e} + +UNIVERSES: + {elpi_tests_stdlib.test_quotation.38 elpi_tests_stdlib.test_quotation.37 + elpi_tests_stdlib.test_quotation.36 elpi_tests_stdlib.test_quotation.35 + elpi_tests_stdlib.test_quotation.34 elpi_tests_stdlib.test_quotation.33 + elpi_tests_stdlib.test_quotation.32 elpi_tests_stdlib.test_quotation.31 + elpi_tests_stdlib.test_quotation.30 elpi_tests_stdlib.test_quotation.29} |= + +ALGEBRAIC UNIVERSES: + {} +FLEXIBLE UNIVERSES: + +SORTS: + α26 + α27 + α28 + α29 + α30 + α31 + α32 + α33 + α34 + α35 +WEAK CONSTRAINTS: + +SHELF: +FUTURE GOALS STACK:?X54 ?X53 ?X52 ?X51 ?X50 ?X49 ?X48 ?X47 ?X46 ?X45 ?X44 +?X43 ?X42 +?X41 + +Debug: [elpi] lp2term@4:X9 c0 c1 c2 c3 +Debug: +[elpi] + lp2term: evar: calldepth:0 X9 c0 c1 c2 c3 + RAW: +?X41 <-> X0 +?X42 <-> X12 +?X43 <-> X1 +?X44 <-> X14 +?X45 <-> X2 +?X46 <-> X16 +?X47 <-> X3 +?X48 <-> X18 +?X49 <-> X4 +?X50 <-> X5 +?X51 <-> X6 +?X52 <-> X7 +?X53 <-> X8 +?X54 <-> X9 +ELAB: +?X41 <-> X0 +?X42 <-> X11 +?X43 <-> X1 +?X44 <-> X13 +?X45 <-> X2 +?X46 <-> X15 +?X47 <-> X3 +?X48 <-> X17 +?X49 <-> X4 +?X50 <-> X5 +?X51 <-> X6 +?X52 <-> X7 +?X53 <-> X8 +?X54 <-> X9 + +Debug: [elpi] lp2term: evar: already in Coq: ?X54 +Debug: [elpi] lp2term@4:c0 +Debug: [elpi] lp2term@4:c1 +Debug: [elpi] lp2term@4:c2 +Debug: [elpi] lp2term@4:c3 +Debug: [elpi] lp2term@5:fun `Px` (X10 c0 c1 c2 c3 c4) c5 \ app [c2, c4, c5] +Debug: [elpi] lp2term@5:X10 c0 c1 c2 c3 c4 +Debug: +[elpi] + lp2term: evar: calldepth:0 X10 c0 c1 c2 c3 c4 + RAW: +?X41 <-> X0 +?X42 <-> X12 +?X43 <-> X1 +?X44 <-> X14 +?X45 <-> X2 +?X46 <-> X16 +?X47 <-> X3 +?X48 <-> X18 +?X49 <-> X4 +?X50 <-> X5 +?X51 <-> X6 +?X52 <-> X7 +?X53 <-> X8 +?X54 <-> X9 +ELAB: +?X41 <-> X0 +?X42 <-> X11 +?X43 <-> X1 +?X44 <-> X13 +?X45 <-> X2 +?X46 <-> X15 +?X47 <-> X3 +?X48 <-> X17 +?X49 <-> X4 +?X50 <-> X5 +?X51 <-> X6 +?X52 <-> X7 +?X53 <-> X8 +?X54 <-> X9 + +Debug: [elpi] lp2term: evar: unknown: calldepth:0 X10 +Debug: +[elpi] + lp2term: evar: create_unknown: whole ctx: ; (u : ?e) + (K : ?e8) + (K_S : ?e9) + (_elpi_renamed_u_3 : ?e10) + (x : ?e12) +Debug: [elpi] lp2term: evar: create_unknown: visible ctx:c0 c1 c2 c3 +c4 +Debug: [elpi] restrict_coq_context: named: +Debug: +[elpi] + restrict_coq_context: cur rel ctx: + restrict_coq_context: cur subst: + restrict_coq_context: looking at u(dbl 0) +Debug: [elpi] ?e--0->?e +Debug: +[elpi] + restrict_coq_context: cur rel ctx: (u : ?e) + restrict_coq_context: cur subst: u + restrict_coq_context: looking at K(dbl 1) +Debug: [elpi] ?e8--0->?e8 +Debug: +[elpi] + restrict_coq_context: cur rel ctx: (u : ?e) + (K : ?e8) + restrict_coq_context: cur subst: K + u + restrict_coq_context: looking at K_S(dbl 2) +Debug: [elpi] ?e9--0->?e9 +Debug: +[elpi] + restrict_coq_context: cur rel ctx: (u : ?e) + (K : ?e8) + (K_S : ?e9) + restrict_coq_context: cur subst: K_S + K + u + restrict_coq_context: looking at _elpi_renamed_u_3(dbl 3) +Debug: [elpi] ?e10--0->?e10 +Debug: +[elpi] + restrict_coq_context: cur rel ctx: (u : ?e) + (K : ?e8) + (K_S : ?e9) + (_elpi_renamed_u_3 : ?e10) + restrict_coq_context: cur subst: _elpi_renamed_u_3 + K_S + K + u + restrict_coq_context: looking at x(dbl 4) +Debug: [elpi] ?e12--0->?e12 +Debug: +[elpi] + lp2term: evar: create_unknown: restricted ctx:(u : ?e) + (K : ?e8) + (K_S : ?e9) + (_elpi_renamed_u_3 : ?e10) + (x : ?e12) +Debug: +[elpi] + lp2term: evar: create_unknown: new link: ? |> |- ? = ?X55 + EVARS: + ?X55==[u K K_S _elpi_renamed_u_3 x |- Type] (internal placeholder) {?e13} + ?X54==[u K K_S _elpi_renamed_u_3 |- Type] (internal placeholder) {?e12} + ?X53==[u K K_S _elpi_renamed_u_3 |- Type] (internal placeholder) {?e11} + ?X52==[u K K_S |- Type] (internal placeholder) {?e10} + ?X51==[u K |- Type] (internal placeholder) {?e9} + ?X50==[u |- Type] (internal placeholder) {?e8} + ?X49==[u |- ?e6] (internal placeholder) {?e7} + ?X48==[u |- Type] (internal placeholder) {?e6} + ?X47==[u |- ?e4] (internal placeholder) {?e5} + ?X46==[u |- Type] (internal placeholder) {?e4} + ?X45==[u |- ?e2] (internal placeholder) {?e3} + ?X44==[u |- Type] (internal placeholder) {?e2} + ?X43==[u |- ?e0] (internal placeholder) {?e1} + ?X42==[u |- Type] (internal placeholder) {?e0} + ?X41==[ |- Type] (internal placeholder) {?e} + +UNIVERSES: + {elpi_tests_stdlib.test_quotation.39 elpi_tests_stdlib.test_quotation.38 + elpi_tests_stdlib.test_quotation.37 elpi_tests_stdlib.test_quotation.36 + elpi_tests_stdlib.test_quotation.35 elpi_tests_stdlib.test_quotation.34 + elpi_tests_stdlib.test_quotation.33 elpi_tests_stdlib.test_quotation.32 + elpi_tests_stdlib.test_quotation.31 elpi_tests_stdlib.test_quotation.30 + elpi_tests_stdlib.test_quotation.29} |= +ALGEBRAIC UNIVERSES: + {} +FLEXIBLE UNIVERSES: + +SORTS: + α26 + α27 + α28 + α29 + α30 + α31 + α32 + α33 + α34 + α35 + α36 +WEAK CONSTRAINTS: + +SHELF: +FUTURE GOALS STACK:?X55 ?X54 ?X53 ?X52 ?X51 ?X50 ?X49 ?X48 ?X47 ?X46 ?X45 +?X44 ?X43 ?X42 +?X41 + +Debug: [elpi] lp2term@5:X10 c0 c1 c2 c3 c4 +Debug: +[elpi] + lp2term: evar: calldepth:0 X10 c0 c1 c2 c3 c4 + RAW: +?X41 <-> X0 +?X42 <-> X12 +?X43 <-> X1 +?X44 <-> X14 +?X45 <-> X2 +?X46 <-> X16 +?X47 <-> X3 +?X48 <-> X18 +?X49 <-> X4 +?X50 <-> X5 +?X51 <-> X6 +?X52 <-> X7 +?X53 <-> X8 +?X54 <-> X9 +?X55 <-> X10 +ELAB: +?X41 <-> X0 +?X42 <-> X11 +?X43 <-> X1 +?X44 <-> X13 +?X45 <-> X2 +?X46 <-> X15 +?X47 <-> X3 +?X48 <-> X17 +?X49 <-> X4 +?X50 <-> X5 +?X51 <-> X6 +?X52 <-> X7 +?X53 <-> X8 +?X54 <-> X9 +?X55 <-> X10 + +Debug: [elpi] lp2term: evar: already in Coq: ?X55 +Debug: [elpi] lp2term@5:c0 +Debug: [elpi] lp2term@5:c1 +Debug: [elpi] lp2term@5:c2 +Debug: [elpi] lp2term@5:c3 +Debug: [elpi] lp2term@5:c4 +Debug: [elpi] lp2term@6:app [c2, c4, c5] +Debug: [elpi] lp2term@6:c2 +Debug: [elpi] lp2term@6:c4 +Debug: [elpi] lp2term@6:c5 +Debug: +[elpi] + lp2term: out=(fun u : ?e => + {| + val := oval u; + Sub := ?e7; + Sub_rect := + fun (K : ?e8) (K_S : ?e9) (_elpi_renamed_u_3 : ?e10) => + let + (x, Px) as u0 + return + ?e11@{u:=K; K:=K_S; K_S:=_elpi_renamed_u_3; + _elpi_renamed_u_3:=u0} := _elpi_renamed_u_3 in + K_S x Px + |}) + elpi2coq: + RAW: +?X41 <-> X0 +?X42 <-> X12 +?X43 <-> X1 +?X44 <-> X14 +?X45 <-> X2 +?X46 <-> X16 +?X47 <-> X3 +?X48 <-> X18 +?X49 <-> X4 +?X50 <-> X5 +?X51 <-> X6 +?X52 <-> X7 +?X53 <-> X8 +?X54 <-> X9 +?X55 <-> X10 +ELAB: +?X41 <-> X0 +?X42 <-> X11 +?X43 <-> X1 +?X44 <-> X13 +?X45 <-> X2 +?X46 <-> X15 +?X47 <-> X3 +?X48 <-> X17 +?X49 <-> X4 +?X50 <-> X5 +?X51 <-> X6 +?X52 <-> X7 +?X53 <-> X8 +?X54 <-> X9 +?X55 <-> X10 +EVARS: + ?X55==[u K K_S _elpi_renamed_u_3 x |- Type] (internal placeholder) {?e13} + ?X54==[u K K_S _elpi_renamed_u_3 |- Type] (internal placeholder) {?e12} + ?X53==[u K K_S _elpi_renamed_u_3 |- Type] (internal placeholder) {?e11} + ?X52==[u K K_S |- Type] (internal placeholder) {?e10} + ?X51==[u K |- Type] (internal placeholder) {?e9} + ?X50==[u |- Type] (internal placeholder) {?e8} + ?X49==[u |- ?e6] (internal placeholder) {?e7} + ?X48==[u |- Type] (internal placeholder) {?e6} + ?X47==[u |- ?e4] (internal placeholder) {?e5} + ?X46==[u |- Type] (internal placeholder) {?e4} + ?X45==[u |- ?e2] (internal placeholder) {?e3} + ?X44==[u |- Type] (internal placeholder) {?e2} + ?X43==[u |- ?e0] (internal placeholder) {?e1} + ?X42==[u |- Type] (internal placeholder) {?e0} + ?X41==[ |- Type] (internal placeholder) {?e} + + UNIVERSES: + {elpi_tests_stdlib.test_quotation.39 elpi_tests_stdlib.test_quotation.38 + elpi_tests_stdlib.test_quotation.37 elpi_tests_stdlib.test_quotation.36 + elpi_tests_stdlib.test_quotation.35 elpi_tests_stdlib.test_quotation.34 + elpi_tests_stdlib.test_quotation.33 elpi_tests_stdlib.test_quotation.32 + elpi_tests_stdlib.test_quotation.31 elpi_tests_stdlib.test_quotation.30 + elpi_tests_stdlib.test_quotation.29} |= + ALGEBRAIC UNIVERSES: + {} + FLEXIBLE UNIVERSES: + + SORTS: + α26 + α27 + α28 + α29 + α30 + α31 + α32 + α33 + α34 + α35 + α36 + WEAK CONSTRAINTS: + + SHELF: + + FUTURE GOALS STACK: + ?X55 + ?X54 + ?X53 + ?X52 + ?X51 + ?X50 + ?X49 + ?X48 + ?X47 + ?X46 + ?X45 + ?X44 + ?X43 + ?X42 + ?X41 + +Debug: +[elpi] + in_elpi_fresh_evar: unknown ?X41 <-> X0 + RAW: +?X41 <-> X0 +?X42 <-> X12 +?X43 <-> X1 +?X44 <-> X14 +?X45 <-> X2 +?X46 <-> X16 +?X47 <-> X3 +?X48 <-> X18 +?X49 <-> X4 +?X50 <-> X5 +?X51 <-> X6 +?X52 <-> X7 +?X53 <-> X8 +?X54 <-> X9 +?X55 <-> X10 +ELAB: +?X41 <-> X0 +?X42 <-> X11 +?X43 <-> X1 +?X44 <-> X13 +?X45 <-> X2 +?X46 <-> X15 +?X47 <-> X3 +?X48 <-> X17 +?X49 <-> X4 +?X50 <-> X5 +?X51 <-> X6 +?X52 <-> X7 +?X53 <-> X8 +?X54 <-> X9 +?X55 <-> X10 + +Debug: [elpi] term2lp: depth=0 ctx= term=Type +Debug: [elpi] term2lp (out): sort (typ «elpi_tests_stdlib.test_quotation.29») +Debug: [elpi] in_elpi_evar_concl: moving Ctx down to0 +Debug: +[elpi] + in_elpi_fresh_evar: new decl at depth:0 for ?X41 <-> X0 + declare-evar [] (X0) (sort (typ «elpi_tests_stdlib.test_quotation.29»)) + (X0) +Debug: +[elpi] + in_elpi_fresh_evar: unknown ?X42 <-> X12 + RAW: +?X41 <-> X0 +?X42 <-> X12 +?X43 <-> X1 +?X44 <-> X14 +?X45 <-> X2 +?X46 <-> X16 +?X47 <-> X3 +?X48 <-> X18 +?X49 <-> X4 +?X50 <-> X5 +?X51 <-> X6 +?X52 <-> X7 +?X53 <-> X8 +?X54 <-> X9 +?X55 <-> X10 +ELAB: +?X41 <-> X0 +?X42 <-> X11 +?X43 <-> X1 +?X44 <-> X13 +?X45 <-> X2 +?X46 <-> X15 +?X47 <-> X3 +?X48 <-> X17 +?X49 <-> X4 +?X50 <-> X5 +?X51 <-> X6 +?X52 <-> X7 +?X53 <-> X8 +?X54 <-> X9 +?X55 <-> X10 + +Debug: [elpi] term2lp: depth=1 ctx= term=?e +Debug: [elpi] in_elpi_evar:?X41 +Debug: [elpi] in_elpi_evar: known ?X41 as X0 +Debug: [elpi] term2lp (out): X0 +Debug: [elpi] term2lp: depth=1 ctx=u : ?e term=Type +Debug: [elpi] term2lp (out): sort (typ «elpi_tests_stdlib.test_quotation.30») +Debug: [elpi] in_elpi_evar_concl: moving Ctx down to1 +Debug: +[elpi] + in_elpi_fresh_evar: new decl at depth:0 for ?X42 <-> X12 + pi c0 \ + declare-evar [decl c0 `u` (X0)] (X12 c0) + (sort (typ «elpi_tests_stdlib.test_quotation.30»)) (X11 c0) +Debug: +[elpi] + in_elpi_fresh_evar: unknown ?X43 <-> X1 + RAW: +?X41 <-> X0 +?X42 <-> X12 +?X43 <-> X1 +?X44 <-> X14 +?X45 <-> X2 +?X46 <-> X16 +?X47 <-> X3 +?X48 <-> X18 +?X49 <-> X4 +?X50 <-> X5 +?X51 <-> X6 +?X52 <-> X7 +?X53 <-> X8 +?X54 <-> X9 +?X55 <-> X10 +ELAB: +?X41 <-> X0 +?X42 <-> X11 +?X43 <-> X1 +?X44 <-> X13 +?X45 <-> X2 +?X46 <-> X15 +?X47 <-> X3 +?X48 <-> X17 +?X49 <-> X4 +?X50 <-> X5 +?X51 <-> X6 +?X52 <-> X7 +?X53 <-> X8 +?X54 <-> X9 +?X55 <-> X10 + +Debug: [elpi] term2lp: depth=1 ctx= term=?e +Debug: [elpi] in_elpi_evar:?X41 +Debug: [elpi] in_elpi_evar: known ?X41 as X0 +Debug: [elpi] term2lp (out): X0 +Debug: [elpi] term2lp: depth=1 ctx=u : ?e term=?e0 +Debug: [elpi] in_elpi_evar:?X42 +Debug: [elpi] in_elpi_evar: known ?X42 as X11 +Debug: [elpi] term2lp (out): X11 c0 +Debug: [elpi] in_elpi_evar_concl: moving Ctx down to1 +Debug: +[elpi] + in_elpi_fresh_evar: new decl at depth:0 for ?X43 <-> X1 + pi c0 \ declare-evar [decl c0 `u` (X0)] (X1 c0) (X11 c0) (X1 c0) +Debug: +[elpi] + in_elpi_fresh_evar: unknown ?X44 <-> X14 + RAW: +?X41 <-> X0 +?X42 <-> X12 +?X43 <-> X1 +?X44 <-> X14 +?X45 <-> X2 +?X46 <-> X16 +?X47 <-> X3 +?X48 <-> X18 +?X49 <-> X4 +?X50 <-> X5 +?X51 <-> X6 +?X52 <-> X7 +?X53 <-> X8 +?X54 <-> X9 +?X55 <-> X10 +ELAB: +?X41 <-> X0 +?X42 <-> X11 +?X43 <-> X1 +?X44 <-> X13 +?X45 <-> X2 +?X46 <-> X15 +?X47 <-> X3 +?X48 <-> X17 +?X49 <-> X4 +?X50 <-> X5 +?X51 <-> X6 +?X52 <-> X7 +?X53 <-> X8 +?X54 <-> X9 +?X55 <-> X10 + +Debug: [elpi] term2lp: depth=1 ctx= term=?e +Debug: [elpi] in_elpi_evar:?X41 +Debug: [elpi] in_elpi_evar: known ?X41 as X0 +Debug: [elpi] term2lp (out): X0 +Debug: [elpi] term2lp: depth=1 ctx=u : ?e term=Type +Debug: [elpi] term2lp (out): sort (typ «elpi_tests_stdlib.test_quotation.31») +Debug: [elpi] in_elpi_evar_concl: moving Ctx down to1 +Debug: +[elpi] + in_elpi_fresh_evar: new decl at depth:0 for ?X44 <-> X14 + pi c0 \ + declare-evar [decl c0 `u` (X0)] (X14 c0) + (sort (typ «elpi_tests_stdlib.test_quotation.31»)) (X13 c0) +Debug: +[elpi] + in_elpi_fresh_evar: unknown ?X45 <-> X2 + RAW: +?X41 <-> X0 +?X42 <-> X12 +?X43 <-> X1 +?X44 <-> X14 +?X45 <-> X2 +?X46 <-> X16 +?X47 <-> X3 +?X48 <-> X18 +?X49 <-> X4 +?X50 <-> X5 +?X51 <-> X6 +?X52 <-> X7 +?X53 <-> X8 +?X54 <-> X9 +?X55 <-> X10 +ELAB: +?X41 <-> X0 +?X42 <-> X11 +?X43 <-> X1 +?X44 <-> X13 +?X45 <-> X2 +?X46 <-> X15 +?X47 <-> X3 +?X48 <-> X17 +?X49 <-> X4 +?X50 <-> X5 +?X51 <-> X6 +?X52 <-> X7 +?X53 <-> X8 +?X54 <-> X9 +?X55 <-> X10 + +Debug: [elpi] term2lp: depth=1 ctx= term=?e +Debug: [elpi] in_elpi_evar:?X41 +Debug: [elpi] in_elpi_evar: known ?X41 as X0 +Debug: [elpi] term2lp (out): X0 +Debug: [elpi] term2lp: depth=1 ctx=u : ?e term=?e2 +Debug: [elpi] in_elpi_evar:?X44 +Debug: [elpi] in_elpi_evar: known ?X44 as X13 +Debug: [elpi] term2lp (out): X13 c0 +Debug: [elpi] in_elpi_evar_concl: moving Ctx down to1 +Debug: +[elpi] + in_elpi_fresh_evar: new decl at depth:0 for ?X45 <-> X2 + pi c0 \ declare-evar [decl c0 `u` (X0)] (X2 c0) (X13 c0) (X2 c0) +Debug: +[elpi] + in_elpi_fresh_evar: unknown ?X46 <-> X16 + RAW: +?X41 <-> X0 +?X42 <-> X12 +?X43 <-> X1 +?X44 <-> X14 +?X45 <-> X2 +?X46 <-> X16 +?X47 <-> X3 +?X48 <-> X18 +?X49 <-> X4 +?X50 <-> X5 +?X51 <-> X6 +?X52 <-> X7 +?X53 <-> X8 +?X54 <-> X9 +?X55 <-> X10 +ELAB: +?X41 <-> X0 +?X42 <-> X11 +?X43 <-> X1 +?X44 <-> X13 +?X45 <-> X2 +?X46 <-> X15 +?X47 <-> X3 +?X48 <-> X17 +?X49 <-> X4 +?X50 <-> X5 +?X51 <-> X6 +?X52 <-> X7 +?X53 <-> X8 +?X54 <-> X9 +?X55 <-> X10 + +Debug: [elpi] term2lp: depth=1 ctx= term=?e +Debug: [elpi] in_elpi_evar:?X41 +Debug: [elpi] in_elpi_evar: known ?X41 as X0 +Debug: [elpi] term2lp (out): X0 +Debug: [elpi] term2lp: depth=1 ctx=u : ?e term=Type +Debug: [elpi] term2lp (out): sort (typ «elpi_tests_stdlib.test_quotation.32») +Debug: [elpi] in_elpi_evar_concl: moving Ctx down to1 +Debug: +[elpi] + in_elpi_fresh_evar: new decl at depth:0 for ?X46 <-> X16 + pi c0 \ + declare-evar [decl c0 `u` (X0)] (X16 c0) + (sort (typ «elpi_tests_stdlib.test_quotation.32»)) (X15 c0) +Debug: +[elpi] + in_elpi_fresh_evar: unknown ?X47 <-> X3 + RAW: +?X41 <-> X0 +?X42 <-> X12 +?X43 <-> X1 +?X44 <-> X14 +?X45 <-> X2 +?X46 <-> X16 +?X47 <-> X3 +?X48 <-> X18 +?X49 <-> X4 +?X50 <-> X5 +?X51 <-> X6 +?X52 <-> X7 +?X53 <-> X8 +?X54 <-> X9 +?X55 <-> X10 +ELAB: +?X41 <-> X0 +?X42 <-> X11 +?X43 <-> X1 +?X44 <-> X13 +?X45 <-> X2 +?X46 <-> X15 +?X47 <-> X3 +?X48 <-> X17 +?X49 <-> X4 +?X50 <-> X5 +?X51 <-> X6 +?X52 <-> X7 +?X53 <-> X8 +?X54 <-> X9 +?X55 <-> X10 + +Debug: [elpi] term2lp: depth=1 ctx= term=?e +Debug: [elpi] in_elpi_evar:?X41 +Debug: [elpi] in_elpi_evar: known ?X41 as X0 +Debug: [elpi] term2lp (out): X0 +Debug: [elpi] term2lp: depth=1 ctx=u : ?e term=?e4 +Debug: [elpi] in_elpi_evar:?X46 +Debug: [elpi] in_elpi_evar: known ?X46 as X15 +Debug: [elpi] term2lp (out): X15 c0 +Debug: [elpi] in_elpi_evar_concl: moving Ctx down to1 +Debug: +[elpi] + in_elpi_fresh_evar: new decl at depth:0 for ?X47 <-> X3 + pi c0 \ declare-evar [decl c0 `u` (X0)] (X3 c0) (X15 c0) (X3 c0) +Debug: +[elpi] + in_elpi_fresh_evar: unknown ?X48 <-> X18 + RAW: +?X41 <-> X0 +?X42 <-> X12 +?X43 <-> X1 +?X44 <-> X14 +?X45 <-> X2 +?X46 <-> X16 +?X47 <-> X3 +?X48 <-> X18 +?X49 <-> X4 +?X50 <-> X5 +?X51 <-> X6 +?X52 <-> X7 +?X53 <-> X8 +?X54 <-> X9 +?X55 <-> X10 +ELAB: +?X41 <-> X0 +?X42 <-> X11 +?X43 <-> X1 +?X44 <-> X13 +?X45 <-> X2 +?X46 <-> X15 +?X47 <-> X3 +?X48 <-> X17 +?X49 <-> X4 +?X50 <-> X5 +?X51 <-> X6 +?X52 <-> X7 +?X53 <-> X8 +?X54 <-> X9 +?X55 <-> X10 + +Debug: [elpi] term2lp: depth=1 ctx= term=?e +Debug: [elpi] in_elpi_evar:?X41 +Debug: [elpi] in_elpi_evar: known ?X41 as X0 +Debug: [elpi] term2lp (out): X0 +Debug: [elpi] term2lp: depth=1 ctx=u : ?e term=Type +Debug: [elpi] term2lp (out): sort (typ «elpi_tests_stdlib.test_quotation.33») +Debug: [elpi] in_elpi_evar_concl: moving Ctx down to1 +Debug: +[elpi] + in_elpi_fresh_evar: new decl at depth:0 for ?X48 <-> X18 + pi c0 \ + declare-evar [decl c0 `u` (X0)] (X18 c0) + (sort (typ «elpi_tests_stdlib.test_quotation.33»)) (X17 c0) +Debug: +[elpi] + in_elpi_fresh_evar: unknown ?X49 <-> X4 + RAW: +?X41 <-> X0 +?X42 <-> X12 +?X43 <-> X1 +?X44 <-> X14 +?X45 <-> X2 +?X46 <-> X16 +?X47 <-> X3 +?X48 <-> X18 +?X49 <-> X4 +?X50 <-> X5 +?X51 <-> X6 +?X52 <-> X7 +?X53 <-> X8 +?X54 <-> X9 +?X55 <-> X10 +ELAB: +?X41 <-> X0 +?X42 <-> X11 +?X43 <-> X1 +?X44 <-> X13 +?X45 <-> X2 +?X46 <-> X15 +?X47 <-> X3 +?X48 <-> X17 +?X49 <-> X4 +?X50 <-> X5 +?X51 <-> X6 +?X52 <-> X7 +?X53 <-> X8 +?X54 <-> X9 +?X55 <-> X10 + +Debug: [elpi] term2lp: depth=1 ctx= term=?e +Debug: [elpi] in_elpi_evar:?X41 +Debug: [elpi] in_elpi_evar: known ?X41 as X0 +Debug: [elpi] term2lp (out): X0 +Debug: [elpi] term2lp: depth=1 ctx=u : ?e term=?e6 +Debug: [elpi] in_elpi_evar:?X48 +Debug: [elpi] in_elpi_evar: known ?X48 as X17 +Debug: [elpi] term2lp (out): X17 c0 +Debug: [elpi] in_elpi_evar_concl: moving Ctx down to1 +Debug: +[elpi] + in_elpi_fresh_evar: new decl at depth:0 for ?X49 <-> X4 + pi c0 \ declare-evar [decl c0 `u` (X0)] (X4 c0) (X17 c0) (X4 c0) +Debug: +[elpi] + in_elpi_fresh_evar: unknown ?X50 <-> X5 + RAW: +?X41 <-> X0 +?X42 <-> X12 +?X43 <-> X1 +?X44 <-> X14 +?X45 <-> X2 +?X46 <-> X16 +?X47 <-> X3 +?X48 <-> X18 +?X49 <-> X4 +?X50 <-> X5 +?X51 <-> X6 +?X52 <-> X7 +?X53 <-> X8 +?X54 <-> X9 +?X55 <-> X10 +ELAB: +?X41 <-> X0 +?X42 <-> X11 +?X43 <-> X1 +?X44 <-> X13 +?X45 <-> X2 +?X46 <-> X15 +?X47 <-> X3 +?X48 <-> X17 +?X49 <-> X4 +?X50 <-> X5 +?X51 <-> X6 +?X52 <-> X7 +?X53 <-> X8 +?X54 <-> X9 +?X55 <-> X10 + +Debug: [elpi] term2lp: depth=1 ctx= term=?e +Debug: [elpi] in_elpi_evar:?X41 +Debug: [elpi] in_elpi_evar: known ?X41 as X0 +Debug: [elpi] term2lp (out): X0 +Debug: [elpi] term2lp: depth=1 ctx=u : ?e term=Type +Debug: [elpi] term2lp (out): sort (typ «elpi_tests_stdlib.test_quotation.34») +Debug: [elpi] in_elpi_evar_concl: moving Ctx down to1 +Debug: +[elpi] + in_elpi_fresh_evar: new decl at depth:0 for ?X50 <-> X5 + pi c0 \ + declare-evar [decl c0 `u` (X0)] (X5 c0) + (sort (typ «elpi_tests_stdlib.test_quotation.34»)) (X5 c0) +Debug: +[elpi] + in_elpi_fresh_evar: unknown ?X51 <-> X6 + RAW: +?X41 <-> X0 +?X42 <-> X12 +?X43 <-> X1 +?X44 <-> X14 +?X45 <-> X2 +?X46 <-> X16 +?X47 <-> X3 +?X48 <-> X18 +?X49 <-> X4 +?X50 <-> X5 +?X51 <-> X6 +?X52 <-> X7 +?X53 <-> X8 +?X54 <-> X9 +?X55 <-> X10 +ELAB: +?X41 <-> X0 +?X42 <-> X11 +?X43 <-> X1 +?X44 <-> X13 +?X45 <-> X2 +?X46 <-> X15 +?X47 <-> X3 +?X48 <-> X17 +?X49 <-> X4 +?X50 <-> X5 +?X51 <-> X6 +?X52 <-> X7 +?X53 <-> X8 +?X54 <-> X9 +?X55 <-> X10 + +Debug: [elpi] term2lp: depth=1 ctx= term=?e +Debug: [elpi] in_elpi_evar:?X41 +Debug: [elpi] in_elpi_evar: known ?X41 as X0 +Debug: [elpi] term2lp (out): X0 +Debug: [elpi] term2lp: depth=2 ctx=u : ?e term=?e8 +Debug: [elpi] in_elpi_evar:?X50 +Debug: [elpi] in_elpi_evar: known ?X50 as X5 +Debug: [elpi] term2lp (out): X5 c0 +Debug: [elpi] term2lp: depth=2 ctx=u : ?e K : ?e8 term=Type +Debug: [elpi] term2lp (out): sort (typ «elpi_tests_stdlib.test_quotation.35») +Debug: [elpi] in_elpi_evar_concl: moving Ctx down to2 +Debug: +[elpi] + in_elpi_fresh_evar: new decl at depth:0 for ?X51 <-> X6 + pi c0 \ + pi c1 \ + declare-evar [decl c1 `K` (X5 c0), decl c0 `u` X0] (X6 c0 c1) + (sort (typ «elpi_tests_stdlib.test_quotation.35»)) (X6 c0 c1) +Debug: +[elpi] + in_elpi_fresh_evar: unknown ?X52 <-> X7 + RAW: +?X41 <-> X0 +?X42 <-> X12 +?X43 <-> X1 +?X44 <-> X14 +?X45 <-> X2 +?X46 <-> X16 +?X47 <-> X3 +?X48 <-> X18 +?X49 <-> X4 +?X50 <-> X5 +?X51 <-> X6 +?X52 <-> X7 +?X53 <-> X8 +?X54 <-> X9 +?X55 <-> X10 +ELAB: +?X41 <-> X0 +?X42 <-> X11 +?X43 <-> X1 +?X44 <-> X13 +?X45 <-> X2 +?X46 <-> X15 +?X47 <-> X3 +?X48 <-> X17 +?X49 <-> X4 +?X50 <-> X5 +?X51 <-> X6 +?X52 <-> X7 +?X53 <-> X8 +?X54 <-> X9 +?X55 <-> X10 + +Debug: [elpi] term2lp: depth=1 ctx= term=?e +Debug: [elpi] in_elpi_evar:?X41 +Debug: [elpi] in_elpi_evar: known ?X41 as X0 +Debug: [elpi] term2lp (out): X0 +Debug: [elpi] term2lp: depth=2 ctx=u : ?e term=?e8 +Debug: [elpi] in_elpi_evar:?X50 +Debug: [elpi] in_elpi_evar: known ?X50 as X5 +Debug: [elpi] term2lp (out): X5 c0 +Debug: [elpi] term2lp: depth=3 ctx=u : ?e K : ?e8 term=?e9 +Debug: [elpi] in_elpi_evar:?X51 +Debug: [elpi] in_elpi_evar: known ?X51 as X6 +Debug: [elpi] term2lp (out): X6 c0 c1 +Debug: [elpi] term2lp: depth=3 ctx=u : ?e K : ?e8 K_S : ?e9 term=Type +Debug: [elpi] term2lp (out): sort (typ «elpi_tests_stdlib.test_quotation.36») +Debug: [elpi] in_elpi_evar_concl: moving Ctx down to3 +Debug: +[elpi] + in_elpi_fresh_evar: new decl at depth:0 for ?X52 <-> X7 + pi c0 \ + pi c1 \ + pi c2 \ + declare-evar + [decl c2 `K_S` (X6 c0 c1), decl c1 `K` (X5 c0), decl c0 `u` X0] + (X7 c0 c1 c2) (sort (typ «elpi_tests_stdlib.test_quotation.36»)) + (X7 c0 c1 c2) +Debug: +[elpi] + in_elpi_fresh_evar: unknown ?X53 <-> X8 + RAW: +?X41 <-> X0 +?X42 <-> X12 +?X43 <-> X1 +?X44 <-> X14 +?X45 <-> X2 +?X46 <-> X16 +?X47 <-> X3 +?X48 <-> X18 +?X49 <-> X4 +?X50 <-> X5 +?X51 <-> X6 +?X52 <-> X7 +?X53 <-> X8 +?X54 <-> X9 +?X55 <-> X10 +ELAB: +?X41 <-> X0 +?X42 <-> X11 +?X43 <-> X1 +?X44 <-> X13 +?X45 <-> X2 +?X46 <-> X15 +?X47 <-> X3 +?X48 <-> X17 +?X49 <-> X4 +?X50 <-> X5 +?X51 <-> X6 +?X52 <-> X7 +?X53 <-> X8 +?X54 <-> X9 +?X55 <-> X10 + +Debug: [elpi] term2lp: depth=1 ctx= term=?e +Debug: [elpi] in_elpi_evar:?X41 +Debug: [elpi] in_elpi_evar: known ?X41 as X0 +Debug: [elpi] term2lp (out): X0 +Debug: [elpi] term2lp: depth=2 ctx=u : ?e term=?e8 +Debug: [elpi] in_elpi_evar:?X50 +Debug: [elpi] in_elpi_evar: known ?X50 as X5 +Debug: [elpi] term2lp (out): X5 c0 +Debug: [elpi] term2lp: depth=3 ctx=u : ?e K : ?e8 term=?e9 +Debug: [elpi] in_elpi_evar:?X51 +Debug: [elpi] in_elpi_evar: known ?X51 as X6 +Debug: [elpi] term2lp (out): X6 c0 c1 +Debug: [elpi] term2lp: depth=4 ctx=u : ?e K : ?e8 K_S : ?e9 term=?e10 +Debug: [elpi] in_elpi_evar:?X52 +Debug: [elpi] in_elpi_evar: known ?X52 as X7 +Debug: [elpi] term2lp (out): X7 c0 c1 c2 +Debug: +[elpi] + term2lp: depth=4 ctx=u : ?e K : ?e8 K_S : ?e9 _elpi_renamed_u_3 : ?e10 term=Type +Debug: [elpi] term2lp (out): sort (typ «elpi_tests_stdlib.test_quotation.37») +Debug: [elpi] in_elpi_evar_concl: moving Ctx down to4 +Debug: +[elpi] + in_elpi_fresh_evar: new decl at depth:0 for ?X53 <-> X8 + pi c0 \ + pi c1 \ + pi c2 \ + pi c3 \ + declare-evar + [decl c3 `_elpi_renamed_u_3` (X7 c0 c1 c2), decl c2 `K_S` (X6 c0 c1), + decl c1 `K` (X5 c0), decl c0 `u` X0] (X8 c0 c1 c2 c3) + (sort (typ «elpi_tests_stdlib.test_quotation.37»)) (X8 c0 c1 c2 c3) +Debug: +[elpi] + in_elpi_fresh_evar: unknown ?X54 <-> X9 + RAW: +?X41 <-> X0 +?X42 <-> X12 +?X43 <-> X1 +?X44 <-> X14 +?X45 <-> X2 +?X46 <-> X16 +?X47 <-> X3 +?X48 <-> X18 +?X49 <-> X4 +?X50 <-> X5 +?X51 <-> X6 +?X52 <-> X7 +?X53 <-> X8 +?X54 <-> X9 +?X55 <-> X10 +ELAB: +?X41 <-> X0 +?X42 <-> X11 +?X43 <-> X1 +?X44 <-> X13 +?X45 <-> X2 +?X46 <-> X15 +?X47 <-> X3 +?X48 <-> X17 +?X49 <-> X4 +?X50 <-> X5 +?X51 <-> X6 +?X52 <-> X7 +?X53 <-> X8 +?X54 <-> X9 +?X55 <-> X10 + +Debug: [elpi] term2lp: depth=1 ctx= term=?e +Debug: [elpi] in_elpi_evar:?X41 +Debug: [elpi] in_elpi_evar: known ?X41 as X0 +Debug: [elpi] term2lp (out): X0 +Debug: [elpi] term2lp: depth=2 ctx=u : ?e term=?e8 +Debug: [elpi] in_elpi_evar:?X50 +Debug: [elpi] in_elpi_evar: known ?X50 as X5 +Debug: [elpi] term2lp (out): X5 c0 +Debug: [elpi] term2lp: depth=3 ctx=u : ?e K : ?e8 term=?e9 +Debug: [elpi] in_elpi_evar:?X51 +Debug: [elpi] in_elpi_evar: known ?X51 as X6 +Debug: [elpi] term2lp (out): X6 c0 c1 +Debug: [elpi] term2lp: depth=4 ctx=u : ?e K : ?e8 K_S : ?e9 term=?e10 +Debug: [elpi] in_elpi_evar:?X52 +Debug: [elpi] in_elpi_evar: known ?X52 as X7 +Debug: [elpi] term2lp (out): X7 c0 c1 c2 +Debug: +[elpi] + term2lp: depth=4 ctx=u : ?e K : ?e8 K_S : ?e9 _elpi_renamed_u_3 : ?e10 term=Type +Debug: [elpi] term2lp (out): sort (typ «elpi_tests_stdlib.test_quotation.38») +Debug: [elpi] in_elpi_evar_concl: moving Ctx down to4 +Debug: +[elpi] + in_elpi_fresh_evar: new decl at depth:0 for ?X54 <-> X9 + pi c0 \ + pi c1 \ + pi c2 \ + pi c3 \ + declare-evar + [decl c3 `_elpi_renamed_u_3` (X7 c0 c1 c2), decl c2 `K_S` (X6 c0 c1), + decl c1 `K` (X5 c0), decl c0 `u` X0] (X9 c0 c1 c2 c3) + (sort (typ «elpi_tests_stdlib.test_quotation.38»)) (X9 c0 c1 c2 c3) +Debug: +[elpi] + in_elpi_fresh_evar: unknown ?X55 <-> X10 + RAW: +?X41 <-> X0 +?X42 <-> X12 +?X43 <-> X1 +?X44 <-> X14 +?X45 <-> X2 +?X46 <-> X16 +?X47 <-> X3 +?X48 <-> X18 +?X49 <-> X4 +?X50 <-> X5 +?X51 <-> X6 +?X52 <-> X7 +?X53 <-> X8 +?X54 <-> X9 +?X55 <-> X10 +ELAB: +?X41 <-> X0 +?X42 <-> X11 +?X43 <-> X1 +?X44 <-> X13 +?X45 <-> X2 +?X46 <-> X15 +?X47 <-> X3 +?X48 <-> X17 +?X49 <-> X4 +?X50 <-> X5 +?X51 <-> X6 +?X52 <-> X7 +?X53 <-> X8 +?X54 <-> X9 +?X55 <-> X10 + +Debug: [elpi] term2lp: depth=1 ctx= term=?e +Debug: [elpi] in_elpi_evar:?X41 +Debug: [elpi] in_elpi_evar: known ?X41 as X0 +Debug: [elpi] term2lp (out): X0 +Debug: [elpi] term2lp: depth=2 ctx=u : ?e term=?e8 +Debug: [elpi] in_elpi_evar:?X50 +Debug: [elpi] in_elpi_evar: known ?X50 as X5 +Debug: [elpi] term2lp (out): X5 c0 +Debug: [elpi] term2lp: depth=3 ctx=u : ?e K : ?e8 term=?e9 +Debug: [elpi] in_elpi_evar:?X51 +Debug: [elpi] in_elpi_evar: known ?X51 as X6 +Debug: [elpi] term2lp (out): X6 c0 c1 +Debug: [elpi] term2lp: depth=4 ctx=u : ?e K : ?e8 K_S : ?e9 term=?e10 +Debug: [elpi] in_elpi_evar:?X52 +Debug: [elpi] in_elpi_evar: known ?X52 as X7 +Debug: [elpi] term2lp (out): X7 c0 c1 c2 +Debug: +[elpi] + term2lp: depth=5 ctx=u : ?e K : ?e8 K_S : ?e9 _elpi_renamed_u_3 : ?e10 term= + ?e12 +Debug: [elpi] in_elpi_evar:?X54 +Debug: [elpi] in_elpi_evar: known ?X54 as X9 +Debug: [elpi] term2lp (out): X9 c0 c1 c2 c3 +Debug: +[elpi] + term2lp: depth=5 ctx=u : ?e + K : ?e8 + K_S : ?e9 + _elpi_renamed_u_3 : ?e10 + x : ?e12 term=Type +Debug: [elpi] term2lp (out): sort (typ «elpi_tests_stdlib.test_quotation.39») +Debug: [elpi] in_elpi_evar_concl: moving Ctx down to5 +Debug: +[elpi] + in_elpi_fresh_evar: new decl at depth:0 for ?X55 <-> X10 + pi c0 \ + pi c1 \ + pi c2 \ + pi c3 \ + pi c4 \ + declare-evar + [decl c4 `x` (X9 c0 c1 c2 c3), + decl c3 `_elpi_renamed_u_3` (X7 c0 c1 c2), decl c2 `K_S` (X6 c0 c1), + decl c1 `K` (X5 c0), decl c0 `u` X0] (X10 c0 c1 c2 c3 c4) + (sort (typ «elpi_tests_stdlib.test_quotation.39»)) + (X10 c0 c1 c2 c3 c4) +Debug: +[elpi] + Elpi: query-compilation:0.0010 static-check:0.0000 optimization:0.0001 runtime:0.0369 (with error) + +hd + : forall A : Type, A -> list A -> A +Debug: [elpi] gterm2lp: term=hd +Debug: [elpi] Compiler cache: lookups=8, hits=6 + +Debug: [elpi] Compiler cache: lookups=0, hits=0 + +File "./tests-stdlib/test_quotation.v", line 47, characters 32-33: +Warning: +File "./tests-stdlib/test_quotation.v", line 47, characters 32-33 +X is linear: name it _X (discard) or X_ (fresh variable) +[elpi.linear-variable,elpi.typecheck,elpi,default] +File "./apps/eltac/theories/apply.v", line 15, characters 16-19: +Warning: +File "./apps/eltac/theories/apply.v", line 15, characters 16-19 +Ctx is linear: name it _Ctx (discard) or Ctx_ (fresh variable) +[elpi.linear-variable,elpi.typecheck,elpi,default] Debug: run 1 {{{ Debug: @@ -3566,7 +5618,7 @@ Debug: rid:0 step:8 gid:17 user:rule:backchain = success -Debug: }}} -> (0.000s) +Debug: }}} -> (0.008s) Debug: run 9 {{{ Debug: @@ -4009,7 +6061,7 @@ Debug: rid:0 step:24 gid:27 user:rule:backchain:candidates = File "builtin_stdlib.elpi", line 279, column 0, characters 9290-9316: -Debug: }}} -> (0.007s) +Debug: }}} -> (0.000s) Debug: select 13 {{{ Debug: @@ -4264,7 +6316,7 @@ c1, c6, c8], app [c3, c7, c9]]]]) -Debug: }}} -> (0.001s) +Debug: }}} -> (0.009s) Debug: run 28 {{{ Debug: @@ -4768,7 +6820,7 @@ Debug: rid:1 step:363 gid:1045 user:rule:backchain = success -Debug: }}} -> (0.016s) +Debug: }}} -> (0.010s) Debug: run 364 {{{ Debug: @@ -5158,7 +7210,7 @@ Debug: rid:1 step:371 gid:692 user:rule:backchain:candidates = File "coq-builtin.elpi", line 1787, column 0, characters 71769-71833: -Debug: }}} -> (0.000s) +Debug: }}} -> (0.012s) Debug: select 273 {{{ Debug: @@ -5312,165 +7364,10 @@ Arguments expanded_g T%type_scope op%function_scope (l s)%list_scope h%bool_scope -File "./tests/test_File3.v", line 18, characters 2-16: -Warning: This command does not support this attribute: phase. -[unsupported-attributes,parsing,default] -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») -c2 -global (indt «nat») -z -nat -Query assignments: - %arg1 = c0 \ c1 \ c2 \ -z - %arg2 = c0 \ c1 \ c2 \ -nat - T = global (indt «nat») -c2 -global (indt «nat») -z -nat -Query assignments: - %arg1 = c0 \ c1 \ c2 \ -z - %arg2 = c0 \ c1 \ c2 \ -nat - T = global (indt «nat») -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" -Unable to unify "bool" with "nat". -Query assignments: - Msg = Unable to unify "bool" with "nat". -Query assignments: - Cons = global (indc «cons») - GRCons = indc «cons» - GRList = indt «list» - GRNat = indt «nat» - GRNil = indc «nil» - GRZero = indc «O» - L = app - [global (indc «cons»), global (indt «nat»), global (indc «O»), - app [global (indc «nil»), global (indt «nat»)]] - LE = app - [global (indc «cons»), global (indt «nat»), global (indc «O»), - app [global (indc «nil»), global (indt «nat»)]] - List = global (indt «list») - Nat = global (indt «nat») - Nil = global (indc «nil») - Zero = global (indc «O») -Universe constraints: -UNIVERSES: - {elpi.tests.test_API_typecheck.4 elpi.tests.test_API_typecheck.3 - elpi.tests.test_API_typecheck.2 elpi.tests.test_API_typecheck.1} |= - elpi.tests.test_API_typecheck.3 < elpi.tests.test_API_typecheck.2 - elpi.tests.test_API_typecheck.4 < elpi.tests.test_API_typecheck.1 - Set <= elpi.tests.test_API_typecheck.3 - Set <= elpi.tests.test_API_typecheck.4 - elpi.tests.test_API_typecheck.3 <= list.u0 - elpi.tests.test_API_typecheck.4 <= list.u0 -ALGEBRAIC UNIVERSES: - {} -FLEXIBLE UNIVERSES: - -SORTS: - α1 := Type - α2 := Type -WEAK CONSTRAINTS: - - -global (indt «nat») -Query assignments: - T = global (indt «nat») - X1_ = global (indt «nat») - X2_ = global (indt «nat») -Universe constraints: -UNIVERSES: - {elpi.tests.test_API_typecheck.9 elpi.tests.test_API_typecheck.8 - elpi.tests.test_API_typecheck.7 elpi.tests.test_API_typecheck.6 - elpi.tests.test_API_typecheck.5} |= - Set < elpi.tests.test_API_typecheck.7 - elpi.tests.test_API_typecheck.8 < elpi.tests.test_API_typecheck.6 - elpi.tests.test_API_typecheck.9 < elpi.tests.test_API_typecheck.5 - Set <= elpi.tests.test_API_typecheck.8 - Set <= elpi.tests.test_API_typecheck.9 - elpi.tests.test_API_typecheck.8 <= list.u0 - elpi.tests.test_API_typecheck.9 <= list.u0 -ALGEBRAIC UNIVERSES: - {} -FLEXIBLE UNIVERSES: - -SORTS: - α3 := Type - α4 := Type - α5 := Type -WEAK CONSTRAINTS: - - -«elpi.tests.test_API_typecheck.10» -Query assignments: - U = «elpi.tests.test_API_typecheck.10» -Universe constraints: -UNIVERSES: - {elpi.tests.test_API_typecheck.10} |= - Set <= elpi.tests.test_API_typecheck.10 -ALGEBRAIC UNIVERSES: - {elpi.tests.test_API_typecheck.10} -FLEXIBLE UNIVERSES: - elpi.tests.test_API_typecheck.10 -SORTS: - -WEAK CONSTRAINTS: - - -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). -File "./tests/test_API_typecheck.v", line 59, characters 2-4: -Warning: -File "./tests/test_API_typecheck.v", line 59, characters 2-4 -LE is linear: name it _LE (discard) or LE_ (fresh variable) -[elpi.linear-variable,elpi.typecheck,elpi,default] -d1 - : nat -d2 - : nat -i1 - : Prop -i2 - : Prop -k1 - : i1 -k2 - : i2 -r1 - : Set -r2 - : Type -f1 - : r1 -> nat -f2 - : r2 -> nat +The argument fun x : ?e => x + ?e1 was closed under 1 binders +old replacement: fun (x : ?e) (y : ?e0) => x - y with +fun (y : ?e1) (x : ?e2) => y + x +new replacement: fun y : ?e0 => x - y with fun y : ?e1 => y + x Goal: [decl c1 `y` (global (indt «nat»)), decl c0 `x` (global (indt «nat»))] |- X0 c0 c1 : @@ -5574,48 +7471,1131 @@ File "./examples/tutorial_coq_elpi_tactic.v", line 844, characters 44-46 G2 is linear: name it _G2 (discard) or G2_ (fresh variable) [elpi.linear-variable,elpi.typecheck,elpi,default] -normP : -forall {T : Type} {e : T} {op : T -> T -> T} {gamma : list T} {t1 t2 : lang}, -(forall a b c : T, op a (op b c) = op (op a b) c) -> -(forall a : T, op e a = a) -> -(forall a : T, op a e = a) -> -norm t1 = norm t2 -> interp T e op gamma t1 = interp T e op gamma t2 - -normP is not universe polymorphic -Arguments normP {T}%type_scope {e} {op}%function_scope - {gamma}%list_scope {t1 t2} (p1 p2 p3)%function_scope - H -normP is transparent -Expands to: Constant elpi_examples_stdlib.example_reflexive_tactic.normP -(fun x y z t : Z => - normP Z.add_assoc Z.add_0_l Z.add_0_r - (eq_refl - <: - norm (add (add (var 0) (var 1)) (add (add (var 2) zero) (var 3))) = - norm (add (add (var 0) (add (var 1) (var 2))) (var 3)))) -Debug: In environment -x, y, z, t : Z -Unable to unify "var 1" with - "var 0". -Raised at Loc.raise in file "lib/loc.ml", line 101, characters 16-23 -Called from Unification.unify_0_with_initial_metas in file "pretyping/unification.ml", line 1281, characters 13-48 -Re-raised at Exninfo.iraise in file "clib/exninfo.ml", line 81, characters 4-38 -Called from Unification.unify_with_eta in file "pretyping/unification.ml", line 1320, characters 14-48 -Called from Unification.merge_instances in file "pretyping/unification.ml", line 1333, characters 23-64 -Called from Unification.w_merge.w_merge_rec in file "pretyping/unification.ml", line 1554, characters 14-63 -Called from Unification.w_merge in file "pretyping/unification.ml", lines 1608-1610, characters 4-35 -Called from Unification.w_unify_core_0 in file "pretyping/unification.ml", line 1661, characters 12-65 -Called from Clenv.clenv_unify in file "proofs/clenv.ml", line 298, characters 25-73 -Called from Clenv.res_pf.(fun) in file "proofs/clenv.ml", line 771, characters 16-56 -Called from Proofview.Goal.enter.f in file "engine/proofview.ml", line 1136, characters 40-46 -Called from Proofview.Goal.enter.(fun) in file "engine/proofview.ml", line 1141, characters 10-34 - -Debug: -----<<---- enter: -coq.say raw: - (parameter A1 maximal (sort (typ «elpi.tests.test_arg_HOAS.2»)) c0 \ - parameter A2 explicit c0 c1 \ - inductive foo1 tt +File "./tests/perf_calls.v", line 11, characters 2-3: +Warning: +File "./tests/perf_calls.v", line 11, characters 2-3 +N is linear: name it _N (discard) or N_ (fresh variable) +[elpi.linear-variable,elpi.typecheck,elpi,default] +File "./tests/perf_calls.v", line 13, characters 9-11: +Warning: +File "./tests/perf_calls.v", line 13, characters 9-11 +GR is linear: name it _GR (discard) or GR_ (fresh variable) +[elpi.linear-variable,elpi.typecheck,elpi,default] +File "./tests/perf_calls.v", line 13, characters 7-8: +Warning: +File "./tests/perf_calls.v", line 13, characters 7-8 +N is linear: name it _N (discard) or N_ (fresh variable) +[elpi.linear-variable,elpi.typecheck,elpi,default] +Coq version: 8.20.1 = 8 . 20 . 1 +Query assignments: + MA = 8 + MI = 20 + P = 1 + V = 8.20.1 +hello world +A +B +Query assignments: + GR = «nat» +Query assignments: + GR = «Nat.add» + MP = «Coq.Init.Datatypes» +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: +Query assignments: + X = «elpi.tests.test_API.1» +Universe constraints: +UNIVERSES: + {elpi.tests.test_API.1} |= +ALGEBRAIC UNIVERSES: + {} +FLEXIBLE UNIVERSES: + +SORTS: + +WEAK CONSTRAINTS: + + +Query assignments: + X = typ «elpi.tests.test_API.2» + Y = typ «elpi.tests.test_API.3» +Universe constraints: +UNIVERSES: + {elpi.tests.test_API.3 elpi.tests.test_API.2} |= + elpi.tests.test_API.2 <= elpi.tests.test_API.3 +ALGEBRAIC UNIVERSES: + {} +FLEXIBLE UNIVERSES: + +SORTS: + +WEAK CONSTRAINTS: + + +Query assignments: + X = typ «elpi.tests.test_API.4» + Y = typ «elpi.tests.test_API.5» +Universe constraints: +UNIVERSES: + {elpi.tests.test_API.5 elpi.tests.test_API.4} |= + elpi.tests.test_API.4 <= elpi.tests.test_API.5 +ALGEBRAIC UNIVERSES: + {} +FLEXIBLE UNIVERSES: + +SORTS: + +WEAK CONSTRAINTS: + + +Query assignments: + X = typ «elpi.tests.test_API.6» + Y = typ «elpi.tests.test_API.7» + Z = typ «elpi.tests.test_API.8» +Universe constraints: +UNIVERSES: + {elpi.tests.test_API.8 elpi.tests.test_API.7 elpi.tests.test_API.6} |= + elpi.tests.test_API.6 <= elpi.tests.test_API.8 + elpi.tests.test_API.7 <= elpi.tests.test_API.8 +ALGEBRAIC UNIVERSES: + {} +FLEXIBLE UNIVERSES: + +SORTS: + +WEAK CONSTRAINTS: + + +Query assignments: + X = typ «elpi.tests.test_API.9» + Y = typ «elpi.tests.test_API.10» +Universe constraints: +UNIVERSES: + {elpi.tests.test_API.10 elpi.tests.test_API.9} |= + elpi.tests.test_API.9 < elpi.tests.test_API.10 +ALGEBRAIC UNIVERSES: + {} +FLEXIBLE UNIVERSES: + +SORTS: + +WEAK CONSTRAINTS: + + +[foo (const «X»), foo (indt «nat»), foo (indt «bool»)] +[foo (indt «nat»), foo (indt «bool»)] +[] +[foo (indt «nat»)] +hello [int 1, int 2, trm (global (indt «nat»)), str x] +coq.pp.box (coq.pp.hv 2) + [coq.pp.str Module, coq.pp.spc, coq.pp.str Foo, coq.pp.spc, coq.pp.str :=, + coq.pp.brk 1 0, coq.pp.str body, coq.pp.spc, coq.pp.str End Foo.] +Module + Foo + := + body + End Foo. +fix foo (x : ?e3) (y : ?e4) {struct x} : ?e2 := + match x as _elpi_renamed_x_3 return ?e6 with + | true => S (S (S O)) + | false => y + end +fix foo x y {struct x} := if x as _elpi_renamed_x_3 then 3 else y +File "./tests/test_API.v", line 73, characters 37-39: +Warning: +File "./tests/test_API.v", line 73, characters 37-39 +MP is linear: name it _MP (discard) or MP_ (fresh variable) +[elpi.linear-variable,elpi.typecheck,elpi,default] +File "./tests/test_API.v", line 81, characters 54-55: +Warning: +File "./tests/test_API.v", line 81, characters 54-55 +A is linear: name it _A (discard) or A_ (fresh variable) +[elpi.linear-variable,elpi.typecheck,elpi,default] +File "./tests/test_API.v", line 82, characters 56-58: +Warning: +File "./tests/test_API.v", line 82, characters 56-58 +MP is linear: name it _MP (discard) or MP_ (fresh variable) +[elpi.linear-variable,elpi.typecheck,elpi,default] +File "./tests/test_API.v", line 91, characters 29-30: +Warning: +File "./tests/test_API.v", line 91, characters 29-30 +X is linear: name it _X (discard) or X_ (fresh variable) +[elpi.linear-variable,elpi.typecheck,elpi,default] +File "./tests/test_API.v", line 92, characters 29-30: +Warning: +File "./tests/test_API.v", line 92, characters 29-30 +X is linear: name it _X (discard) or X_ (fresh variable) +[elpi.linear-variable,elpi.typecheck,elpi,default] +File "./tests/test_API.v", line 92, characters 31-32: +Warning: +File "./tests/test_API.v", line 92, characters 31-32 +Y is linear: name it _Y (discard) or Y_ (fresh variable) +[elpi.linear-variable,elpi.typecheck,elpi,default] +File "./tests/test_API.v", line 93, characters 28-29: +Warning: +File "./tests/test_API.v", line 93, characters 28-29 +X is linear: name it _X (discard) or X_ (fresh variable) +[elpi.linear-variable,elpi.typecheck,elpi,default] +File "./tests/test_API.v", line 93, characters 30-31: +Warning: +File "./tests/test_API.v", line 93, characters 30-31 +Y is linear: name it _Y (discard) or Y_ (fresh variable) +[elpi.linear-variable,elpi.typecheck,elpi,default] +File "./tests/test_API.v", line 94, characters 36-37: +Warning: +File "./tests/test_API.v", line 94, characters 36-37 +X is linear: name it _X (discard) or X_ (fresh variable) +[elpi.linear-variable,elpi.typecheck,elpi,default] +File "./tests/test_API.v", line 94, characters 38-39: +Warning: +File "./tests/test_API.v", line 94, characters 38-39 +Y is linear: name it _Y (discard) or Y_ (fresh variable) +[elpi.linear-variable,elpi.typecheck,elpi,default] +File "./tests/test_API.v", line 94, characters 40-41: +Warning: +File "./tests/test_API.v", line 94, characters 40-41 +Z is linear: name it _Z (discard) or Z_ (fresh variable) +[elpi.linear-variable,elpi.typecheck,elpi,default] +File "./tests/test_API.v", line 95, characters 29-30: +Warning: +File "./tests/test_API.v", line 95, characters 29-30 +X is linear: name it _X (discard) or X_ (fresh variable) +[elpi.linear-variable,elpi.typecheck,elpi,default] +File "./tests/test_API.v", line 95, characters 31-32: +Warning: +File "./tests/test_API.v", line 95, characters 31-32 +Y is linear: name it _Y (discard) or Y_ (fresh variable) +[elpi.linear-variable,elpi.typecheck,elpi,default] +Query assignments: + GR = const «myi» +Query assignments: + GR = const «myi» +myi : Reflexive R + : Reflexive R +Query assignments: + GR = const «myi» +Query assignments: + L = [tc-instance (const «relation_equivalence_rewrite_relation») 0, + tc-instance (const «iff_rewrite_relation») 2, + tc-instance (const «impl_rewrite_relation») 3, + tc-instance (const «inverse_impl_rewrite_relation») 3, + tc-instance (const «Equivalence_PER») 10, + tc-instance (const «relation_equivalence_equivalence») 0, + tc-instance (const «predicate_equivalence_equivalence») 0, + tc-instance (const «iff_equivalence») 0, + tc-instance (const «eq_equivalence») 10, + tc-instance (const «relation_implication_preorder») 0, + tc-instance (const «predicate_implication_preorder») 0, + tc-instance (const «Equivalence_PreOrder») 10, + tc-instance (const «Bool.Decidable_eq_bool») 0, + tc-instance (const «DecidableClass.Decidable_not») 1, + tc-instance (const «subrelation_partial_order») 0, + tc-instance (const «iff_Transitive») 0, + tc-instance (const «impl_Transitive») 0, + tc-instance (const «eq_Transitive») 0, + tc-instance (const «Equivalence_Transitive») 1, + tc-instance (const «StrictOrder_Transitive») 1, + tc-instance (const «PreOrder_Transitive») 2, + tc-instance (const «PER_Transitive») 3, + tc-instance (const «StrictOrder_Irreflexive») 1, + tc-instance (const «StrictOrder_Asymmetric») 1, + tc-instance (const «iff_Reflexive») 0, + tc-instance (const «impl_Reflexive») 0, + tc-instance (const «eq_Reflexive») 0, + tc-instance (const «Equivalence_Reflexive») 1, + tc-instance (const «PreOrder_Reflexive») 2, + tc-instance (const «myi») 10, + tc-instance (const «partial_order_antisym») 2, + tc-instance (const «iff_Symmetric») 0, + tc-instance (const «neq_Symmetric») 0, + tc-instance (const «eq_Symmetric») 0, + tc-instance (const «Equivalence_Symmetric») 1, + tc-instance (const «PER_Symmetric») 3] +Query assignments: + GR = indt «RewriteRelation» + L = [tc-instance (const «relation_equivalence_rewrite_relation») 0, + tc-instance (const «iff_rewrite_relation») 2, + tc-instance (const «impl_rewrite_relation») 3, + tc-instance (const «inverse_impl_rewrite_relation») 3] +Query assignments: + GR = indt «RewriteRelation» +Query assignments: + GR = indt «True» +Query assignments: + Check = c0 \ +sigma c1 \ + c0 = expected c1 , + std.mem + [tc-instance (const «hint_c») 0, tc-instance (const «instance_c») 0, + tc-instance (const «instance_g») 4, tc-instance (const «hint_g») 5] + c1 + Exp = [expected (tc-instance (const «hint_c») 0), + expected (tc-instance (const «instance_c») 0), + expected (tc-instance (const «instance_g») 4), + expected (tc-instance (const «hint_g») 5)] + L = [tc-instance (const «hint_c») 0, tc-instance (const «instance_c») 0, + tc-instance (const «instance_g») 4, tc-instance (const «hint_g») 5] +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»)] +Query assignments: + I = «eq» + P1 = «carrier» + P2 = «eq_op» +Query assignments: + GR = const «myc1» +eq_op myc1 t1 t1 + : bool +Query assignments: + P = const «eq_op» +Query assignments: + W = const «W» +[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: + 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: + %arg1 = 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 +File "./tests/test_API_TC_CS.v", line 42, characters 26-27: +Warning: +File "./tests/test_API_TC_CS.v", line 42, characters 26-27 +L is linear: name it _L (discard) or L_ (fresh variable) +[elpi.linear-variable,elpi.typecheck,elpi,default] +File "./tests/test_API_TC_CS.v", line 42, characters 0-30: +Warning: +There is an hint extern in the typeclass db: +(*external*) (equiv_rewrite_relation R) +[elpi.TC.hints,elpi,default] +File "./tests/test_API_TC_CS.v", line 42, characters 0-30: +Warning: +There is an hint extern in the typeclass db: +(*external*) (class_apply @flip_StrictOrder) +[elpi.TC.hints,elpi,default] +File "./tests/test_API_TC_CS.v", line 42, characters 0-30: +Warning: +There is an hint extern in the typeclass db: +(*external*) (class_apply @flip_PreOrder) +[elpi.TC.hints,elpi,default] +File "./tests/test_API_TC_CS.v", line 42, characters 0-30: +Warning: +There is an hint extern in the typeclass db: +(*external*) (class_apply @PartialOrder_inverse) +[elpi.TC.hints,elpi,default] +File "./tests/test_API_TC_CS.v", line 42, characters 0-30: +Warning: +There is an hint extern in the typeclass db: +(*external*) (class_apply @subrelation_symmetric) +[elpi.TC.hints,elpi,default] +File "./tests/test_API_TC_CS.v", line 42, characters 0-30: +Warning: +There is an hint extern in the typeclass db: +(*external*) (class_apply @flip_Transitive) +[elpi.TC.hints,elpi,default] +File "./tests/test_API_TC_CS.v", line 42, characters 0-30: +Warning: +There is an hint extern in the typeclass db: +(*external*) (class_apply @flip_Irreflexive) +[elpi.TC.hints,elpi,default] +File "./tests/test_API_TC_CS.v", line 42, characters 0-30: +Warning: +There is an hint extern in the typeclass db: +(*external*) (class_apply @complement_Irreflexive) +[elpi.TC.hints,elpi,default] +File "./tests/test_API_TC_CS.v", line 42, characters 0-30: +Warning: +There is an hint extern in the typeclass db: +(*external*) (class_apply @flip_Asymmetric) +[elpi.TC.hints,elpi,default] +File "./tests/test_API_TC_CS.v", line 42, characters 0-30: +Warning: +There is an hint extern in the typeclass db: +(*external*) (class_apply @irreflexivity) +[elpi.TC.hints,elpi,default] +File "./tests/test_API_TC_CS.v", line 42, characters 0-30: +Warning: +There is an hint extern in the typeclass db: +(*external*) (apply flip_Reflexive) +[elpi.TC.hints,elpi,default] +File "./tests/test_API_TC_CS.v", line 42, characters 0-30: +Warning: +There is an hint extern in the typeclass db: +(*external*) unconvertible +[elpi.TC.hints,elpi,default] +File "./tests/test_API_TC_CS.v", line 42, characters 0-30: +Warning: +There is an hint extern in the typeclass db: +(*external*) (class_apply @flip_Antisymmetric) +[elpi.TC.hints,elpi,default] +File "./tests/test_API_TC_CS.v", line 42, characters 0-30: +Warning: +There is an hint extern in the typeclass db: +(*external*) (class_apply @flip_Symmetric) +[elpi.TC.hints,elpi,default] +File "./tests/test_API_TC_CS.v", line 42, characters 0-30: +Warning: +There is an hint extern in the typeclass db: +(*external*) (class_apply @complement_Symmetric) +[elpi.TC.hints,elpi,default] +File "./tests/test_API_TC_CS.v", line 43, characters 66-67: +Warning: +File "./tests/test_API_TC_CS.v", line 43, characters 66-67 +L is linear: name it _L (discard) or L_ (fresh variable) +[elpi.linear-variable,elpi.typecheck,elpi,default] +File "./tests/test_API_TC_CS.v", line 43, characters 0-70: +Warning: +There is an hint extern in the typeclass db: +(*external*) (equiv_rewrite_relation R) +[elpi.TC.hints,elpi,default] +File "./tests/test_API_TC_CS.v", line 102, characters 27-28: +Warning: +File "./tests/test_API_TC_CS.v", line 102, characters 27-28 +L is linear: name it _L (discard) or L_ (fresh variable) +[elpi.linear-variable,elpi.typecheck,elpi,default] +File "./tests/test_API_TC_CS.v", line 159, characters 32-33: +Warning: +File "./tests/test_API_TC_CS.v", line 159, characters 32-33 +L is linear: name it _L (discard) or L_ (fresh variable) +[elpi.linear-variable,elpi.typecheck,elpi,default] +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: + %arg1 = const «foo» +foo 3 + : nat +Query assignments: + %arg1 = const «f» + %arg2 = const «f» + %arg3 = const «f» + %arg4 = const «f» + %arg5 = 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: + %arg1 = 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 +«elpi.tests.test_API_notations.abbr» +Query assignments: + A = «elpi.tests.test_API_notations.abbr» + X1_ = X0 + X2_ = c0 \ +X1 c0 + X3_ = c0 \ +X2 c0 +Syntactic constraints: + {c0} : decl c0 `x` X0 ?- evar (X2 c0) (X3 c0) (X2 c0) /* suspended on X2 */ + {c0} : decl c0 `x` X0 + ?- evar (X4 c0) (sort (typ «elpi.tests.test_API_notations.3»)) (X3 c0) /* 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: + X4_ = X0 + X5_ = c0 \ +X1 c0 + X6_ = c0 \ +X2 c0 +Syntactic constraints: + {c0} : decl c0 `x` X0 ?- evar (X2 c0) (X3 c0) (X2 c0) /* suspended on X2 */ + {c0} : decl c0 `x` X0 + ?- evar (X4 c0) (sort (typ «elpi.tests.test_API_notations.6»)) (X3 c0) /* 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 _ => _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 +fun `_` X0 c0 \ + app [global (indt «eq»), X1, fun `x` X2 c1 \ c1, fun `x` X2 c1 \ c1] +Query assignments: + %arg1 = «elpi.tests.test_API_notations.abbr2» + T = fun `_` X0 c0 \ + app [global (indt «eq»), X1, fun `x` X2 c1 \ c1, fun `x` X2 c1 \ c1] + X7_ = X2 +Query assignments: + %arg1 = «elpi.tests.test_API_notations.abbr2» +eq_refl : d = 3 + : d = 3 +eq_refl : e = 4 + : e = 4 +foo = fun a b c : nat => a + b + c + d + e + : nat -> nat -> nat -> nat + +Arguments foo a%nat_scope [b]%nat_scope {c}%nat_scope +Query assignments: + %arg1 = const «foo» +Query assignments: + E = fun `n` (global (indt «nat»)) c0 \ + fun `t` (app [global (const «T2»), c0]) c1 \ + fun `x` + (app [global (const «f3»), c0, app [global (const «h»), c0, c1]]) c2 \ + app + [global (const «g3»), c0, app [global (const «h»), c0, c1], + app + [global (indc «S»), + app + [global (indc «S»), app [global (indc «S»), global (indc «O»)]]]] + TY = prod `n` (global (indt «nat»)) c0 \ + prod `t` (app [global (const «T2»), c0]) c1 \ + prod `x` + (app [global (const «f3»), c0, app [global (const «h»), c0, c1]]) c2 \ + global (indt «nat») + X1_ = X0 +Universe constraints: +UNIVERSES: + {elpi.tests.test_API_elaborate.13 elpi.tests.test_API_elaborate.10 + elpi.tests.test_API_elaborate.9} |= + elpi.tests.test_API_elaborate.13 < elpi.tests.test_API_elaborate.9 + Set <= elpi.tests.test_API_elaborate.10 + Set <= elpi.tests.test_API_elaborate.13 + T2.u0 <= elpi.tests.test_API_elaborate.13 + f3.u0 <= elpi.tests.test_API_elaborate.13 +ALGEBRAIC UNIVERSES: + {elpi.tests.test_API_elaborate.10} +FLEXIBLE UNIVERSES: + elpi.tests.test_API_elaborate.10 +SORTS: + α4 := Type + α5 := Type +WEAK CONSTRAINTS: + + +Query assignments: + E = app + [global (const «bar»), + app + [global (indc «S»), + app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]], + global (const «xxx»)] + TY = prop + X2_ = X0 + X3_ = X1 +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»)] + X4_ = X0 +Universe constraints: +UNIVERSES: + {elpi.tests.test_API_elaborate.19 elpi.tests.test_API_elaborate.18} |= + elpi.tests.test_API_elaborate.19 < elpi.tests.test_API_elaborate.18 + s.u0 <= elpi.tests.test_API_elaborate.19 +ALGEBRAIC UNIVERSES: + {} +FLEXIBLE UNIVERSES: + +SORTS: + α11 := Type +WEAK CONSTRAINTS: + + +raw: +parameter A explicit (global (const «T1»)) c0 \ + inductive ind1 tt + (parameter B explicit (sort (typ «elpi.tests.test_API_elaborate.20»)) + c1 \ arity (sort (typ «elpi.tests.test_API_elaborate.22»))) c1 \ + [constructor K1 + (parameter B explicit (sort (typ «elpi.tests.test_API_elaborate.20»)) + c2 \ arity (prod `_` (app [c1, c2]) c3 \ app [c1, c2])), + constructor K2 + (parameter B explicit (sort (typ «elpi.tests.test_API_elaborate.20»)) + c2 \ + arity (prod `_` (app [global (const «f1»), c0]) c3 \ app [c1, c2])), + constructor K3 + (parameter B explicit (sort (typ «elpi.tests.test_API_elaborate.20»)) + c2 \ + arity (prod `a` (app [global (const «f1»), c0]) c3 \ app [c1, c2]))] +elab1: +parameter A explicit (global (const «T1»)) c0 \ + inductive ind1 tt + (parameter B explicit (sort (typ «elpi.tests.test_API_elaborate.23»)) + c1 \ arity (sort (typ «elpi.tests.test_API_elaborate.25»))) c1 \ + [constructor K1 + (parameter B explicit (sort (typ «elpi.tests.test_API_elaborate.28»)) + c2 \ arity (prod `_` (app [c1, c2]) c3 \ app [c1, c2])), + constructor K2 + (parameter B explicit (sort (typ «elpi.tests.test_API_elaborate.30»)) + c2 \ + arity (prod `_` (app [global (const «f1»), c0]) c3 \ app [c1, c2])), + constructor K3 + (parameter B explicit (sort (typ «elpi.tests.test_API_elaborate.33»)) + c2 \ + arity (prod `a` (app [global (const «f1»), c0]) c3 \ app [c1, c2]))] +elab2: +parameter A explicit (global (const «T1»)) c0 \ + parameter B explicit (sort (typ «ind1.u0»)) c1 \ + inductive ind1 tt (arity (sort (typ «ind1.u1»))) c2 \ + [constructor K1 (arity (prod `_` c2 c3 \ c2)), + constructor K2 + (arity (prod `_` (app [global (const «f1»), c0]) c3 \ c2)), + constructor K3 + (arity (prod `a` (app [global (const «f1»), c0]) c3 \ c2))] +raw: +parameter A explicit (global (const «T1»)) c0 \ + record ind2 (sort (typ «f1.u0»)) Build_ind2 + (field [coercion off, canonical tt] fld1 (app [global (const «f1»), c0]) + c1 \ + field [coercion off, canonical tt] fld2 + (app [global (indt «eq»), app [global (const «f1»), c0], c1, c1]) + c2 \ end-record) +elab1: +parameter A explicit (global (const «T1»)) c0 \ + record ind2 (sort (typ «elpi.tests.test_API_elaborate.38»)) Build_ind2 + (field [coercion off, canonical tt] fld1 (app [global (const «f1»), c0]) + c1 \ + field [coercion off, canonical tt] fld2 + (app [global (indt «eq»), app [global (const «f1»), c0], c1, c1]) + c2 \ end-record) +elab2: +parameter A explicit (global (const «T1»)) c0 \ + record ind2 (sort (typ «ind2.u0»)) Build_ind2 + (field [coercion off, canonical tt] fld1 (app [global (const «f1»), c0]) + c1 \ + field [coercion off, canonical tt] fld2 + (app [global (indt «eq»), app [global (const «f1»), c0], c1, c1]) + c2 \ end-record) +raw: +record ind3 (sort (typ «elpi.tests.test_API_elaborate.41»)) Build_ind3 + (field [coercion reversible, canonical tt] fld3 + (sort (typ «elpi.tests.test_API_elaborate.40»)) c0 \ + field [coercion off, canonical tt] fld4 + (prod `x` c0 c1 \ app [global (indt «eq»), c0, c1, c1]) c1 \ end-record) +elab1: +record ind3 (sort (typ «elpi.tests.test_API_elaborate.42»)) Build_ind3 + (field [coercion reversible, canonical tt] fld3 + (sort (typ «elpi.tests.test_API_elaborate.43»)) c0 \ + field [coercion off, canonical tt] fld4 + (prod `x` c0 c1 \ app [global (indt «eq»), c0, c1, c1]) c1 \ end-record) +elab2: +record ind3 (sort (typ «ind3.u0»)) Build_ind3 + (field [coercion reversible, canonical tt] fld3 (sort (typ «ind3.u1»)) + c0 \ + field [coercion off, canonical tt] fld4 + (prod `x` c0 c1 \ app [global (indt «eq»), c0, c1, c1]) c1 \ end-record) +forall x : ind3, x -> Prop + : Type +Query assignments: + E = app + [global (const «op»), global (const «c»), + app + [global (indc «S»), + app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]]] + TY = app [global (const «field»), global (const «c»)] +Universe constraints: +UNIVERSES: + {elpi.tests.test_API_elaborate.50 elpi.tests.test_API_elaborate.49} |= + elpi.tests.test_API_elaborate.50 < elpi.tests.test_API_elaborate.49 + s.u0 <= elpi.tests.test_API_elaborate.50 +ALGEBRAIC UNIVERSES: + {} +FLEXIBLE UNIVERSES: + +SORTS: + α21 := Type +WEAK CONSTRAINTS: + + +unknown_gref +«elpi.tests.test_API_elaborate.52» «elpi.tests.test_API_elaborate.52» +File "./tests/test_API_elaborate.v", line 160, characters 19-20: +Warning: +File "./tests/test_API_elaborate.v", line 160, characters 19-20 +Y is linear: name it _Y (discard) or Y_ (fresh variable) +[elpi.linear-variable,elpi.typecheck,elpi,default] +File "./tests/test_API_elaborate.v", line 170, characters 33-34: +Warning: +File "./tests/test_API_elaborate.v", line 170, characters 33-34 +Y is linear: name it _Y (discard) or Y_ (fresh variable) +[elpi.linear-variable,elpi.typecheck,elpi,default] +Query q X0 +Query r X0 +Result r 1 +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» +elpi.tests.test_API_module.X.i +[elpi, tests, test_API_module, X, Y] +[elpi, tests, test_API_module, X, Y] +Query assignments: + %arg1 = elpi.tests.test_API_module.X.i + %arg2 = elpi.tests.test_API_module.X.i + %arg3 = elpi.tests.test_API_module.X.Y.i + %arg4 = [elpi, tests, test_API_module, X, Y] + %arg5 = [elpi, tests, test_API_module, X, Y] + 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» + XYi = «X.Y.i» + XYr = «X.Y.i_rect» + Xi = «X.i» +Query assignments: + I = «Y.i» + ID = j + J = «Y.j» + MP = «elpi.tests.test_API_module.Y» + P = [elpi, tests, test_API_module, Y] +Query assignments: + Mp_ta = «elpi.tests.test_API_module.TA» +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» + X1_ = «A.i.u0» + X2_ = «elpi.tests.test_API_module.11» +Universe constraints: +UNIVERSES: + +ALGEBRAIC UNIVERSES: + {elpi.tests.test_API_module.11 A.i.u0} +FLEXIBLE UNIVERSES: + elpi.tests.test_API_module.11 + A.i.u0 +SORTS: + +WEAK CONSTRAINTS: + + +Module +A + : TA +:= Struct + Definition x + Module B + Definition z + Inductive i1 + Definition i1_rect + Definition i1_ind + Definition i1_rec + Definition i1_sind + Definition i + End +A.z + : nat +A.i + : Type +*** [ A.i : Type ] +Query assignments: + A = «elpi.tests.test_API_module.a» + MP_TA = «elpi.tests.test_API_module.TA» + TF = «elpi.tests.test_API_module.TF» +Query assignments: + %arg1 = «elpi.tests.test_API_module.a» + %arg2 = const const EXN PRINTING: Not_found + MP_TA = «elpi.tests.test_API_module.TA» + MP_TF = «elpi.tests.test_API_module.TF» +Module +F + : Funsig (a:TA) Funsig (b:TA) TF +:= Functor (a:TA) Functor (b:TA) Struct Definition w : nat. End +Module B : Sig Parameter w : nat. End := (F A A) +*** [ B.w : nat ] +Query assignments: + MP_TA = «elpi.tests.test_API_module.TA» +Module Type TB = Funsig (A:TA) Sig End +Query assignments: + A = «elpi.tests.test_API_module.A» +Query assignments: + %arg1 = «elpi.tests.test_API_module.A» +Module IA := Struct Definition z : nat. Definition i : Type. End +Query assignments: + %arg1 = «elpi.tests.test_API_module.IA» +Query assignments: + %arg1 = «elpi.tests.test_API_module.IA» +i + : Type +Query assignments: + %arg1 = «elpi.tests.test_API_module.TA» +Query assignments: + %arg1 = «elpi.tests.test_API_module.TA» +Module Type ITA = Sig Parameter z : nat. Parameter i : Type. End +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» +File "./tests/test_API_module.v", line 7, characters 69-70: +Warning: +File "./tests/test_API_module.v", line 7, characters 69-70 +L is linear: name it _L (discard) or L_ (fresh variable) +[elpi.linear-variable,elpi.typecheck,elpi,default] +File "./tests/test_API_module.v", line 50, characters 26-28: +Warning: +File "./tests/test_API_module.v", line 50, characters 26-28 +ID is linear: name it _ID (discard) or ID_ (fresh variable) +[elpi.linear-variable,elpi.typecheck,elpi,default] +File "./tests/test_API_module.v", line 49, characters 28-29: +Warning: +File "./tests/test_API_module.v", line 49, characters 28-29 +P is linear: name it _P (discard) or P_ (fresh variable) +[elpi.linear-variable,elpi.typecheck,elpi,default] +File "./tests/test_API_module.v", line 77, characters 21-22: +Warning: +File "./tests/test_API_module.v", line 77, characters 21-22 +L is linear: name it _L (discard) or L_ (fresh variable) +[elpi.linear-variable,elpi.typecheck,elpi,default] +File "./tests/test_API_module.v", line 67, characters 27-32: +Warning: +File "./tests/test_API_module.v", line 67, characters 27-32 +MP_TA is linear: name it _MP_TA (discard) or MP_TA_ (fresh variable) +[elpi.linear-variable,elpi.typecheck,elpi,default] +File "./tests/test_API_module.v", line 102, characters 31-36: +Warning: +File "./tests/test_API_module.v", line 102, characters 31-36 +MP_TA is linear: name it _MP_TA (discard) or MP_TA_ (fresh variable) +[elpi.linear-variable,elpi.typecheck,elpi,default] +File "./tests/test_API_module.v", line 101, characters 27-32: +Warning: +File "./tests/test_API_module.v", line 101, characters 27-32 +MP_TF is linear: name it _MP_TF (discard) or MP_TF_ (fresh variable) +[elpi.linear-variable,elpi.typecheck,elpi,default] +File "./tests/test_File3.v", line 18, characters 2-16: +Warning: This command does not support this attribute: phase. +[unsupported-attributes,parsing,default] +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 +opaque_3 : nat + +opaque_3 is not universe polymorphic +opaque_3 is opaque +Expands to: Constant elpi.tests.test_API_section.opaque_3 +foo : nat + : nat +bar : bool -> nat + : bool -> 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» + TY = prod `n` (global (indt «nat»)) c0 \ + prod `m` (global (indt «nat»)) c1 \ global (indt «nat») +c2 +global (indt «nat») +z +nat +Query assignments: + %arg1 = c0 \ c1 \ c2 \ +z + %arg2 = c0 \ c1 \ c2 \ +nat + T = global (indt «nat») +c2 +global (indt «nat») +z +nat +Query assignments: + %arg1 = c0 \ c1 \ c2 \ +z + %arg2 = c0 \ c1 \ c2 \ +nat + T = global (indt «nat») +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" +Unable to unify "bool" with "nat". +Query assignments: + Msg = Unable to unify "bool" with "nat". +Query assignments: + Cons = global (indc «cons») + GRCons = indc «cons» + GRList = indt «list» + GRNat = indt «nat» + GRNil = indc «nil» + GRZero = indc «O» + L = app + [global (indc «cons»), global (indt «nat»), global (indc «O»), + app [global (indc «nil»), global (indt «nat»)]] + LE = app + [global (indc «cons»), global (indt «nat»), global (indc «O»), + app [global (indc «nil»), global (indt «nat»)]] + List = global (indt «list») + Nat = global (indt «nat») + Nil = global (indc «nil») + Zero = global (indc «O») +Universe constraints: +UNIVERSES: + {elpi.tests.test_API_typecheck.4 elpi.tests.test_API_typecheck.3 + elpi.tests.test_API_typecheck.2 elpi.tests.test_API_typecheck.1} |= + elpi.tests.test_API_typecheck.3 < elpi.tests.test_API_typecheck.2 + elpi.tests.test_API_typecheck.4 < elpi.tests.test_API_typecheck.1 + Set <= elpi.tests.test_API_typecheck.3 + Set <= elpi.tests.test_API_typecheck.4 + elpi.tests.test_API_typecheck.3 <= list.u0 + elpi.tests.test_API_typecheck.4 <= list.u0 +ALGEBRAIC UNIVERSES: + {} +FLEXIBLE UNIVERSES: + +SORTS: + α1 := Type + α2 := Type +WEAK CONSTRAINTS: + + +global (indt «nat») +Query assignments: + T = global (indt «nat») + X1_ = global (indt «nat») + X2_ = global (indt «nat») +Universe constraints: +UNIVERSES: + {elpi.tests.test_API_typecheck.9 elpi.tests.test_API_typecheck.8 + elpi.tests.test_API_typecheck.7 elpi.tests.test_API_typecheck.6 + elpi.tests.test_API_typecheck.5} |= + Set < elpi.tests.test_API_typecheck.7 + elpi.tests.test_API_typecheck.8 < elpi.tests.test_API_typecheck.6 + elpi.tests.test_API_typecheck.9 < elpi.tests.test_API_typecheck.5 + Set <= elpi.tests.test_API_typecheck.8 + Set <= elpi.tests.test_API_typecheck.9 + elpi.tests.test_API_typecheck.8 <= list.u0 + elpi.tests.test_API_typecheck.9 <= list.u0 +ALGEBRAIC UNIVERSES: + {} +FLEXIBLE UNIVERSES: + +SORTS: + α3 := Type + α4 := Type + α5 := Type +WEAK CONSTRAINTS: + + +«elpi.tests.test_API_typecheck.10» +Query assignments: + U = «elpi.tests.test_API_typecheck.10» +Universe constraints: +UNIVERSES: + {elpi.tests.test_API_typecheck.10} |= + Set <= elpi.tests.test_API_typecheck.10 +ALGEBRAIC UNIVERSES: + {elpi.tests.test_API_typecheck.10} +FLEXIBLE UNIVERSES: + elpi.tests.test_API_typecheck.10 +SORTS: + +WEAK CONSTRAINTS: + + +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). +File "./tests/test_API_typecheck.v", line 59, characters 2-4: +Warning: +File "./tests/test_API_typecheck.v", line 59, characters 2-4 +LE is linear: name it _LE (discard) or LE_ (fresh variable) +[elpi.linear-variable,elpi.typecheck,elpi,default] +d1 + : nat +d2 + : nat +i1 + : Prop +i2 + : Prop +k1 + : i1 +k2 + : i2 +r1 + : Set +r2 + : Type +f1 + : r1 -> nat +f2 + : r2 -> nat +Debug: +----<<---- enter: +coq.say raw: + (parameter A1 maximal (sort (typ «elpi.tests.test_arg_HOAS.2»)) c0 \ + parameter A2 explicit c0 c1 \ + inductive foo1 tt (parameter B1 explicit (sort (typ «elpi.tests.test_arg_HOAS.3»)) c2 \ parameter B2 explicit (sort (typ «elpi.tests.test_arg_HOAS.4»)) c3 \ arity @@ -8365,6 +11345,42 @@ If you instead put X1 explicitly in Prop, set Dependent Proposition Eliminators around the declaration for full backwards compatibility. [automatic-prop-lowering,deprecated-since-8.20,deprecated,default] +normP : +forall {T : Type} {e : T} {op : T -> T -> T} {gamma : list T} {t1 t2 : lang}, +(forall a b c : T, op a (op b c) = op (op a b) c) -> +(forall a : T, op e a = a) -> +(forall a : T, op a e = a) -> +norm t1 = norm t2 -> interp T e op gamma t1 = interp T e op gamma t2 + +normP is not universe polymorphic +Arguments normP {T}%type_scope {e} {op}%function_scope + {gamma}%list_scope {t1 t2} (p1 p2 p3)%function_scope + H +normP is transparent +Expands to: Constant elpi_examples_stdlib.example_reflexive_tactic.normP +(fun x y z t : Z => + normP Z.add_assoc Z.add_0_l Z.add_0_r + (eq_refl + <: + norm (add (add (var 0) (var 1)) (add (add (var 2) zero) (var 3))) = + norm (add (add (var 0) (add (var 1) (var 2))) (var 3)))) +Debug: In environment +x, y, z, t : Z +Unable to unify "var 1" with + "var 0". +Raised at Loc.raise in file "lib/loc.ml", line 101, characters 16-23 +Called from Unification.unify_0_with_initial_metas in file "pretyping/unification.ml", line 1281, characters 13-48 +Re-raised at Exninfo.iraise in file "clib/exninfo.ml", line 81, characters 4-38 +Called from Unification.unify_with_eta in file "pretyping/unification.ml", line 1320, characters 14-48 +Called from Unification.merge_instances in file "pretyping/unification.ml", line 1333, characters 23-64 +Called from Unification.w_merge.w_merge_rec in file "pretyping/unification.ml", line 1554, characters 14-63 +Called from Unification.w_merge in file "pretyping/unification.ml", lines 1608-1610, characters 4-35 +Called from Unification.w_unify_core_0 in file "pretyping/unification.ml", line 1661, characters 12-65 +Called from Clenv.clenv_unify in file "proofs/clenv.ml", line 298, characters 25-73 +Called from Clenv.res_pf.(fun) in file "proofs/clenv.ml", line 771, characters 16-56 +Called from Proofview.Goal.enter.f in file "engine/proofview.ml", line 1136, characters 40-46 +Called from Proofview.Goal.enter.(fun) in file "engine/proofview.ml", line 1141, characters 10-34 + z : nat it = elpi_subproof @@ -8406,179 +11422,1919 @@ app [global (const «Nat.add»), c1, app [global (indc «S»), global (indc «O»)]]], c0] -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 \ +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») +Query assignments: + GR = «empty_nat» + TY = global (indt «nat») +Query assignments: + GR1 = indc «Vector.nil» + GR2 = indt «nat» + GR3 = const «A» +add_equal +Query assignments: + %arg1 = add_equal + %arg2 = add_equal + 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 + 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_stdlib.test_API_env.add_equal +«myfalse» +Query assignments: + F = indt «False» + GR = «myfalse» +myfalse + : False +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» + X1_ = «eq_class.u0» + X2_ = «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 +Arguments eq_f T%type_scope record +Arguments eq_proof T%type_scope record +fun x : eq_class nat => x : bool + : eq_class nat -> bool +p <- eq_proof ( xxx ) +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» + X3_ = «prim_eq_class.u0» + X4_ = «prim_eq_class.u1» +Universe constraints: +UNIVERSES: + +ALGEBRAIC UNIVERSES: + {prim_eq_class.u1 prim_eq_class.u0} +FLEXIBLE UNIVERSES: + prim_eq_class.u1 + prim_eq_class.u0 +SORTS: + +WEAK CONSTRAINTS: + + +fun r : prim_eq_class nat => +eq_refl : r = {| prim_eq_f := r; prim_eq_proof := prim_eq_proof _ r |} + : forall r : prim_eq_class nat, + r = {| prim_eq_f := r; prim_eq_proof := prim_eq_proof _ r |} +(* {} |= prim_eq_class.u1 <= eq.u0 *) +fun `r` (app [global (indt «prim_eq_class»), global (indt «nat»)]) c0 \ + app [primitive (proj elpi_tests_stdlib.test_API_env.prim_eq_f 1), c0] +Query assignments: + C = «pc» +Universe constraints: +UNIVERSES: + +ALGEBRAIC UNIVERSES: + {myind.u0} +FLEXIBLE UNIVERSES: + myind.u0 +SORTS: + +WEAK CONSTRAINTS: + + +myind true false : Prop + : Prop +K2 true : myind true true + : myind true true +myind1 true false : Prop + : Prop +K21 true : myind1 true true + : myind1 true true +Query assignments: + X6_ = «nuind.u0» + X7_ = «nuind.u1» +Universe constraints: +UNIVERSES: + +ALGEBRAIC UNIVERSES: + {nuind.u1 nuind.u0} +FLEXIBLE UNIVERSES: + nuind.u1 + nuind.u0 +SORTS: + +WEAK CONSTRAINTS: + + +fun x : nuind nat 3 false => +match x in (nuind _ _ b) return (b = b) with +| k1 _ _ => eq_refl : true = true +| k2 _ _ x0 => (fun _ : nuind nat 1 false => eq_refl : false = false) x0 +end + : nuind nat 3 false -> false = false +c0 global (indt «nat») +Query assignments: + T = global (indt «nat») +Query assignments: + D = parameter A X0 (sort (typ «tx.u0»)) c0 \ + inductive tx X1 + (parameter y X2 (global (indt «nat»)) c1 \ + arity (prod `_` (global (indt «bool»)) c2 \ sort (typ «tx.u1»))) c1 \ + [constructor K1x + (parameter y X3 (global (indt «nat»)) c2 \ + arity + (prod `x` c0 c3 \ + prod `n` (global (indt «nat»)) c4 \ + prod `p` + (app + [global (indt «eq»), global (indt «nat»), + app [global (indc «S»), c4], c2]) c5 \ + prod `e` (app [c1, c4, global (indc «true»)]) c6 \ + app [c1, c2, global (indc «true»)])), + constructor K2x + (parameter y X4 (global (indt «nat»)) c2 \ + arity (app [c1, c2, global (indc «false»)]))] + X8_ = «tx.u0» + X9_ = «tx.u1» +Universe constraints: +UNIVERSES: + {elpi_tests_stdlib.test_API_env.18 elpi_tests_stdlib.test_API_env.17 + elpi_tests_stdlib.test_API_env.16 elpi_tests_stdlib.test_API_env.15 + elpi_tests_stdlib.test_API_env.14 elpi_tests_stdlib.test_API_env.13 + elpi_tests_stdlib.test_API_env.11} |= + tx.u0 < elpi_tests_stdlib.test_API_env.11 + tx.u1 < elpi_tests_stdlib.test_API_env.13 + Set <= elpi_tests_stdlib.test_API_env.13 + Set <= elpi_tests_stdlib.test_API_env.14 + Set <= elpi_tests_stdlib.test_API_env.15 + Set <= elpi_tests_stdlib.test_API_env.16 + Set <= elpi_tests_stdlib.test_API_env.17 + Set <= elpi_tests_stdlib.test_API_env.18 + tx.u0 <= elpi_tests_stdlib.test_API_env.14 + tx.u1 <= elpi_tests_stdlib.test_API_env.14 + elpi_tests_stdlib.test_API_env.14 <= tx.u1 +ALGEBRAIC UNIVERSES: + {tx.u1 tx.u0} +FLEXIBLE UNIVERSES: + tx.u1 + tx.u0 +SORTS: + α2 := Type + α3 := Type + α4 := Type + α5 := Type +WEAK CONSTRAINTS: + + +Query assignments: + D = parameter A explicit (sort (typ «elpi_tests_stdlib.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_stdlib.test_API_env.22»)) c4 \ + prod `_` c4 c5 \ sort (typ «elpi_tests_stdlib.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_stdlib.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_stdlib.test_API_env.22»)) c4 \ + prod `_` c4 c5 \ sort (typ «elpi_tests_stdlib.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_stdlib.test_API_env.26» + UA = «elpi_tests_stdlib.test_API_env.20» + UB1 = «ind1.u0» + UB2 = «ind1.u0» + UB3 = «ind1.u0» + UC = «elpi_tests_stdlib.test_API_env.22» +Universe constraints: +UNIVERSES: + {elpi_tests_stdlib.test_API_env.26} |= + Set <= elpi_tests_stdlib.test_API_env.26 + ind1.u0 <= elpi_tests_stdlib.test_API_env.26 +ALGEBRAIC UNIVERSES: + {} +FLEXIBLE UNIVERSES: + +SORTS: + +WEAK CONSTRAINTS: + + +Query assignments: + D = parameter A explicit (sort (typ «elpi_tests_stdlib.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_stdlib.test_API_env.22»)) c4 \ + prod `_` c4 c5 \ sort (typ «elpi_tests_stdlib.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 `_` (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 \ + (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_stdlib.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_stdlib.test_API_env.22»)) c4 \ + prod `_` c4 c5 \ sort (typ «elpi_tests_stdlib.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 `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 + (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_stdlib.test_API_env.27» + UA = «elpi_tests_stdlib.test_API_env.20» + UB1 = «ind1.u0» + UB2 = «ind1.u0» + UB3 = «ind1.u0» + UC = «elpi_tests_stdlib.test_API_env.22» +Universe constraints: +UNIVERSES: + {elpi_tests_stdlib.test_API_env.27} |= + Set <= elpi_tests_stdlib.test_API_env.27 + ind1.u0 <= elpi_tests_stdlib.test_API_env.27 +ALGEBRAIC UNIVERSES: + {} +FLEXIBLE UNIVERSES: + +SORTS: + +WEAK CONSTRAINTS: + -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] -File "./tests/test_synterp.v", line 38, characters 20-21: +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» +{{ nat; S; }} +{{ nat; S; }} +Query assignments: + GR = const «Nat.add» + L = {{ nat; S; }} + S = {{ nat; S; }} +{{ X.a; }} {{ X.a; Nat.add; nat; }} +{{ X.a; }} {{ X.a; Nat.add; nat; O; S; }} +Query assignments: + %arg1 = const «X.a» + AllL = {{ X.a; Nat.add; nat; }} + AllS = {{ X.a; Nat.add; nat; O; S; }} + GR = const «X.b» + L = {{ X.a; }} + M = «elpi_tests_stdlib.test_API_env.HOAS.X» + S = {{ X.a; }} +Query assignments: + %arg1 = 3372 + 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; +...TRUNCATED BY DUNE... + 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; 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; 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; }} + T = 3.135490 +Query assignments: + %arg1 = 4 + S = {{ Nat.add; eq; nat; O; }} + T = prod `x` (global (indt «nat»)) c0 \ + app + [global (indt «eq»), X0 c0, + app [global (const «Nat.add»), c0, global (indc «O»)], c0] + X10_ = 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_stdlib.test_API_env.30»)) (X1 c0) /* suspended on X2, X1 */ +Universe constraints: +UNIVERSES: + {elpi_tests_stdlib.test_API_env.30} |= +ALGEBRAIC UNIVERSES: + {} +FLEXIBLE UNIVERSES: + +SORTS: + α13 +WEAK CONSTRAINTS: + + +Query assignments: + Decl = record Rec (sort (typ «elpi_tests_stdlib.test_API_env.31»)) BuildRec + (field [] f (sort (typ «elpi_tests_stdlib.test_API_env.32»)) c0 \ + end-record) + X11_ = «elpi_tests_stdlib.test_API_env.31» + X12_ = «elpi_tests_stdlib.test_API_env.32» +Universe constraints: +UNIVERSES: + {elpi_tests_stdlib.test_API_env.32 elpi_tests_stdlib.test_API_env.31} |= +ALGEBRAIC UNIVERSES: + {elpi_tests_stdlib.test_API_env.32 elpi_tests_stdlib.test_API_env.31} +FLEXIBLE UNIVERSES: + elpi_tests_stdlib.test_API_env.32 + elpi_tests_stdlib.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_stdlib.test_API_env.33 +elpi_tests_stdlib.test_API_env.34} + : Test.Rec@{elpi_tests_stdlib.test_API_env.33 + elpi_tests_stdlib.test_API_env.34} -> + Type@{elpi_tests_stdlib.test_API_env.34} +(* {elpi_tests_stdlib.test_API_env.34 elpi_tests_stdlib.test_API_env.33} |= + elpi_tests_stdlib.test_API_env.34 < elpi_tests_stdlib.test_API_env.33 *) +Query assignments: + LP = «Coq.ZArith.Znat» + MP = «Coq.ZArith.Znat.N2Z» +File "./tests-stdlib/test_API_env.v", line 26, characters 24-26: Warning: -File "./tests/test_synterp.v", line 38, characters 20-21 -X is linear: name it _X (discard) or X_ (fresh variable) +File "./tests-stdlib/test_API_env.v", line 26, characters 24-26 +TY is linear: name it _TY (discard) or TY_ (fresh variable) [elpi.linear-variable,elpi.typecheck,elpi,default] -File "./tests/test_synterp.v", line 41, characters 12-13: +File "./tests-stdlib/test_API_env.v", line 82, characters 23-25: Warning: -File "./tests/test_synterp.v", line 41, characters 12-13 -X is linear: name it _X (discard) or X_ (fresh variable) +File "./tests-stdlib/test_API_env.v", line 82, characters 23-25 +GR is linear: name it _GR (discard) or GR_ (fresh variable) +[elpi.linear-variable,elpi.typecheck,elpi,default] +File "./tests-stdlib/test_API_env.v", line 215, characters 71-72: +Warning: +File "./tests-stdlib/test_API_env.v", line 215, characters 71-72 +U is linear: name it _U (discard) or U_ (fresh variable) +[elpi.linear-variable,elpi.typecheck,elpi,default] +File "./tests-stdlib/test_API_env.v", line 209, characters 39-41: +Warning: +File "./tests-stdlib/test_API_env.v", line 209, characters 39-41 +UA is linear: name it _UA (discard) or UA_ (fresh variable) +[elpi.linear-variable,elpi.typecheck,elpi,default] +File "./tests-stdlib/test_API_env.v", line 212, characters 45-48: +Warning: +File "./tests-stdlib/test_API_env.v", line 212, characters 45-48 +UB1 is linear: name it _UB1 (discard) or UB1_ (fresh variable) +[elpi.linear-variable,elpi.typecheck,elpi,default] +File "./tests-stdlib/test_API_env.v", line 218, characters 40-43: +Warning: +File "./tests-stdlib/test_API_env.v", line 218, characters 40-43 +UB2 is linear: name it _UB2 (discard) or UB2_ (fresh variable) +[elpi.linear-variable,elpi.typecheck,elpi,default] +File "./tests-stdlib/test_API_env.v", line 225, characters 40-43: +Warning: +File "./tests-stdlib/test_API_env.v", line 225, characters 40-43 +UB3 is linear: name it _UB3 (discard) or UB3_ (fresh variable) +[elpi.linear-variable,elpi.typecheck,elpi,default] +File "./tests-stdlib/test_API_env.v", line 215, characters 34-36: +Warning: +File "./tests-stdlib/test_API_env.v", line 215, characters 34-36 +UC is linear: name it _UC (discard) or UC_ (fresh variable) +[elpi.linear-variable,elpi.typecheck,elpi,default] +File "./tests-stdlib/test_API_env.v", line 246, characters 71-72: +Warning: +File "./tests-stdlib/test_API_env.v", line 246, characters 71-72 +U is linear: name it _U (discard) or U_ (fresh variable) +[elpi.linear-variable,elpi.typecheck,elpi,default] +File "./tests-stdlib/test_API_env.v", line 240, characters 39-41: +Warning: +File "./tests-stdlib/test_API_env.v", line 240, characters 39-41 +UA is linear: name it _UA (discard) or UA_ (fresh variable) +[elpi.linear-variable,elpi.typecheck,elpi,default] +File "./tests-stdlib/test_API_env.v", line 243, characters 45-48: +Warning: +File "./tests-stdlib/test_API_env.v", line 243, characters 45-48 +UB1 is linear: name it _UB1 (discard) or UB1_ (fresh variable) +[elpi.linear-variable,elpi.typecheck,elpi,default] +File "./tests-stdlib/test_API_env.v", line 249, characters 40-43: +Warning: +File "./tests-stdlib/test_API_env.v", line 249, characters 40-43 +UB2 is linear: name it _UB2 (discard) or UB2_ (fresh variable) +[elpi.linear-variable,elpi.typecheck,elpi,default] +File "./tests-stdlib/test_API_env.v", line 256, characters 40-43: +Warning: +File "./tests-stdlib/test_API_env.v", line 256, characters 40-43 +UB3 is linear: name it _UB3 (discard) or UB3_ (fresh variable) +[elpi.linear-variable,elpi.typecheck,elpi,default] +File "./tests-stdlib/test_API_env.v", line 246, characters 34-36: +Warning: +File "./tests-stdlib/test_API_env.v", line 246, characters 34-36 +UC is linear: name it _UC (discard) or UC_ (fresh variable) +[elpi.linear-variable,elpi.typecheck,elpi,default] +File "./tests-stdlib/test_API_env.v", line 273, characters 39-41: +Warning: +File "./tests-stdlib/test_API_env.v", line 273, characters 39-41 +UP is linear: name it _UP (discard) or UP_ (fresh variable) +[elpi.linear-variable,elpi.typecheck,elpi,default] +File "./tests-stdlib/test_API_env.v", line 275, characters 30-32: +Warning: +File "./tests-stdlib/test_API_env.v", line 275, characters 30-32 +UR is linear: name it _UR (discard) or UR_ (fresh variable) +[elpi.linear-variable,elpi.typecheck,elpi,default] +File "./tests-stdlib/test_API_env.v", line 291, characters 39-41: +Warning: +File "./tests-stdlib/test_API_env.v", line 291, characters 39-41 +UP is linear: name it _UP (discard) or UP_ (fresh variable) +[elpi.linear-variable,elpi.typecheck,elpi,default] +File "./tests-stdlib/test_API_env.v", line 293, characters 30-32: +Warning: +File "./tests-stdlib/test_API_env.v", line 293, characters 30-32 +UR is linear: name it _UR (discard) or UR_ (fresh variable) [elpi.linear-variable,elpi.typecheck,elpi,default] Query assignments: P = /build/reproducible-path/coq-elpi-2.5.0/_build/default/elpi/elpi_elaborator.elpi @@ -8587,58 +13343,6 @@ File "./tests/test_query_extra_dep.v", line 7, characters 44-45 P is linear: name it _P (discard) or P_ (fresh variable) [elpi.linear-variable,elpi.typecheck,elpi,default] -test2 -test1 -str hello -test1 -too many arguments -test1 -str hello my -str Dear -test1 -too many arguments -[attribute elpi.loc - (leaf-loc - File "./tests/test_vernacular1.v", line 47, column 5, characters 953-961:), - attribute elpi.phase (leaf-str interp), attribute foo (leaf-str bar)] -[get-option elpi.loc - File "./tests/test_vernacular1.v", line 47, column 5, characters 953-961:, - get-option elpi.phase interp, get-option foo bar] -[attribute elpi.loc - (leaf-loc - File "./tests/test_vernacular1.v", line 51, column 0, characters 987-1014:), - 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 51, column 0, characters 987-1014:, - get-option elpi.phase interp, get-option foo bar, get-option poly tt] -[attribute elpi.loc - (leaf-loc - File "./tests/test_vernacular1.v", line 52, column 0, characters 1015-1055:), - 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 52, column 0, characters 1015-1055:, - get-option elpi.phase interp, get-option foo bar, get-option poly tt] -Query assignments: - X = 3 -app [global (const «Nat.mul»), X0, X1] type -File "./tests/test_vernacular1.v", line 5, characters 0-61: -Warning: -Undeclared globals: -- File "./tests/test_vernacular1.v", line 6, column 29, characters 112-117: foo. -Please add the following text to your program: -type foo list argument -> prop. -[elpi.missing-types,elpi.typecheck,elpi,default] -File "./tests/test_vernacular1.v", line 46, characters 2-11: -Warning: This command does not support this attribute: foo. -[unsupported-attributes,parsing,default] -File "./tests/test_vernacular1.v", line 65, characters 26-27: -Warning: -File "./tests/test_vernacular1.v", line 65, characters 26-27 -X is linear: name it _X (discard) or X_ (fresh variable) -[elpi.linear-variable,elpi.typecheck,elpi,default] Query assignments: B = fix `add` 0 (prod `n` (global (indt «nat»)) c0 \ @@ -9277,18 +13981,277 @@ File "./tests/test_elaborator.v", line 157, characters 41-42 X is linear: name it _X (discard) or X_ (fresh variable) [elpi.linear-variable,elpi.typecheck,elpi,default] -File "./apps/NES/theories/NES.v", line 39, characters 0-42: +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 +a + : nat +L= [p 1] +File "./tests/test_synterp.v", line 38, characters 20-21: +Warning: +File "./tests/test_synterp.v", line 38, characters 20-21 +X is linear: name it _X (discard) or X_ (fresh variable) +[elpi.linear-variable,elpi.typecheck,elpi,default] +File "./tests/test_synterp.v", line 41, characters 12-13: +Warning: +File "./tests/test_synterp.v", line 41, characters 12-13 +X is linear: name it _X (discard) or X_ (fresh variable) +[elpi.linear-variable,elpi.typecheck,elpi,default] +test2 +test1 +str hello +test1 +too many arguments +test1 +str hello my +str Dear +test1 +too many arguments +[attribute elpi.loc + (leaf-loc + File "./tests/test_vernacular1.v", line 47, column 5, characters 953-961:), + attribute elpi.phase (leaf-str interp), attribute foo (leaf-str bar)] +[get-option elpi.loc + File "./tests/test_vernacular1.v", line 47, column 5, characters 953-961:, + get-option elpi.phase interp, get-option foo bar] +[attribute elpi.loc + (leaf-loc + File "./tests/test_vernacular1.v", line 51, column 0, characters 987-1014:), + 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 51, column 0, characters 987-1014:, + get-option elpi.phase interp, get-option foo bar, get-option poly tt] +[attribute elpi.loc + (leaf-loc + File "./tests/test_vernacular1.v", line 52, column 0, characters 1015-1055:), + 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 52, column 0, characters 1015-1055:, + get-option elpi.phase interp, get-option foo bar, get-option poly tt] +Query assignments: + X = 3 +app [global (const «Nat.mul»), X0, X1] type +File "./tests/test_vernacular1.v", line 5, characters 0-61: Warning: Undeclared globals: -- File "/build/reproducible-path/coq-elpi-2.5.0/apps/NES/elpi/nes_interp.elpi", line 6, column 24, characters 152-161: ns. +- File "./tests/test_vernacular1.v", line 6, column 29, characters 112-117: foo. Please add the following text to your program: -type ns list string -> modpath -> prop. +type foo list argument -> prop. [elpi.missing-types,elpi.typecheck,elpi,default] -File "./apps/eltac/theories/apply.v", line 15, characters 16-19: +File "./tests/test_vernacular1.v", line 46, characters 2-11: +Warning: This command does not support this attribute: foo. +[unsupported-attributes,parsing,default] +File "./tests/test_vernacular1.v", line 65, characters 26-27: Warning: -File "./apps/eltac/theories/apply.v", line 15, characters 16-19 -Ctx is linear: name it _Ctx (discard) or Ctx_ (fresh variable) +File "./tests/test_vernacular1.v", line 65, characters 26-27 +X is linear: name it _X (discard) or X_ (fresh variable) [elpi.linear-variable,elpi.typecheck,elpi,default] +(true && false)%bool + : bool +natmul R n : ringType_sort R + : ringType_sort R +natmul R n : ringType_sort R + : ringType_sort R +Cats.And.Dogs.x = 42 + : nat +Foo.x = 3 + : nat +Foo.x = 3 + : nat +Foo.x2 = 4 + : nat +eq_refl : Foo.x = 5 + : Foo.x = 5 +A.B.c : nat + +A.B.c is not universe polymorphic +A.B.c is transparent +Expands to: Constant elpi.apps.NES.tests.test_NES.A_aux_4.A.B.c +A1.B1.d : nat + +A1.B1.d is not universe polymorphic +A1.B1.d is transparent +Expands to: Constant elpi.apps.NES.tests.test_NES.A1_aux_6.A1.B1.d +A1.B1.c : nat + +A1.B1.c is not universe polymorphic +A1.B1.c is transparent +Expands to: Constant elpi.apps.NES.tests.test_NES.A1_aux_5.A1.B1.c +x = 5 + : nat +x2 = 4 + : nat +B1.c = 1 + : nat +B1.d = 1 + : nat +d = 1 + : nat +A2.B2.f = 2 + : nat +1 + : nat nabla c1 \ seal (goal [decl c1 `P` (sort prop)] (app [global (const «id»), X0, X1]) @@ -10510,7 +15473,7 @@ Debug: rid:4 step:103 gid:241 user:rule:backchain = success -Debug: }}} -> (0.001s) +Debug: }}} -> (0.009s) Debug: run 104 {{{ Debug: @@ -10928,7 +15891,7 @@ Debug: rid:4 step:109 gid:246 user:rule:backchain = success -Debug: }}} -> (0.001s) +Debug: }}} -> (0.000s) Debug: run 110 {{{ Debug: @@ -11074,7 +16037,7 @@ Debug: rid:4 step:111 gid:247 user:rule:backchain = success -Debug: }}} -> (0.016s) +Debug: }}} -> (0.013s) Debug: run 112 {{{ Debug: @@ -12326,2998 +17289,138 @@ File "./tests/test_HOAS.v", line 629, characters 36-37 U is linear: name it _U (discard) or U_ (fresh variable) [elpi.linear-variable,elpi.typecheck,elpi,default] -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») -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 `_elpi_renamed_n_2` (global (indt «nat»)) c3 \ X1 c1 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 `_elpi_renamed_n_2` (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 `_elpi_renamed_n_2` (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») - X1_ = c0 \ c1 \ c2 \ -global (indt «nat») - X2_ = 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_stdlib.test_quotation.2»)) - (X3 c0 c1) /* suspended on X3 */ -Universe constraints: -UNIVERSES: - {elpi_tests_stdlib.test_quotation.3 elpi_tests_stdlib.test_quotation.2 - elpi_tests_stdlib.test_quotation.1} |= - Set <= elpi_tests_stdlib.test_quotation.3 -ALGEBRAIC UNIVERSES: - {} -FLEXIBLE UNIVERSES: - elpi_tests_stdlib.test_quotation.3 -SORTS: - α1 - α2 -WEAK CONSTRAINTS: - - -fun `v` - (app - [global (indt «Vector.t»), global (indt «nat»), - app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]]) - c0 \ - match c0 - (fun `_` (X0 c0) c1 \ - fun `_elpi_renamed_v_1` (app [global (indt «Vector.t»), X1 c0, X2 c0]) - c2 \ X3 c0 c2) - [global (indc «O»), - fun `_` (X4 c0) c1 \ - fun `_` (X5 c0) c2 \ - fun `_` (X6 c0) c3 \ app [global (indc «S»), global (indc «O»)]] -fun `v` - (app - [global (indt «Vector.t»), global (indt «nat»), - app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]]) - c0 \ - match c0 - (fun `_` (X7 c0) c1 \ - fun `_elpi_renamed_v_1` - (app [global (indt «Vector.t»), global (indt «nat»), X8 c0]) c2 \ - global (indt «nat»)) - [global (indc «O»), - fun `_` (X9 c0) c1 \ - fun `_` (X10 c0) c2 \ - fun `_` (X11 c0) c3 \ app [global (indc «S»), global (indc «O»)]] -Query assignments: - T = fun `v` - (app - [global (indt «Vector.t»), global (indt «nat»), - app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]]) - c0 \ - match c0 - (fun `_` (X7 c0) c1 \ - fun `_elpi_renamed_v_1` - (app [global (indt «Vector.t»), global (indt «nat»), X8 c0]) c2 \ - global (indt «nat»)) - [global (indc «O»), - fun `_` (X9 c0) c1 \ - fun `_` (X10 c0) c2 \ - fun `_` (X11 c0) c3 \ app [global (indc «S»), global (indc «O»)]] - X3_ = c0 \ -X7 c0 - X4_ = c0 \ -global (indt «nat») - X5_ = c0 \ -X8 c0 - X6_ = c0 \ c1 \ -global (indt «nat») - X7_ = c0 \ -X9 c0 - X8_ = c0 \ -X10 c0 - X9_ = c0 \ -X11 c0 -Syntactic constraints: - {c0} : - decl c0 `v` - (app - [global (indt «Vector.t»), global (indt «nat»), - app - [global (indc «S»), app [global (indc «S»), global (indc «O»)]]]) - ?- evar (X11 c0) (sort (typ «elpi_tests_stdlib.test_quotation.10»)) - (X11 c0) /* suspended on X11 */ - {c0} : - decl c0 `v` - (app - [global (indt «Vector.t»), global (indt «nat»), - app - [global (indc «S»), app [global (indc «S»), global (indc «O»)]]]) - ?- evar (X10 c0) (sort (typ «elpi_tests_stdlib.test_quotation.9»)) - (X10 c0) /* suspended on X10 */ - {c0} : - decl c0 `v` - (app - [global (indt «Vector.t»), global (indt «nat»), - app - [global (indc «S»), app [global (indc «S»), global (indc «O»)]]]) - ?- evar (X9 c0) (sort (typ «elpi_tests_stdlib.test_quotation.8»)) - (X9 c0) /* suspended on X9 */ - {c0} : - decl c0 `v` - (app - [global (indt «Vector.t»), global (indt «nat»), - app - [global (indc «S»), app [global (indc «S»), global (indc «O»)]]]) - ?- evar (X8 c0) (X12 c0) (X8 c0) /* suspended on X8 */ - {c0} : - decl c0 `v` - (app - [global (indt «Vector.t»), global (indt «nat»), - app - [global (indc «S»), app [global (indc «S»), global (indc «O»)]]]) - ?- evar (X13 c0) (sort (typ «elpi_tests_stdlib.test_quotation.6»)) - (X12 c0) /* suspended on X13, X12 */ - {c0} : - decl c0 `v` - (app - [global (indt «Vector.t»), global (indt «nat»), - app - [global (indc «S»), app [global (indc «S»), global (indc «O»)]]]) - ?- evar (X7 c0) (sort (typ «elpi_tests_stdlib.test_quotation.4»)) - (X7 c0) /* suspended on X7 */ -Universe constraints: -UNIVERSES: - {elpi_tests_stdlib.test_quotation.12 elpi_tests_stdlib.test_quotation.11 - elpi_tests_stdlib.test_quotation.10 elpi_tests_stdlib.test_quotation.9 - elpi_tests_stdlib.test_quotation.8 elpi_tests_stdlib.test_quotation.7 - elpi_tests_stdlib.test_quotation.6 elpi_tests_stdlib.test_quotation.5 - elpi_tests_stdlib.test_quotation.4} |= - elpi_tests_stdlib.test_quotation.11 < elpi_tests_stdlib.test_quotation.5 - Set <= Vector.t.u0 - Set <= elpi_tests_stdlib.test_quotation.11 - Set <= elpi_tests_stdlib.test_quotation.12 - elpi_tests_stdlib.test_quotation.11 <= Vector.t.u0 -ALGEBRAIC UNIVERSES: - {} -FLEXIBLE UNIVERSES: - elpi_tests_stdlib.test_quotation.12 -SORTS: - α3 - α4 := Type - α5 - α6 - α7 - α8 - α9 -WEAK CONSTRAINTS: - - -3 -Query assignments: - X = 3 -fun `x` X0 c0 \ app [X1, c0] -Query assignments: - X = X1 - X10_ = X0 - Y = fun `x` X0 c0 \ app [X1, c0] -fun `r` (global (indt «nat»)) c0 \ - fun `p` - (prod `y` (global (indt «nat»)) c1 \ - app - [global (indt «eq»), global (indt «nat»), c1, global (indc «O»)]) - c1 \ - fun `q` (global (indt «bool»)) c2 \ - prod `y` (global (indt «nat»)) c3 \ - app - [global (indt «eq»), global (indt «nat»), c3, global (indc «O»)] -Query assignments: - %arg1 = c0 \ c1 \ c2 \ -prod `y` (global (indt «nat»)) c3 \ - app [global (indt «eq»), global (indt «nat»), c3, global (indc «O»)] - X = fun `r` (global (indt «nat»)) c0 \ - fun `p` - (prod `y` (global (indt «nat»)) c1 \ - app - [global (indt «eq»), global (indt «nat»), c1, global (indc «O»)]) - c1 \ - fun `q` (global (indt «bool»)) c2 \ - prod `y` (global (indt «nat»)) c3 \ - app - [global (indt «eq»), global (indt «nat»), c3, global (indc «O»)] -fun u : nat => -{| val := oval u; Sub := Ord u; Sub_rect := inlined_sub_rect |} - : forall u : nat, is_SUB nat (fun x : nat => leq x u) (ord u) -Debug: -[elpi] - gterm2lp: term=(fun u => - {| val := oval u; Sub := _; Sub_rect := inlined_sub_rect |}) -Debug: [elpi] gterm2lp: term=_ -Debug: -[elpi] - gterm2lp: term={| val := oval u; Sub := _; Sub_rect := inlined_sub_rect |} -Debug: [elpi] gterm2lp: term=SubType -Debug: [elpi] gterm2lp: term=_ -Debug: [elpi] gterm2lp: term=_ -Debug: [elpi] gterm2lp: term=_ -Debug: [elpi] gterm2lp: term=(oval u) -Debug: [elpi] gterm2lp: term=oval -Debug: [elpi] gterm2lp: term=u -Debug: [elpi] gterm2lp: term=_ -Debug: [elpi] gterm2lp: term=inlined_sub_rect -Debug: [elpi] gterm2lp: term=_ -Debug: -[elpi] - gterm2lp: term=(fun K_S u => - let (x, Px) as u0 return (K u0) := u in K_S x Px) -Debug: [elpi] gterm2lp: term=_ -Debug: -[elpi] - gterm2lp: term=(fun u => let (x, Px) as u0 return (K u0) := u in K_S x Px) -Debug: [elpi] gterm2lp: term=_ -Debug: -[elpi] - gterm2lp: term=(let (x, Px) as u0 return (K u0) := _elpi_renamed_u_3 in - K_S x Px) -Debug: [elpi] gterm2lp: term=_elpi_renamed_u_3 -Debug: [elpi] gterm2lp: term=(fun u0 => K u0) -Debug: [elpi] gterm2lp: term=_ -Debug: [elpi] gterm2lp: term=(K u0) -Debug: [elpi] gterm2lp: term=K -Debug: [elpi] gterm2lp: term=u0 -Debug: [elpi] gterm2lp: term=(fun x Px => K_S x Px) -Debug: [elpi] gterm2lp: term=_ -Debug: [elpi] gterm2lp: term=(fun Px => K_S x Px) -Debug: [elpi] gterm2lp: term=_ -Debug: [elpi] gterm2lp: term=(K_S x Px) -Debug: [elpi] gterm2lp: term=K_S -Debug: [elpi] gterm2lp: term=x -Debug: [elpi] gterm2lp: term=Px -Debug: -[elpi] - gterm2lp: term=(fun u => - {| val := _; Sub := elpi_code:(K) u; Sub_rect := _ |}) -Debug: [elpi] gterm2lp: term=_ -Debug: -[elpi] gterm2lp: term={| val := _; Sub := elpi_code:(K) u; Sub_rect := _ |} -Debug: [elpi] gterm2lp: term=SubType -Debug: [elpi] gterm2lp: term=_ -Debug: [elpi] gterm2lp: term=_ -Debug: [elpi] gterm2lp: term=_ -Debug: [elpi] gterm2lp: term=_ -Debug: [elpi] gterm2lp: term=(elpi_code:(K) u) -Debug: [elpi] gterm2lp: term=elpi_code:(K) -Debug: [elpi] gterm2lp: term=u -Debug: [elpi] gterm2lp: term=_ -XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX -fun `u` X0 c0 \ - app - [global (indc «SubType»), X1 c0, X2 c0, X3 c0, - app [global (const «oval»), c0], X4 c0, - fun `K` (X5 c0) c1 \ - fun `K_S` (X6 c0 c1) c2 \ - fun `_elpi_renamed_u_3` (X7 c0 c1 c2) c3 \ - match c3 (fun `u0` (X8 c0 c1 c2 c3) c4 \ app [c1, c4]) - [fun `x` (X9 c0 c1 c2 c3) c4 \ - fun `Px` (X10 c0 c1 c2 c3 c4) c5 \ app [c2, c4, c5]]] -XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX -Debug: -[elpi] - elpi sigma -> coq sigma: before: -SHELF: -FUTURE GOALS STACK: - - -Rocq-Elpi mapping: -RAW: -ELAB: - -Debug: -[elpi] - elpi sigma -> coq sigma: synchronized: -SHELF: -FUTURE GOALS STACK: - - -Rocq-Elpi mapping: -RAW: -ELAB: - -Debug: -[elpi] - elpi sigma -> coq sigma: after: -SHELF: -FUTURE GOALS STACK: - +This.Is.A.Long.Namespace.stuff = 1 + : nat + = 1 + : nat +This.Is.A.Long.Namespace.stuff = 2 + : nat + = 1 + : nat +This_aux_1.This.Is.A.Long.Namespace.stuff +This.Is.A.Long.Namespace.more_stuff +This.Is.A.Long.Namespace.stuff +This_aux_1.This.Is.A.Long.Namespace.stuff : nat +This.Is.A.Long.Namespace.more_stuff : nat +This.Is.A.Long.Namespace.stuff : nat +stuff = 2 + : nat +default nat_def : nat + : nat +Module +d3 + : d3_Locked +:= Struct Definition body : nat. Parameter unlock : d3 = 3. End +Module Type + d3_Locked = + Sig Parameter body : nat. Parameter unlock : body = 3. End +cons2 : forall {A : Type}, A -> list A -> list A -Rocq-Elpi mapping: -RAW: -ELAB: +cons2 is not universe polymorphic +Arguments cons2 {A}%type_scope x xs%list_scope +cons2 is transparent +Expands to: Constant +elpi.apps.locker.tests.test_locker.Bug_286.lock_container.cons2 +cons3 : forall [A : Type], EqDecision A -> A -> list A -> list A -Debug: -[elpi] - lp2term: depth=0 ctx=[] term=fun `u` X0 c0 \ - app - [global (indc «SubType»), X1 c0, X2 c0, X3 c0, - app [global (const «oval»), c0], X4 c0, - fun `K` (X5 c0) c1 \ - fun `K_S` (X6 c0 c1) c2 \ - fun `_elpi_renamed_u_3` (X7 c0 c1 c2) c3 \ - match c3 (fun `u0` (X8 c0 c1 c2 c3) c4 \ app [c1, c4]) - [fun `x` (X9 c0 c1 c2 c3) c4 \ - fun `Px` (X10 c0 c1 c2 c3 c4) c5 \ app [c2, c4, c5]]] -Debug: -[elpi] - lp2term@0:fun `u` X0 c0 \ - app - [global (indc «SubType»), X1 c0, X2 c0, X3 c0, - app [global (const «oval»), c0], X4 c0, - fun `K` (X5 c0) c1 \ - fun `K_S` (X6 c0 c1) c2 \ - fun `_elpi_renamed_u_3` (X7 c0 c1 c2) c3 \ - match c3 (fun `u0` (X8 c0 c1 c2 c3) c4 \ app [c1, c4]) - [fun `x` (X9 c0 c1 c2 c3) c4 \ - fun `Px` (X10 c0 c1 c2 c3 c4) c5 \ app [c2, c4, c5]]] -Debug: [elpi] lp2term@0:X0 -Debug: [elpi] lp2term: evar: calldepth:0 X0 RAW: -ELAB: +cons3 is not universe polymorphic +Arguments cons3 [A]%type_scope {H} x xs%list_scope +cons3 is transparent +Expands to: Constant +elpi.apps.locker.tests.test_locker.Bug_286.lock_container2.cons3 +id1@{u} : forall T : Type@{u}, T -> T +(* u |= u < locked_with.u0 *) -Debug: -[elpi] - lp2term@1:app - [global (indc «SubType»), X1 c0, X2 c0, X3 c0, - app [global (const «oval»), c0], X4 c0, - fun `K` (X5 c0) c1 \ - fun `K_S` (X6 c0 c1) c2 \ - fun `_elpi_renamed_u_3` (X7 c0 c1 c2) c3 \ - match c3 (fun `u0` (X8 c0 c1 c2 c3) c4 \ app [c1, c4]) - [fun `x` (X9 c0 c1 c2 c3) c4 \ - fun `Px` (X10 c0 c1 c2 c3 c4) c5 \ app [c2, c4, c5]]] -Debug: [elpi] lp2term@1:global (indc «SubType») -Debug: [elpi] lp2term@1:X1 c0 -Debug: [elpi] lp2term: evar: calldepth:0 X1 c0 RAW: -ELAB: +id1 is universe polymorphic +Arguments id1 T%type_scope x +id1 is transparent +Expands to: Constant elpi.apps.locker.tests.test_locker.id1 +Query assignments: + GR = const «id1» +id2.body@{u} : forall T : Type@{u}, T -> T +(* u |= u < eq.u0 *) -Debug: [elpi] lp2term@1:X2 c0 -Debug: [elpi] lp2term: evar: calldepth:0 X2 c0 RAW: -ELAB: +id2.body is universe polymorphic +Arguments id2.body T%type_scope x +Expands to: Constant elpi.apps.locker.tests.test_locker.id2.body +Query assignments: + GR = const «id2.body» +up1.body@{u} : forall T : Type@{u}, T -> T +(* u |= u < eq.u0 *) -Debug: [elpi] lp2term@1:X3 c0 -Debug: [elpi] lp2term: evar: calldepth:0 X3 c0 RAW: -ELAB: +up1.body is universe polymorphic +Arguments up1.body T%type_scope x +Expands to: Constant elpi.apps.locker.tests.test_locker.up1.body +Query assignments: + GR = const «up1.body» +nup1.body : forall T : Type@{nup1.body.u0}, T -> T -Debug: [elpi] lp2term@1:app [global (const «oval»), c0] -Debug: [elpi] lp2term@1:global (const «oval») -Debug: [elpi] lp2term@1:c0 -Debug: [elpi] lp2term@1:X4 c0 -Debug: [elpi] lp2term: evar: calldepth:0 X4 c0 RAW: -ELAB: +nup1.body is not universe polymorphic +Arguments nup1.body T%type_scope x +Expands to: Constant elpi.apps.locker.tests.test_locker.nup1.body +Query assignments: + GR = const «nup1.body» +up2.body@{u u0} : +forall T : Type@{u}, Type@{u0} -> T -> T +(* u u0 |= u < eq.u0 + u0 < eq.u0 *) +up2.body is universe polymorphic +Arguments up2.body (T W)%type_scope x +Expands to: Constant elpi.apps.locker.tests.test_locker.up2.body +Query assignments: + GR = const «up2.body» Debug: -[elpi] - lp2term@1:fun `K` (X5 c0) c1 \ - fun `K_S` (X6 c0 c1) c2 \ - fun `_elpi_renamed_u_3` (X7 c0 c1 c2) c3 \ - match c3 (fun `u0` (X8 c0 c1 c2 c3) c4 \ app [c1, c4]) - [fun `x` (X9 c0 c1 c2 c3) c4 \ - fun `Px` (X10 c0 c1 c2 c3 c4) c5 \ app [c2, c4, c5]] -Debug: [elpi] lp2term@1:X5 c0 -Debug: [elpi] lp2term: evar: calldepth:0 X5 c0 RAW: -ELAB: +elpi lets escape exception: Universe + elpi.apps.locker.tests.test_locker.161 (File "./apps/locker/tests/test_locker.v", line 113, characters 50-54) + is unbound. +Raised at UState.error_unbound_universes in file "engine/uState.ml", line 832, characters 41-74 +Called from UState.universe_context_inst in file "engine/uState.ml", line 845, characters 9-58 +Called from UState.check_poly_univ_decl in file "engine/uState.ml", line 901, characters 13-63 +Called from UState.check_univ_decl in file "engine/uState.ml", line 917, characters 35-67 +Called from Elpi_plugin__Rocq_elpi_builtins.add_axiom_or_variable in file "src/rocq_elpi_builtins.ml", line 913, characters 14-82 +Called from Elpi_plugin__Rocq_elpi_builtins.coq_rest_builtins.(fun) in file "src/rocq_elpi_builtins.ml", line 2068, characters 20-86 +Called from Elpi_plugin__Rocq_elpi_builtins.grab_global_env.(fun) in file "src/rocq_elpi_builtins.ml", line 141, characters 33-44 +Called from Elpi_runtime__Runtime_trace_off.FFI.wrap_type_err in file "src/runtime/runtime_trace_off.ml", line 2125, characters 6-9 +Called from Elpi_runtime__Runtime_trace_off.FFI.call.aux in file "src/runtime/runtime_trace_off.ml", line 2207, characters 32-92 +Called from Elpi_runtime__Runtime_trace_off.FFI.call in file "src/runtime/runtime_trace_off.ml", line 2299, characters 21-70 +Called from Elpi_runtime__Runtime_trace_off.Constraints.exect_builtin_predicate in file "src/runtime/runtime_trace_off.ml", line 3565, characters 20-83 +Called from Elpi_runtime__Runtime_trace_off.Mainloop.make_runtime.run in file "src/runtime/runtime_trace_off.ml", line 3983, characters 19-90 +Called from Elpi_util__Util.Fork.fork.ensure_runtime in file "src/utils/util.ml", line 523, characters 16-19 +Re-raised at Elpi_util__Util.Fork.fork.ensure_runtime in file "src/utils/util.ml", line 532, characters 7-14 +Called from Elpi_runtime__Runtime_trace_off.mk_outcome in file "src/runtime/runtime_trace_off.ml", line 4265, characters 14-23 +Called from Elpi_runtime__Runtime_trace_off.execute_once in file "src/runtime/runtime_trace_off.ml", line 4282, characters 20-242 +Re-raised at Elpi_runtime__Runtime_trace_off.execute_once in file "src/runtime/runtime_trace_off.ml", line 4287, characters 2-9 +Called from Elpi__API.Execute.once in file "src/API.ml", line 235, characters 40-91 +Called from Elpi_plugin__Rocq_elpi_vernacular.Compiler.run in file "src/rocq_elpi_vernacular.ml", line 145, characters 13-55 +Re-raised at Exninfo.iraise in file "clib/exninfo.ml", line 81, characters 4-38 +Called from Elpi_plugin__Rocq_elpi_vernacular.Compiler.run_and_print in file "src/rocq_elpi_vernacular.ml", line 166, characters 8-38 +Called from Elpi_plugin__Rocq_elpi_vernacular.Interp.run_program.(fun) in file "src/rocq_elpi_vernacular.ml", line 557, characters 34-90 -Debug: -[elpi] - lp2term@2:fun `K_S` (X6 c0 c1) c2 \ - fun `_elpi_renamed_u_3` (X7 c0 c1 c2) c3 \ - match c3 (fun `u0` (X8 c0 c1 c2 c3) c4 \ app [c1, c4]) - [fun `x` (X9 c0 c1 c2 c3) c4 \ - fun `Px` (X10 c0 c1 c2 c3 c4) c5 \ app [c2, c4, c5]] -Debug: [elpi] lp2term@2:X6 c0 c1 -Debug: [elpi] lp2term: evar: calldepth:0 X6 c0 c1 RAW: -ELAB: +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 +d + : nat +hello1 +it = elpi_subproof + : True +it : True -Debug: -[elpi] - lp2term@3:fun `_elpi_renamed_u_3` (X7 c0 c1 c2) c3 \ - match c3 (fun `u0` (X8 c0 c1 c2 c3) c4 \ app [c1, c4]) - [fun `x` (X9 c0 c1 c2 c3) c4 \ - fun `Px` (X10 c0 c1 c2 c3 c4) c5 \ app [c2, c4, c5]] -Debug: [elpi] lp2term@3:X7 c0 c1 c2 -Debug: [elpi] lp2term: evar: calldepth:0 X7 c0 c1 c2 RAW: -ELAB: - -Debug: -[elpi] - lp2term@4:match c3 (fun `u0` (X8 c0 c1 c2 c3) c4 \ app [c1, c4]) - [fun `x` (X9 c0 c1 c2 c3) c4 \ - fun `Px` (X10 c0 c1 c2 c3 c4) c5 \ app [c2, c4, c5]] -Debug: [elpi] lp2term@4:c3 -Debug: [elpi] lp2term@4:fun `u0` (X8 c0 c1 c2 c3) c4 \ app [c1, c4] -Debug: [elpi] lp2term@4:X8 c0 c1 c2 c3 -Debug: [elpi] lp2term: evar: calldepth:0 X8 c0 c1 c2 c3 RAW: -ELAB: - -Debug: [elpi] lp2term@5:app [c1, c4] -Debug: [elpi] lp2term@5:c1 -Debug: [elpi] lp2term@5:c4 -Debug: -[elpi] - lp2term@4:fun `x` (X9 c0 c1 c2 c3) c4 \ - fun `Px` (X10 c0 c1 c2 c3 c4) c5 \ app [c2, c4, c5] -Debug: [elpi] lp2term@4:X9 c0 c1 c2 c3 -Debug: [elpi] lp2term: evar: calldepth:0 X9 c0 c1 c2 c3 RAW: -ELAB: - -Debug: [elpi] lp2term@5:fun `Px` (X10 c0 c1 c2 c3 c4) c5 \ app [c2, c4, c5] -Debug: [elpi] lp2term@5:X10 c0 c1 c2 c3 c4 -Debug: [elpi] lp2term: evar: calldepth:0 X10 c0 c1 c2 c3 c4 RAW: -ELAB: - -Debug: [elpi] lp2term@6:app [c2, c4, c5] -Debug: [elpi] lp2term@6:c2 -Debug: [elpi] lp2term@6:c4 -Debug: [elpi] lp2term@6:c5 -Debug: -[elpi] - lp2term: out=(fun u : hole hole => - {| - val := oval u; - Sub := hole u hole; - Sub_rect := - fun (K : hole u hole) (K_S : hole K u hole) - (_elpi_renamed_u_3 : hole K_S K u hole) => - let - (x, Px) as u0 - return (hole u0 _elpi_renamed_u_3 K_S K hole) := - _elpi_renamed_u_3 in - K_S x Px - |}) - elpi2coq: - RAW: -ELAB: -SHELF: - - FUTURE GOALS STACK: - - -Debug: -[elpi] - detype: (fun u : hole hole => - {| - val := oval u; - Sub := hole u hole; - Sub_rect := - fun (K : hole u hole) (K_S : hole K u hole) - (_elpi_renamed_u_3 : hole K_S K u hole) => - let - (x, Px) as u0 - return (hole u0 _elpi_renamed_u_3 K_S K hole) := - _elpi_renamed_u_3 in - K_S x Px - |}) -Debug: [elpi] bringing updated sigma back to lp -Debug: -[elpi] - term2lp: depth=0 ctx= term=(forall u : nat, - is_SUB nat (fun x : nat => leq x u) (ord u)) -Debug: -[elpi] - term2lp (out): prod `u` (global (indt «nat»)) c0 \ - app - [global (indt «is_SUB»), global (indt «nat»), - fun `x` (global (indt «nat»)) c1 \ app [global (const «leq»), c1, c0], - app [global (indt «ord»), c0]] -Debug: -[elpi] - term2lp: depth=0 ctx= term=(fun u : nat => - {| - val := oval u; - Sub := Ord u; - Sub_rect := inlined_sub_rect - |}) -Debug: -[elpi] - term2lp (out): fun `u` (global (indt «nat»)) c0 \ - app - [global (indc «SubType»), global (indt «nat»), - fun `x` (global (indt «nat»)) c1 \ app [global (const «leq»), c1, c0], - app [global (indt «ord»), c0], app [global (const «oval»), c0], - app [global (indc «Ord»), c0], - fun `K` - (prod `x` (app [global (indt «ord»), c0]) c1 \ sort (typ «is_SUB.u2»)) - c1 \ - fun `K_S` - (prod `x` (global (indt «nat»)) c2 \ - prod `Px` - (app - [global (indt «eq»), global (indt «bool»), - app - [fun `x` (global (indt «nat»)) c3 \ - app [global (const «leq»), c3, c0], c2], - global (indc «true»)]) c3 \ - app [c1, app [global (indc «Ord»), c0, c2, c3]]) c2 \ - fun `_elpi_renamed_u_3` (app [global (indt «ord»), c0]) c3 \ - match c3 - (fun `xxx` (app [global (indt «ord»), c0]) c4 \ app [c1, c4]) - [fun `x` (global (indt «nat»)) c4 \ - fun `Px` - (app - [global (indt «eq»), global (indt «bool»), - app [global (const «leq»), c4, c0], global (indc «true»)]) - c5 \ app [c2, c4, c5]]] -Debug: -[elpi] - Elpi: query-compilation:0.0096 static-check:0.0000 optimization:0.0001 runtime:0.0031 (with success) - -Query assignments: - GR = indc «Ord» - K = global (indc «Ord») - T = fun `u` X0 c0 \ - app - [global (indc «SubType»), X1 c0, X2 c0, X3 c0, - app [global (const «oval»), c0], X4 c0, - fun `K` (X5 c0) c1 \ - fun `K_S` (X6 c0 c1) c2 \ - fun `_elpi_renamed_u_3` (X7 c0 c1 c2) c3 \ - match c3 (fun `u0` (X8 c0 c1 c2 c3) c4 \ app [c1, c4]) - [fun `x` (X9 c0 c1 c2 c3) c4 \ - fun `Px` (X10 c0 c1 c2 c3 c4) c5 \ app [c2, c4, c5]]] - T1 = fun `u` (global (indt «nat»)) c0 \ - app - [global (indc «SubType»), global (indt «nat»), - fun `x` (global (indt «nat»)) c1 \ app [global (const «leq»), c1, c0], - app [global (indt «ord»), c0], app [global (const «oval»), c0], - app [global (indc «Ord»), c0], - fun `K` - (prod `x` (app [global (indt «ord»), c0]) c1 \ sort (typ «is_SUB.u2»)) - c1 \ - fun `K_S` - (prod `x` (global (indt «nat»)) c2 \ - prod `Px` - (app - [global (indt «eq»), global (indt «bool»), - app - [fun `x` (global (indt «nat»)) c3 \ - app [global (const «leq»), c3, c0], c2], - global (indc «true»)]) c3 \ - app [c1, app [global (indc «Ord»), c0, c2, c3]]) c2 \ - fun `_elpi_renamed_u_3` (app [global (indt «ord»), c0]) c3 \ - match c3 - (fun `xxx` (app [global (indt «ord»), c0]) c4 \ app [c1, c4]) - [fun `x` (global (indt «nat»)) c4 \ - fun `Px` - (app - [global (indt «eq»), global (indt «bool»), - app [global (const «leq»), c4, c0], global (indc «true»)]) - c5 \ app [c2, c4, c5]]] - X11_ = X0 - X12_ = X1 - X13_ = X2 - X14_ = X3 - X15_ = X4 - X16_ = X5 - X17_ = X6 - X18_ = X7 - X19_ = X8 - X20_ = X9 - X21_ = X10 - X22_ = global (indt «nat») - X23_ = c0 \ -global (indt «nat») - X24_ = c0 \ -fun `x` (global (indt «nat»)) c1 \ app [global (const «leq»), c1, c0] - X25_ = c0 \ -app [global (indt «ord»), c0] - X26_ = c0 \ -app [global (const «oval»), c0] - X27_ = c0 \ -fun `K` - (prod `x` (app [global (indt «ord»), c0]) c1 \ sort (typ «is_SUB.u2»)) - c1 \ - fun `K_S` - (prod `x` (global (indt «nat»)) c2 \ - prod `Px` - (app - [global (indt «eq»), global (indt «bool»), - app - [fun `x` (global (indt «nat»)) c3 \ - app [global (const «leq»), c3, c0], c2], global (indc «true»)]) - c3 \ app [c1, app [global (indc «Ord»), c0, c2, c3]]) c2 \ - fun `_elpi_renamed_u_3` (app [global (indt «ord»), c0]) c3 \ - match c3 (fun `xxx` (app [global (indt «ord»), c0]) c4 \ app [c1, c4]) - [fun `x` (global (indt «nat»)) c4 \ - fun `Px` - (app - [global (indt «eq»), global (indt «bool»), - app [global (const «leq»), c4, c0], global (indc «true»)]) c5 \ - app [c2, c4, c5]] -Universe constraints: -UNIVERSES: - {elpi_tests_stdlib.test_quotation.28 elpi_tests_stdlib.test_quotation.27} |= - Set <= is_SUB.u0 - Set <= is_SUB.u1 - Set <= elpi_tests_stdlib.test_quotation.27 - is_SUB.u2 <= elpi_tests_stdlib.test_quotation.28 -ALGEBRAIC UNIVERSES: - {elpi_tests_stdlib.test_quotation.28 elpi_tests_stdlib.test_quotation.27} -FLEXIBLE UNIVERSES: - elpi_tests_stdlib.test_quotation.28 - elpi_tests_stdlib.test_quotation.27 -SORTS: - α24 := Type - α25 := Type -WEAK CONSTRAINTS: - - -Debug: -[elpi] - gterm2lp: term=(fun u => - {| val := oval u; Sub := _; Sub_rect := inlined_sub_rect |}) -Debug: [elpi] gterm2lp: term=_ -Debug: -[elpi] - gterm2lp: term={| val := oval u; Sub := _; Sub_rect := inlined_sub_rect |} -Debug: [elpi] gterm2lp: term=SubType -Debug: [elpi] gterm2lp: term=_ -Debug: [elpi] gterm2lp: term=_ -Debug: [elpi] gterm2lp: term=_ -Debug: [elpi] gterm2lp: term=(oval u) -Debug: [elpi] gterm2lp: term=oval -Debug: [elpi] gterm2lp: term=u -Debug: [elpi] gterm2lp: term=_ -Debug: [elpi] gterm2lp: term=inlined_sub_rect -Debug: [elpi] gterm2lp: term=_ -Debug: -[elpi] - gterm2lp: term=(fun K_S u => - let (x, Px) as u0 return (K u0) := u in K_S x Px) -Debug: [elpi] gterm2lp: term=_ -Debug: -[elpi] - gterm2lp: term=(fun u => let (x, Px) as u0 return (K u0) := u in K_S x Px) -Debug: [elpi] gterm2lp: term=_ -Debug: -[elpi] - gterm2lp: term=(let (x, Px) as u0 return (K u0) := _elpi_renamed_u_3 in - K_S x Px) -Debug: [elpi] gterm2lp: term=_elpi_renamed_u_3 -Debug: [elpi] gterm2lp: term=(fun u0 => K u0) -Debug: [elpi] gterm2lp: term=_ -Debug: [elpi] gterm2lp: term=(K u0) -Debug: [elpi] gterm2lp: term=K -Debug: [elpi] gterm2lp: term=u0 -Debug: [elpi] gterm2lp: term=(fun x Px => K_S x Px) -Debug: [elpi] gterm2lp: term=_ -Debug: [elpi] gterm2lp: term=(fun Px => K_S x Px) -Debug: [elpi] gterm2lp: term=_ -Debug: [elpi] gterm2lp: term=(K_S x Px) -Debug: [elpi] gterm2lp: term=K_S -Debug: [elpi] gterm2lp: term=x -Debug: [elpi] gterm2lp: term=Px -Debug: -[elpi] - elpi sigma -> coq sigma: before: -SHELF: -FUTURE GOALS STACK: - - -Rocq-Elpi mapping: -RAW: -ELAB: - -Debug: -[elpi] - elpi sigma -> coq sigma: synchronized: -SHELF: -FUTURE GOALS STACK: - - -Rocq-Elpi mapping: -RAW: -ELAB: - -Debug: -[elpi] - elpi sigma -> coq sigma: after: -SHELF: -FUTURE GOALS STACK: - - -Rocq-Elpi mapping: -RAW: -ELAB: - -Debug: -[elpi] - lp2term: depth=0 ctx=[] term=fun `u` X0 c0 \ - app - [global (indc «SubType»), X1 c0, X2 c0, X3 c0, - app [global (const «oval»), c0], X4 c0, - fun `K` (X5 c0) c1 \ - fun `K_S` (X6 c0 c1) c2 \ - fun `_elpi_renamed_u_3` (X7 c0 c1 c2) c3 \ - match c3 (fun `u0` (X8 c0 c1 c2 c3) c4 \ app [c1, c4]) - [fun `x` (X9 c0 c1 c2 c3) c4 \ - fun `Px` (X10 c0 c1 c2 c3 c4) c5 \ app [c2, c4, c5]]] -Debug: -[elpi] - lp2term@0:fun `u` X0 c0 \ - app - [global (indc «SubType»), X1 c0, X2 c0, X3 c0, - app [global (const «oval»), c0], X4 c0, - fun `K` (X5 c0) c1 \ - fun `K_S` (X6 c0 c1) c2 \ - fun `_elpi_renamed_u_3` (X7 c0 c1 c2) c3 \ - match c3 (fun `u0` (X8 c0 c1 c2 c3) c4 \ app [c1, c4]) - [fun `x` (X9 c0 c1 c2 c3) c4 \ - fun `Px` (X10 c0 c1 c2 c3 c4) c5 \ app [c2, c4, c5]]] -Debug: [elpi] lp2term@0:X0 -Debug: [elpi] lp2term: evar: calldepth:0 X0 RAW: -ELAB: - -Debug: [elpi] lp2term: evar: unknown: calldepth:0 X0 -Debug: [elpi] lp2term: evar: create_unknown: whole ctx: ; -Debug: [elpi] lp2term: evar: create_unknown: visible ctx: -Debug: [elpi] restrict_coq_context: named: -Debug: [elpi] lp2term: evar: create_unknown: restricted ctx: -Debug: -[elpi] - lp2term: evar: create_unknown: new link: ? |> |- ? = ?X41 - EVARS: - ?X41==[ |- Type] (internal placeholder) {?e} - -UNIVERSES: - {elpi_tests_stdlib.test_quotation.29} |= -ALGEBRAIC UNIVERSES: - {} -FLEXIBLE UNIVERSES: - -SORTS: - α26 -WEAK CONSTRAINTS: - -SHELF: -FUTURE GOALS STACK: - ?X41 - -Debug: [elpi] lp2term@0:X0 -Debug: -[elpi] lp2term: evar: calldepth:0 X0 RAW: -?X41 <-> X0 -ELAB: -?X41 <-> X0 - -Debug: [elpi] lp2term: evar: already in Coq: ?X41 -Debug: -[elpi] - lp2term@1:app - [global (indc «SubType»), X1 c0, X2 c0, X3 c0, - app [global (const «oval»), c0], X4 c0, - fun `K` (X5 c0) c1 \ - fun `K_S` (X6 c0 c1) c2 \ - fun `_elpi_renamed_u_3` (X7 c0 c1 c2) c3 \ - match c3 (fun `u0` (X8 c0 c1 c2 c3) c4 \ app [c1, c4]) - [fun `x` (X9 c0 c1 c2 c3) c4 \ - fun `Px` (X10 c0 c1 c2 c3 c4) c5 \ app [c2, c4, c5]]] -Debug: [elpi] lp2term@1:global (indc «SubType») -Debug: [elpi] lp2term@1:X1 c0 -Debug: -[elpi] lp2term: evar: calldepth:0 X1 c0 RAW: -?X41 <-> X0 -ELAB: -?X41 <-> X0 - -Debug: [elpi] lp2term: evar: unknown: calldepth:0 X1 -Debug: [elpi] lp2term: evar: create_unknown: whole ctx: ; (u : ?e) -Debug: [elpi] lp2term: evar: create_unknown: visible ctx:c0 -Debug: [elpi] restrict_coq_context: named: -Debug: -[elpi] - restrict_coq_context: cur rel ctx: - restrict_coq_context: cur subst: - restrict_coq_context: looking at u(dbl 0) -Debug: [elpi] ?e--0->?e -Debug: [elpi] lp2term: evar: create_unknown: restricted ctx:(u : ?e) -Debug: [elpi] in_elpi_evar:?X42 -Debug: -[elpi] - lp2term: evar: create_unknown: new link: ? |> |- ? = ?X43 - EVARS: - ?X43==[u |- ?e0] (internal placeholder) {?e1} - ?X42==[u |- Type] (internal placeholder) {?e0} - ?X41==[ |- Type] (internal placeholder) {?e} - -UNIVERSES: - {elpi_tests_stdlib.test_quotation.30 elpi_tests_stdlib.test_quotation.29} |= -ALGEBRAIC UNIVERSES: - {} -FLEXIBLE UNIVERSES: - -SORTS: - α26 - α27 -WEAK CONSTRAINTS: - -SHELF: -FUTURE GOALS STACK:?X43 ?X42 -?X41 - -Debug: [elpi] lp2term@1:X1 c0 -Debug: -[elpi] - lp2term: evar: calldepth:0 X1 c0 - RAW: -?X41 <-> X0 -?X42 <-> X12 -?X43 <-> X1 -ELAB: -?X41 <-> X0 -?X42 <-> X11 -?X43 <-> X1 - -Debug: [elpi] lp2term: evar: already in Coq: ?X43 -Debug: [elpi] lp2term@1:c0 -Debug: [elpi] lp2term@1:X2 c0 -Debug: -[elpi] - lp2term: evar: calldepth:0 X2 c0 - RAW: -?X41 <-> X0 -?X42 <-> X12 -?X43 <-> X1 -ELAB: -?X41 <-> X0 -?X42 <-> X11 -?X43 <-> X1 - -Debug: [elpi] lp2term: evar: unknown: calldepth:0 X2 -Debug: [elpi] lp2term: evar: create_unknown: whole ctx: ; (u : ?e) -Debug: [elpi] lp2term: evar: create_unknown: visible ctx:c0 -Debug: [elpi] restrict_coq_context: named: -Debug: -[elpi] - restrict_coq_context: cur rel ctx: - restrict_coq_context: cur subst: - restrict_coq_context: looking at u(dbl 0) -Debug: [elpi] ?e--0->?e -Debug: [elpi] lp2term: evar: create_unknown: restricted ctx:(u : ?e) -Debug: [elpi] in_elpi_evar:?X44 -Debug: -[elpi] - lp2term: evar: create_unknown: new link: ? |> |- ? = ?X45 - EVARS: - ?X45==[u |- ?e2] (internal placeholder) {?e3} - ?X44==[u |- Type] (internal placeholder) {?e2} - ?X43==[u |- ?e0] (internal placeholder) {?e1} - ?X42==[u |- Type] (internal placeholder) {?e0} - ?X41==[ |- Type] (internal placeholder) {?e} - -UNIVERSES: - {elpi_tests_stdlib.test_quotation.31 elpi_tests_stdlib.test_quotation.30 - elpi_tests_stdlib.test_quotation.29} |= -ALGEBRAIC UNIVERSES: - {} -FLEXIBLE UNIVERSES: - -SORTS: - α26 - α27 - α28 -WEAK CONSTRAINTS: - -SHELF: -FUTURE GOALS STACK:?X45 ?X44 ?X43 ?X42 -?X41 - -Debug: [elpi] lp2term@1:X2 c0 -Debug: -[elpi] - lp2term: evar: calldepth:0 X2 c0 - RAW: -?X41 <-> X0 -?X42 <-> X12 -?X43 <-> X1 -?X44 <-> X14 -?X45 <-> X2 -ELAB: -?X41 <-> X0 -?X42 <-> X11 -?X43 <-> X1 -?X44 <-> X13 -?X45 <-> X2 - -Debug: [elpi] lp2term: evar: already in Coq: ?X45 -Debug: [elpi] lp2term@1:c0 -Debug: [elpi] lp2term@1:X3 c0 -Debug: -[elpi] - lp2term: evar: calldepth:0 X3 c0 - RAW: -?X41 <-> X0 -?X42 <-> X12 -?X43 <-> X1 -?X44 <-> X14 -?X45 <-> X2 -ELAB: -?X41 <-> X0 -?X42 <-> X11 -?X43 <-> X1 -?X44 <-> X13 -?X45 <-> X2 - -Debug: [elpi] lp2term: evar: unknown: calldepth:0 X3 -Debug: [elpi] lp2term: evar: create_unknown: whole ctx: ; (u : ?e) -Debug: [elpi] lp2term: evar: create_unknown: visible ctx:c0 -Debug: [elpi] restrict_coq_context: named: -Debug: -[elpi] - restrict_coq_context: cur rel ctx: - restrict_coq_context: cur subst: - restrict_coq_context: looking at u(dbl 0) -Debug: [elpi] ?e--0->?e -Debug: [elpi] lp2term: evar: create_unknown: restricted ctx:(u : ?e) -Debug: [elpi] in_elpi_evar:?X46 -Debug: -[elpi] - lp2term: evar: create_unknown: new link: ? |> |- ? = ?X47 - EVARS: - ?X47==[u |- ?e4] (internal placeholder) {?e5} - ?X46==[u |- Type] (internal placeholder) {?e4} - ?X45==[u |- ?e2] (internal placeholder) {?e3} - ?X44==[u |- Type] (internal placeholder) {?e2} - ?X43==[u |- ?e0] (internal placeholder) {?e1} - ?X42==[u |- Type] (internal placeholder) {?e0} - ?X41==[ |- Type] (internal placeholder) {?e} - -UNIVERSES: - {elpi_tests_stdlib.test_quotation.32 elpi_tests_stdlib.test_quotation.31 - elpi_tests_stdlib.test_quotation.30 elpi_tests_stdlib.test_quotation.29} |= - -ALGEBRAIC UNIVERSES: - {} -FLEXIBLE UNIVERSES: - -SORTS: - α26 - α27 - α28 - α29 -WEAK CONSTRAINTS: - -SHELF: -FUTURE GOALS STACK:?X47 ?X46 ?X45 ?X44 ?X43 ?X42 -?X41 - -Debug: [elpi] lp2term@1:X3 c0 -Debug: -[elpi] - lp2term: evar: calldepth:0 X3 c0 - RAW: -?X41 <-> X0 -?X42 <-> X12 -?X43 <-> X1 -?X44 <-> X14 -?X45 <-> X2 -?X46 <-> X16 -?X47 <-> X3 -ELAB: -?X41 <-> X0 -?X42 <-> X11 -?X43 <-> X1 -?X44 <-> X13 -?X45 <-> X2 -?X46 <-> X15 -?X47 <-> X3 - -Debug: [elpi] lp2term: evar: already in Coq: ?X47 -Debug: [elpi] lp2term@1:c0 -Debug: [elpi] lp2term@1:app [global (const «oval»), c0] -Debug: [elpi] lp2term@1:global (const «oval») -Debug: [elpi] lp2term@1:c0 -Debug: [elpi] lp2term@1:X4 c0 -Debug: -[elpi] - lp2term: evar: calldepth:0 X4 c0 - RAW: -?X41 <-> X0 -?X42 <-> X12 -?X43 <-> X1 -?X44 <-> X14 -?X45 <-> X2 -?X46 <-> X16 -?X47 <-> X3 -ELAB: -?X41 <-> X0 -?X42 <-> X11 -?X43 <-> X1 -?X44 <-> X13 -?X45 <-> X2 -?X46 <-> X15 -?X47 <-> X3 - -Debug: [elpi] lp2term: evar: unknown: calldepth:0 X4 -Debug: [elpi] lp2term: evar: create_unknown: whole ctx: ; (u : ?e) -Debug: [elpi] lp2term: evar: create_unknown: visible ctx:c0 -Debug: [elpi] restrict_coq_context: named: -Debug: -[elpi] - restrict_coq_context: cur rel ctx: - restrict_coq_context: cur subst: - restrict_coq_context: looking at u(dbl 0) -Debug: [elpi] ?e--0->?e -Debug: [elpi] lp2term: evar: create_unknown: restricted ctx:(u : ?e) -Debug: [elpi] in_elpi_evar:?X48 -Debug: -[elpi] - lp2term: evar: create_unknown: new link: ? |> |- ? = ?X49 - EVARS: - ?X49==[u |- ?e6] (internal placeholder) {?e7} - ?X48==[u |- Type] (internal placeholder) {?e6} - ?X47==[u |- ?e4] (internal placeholder) {?e5} - ?X46==[u |- Type] (internal placeholder) {?e4} - ?X45==[u |- ?e2] (internal placeholder) {?e3} - ?X44==[u |- Type] (internal placeholder) {?e2} - ?X43==[u |- ?e0] (internal placeholder) {?e1} - ?X42==[u |- Type] (internal placeholder) {?e0} - ?X41==[ |- Type] (internal placeholder) {?e} - -UNIVERSES: - {elpi_tests_stdlib.test_quotation.33 elpi_tests_stdlib.test_quotation.32 - elpi_tests_stdlib.test_quotation.31 elpi_tests_stdlib.test_quotation.30 - elpi_tests_stdlib.test_quotation.29} |= -ALGEBRAIC UNIVERSES: - {} -FLEXIBLE UNIVERSES: - -SORTS: - α26 - α27 - α28 - α29 - α30 -WEAK CONSTRAINTS: - -SHELF: -FUTURE GOALS STACK:?X49 ?X48 ?X47 ?X46 ?X45 ?X44 ?X43 ?X42 -?X41 - -Debug: [elpi] lp2term@1:X4 c0 -Debug: -[elpi] - lp2term: evar: calldepth:0 X4 c0 - RAW: -?X41 <-> X0 -?X42 <-> X12 -?X43 <-> X1 -?X44 <-> X14 -?X45 <-> X2 -?X46 <-> X16 -?X47 <-> X3 -?X48 <-> X18 -?X49 <-> X4 -ELAB: -?X41 <-> X0 -?X42 <-> X11 -?X43 <-> X1 -?X44 <-> X13 -?X45 <-> X2 -?X46 <-> X15 -?X47 <-> X3 -?X48 <-> X17 -?X49 <-> X4 - -Debug: [elpi] lp2term: evar: already in Coq: ?X49 -Debug: [elpi] lp2term@1:c0 -Debug: -[elpi] - lp2term@1:fun `K` (X5 c0) c1 \ - fun `K_S` (X6 c0 c1) c2 \ - fun `_elpi_renamed_u_3` (X7 c0 c1 c2) c3 \ - match c3 (fun `u0` (X8 c0 c1 c2 c3) c4 \ app [c1, c4]) - [fun `x` (X9 c0 c1 c2 c3) c4 \ - fun `Px` (X10 c0 c1 c2 c3 c4) c5 \ app [c2, c4, c5]] -Debug: [elpi] lp2term@1:X5 c0 -Debug: -[elpi] - lp2term: evar: calldepth:0 X5 c0 - RAW: -?X41 <-> X0 -?X42 <-> X12 -?X43 <-> X1 -?X44 <-> X14 -?X45 <-> X2 -?X46 <-> X16 -?X47 <-> X3 -?X48 <-> X18 -?X49 <-> X4 -ELAB: -?X41 <-> X0 -?X42 <-> X11 -?X43 <-> X1 -?X44 <-> X13 -?X45 <-> X2 -?X46 <-> X15 -?X47 <-> X3 -?X48 <-> X17 -?X49 <-> X4 - -Debug: [elpi] lp2term: evar: unknown: calldepth:0 X5 -Debug: [elpi] lp2term: evar: create_unknown: whole ctx: ; (u : ?e) -Debug: [elpi] lp2term: evar: create_unknown: visible ctx:c0 -Debug: [elpi] restrict_coq_context: named: -Debug: -[elpi] - restrict_coq_context: cur rel ctx: - restrict_coq_context: cur subst: - restrict_coq_context: looking at u(dbl 0) -Debug: [elpi] ?e--0->?e -Debug: [elpi] lp2term: evar: create_unknown: restricted ctx:(u : ?e) -Debug: -[elpi] - lp2term: evar: create_unknown: new link: ? |> |- ? = ?X50 - EVARS: - ?X50==[u |- Type] (internal placeholder) {?e8} - ?X49==[u |- ?e6] (internal placeholder) {?e7} - ?X48==[u |- Type] (internal placeholder) {?e6} - ?X47==[u |- ?e4] (internal placeholder) {?e5} - ?X46==[u |- Type] (internal placeholder) {?e4} - ?X45==[u |- ?e2] (internal placeholder) {?e3} - ?X44==[u |- Type] (internal placeholder) {?e2} - ?X43==[u |- ?e0] (internal placeholder) {?e1} - ?X42==[u |- Type] (internal placeholder) {?e0} - ?X41==[ |- Type] (internal placeholder) {?e} - -UNIVERSES: - {elpi_tests_stdlib.test_quotation.34 elpi_tests_stdlib.test_quotation.33 - elpi_tests_stdlib.test_quotation.32 elpi_tests_stdlib.test_quotation.31 - elpi_tests_stdlib.test_quotation.30 elpi_tests_stdlib.test_quotation.29} |= - -ALGEBRAIC UNIVERSES: - {} -FLEXIBLE UNIVERSES: - -SORTS: - α26 - α27 - α28 - α29 - α30 - α31 -WEAK CONSTRAINTS: - -SHELF: -FUTURE GOALS STACK:?X50 ?X49 ?X48 ?X47 ?X46 ?X45 ?X44 ?X43 ?X42 -?X41 - -Debug: [elpi] lp2term@1:X5 c0 -Debug: -[elpi] - lp2term: evar: calldepth:0 X5 c0 - RAW: -?X41 <-> X0 -?X42 <-> X12 -?X43 <-> X1 -?X44 <-> X14 -?X45 <-> X2 -?X46 <-> X16 -?X47 <-> X3 -?X48 <-> X18 -?X49 <-> X4 -?X50 <-> X5 -ELAB: -?X41 <-> X0 -?X42 <-> X11 -?X43 <-> X1 -?X44 <-> X13 -?X45 <-> X2 -?X46 <-> X15 -?X47 <-> X3 -?X48 <-> X17 -?X49 <-> X4 -?X50 <-> X5 - -Debug: [elpi] lp2term: evar: already in Coq: ?X50 -Debug: [elpi] lp2term@1:c0 -Debug: -[elpi] - lp2term@2:fun `K_S` (X6 c0 c1) c2 \ - fun `_elpi_renamed_u_3` (X7 c0 c1 c2) c3 \ - match c3 (fun `u0` (X8 c0 c1 c2 c3) c4 \ app [c1, c4]) - [fun `x` (X9 c0 c1 c2 c3) c4 \ - fun `Px` (X10 c0 c1 c2 c3 c4) c5 \ app [c2, c4, c5]] -Debug: [elpi] lp2term@2:X6 c0 c1 -Debug: -[elpi] - lp2term: evar: calldepth:0 X6 c0 c1 - RAW: -?X41 <-> X0 -?X42 <-> X12 -?X43 <-> X1 -?X44 <-> X14 -?X45 <-> X2 -?X46 <-> X16 -?X47 <-> X3 -?X48 <-> X18 -?X49 <-> X4 -?X50 <-> X5 -ELAB: -?X41 <-> X0 -?X42 <-> X11 -?X43 <-> X1 -?X44 <-> X13 -?X45 <-> X2 -?X46 <-> X15 -?X47 <-> X3 -?X48 <-> X17 -?X49 <-> X4 -?X50 <-> X5 - -Debug: [elpi] lp2term: evar: unknown: calldepth:0 X6 -Debug: [elpi] lp2term: evar: create_unknown: whole ctx: ; (u : ?e) (K : ?e8) -Debug: [elpi] lp2term: evar: create_unknown: visible ctx:c0 -c1 -Debug: [elpi] restrict_coq_context: named: -Debug: -[elpi] - restrict_coq_context: cur rel ctx: - restrict_coq_context: cur subst: - restrict_coq_context: looking at u(dbl 0) -Debug: [elpi] ?e--0->?e -Debug: -[elpi] - restrict_coq_context: cur rel ctx: (u : ?e) - restrict_coq_context: cur subst: u - restrict_coq_context: looking at K(dbl 1) -Debug: [elpi] ?e8--0->?e8 -Debug: -[elpi] lp2term: evar: create_unknown: restricted ctx:(u : ?e) (K : ?e8) -Debug: -[elpi] - lp2term: evar: create_unknown: new link: ? |> |- ? = ?X51 - EVARS: - ?X51==[u K |- Type] (internal placeholder) {?e9} - ?X50==[u |- Type] (internal placeholder) {?e8} - ?X49==[u |- ?e6] (internal placeholder) {?e7} - ?X48==[u |- Type] (internal placeholder) {?e6} - ?X47==[u |- ?e4] (internal placeholder) {?e5} - ?X46==[u |- Type] (internal placeholder) {?e4} - ?X45==[u |- ?e2] (internal placeholder) {?e3} - ?X44==[u |- Type] (internal placeholder) {?e2} - ?X43==[u |- ?e0] (internal placeholder) {?e1} - ?X42==[u |- Type] (internal placeholder) {?e0} - ?X41==[ |- Type] (internal placeholder) {?e} - -UNIVERSES: - {elpi_tests_stdlib.test_quotation.35 elpi_tests_stdlib.test_quotation.34 - elpi_tests_stdlib.test_quotation.33 elpi_tests_stdlib.test_quotation.32 - elpi_tests_stdlib.test_quotation.31 elpi_tests_stdlib.test_quotation.30 - elpi_tests_stdlib.test_quotation.29} |= -ALGEBRAIC UNIVERSES: - {} -FLEXIBLE UNIVERSES: - -SORTS: - α26 - α27 - α28 - α29 - α30 - α31 - α32 -WEAK CONSTRAINTS: - -SHELF: -FUTURE GOALS STACK:?X51 ?X50 ?X49 ?X48 ?X47 ?X46 ?X45 ?X44 ?X43 ?X42 -?X41 - -Debug: [elpi] lp2term@2:X6 c0 c1 -Debug: -[elpi] - lp2term: evar: calldepth:0 X6 c0 c1 - RAW: -?X41 <-> X0 -?X42 <-> X12 -?X43 <-> X1 -?X44 <-> X14 -?X45 <-> X2 -?X46 <-> X16 -?X47 <-> X3 -?X48 <-> X18 -?X49 <-> X4 -?X50 <-> X5 -?X51 <-> X6 -ELAB: -?X41 <-> X0 -?X42 <-> X11 -?X43 <-> X1 -?X44 <-> X13 -?X45 <-> X2 -?X46 <-> X15 -?X47 <-> X3 -?X48 <-> X17 -?X49 <-> X4 -?X50 <-> X5 -?X51 <-> X6 - -Debug: [elpi] lp2term: evar: already in Coq: ?X51 -Debug: [elpi] lp2term@2:c0 -Debug: [elpi] lp2term@2:c1 -Debug: -[elpi] - lp2term@3:fun `_elpi_renamed_u_3` (X7 c0 c1 c2) c3 \ - match c3 (fun `u0` (X8 c0 c1 c2 c3) c4 \ app [c1, c4]) - [fun `x` (X9 c0 c1 c2 c3) c4 \ - fun `Px` (X10 c0 c1 c2 c3 c4) c5 \ app [c2, c4, c5]] -Debug: [elpi] lp2term@3:X7 c0 c1 c2 -Debug: -[elpi] - lp2term: evar: calldepth:0 X7 c0 c1 c2 - RAW: -?X41 <-> X0 -?X42 <-> X12 -?X43 <-> X1 -?X44 <-> X14 -?X45 <-> X2 -?X46 <-> X16 -?X47 <-> X3 -?X48 <-> X18 -?X49 <-> X4 -?X50 <-> X5 -?X51 <-> X6 -ELAB: -?X41 <-> X0 -?X42 <-> X11 -?X43 <-> X1 -?X44 <-> X13 -?X45 <-> X2 -?X46 <-> X15 -?X47 <-> X3 -?X48 <-> X17 -?X49 <-> X4 -?X50 <-> X5 -?X51 <-> X6 - -Debug: [elpi] lp2term: evar: unknown: calldepth:0 X7 -Debug: -[elpi] - lp2term: evar: create_unknown: whole ctx: ; (u : ?e) - (K : ?e8) - (K_S : ?e9) -Debug: [elpi] lp2term: evar: create_unknown: visible ctx:c0 c1 -c2 -Debug: [elpi] restrict_coq_context: named: -Debug: -[elpi] - restrict_coq_context: cur rel ctx: - restrict_coq_context: cur subst: - restrict_coq_context: looking at u(dbl 0) -Debug: [elpi] ?e--0->?e -Debug: -[elpi] - restrict_coq_context: cur rel ctx: (u : ?e) - restrict_coq_context: cur subst: u - restrict_coq_context: looking at K(dbl 1) -Debug: [elpi] ?e8--0->?e8 -Debug: -[elpi] - restrict_coq_context: cur rel ctx: (u : ?e) - (K : ?e8) - restrict_coq_context: cur subst: K - u - restrict_coq_context: looking at K_S(dbl 2) -Debug: [elpi] ?e9--0->?e9 -Debug: -[elpi] - lp2term: evar: create_unknown: restricted ctx:(u : ?e) - (K : ?e8) - (K_S : ?e9) -Debug: -[elpi] - lp2term: evar: create_unknown: new link: ? |> |- ? = ?X52 - EVARS: - ?X52==[u K K_S |- Type] (internal placeholder) {?e10} - ?X51==[u K |- Type] (internal placeholder) {?e9} - ?X50==[u |- Type] (internal placeholder) {?e8} - ?X49==[u |- ?e6] (internal placeholder) {?e7} - ?X48==[u |- Type] (internal placeholder) {?e6} - ?X47==[u |- ?e4] (internal placeholder) {?e5} - ?X46==[u |- Type] (internal placeholder) {?e4} - ?X45==[u |- ?e2] (internal placeholder) {?e3} - ?X44==[u |- Type] (internal placeholder) {?e2} - ?X43==[u |- ?e0] (internal placeholder) {?e1} - ?X42==[u |- Type] (internal placeholder) {?e0} - ?X41==[ |- Type] (internal placeholder) {?e} - -UNIVERSES: - {elpi_tests_stdlib.test_quotation.36 elpi_tests_stdlib.test_quotation.35 - elpi_tests_stdlib.test_quotation.34 elpi_tests_stdlib.test_quotation.33 - elpi_tests_stdlib.test_quotation.32 elpi_tests_stdlib.test_quotation.31 - elpi_tests_stdlib.test_quotation.30 elpi_tests_stdlib.test_quotation.29} |= - -ALGEBRAIC UNIVERSES: - {} -FLEXIBLE UNIVERSES: - -SORTS: - α26 - α27 - α28 - α29 - α30 - α31 - α32 - α33 -WEAK CONSTRAINTS: - -SHELF: -FUTURE GOALS STACK:?X52 ?X51 ?X50 ?X49 ?X48 ?X47 ?X46 ?X45 ?X44 ?X43 ?X42 -?X41 - -Debug: [elpi] lp2term@3:X7 c0 c1 c2 -Debug: -[elpi] - lp2term: evar: calldepth:0 X7 c0 c1 c2 - RAW: -?X41 <-> X0 -?X42 <-> X12 -?X43 <-> X1 -?X44 <-> X14 -?X45 <-> X2 -?X46 <-> X16 -?X47 <-> X3 -?X48 <-> X18 -?X49 <-> X4 -?X50 <-> X5 -?X51 <-> X6 -?X52 <-> X7 -ELAB: -?X41 <-> X0 -?X42 <-> X11 -?X43 <-> X1 -?X44 <-> X13 -?X45 <-> X2 -?X46 <-> X15 -?X47 <-> X3 -?X48 <-> X17 -?X49 <-> X4 -?X50 <-> X5 -?X51 <-> X6 -?X52 <-> X7 - -Debug: [elpi] lp2term: evar: already in Coq: ?X52 -Debug: [elpi] lp2term@3:c0 -Debug: [elpi] lp2term@3:c1 -Debug: [elpi] lp2term@3:c2 -Debug: -[elpi] - lp2term@4:match c3 (fun `u0` (X8 c0 c1 c2 c3) c4 \ app [c1, c4]) - [fun `x` (X9 c0 c1 c2 c3) c4 \ - fun `Px` (X10 c0 c1 c2 c3 c4) c5 \ app [c2, c4, c5]] -Debug: [elpi] lp2term@4:c3 -Debug: [elpi] lp2term@4:fun `u0` (X8 c0 c1 c2 c3) c4 \ app [c1, c4] -Debug: [elpi] lp2term@4:X8 c0 c1 c2 c3 -Debug: -[elpi] - lp2term: evar: calldepth:0 X8 c0 c1 c2 c3 - RAW: -?X41 <-> X0 -?X42 <-> X12 -?X43 <-> X1 -?X44 <-> X14 -?X45 <-> X2 -?X46 <-> X16 -?X47 <-> X3 -?X48 <-> X18 -?X49 <-> X4 -?X50 <-> X5 -?X51 <-> X6 -?X52 <-> X7 -ELAB: -?X41 <-> X0 -?X42 <-> X11 -?X43 <-> X1 -?X44 <-> X13 -?X45 <-> X2 -?X46 <-> X15 -?X47 <-> X3 -?X48 <-> X17 -?X49 <-> X4 -?X50 <-> X5 -?X51 <-> X6 -?X52 <-> X7 - -Debug: [elpi] lp2term: evar: unknown: calldepth:0 X8 -Debug: -[elpi] - lp2term: evar: create_unknown: whole ctx: ; (u : ?e) - (K : ?e8) - (K_S : ?e9) - (_elpi_renamed_u_3 : ?e10) -Debug: [elpi] lp2term: evar: create_unknown: visible ctx:c0 c1 c2 -c3 -Debug: [elpi] restrict_coq_context: named: -Debug: -[elpi] - restrict_coq_context: cur rel ctx: - restrict_coq_context: cur subst: - restrict_coq_context: looking at u(dbl 0) -Debug: [elpi] ?e--0->?e -Debug: -[elpi] - restrict_coq_context: cur rel ctx: (u : ?e) - restrict_coq_context: cur subst: u - restrict_coq_context: looking at K(dbl 1) -Debug: [elpi] ?e8--0->?e8 -Debug: -[elpi] - restrict_coq_context: cur rel ctx: (u : ?e) - (K : ?e8) - restrict_coq_context: cur subst: K - u - restrict_coq_context: looking at K_S(dbl 2) -Debug: [elpi] ?e9--0->?e9 -Debug: -[elpi] - restrict_coq_context: cur rel ctx: (u : ?e) - (K : ?e8) - (K_S : ?e9) - restrict_coq_context: cur subst: K_S - K - u - restrict_coq_context: looking at _elpi_renamed_u_3(dbl 3) -Debug: [elpi] ?e10--0->?e10 -Debug: -[elpi] - lp2term: evar: create_unknown: restricted ctx:(u : ?e) - (K : ?e8) - (K_S : ?e9) - (_elpi_renamed_u_3 : ?e10) -Debug: -[elpi] - lp2term: evar: create_unknown: new link: ? |> |- ? = ?X53 - EVARS: - ?X53==[u K K_S _elpi_renamed_u_3 |- Type] (internal placeholder) {?e11} - ?X52==[u K K_S |- Type] (internal placeholder) {?e10} - ?X51==[u K |- Type] (internal placeholder) {?e9} - ?X50==[u |- Type] (internal placeholder) {?e8} - ?X49==[u |- ?e6] (internal placeholder) {?e7} - ?X48==[u |- Type] (internal placeholder) {?e6} - ?X47==[u |- ?e4] (internal placeholder) {?e5} - ?X46==[u |- Type] (internal placeholder) {?e4} - ?X45==[u |- ?e2] (internal placeholder) {?e3} - ?X44==[u |- Type] (internal placeholder) {?e2} - ?X43==[u |- ?e0] (internal placeholder) {?e1} - ?X42==[u |- Type] (internal placeholder) {?e0} - ?X41==[ |- Type] (internal placeholder) {?e} - -UNIVERSES: - {elpi_tests_stdlib.test_quotation.37 elpi_tests_stdlib.test_quotation.36 - elpi_tests_stdlib.test_quotation.35 elpi_tests_stdlib.test_quotation.34 - elpi_tests_stdlib.test_quotation.33 elpi_tests_stdlib.test_quotation.32 - elpi_tests_stdlib.test_quotation.31 elpi_tests_stdlib.test_quotation.30 - elpi_tests_stdlib.test_quotation.29} |= -ALGEBRAIC UNIVERSES: - {} -FLEXIBLE UNIVERSES: - -SORTS: - α26 - α27 - α28 - α29 - α30 - α31 - α32 - α33 - α34 -WEAK CONSTRAINTS: - -SHELF: -FUTURE GOALS STACK:?X53 ?X52 ?X51 ?X50 ?X49 ?X48 ?X47 ?X46 ?X45 ?X44 ?X43 -?X42 -?X41 - -Debug: [elpi] lp2term@4:X8 c0 c1 c2 c3 -Debug: -[elpi] - lp2term: evar: calldepth:0 X8 c0 c1 c2 c3 - RAW: -?X41 <-> X0 -?X42 <-> X12 -?X43 <-> X1 -?X44 <-> X14 -?X45 <-> X2 -?X46 <-> X16 -?X47 <-> X3 -?X48 <-> X18 -?X49 <-> X4 -?X50 <-> X5 -?X51 <-> X6 -?X52 <-> X7 -?X53 <-> X8 -ELAB: -?X41 <-> X0 -?X42 <-> X11 -?X43 <-> X1 -?X44 <-> X13 -?X45 <-> X2 -?X46 <-> X15 -?X47 <-> X3 -?X48 <-> X17 -?X49 <-> X4 -?X50 <-> X5 -?X51 <-> X6 -?X52 <-> X7 -?X53 <-> X8 - -Debug: [elpi] lp2term: evar: already in Coq: ?X53 -Debug: [elpi] lp2term@4:c0 -Debug: [elpi] lp2term@4:c1 -Debug: [elpi] lp2term@4:c2 -Debug: [elpi] lp2term@4:c3 -Debug: [elpi] lp2term@5:app [c1, c4] -Debug: [elpi] lp2term@5:c1 -Debug: [elpi] lp2term@5:c4 -Debug: -[elpi] - lp2term@4:fun `x` (X9 c0 c1 c2 c3) c4 \ - fun `Px` (X10 c0 c1 c2 c3 c4) c5 \ app [c2, c4, c5] -Debug: [elpi] lp2term@4:X9 c0 c1 c2 c3 -Debug: -[elpi] - lp2term: evar: calldepth:0 X9 c0 c1 c2 c3 - RAW: -?X41 <-> X0 -?X42 <-> X12 -?X43 <-> X1 -?X44 <-> X14 -?X45 <-> X2 -?X46 <-> X16 -?X47 <-> X3 -?X48 <-> X18 -?X49 <-> X4 -?X50 <-> X5 -?X51 <-> X6 -?X52 <-> X7 -?X53 <-> X8 -ELAB: -?X41 <-> X0 -?X42 <-> X11 -?X43 <-> X1 -?X44 <-> X13 -?X45 <-> X2 -?X46 <-> X15 -?X47 <-> X3 -?X48 <-> X17 -?X49 <-> X4 -?X50 <-> X5 -?X51 <-> X6 -?X52 <-> X7 -?X53 <-> X8 - -Debug: [elpi] lp2term: evar: unknown: calldepth:0 X9 -Debug: -[elpi] - lp2term: evar: create_unknown: whole ctx: ; (u : ?e) - (K : ?e8) - (K_S : ?e9) - (_elpi_renamed_u_3 : ?e10) -Debug: [elpi] lp2term: evar: create_unknown: visible ctx:c0 c1 c2 -c3 -Debug: [elpi] restrict_coq_context: named: -Debug: -[elpi] - restrict_coq_context: cur rel ctx: - restrict_coq_context: cur subst: - restrict_coq_context: looking at u(dbl 0) -Debug: [elpi] ?e--0->?e -Debug: -[elpi] - restrict_coq_context: cur rel ctx: (u : ?e) - restrict_coq_context: cur subst: u - restrict_coq_context: looking at K(dbl 1) -Debug: [elpi] ?e8--0->?e8 -Debug: -[elpi] - restrict_coq_context: cur rel ctx: (u : ?e) - (K : ?e8) - restrict_coq_context: cur subst: K - u - restrict_coq_context: looking at K_S(dbl 2) -Debug: [elpi] ?e9--0->?e9 -Debug: -[elpi] - restrict_coq_context: cur rel ctx: (u : ?e) - (K : ?e8) - (K_S : ?e9) - restrict_coq_context: cur subst: K_S - K - u - restrict_coq_context: looking at _elpi_renamed_u_3(dbl 3) -Debug: [elpi] ?e10--0->?e10 -Debug: -[elpi] - lp2term: evar: create_unknown: restricted ctx:(u : ?e) - (K : ?e8) - (K_S : ?e9) - (_elpi_renamed_u_3 : ?e10) -Debug: -[elpi] - lp2term: evar: create_unknown: new link: ? |> |- ? = ?X54 - EVARS: - ?X54==[u K K_S _elpi_renamed_u_3 |- Type] (internal placeholder) {?e12} - ?X53==[u K K_S _elpi_renamed_u_3 |- Type] (internal placeholder) {?e11} - ?X52==[u K K_S |- Type] (internal placeholder) {?e10} - ?X51==[u K |- Type] (internal placeholder) {?e9} - ?X50==[u |- Type] (internal placeholder) {?e8} - ?X49==[u |- ?e6] (internal placeholder) {?e7} - ?X48==[u |- Type] (internal placeholder) {?e6} - ?X47==[u |- ?e4] (internal placeholder) {?e5} - ?X46==[u |- Type] (internal placeholder) {?e4} - ?X45==[u |- ?e2] (internal placeholder) {?e3} - ?X44==[u |- Type] (internal placeholder) {?e2} - ?X43==[u |- ?e0] (internal placeholder) {?e1} - ?X42==[u |- Type] (internal placeholder) {?e0} - ?X41==[ |- Type] (internal placeholder) {?e} - -UNIVERSES: - {elpi_tests_stdlib.test_quotation.38 elpi_tests_stdlib.test_quotation.37 - elpi_tests_stdlib.test_quotation.36 elpi_tests_stdlib.test_quotation.35 - elpi_tests_stdlib.test_quotation.34 elpi_tests_stdlib.test_quotation.33 - elpi_tests_stdlib.test_quotation.32 elpi_tests_stdlib.test_quotation.31 - elpi_tests_stdlib.test_quotation.30 elpi_tests_stdlib.test_quotation.29} |= - -ALGEBRAIC UNIVERSES: - {} -FLEXIBLE UNIVERSES: - -SORTS: - α26 - α27 - α28 - α29 - α30 - α31 - α32 - α33 - α34 - α35 -WEAK CONSTRAINTS: - -SHELF: -FUTURE GOALS STACK:?X54 ?X53 ?X52 ?X51 ?X50 ?X49 ?X48 ?X47 ?X46 ?X45 ?X44 -?X43 ?X42 -?X41 - -Debug: [elpi] lp2term@4:X9 c0 c1 c2 c3 -Debug: -[elpi] - lp2term: evar: calldepth:0 X9 c0 c1 c2 c3 - RAW: -?X41 <-> X0 -?X42 <-> X12 -?X43 <-> X1 -?X44 <-> X14 -?X45 <-> X2 -?X46 <-> X16 -?X47 <-> X3 -?X48 <-> X18 -?X49 <-> X4 -?X50 <-> X5 -?X51 <-> X6 -?X52 <-> X7 -?X53 <-> X8 -?X54 <-> X9 -ELAB: -?X41 <-> X0 -?X42 <-> X11 -?X43 <-> X1 -?X44 <-> X13 -?X45 <-> X2 -?X46 <-> X15 -?X47 <-> X3 -?X48 <-> X17 -?X49 <-> X4 -?X50 <-> X5 -?X51 <-> X6 -?X52 <-> X7 -?X53 <-> X8 -?X54 <-> X9 - -Debug: [elpi] lp2term: evar: already in Coq: ?X54 -Debug: [elpi] lp2term@4:c0 -Debug: [elpi] lp2term@4:c1 -Debug: [elpi] lp2term@4:c2 -Debug: [elpi] lp2term@4:c3 -Debug: [elpi] lp2term@5:fun `Px` (X10 c0 c1 c2 c3 c4) c5 \ app [c2, c4, c5] -Debug: [elpi] lp2term@5:X10 c0 c1 c2 c3 c4 -Debug: -[elpi] - lp2term: evar: calldepth:0 X10 c0 c1 c2 c3 c4 - RAW: -?X41 <-> X0 -?X42 <-> X12 -?X43 <-> X1 -?X44 <-> X14 -?X45 <-> X2 -?X46 <-> X16 -?X47 <-> X3 -?X48 <-> X18 -?X49 <-> X4 -?X50 <-> X5 -?X51 <-> X6 -?X52 <-> X7 -?X53 <-> X8 -?X54 <-> X9 -ELAB: -?X41 <-> X0 -?X42 <-> X11 -?X43 <-> X1 -?X44 <-> X13 -?X45 <-> X2 -?X46 <-> X15 -?X47 <-> X3 -?X48 <-> X17 -?X49 <-> X4 -?X50 <-> X5 -?X51 <-> X6 -?X52 <-> X7 -?X53 <-> X8 -?X54 <-> X9 - -Debug: [elpi] lp2term: evar: unknown: calldepth:0 X10 -Debug: -[elpi] - lp2term: evar: create_unknown: whole ctx: ; (u : ?e) - (K : ?e8) - (K_S : ?e9) - (_elpi_renamed_u_3 : ?e10) - (x : ?e12) -Debug: [elpi] lp2term: evar: create_unknown: visible ctx:c0 c1 c2 c3 -c4 -Debug: [elpi] restrict_coq_context: named: -Debug: -[elpi] - restrict_coq_context: cur rel ctx: - restrict_coq_context: cur subst: - restrict_coq_context: looking at u(dbl 0) -Debug: [elpi] ?e--0->?e -Debug: -[elpi] - restrict_coq_context: cur rel ctx: (u : ?e) - restrict_coq_context: cur subst: u - restrict_coq_context: looking at K(dbl 1) -Debug: [elpi] ?e8--0->?e8 -Debug: -[elpi] - restrict_coq_context: cur rel ctx: (u : ?e) - (K : ?e8) - restrict_coq_context: cur subst: K - u - restrict_coq_context: looking at K_S(dbl 2) -Debug: [elpi] ?e9--0->?e9 -Debug: -[elpi] - restrict_coq_context: cur rel ctx: (u : ?e) - (K : ?e8) - (K_S : ?e9) - restrict_coq_context: cur subst: K_S - K - u - restrict_coq_context: looking at _elpi_renamed_u_3(dbl 3) -Debug: [elpi] ?e10--0->?e10 -Debug: -[elpi] - restrict_coq_context: cur rel ctx: (u : ?e) - (K : ?e8) - (K_S : ?e9) - (_elpi_renamed_u_3 : ?e10) - restrict_coq_context: cur subst: _elpi_renamed_u_3 - K_S - K - u - restrict_coq_context: looking at x(dbl 4) -Debug: [elpi] ?e12--0->?e12 -Debug: -[elpi] - lp2term: evar: create_unknown: restricted ctx:(u : ?e) - (K : ?e8) - (K_S : ?e9) - (_elpi_renamed_u_3 : ?e10) - (x : ?e12) -Debug: -[elpi] - lp2term: evar: create_unknown: new link: ? |> |- ? = ?X55 - EVARS: - ?X55==[u K K_S _elpi_renamed_u_3 x |- Type] (internal placeholder) {?e13} - ?X54==[u K K_S _elpi_renamed_u_3 |- Type] (internal placeholder) {?e12} - ?X53==[u K K_S _elpi_renamed_u_3 |- Type] (internal placeholder) {?e11} - ?X52==[u K K_S |- Type] (internal placeholder) {?e10} - ?X51==[u K |- Type] (internal placeholder) {?e9} - ?X50==[u |- Type] (internal placeholder) {?e8} - ?X49==[u |- ?e6] (internal placeholder) {?e7} - ?X48==[u |- Type] (internal placeholder) {?e6} - ?X47==[u |- ?e4] (internal placeholder) {?e5} - ?X46==[u |- Type] (internal placeholder) {?e4} - ?X45==[u |- ?e2] (internal placeholder) {?e3} - ?X44==[u |- Type] (internal placeholder) {?e2} - ?X43==[u |- ?e0] (internal placeholder) {?e1} - ?X42==[u |- Type] (internal placeholder) {?e0} - ?X41==[ |- Type] (internal placeholder) {?e} - -UNIVERSES: - {elpi_tests_stdlib.test_quotation.39 elpi_tests_stdlib.test_quotation.38 - elpi_tests_stdlib.test_quotation.37 elpi_tests_stdlib.test_quotation.36 - elpi_tests_stdlib.test_quotation.35 elpi_tests_stdlib.test_quotation.34 - elpi_tests_stdlib.test_quotation.33 elpi_tests_stdlib.test_quotation.32 - elpi_tests_stdlib.test_quotation.31 elpi_tests_stdlib.test_quotation.30 - elpi_tests_stdlib.test_quotation.29} |= -ALGEBRAIC UNIVERSES: - {} -FLEXIBLE UNIVERSES: - -SORTS: - α26 - α27 - α28 - α29 - α30 - α31 - α32 - α33 - α34 - α35 - α36 -WEAK CONSTRAINTS: - -SHELF: -FUTURE GOALS STACK:?X55 ?X54 ?X53 ?X52 ?X51 ?X50 ?X49 ?X48 ?X47 ?X46 ?X45 -?X44 ?X43 ?X42 -?X41 - -Debug: [elpi] lp2term@5:X10 c0 c1 c2 c3 c4 -Debug: -[elpi] - lp2term: evar: calldepth:0 X10 c0 c1 c2 c3 c4 - RAW: -?X41 <-> X0 -?X42 <-> X12 -?X43 <-> X1 -?X44 <-> X14 -?X45 <-> X2 -?X46 <-> X16 -?X47 <-> X3 -?X48 <-> X18 -?X49 <-> X4 -?X50 <-> X5 -?X51 <-> X6 -?X52 <-> X7 -?X53 <-> X8 -?X54 <-> X9 -?X55 <-> X10 -ELAB: -?X41 <-> X0 -?X42 <-> X11 -?X43 <-> X1 -?X44 <-> X13 -?X45 <-> X2 -?X46 <-> X15 -?X47 <-> X3 -?X48 <-> X17 -?X49 <-> X4 -?X50 <-> X5 -?X51 <-> X6 -?X52 <-> X7 -?X53 <-> X8 -?X54 <-> X9 -?X55 <-> X10 - -Debug: [elpi] lp2term: evar: already in Coq: ?X55 -Debug: [elpi] lp2term@5:c0 -Debug: [elpi] lp2term@5:c1 -Debug: [elpi] lp2term@5:c2 -Debug: [elpi] lp2term@5:c3 -Debug: [elpi] lp2term@5:c4 -Debug: [elpi] lp2term@6:app [c2, c4, c5] -Debug: [elpi] lp2term@6:c2 -Debug: [elpi] lp2term@6:c4 -Debug: [elpi] lp2term@6:c5 -Debug: -[elpi] - lp2term: out=(fun u : ?e => - {| - val := oval u; - Sub := ?e7; - Sub_rect := - fun (K : ?e8) (K_S : ?e9) (_elpi_renamed_u_3 : ?e10) => - let - (x, Px) as u0 - return - ?e11@{u:=K; K:=K_S; K_S:=_elpi_renamed_u_3; - _elpi_renamed_u_3:=u0} := _elpi_renamed_u_3 in - K_S x Px - |}) - elpi2coq: - RAW: -?X41 <-> X0 -?X42 <-> X12 -?X43 <-> X1 -?X44 <-> X14 -?X45 <-> X2 -?X46 <-> X16 -?X47 <-> X3 -?X48 <-> X18 -?X49 <-> X4 -?X50 <-> X5 -?X51 <-> X6 -?X52 <-> X7 -?X53 <-> X8 -?X54 <-> X9 -?X55 <-> X10 -ELAB: -?X41 <-> X0 -?X42 <-> X11 -?X43 <-> X1 -?X44 <-> X13 -?X45 <-> X2 -?X46 <-> X15 -?X47 <-> X3 -?X48 <-> X17 -?X49 <-> X4 -?X50 <-> X5 -?X51 <-> X6 -?X52 <-> X7 -?X53 <-> X8 -?X54 <-> X9 -?X55 <-> X10 -EVARS: - ?X55==[u K K_S _elpi_renamed_u_3 x |- Type] (internal placeholder) {?e13} - ?X54==[u K K_S _elpi_renamed_u_3 |- Type] (internal placeholder) {?e12} - ?X53==[u K K_S _elpi_renamed_u_3 |- Type] (internal placeholder) {?e11} - ?X52==[u K K_S |- Type] (internal placeholder) {?e10} - ?X51==[u K |- Type] (internal placeholder) {?e9} - ?X50==[u |- Type] (internal placeholder) {?e8} - ?X49==[u |- ?e6] (internal placeholder) {?e7} - ?X48==[u |- Type] (internal placeholder) {?e6} - ?X47==[u |- ?e4] (internal placeholder) {?e5} - ?X46==[u |- Type] (internal placeholder) {?e4} - ?X45==[u |- ?e2] (internal placeholder) {?e3} - ?X44==[u |- Type] (internal placeholder) {?e2} - ?X43==[u |- ?e0] (internal placeholder) {?e1} - ?X42==[u |- Type] (internal placeholder) {?e0} - ?X41==[ |- Type] (internal placeholder) {?e} - - UNIVERSES: - {elpi_tests_stdlib.test_quotation.39 elpi_tests_stdlib.test_quotation.38 - elpi_tests_stdlib.test_quotation.37 elpi_tests_stdlib.test_quotation.36 - elpi_tests_stdlib.test_quotation.35 elpi_tests_stdlib.test_quotation.34 - elpi_tests_stdlib.test_quotation.33 elpi_tests_stdlib.test_quotation.32 - elpi_tests_stdlib.test_quotation.31 elpi_tests_stdlib.test_quotation.30 - elpi_tests_stdlib.test_quotation.29} |= - ALGEBRAIC UNIVERSES: - {} - FLEXIBLE UNIVERSES: - - SORTS: - α26 - α27 - α28 - α29 - α30 - α31 - α32 - α33 - α34 - α35 - α36 - WEAK CONSTRAINTS: - - SHELF: - - FUTURE GOALS STACK: - ?X55 - ?X54 - ?X53 - ?X52 - ?X51 - ?X50 - ?X49 - ?X48 - ?X47 - ?X46 - ?X45 - ?X44 - ?X43 - ?X42 - ?X41 - -Debug: -[elpi] - in_elpi_fresh_evar: unknown ?X41 <-> X0 - RAW: -?X41 <-> X0 -?X42 <-> X12 -?X43 <-> X1 -?X44 <-> X14 -?X45 <-> X2 -?X46 <-> X16 -?X47 <-> X3 -?X48 <-> X18 -?X49 <-> X4 -?X50 <-> X5 -?X51 <-> X6 -?X52 <-> X7 -?X53 <-> X8 -?X54 <-> X9 -?X55 <-> X10 -ELAB: -?X41 <-> X0 -?X42 <-> X11 -?X43 <-> X1 -?X44 <-> X13 -?X45 <-> X2 -?X46 <-> X15 -?X47 <-> X3 -?X48 <-> X17 -?X49 <-> X4 -?X50 <-> X5 -?X51 <-> X6 -?X52 <-> X7 -?X53 <-> X8 -?X54 <-> X9 -?X55 <-> X10 - -Debug: [elpi] term2lp: depth=0 ctx= term=Type -Debug: [elpi] term2lp (out): sort (typ «elpi_tests_stdlib.test_quotation.29») -Debug: [elpi] in_elpi_evar_concl: moving Ctx down to0 -Debug: -[elpi] - in_elpi_fresh_evar: new decl at depth:0 for ?X41 <-> X0 - declare-evar [] (X0) (sort (typ «elpi_tests_stdlib.test_quotation.29»)) - (X0) -Debug: -[elpi] - in_elpi_fresh_evar: unknown ?X42 <-> X12 - RAW: -?X41 <-> X0 -?X42 <-> X12 -?X43 <-> X1 -?X44 <-> X14 -?X45 <-> X2 -?X46 <-> X16 -?X47 <-> X3 -?X48 <-> X18 -?X49 <-> X4 -?X50 <-> X5 -?X51 <-> X6 -?X52 <-> X7 -?X53 <-> X8 -?X54 <-> X9 -?X55 <-> X10 -ELAB: -?X41 <-> X0 -?X42 <-> X11 -?X43 <-> X1 -?X44 <-> X13 -?X45 <-> X2 -?X46 <-> X15 -?X47 <-> X3 -?X48 <-> X17 -?X49 <-> X4 -?X50 <-> X5 -?X51 <-> X6 -?X52 <-> X7 -?X53 <-> X8 -?X54 <-> X9 -?X55 <-> X10 - -Debug: [elpi] term2lp: depth=1 ctx= term=?e -Debug: [elpi] in_elpi_evar:?X41 -Debug: [elpi] in_elpi_evar: known ?X41 as X0 -Debug: [elpi] term2lp (out): X0 -Debug: [elpi] term2lp: depth=1 ctx=u : ?e term=Type -Debug: [elpi] term2lp (out): sort (typ «elpi_tests_stdlib.test_quotation.30») -Debug: [elpi] in_elpi_evar_concl: moving Ctx down to1 -Debug: -[elpi] - in_elpi_fresh_evar: new decl at depth:0 for ?X42 <-> X12 - pi c0 \ - declare-evar [decl c0 `u` (X0)] (X12 c0) - (sort (typ «elpi_tests_stdlib.test_quotation.30»)) (X11 c0) -Debug: -[elpi] - in_elpi_fresh_evar: unknown ?X43 <-> X1 - RAW: -?X41 <-> X0 -?X42 <-> X12 -?X43 <-> X1 -?X44 <-> X14 -?X45 <-> X2 -?X46 <-> X16 -?X47 <-> X3 -?X48 <-> X18 -?X49 <-> X4 -?X50 <-> X5 -?X51 <-> X6 -?X52 <-> X7 -?X53 <-> X8 -?X54 <-> X9 -?X55 <-> X10 -ELAB: -?X41 <-> X0 -?X42 <-> X11 -?X43 <-> X1 -?X44 <-> X13 -?X45 <-> X2 -?X46 <-> X15 -?X47 <-> X3 -?X48 <-> X17 -?X49 <-> X4 -?X50 <-> X5 -?X51 <-> X6 -?X52 <-> X7 -?X53 <-> X8 -?X54 <-> X9 -?X55 <-> X10 - -Debug: [elpi] term2lp: depth=1 ctx= term=?e -Debug: [elpi] in_elpi_evar:?X41 -Debug: [elpi] in_elpi_evar: known ?X41 as X0 -Debug: [elpi] term2lp (out): X0 -Debug: [elpi] term2lp: depth=1 ctx=u : ?e term=?e0 -Debug: [elpi] in_elpi_evar:?X42 -Debug: [elpi] in_elpi_evar: known ?X42 as X11 -Debug: [elpi] term2lp (out): X11 c0 -Debug: [elpi] in_elpi_evar_concl: moving Ctx down to1 -Debug: -[elpi] - in_elpi_fresh_evar: new decl at depth:0 for ?X43 <-> X1 - pi c0 \ declare-evar [decl c0 `u` (X0)] (X1 c0) (X11 c0) (X1 c0) -Debug: -[elpi] - in_elpi_fresh_evar: unknown ?X44 <-> X14 - RAW: -?X41 <-> X0 -?X42 <-> X12 -?X43 <-> X1 -?X44 <-> X14 -?X45 <-> X2 -?X46 <-> X16 -?X47 <-> X3 -?X48 <-> X18 -?X49 <-> X4 -?X50 <-> X5 -?X51 <-> X6 -?X52 <-> X7 -?X53 <-> X8 -?X54 <-> X9 -?X55 <-> X10 -ELAB: -?X41 <-> X0 -?X42 <-> X11 -?X43 <-> X1 -?X44 <-> X13 -?X45 <-> X2 -?X46 <-> X15 -?X47 <-> X3 -?X48 <-> X17 -?X49 <-> X4 -?X50 <-> X5 -?X51 <-> X6 -?X52 <-> X7 -?X53 <-> X8 -?X54 <-> X9 -?X55 <-> X10 - -Debug: [elpi] term2lp: depth=1 ctx= term=?e -Debug: [elpi] in_elpi_evar:?X41 -Debug: [elpi] in_elpi_evar: known ?X41 as X0 -Debug: [elpi] term2lp (out): X0 -Debug: [elpi] term2lp: depth=1 ctx=u : ?e term=Type -Debug: [elpi] term2lp (out): sort (typ «elpi_tests_stdlib.test_quotation.31») -Debug: [elpi] in_elpi_evar_concl: moving Ctx down to1 -Debug: -[elpi] - in_elpi_fresh_evar: new decl at depth:0 for ?X44 <-> X14 - pi c0 \ - declare-evar [decl c0 `u` (X0)] (X14 c0) - (sort (typ «elpi_tests_stdlib.test_quotation.31»)) (X13 c0) -Debug: -[elpi] - in_elpi_fresh_evar: unknown ?X45 <-> X2 - RAW: -?X41 <-> X0 -?X42 <-> X12 -?X43 <-> X1 -?X44 <-> X14 -?X45 <-> X2 -?X46 <-> X16 -?X47 <-> X3 -?X48 <-> X18 -?X49 <-> X4 -?X50 <-> X5 -?X51 <-> X6 -?X52 <-> X7 -?X53 <-> X8 -?X54 <-> X9 -?X55 <-> X10 -ELAB: -?X41 <-> X0 -?X42 <-> X11 -?X43 <-> X1 -?X44 <-> X13 -?X45 <-> X2 -?X46 <-> X15 -?X47 <-> X3 -?X48 <-> X17 -?X49 <-> X4 -?X50 <-> X5 -?X51 <-> X6 -?X52 <-> X7 -?X53 <-> X8 -?X54 <-> X9 -?X55 <-> X10 - -Debug: [elpi] term2lp: depth=1 ctx= term=?e -Debug: [elpi] in_elpi_evar:?X41 -Debug: [elpi] in_elpi_evar: known ?X41 as X0 -Debug: [elpi] term2lp (out): X0 -Debug: [elpi] term2lp: depth=1 ctx=u : ?e term=?e2 -Debug: [elpi] in_elpi_evar:?X44 -Debug: [elpi] in_elpi_evar: known ?X44 as X13 -Debug: [elpi] term2lp (out): X13 c0 -Debug: [elpi] in_elpi_evar_concl: moving Ctx down to1 -Debug: -[elpi] - in_elpi_fresh_evar: new decl at depth:0 for ?X45 <-> X2 - pi c0 \ declare-evar [decl c0 `u` (X0)] (X2 c0) (X13 c0) (X2 c0) -Debug: -[elpi] - in_elpi_fresh_evar: unknown ?X46 <-> X16 - RAW: -?X41 <-> X0 -?X42 <-> X12 -?X43 <-> X1 -?X44 <-> X14 -?X45 <-> X2 -?X46 <-> X16 -?X47 <-> X3 -?X48 <-> X18 -?X49 <-> X4 -?X50 <-> X5 -?X51 <-> X6 -?X52 <-> X7 -?X53 <-> X8 -?X54 <-> X9 -?X55 <-> X10 -ELAB: -?X41 <-> X0 -?X42 <-> X11 -?X43 <-> X1 -?X44 <-> X13 -?X45 <-> X2 -?X46 <-> X15 -?X47 <-> X3 -?X48 <-> X17 -?X49 <-> X4 -?X50 <-> X5 -?X51 <-> X6 -?X52 <-> X7 -?X53 <-> X8 -?X54 <-> X9 -?X55 <-> X10 - -Debug: [elpi] term2lp: depth=1 ctx= term=?e -Debug: [elpi] in_elpi_evar:?X41 -Debug: [elpi] in_elpi_evar: known ?X41 as X0 -Debug: [elpi] term2lp (out): X0 -Debug: [elpi] term2lp: depth=1 ctx=u : ?e term=Type -Debug: [elpi] term2lp (out): sort (typ «elpi_tests_stdlib.test_quotation.32») -Debug: [elpi] in_elpi_evar_concl: moving Ctx down to1 -Debug: -[elpi] - in_elpi_fresh_evar: new decl at depth:0 for ?X46 <-> X16 - pi c0 \ - declare-evar [decl c0 `u` (X0)] (X16 c0) - (sort (typ «elpi_tests_stdlib.test_quotation.32»)) (X15 c0) -Debug: -[elpi] - in_elpi_fresh_evar: unknown ?X47 <-> X3 - RAW: -?X41 <-> X0 -?X42 <-> X12 -?X43 <-> X1 -?X44 <-> X14 -?X45 <-> X2 -?X46 <-> X16 -?X47 <-> X3 -?X48 <-> X18 -?X49 <-> X4 -?X50 <-> X5 -?X51 <-> X6 -?X52 <-> X7 -?X53 <-> X8 -?X54 <-> X9 -?X55 <-> X10 -ELAB: -?X41 <-> X0 -?X42 <-> X11 -?X43 <-> X1 -?X44 <-> X13 -?X45 <-> X2 -?X46 <-> X15 -?X47 <-> X3 -?X48 <-> X17 -?X49 <-> X4 -?X50 <-> X5 -?X51 <-> X6 -?X52 <-> X7 -?X53 <-> X8 -?X54 <-> X9 -?X55 <-> X10 - -Debug: [elpi] term2lp: depth=1 ctx= term=?e -Debug: [elpi] in_elpi_evar:?X41 -Debug: [elpi] in_elpi_evar: known ?X41 as X0 -Debug: [elpi] term2lp (out): X0 -Debug: [elpi] term2lp: depth=1 ctx=u : ?e term=?e4 -Debug: [elpi] in_elpi_evar:?X46 -Debug: [elpi] in_elpi_evar: known ?X46 as X15 -Debug: [elpi] term2lp (out): X15 c0 -Debug: [elpi] in_elpi_evar_concl: moving Ctx down to1 -Debug: -[elpi] - in_elpi_fresh_evar: new decl at depth:0 for ?X47 <-> X3 - pi c0 \ declare-evar [decl c0 `u` (X0)] (X3 c0) (X15 c0) (X3 c0) -Debug: -[elpi] - in_elpi_fresh_evar: unknown ?X48 <-> X18 - RAW: -?X41 <-> X0 -?X42 <-> X12 -?X43 <-> X1 -?X44 <-> X14 -?X45 <-> X2 -?X46 <-> X16 -?X47 <-> X3 -?X48 <-> X18 -?X49 <-> X4 -?X50 <-> X5 -?X51 <-> X6 -?X52 <-> X7 -?X53 <-> X8 -?X54 <-> X9 -?X55 <-> X10 -ELAB: -?X41 <-> X0 -?X42 <-> X11 -?X43 <-> X1 -?X44 <-> X13 -?X45 <-> X2 -?X46 <-> X15 -?X47 <-> X3 -?X48 <-> X17 -?X49 <-> X4 -?X50 <-> X5 -?X51 <-> X6 -?X52 <-> X7 -?X53 <-> X8 -?X54 <-> X9 -?X55 <-> X10 - -Debug: [elpi] term2lp: depth=1 ctx= term=?e -Debug: [elpi] in_elpi_evar:?X41 -Debug: [elpi] in_elpi_evar: known ?X41 as X0 -Debug: [elpi] term2lp (out): X0 -Debug: [elpi] term2lp: depth=1 ctx=u : ?e term=Type -Debug: [elpi] term2lp (out): sort (typ «elpi_tests_stdlib.test_quotation.33») -Debug: [elpi] in_elpi_evar_concl: moving Ctx down to1 -Debug: -[elpi] - in_elpi_fresh_evar: new decl at depth:0 for ?X48 <-> X18 - pi c0 \ - declare-evar [decl c0 `u` (X0)] (X18 c0) - (sort (typ «elpi_tests_stdlib.test_quotation.33»)) (X17 c0) -Debug: -[elpi] - in_elpi_fresh_evar: unknown ?X49 <-> X4 - RAW: -?X41 <-> X0 -?X42 <-> X12 -?X43 <-> X1 -?X44 <-> X14 -?X45 <-> X2 -?X46 <-> X16 -?X47 <-> X3 -?X48 <-> X18 -?X49 <-> X4 -?X50 <-> X5 -?X51 <-> X6 -?X52 <-> X7 -?X53 <-> X8 -?X54 <-> X9 -?X55 <-> X10 -ELAB: -?X41 <-> X0 -?X42 <-> X11 -?X43 <-> X1 -?X44 <-> X13 -?X45 <-> X2 -?X46 <-> X15 -?X47 <-> X3 -?X48 <-> X17 -?X49 <-> X4 -?X50 <-> X5 -?X51 <-> X6 -?X52 <-> X7 -?X53 <-> X8 -?X54 <-> X9 -?X55 <-> X10 - -Debug: [elpi] term2lp: depth=1 ctx= term=?e -Debug: [elpi] in_elpi_evar:?X41 -Debug: [elpi] in_elpi_evar: known ?X41 as X0 -Debug: [elpi] term2lp (out): X0 -Debug: [elpi] term2lp: depth=1 ctx=u : ?e term=?e6 -Debug: [elpi] in_elpi_evar:?X48 -Debug: [elpi] in_elpi_evar: known ?X48 as X17 -Debug: [elpi] term2lp (out): X17 c0 -Debug: [elpi] in_elpi_evar_concl: moving Ctx down to1 -Debug: -[elpi] - in_elpi_fresh_evar: new decl at depth:0 for ?X49 <-> X4 - pi c0 \ declare-evar [decl c0 `u` (X0)] (X4 c0) (X17 c0) (X4 c0) -Debug: -[elpi] - in_elpi_fresh_evar: unknown ?X50 <-> X5 - RAW: -?X41 <-> X0 -?X42 <-> X12 -?X43 <-> X1 -?X44 <-> X14 -?X45 <-> X2 -?X46 <-> X16 -?X47 <-> X3 -?X48 <-> X18 -?X49 <-> X4 -?X50 <-> X5 -?X51 <-> X6 -?X52 <-> X7 -?X53 <-> X8 -?X54 <-> X9 -?X55 <-> X10 -ELAB: -?X41 <-> X0 -?X42 <-> X11 -?X43 <-> X1 -?X44 <-> X13 -?X45 <-> X2 -?X46 <-> X15 -?X47 <-> X3 -?X48 <-> X17 -?X49 <-> X4 -?X50 <-> X5 -?X51 <-> X6 -?X52 <-> X7 -?X53 <-> X8 -?X54 <-> X9 -?X55 <-> X10 - -Debug: [elpi] term2lp: depth=1 ctx= term=?e -Debug: [elpi] in_elpi_evar:?X41 -Debug: [elpi] in_elpi_evar: known ?X41 as X0 -Debug: [elpi] term2lp (out): X0 -Debug: [elpi] term2lp: depth=1 ctx=u : ?e term=Type -Debug: [elpi] term2lp (out): sort (typ «elpi_tests_stdlib.test_quotation.34») -Debug: [elpi] in_elpi_evar_concl: moving Ctx down to1 -Debug: -[elpi] - in_elpi_fresh_evar: new decl at depth:0 for ?X50 <-> X5 - pi c0 \ - declare-evar [decl c0 `u` (X0)] (X5 c0) - (sort (typ «elpi_tests_stdlib.test_quotation.34»)) (X5 c0) -Debug: -[elpi] - in_elpi_fresh_evar: unknown ?X51 <-> X6 - RAW: -?X41 <-> X0 -?X42 <-> X12 -?X43 <-> X1 -?X44 <-> X14 -?X45 <-> X2 -?X46 <-> X16 -?X47 <-> X3 -?X48 <-> X18 -?X49 <-> X4 -?X50 <-> X5 -?X51 <-> X6 -?X52 <-> X7 -?X53 <-> X8 -?X54 <-> X9 -?X55 <-> X10 -ELAB: -?X41 <-> X0 -?X42 <-> X11 -?X43 <-> X1 -?X44 <-> X13 -?X45 <-> X2 -?X46 <-> X15 -?X47 <-> X3 -?X48 <-> X17 -?X49 <-> X4 -?X50 <-> X5 -?X51 <-> X6 -?X52 <-> X7 -?X53 <-> X8 -?X54 <-> X9 -?X55 <-> X10 - -Debug: [elpi] term2lp: depth=1 ctx= term=?e -Debug: [elpi] in_elpi_evar:?X41 -Debug: [elpi] in_elpi_evar: known ?X41 as X0 -Debug: [elpi] term2lp (out): X0 -Debug: [elpi] term2lp: depth=2 ctx=u : ?e term=?e8 -Debug: [elpi] in_elpi_evar:?X50 -Debug: [elpi] in_elpi_evar: known ?X50 as X5 -Debug: [elpi] term2lp (out): X5 c0 -Debug: [elpi] term2lp: depth=2 ctx=u : ?e K : ?e8 term=Type -Debug: [elpi] term2lp (out): sort (typ «elpi_tests_stdlib.test_quotation.35») -Debug: [elpi] in_elpi_evar_concl: moving Ctx down to2 -Debug: -[elpi] - in_elpi_fresh_evar: new decl at depth:0 for ?X51 <-> X6 - pi c0 \ - pi c1 \ - declare-evar [decl c1 `K` (X5 c0), decl c0 `u` X0] (X6 c0 c1) - (sort (typ «elpi_tests_stdlib.test_quotation.35»)) (X6 c0 c1) -Debug: -[elpi] - in_elpi_fresh_evar: unknown ?X52 <-> X7 - RAW: -?X41 <-> X0 -?X42 <-> X12 -?X43 <-> X1 -?X44 <-> X14 -?X45 <-> X2 -?X46 <-> X16 -?X47 <-> X3 -?X48 <-> X18 -?X49 <-> X4 -?X50 <-> X5 -?X51 <-> X6 -?X52 <-> X7 -?X53 <-> X8 -?X54 <-> X9 -?X55 <-> X10 -ELAB: -?X41 <-> X0 -?X42 <-> X11 -?X43 <-> X1 -?X44 <-> X13 -?X45 <-> X2 -?X46 <-> X15 -?X47 <-> X3 -?X48 <-> X17 -?X49 <-> X4 -?X50 <-> X5 -?X51 <-> X6 -?X52 <-> X7 -?X53 <-> X8 -?X54 <-> X9 -?X55 <-> X10 - -Debug: [elpi] term2lp: depth=1 ctx= term=?e -Debug: [elpi] in_elpi_evar:?X41 -Debug: [elpi] in_elpi_evar: known ?X41 as X0 -Debug: [elpi] term2lp (out): X0 -Debug: [elpi] term2lp: depth=2 ctx=u : ?e term=?e8 -Debug: [elpi] in_elpi_evar:?X50 -Debug: [elpi] in_elpi_evar: known ?X50 as X5 -Debug: [elpi] term2lp (out): X5 c0 -Debug: [elpi] term2lp: depth=3 ctx=u : ?e K : ?e8 term=?e9 -Debug: [elpi] in_elpi_evar:?X51 -Debug: [elpi] in_elpi_evar: known ?X51 as X6 -Debug: [elpi] term2lp (out): X6 c0 c1 -Debug: [elpi] term2lp: depth=3 ctx=u : ?e K : ?e8 K_S : ?e9 term=Type -Debug: [elpi] term2lp (out): sort (typ «elpi_tests_stdlib.test_quotation.36») -Debug: [elpi] in_elpi_evar_concl: moving Ctx down to3 -Debug: -[elpi] - in_elpi_fresh_evar: new decl at depth:0 for ?X52 <-> X7 - pi c0 \ - pi c1 \ - pi c2 \ - declare-evar - [decl c2 `K_S` (X6 c0 c1), decl c1 `K` (X5 c0), decl c0 `u` X0] - (X7 c0 c1 c2) (sort (typ «elpi_tests_stdlib.test_quotation.36»)) - (X7 c0 c1 c2) -Debug: -[elpi] - in_elpi_fresh_evar: unknown ?X53 <-> X8 - RAW: -?X41 <-> X0 -?X42 <-> X12 -?X43 <-> X1 -?X44 <-> X14 -?X45 <-> X2 -?X46 <-> X16 -?X47 <-> X3 -?X48 <-> X18 -?X49 <-> X4 -?X50 <-> X5 -?X51 <-> X6 -?X52 <-> X7 -?X53 <-> X8 -?X54 <-> X9 -?X55 <-> X10 -ELAB: -?X41 <-> X0 -?X42 <-> X11 -?X43 <-> X1 -?X44 <-> X13 -?X45 <-> X2 -?X46 <-> X15 -?X47 <-> X3 -?X48 <-> X17 -?X49 <-> X4 -?X50 <-> X5 -?X51 <-> X6 -?X52 <-> X7 -?X53 <-> X8 -?X54 <-> X9 -?X55 <-> X10 - -Debug: [elpi] term2lp: depth=1 ctx= term=?e -Debug: [elpi] in_elpi_evar:?X41 -Debug: [elpi] in_elpi_evar: known ?X41 as X0 -Debug: [elpi] term2lp (out): X0 -Debug: [elpi] term2lp: depth=2 ctx=u : ?e term=?e8 -Debug: [elpi] in_elpi_evar:?X50 -Debug: [elpi] in_elpi_evar: known ?X50 as X5 -Debug: [elpi] term2lp (out): X5 c0 -Debug: [elpi] term2lp: depth=3 ctx=u : ?e K : ?e8 term=?e9 -Debug: [elpi] in_elpi_evar:?X51 -Debug: [elpi] in_elpi_evar: known ?X51 as X6 -Debug: [elpi] term2lp (out): X6 c0 c1 -Debug: [elpi] term2lp: depth=4 ctx=u : ?e K : ?e8 K_S : ?e9 term=?e10 -Debug: [elpi] in_elpi_evar:?X52 -Debug: [elpi] in_elpi_evar: known ?X52 as X7 -Debug: [elpi] term2lp (out): X7 c0 c1 c2 -Debug: -[elpi] - term2lp: depth=4 ctx=u : ?e K : ?e8 K_S : ?e9 _elpi_renamed_u_3 : ?e10 term=Type -Debug: [elpi] term2lp (out): sort (typ «elpi_tests_stdlib.test_quotation.37») -Debug: [elpi] in_elpi_evar_concl: moving Ctx down to4 -Debug: -[elpi] - in_elpi_fresh_evar: new decl at depth:0 for ?X53 <-> X8 - pi c0 \ - pi c1 \ - pi c2 \ - pi c3 \ - declare-evar - [decl c3 `_elpi_renamed_u_3` (X7 c0 c1 c2), decl c2 `K_S` (X6 c0 c1), - decl c1 `K` (X5 c0), decl c0 `u` X0] (X8 c0 c1 c2 c3) - (sort (typ «elpi_tests_stdlib.test_quotation.37»)) (X8 c0 c1 c2 c3) -Debug: -[elpi] - in_elpi_fresh_evar: unknown ?X54 <-> X9 - RAW: -?X41 <-> X0 -?X42 <-> X12 -?X43 <-> X1 -?X44 <-> X14 -?X45 <-> X2 -?X46 <-> X16 -?X47 <-> X3 -?X48 <-> X18 -?X49 <-> X4 -?X50 <-> X5 -?X51 <-> X6 -?X52 <-> X7 -?X53 <-> X8 -?X54 <-> X9 -?X55 <-> X10 -ELAB: -?X41 <-> X0 -?X42 <-> X11 -?X43 <-> X1 -?X44 <-> X13 -?X45 <-> X2 -?X46 <-> X15 -?X47 <-> X3 -?X48 <-> X17 -?X49 <-> X4 -?X50 <-> X5 -?X51 <-> X6 -?X52 <-> X7 -?X53 <-> X8 -?X54 <-> X9 -?X55 <-> X10 - -Debug: [elpi] term2lp: depth=1 ctx= term=?e -Debug: [elpi] in_elpi_evar:?X41 -Debug: [elpi] in_elpi_evar: known ?X41 as X0 -Debug: [elpi] term2lp (out): X0 -Debug: [elpi] term2lp: depth=2 ctx=u : ?e term=?e8 -Debug: [elpi] in_elpi_evar:?X50 -Debug: [elpi] in_elpi_evar: known ?X50 as X5 -Debug: [elpi] term2lp (out): X5 c0 -Debug: [elpi] term2lp: depth=3 ctx=u : ?e K : ?e8 term=?e9 -Debug: [elpi] in_elpi_evar:?X51 -Debug: [elpi] in_elpi_evar: known ?X51 as X6 -Debug: [elpi] term2lp (out): X6 c0 c1 -Debug: [elpi] term2lp: depth=4 ctx=u : ?e K : ?e8 K_S : ?e9 term=?e10 -Debug: [elpi] in_elpi_evar:?X52 -Debug: [elpi] in_elpi_evar: known ?X52 as X7 -Debug: [elpi] term2lp (out): X7 c0 c1 c2 -Debug: -[elpi] - term2lp: depth=4 ctx=u : ?e K : ?e8 K_S : ?e9 _elpi_renamed_u_3 : ?e10 term=Type -Debug: [elpi] term2lp (out): sort (typ «elpi_tests_stdlib.test_quotation.38») -Debug: [elpi] in_elpi_evar_concl: moving Ctx down to4 -Debug: -[elpi] - in_elpi_fresh_evar: new decl at depth:0 for ?X54 <-> X9 - pi c0 \ - pi c1 \ - pi c2 \ - pi c3 \ - declare-evar - [decl c3 `_elpi_renamed_u_3` (X7 c0 c1 c2), decl c2 `K_S` (X6 c0 c1), - decl c1 `K` (X5 c0), decl c0 `u` X0] (X9 c0 c1 c2 c3) - (sort (typ «elpi_tests_stdlib.test_quotation.38»)) (X9 c0 c1 c2 c3) -Debug: -[elpi] - in_elpi_fresh_evar: unknown ?X55 <-> X10 - RAW: -?X41 <-> X0 -?X42 <-> X12 -?X43 <-> X1 -?X44 <-> X14 -?X45 <-> X2 -?X46 <-> X16 -?X47 <-> X3 -?X48 <-> X18 -?X49 <-> X4 -?X50 <-> X5 -?X51 <-> X6 -?X52 <-> X7 -?X53 <-> X8 -?X54 <-> X9 -?X55 <-> X10 -ELAB: -?X41 <-> X0 -?X42 <-> X11 -?X43 <-> X1 -?X44 <-> X13 -?X45 <-> X2 -?X46 <-> X15 -?X47 <-> X3 -?X48 <-> X17 -?X49 <-> X4 -?X50 <-> X5 -?X51 <-> X6 -?X52 <-> X7 -?X53 <-> X8 -?X54 <-> X9 -?X55 <-> X10 - -Debug: [elpi] term2lp: depth=1 ctx= term=?e -Debug: [elpi] in_elpi_evar:?X41 -Debug: [elpi] in_elpi_evar: known ?X41 as X0 -Debug: [elpi] term2lp (out): X0 -Debug: [elpi] term2lp: depth=2 ctx=u : ?e term=?e8 -Debug: [elpi] in_elpi_evar:?X50 -Debug: [elpi] in_elpi_evar: known ?X50 as X5 -Debug: [elpi] term2lp (out): X5 c0 -Debug: [elpi] term2lp: depth=3 ctx=u : ?e K : ?e8 term=?e9 -Debug: [elpi] in_elpi_evar:?X51 -Debug: [elpi] in_elpi_evar: known ?X51 as X6 -Debug: [elpi] term2lp (out): X6 c0 c1 -Debug: [elpi] term2lp: depth=4 ctx=u : ?e K : ?e8 K_S : ?e9 term=?e10 -Debug: [elpi] in_elpi_evar:?X52 -Debug: [elpi] in_elpi_evar: known ?X52 as X7 -Debug: [elpi] term2lp (out): X7 c0 c1 c2 -Debug: -[elpi] - term2lp: depth=5 ctx=u : ?e K : ?e8 K_S : ?e9 _elpi_renamed_u_3 : ?e10 term= - ?e12 -Debug: [elpi] in_elpi_evar:?X54 -Debug: [elpi] in_elpi_evar: known ?X54 as X9 -Debug: [elpi] term2lp (out): X9 c0 c1 c2 c3 -Debug: -[elpi] - term2lp: depth=5 ctx=u : ?e - K : ?e8 - K_S : ?e9 - _elpi_renamed_u_3 : ?e10 - x : ?e12 term=Type -Debug: [elpi] term2lp (out): sort (typ «elpi_tests_stdlib.test_quotation.39») -Debug: [elpi] in_elpi_evar_concl: moving Ctx down to5 -Debug: -[elpi] - in_elpi_fresh_evar: new decl at depth:0 for ?X55 <-> X10 - pi c0 \ - pi c1 \ - pi c2 \ - pi c3 \ - pi c4 \ - declare-evar - [decl c4 `x` (X9 c0 c1 c2 c3), - decl c3 `_elpi_renamed_u_3` (X7 c0 c1 c2), decl c2 `K_S` (X6 c0 c1), - decl c1 `K` (X5 c0), decl c0 `u` X0] (X10 c0 c1 c2 c3 c4) - (sort (typ «elpi_tests_stdlib.test_quotation.39»)) - (X10 c0 c1 c2 c3 c4) -Debug: -[elpi] - Elpi: query-compilation:0.0010 static-check:0.0000 optimization:0.0001 runtime:0.0344 (with error) - -hd - : forall A : Type, A -> list A -> A -Debug: [elpi] gterm2lp: term=hd -Debug: [elpi] Compiler cache: lookups=8, hits=6 - -Debug: [elpi] Compiler cache: lookups=0, hits=0 - -File "./tests-stdlib/test_quotation.v", line 47, characters 32-33: -Warning: -File "./tests-stdlib/test_quotation.v", line 47, characters 32-33 -X is linear: name it _X (discard) or X_ (fresh variable) -[elpi.linear-variable,elpi.typecheck,elpi,default] -(true && false)%bool - : bool -natmul R n : ringType_sort R - : ringType_sort R -natmul R n : ringType_sort R - : ringType_sort R -1 - : nat -hello1 -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 +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 +true : bool + : bool test1 str hello str x @@ -15748,43 +17851,166 @@ 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] -Foo.x = 3 - : nat -Foo.x = 3 - : nat -Foo.x2 = 4 - : nat -eq_refl : Foo.x = 5 - : Foo.x = 5 -A.B.c : nat +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. -A.B.c is not universe polymorphic -A.B.c is transparent -Expands to: Constant elpi.apps.NES.tests.test_NES.A_aux_4.A.B.c -A1.B1.d : nat +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 _ _ +nth_R = +fun (T1 T2 : Type) (T_R : T1 -> T2 -> Type) (x01 : T1) + (x02 : T2) (x0_R : T_R x01 x02) => +let rec1 := + fix rec (n : nat) (l : list T1) {struct n} : T1 := + match l with + | nil => x01 + | (x :: xs)%list => match n with + | 0 => x + | S m => rec m xs + end + end in +let rec2 := + fix rec (n : nat) (l : list T2) {struct n} : T2 := + match l with + | nil => x02 + | (x :: xs)%list => match n with + | 0 => x + | S m => rec m xs + end + end in +fix rec_R (n1 n2 : nat) (n_R : nat_R n1 n2) {struct n_R} : + forall (l1 : list T1) (l2 : list T2), + list_R T1 T2 T_R l1 l2 -> T_R (rec1 n1 l1) (rec2 n2 l2) := + match + n_R in (nat_R s1 s2) + return + (forall (l1 : list T1) (l2 : list T2), + list_R T1 T2 T_R l1 l2 -> T_R (rec1 s1 l1) (rec2 s2 l2)) + with + | O_R => + let K := O_R in + (fun (n3 n4 : nat) (n_R0 : nat_R n3 n4) (l1 : list T1) + (l2 : list T2) (l_R : list_R T1 T2 T_R l1 l2) => + match + l_R in (list_R _ _ _ l3 l4) + return + (T_R + match l3 with + | nil => x01 + | (x :: xs)%list => + match n3 with + | 0 => x + | S m => rec1 m xs + end + end + match l4 with + | nil => x02 + | (x :: xs)%list => + match n4 with + | 0 => x + | S m => rec2 m xs + end + end) + with + | nil_R _ _ _ => x0_R + | cons_R _ _ _ x1 x2 x_R xs1 xs2 xs_R => + match + n_R0 in (nat_R n5 n6) + return + (T_R match n5 with + | 0 => x1 + | S m => rec1 m xs1 + end match n6 with + | 0 => x2 + | S m => rec2 m xs2 + end) + with + | O_R => x_R + | S_R m1 m2 m_R => rec_R m1 m2 m_R xs1 xs2 xs_R + end + end) 0 0 K + | S_R _1 _2 __R => + let K := S_R _1 _2 __R in + (fun (n3 n4 : nat) (n_R0 : nat_R n3 n4) (l1 : list T1) + (l2 : list T2) (l_R : list_R T1 T2 T_R l1 l2) => + match + l_R in (list_R _ _ _ l3 l4) + return + (T_R + match l3 with + | nil => x01 + | (x :: xs)%list => + match n3 with + | 0 => x + | S m => rec1 m xs + end + end + match l4 with + | nil => x02 + | (x :: xs)%list => + match n4 with + | 0 => x + | S m => rec2 m xs + end + end) + with + | nil_R _ _ _ => x0_R + | cons_R _ _ _ x1 x2 x_R xs1 xs2 xs_R => + match + n_R0 in (nat_R n5 n6) + return + (T_R match n5 with + | 0 => x1 + | S m => rec1 m xs1 + end match n6 with + | 0 => x2 + | S m => rec2 m xs2 + end) + with + | O_R => x_R + | S_R m1 m2 m_R => rec_R m1 m2 m_R xs1 xs2 xs_R + end + end) (S _1) (S _2) K + end + : forall (T1 T2 : Type) (T_R : T1 -> T2 -> Type) (x01 : T1) (x02 : T2), + T_R x01 x02 -> + forall n1 n2 : nat, + nat_R n1 n2 -> + forall (l1 : list T1) (l2 : list T2), + list_R T1 T2 T_R l1 l2 -> T_R (nth T1 x01 n1 l1) (nth T2 x02 n2 l2) -A1.B1.d is not universe polymorphic -A1.B1.d is transparent -Expands to: Constant elpi.apps.NES.tests.test_NES.A1_aux_6.A1.B1.d -A1.B1.c : nat +Arguments nth_R (T1 T2)%type_scope T_R%function_scope + x01 x02 x0_R (n1 n2)%nat_scope n_R (l1 l2)%list_scope + l_R +pred_R = +fun (n1 n2 : nat) (n_R : nat_R n1 n2) => +match + n_R in (nat_R n3 n4) + return + (nat_R match n3 with + | 0 => n1 + | S u => u + end match n4 with + | 0 => n2 + | S u => u + end) +with +| O_R => n_R +| S_R _ _ u_R => u_R +end + : forall n1 n2 : nat, nat_R n1 n2 -> nat_R (Nat.pred n1) (Nat.pred n2) -A1.B1.c is not universe polymorphic -A1.B1.c is transparent -Expands to: Constant elpi.apps.NES.tests.test_NES.A1_aux_5.A1.B1.c -x = 5 - : nat -x2 = 4 - : nat -B1.c = 1 - : nat -B1.d = 1 - : nat -d = 1 - : nat -A2.B2.f = 2 - : nat -Cats.And.Dogs.x = 42 - : nat +Arguments pred_R (n1 n2)%nat_scope n_R +File "./apps/derive/tests/test_param2.v", line 85, characters 0-30: +Warning: Not a truly recursive fixpoint. [non-recursive,fixpoints,default] +program +[p] Query assignments: X1 = «x1» X2 = «x2» @@ -16032,2215 +18258,11 @@ Please add the following text to your program: type test term -> term -> prop. [elpi.missing-types,elpi.typecheck,elpi,default] -This.Is.A.Long.Namespace.stuff = 1 - : nat - = 1 - : nat -This.Is.A.Long.Namespace.stuff = 2 - : nat - = 1 - : nat -This_aux_1.This.Is.A.Long.Namespace.stuff -This.Is.A.Long.Namespace.more_stuff -This.Is.A.Long.Namespace.stuff -This_aux_1.This.Is.A.Long.Namespace.stuff : nat -This.Is.A.Long.Namespace.more_stuff : nat -This.Is.A.Long.Namespace.stuff : nat -stuff = 2 - : nat -default nat_def : nat - : nat -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») -Query assignments: - GR = «empty_nat» - TY = global (indt «nat») -Query assignments: - GR1 = indc «Vector.nil» - GR2 = indt «nat» - GR3 = const «A» -add_equal -Query assignments: - %arg1 = add_equal - %arg2 = add_equal - 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 - 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_stdlib.test_API_env.add_equal -«myfalse» -Query assignments: - F = indt «False» - GR = «myfalse» -myfalse - : False -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» - X1_ = «eq_class.u0» - X2_ = «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 -Arguments eq_f T%type_scope record -Arguments eq_proof T%type_scope record -fun x : eq_class nat => x : bool - : eq_class nat -> bool -p <- eq_proof ( xxx ) -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» - X3_ = «prim_eq_class.u0» - X4_ = «prim_eq_class.u1» -Universe constraints: -UNIVERSES: - -ALGEBRAIC UNIVERSES: - {prim_eq_class.u1 prim_eq_class.u0} -FLEXIBLE UNIVERSES: - prim_eq_class.u1 - prim_eq_class.u0 -SORTS: - -WEAK CONSTRAINTS: - - -fun r : prim_eq_class nat => -eq_refl : r = {| prim_eq_f := r; prim_eq_proof := prim_eq_proof _ r |} - : forall r : prim_eq_class nat, - r = {| prim_eq_f := r; prim_eq_proof := prim_eq_proof _ r |} -(* {} |= prim_eq_class.u1 <= eq.u0 *) -fun `r` (app [global (indt «prim_eq_class»), global (indt «nat»)]) c0 \ - app [primitive (proj elpi_tests_stdlib.test_API_env.prim_eq_f 1), c0] -Query assignments: - C = «pc» -Universe constraints: -UNIVERSES: - -ALGEBRAIC UNIVERSES: - {myind.u0} -FLEXIBLE UNIVERSES: - myind.u0 -SORTS: - -WEAK CONSTRAINTS: - - -myind true false : Prop - : Prop -K2 true : myind true true - : myind true true -myind1 true false : Prop - : Prop -K21 true : myind1 true true - : myind1 true true -Query assignments: - X6_ = «nuind.u0» - X7_ = «nuind.u1» -Universe constraints: -UNIVERSES: - -ALGEBRAIC UNIVERSES: - {nuind.u1 nuind.u0} -FLEXIBLE UNIVERSES: - nuind.u1 - nuind.u0 -SORTS: - -WEAK CONSTRAINTS: - - -fun x : nuind nat 3 false => -match x in (nuind _ _ b) return (b = b) with -| k1 _ _ => eq_refl : true = true -| k2 _ _ x0 => (fun _ : nuind nat 1 false => eq_refl : false = false) x0 -end - : nuind nat 3 false -> false = false -c0 global (indt «nat») -Query assignments: - T = global (indt «nat») -Query assignments: - D = parameter A X0 (sort (typ «tx.u0»)) c0 \ - inductive tx X1 - (parameter y X2 (global (indt «nat»)) c1 \ - arity (prod `_` (global (indt «bool»)) c2 \ sort (typ «tx.u1»))) c1 \ - [constructor K1x - (parameter y X3 (global (indt «nat»)) c2 \ - arity - (prod `x` c0 c3 \ - prod `n` (global (indt «nat»)) c4 \ - prod `p` - (app - [global (indt «eq»), global (indt «nat»), - app [global (indc «S»), c4], c2]) c5 \ - prod `e` (app [c1, c4, global (indc «true»)]) c6 \ - app [c1, c2, global (indc «true»)])), - constructor K2x - (parameter y X4 (global (indt «nat»)) c2 \ - arity (app [c1, c2, global (indc «false»)]))] - X8_ = «tx.u0» - X9_ = «tx.u1» -Universe constraints: -UNIVERSES: - {elpi_tests_stdlib.test_API_env.18 elpi_tests_stdlib.test_API_env.17 - elpi_tests_stdlib.test_API_env.16 elpi_tests_stdlib.test_API_env.15 - elpi_tests_stdlib.test_API_env.14 elpi_tests_stdlib.test_API_env.13 - elpi_tests_stdlib.test_API_env.11} |= - tx.u0 < elpi_tests_stdlib.test_API_env.11 - tx.u1 < elpi_tests_stdlib.test_API_env.13 - Set <= elpi_tests_stdlib.test_API_env.13 - Set <= elpi_tests_stdlib.test_API_env.14 - Set <= elpi_tests_stdlib.test_API_env.15 - Set <= elpi_tests_stdlib.test_API_env.16 - Set <= elpi_tests_stdlib.test_API_env.17 - Set <= elpi_tests_stdlib.test_API_env.18 - tx.u0 <= elpi_tests_stdlib.test_API_env.14 - tx.u1 <= elpi_tests_stdlib.test_API_env.14 - elpi_tests_stdlib.test_API_env.14 <= tx.u1 -ALGEBRAIC UNIVERSES: - {tx.u1 tx.u0} -FLEXIBLE UNIVERSES: - tx.u1 - tx.u0 -SORTS: - α2 := Type - α3 := Type - α4 := Type - α5 := Type -WEAK CONSTRAINTS: - - -Query assignments: - D = parameter A explicit (sort (typ «elpi_tests_stdlib.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_stdlib.test_API_env.22»)) c4 \ - prod `_` c4 c5 \ sort (typ «elpi_tests_stdlib.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_stdlib.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_stdlib.test_API_env.22»)) c4 \ - prod `_` c4 c5 \ sort (typ «elpi_tests_stdlib.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_stdlib.test_API_env.26» - UA = «elpi_tests_stdlib.test_API_env.20» - UB1 = «ind1.u0» - UB2 = «ind1.u0» - UB3 = «ind1.u0» - UC = «elpi_tests_stdlib.test_API_env.22» -Universe constraints: -UNIVERSES: - {elpi_tests_stdlib.test_API_env.26} |= - Set <= elpi_tests_stdlib.test_API_env.26 - ind1.u0 <= elpi_tests_stdlib.test_API_env.26 -ALGEBRAIC UNIVERSES: - {} -FLEXIBLE UNIVERSES: - -SORTS: - -WEAK CONSTRAINTS: - - -Query assignments: - D = parameter A explicit (sort (typ «elpi_tests_stdlib.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_stdlib.test_API_env.22»)) c4 \ - prod `_` c4 c5 \ sort (typ «elpi_tests_stdlib.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_stdlib.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_stdlib.test_API_env.22»)) c4 \ - prod `_` c4 c5 \ sort (typ «elpi_tests_stdlib.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_stdlib.test_API_env.27» - UA = «elpi_tests_stdlib.test_API_env.20» - UB1 = «ind1.u0» - UB2 = «ind1.u0» - UB3 = «ind1.u0» - UC = «elpi_tests_stdlib.test_API_env.22» -Universe constraints: -UNIVERSES: - {elpi_tests_stdlib.test_API_env.27} |= - Set <= elpi_tests_stdlib.test_API_env.27 - ind1.u0 <= elpi_tests_stdlib.test_API_env.27 -ALGEBRAIC UNIVERSES: - {} -FLEXIBLE UNIVERSES: - -SORTS: - -WEAK CONSTRAINTS: - - -Query assignments: - D = parameter P explicit (sort (typ «r1.u0»)) c0 \ - parameter p explicit c0 c1 \ - record r1 (sort (typ «r1.u0»)) mk_r1 - (field [coercion reversible, canonical tt] f1 (prod `_` c0 c2 \ c0) c2 \ - field [coercion off, canonical ff] f2 - (app [global (indt «eq»), c0, c1, app [c2, c1]]) c3 \ end-record) - D1 = parameter P explicit (sort (typ «r1.u0»)) c0 \ - parameter p explicit c0 c1 \ - record r1 (sort (typ «r1.u0»)) mk_r1 - (field [coercion reversible, canonical tt] f1 (prod `_` c0 c2 \ c0) c2 \ - field [coercion off, canonical ff] f2 - (app [global (indt «eq»), c0, c1, app [c2, c1]]) c3 \ end-record) - I = «r1» - UP = «r1.u0» - UR = «r1.u0» -Query assignments: - 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» -{{ nat; S; }} -{{ nat; S; }} -Query assignments: - GR = const «Nat.add» - L = {{ nat; S; }} - S = {{ nat; S; }} -{{ X.a; }} {{ X.a; Nat.add; nat; }} -{{ X.a; }} {{ X.a; Nat.add; nat; O; S; }} -Query assignments: - %arg1 = const «X.a» - AllL = {{ X.a; Nat.add; nat; }} - AllS = {{ X.a; Nat.add; nat; O; S; }} - GR = const «X.b» - L = {{ X.a; }} - M = «elpi_tests_stdlib.test_API_env.HOAS.X» - S = {{ X.a; }} -Query assignments: - %arg1 = 3372 - 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; -...TRUNCATED BY DUNE... - 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; 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; 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; }} - T = 1.720128 -Query assignments: - %arg1 = 4 - S = {{ Nat.add; eq; nat; O; }} - T = prod `x` (global (indt «nat»)) c0 \ - app - [global (indt «eq»), X0 c0, - app [global (const «Nat.add»), c0, global (indc «O»)], c0] - X10_ = 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_stdlib.test_API_env.30»)) (X1 c0) /* suspended on X2, X1 */ -Universe constraints: -UNIVERSES: - {elpi_tests_stdlib.test_API_env.30} |= -ALGEBRAIC UNIVERSES: - {} -FLEXIBLE UNIVERSES: - -SORTS: - α13 -WEAK CONSTRAINTS: - - -Query assignments: - Decl = record Rec (sort (typ «elpi_tests_stdlib.test_API_env.31»)) BuildRec - (field [] f (sort (typ «elpi_tests_stdlib.test_API_env.32»)) c0 \ - end-record) - X11_ = «elpi_tests_stdlib.test_API_env.31» - X12_ = «elpi_tests_stdlib.test_API_env.32» -Universe constraints: -UNIVERSES: - {elpi_tests_stdlib.test_API_env.32 elpi_tests_stdlib.test_API_env.31} |= -ALGEBRAIC UNIVERSES: - {elpi_tests_stdlib.test_API_env.32 elpi_tests_stdlib.test_API_env.31} -FLEXIBLE UNIVERSES: - elpi_tests_stdlib.test_API_env.32 - elpi_tests_stdlib.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_stdlib.test_API_env.33 -elpi_tests_stdlib.test_API_env.34} - : Test.Rec@{elpi_tests_stdlib.test_API_env.33 - elpi_tests_stdlib.test_API_env.34} -> - Type@{elpi_tests_stdlib.test_API_env.34} -(* {elpi_tests_stdlib.test_API_env.34 elpi_tests_stdlib.test_API_env.33} |= - elpi_tests_stdlib.test_API_env.34 < elpi_tests_stdlib.test_API_env.33 *) -Query assignments: - LP = «Coq.ZArith.Znat» - MP = «Coq.ZArith.Znat.N2Z» -File "./tests-stdlib/test_API_env.v", line 26, characters 24-26: -Warning: -File "./tests-stdlib/test_API_env.v", line 26, characters 24-26 -TY is linear: name it _TY (discard) or TY_ (fresh variable) -[elpi.linear-variable,elpi.typecheck,elpi,default] -File "./tests-stdlib/test_API_env.v", line 82, characters 23-25: -Warning: -File "./tests-stdlib/test_API_env.v", line 82, characters 23-25 -GR is linear: name it _GR (discard) or GR_ (fresh variable) -[elpi.linear-variable,elpi.typecheck,elpi,default] -File "./tests-stdlib/test_API_env.v", line 215, characters 71-72: -Warning: -File "./tests-stdlib/test_API_env.v", line 215, characters 71-72 -U is linear: name it _U (discard) or U_ (fresh variable) -[elpi.linear-variable,elpi.typecheck,elpi,default] -File "./tests-stdlib/test_API_env.v", line 209, characters 39-41: -Warning: -File "./tests-stdlib/test_API_env.v", line 209, characters 39-41 -UA is linear: name it _UA (discard) or UA_ (fresh variable) -[elpi.linear-variable,elpi.typecheck,elpi,default] -File "./tests-stdlib/test_API_env.v", line 212, characters 45-48: -Warning: -File "./tests-stdlib/test_API_env.v", line 212, characters 45-48 -UB1 is linear: name it _UB1 (discard) or UB1_ (fresh variable) -[elpi.linear-variable,elpi.typecheck,elpi,default] -File "./tests-stdlib/test_API_env.v", line 218, characters 40-43: -Warning: -File "./tests-stdlib/test_API_env.v", line 218, characters 40-43 -UB2 is linear: name it _UB2 (discard) or UB2_ (fresh variable) -[elpi.linear-variable,elpi.typecheck,elpi,default] -File "./tests-stdlib/test_API_env.v", line 225, characters 40-43: -Warning: -File "./tests-stdlib/test_API_env.v", line 225, characters 40-43 -UB3 is linear: name it _UB3 (discard) or UB3_ (fresh variable) -[elpi.linear-variable,elpi.typecheck,elpi,default] -File "./tests-stdlib/test_API_env.v", line 215, characters 34-36: -Warning: -File "./tests-stdlib/test_API_env.v", line 215, characters 34-36 -UC is linear: name it _UC (discard) or UC_ (fresh variable) -[elpi.linear-variable,elpi.typecheck,elpi,default] -File "./tests-stdlib/test_API_env.v", line 246, characters 71-72: -Warning: -File "./tests-stdlib/test_API_env.v", line 246, characters 71-72 -U is linear: name it _U (discard) or U_ (fresh variable) -[elpi.linear-variable,elpi.typecheck,elpi,default] -File "./tests-stdlib/test_API_env.v", line 240, characters 39-41: -Warning: -File "./tests-stdlib/test_API_env.v", line 240, characters 39-41 -UA is linear: name it _UA (discard) or UA_ (fresh variable) -[elpi.linear-variable,elpi.typecheck,elpi,default] -File "./tests-stdlib/test_API_env.v", line 243, characters 45-48: -Warning: -File "./tests-stdlib/test_API_env.v", line 243, characters 45-48 -UB1 is linear: name it _UB1 (discard) or UB1_ (fresh variable) -[elpi.linear-variable,elpi.typecheck,elpi,default] -File "./tests-stdlib/test_API_env.v", line 249, characters 40-43: -Warning: -File "./tests-stdlib/test_API_env.v", line 249, characters 40-43 -UB2 is linear: name it _UB2 (discard) or UB2_ (fresh variable) -[elpi.linear-variable,elpi.typecheck,elpi,default] -File "./tests-stdlib/test_API_env.v", line 256, characters 40-43: -Warning: -File "./tests-stdlib/test_API_env.v", line 256, characters 40-43 -UB3 is linear: name it _UB3 (discard) or UB3_ (fresh variable) -[elpi.linear-variable,elpi.typecheck,elpi,default] -File "./tests-stdlib/test_API_env.v", line 246, characters 34-36: -Warning: -File "./tests-stdlib/test_API_env.v", line 246, characters 34-36 -UC is linear: name it _UC (discard) or UC_ (fresh variable) -[elpi.linear-variable,elpi.typecheck,elpi,default] -File "./tests-stdlib/test_API_env.v", line 273, characters 39-41: -Warning: -File "./tests-stdlib/test_API_env.v", line 273, characters 39-41 -UP is linear: name it _UP (discard) or UP_ (fresh variable) -[elpi.linear-variable,elpi.typecheck,elpi,default] -File "./tests-stdlib/test_API_env.v", line 275, characters 30-32: -Warning: -File "./tests-stdlib/test_API_env.v", line 275, characters 30-32 -UR is linear: name it _UR (discard) or UR_ (fresh variable) -[elpi.linear-variable,elpi.typecheck,elpi,default] -File "./tests-stdlib/test_API_env.v", line 291, characters 39-41: -Warning: -File "./tests-stdlib/test_API_env.v", line 291, characters 39-41 -UP is linear: name it _UP (discard) or UP_ (fresh variable) -[elpi.linear-variable,elpi.typecheck,elpi,default] -File "./tests-stdlib/test_API_env.v", line 293, characters 30-32: -Warning: -File "./tests-stdlib/test_API_env.v", line 293, characters 30-32 -UR is linear: name it _UR (discard) or UR_ (fresh variable) -[elpi.linear-variable,elpi.typecheck,elpi,default] -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 -d - : nat -true : bool - : bool -program -[p] -Module -d3 - : d3_Locked -:= Struct Definition body : nat. Parameter unlock : d3 = 3. End -Module Type - d3_Locked = - Sig Parameter body : nat. Parameter unlock : body = 3. End -cons2 : forall {A : Type}, A -> list A -> list A - -cons2 is not universe polymorphic -Arguments cons2 {A}%type_scope x xs%list_scope -cons2 is transparent -Expands to: Constant -elpi.apps.locker.tests.test_locker.Bug_286.lock_container.cons2 -cons3 : forall [A : Type], EqDecision A -> A -> list A -> list A - -cons3 is not universe polymorphic -Arguments cons3 [A]%type_scope {H} x xs%list_scope -cons3 is transparent -Expands to: Constant -elpi.apps.locker.tests.test_locker.Bug_286.lock_container2.cons3 -id1@{u} : forall T : Type@{u}, T -> T -(* u |= u < locked_with.u0 *) - -id1 is universe polymorphic -Arguments id1 T%type_scope x -id1 is transparent -Expands to: Constant elpi.apps.locker.tests.test_locker.id1 -Query assignments: - GR = const «id1» -id2.body@{u} : forall T : Type@{u}, T -> T -(* u |= u < eq.u0 *) - -id2.body is universe polymorphic -Arguments id2.body T%type_scope x -Expands to: Constant elpi.apps.locker.tests.test_locker.id2.body -Query assignments: - GR = const «id2.body» -up1.body@{u} : forall T : Type@{u}, T -> T -(* u |= u < eq.u0 *) - -up1.body is universe polymorphic -Arguments up1.body T%type_scope x -Expands to: Constant elpi.apps.locker.tests.test_locker.up1.body -Query assignments: - GR = const «up1.body» -nup1.body : forall T : Type@{nup1.body.u0}, T -> T - -nup1.body is not universe polymorphic -Arguments nup1.body T%type_scope x -Expands to: Constant elpi.apps.locker.tests.test_locker.nup1.body -Query assignments: - GR = const «nup1.body» -up2.body@{u u0} : -forall T : Type@{u}, Type@{u0} -> T -> T -(* u u0 |= u < eq.u0 - u0 < eq.u0 *) - -up2.body is universe polymorphic -Arguments up2.body (T W)%type_scope x -Expands to: Constant elpi.apps.locker.tests.test_locker.up2.body -Query assignments: - GR = const «up2.body» -Debug: -elpi lets escape exception: Universe - elpi.apps.locker.tests.test_locker.161 (File "./apps/locker/tests/test_locker.v", line 113, characters 50-54) - is unbound. -Raised at UState.error_unbound_universes in file "engine/uState.ml", line 832, characters 41-74 -Called from UState.universe_context_inst in file "engine/uState.ml", line 845, characters 9-58 -Called from UState.check_poly_univ_decl in file "engine/uState.ml", line 901, characters 13-63 -Called from UState.check_univ_decl in file "engine/uState.ml", line 917, characters 35-67 -Called from Elpi_plugin__Rocq_elpi_builtins.add_axiom_or_variable in file "src/rocq_elpi_builtins.ml", line 913, characters 14-82 -Called from Elpi_plugin__Rocq_elpi_builtins.coq_rest_builtins.(fun) in file "src/rocq_elpi_builtins.ml", line 2068, characters 20-86 -Called from Elpi_plugin__Rocq_elpi_builtins.grab_global_env.(fun) in file "src/rocq_elpi_builtins.ml", line 141, characters 33-44 -Called from Elpi_runtime__Runtime_trace_off.FFI.wrap_type_err in file "src/runtime/runtime_trace_off.ml", line 2125, characters 6-9 -Called from Elpi_runtime__Runtime_trace_off.FFI.call.aux in file "src/runtime/runtime_trace_off.ml", line 2207, characters 32-92 -Called from Elpi_runtime__Runtime_trace_off.FFI.call in file "src/runtime/runtime_trace_off.ml", line 2299, characters 21-70 -Called from Elpi_runtime__Runtime_trace_off.Constraints.exect_builtin_predicate in file "src/runtime/runtime_trace_off.ml", line 3565, characters 20-83 -Called from Elpi_runtime__Runtime_trace_off.Mainloop.make_runtime.run in file "src/runtime/runtime_trace_off.ml", line 3983, characters 19-90 -Called from Elpi_util__Util.Fork.fork.ensure_runtime in file "src/utils/util.ml", line 523, characters 16-19 -Re-raised at Elpi_util__Util.Fork.fork.ensure_runtime in file "src/utils/util.ml", line 532, characters 7-14 -Called from Elpi_runtime__Runtime_trace_off.mk_outcome in file "src/runtime/runtime_trace_off.ml", line 4265, characters 14-23 -Called from Elpi_runtime__Runtime_trace_off.execute_once in file "src/runtime/runtime_trace_off.ml", line 4282, characters 20-242 -Re-raised at Elpi_runtime__Runtime_trace_off.execute_once in file "src/runtime/runtime_trace_off.ml", line 4287, characters 2-9 -Called from Elpi__API.Execute.once in file "src/API.ml", line 235, characters 40-91 -Called from Elpi_plugin__Rocq_elpi_vernacular.Compiler.run in file "src/rocq_elpi_vernacular.ml", line 145, characters 13-55 -Re-raised at Exninfo.iraise in file "clib/exninfo.ml", line 81, characters 4-38 -Called from Elpi_plugin__Rocq_elpi_vernacular.Compiler.run_and_print in file "src/rocq_elpi_vernacular.ml", line 166, characters 8-38 -Called from Elpi_plugin__Rocq_elpi_vernacular.Interp.run_program.(fun) in file "src/rocq_elpi_vernacular.ml", line 557, characters 34-90 - global (indc «O») app [global (indc «S»), app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]] -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 _ _ -nth_R = -fun (T1 T2 : Type) (T_R : T1 -> T2 -> Type) (x01 : T1) - (x02 : T2) (x0_R : T_R x01 x02) => -let rec1 := - fix rec (n : nat) (l : list T1) {struct n} : T1 := - match l with - | nil => x01 - | (x :: xs)%list => match n with - | 0 => x - | S m => rec m xs - end - end in -let rec2 := - fix rec (n : nat) (l : list T2) {struct n} : T2 := - match l with - | nil => x02 - | (x :: xs)%list => match n with - | 0 => x - | S m => rec m xs - end - end in -fix rec_R (n1 n2 : nat) (n_R : nat_R n1 n2) {struct n_R} : - forall (l1 : list T1) (l2 : list T2), - list_R T1 T2 T_R l1 l2 -> T_R (rec1 n1 l1) (rec2 n2 l2) := - match - n_R in (nat_R s1 s2) - return - (forall (l1 : list T1) (l2 : list T2), - list_R T1 T2 T_R l1 l2 -> T_R (rec1 s1 l1) (rec2 s2 l2)) - with - | O_R => - let K := O_R in - (fun (n3 n4 : nat) (n_R0 : nat_R n3 n4) (l1 : list T1) - (l2 : list T2) (l_R : list_R T1 T2 T_R l1 l2) => - match - l_R in (list_R _ _ _ l3 l4) - return - (T_R - match l3 with - | nil => x01 - | (x :: xs)%list => - match n3 with - | 0 => x - | S m => rec1 m xs - end - end - match l4 with - | nil => x02 - | (x :: xs)%list => - match n4 with - | 0 => x - | S m => rec2 m xs - end - end) - with - | nil_R _ _ _ => x0_R - | cons_R _ _ _ x1 x2 x_R xs1 xs2 xs_R => - match - n_R0 in (nat_R n5 n6) - return - (T_R match n5 with - | 0 => x1 - | S m => rec1 m xs1 - end match n6 with - | 0 => x2 - | S m => rec2 m xs2 - end) - with - | O_R => x_R - | S_R m1 m2 m_R => rec_R m1 m2 m_R xs1 xs2 xs_R - end - end) 0 0 K - | S_R _1 _2 __R => - let K := S_R _1 _2 __R in - (fun (n3 n4 : nat) (n_R0 : nat_R n3 n4) (l1 : list T1) - (l2 : list T2) (l_R : list_R T1 T2 T_R l1 l2) => - match - l_R in (list_R _ _ _ l3 l4) - return - (T_R - match l3 with - | nil => x01 - | (x :: xs)%list => - match n3 with - | 0 => x - | S m => rec1 m xs - end - end - match l4 with - | nil => x02 - | (x :: xs)%list => - match n4 with - | 0 => x - | S m => rec2 m xs - end - end) - with - | nil_R _ _ _ => x0_R - | cons_R _ _ _ x1 x2 x_R xs1 xs2 xs_R => - match - n_R0 in (nat_R n5 n6) - return - (T_R match n5 with - | 0 => x1 - | S m => rec1 m xs1 - end match n6 with - | 0 => x2 - | S m => rec2 m xs2 - end) - with - | O_R => x_R - | S_R m1 m2 m_R => rec_R m1 m2 m_R xs1 xs2 xs_R - end - end) (S _1) (S _2) K - end - : forall (T1 T2 : Type) (T_R : T1 -> T2 -> Type) (x01 : T1) (x02 : T2), - T_R x01 x02 -> - forall n1 n2 : nat, - nat_R n1 n2 -> - forall (l1 : list T1) (l2 : list T2), - list_R T1 T2 T_R l1 l2 -> T_R (nth T1 x01 n1 l1) (nth T2 x02 n2 l2) - -Arguments nth_R (T1 T2)%type_scope T_R%function_scope - x01 x02 x0_R (n1 n2)%nat_scope n_R (l1 l2)%list_scope - l_R -pred_R = -fun (n1 n2 : nat) (n_R : nat_R n1 n2) => -match - n_R in (nat_R n3 n4) - return - (nat_R match n3 with - | 0 => n1 - | S u => u - end match n4 with - | 0 => n2 - | S u => u - end) -with -| O_R => n_R -| S_R _ _ u_R => u_R -end - : forall n1 n2 : nat, nat_R n1 n2 -> nat_R (Nat.pred n1) (Nat.pred n2) - -Arguments pred_R (n1 n2)%nat_scope n_R -File "./apps/derive/tests/test_param2.v", line 85, characters 0-30: -Warning: Not a truly recursive fixpoint. [non-recursive,fixpoints,default] ok -File "./apps/eltac/tests-stdlib/test_injection.v", line 15, characters 0-15: -Warning: Using Vector.t is known to be technically difficult, see -. -[warn-library-file-stdlib-vector,stdlib-vector,warn-library-file,user-warn,default] -Query assignments: - Len = 2 - Rules = [tc.instance [] (const «Bool.Decidable_eq_bool») - (indt «DecidableClass.Decidable») [], - tc.instance [] (const «DecidableClass.Decidable_not») - (indt «DecidableClass.Decidable») []] -[TC] For indt «C» : - elpi predicate : tc-C - search mode is : tc.deterministic - modes are : [o, o] In tc-A In tc-A In tc-B @@ -18273,6 +18295,10 @@ WEAK CONSTRAINTS: +[TC] For indt «C» : + elpi predicate : tc-C + search mode is : tc.deterministic + modes are : [o, o] Debug: Calling typeclass resolution with flags: depth = ∞,unique = false,fail = true Debug: 1: looking for (C ?i) with backtracking @@ -18305,6 +18331,12 @@ Solution for C 1 is i1 Goal is E 1 Solution for E 1 is e1 +Query assignments: + Len = 2 + Rules = [tc.instance [] (const «Bool.Decidable_eq_bool») + (indt «DecidableClass.Decidable») [], + tc.instance [] (const «DecidableClass.Decidable_not») + (indt «DecidableClass.Decidable») []] ((fun (A : Type) (f : Type -> Type) (H : forall x : Type, Y (f x)) => ex_intro (fun g : Type -> Type => Ex g A /\ g nat = g bool) f (conj (Inst2 A f H) ?Goal)) @@ -18348,7 +18380,6 @@ ============================ C -(fun x : tele => tele_fmap) Now click "Start watching" in the Elpi Trace Browser panel and then execute the Command/Tactic/Query you want to trace. Also try "F1 Elpi". (fun H : C Q => @@ -18356,6 +18387,12 @@ (fun (R : Type -> Type) (_ : C R) => let H1 : C Q := H in H1)) Now click "Start watching" in the Elpi Trace Browser panel and then execute the Command/Tactic/Query you want to trace. Also try "F1 Elpi". +(fun x : tele => tele_fmap) +Query assignments: + S = app + [global (const «IsAnimal»), global (indc «Fly»), global (const «dove»)] +Query assignments: + S = X0 Normalizing app [global (indt «nat2»), global (const «Nat.succ»)] Normalizing app [global (indt «nat2»), global (indc «S»)] Normalizing app [global (indt «nat2»), global (const «Nat.succ»)] @@ -18379,11 +18416,6 @@ This command does not fully mirror the watned behavior if the class has methods with implicit arguments (those implicits will be neglected) [[TC] Warning,TC.Declare,elpi,default] -Query assignments: - S = app - [global (const «IsAnimal»), global (indc «Fly»), global (const «dove»)] -Query assignments: - S = X0 (fun (T : Type) (p : nat -> T -> T -> Prop) (x : T) => partial_app T (p 0) x) eq_refl : @@ -18529,6 +18561,10 @@ Instances list for indt «DecidableClass.Decidable» is: const «Decidable_eq_bool» with locality [] const «DecidableClass.Decidable_not» with locality [] +File "./apps/eltac/tests-stdlib/test_injection.v", line 15, characters 0-15: +Warning: Using Vector.t is known to be technically difficult, see +. +[warn-library-file-stdlib-vector,stdlib-vector,warn-library-file,user-warn,default] Query assignments: EqP = const «eqU» File "./apps/tc/tests-stdlib/test_commands_API.v", line 52, characters 2-25: @@ -19175,8 +19211,6 @@ There is an hint extern in the typeclass db: (*external*) (reflexive_proxy_tac A R) [elpi.TC.hints,elpi,default] -Received the following event -[str new_instance, str I4, str A, str Export, int -1] Query assignments: T = c0 \ prod `c` X0 c1 \ @@ -19195,7 +19229,7 @@ X3_ = X2 X4_ = X3 X5_ = X4 -Finished transaction in 0.079 secs (0.031u,0.s) (successful) +Finished transaction in 0.11 secs (0.034u,0.s) (successful) Query assignments: A = c0 \ c0 @@ -19482,17 +19516,433 @@ File "./apps/tc/tests/test.v", line 558, characters 51-56 Y is linear: name it _Y (discard) or Y_ (fresh variable) [elpi.linear-variable,elpi.typecheck,elpi,default] +Received the following event +[str new_instance, str I4, str A, str Export, int -1] Debug: [elpitime] Elpi: get_and_compile 0.0001 -Debug: [TC] - Time of instance search is 0.000083 -Debug: [TC] - Time of refine.typecheck is 0.000216 +Debug: [TC] - Time of instance search is 0.000079 +Debug: [TC] - Time of refine.typecheck is 0.000203 Debug: [elpitime] - Elpi: query-compilation:0.0001 static-check:0.0000 optimization:0.0001 runtime:0.0018 (with success) + Elpi: query-compilation:0.0001 static-check:0.0000 optimization:0.0001 runtime:0.0017 (with success) Finished transaction in 0.002 secs (0.002u,0.s) (successful) 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) +Inductive peano : Set := Zero : peano | Succ : peano -> peano. + +Arguments peano.Succ p + = if pos_eq_dec (BinNums.xO BinNums.xH) BinNums.xH then true else 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.019357 +Derivation param2 on const «Nat.add» +Derivation param2 on const «Nat.add» took 0.012090 +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) +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» +Derivation map on indt «rtree» took 0.002090 +Derivation lens on indt «rtree» +Derivation lens on indt «rtree» failed, continuing +Derivation param1 on indt «rtree» +Derivation param1 on indt «rtree» took 0.005274 +Derivation param2 on indt «rtree» +Derivation param2 on indt «rtree» took 0.006510 +Derivation tag on indt «rtree» +Derivation tag on indt «rtree» took 0.001104 +Derivation eqType_ast on indt «rtree» +Derivation eqType_ast on indt «rtree» took 0.000354 +Derivation lens_laws on indt «rtree» +Derivation lens_laws on indt «rtree» took 0.000046 +Derivation param1_congr on indt «rtree» +Derivation param1_congr on indt «rtree» took 0.002357 +Derivation param1_inhab on indt «rtree» +Derivation param1_inhab on indt «rtree» took 0.001868 +Derivation param1_functor on indt «rtree» +Derivation param1_functor on indt «rtree» took 0.001960 +Derivation fields on indt «rtree» +Derivation fields on indt «rtree» took 0.007217 +Derivation param1_trivial on indt «rtree» +Derivation param1_trivial on indt «rtree» took 0.244019 +Derivation induction on indt «rtree» +Derivation induction on indt «rtree» took 0.002007 +Derivation eqb on indt «rtree» +Derivation eqb on indt «rtree» took 0.018736 +Derivation eqbcorrect on indt «rtree» +Derivation eqbcorrect on indt «rtree» took 0.052643 +Derivation eqbOK on indt «rtree» +Derivation eqbOK on indt «rtree» took 0.009585 +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.007910 +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» +Derivation tag on indt «Box» took 0.001373 +Derivation eqType_ast on indt «Box» +Derivation eqType_ast on indt «Box» took 0.000282 +Derivation lens_laws on indt «Box» +Derivation lens_laws on indt «Box» took 0.038440 +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.005328 +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.011448 +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» +Derivation map on indt «a» took 0.001039 +Derivation lens on indt «a» +Derivation lens on indt «a» failed, continuing +Derivation param1 on indt «a» +Derivation param1 on indt «a» took 0.002327 +Derivation param2 on indt «a» +Derivation param2 on indt «a» took 0.002850 +Derivation tag on indt «a» +Derivation tag on indt «a» took 0.000849 +Derivation eqType_ast on indt «a» +Derivation eqType_ast on indt «a» took 0.000244 +Derivation lens_laws on indt «a» +Derivation lens_laws on indt «a» took 0.000049 +Derivation param1_congr on indt «a» +Derivation param1_congr on indt «a» took 0.000384 +Derivation param1_inhab on indt «a» +Derivation param1_inhab on indt «a» took 0.000897 +Derivation param1_functor on indt «a» +Derivation param1_functor on indt «a» took 0.000758 +Derivation fields on indt «a» +Derivation fields on indt «a» took 0.007518 +Derivation param1_trivial on indt «a» +Derivation param1_trivial on indt «a» took 0.009330 +Derivation induction on indt «a» +Derivation induction on indt «a» took 0.001165 +Derivation eqb on indt «a» +Derivation eqb on indt «a» took 0.001770 +Derivation eqbcorrect on indt «a» +Derivation eqbcorrect on indt «a» took 0.007445 +Derivation eqbOK on indt «a» +Derivation eqbOK on indt «a» took 0.000620 +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.002564 +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.000958 +Derivation eqType_ast on indt «b» +Derivation eqType_ast on indt «b» took 0.000252 +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.000950 +Derivation param1_functor on indt «b» +Derivation param1_functor on indt «b» took 0.000799 +Derivation fields on indt «b» +Derivation fields on indt «b» took 0.012127 +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.005448 +Derivation eqb on indt «b» +Derivation eqb on indt «b» took 0.002131 +Derivation eqbcorrect on indt «b» +Derivation eqbcorrect on indt «b» took 0.012253 +Derivation eqbOK on indt «b» +Derivation eqbOK on indt «b» took 0.000713 +a_eqb + : a -> a -> bool +b_eqb + : b -> b -> bool +File "./apps/derive/examples/usage.v", line 52, characters 0-92: +Warning: Global name tag is taken, using tag1 instead +[elpi.renamed,elpi,default] +Inductive peano : Set := Zero : peano | Succ : peano -> peano. + +Arguments Succ p + = if pos_eq_dec (BinNums.xO BinNums.xH) BinNums.xH then true else 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 +Inductive peano : Set := Zero : peano | Succ : peano -> peano. + +Arguments peano.Succ p + = if pos_eq_dec (BinNums.xO BinNums.xH) BinNums.xH then true else 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 +Inductive peano : Set := Zero : peano | Succ : peano -> peano. + +Arguments Peano.Succ p + = if pos_eq_dec (BinNums.xO BinNums.xH) BinNums.xH then true else 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 +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 p1 p2 : example4.peano, + peano_R p1 p2 -> + peano_R (example4.Succ p1) (example4.Succ p2). + Definition peano_R_rect : + forall P : forall s1 s2 : example4.peano, peano_R s1 s2 -> Type, + P example4.Zero example4.Zero Zero_R -> + (forall (p1 p2 : example4.peano) (p_R : peano_R p1 p2), + P p1 p2 p_R -> + P (example4.Succ p1) (example4.Succ p2) (Succ_R p1 p2 p_R)) -> + 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 (p1 p2 : example4.peano) (p_R : peano_R p1 p2), + P p1 p2 p_R -> + P (example4.Succ p1) (example4.Succ p2) (Succ_R p1 p2 p_R)) -> + 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 (p1 p2 : example4.peano) (p_R : peano_R p1 p2), + P p1 p2 p_R -> + P (example4.Succ p1) (example4.Succ p2) (Succ_R p1 p2 p_R)) -> + 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 (p1 p2 : example4.peano) (p_R : peano_R p1 p2), + P p1 p2 p_R -> + P (example4.Succ p1) (example4.Succ p2) (Succ_R p1 p2 p_R)) -> + 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 + = if pos_eq_dec (BinNums.xO BinNums.xH) BinNums.xH then true else false + : bool +Peano.Peano_eqb_OK + : forall x1 x2 : peano, reflect (x1 = x2) (Peano.Peano_eqb x1 x2) +Inductive peano : Set := Zero : peano | Succ : peano -> peano. + +Arguments Succ p + = if pos_eq_dec (BinNums.xO BinNums.xH) BinNums.xH then true else 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. + +Arguments Peano.Succ p + = if pos_eq_dec (BinNums.xO BinNums.xH) BinNums.xH then true else false + : bool +Peano.eqb_OK + : forall x1 x2 : Peano.peano, reflect (x1 = x2) (Peano.eqb x1 x2) File "./apps/tc/tests-stdlib/bigTest.v", line 21, characters 0-19: Warning: There is an hint extern in the typeclass db: @@ -19905,420 +20355,6 @@ There is an hint extern in the typeclass db: (*external*) proper_reflexive [elpi.TC.hints,elpi,default] -Inductive peano : Set := Zero : peano | Succ : peano -> peano. - -Arguments peano.Succ p - = if pos_eq_dec (BinNums.xO BinNums.xH) BinNums.xH then true else 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.002956 -Derivation param2 on const «Nat.add» -Derivation param2 on const «Nat.add» took 0.003662 -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) -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» -Derivation map on indt «rtree» took 0.001896 -Derivation lens on indt «rtree» -Derivation lens on indt «rtree» failed, continuing -Derivation param1 on indt «rtree» -Derivation param1 on indt «rtree» took 0.005038 -Derivation param2 on indt «rtree» -Derivation param2 on indt «rtree» took 0.006509 -Derivation tag on indt «rtree» -Derivation tag on indt «rtree» took 0.001034 -Derivation eqType_ast on indt «rtree» -Derivation eqType_ast on indt «rtree» took 0.000368 -Derivation lens_laws on indt «rtree» -Derivation lens_laws on indt «rtree» took 0.000046 -Derivation param1_congr on indt «rtree» -Derivation param1_congr on indt «rtree» took 0.002197 -Derivation param1_inhab on indt «rtree» -Derivation param1_inhab on indt «rtree» took 0.001798 -Derivation param1_functor on indt «rtree» -Derivation param1_functor on indt «rtree» took 0.001920 -Derivation fields on indt «rtree» -Derivation fields on indt «rtree» took 0.007010 -Derivation param1_trivial on indt «rtree» -Derivation param1_trivial on indt «rtree» took 0.192819 -Derivation induction on indt «rtree» -Derivation induction on indt «rtree» took 0.001889 -Derivation eqb on indt «rtree» -Derivation eqb on indt «rtree» took 0.006050 -Derivation eqbcorrect on indt «rtree» -Derivation eqbcorrect on indt «rtree» took 0.022154 -Derivation eqbOK on indt «rtree» -Derivation eqbOK on indt «rtree» took 0.001313 -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.003258 -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» -Derivation tag on indt «Box» took 0.002356 -Derivation eqType_ast on indt «Box» -Derivation eqType_ast on indt «Box» took 0.000280 -Derivation lens_laws on indt «Box» -Derivation lens_laws on indt «Box» took 0.012194 -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.005071 -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.002919 -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» -Derivation map on indt «a» took 0.000861 -Derivation lens on indt «a» -Derivation lens on indt «a» failed, continuing -Derivation param1 on indt «a» -Derivation param1 on indt «a» took 0.002065 -Derivation param2 on indt «a» -Derivation param2 on indt «a» took 0.002366 -Derivation tag on indt «a» -Derivation tag on indt «a» took 0.000689 -Derivation eqType_ast on indt «a» -Derivation eqType_ast on indt «a» took 0.000160 -Derivation lens_laws on indt «a» -Derivation lens_laws on indt «a» took 0.000045 -Derivation param1_congr on indt «a» -Derivation param1_congr on indt «a» took 0.000295 -Derivation param1_inhab on indt «a» -Derivation param1_inhab on indt «a» took 0.000702 -Derivation param1_functor on indt «a» -Derivation param1_functor on indt «a» took 0.000705 -Derivation fields on indt «a» -Derivation fields on indt «a» took 0.002616 -Derivation param1_trivial on indt «a» -Derivation param1_trivial on indt «a» took 0.001075 -Derivation induction on indt «a» -Derivation induction on indt «a» took 0.000860 -Derivation eqb on indt «a» -Derivation eqb on indt «a» took 0.001351 -Derivation eqbcorrect on indt «a» -Derivation eqbcorrect on indt «a» took 0.002943 -Derivation eqbOK on indt «a» -Derivation eqbOK on indt «a» took 0.000569 -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.002424 -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.000752 -Derivation eqType_ast on indt «b» -Derivation eqType_ast on indt «b» took 0.000231 -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.002114 -Derivation param1_functor on indt «b» -Derivation param1_functor on indt «b» took 0.000761 -Derivation fields on indt «b» -Derivation fields on indt «b» took 0.003301 -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.001077 -Derivation eqb on indt «b» -Derivation eqb on indt «b» took 0.002072 -Derivation eqbcorrect on indt «b» -Derivation eqbcorrect on indt «b» took 0.003836 -Derivation eqbOK on indt «b» -Derivation eqbOK on indt «b» took 0.000598 -a_eqb - : a -> a -> bool -b_eqb - : b -> b -> bool -File "./apps/derive/examples/usage.v", line 52, characters 0-92: -Warning: Global name tag is taken, using tag1 instead -[elpi.renamed,elpi,default] -Inductive peano : Set := Zero : peano | Succ : peano -> peano. - -Arguments Succ p - = if pos_eq_dec (BinNums.xO BinNums.xH) BinNums.xH then true else 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 -Inductive peano : Set := Zero : peano | Succ : peano -> peano. - -Arguments peano.Succ p - = if pos_eq_dec (BinNums.xO BinNums.xH) BinNums.xH then true else 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 -Inductive peano : Set := Zero : peano | Succ : peano -> peano. - -Arguments Peano.Succ p - = if pos_eq_dec (BinNums.xO BinNums.xH) BinNums.xH then true else 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 -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 p1 p2 : example4.peano, - peano_R p1 p2 -> - peano_R (example4.Succ p1) (example4.Succ p2). - Definition peano_R_rect : - forall P : forall s1 s2 : example4.peano, peano_R s1 s2 -> Type, - P example4.Zero example4.Zero Zero_R -> - (forall (p1 p2 : example4.peano) (p_R : peano_R p1 p2), - P p1 p2 p_R -> - P (example4.Succ p1) (example4.Succ p2) (Succ_R p1 p2 p_R)) -> - 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 (p1 p2 : example4.peano) (p_R : peano_R p1 p2), - P p1 p2 p_R -> - P (example4.Succ p1) (example4.Succ p2) (Succ_R p1 p2 p_R)) -> - 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 (p1 p2 : example4.peano) (p_R : peano_R p1 p2), - P p1 p2 p_R -> - P (example4.Succ p1) (example4.Succ p2) (Succ_R p1 p2 p_R)) -> - 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 (p1 p2 : example4.peano) (p_R : peano_R p1 p2), - P p1 p2 p_R -> - P (example4.Succ p1) (example4.Succ p2) (Succ_R p1 p2 p_R)) -> - 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 - = if pos_eq_dec (BinNums.xO BinNums.xH) BinNums.xH then true else false - : bool -Peano.Peano_eqb_OK - : forall x1 x2 : peano, reflect (x1 = x2) (Peano.Peano_eqb x1 x2) -Inductive peano : Set := Zero : peano | Succ : peano -> peano. - -Arguments Succ p - = if pos_eq_dec (BinNums.xO BinNums.xH) BinNums.xH then true else 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. - -Arguments Peano.Succ p - = if pos_eq_dec (BinNums.xO BinNums.xH) BinNums.xH then true else false - : bool -Peano.eqb_OK - : forall x1 x2 : Peano.peano, reflect (x1 = x2) (Peano.eqb x1 x2) derive.param1_trivial: wrong shape is_nest . It does not look like a unary parametricity translation of an inductive with no indexes. derive.param1_trivial: wrong shape is_vect A PA @@ -20332,13 +20368,13 @@ 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.001248 +Derivation projK on indt «nat» took 0.001143 Derivation isK on indt «nat» -Derivation isK on indt «nat» took 0.001836 +Derivation isK on indt «nat» took 0.010032 Derivation eq on indt «nat» -Derivation eq on indt «nat» took 0.001536 +Derivation eq on indt «nat» took 0.001422 Derivation invert on indt «nat» -Derivation invert on indt «nat» took 0.001363 +Derivation invert on indt «nat» took 0.001355 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 @@ -20348,7 +20384,7 @@ 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.002631 +Derivation bcongr on indt «nat» took 0.002417 Derivation idx2inv on indt «nat» Derivation idx2inv on indt «nat» failed, continuing Skipping derivation param1_trivial on indt «nat» @@ -20356,13 +20392,13 @@ 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.003178 +Derivation eqK on indt «nat» took 0.003250 Skipping derivation eqbcorrect on indt «nat» since it has been already run Derivation eqcorrect on indt «nat» -Derivation eqcorrect on indt «nat» took 0.000889 +Derivation eqcorrect on indt «nat» took 0.001118 Skipping derivation eqbOK on indt «nat» since it has been already run Derivation eqOK on indt «nat» -Derivation eqOK on indt «nat» took 0.000531 +Derivation eqOK on indt «nat» took 0.000561 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 @@ -20407,12 +20443,12 @@ Skipping derivation map on indt «foo» since the user did not select it Skipping derivation lens on indt «foo» since the user did not select it Derivation param1 on indt «foo» -Derivation param1 on indt «foo» took 0.003094 +Derivation param1 on indt «foo» took 0.003021 Skipping derivation param2 on indt «foo» since the user did not select it Derivation tag on indt «foo» -Derivation tag on indt «foo» took 0.000940 +Derivation tag on indt «foo» took 0.004135 Derivation eqType_ast on indt «foo» -Derivation eqType_ast on indt «foo» took 0.000271 +Derivation eqType_ast on indt «foo» took 0.000290 Skipping derivation projK on indt «foo» since the user did not select it Skipping derivation isK on indt «foo» since the user did not select it Skipping derivation eq on indt «foo» since the user did not select it @@ -20422,26 +20458,26 @@ Skipping derivation param1_congr on indt «foo» since the user did not select it Derivation param1_inhab on indt «foo» -Derivation param1_inhab on indt «foo» took 0.001083 +Derivation param1_inhab on indt «foo» took 0.001147 Derivation param1_functor on indt «foo» -Derivation param1_functor on indt «foo» took 0.000903 +Derivation param1_functor on indt «foo» took 0.000892 Derivation fields on indt «foo» -Derivation fields on indt «foo» took 0.003958 +Derivation fields on indt «foo» took 0.004996 Skipping derivation bcongr on indt «foo» since the user did not select it Skipping derivation idx2inv on indt «foo» since the user did not select it Skipping derivation param1_trivial on indt «foo» since the user did not select it Derivation induction on indt «foo» -Derivation induction on indt «foo» took 0.001072 +Derivation induction on indt «foo» took 0.001195 Derivation eqb on indt «foo» -Derivation eqb on indt «foo» took 0.002212 +Derivation eqb on indt «foo» took 0.002279 Skipping derivation eqK on indt «foo» since the user did not select it Derivation eqbcorrect on indt «foo» -Derivation eqbcorrect on indt «foo» took 0.004591 +Derivation eqbcorrect on indt «foo» took 0.010042 Skipping derivation eqcorrect on indt «foo» since the user did not select it Derivation eqbOK on indt «foo» -Derivation eqbOK on indt «foo» took 0.000794 +Derivation eqbOK on indt «foo» took 0.000888 Skipping derivation eqOK on indt «foo» since the user did not select it File "./apps/derive/tests-stdlib/test_derive.v", line 33, characters 2-9: Warning: This command does not support this attribute: verbose. @@ -20450,13 +20486,13 @@ Warning: Using Vector.t is known to be technically difficult, see . [warn-library-file-stdlib-vector,stdlib-vector,warn-library-file,user-warn,default] -Finished transaction in 1.656 secs (0.691u,0.008s) (successful) -Finished transaction in 28.811 secs (15.188u,0.043s) (successful) -Finished transaction in 0.23 secs (0.225u,0.s) (successful) +Finished transaction in 2.962 secs (0.722u,0.007s) (successful) +Finished transaction in 34.135 secs (15.337u,0.063s) (successful) +Finished transaction in 0.373 secs (0.232u,0.s) (successful) dune build builtin-doc Warning: Cache directories could not be created: Permission denied; disabling cache -Hint: Make sure the directory /nonexistent/first-build/.cache/dune/db/temp +Hint: Make sure the directory /nonexistent/second-build/.cache/dune/db/temp can be created make[2]: Leaving directory '/build/reproducible-path/coq-elpi-2.5.0' make[1]: Leaving directory '/build/reproducible-path/coq-elpi-2.5.0' @@ -20468,7 +20504,7 @@ dune install rocq-elpi --destdir=/build/reproducible-path/coq-elpi-2.5.0/debian/tmp --prefix=/usr --libdir=/usr/lib/aarch64-linux-gnu/ocaml/5.3.0 Warning: Cache directories could not be created: Permission denied; disabling cache -Hint: Make sure the directory /nonexistent/first-build/.cache/dune/db/temp +Hint: Make sure the directory /nonexistent/second-build/.cache/dune/db/temp can be created rm -fr /build/reproducible-path/coq-elpi-2.5.0/debian/tmp/usr/doc/coq-elpi rm -fr /build/reproducible-path/coq-elpi-2.5.0/debian/tmp/usr/doc/rocq-elpi @@ -20507,8 +20543,8 @@ dpkg-gencontrol: warning: package libcoq-elpi: substitution variable ${shlibs:Depends} unused, but is defined dh_md5sums dh_builddeb -dpkg-deb: building package 'libcoq-elpi-dbgsym' in '../libcoq-elpi-dbgsym_2.5.0-1_arm64.deb'. dpkg-deb: building package 'libcoq-elpi' in '../libcoq-elpi_2.5.0-1_arm64.deb'. +dpkg-deb: building package 'libcoq-elpi-dbgsym' in '../libcoq-elpi-dbgsym_2.5.0-1_arm64.deb'. dpkg-genbuildinfo --build=binary -O../coq-elpi_2.5.0-1_arm64.buildinfo dpkg-genchanges --build=binary -O../coq-elpi_2.5.0-1_arm64.changes dpkg-genchanges: info: binary-only upload (no source code included) @@ -20516,12 +20552,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/1382711/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/1382711/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/402054 and its subdirectories -I: Current time: Sun Mar 23 15:21:51 -12 2025 -I: pbuilder-time-stamp: 1742786511 +I: removing directory /srv/workspace/pbuilder/1382711 and its subdirectories +I: Current time: Sun Apr 26 23:47:50 +14 2026 +I: pbuilder-time-stamp: 1777196870