Diff of the two buildlogs:

--
--- b1/build.log	2025-03-19 13:43:21.650804878 +0000
+++ b2/build.log	2025-03-19 13:45:30.345031674 +0000
@@ -1,6 +1,7 @@
+W: cgroups are not available on the host, not using them.
 I: pbuilder: network access will be disabled during build
-I: Current time: Tue Apr 21 08:04:48 -12 2026
-I: pbuilder-time-stamp: 1776801888
+I: Current time: Thu Mar 20 03:43:27 +14 2025
+I: pbuilder-time-stamp: 1742391807
 I: Building the build Environment
 I: extracting base tarball [/var/cache/pbuilder/unstable-reproducible-base.tgz]
 I: copying local configuration
@@ -22,52 +23,83 @@
 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/1027252/tmp/hooks/D02_print_environment starting
+I: user script /srv/workspace/pbuilder/1216037/tmp/hooks/D01_modify_environment starting
+debug: Running on codethink04-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 Mar 19 13:43 /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/1216037/tmp/hooks/D01_modify_environment finished
+I: user script /srv/workspace/pbuilder/1216037/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='unstable'
-  HOME='/root'
-  HOST_ARCH='arm64'
+  DIRSTACK=()
+  DISTRIBUTION=unstable
+  EUID=0
+  FUNCNAME=([0]="Echo" [1]="main")
+  GROUPS=()
+  HOME=/root
+  HOSTNAME=i-capture-the-hostname
+  HOSTTYPE=aarch64
+  HOST_ARCH=arm64
   IFS=' 	
   '
-  INVOCATION_ID='1b82c17285704b8fa60d2e34ba74f6f8'
-  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='1027252'
-  PS1='# '
-  PS2='> '
+  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=1216037
   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.8Ufe1BGH/pbuilderrc_mQ25 --distribution unstable --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/unstable-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.8Ufe1BGH/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.8Ufe1BGH/pbuilderrc_XDDs --distribution unstable --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/unstable-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.8Ufe1BGH/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 codethink03-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  2025 /bin -> usr/bin
-I: user script /srv/workspace/pbuilder/1027252/tmp/hooks/D02_print_environment finished
+  lrwxrwxrwx 1 root root 7 Mar  4 11:20 /bin -> usr/bin
+I: user script /srv/workspace/pbuilder/1216037/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 unstable/main arm64 libstdio-ocaml-dev arm64 0.17.0-1+b1 [115 kB]
 Get: 88 http://deb.debian.org/debian unstable/main arm64 libppx-optcomp-ocaml-dev arm64 1:0.17.0-1+b6 [326 kB]
 Get: 89 http://deb.debian.org/debian unstable/main arm64 ocaml-dune arm64 3.17.2-1 [5587 kB]
-Fetched 380 MB in 3s (115 MB/s)
+Fetched 380 MB in 2s (185 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 ... 19898 files and directories currently installed.)
@@ -508,8 +540,8 @@
 Setting up tzdata (2025a-2) ...
 
 Current default time zone: 'Etc/UTC'
-Local time is now:      Tue Apr 21 20:05:19 UTC 2026.
-Universal Time is now:  Tue Apr 21 20:05:19 UTC 2026.
+Local time is now:      Wed Mar 19 13:44:06 UTC 2025.
+Universal Time is now:  Wed Mar 19 13:44:06 UTC 2025.
 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/1216037/tmp/hooks/A99_set_merged_usr starting
+Not re-configuring usrmerge for unstable
+I: user script /srv/workspace/pbuilder/1216037/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,8 +661,12 @@
 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 "./theories-stdlib/Vector.v", line 1, characters 0-31:
+Warning: Using Vector.t is known to be technically difficult, see
+<https://github.com/coq/coq/blob/master/theories/Vectors/Vector.v>.
+[warn-library-file-stdlib-vector,stdlib-vector,warn-library-file,user-warn,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]
@@ -711,23 +751,19 @@
 File "./apps/tc/elpi/dummy.v", line 15, characters 0-59:
 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
-<https://github.com/coq/coq/blob/master/theories/Vectors/Vector.v>.
-[warn-library-file-stdlib-vector,stdlib-vector,warn-library-file,user-warn,default]
-File "./apps/NES/elpi/dummy.v", line 1, characters 0-99:
+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]
-File "./apps/NES/elpi/dummy.v", line 2, characters 0-65:
+File "./apps/locker/elpi/dummy.v", line 2, characters 0-61:
 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:
+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/locker/elpi/dummy.v", line 1, characters 0-99:
+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/locker/elpi/dummy.v", line 2, characters 0-61:
+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:
@@ -860,7 +896,6 @@
 sweet!
 brr
 yummy!
-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]), 
@@ -871,6 +906,20 @@
 prod `_` (app [global (const «lt»), c1, c2]) c4 \
  app [global (const «lt»), c0, c2]
 3
+(eq_refl : 2 = (let z := 1 in S z))
+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
 foo =
 {f1 : Type & {f2 : f1 -> Type & forall t : f1, f2 t -> bool}}
      : Type
@@ -882,7 +931,7 @@
        (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))
+3 + 7 becomes fun (x : ?e) (x0 : ?e0) => S (S x0) + S (S (S (S (S (S x)))))
 DEBUG: attempt at fuzzing binary op: global (indc «PLUS»)
 DEBUG: attempt at fuzzing binary op: global (const «Nat.add»)
 DEBUG: attempt at fuzzing binary op: global (indc «AND»)
@@ -1349,19 +1398,6 @@
 File "./examples/tutorial_coq_elpi_HOAS.v", line 754, characters 12-14
 Ty is linear: name it _Ty (discard) or Ty_ (fresh variable)
 [elpi.linear-variable,elpi.typecheck,elpi,default]
-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
 Hello [str world!]
 Hello [int 46]
 Hello [str there]
@@ -1433,7 +1469,7 @@
 interp x := 
 some
  (app [global (indc «S»), app [global (indc «S»), global (indc «O»)]])
-The module is «elpi_examples.tutorial_coq_elpi_command.Module97»
+The module is «elpi_examples.tutorial_coq_elpi_command.Module12»
 Box.Box.Box.Box.foo = fun n : nat => n + 2
      : nat -> nat
 
@@ -1886,7 +1922,7 @@
 Debug:
   rid:1 step:5 gid:18 user:rule:backchain:candidates = File "./examples/tutorial_elpi_lang.v", line 591, column 2, characters 15200-15250: 
                                                        
-Debug: }}} ->  (0.000s)
+Debug: }}} ->  (0.016s)
 Debug: select 4 {{{  
              
 Debug:
@@ -2296,21 +2332,13 @@
 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:
+File "./apps/NES/theories/NES.v", line 39, characters 0-42:
 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]
+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:
   BO = fix `add` 0 
  (prod `n` (global (indt «nat»)) c0 \
@@ -2861,7 +2889,7 @@
           c5 \ app [c2, c4, c5]]]
 Debug:
 [elpi]
-  Elpi: query-compilation:0.0014 static-check:0.0000 optimization:0.0001 runtime:0.0030 (with success)
+  Elpi: query-compilation:0.0013 static-check:0.0000 optimization:0.0001 runtime:0.0075 (with success)
 
 Query assignments:
   GR = indc «Ord»
@@ -5265,7 +5293,7 @@
       (X10 c0 c1 c2 c3 c4)
 Debug:
 [elpi]
-  Elpi: query-compilation:0.0010 static-check:0.0000 optimization:0.0001 runtime:0.0100 (with error)
+  Elpi: query-compilation:0.0009 static-check:0.0000 optimization:0.0001 runtime:0.0315 (with error)
 
 hd
      : forall A : Type, A -> list A -> A
@@ -5279,6 +5307,11 @@
 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:
@@ -5979,7 +6012,7 @@
 Debug:
   rid:0 step:22 gid:26 user:rule:backchain = success 
                                              
-Debug: }}} ->  (0.000s)
+Debug: }}} ->  (0.017s)
 Debug: run 23 {{{  
            
 Debug:
@@ -6619,7 +6652,7 @@
 Debug:
   rid:1 step:363 gid:1037 user:rule:backchain:candidates = File "builtin_stdlib.elpi", line 279, column 0, characters 9290-9316: 
                                                            
-Debug: }}} ->  (0.001s)
+Debug: }}} ->  (0.009s)
 Debug: select 270 {{{  
                
 Debug:
@@ -7096,7 +7129,7 @@
 Debug:
   rid:1 step:368 gid:1049 user:rule:eq = success 
                                          
-Debug: }}} ->  (0.001s)
+Debug: }}} ->  (0.009s)
 Debug: run 369 {{{  
             
 Debug:
@@ -7331,6 +7364,65 @@
 
 Arguments expanded_g T%type_scope op%function_scope 
   (l s)%list_scope h%bool_scope
+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
+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]
+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
 Query assignments:
   GR = const «myi»
 Query assignments:
@@ -7739,6 +7831,16 @@
 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]
+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»
 Goal: 
 [decl c1 `y` (global (indt «nat»)), decl c0 `x` (global (indt «nat»))] 
 |- X0 c0 c1 : 
@@ -7843,56 +7945,6 @@
 G2 is linear: name it _G2 (discard) or G2_ (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
-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` 
@@ -8078,6 +8130,68 @@
 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
+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
+
+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:
   L = [gref (indt «Empty_set»), gref (const «Empty_set_rect»), 
  gref (const «Empty_set_ind»), gref (const «Empty_set_rec»), 
@@ -8276,9 +8390,6 @@
 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
 «elpi.tests.test_API_notations.abbr»
 Query assignments:
   A = «elpi.tests.test_API_notations.abbr»
@@ -8356,33 +8467,6 @@
   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
-
-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
 File "./tests/test_File3.v", line 18, characters 2-16:
 Warning: This command does not support this attribute: phase.
 [unsupported-attributes,parsing,default]
@@ -8522,6 +8606,1920 @@
 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]
+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 = 2.511827
+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]
 d1
      : nat
 d2
@@ -11297,1956 +13295,6 @@
 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
-
-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 = 0.790168
-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]
 z
      : nat
 it = elpi_subproof
@@ -13295,644 +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]
-Query assignments:
-  B = fix `add` 0 
- (prod `n` (global (indt «nat»)) c0 \
-   prod `m` (global (indt «nat»)) c1 \ global (indt «nat»)) c0 \
- fun `n` (global (indt «nat»)) c1 \
-  fun `m` (global (indt «nat»)) c2 \
-   match c1 (fun `n` (global (indt «nat»)) c3 \ global (indt «nat»)) 
-    [c2, 
-     fun `p` (global (indt «nat»)) c3 \
-      app [global (indc «S»), app [c0, c3, c2]]]
-  GR = «Nat.add»
-  RB = fix `add` 0 
- (prod `n` (global (indt «nat»)) c0 \
-   prod `m` (global (indt «nat»)) c1 \ global (indt «nat»)) c0 \
- fun `n` (global (indt «nat»)) c1 \
-  fun `m` (global (indt «nat»)) c2 \
-   match c1 (fun `n` (global (indt «nat»)) c3 \ global (indt «nat»)) 
-    [c2, 
-     fun `p` (global (indt «nat»)) c3 \
-      app [global (indc «S»), app [c0, c3, c2]]]
-  T = prod `n` (global (indt «nat»)) c0 \
- prod `m` (global (indt «nat»)) c1 \ global (indt «nat»)
-  TY = prod `n` (global (indt «nat»)) c0 \
- prod `m` (global (indt «nat»)) c1 \ global (indt «nat»)
-Syntactic constraints:
- {c0 c1 c2 c3} :
-   decl c3 `n` (global (indt «nat»)), decl c2 `m` (global (indt «nat»)), 
-     decl c1 `n` (global (indt «nat»)), 
-     decl c0 `add` 
-      (prod `n` (global (indt «nat»)) c1 \
-        prod `m` (global (indt «nat»)) c2 \ global (indt «nat»))
-   ?- evar (X0 c0 c1 c2 c3) (sort (typ «elpi.tests.test_elaborator.17»)) 
-       (X1 c0 c1 c2 c3)  /* suspended on X0, X1 */
-Universe constraints:
-UNIVERSES:
- {elpi.tests.test_elaborator.23 elpi.tests.test_elaborator.22
-  elpi.tests.test_elaborator.21 elpi.tests.test_elaborator.20
-  elpi.tests.test_elaborator.19 elpi.tests.test_elaborator.18
-  elpi.tests.test_elaborator.17 elpi.tests.test_elaborator.16
-  elpi.tests.test_elaborator.15 elpi.tests.test_elaborator.14
-  elpi.tests.test_elaborator.13 elpi.tests.test_elaborator.12
-  elpi.tests.test_elaborator.11 elpi.tests.test_elaborator.10
-  elpi.tests.test_elaborator.9 elpi.tests.test_elaborator.8
-  elpi.tests.test_elaborator.7 elpi.tests.test_elaborator.6
-  elpi.tests.test_elaborator.5 elpi.tests.test_elaborator.4
-  elpi.tests.test_elaborator.3 elpi.tests.test_elaborator.2
-  elpi.tests.test_elaborator.1} |=
-   Set <= elpi.tests.test_elaborator.1
-   Set <= elpi.tests.test_elaborator.2
-   Set <= elpi.tests.test_elaborator.3
-   Set <= elpi.tests.test_elaborator.8
-   Set <= elpi.tests.test_elaborator.12
-   Set <= elpi.tests.test_elaborator.16
-   Set <= elpi.tests.test_elaborator.20
-   elpi.tests.test_elaborator.1 <= elpi.tests.test_elaborator.6
-   elpi.tests.test_elaborator.2 <= elpi.tests.test_elaborator.4
-   elpi.tests.test_elaborator.3 <= elpi.tests.test_elaborator.4
-   elpi.tests.test_elaborator.4 <= elpi.tests.test_elaborator.5
-   elpi.tests.test_elaborator.5 <= elpi.tests.test_elaborator.6
-   elpi.tests.test_elaborator.6 <= elpi.tests.test_elaborator.7
-   elpi.tests.test_elaborator.8 <= elpi.tests.test_elaborator.10
-   elpi.tests.test_elaborator.9 <= elpi.tests.test_elaborator.10
-   elpi.tests.test_elaborator.10 <= elpi.tests.test_elaborator.11
-   elpi.tests.test_elaborator.12 <= elpi.tests.test_elaborator.14
-   elpi.tests.test_elaborator.13 <= elpi.tests.test_elaborator.14
-   elpi.tests.test_elaborator.14 <= elpi.tests.test_elaborator.15
-   elpi.tests.test_elaborator.16 <= elpi.tests.test_elaborator.18
-   elpi.tests.test_elaborator.17 <= elpi.tests.test_elaborator.18
-   elpi.tests.test_elaborator.18 <= elpi.tests.test_elaborator.19
-   elpi.tests.test_elaborator.20 <= elpi.tests.test_elaborator.22
-   elpi.tests.test_elaborator.21 <= elpi.tests.test_elaborator.22
-   elpi.tests.test_elaborator.22 <= elpi.tests.test_elaborator.23
-ALGEBRAIC UNIVERSES:
- {}
-FLEXIBLE UNIVERSES:
- 
-SORTS:
- 
-WEAK CONSTRAINTS:
- 
-
-Query assignments:
-  B = fun `n` (global (indt «nat»)) c0 \
- app
-  [global (const «nat_ind»), 
-   fun `n` (global (indt «nat»)) c1 \
-    app
-     [global (indt «eq»), global (indt «nat»), c1, 
-      app [global (const «Nat.add»), c1, global (indc «O»)]], 
-   let `_` 
-    (app
-      [global (indt «eq»), global (indt «nat»), global (indc «O»), 
-       app
-        [global (const «Nat.add»), global (indc «O»), global (indc «O»)]]) 
-    (app
-      [global (indc «eq_refl»), global (indt «nat»), global (indc «O»)]) 
-    c1 \ c1, 
-   fun `n` (global (indt «nat»)) c1 \
-    fun `IHn` 
-     (app
-       [global (indt «eq»), global (indt «nat»), c1, 
-        app [global (const «Nat.add»), c1, global (indc «O»)]]) c2 \
-     let `_` 
-      (app
-        [global (indt «eq»), global (indt «nat»), 
-         app [global (indc «S»), c1], 
-         app
-          [global (const «Nat.add»), app [global (indc «S»), c1], 
-           global (indc «O»)]]) 
-      (app
-        [global (const «f_equal_nat»), global (indt «nat»), 
-         global (indc «S»), c1, 
-         app [global (const «Nat.add»), c1, global (indc «O»)], c2]) c3 \
-      c3, c0]
-  GR = «plus_n_O»
-  RB = fun `n` (global (indt «nat»)) c0 \
- app
-  [global (const «nat_ind»), 
-   fun `n` (global (indt «nat»)) c1 \
-    app
-     [global (indt «eq»), global (indt «nat»), c1, 
-      app [global (const «Nat.add»), c1, global (indc «O»)]], 
-   let `_` 
-    (app
-      [global (indt «eq»), global (indt «nat»), global (indc «O»), 
-       app
-        [global (const «Nat.add»), global (indc «O»), global (indc «O»)]]) 
-    (app
-      [global (indc «eq_refl»), global (indt «nat»), global (indc «O»)]) 
-    c1 \ c1, 
-   fun `n` (global (indt «nat»)) c1 \
-    fun `IHn` 
-     (app
-       [global (indt «eq»), global (indt «nat»), c1, 
-        app [global (const «Nat.add»), c1, global (indc «O»)]]) c2 \
-     let `_` 
-      (app
-        [global (indt «eq»), global (indt «nat»), 
-         app [global (indc «S»), c1], 
-         app
-          [global (const «Nat.add»), app [global (indc «S»), c1], 
-           global (indc «O»)]]) 
-      (app
-        [global (const «f_equal_nat»), global (indt «nat»), 
-         global (indc «S»), c1, 
-         app [global (const «Nat.add»), c1, global (indc «O»)], c2]) c3 \
-      c3, c0]
-  TY = prod `n` (global (indt «nat»)) c0 \
- app
-  [global (indt «eq»), global (indt «nat»), c0, 
-   app [global (const «Nat.add»), c0, global (indc «O»)]]
-Universe constraints:
-UNIVERSES:
- {elpi.tests.test_elaborator.38 elpi.tests.test_elaborator.37
-  elpi.tests.test_elaborator.36 elpi.tests.test_elaborator.35
-  elpi.tests.test_elaborator.34 elpi.tests.test_elaborator.33
-  elpi.tests.test_elaborator.32 elpi.tests.test_elaborator.31
-  elpi.tests.test_elaborator.30 elpi.tests.test_elaborator.29
-  elpi.tests.test_elaborator.28 elpi.tests.test_elaborator.27
-  elpi.tests.test_elaborator.26 elpi.tests.test_elaborator.25
-  elpi.tests.test_elaborator.24} |=
-   Set <= eq.u0
-   Set <= Coq.Init.Logic.11
-   Set <= elpi.tests.test_elaborator.24
-   Set <= elpi.tests.test_elaborator.28
-   Set <= elpi.tests.test_elaborator.32
-   elpi.tests.test_elaborator.24 <= elpi.tests.test_elaborator.26
-   elpi.tests.test_elaborator.25 <= elpi.tests.test_elaborator.26
-   elpi.tests.test_elaborator.26 <= elpi.tests.test_elaborator.27
-   elpi.tests.test_elaborator.28 <= elpi.tests.test_elaborator.30
-   elpi.tests.test_elaborator.29 <= elpi.tests.test_elaborator.30
-   elpi.tests.test_elaborator.30 <= elpi.tests.test_elaborator.31
-   elpi.tests.test_elaborator.32 <= elpi.tests.test_elaborator.34
-   elpi.tests.test_elaborator.33 <= elpi.tests.test_elaborator.34
-   elpi.tests.test_elaborator.34 <= elpi.tests.test_elaborator.35
-   elpi.tests.test_elaborator.36 <= elpi.tests.test_elaborator.37
-   elpi.tests.test_elaborator.37 <= elpi.tests.test_elaborator.38
-ALGEBRAIC UNIVERSES:
- {}
-FLEXIBLE UNIVERSES:
- 
-SORTS:
- 
-WEAK CONSTRAINTS:
- 
-
-CHR: Uniqueness of typing of frozen--911 + [] <-> []
-[c0] |> [decl c0 `x` (uvar frozen--911 [])] |- frozen--911 [] : 
-sort (typ «elpi.tests.test_elaborator.40»)
-[] |> [] |- frozen--911 [] : sort (typ «elpi.tests.test_elaborator.39»)
-[] |> [] |- 
-unify-eq (sort (typ «elpi.tests.test_elaborator.40»)) 
- (sort (typ «elpi.tests.test_elaborator.39»)) 
-
-Query assignments:
-  R = fun `x` X0 c0 \ c0
-  T = prod `x` X0 c0 \ X0
-  X1_ = X1
-Syntactic constraints:
- {c0} : decl c0 `x` X0
-   ?- evar X2 (sort (typ «elpi.tests.test_elaborator.40»)) X0  /* suspended on X2, X0 */
-Universe constraints:
-UNIVERSES:
- {elpi.tests.test_elaborator.42 elpi.tests.test_elaborator.41
-  elpi.tests.test_elaborator.40 elpi.tests.test_elaborator.39} |=
-   elpi.tests.test_elaborator.39 <= elpi.tests.test_elaborator.41
-   elpi.tests.test_elaborator.40 <= elpi.tests.test_elaborator.39
-   elpi.tests.test_elaborator.40 <= elpi.tests.test_elaborator.41
-   elpi.tests.test_elaborator.41 <= elpi.tests.test_elaborator.42
-ALGEBRAIC UNIVERSES:
- {}
-FLEXIBLE UNIVERSES:
- 
-SORTS:
- 
-WEAK CONSTRAINTS:
- 
-
-Query assignments:
-  R = fun `x` (global (indt «nat»)) c0 \
- app [global (const «Nat.add»), c0, global (indc «O»)]
-  T = prod `x` (global (indt «nat»)) c0 \ global (indt «nat»)
-  X2_ = X0
-Universe constraints:
-UNIVERSES:
- {elpi.tests.test_elaborator.46 elpi.tests.test_elaborator.45
-  elpi.tests.test_elaborator.44 elpi.tests.test_elaborator.43} |=
-   elpi.tests.test_elaborator.43 <= elpi.tests.test_elaborator.45
-   elpi.tests.test_elaborator.44 <= elpi.tests.test_elaborator.45
-   elpi.tests.test_elaborator.45 <= elpi.tests.test_elaborator.46
-ALGEBRAIC UNIVERSES:
- {}
-FLEXIBLE UNIVERSES:
- 
-SORTS:
- 
-WEAK CONSTRAINTS:
- 
-
-sort (typ X0)
-Query assignments:
-  X3_ = X0
-Query assignments:
-  S = sort (typ «elpi.tests.test_elaborator.48»)
-  T = sort (typ «elpi.tests.test_elaborator.47»)
-  X4_ = «elpi.tests.test_elaborator.47»
-Universe constraints:
-UNIVERSES:
- {elpi.tests.test_elaborator.48 elpi.tests.test_elaborator.47} |=
-   elpi.tests.test_elaborator.47 < elpi.tests.test_elaborator.48
-ALGEBRAIC UNIVERSES:
- {elpi.tests.test_elaborator.47}
-FLEXIBLE UNIVERSES:
- elpi.tests.test_elaborator.47
-SORTS:
- 
-WEAK CONSTRAINTS:
- 
-
-Query assignments:
-  S = sort (typ «elpi.tests.test_elaborator.50»)
-  T = sort (typ «elpi.tests.test_elaborator.49»)
-  TW = sort (typ «elpi.tests.test_elaborator.49»)
-  W = sort (typ «elpi.tests.test_elaborator.51»)
-  X5_ = «elpi.tests.test_elaborator.49»
-  X6_ = «elpi.tests.test_elaborator.51»
-Universe constraints:
-UNIVERSES:
- {elpi.tests.test_elaborator.51 elpi.tests.test_elaborator.50
-  elpi.tests.test_elaborator.49} |=
-   elpi.tests.test_elaborator.49 < elpi.tests.test_elaborator.50
-   elpi.tests.test_elaborator.51 < elpi.tests.test_elaborator.49
-ALGEBRAIC UNIVERSES:
- {elpi.tests.test_elaborator.51 elpi.tests.test_elaborator.49}
-FLEXIBLE UNIVERSES:
- elpi.tests.test_elaborator.51
- elpi.tests.test_elaborator.49
-SORTS:
- 
-WEAK CONSTRAINTS:
- 
-
-Debug: Cannot enforce elpi.tests.test_elaborator.52 <
-elpi.tests.test_elaborator.52 because elpi.tests.test_elaborator.52
-= elpi.tests.test_elaborator.52
-Query assignments:
-  X = sort (typ X0)
-  X7_ = X0
-Query assignments:
-  X = sort (typ «elpi.tests.test_elaborator.53»)
-  Y = sort (typ «elpi.tests.test_elaborator.54»)
-Universe constraints:
-UNIVERSES:
- {elpi.tests.test_elaborator.54 elpi.tests.test_elaborator.53} |=
-   elpi.tests.test_elaborator.53 < elpi.tests.test_elaborator.54
-ALGEBRAIC UNIVERSES:
- {elpi.tests.test_elaborator.54 elpi.tests.test_elaborator.53}
-FLEXIBLE UNIVERSES:
- elpi.tests.test_elaborator.54
- elpi.tests.test_elaborator.53
-SORTS:
- 
-WEAK CONSTRAINTS:
- 
-
-Query assignments:
-  D = X0
-  R = app
- [global (indc «ex_intro»), X0, 
-  fun `hd_beta_auto` X0 c0 \
-   app
-    [global (indt «eq»), global (indt «nat»), global (indc «O»), 
-     global (indc «O»)], X1, global (const «p»)]
-  TY = app
- [global (indt «ex»), X0, 
-  fun `hd_beta_auto` X0 c0 \
-   app
-    [global (indt «eq»), global (indt «nat»), global (indc «O»), 
-     global (indc «O»)]]
-  X10_ = X2
-  X11_ = X3
-  X9_ = X4
-Syntactic constraints:
- evar (X4) (sort (typ «ex.u0»)) X0  /* suspended on X4, X0 */
- evar (X3) X0 (X1)  /* suspended on X3, X1 */
- evar (X1) X0 X5  /* suspended on X1, X5 */
-Query assignments:
-  R = app
- [global (indc «ex_intro»), global (indt «nat»), 
-  fun `hd_beta_auto` (global (indt «nat»)) c0 \
-   app [global (indt «eq»), global (indt «nat»), c0, c0], 
-  global (indc «O»), global (const «p»)]
-  TY = app
- [global (indt «ex»), global (indt «nat»), 
-  fun `hd_beta_auto` (global (indt «nat»)) c0 \
-   app [global (indt «eq»), global (indt «nat»), c0, c0]]
-  X12_ = X0
-  X13_ = X1
-Query assignments:
-  R = app
- [global (indc «ex_intro»), global (indt «nat»), 
-  fun `hd_beta_auto` (global (indt «nat»)) c0 \
-   app [global (indt «eq»), global (indt «nat»), c0, global (indc «O»)], 
-  global (indc «O»), global (const «p»)]
-  TY = app
- [global (indt «ex»), global (indt «nat»), 
-  fun `n` (global (indt «nat»)) c0 \
-   app [global (indt «eq»), global (indt «nat»), c0, global (indc «O»)]]
-  X14_ = X0
-  X15_ = c0 \
-X1 c0
-  X16_ = X2
-  X17_ = X3
-Universe constraints:
-UNIVERSES:
- {elpi.tests.test_elaborator.58 elpi.tests.test_elaborator.57
-  elpi.tests.test_elaborator.56 elpi.tests.test_elaborator.55} |=
-   Set <= elpi.tests.test_elaborator.55
-   elpi.tests.test_elaborator.55 <= elpi.tests.test_elaborator.57
-   elpi.tests.test_elaborator.56 <= elpi.tests.test_elaborator.57
-   elpi.tests.test_elaborator.57 <= elpi.tests.test_elaborator.58
-ALGEBRAIC UNIVERSES:
- {}
-FLEXIBLE UNIVERSES:
- 
-SORTS:
- 
-WEAK CONSTRAINTS:
- 
-
-Query assignments:
-  R = app
- [global (indc «ex_intro»), global (indt «nat»), 
-  fun `n` (global (indt «nat»)) c0 \
-   app [global (indt «eq»), global (indt «nat»), c0, global (indc «O»)], 
-  global (indc «O»), global (const «p»)]
-  TY = app
- [global (indt «ex»), global (indt «nat»), 
-  fun `n` (global (indt «nat»)) c0 \
-   app [global (indt «eq»), global (indt «nat»), c0, global (indc «O»)]]
-  X18_ = X0
-  X19_ = c0 \
-X1 c0
-  X20_ = X2
-  X21_ = X3
-Universe constraints:
-UNIVERSES:
- {elpi.tests.test_elaborator.62 elpi.tests.test_elaborator.61
-  elpi.tests.test_elaborator.60 elpi.tests.test_elaborator.59} |=
-   Set <= elpi.tests.test_elaborator.59
-   elpi.tests.test_elaborator.59 <= elpi.tests.test_elaborator.61
-   elpi.tests.test_elaborator.60 <= elpi.tests.test_elaborator.61
-   elpi.tests.test_elaborator.61 <= elpi.tests.test_elaborator.62
-ALGEBRAIC UNIVERSES:
- {}
-FLEXIBLE UNIVERSES:
- 
-SORTS:
- 
-WEAK CONSTRAINTS:
- 
-
-Query assignments:
-  A = tt
-  B = 0
-  C = 0
-  D = sort (typ «Set»)
-  E = [«true», «false»]
-  F = [global (indt «bool»), global (indt «bool»)]
-  GR = «bool»
-Query assignments:
-  F = app [global (const «nat_of_bool»), global (indc «true»)]
-c0 \ app [global (const «nat_of_bool»), c0]
-Query assignments:
-  Res = app
- [global (const «map»), global (indt «bool»), global (indt «nat»), 
-  fun `x` (global (indt «bool»)) c0 \
-   app [global (const «nat_of_bool»), c0], 
-  app
-   [global (indc «cons»), global (indt «bool»), global (indc «true»), 
-    app [global (indc «nil»), global (indt «bool»)]]]
-  X22_ = X0
-  X23_ = X1
-Query assignments:
-  Res = app
- [global (const «Z_of_nat»), 
-  app [global (const «nat_of_bool»), global (indc «true»)]]
-c0 \
-app [global (const «Z_of_nat»), app [global (const «nat_of_bool»), c0]]
-Query assignments:
-  Res = app
- [global (const «map»), global (indt «bool»), global (const «Z»), 
-  fun `x` (global (indt «bool»)) c0 \
-   app
-    [global (const «Z_of_nat»), app [global (const «nat_of_bool»), c0]], 
-  app
-   [global (indc «cons»), global (indt «bool»), global (indc «true»), 
-    app [global (indc «nil»), global (indt «bool»)]]]
-  X24_ = X0
-  X25_ = X1
-Query assignments:
-  R = prod `r` (global (const «ring»)) c0 \
- prod `x` (app [global (const «carr»), c0]) c1 \
-  app [global (indt «eq»), app [global (const «carr»), c0], c1, c1]
-  T = sort (typ «elpi.tests.test_elaborator.75»)
-  X26_ = c0 \ c1 \
-X0 c0 c1
-Universe constraints:
-UNIVERSES:
- {elpi.tests.test_elaborator.75 elpi.tests.test_elaborator.74
-  elpi.tests.test_elaborator.73 elpi.tests.test_elaborator.72
-  elpi.tests.test_elaborator.70} |=
-   ring.u0 <= elpi.tests.test_elaborator.70
-   elpi.tests.test_elaborator.70 <= elpi.tests.test_elaborator.75
-   elpi.tests.test_elaborator.73 <= elpi.tests.test_elaborator.74
-   elpi.tests.test_elaborator.74 <= elpi.tests.test_elaborator.75
-ALGEBRAIC UNIVERSES:
- {}
-FLEXIBLE UNIVERSES:
- 
-SORTS:
- 
-WEAK CONSTRAINTS:
- 
-
-Query assignments:
-  T = global (const «int»)
-  X = primitive (uint63 99)
-Query assignments:
-  T = global (const «float»)
-  X = primitive (float64 993000)
-Query assignments:
-  X27_ = X0
-File "./tests/test_elaborator.v", line 18, characters 10-12:
-Warning:
-File "./tests/test_elaborator.v", line 18, characters 10-12
-RB is linear: name it _RB (discard) or RB_ (fresh variable)
-[elpi.linear-variable,elpi.typecheck,elpi,default]
-File "./tests/test_elaborator.v", line 17, characters 58-59:
-Warning:
-File "./tests/test_elaborator.v", line 17, characters 58-59
-T is linear: name it _T (discard) or T_ (fresh variable)
-[elpi.linear-variable,elpi.typecheck,elpi,default]
-File "./tests/test_elaborator.v", line 18, characters 7-9:
-Warning:
-File "./tests/test_elaborator.v", line 18, characters 7-9
-TY is linear: name it _TY (discard) or TY_ (fresh variable)
-[elpi.linear-variable,elpi.typecheck,elpi,default]
-File "./tests/test_elaborator.v", line 23, characters 10-12:
-Warning:
-File "./tests/test_elaborator.v", line 23, characters 10-12
-RB is linear: name it _RB (discard) or RB_ (fresh variable)
-[elpi.linear-variable,elpi.typecheck,elpi,default]
-File "./tests/test_elaborator.v", line 23, characters 7-9:
-Warning:
-File "./tests/test_elaborator.v", line 23, characters 7-9
-TY is linear: name it _TY (discard) or TY_ (fresh variable)
-[elpi.linear-variable,elpi.typecheck,elpi,default]
-File "./tests/test_elaborator.v", line 29, characters 41-42:
-Warning:
-File "./tests/test_elaborator.v", line 29, characters 41-42
-R is linear: name it _R (discard) or R_ (fresh variable)
-[elpi.linear-variable,elpi.typecheck,elpi,default]
-File "./tests/test_elaborator.v", line 29, characters 39-40:
-Warning:
-File "./tests/test_elaborator.v", line 29, characters 39-40
-T is linear: name it _T (discard) or T_ (fresh variable)
-[elpi.linear-variable,elpi.typecheck,elpi,default]
-File "./tests/test_elaborator.v", line 31, characters 45-46:
-Warning:
-File "./tests/test_elaborator.v", line 31, characters 45-46
-R is linear: name it _R (discard) or R_ (fresh variable)
-[elpi.linear-variable,elpi.typecheck,elpi,default]
-File "./tests/test_elaborator.v", line 31, characters 43-44:
-Warning:
-File "./tests/test_elaborator.v", line 31, characters 43-44
-T is linear: name it _T (discard) or T_ (fresh variable)
-[elpi.linear-variable,elpi.typecheck,elpi,default]
-File "./tests/test_elaborator.v", line 38, characters 29-30:
-Warning:
-File "./tests/test_elaborator.v", line 38, characters 29-30
-S is linear: name it _S (discard) or S_ (fresh variable)
-[elpi.linear-variable,elpi.typecheck,elpi,default]
-File "./tests/test_elaborator.v", line 38, characters 31-32:
-Warning:
-File "./tests/test_elaborator.v", line 38, characters 31-32
-T is linear: name it _T (discard) or T_ (fresh variable)
-[elpi.linear-variable,elpi.typecheck,elpi,default]
-File "./tests/test_elaborator.v", line 41, characters 15-16:
-Warning:
-File "./tests/test_elaborator.v", line 41, characters 15-16
-S is linear: name it _S (discard) or S_ (fresh variable)
-[elpi.linear-variable,elpi.typecheck,elpi,default]
-File "./tests/test_elaborator.v", line 42, characters 29-31:
-Warning:
-File "./tests/test_elaborator.v", line 42, characters 29-31
-TW is linear: name it _TW (discard) or TW_ (fresh variable)
-[elpi.linear-variable,elpi.typecheck,elpi,default]
-File "./tests/test_elaborator.v", line 64, characters 32-33:
-Warning:
-File "./tests/test_elaborator.v", line 64, characters 32-33
-R is linear: name it _R (discard) or R_ (fresh variable)
-[elpi.linear-variable,elpi.typecheck,elpi,default]
-File "./tests/test_elaborator.v", line 71, characters 32-33:
-Warning:
-File "./tests/test_elaborator.v", line 71, characters 32-33
-R is linear: name it _R (discard) or R_ (fresh variable)
-[elpi.linear-variable,elpi.typecheck,elpi,default]
-File "./tests/test_elaborator.v", line 78, characters 45-46:
-Warning:
-File "./tests/test_elaborator.v", line 78, characters 45-46
-R is linear: name it _R (discard) or R_ (fresh variable)
-[elpi.linear-variable,elpi.typecheck,elpi,default]
-File "./tests/test_elaborator.v", line 90, characters 45-46:
-Warning:
-File "./tests/test_elaborator.v", line 90, characters 45-46
-R is linear: name it _R (discard) or R_ (fresh variable)
-[elpi.linear-variable,elpi.typecheck,elpi,default]
-File "./tests/test_elaborator.v", line 97, characters 62-63:
-Warning:
-File "./tests/test_elaborator.v", line 97, characters 62-63
-A is linear: name it _A (discard) or A_ (fresh variable)
-[elpi.linear-variable,elpi.typecheck,elpi,default]
-File "./tests/test_elaborator.v", line 97, characters 64-65:
-Warning:
-File "./tests/test_elaborator.v", line 97, characters 64-65
-B is linear: name it _B (discard) or B_ (fresh variable)
-[elpi.linear-variable,elpi.typecheck,elpi,default]
-File "./tests/test_elaborator.v", line 97, characters 66-67:
-Warning:
-File "./tests/test_elaborator.v", line 97, characters 66-67
-C is linear: name it _C (discard) or C_ (fresh variable)
-[elpi.linear-variable,elpi.typecheck,elpi,default]
-File "./tests/test_elaborator.v", line 97, characters 68-69:
-Warning:
-File "./tests/test_elaborator.v", line 97, characters 68-69
-D is linear: name it _D (discard) or D_ (fresh variable)
-[elpi.linear-variable,elpi.typecheck,elpi,default]
-File "./tests/test_elaborator.v", line 97, characters 70-71:
-Warning:
-File "./tests/test_elaborator.v", line 97, characters 70-71
-E is linear: name it _E (discard) or E_ (fresh variable)
-[elpi.linear-variable,elpi.typecheck,elpi,default]
-File "./tests/test_elaborator.v", line 97, characters 72-73:
-Warning:
-File "./tests/test_elaborator.v", line 97, characters 72-73
-F is linear: name it _F (discard) or F_ (fresh variable)
-[elpi.linear-variable,elpi.typecheck,elpi,default]
-File "./tests/test_elaborator.v", line 108, characters 66-67:
-Warning:
-File "./tests/test_elaborator.v", line 108, characters 66-67
-F is linear: name it _F (discard) or F_ (fresh variable)
-[elpi.linear-variable,elpi.typecheck,elpi,default]
-File "./tests/test_elaborator.v", line 121, characters 35-38:
-Warning:
-File "./tests/test_elaborator.v", line 121, characters 35-38
-Res is linear: name it _Res (discard) or Res_ (fresh variable)
-[elpi.linear-variable,elpi.typecheck,elpi,default]
-File "./tests/test_elaborator.v", line 135, characters 64-67:
-Warning:
-File "./tests/test_elaborator.v", line 135, characters 64-67
-Res is linear: name it _Res (discard) or Res_ (fresh variable)
-[elpi.linear-variable,elpi.typecheck,elpi,default]
-File "./tests/test_elaborator.v", line 138, characters 33-36:
-Warning:
-File "./tests/test_elaborator.v", line 138, characters 33-36
-Res is linear: name it _Res (discard) or Res_ (fresh variable)
-[elpi.linear-variable,elpi.typecheck,elpi,default]
-File "./tests/test_elaborator.v", line 151, characters 49-50:
-Warning:
-File "./tests/test_elaborator.v", line 151, characters 49-50
-R is linear: name it _R (discard) or R_ (fresh variable)
-[elpi.linear-variable,elpi.typecheck,elpi,default]
-File "./tests/test_elaborator.v", line 151, characters 47-48:
-Warning:
-File "./tests/test_elaborator.v", line 151, characters 47-48
-T is linear: name it _T (discard) or T_ (fresh variable)
-[elpi.linear-variable,elpi.typecheck,elpi,default]
-File "./tests/test_elaborator.v", line 156, characters 36-37:
-Warning:
-File "./tests/test_elaborator.v", line 156, characters 36-37
-T is linear: name it _T (discard) or T_ (fresh variable)
-[elpi.linear-variable,elpi.typecheck,elpi,default]
-File "./tests/test_elaborator.v", line 156, characters 38-39:
-Warning:
-File "./tests/test_elaborator.v", line 156, characters 38-39
-X is linear: name it _X (discard) or X_ (fresh variable)
-[elpi.linear-variable,elpi.typecheck,elpi,default]
-File "./tests/test_elaborator.v", line 157, characters 39-40:
-Warning:
-File "./tests/test_elaborator.v", line 157, characters 39-40
-T is linear: name it _T (discard) or T_ (fresh variable)
-[elpi.linear-variable,elpi.typecheck,elpi,default]
-File "./tests/test_elaborator.v", line 157, characters 41-42:
-Warning:
-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]
 synterp [str X]
 interp [str X]
 synterp [int 1]
@@ -14107,6 +13517,58 @@
 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 "./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]
  {c0} : decl c0 `x` (global (indt «nat»))
    ?- evar (X0 c0) 
        (prod `_` (global (indt «bool»)) c1 \ global (indt «True»)) 
@@ -15065,70 +14527,652 @@
 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]
-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]
+(true && false)%bool
+     : bool
+natmul R n : ringType_sort R
+     : ringType_sort R
+natmul R n : ringType_sort R
+     : ringType_sort R
 Query assignments:
-  X = 3
-app [global (const «Nat.mul»), X0, X1] type
-File "./tests/test_vernacular1.v", line 5, characters 0-61:
+  B = fix `add` 0 
+ (prod `n` (global (indt «nat»)) c0 \
+   prod `m` (global (indt «nat»)) c1 \ global (indt «nat»)) c0 \
+ fun `n` (global (indt «nat»)) c1 \
+  fun `m` (global (indt «nat»)) c2 \
+   match c1 (fun `n` (global (indt «nat»)) c3 \ global (indt «nat»)) 
+    [c2, 
+     fun `p` (global (indt «nat»)) c3 \
+      app [global (indc «S»), app [c0, c3, c2]]]
+  GR = «Nat.add»
+  RB = fix `add` 0 
+ (prod `n` (global (indt «nat»)) c0 \
+   prod `m` (global (indt «nat»)) c1 \ global (indt «nat»)) c0 \
+ fun `n` (global (indt «nat»)) c1 \
+  fun `m` (global (indt «nat»)) c2 \
+   match c1 (fun `n` (global (indt «nat»)) c3 \ global (indt «nat»)) 
+    [c2, 
+     fun `p` (global (indt «nat»)) c3 \
+      app [global (indc «S»), app [c0, c3, c2]]]
+  T = prod `n` (global (indt «nat»)) c0 \
+ prod `m` (global (indt «nat»)) c1 \ global (indt «nat»)
+  TY = prod `n` (global (indt «nat»)) c0 \
+ prod `m` (global (indt «nat»)) c1 \ global (indt «nat»)
+Syntactic constraints:
+ {c0 c1 c2 c3} :
+   decl c3 `n` (global (indt «nat»)), decl c2 `m` (global (indt «nat»)), 
+     decl c1 `n` (global (indt «nat»)), 
+     decl c0 `add` 
+      (prod `n` (global (indt «nat»)) c1 \
+        prod `m` (global (indt «nat»)) c2 \ global (indt «nat»))
+   ?- evar (X0 c0 c1 c2 c3) (sort (typ «elpi.tests.test_elaborator.17»)) 
+       (X1 c0 c1 c2 c3)  /* suspended on X0, X1 */
+Universe constraints:
+UNIVERSES:
+ {elpi.tests.test_elaborator.23 elpi.tests.test_elaborator.22
+  elpi.tests.test_elaborator.21 elpi.tests.test_elaborator.20
+  elpi.tests.test_elaborator.19 elpi.tests.test_elaborator.18
+  elpi.tests.test_elaborator.17 elpi.tests.test_elaborator.16
+  elpi.tests.test_elaborator.15 elpi.tests.test_elaborator.14
+  elpi.tests.test_elaborator.13 elpi.tests.test_elaborator.12
+  elpi.tests.test_elaborator.11 elpi.tests.test_elaborator.10
+  elpi.tests.test_elaborator.9 elpi.tests.test_elaborator.8
+  elpi.tests.test_elaborator.7 elpi.tests.test_elaborator.6
+  elpi.tests.test_elaborator.5 elpi.tests.test_elaborator.4
+  elpi.tests.test_elaborator.3 elpi.tests.test_elaborator.2
+  elpi.tests.test_elaborator.1} |=
+   Set <= elpi.tests.test_elaborator.1
+   Set <= elpi.tests.test_elaborator.2
+   Set <= elpi.tests.test_elaborator.3
+   Set <= elpi.tests.test_elaborator.8
+   Set <= elpi.tests.test_elaborator.12
+   Set <= elpi.tests.test_elaborator.16
+   Set <= elpi.tests.test_elaborator.20
+   elpi.tests.test_elaborator.1 <= elpi.tests.test_elaborator.6
+   elpi.tests.test_elaborator.2 <= elpi.tests.test_elaborator.4
+   elpi.tests.test_elaborator.3 <= elpi.tests.test_elaborator.4
+   elpi.tests.test_elaborator.4 <= elpi.tests.test_elaborator.5
+   elpi.tests.test_elaborator.5 <= elpi.tests.test_elaborator.6
+   elpi.tests.test_elaborator.6 <= elpi.tests.test_elaborator.7
+   elpi.tests.test_elaborator.8 <= elpi.tests.test_elaborator.10
+   elpi.tests.test_elaborator.9 <= elpi.tests.test_elaborator.10
+   elpi.tests.test_elaborator.10 <= elpi.tests.test_elaborator.11
+   elpi.tests.test_elaborator.12 <= elpi.tests.test_elaborator.14
+   elpi.tests.test_elaborator.13 <= elpi.tests.test_elaborator.14
+   elpi.tests.test_elaborator.14 <= elpi.tests.test_elaborator.15
+   elpi.tests.test_elaborator.16 <= elpi.tests.test_elaborator.18
+   elpi.tests.test_elaborator.17 <= elpi.tests.test_elaborator.18
+   elpi.tests.test_elaborator.18 <= elpi.tests.test_elaborator.19
+   elpi.tests.test_elaborator.20 <= elpi.tests.test_elaborator.22
+   elpi.tests.test_elaborator.21 <= elpi.tests.test_elaborator.22
+   elpi.tests.test_elaborator.22 <= elpi.tests.test_elaborator.23
+ALGEBRAIC UNIVERSES:
+ {}
+FLEXIBLE UNIVERSES:
+ 
+SORTS:
+ 
+WEAK CONSTRAINTS:
+ 
+
+Query assignments:
+  B = fun `n` (global (indt «nat»)) c0 \
+ app
+  [global (const «nat_ind»), 
+   fun `n` (global (indt «nat»)) c1 \
+    app
+     [global (indt «eq»), global (indt «nat»), c1, 
+      app [global (const «Nat.add»), c1, global (indc «O»)]], 
+   let `_` 
+    (app
+      [global (indt «eq»), global (indt «nat»), global (indc «O»), 
+       app
+        [global (const «Nat.add»), global (indc «O»), global (indc «O»)]]) 
+    (app
+      [global (indc «eq_refl»), global (indt «nat»), global (indc «O»)]) 
+    c1 \ c1, 
+   fun `n` (global (indt «nat»)) c1 \
+    fun `IHn` 
+     (app
+       [global (indt «eq»), global (indt «nat»), c1, 
+        app [global (const «Nat.add»), c1, global (indc «O»)]]) c2 \
+     let `_` 
+      (app
+        [global (indt «eq»), global (indt «nat»), 
+         app [global (indc «S»), c1], 
+         app
+          [global (const «Nat.add»), app [global (indc «S»), c1], 
+           global (indc «O»)]]) 
+      (app
+        [global (const «f_equal_nat»), global (indt «nat»), 
+         global (indc «S»), c1, 
+         app [global (const «Nat.add»), c1, global (indc «O»)], c2]) c3 \
+      c3, c0]
+  GR = «plus_n_O»
+  RB = fun `n` (global (indt «nat»)) c0 \
+ app
+  [global (const «nat_ind»), 
+   fun `n` (global (indt «nat»)) c1 \
+    app
+     [global (indt «eq»), global (indt «nat»), c1, 
+      app [global (const «Nat.add»), c1, global (indc «O»)]], 
+   let `_` 
+    (app
+      [global (indt «eq»), global (indt «nat»), global (indc «O»), 
+       app
+        [global (const «Nat.add»), global (indc «O»), global (indc «O»)]]) 
+    (app
+      [global (indc «eq_refl»), global (indt «nat»), global (indc «O»)]) 
+    c1 \ c1, 
+   fun `n` (global (indt «nat»)) c1 \
+    fun `IHn` 
+     (app
+       [global (indt «eq»), global (indt «nat»), c1, 
+        app [global (const «Nat.add»), c1, global (indc «O»)]]) c2 \
+     let `_` 
+      (app
+        [global (indt «eq»), global (indt «nat»), 
+         app [global (indc «S»), c1], 
+         app
+          [global (const «Nat.add»), app [global (indc «S»), c1], 
+           global (indc «O»)]]) 
+      (app
+        [global (const «f_equal_nat»), global (indt «nat»), 
+         global (indc «S»), c1, 
+         app [global (const «Nat.add»), c1, global (indc «O»)], c2]) c3 \
+      c3, c0]
+  TY = prod `n` (global (indt «nat»)) c0 \
+ app
+  [global (indt «eq»), global (indt «nat»), c0, 
+   app [global (const «Nat.add»), c0, global (indc «O»)]]
+Universe constraints:
+UNIVERSES:
+ {elpi.tests.test_elaborator.38 elpi.tests.test_elaborator.37
+  elpi.tests.test_elaborator.36 elpi.tests.test_elaborator.35
+  elpi.tests.test_elaborator.34 elpi.tests.test_elaborator.33
+  elpi.tests.test_elaborator.32 elpi.tests.test_elaborator.31
+  elpi.tests.test_elaborator.30 elpi.tests.test_elaborator.29
+  elpi.tests.test_elaborator.28 elpi.tests.test_elaborator.27
+  elpi.tests.test_elaborator.26 elpi.tests.test_elaborator.25
+  elpi.tests.test_elaborator.24} |=
+   Set <= eq.u0
+   Set <= Coq.Init.Logic.11
+   Set <= elpi.tests.test_elaborator.24
+   Set <= elpi.tests.test_elaborator.28
+   Set <= elpi.tests.test_elaborator.32
+   elpi.tests.test_elaborator.24 <= elpi.tests.test_elaborator.26
+   elpi.tests.test_elaborator.25 <= elpi.tests.test_elaborator.26
+   elpi.tests.test_elaborator.26 <= elpi.tests.test_elaborator.27
+   elpi.tests.test_elaborator.28 <= elpi.tests.test_elaborator.30
+   elpi.tests.test_elaborator.29 <= elpi.tests.test_elaborator.30
+   elpi.tests.test_elaborator.30 <= elpi.tests.test_elaborator.31
+   elpi.tests.test_elaborator.32 <= elpi.tests.test_elaborator.34
+   elpi.tests.test_elaborator.33 <= elpi.tests.test_elaborator.34
+   elpi.tests.test_elaborator.34 <= elpi.tests.test_elaborator.35
+   elpi.tests.test_elaborator.36 <= elpi.tests.test_elaborator.37
+   elpi.tests.test_elaborator.37 <= elpi.tests.test_elaborator.38
+ALGEBRAIC UNIVERSES:
+ {}
+FLEXIBLE UNIVERSES:
+ 
+SORTS:
+ 
+WEAK CONSTRAINTS:
+ 
+
+CHR: Uniqueness of typing of frozen--911 + [] <-> []
+[c0] |> [decl c0 `x` (uvar frozen--911 [])] |- frozen--911 [] : 
+sort (typ «elpi.tests.test_elaborator.40»)
+[] |> [] |- frozen--911 [] : sort (typ «elpi.tests.test_elaborator.39»)
+[] |> [] |- 
+unify-eq (sort (typ «elpi.tests.test_elaborator.40»)) 
+ (sort (typ «elpi.tests.test_elaborator.39»)) 
+
+Query assignments:
+  R = fun `x` X0 c0 \ c0
+  T = prod `x` X0 c0 \ X0
+  X1_ = X1
+Syntactic constraints:
+ {c0} : decl c0 `x` X0
+   ?- evar X2 (sort (typ «elpi.tests.test_elaborator.40»)) X0  /* suspended on X2, X0 */
+Universe constraints:
+UNIVERSES:
+ {elpi.tests.test_elaborator.42 elpi.tests.test_elaborator.41
+  elpi.tests.test_elaborator.40 elpi.tests.test_elaborator.39} |=
+   elpi.tests.test_elaborator.39 <= elpi.tests.test_elaborator.41
+   elpi.tests.test_elaborator.40 <= elpi.tests.test_elaborator.39
+   elpi.tests.test_elaborator.40 <= elpi.tests.test_elaborator.41
+   elpi.tests.test_elaborator.41 <= elpi.tests.test_elaborator.42
+ALGEBRAIC UNIVERSES:
+ {}
+FLEXIBLE UNIVERSES:
+ 
+SORTS:
+ 
+WEAK CONSTRAINTS:
+ 
+
+Query assignments:
+  R = fun `x` (global (indt «nat»)) c0 \
+ app [global (const «Nat.add»), c0, global (indc «O»)]
+  T = prod `x` (global (indt «nat»)) c0 \ global (indt «nat»)
+  X2_ = X0
+Universe constraints:
+UNIVERSES:
+ {elpi.tests.test_elaborator.46 elpi.tests.test_elaborator.45
+  elpi.tests.test_elaborator.44 elpi.tests.test_elaborator.43} |=
+   elpi.tests.test_elaborator.43 <= elpi.tests.test_elaborator.45
+   elpi.tests.test_elaborator.44 <= elpi.tests.test_elaborator.45
+   elpi.tests.test_elaborator.45 <= elpi.tests.test_elaborator.46
+ALGEBRAIC UNIVERSES:
+ {}
+FLEXIBLE UNIVERSES:
+ 
+SORTS:
+ 
+WEAK CONSTRAINTS:
+ 
+
+sort (typ X0)
+Query assignments:
+  X3_ = X0
+Query assignments:
+  S = sort (typ «elpi.tests.test_elaborator.48»)
+  T = sort (typ «elpi.tests.test_elaborator.47»)
+  X4_ = «elpi.tests.test_elaborator.47»
+Universe constraints:
+UNIVERSES:
+ {elpi.tests.test_elaborator.48 elpi.tests.test_elaborator.47} |=
+   elpi.tests.test_elaborator.47 < elpi.tests.test_elaborator.48
+ALGEBRAIC UNIVERSES:
+ {elpi.tests.test_elaborator.47}
+FLEXIBLE UNIVERSES:
+ elpi.tests.test_elaborator.47
+SORTS:
+ 
+WEAK CONSTRAINTS:
+ 
+
+Query assignments:
+  S = sort (typ «elpi.tests.test_elaborator.50»)
+  T = sort (typ «elpi.tests.test_elaborator.49»)
+  TW = sort (typ «elpi.tests.test_elaborator.49»)
+  W = sort (typ «elpi.tests.test_elaborator.51»)
+  X5_ = «elpi.tests.test_elaborator.49»
+  X6_ = «elpi.tests.test_elaborator.51»
+Universe constraints:
+UNIVERSES:
+ {elpi.tests.test_elaborator.51 elpi.tests.test_elaborator.50
+  elpi.tests.test_elaborator.49} |=
+   elpi.tests.test_elaborator.49 < elpi.tests.test_elaborator.50
+   elpi.tests.test_elaborator.51 < elpi.tests.test_elaborator.49
+ALGEBRAIC UNIVERSES:
+ {elpi.tests.test_elaborator.51 elpi.tests.test_elaborator.49}
+FLEXIBLE UNIVERSES:
+ elpi.tests.test_elaborator.51
+ elpi.tests.test_elaborator.49
+SORTS:
+ 
+WEAK CONSTRAINTS:
+ 
+
+Debug: Cannot enforce elpi.tests.test_elaborator.52 <
+elpi.tests.test_elaborator.52 because elpi.tests.test_elaborator.52
+= elpi.tests.test_elaborator.52
+Query assignments:
+  X = sort (typ X0)
+  X7_ = X0
+Query assignments:
+  X = sort (typ «elpi.tests.test_elaborator.53»)
+  Y = sort (typ «elpi.tests.test_elaborator.54»)
+Universe constraints:
+UNIVERSES:
+ {elpi.tests.test_elaborator.54 elpi.tests.test_elaborator.53} |=
+   elpi.tests.test_elaborator.53 < elpi.tests.test_elaborator.54
+ALGEBRAIC UNIVERSES:
+ {elpi.tests.test_elaborator.54 elpi.tests.test_elaborator.53}
+FLEXIBLE UNIVERSES:
+ elpi.tests.test_elaborator.54
+ elpi.tests.test_elaborator.53
+SORTS:
+ 
+WEAK CONSTRAINTS:
+ 
+
+Query assignments:
+  D = X0
+  R = app
+ [global (indc «ex_intro»), X0, 
+  fun `hd_beta_auto` X0 c0 \
+   app
+    [global (indt «eq»), global (indt «nat»), global (indc «O»), 
+     global (indc «O»)], X1, global (const «p»)]
+  TY = app
+ [global (indt «ex»), X0, 
+  fun `hd_beta_auto` X0 c0 \
+   app
+    [global (indt «eq»), global (indt «nat»), global (indc «O»), 
+     global (indc «O»)]]
+  X10_ = X2
+  X11_ = X3
+  X9_ = X4
+Syntactic constraints:
+ evar (X4) (sort (typ «ex.u0»)) X0  /* suspended on X4, X0 */
+ evar (X3) X0 (X1)  /* suspended on X3, X1 */
+ evar (X1) X0 X5  /* suspended on X1, X5 */
+Query assignments:
+  R = app
+ [global (indc «ex_intro»), global (indt «nat»), 
+  fun `hd_beta_auto` (global (indt «nat»)) c0 \
+   app [global (indt «eq»), global (indt «nat»), c0, c0], 
+  global (indc «O»), global (const «p»)]
+  TY = app
+ [global (indt «ex»), global (indt «nat»), 
+  fun `hd_beta_auto` (global (indt «nat»)) c0 \
+   app [global (indt «eq»), global (indt «nat»), c0, c0]]
+  X12_ = X0
+  X13_ = X1
+Query assignments:
+  R = app
+ [global (indc «ex_intro»), global (indt «nat»), 
+  fun `hd_beta_auto` (global (indt «nat»)) c0 \
+   app [global (indt «eq»), global (indt «nat»), c0, global (indc «O»)], 
+  global (indc «O»), global (const «p»)]
+  TY = app
+ [global (indt «ex»), global (indt «nat»), 
+  fun `n` (global (indt «nat»)) c0 \
+   app [global (indt «eq»), global (indt «nat»), c0, global (indc «O»)]]
+  X14_ = X0
+  X15_ = c0 \
+X1 c0
+  X16_ = X2
+  X17_ = X3
+Universe constraints:
+UNIVERSES:
+ {elpi.tests.test_elaborator.58 elpi.tests.test_elaborator.57
+  elpi.tests.test_elaborator.56 elpi.tests.test_elaborator.55} |=
+   Set <= elpi.tests.test_elaborator.55
+   elpi.tests.test_elaborator.55 <= elpi.tests.test_elaborator.57
+   elpi.tests.test_elaborator.56 <= elpi.tests.test_elaborator.57
+   elpi.tests.test_elaborator.57 <= elpi.tests.test_elaborator.58
+ALGEBRAIC UNIVERSES:
+ {}
+FLEXIBLE UNIVERSES:
+ 
+SORTS:
+ 
+WEAK CONSTRAINTS:
+ 
+
+Query assignments:
+  R = app
+ [global (indc «ex_intro»), global (indt «nat»), 
+  fun `n` (global (indt «nat»)) c0 \
+   app [global (indt «eq»), global (indt «nat»), c0, global (indc «O»)], 
+  global (indc «O»), global (const «p»)]
+  TY = app
+ [global (indt «ex»), global (indt «nat»), 
+  fun `n` (global (indt «nat»)) c0 \
+   app [global (indt «eq»), global (indt «nat»), c0, global (indc «O»)]]
+  X18_ = X0
+  X19_ = c0 \
+X1 c0
+  X20_ = X2
+  X21_ = X3
+Universe constraints:
+UNIVERSES:
+ {elpi.tests.test_elaborator.62 elpi.tests.test_elaborator.61
+  elpi.tests.test_elaborator.60 elpi.tests.test_elaborator.59} |=
+   Set <= elpi.tests.test_elaborator.59
+   elpi.tests.test_elaborator.59 <= elpi.tests.test_elaborator.61
+   elpi.tests.test_elaborator.60 <= elpi.tests.test_elaborator.61
+   elpi.tests.test_elaborator.61 <= elpi.tests.test_elaborator.62
+ALGEBRAIC UNIVERSES:
+ {}
+FLEXIBLE UNIVERSES:
+ 
+SORTS:
+ 
+WEAK CONSTRAINTS:
+ 
+
+Query assignments:
+  A = tt
+  B = 0
+  C = 0
+  D = sort (typ «Set»)
+  E = [«true», «false»]
+  F = [global (indt «bool»), global (indt «bool»)]
+  GR = «bool»
+Query assignments:
+  F = app [global (const «nat_of_bool»), global (indc «true»)]
+c0 \ app [global (const «nat_of_bool»), c0]
+Query assignments:
+  Res = app
+ [global (const «map»), global (indt «bool»), global (indt «nat»), 
+  fun `x` (global (indt «bool»)) c0 \
+   app [global (const «nat_of_bool»), c0], 
+  app
+   [global (indc «cons»), global (indt «bool»), global (indc «true»), 
+    app [global (indc «nil»), global (indt «bool»)]]]
+  X22_ = X0
+  X23_ = X1
+Query assignments:
+  Res = app
+ [global (const «Z_of_nat»), 
+  app [global (const «nat_of_bool»), global (indc «true»)]]
+c0 \
+app [global (const «Z_of_nat»), app [global (const «nat_of_bool»), c0]]
+Query assignments:
+  Res = app
+ [global (const «map»), global (indt «bool»), global (const «Z»), 
+  fun `x` (global (indt «bool»)) c0 \
+   app
+    [global (const «Z_of_nat»), app [global (const «nat_of_bool»), c0]], 
+  app
+   [global (indc «cons»), global (indt «bool»), global (indc «true»), 
+    app [global (indc «nil»), global (indt «bool»)]]]
+  X24_ = X0
+  X25_ = X1
+Query assignments:
+  R = prod `r` (global (const «ring»)) c0 \
+ prod `x` (app [global (const «carr»), c0]) c1 \
+  app [global (indt «eq»), app [global (const «carr»), c0], c1, c1]
+  T = sort (typ «elpi.tests.test_elaborator.75»)
+  X26_ = c0 \ c1 \
+X0 c0 c1
+Universe constraints:
+UNIVERSES:
+ {elpi.tests.test_elaborator.75 elpi.tests.test_elaborator.74
+  elpi.tests.test_elaborator.73 elpi.tests.test_elaborator.72
+  elpi.tests.test_elaborator.70} |=
+   ring.u0 <= elpi.tests.test_elaborator.70
+   elpi.tests.test_elaborator.70 <= elpi.tests.test_elaborator.75
+   elpi.tests.test_elaborator.73 <= elpi.tests.test_elaborator.74
+   elpi.tests.test_elaborator.74 <= elpi.tests.test_elaborator.75
+ALGEBRAIC UNIVERSES:
+ {}
+FLEXIBLE UNIVERSES:
+ 
+SORTS:
+ 
+WEAK CONSTRAINTS:
+ 
+
+Query assignments:
+  T = global (const «int»)
+  X = primitive (uint63 99)
+Query assignments:
+  T = global (const «float»)
+  X = primitive (float64 993000)
+Query assignments:
+  X27_ = X0
+File "./tests/test_elaborator.v", line 18, characters 10-12:
 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:
+File "./tests/test_elaborator.v", line 18, characters 10-12
+RB is linear: name it _RB (discard) or RB_ (fresh variable)
+[elpi.linear-variable,elpi.typecheck,elpi,default]
+File "./tests/test_elaborator.v", line 17, characters 58-59:
 Warning:
-File "./tests/test_vernacular1.v", line 65, characters 26-27
+File "./tests/test_elaborator.v", line 17, characters 58-59
+T is linear: name it _T (discard) or T_ (fresh variable)
+[elpi.linear-variable,elpi.typecheck,elpi,default]
+File "./tests/test_elaborator.v", line 18, characters 7-9:
+Warning:
+File "./tests/test_elaborator.v", line 18, characters 7-9
+TY is linear: name it _TY (discard) or TY_ (fresh variable)
+[elpi.linear-variable,elpi.typecheck,elpi,default]
+File "./tests/test_elaborator.v", line 23, characters 10-12:
+Warning:
+File "./tests/test_elaborator.v", line 23, characters 10-12
+RB is linear: name it _RB (discard) or RB_ (fresh variable)
+[elpi.linear-variable,elpi.typecheck,elpi,default]
+File "./tests/test_elaborator.v", line 23, characters 7-9:
+Warning:
+File "./tests/test_elaborator.v", line 23, characters 7-9
+TY is linear: name it _TY (discard) or TY_ (fresh variable)
+[elpi.linear-variable,elpi.typecheck,elpi,default]
+File "./tests/test_elaborator.v", line 29, characters 41-42:
+Warning:
+File "./tests/test_elaborator.v", line 29, characters 41-42
+R is linear: name it _R (discard) or R_ (fresh variable)
+[elpi.linear-variable,elpi.typecheck,elpi,default]
+File "./tests/test_elaborator.v", line 29, characters 39-40:
+Warning:
+File "./tests/test_elaborator.v", line 29, characters 39-40
+T is linear: name it _T (discard) or T_ (fresh variable)
+[elpi.linear-variable,elpi.typecheck,elpi,default]
+File "./tests/test_elaborator.v", line 31, characters 45-46:
+Warning:
+File "./tests/test_elaborator.v", line 31, characters 45-46
+R is linear: name it _R (discard) or R_ (fresh variable)
+[elpi.linear-variable,elpi.typecheck,elpi,default]
+File "./tests/test_elaborator.v", line 31, characters 43-44:
+Warning:
+File "./tests/test_elaborator.v", line 31, characters 43-44
+T is linear: name it _T (discard) or T_ (fresh variable)
+[elpi.linear-variable,elpi.typecheck,elpi,default]
+File "./tests/test_elaborator.v", line 38, characters 29-30:
+Warning:
+File "./tests/test_elaborator.v", line 38, characters 29-30
+S is linear: name it _S (discard) or S_ (fresh variable)
+[elpi.linear-variable,elpi.typecheck,elpi,default]
+File "./tests/test_elaborator.v", line 38, characters 31-32:
+Warning:
+File "./tests/test_elaborator.v", line 38, characters 31-32
+T is linear: name it _T (discard) or T_ (fresh variable)
+[elpi.linear-variable,elpi.typecheck,elpi,default]
+File "./tests/test_elaborator.v", line 41, characters 15-16:
+Warning:
+File "./tests/test_elaborator.v", line 41, characters 15-16
+S is linear: name it _S (discard) or S_ (fresh variable)
+[elpi.linear-variable,elpi.typecheck,elpi,default]
+File "./tests/test_elaborator.v", line 42, characters 29-31:
+Warning:
+File "./tests/test_elaborator.v", line 42, characters 29-31
+TW is linear: name it _TW (discard) or TW_ (fresh variable)
+[elpi.linear-variable,elpi.typecheck,elpi,default]
+File "./tests/test_elaborator.v", line 64, characters 32-33:
+Warning:
+File "./tests/test_elaborator.v", line 64, characters 32-33
+R is linear: name it _R (discard) or R_ (fresh variable)
+[elpi.linear-variable,elpi.typecheck,elpi,default]
+File "./tests/test_elaborator.v", line 71, characters 32-33:
+Warning:
+File "./tests/test_elaborator.v", line 71, characters 32-33
+R is linear: name it _R (discard) or R_ (fresh variable)
+[elpi.linear-variable,elpi.typecheck,elpi,default]
+File "./tests/test_elaborator.v", line 78, characters 45-46:
+Warning:
+File "./tests/test_elaborator.v", line 78, characters 45-46
+R is linear: name it _R (discard) or R_ (fresh variable)
+[elpi.linear-variable,elpi.typecheck,elpi,default]
+File "./tests/test_elaborator.v", line 90, characters 45-46:
+Warning:
+File "./tests/test_elaborator.v", line 90, characters 45-46
+R is linear: name it _R (discard) or R_ (fresh variable)
+[elpi.linear-variable,elpi.typecheck,elpi,default]
+File "./tests/test_elaborator.v", line 97, characters 62-63:
+Warning:
+File "./tests/test_elaborator.v", line 97, characters 62-63
+A is linear: name it _A (discard) or A_ (fresh variable)
+[elpi.linear-variable,elpi.typecheck,elpi,default]
+File "./tests/test_elaborator.v", line 97, characters 64-65:
+Warning:
+File "./tests/test_elaborator.v", line 97, characters 64-65
+B is linear: name it _B (discard) or B_ (fresh variable)
+[elpi.linear-variable,elpi.typecheck,elpi,default]
+File "./tests/test_elaborator.v", line 97, characters 66-67:
+Warning:
+File "./tests/test_elaborator.v", line 97, characters 66-67
+C is linear: name it _C (discard) or C_ (fresh variable)
+[elpi.linear-variable,elpi.typecheck,elpi,default]
+File "./tests/test_elaborator.v", line 97, characters 68-69:
+Warning:
+File "./tests/test_elaborator.v", line 97, characters 68-69
+D is linear: name it _D (discard) or D_ (fresh variable)
+[elpi.linear-variable,elpi.typecheck,elpi,default]
+File "./tests/test_elaborator.v", line 97, characters 70-71:
+Warning:
+File "./tests/test_elaborator.v", line 97, characters 70-71
+E is linear: name it _E (discard) or E_ (fresh variable)
+[elpi.linear-variable,elpi.typecheck,elpi,default]
+File "./tests/test_elaborator.v", line 97, characters 72-73:
+Warning:
+File "./tests/test_elaborator.v", line 97, characters 72-73
+F is linear: name it _F (discard) or F_ (fresh variable)
+[elpi.linear-variable,elpi.typecheck,elpi,default]
+File "./tests/test_elaborator.v", line 108, characters 66-67:
+Warning:
+File "./tests/test_elaborator.v", line 108, characters 66-67
+F is linear: name it _F (discard) or F_ (fresh variable)
+[elpi.linear-variable,elpi.typecheck,elpi,default]
+File "./tests/test_elaborator.v", line 121, characters 35-38:
+Warning:
+File "./tests/test_elaborator.v", line 121, characters 35-38
+Res is linear: name it _Res (discard) or Res_ (fresh variable)
+[elpi.linear-variable,elpi.typecheck,elpi,default]
+File "./tests/test_elaborator.v", line 135, characters 64-67:
+Warning:
+File "./tests/test_elaborator.v", line 135, characters 64-67
+Res is linear: name it _Res (discard) or Res_ (fresh variable)
+[elpi.linear-variable,elpi.typecheck,elpi,default]
+File "./tests/test_elaborator.v", line 138, characters 33-36:
+Warning:
+File "./tests/test_elaborator.v", line 138, characters 33-36
+Res is linear: name it _Res (discard) or Res_ (fresh variable)
+[elpi.linear-variable,elpi.typecheck,elpi,default]
+File "./tests/test_elaborator.v", line 151, characters 49-50:
+Warning:
+File "./tests/test_elaborator.v", line 151, characters 49-50
+R is linear: name it _R (discard) or R_ (fresh variable)
+[elpi.linear-variable,elpi.typecheck,elpi,default]
+File "./tests/test_elaborator.v", line 151, characters 47-48:
+Warning:
+File "./tests/test_elaborator.v", line 151, characters 47-48
+T is linear: name it _T (discard) or T_ (fresh variable)
+[elpi.linear-variable,elpi.typecheck,elpi,default]
+File "./tests/test_elaborator.v", line 156, characters 36-37:
+Warning:
+File "./tests/test_elaborator.v", line 156, characters 36-37
+T is linear: name it _T (discard) or T_ (fresh variable)
+[elpi.linear-variable,elpi.typecheck,elpi,default]
+File "./tests/test_elaborator.v", line 156, characters 38-39:
+Warning:
+File "./tests/test_elaborator.v", line 156, characters 38-39
 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:
+File "./tests/test_elaborator.v", line 157, characters 39-40:
 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]
-File "./apps/eltac/theories/apply.v", line 15, characters 16-19:
+File "./tests/test_elaborator.v", line 157, characters 39-40
+T is linear: name it _T (discard) or T_ (fresh variable)
+[elpi.linear-variable,elpi.typecheck,elpi,default]
+File "./tests/test_elaborator.v", line 157, characters 41-42:
 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_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]
+1
+     : nat
 nabla c1 \
  seal
   (goal [decl c1 `P` (sort prop)] (app [global (const «id»), X0, X1]) 
@@ -16421,7 +16465,7 @@
 Debug:
   rid:4 step:104 gid:244 user:rule:pi = success 
                                         
-Debug: }}} ->  (0.000s)
+Debug: }}} ->  (0.023s)
 Debug: run 105 {{{  
             
 Debug:
@@ -16768,7 +16812,7 @@
 Debug:
   rid:4 step:109 gid:246 user:rule:backchain = success 
                                                
-Debug: }}} ->  (0.001s)
+Debug: }}} ->  (0.000s)
 Debug: run 110 {{{  
             
 Debug:
@@ -17208,15 +17252,67 @@
 File "./tests/test_tactic.v", line 5, characters 28-32
 Type is linear: name it _Type (discard) or Type_ (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
+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
+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
+Cats.And.Dogs.x = 42
+     : nat
+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
 [p 1, p 2, p 3, p 4, p 5, p 6, p 7, p 8, p 9, p 10, p 11, p 12, p 13, 
  p 14, p 15, p 16, p 17, p 18, p 19, p 20, p 21, p 22, p 23, p 24, p 25, 
  p 26, p 27, p 28, p 29, p 30, p 31, p 32, p 33, p 34, p 35, p 36, p 37, 
@@ -17617,88 +17713,6 @@
  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]
-it = elpi_subproof
-     : True
-it : True
-
-it is not universe polymorphic
-it is transparent
-Expands to: Constant elpi.tests.test_ltac.it
-elpi_subproof = I
-     : True
-elpi_subproof : True
-
-elpi_subproof is not universe polymorphic
-elpi_subproof is opaque
-Expands to: Constant elpi.tests.test_ltac.elpi_subproof
-Closed under the global context
-test1
-str hello
-str x
-test1
-too many arguments
-[attribute elpi.loc 
-  (leaf-loc
-    File "./tests/test_vernacular2.v", line 10, column 24, characters 326-329:), 
- attribute elpi.phase (leaf-str interp), 
- attribute fwd_compat_attr (leaf-str )]
-[attribute elpi.loc 
-  (leaf-loc
-    File "./tests/test_vernacular2.v", line 11, column 0, characters 331-354:), 
- attribute elpi.phase (leaf-str interp), 
- attribute fwd_compat_attr (leaf-str )]
-File "./tests/test_vernacular2.v", line 6, characters 2-17:
-Warning: This command does not support this attribute: fwd_compat_attr.
-[unsupported-attributes,parsing,default]
-File "./tests/test_vernacular2.v", line 7, characters 2-17:
-Warning: This command does not support this attribute: fwd_compat_attr.
-[unsupported-attributes,parsing,default]
-File "./tests/test_vernacular2.v", line 8, characters 2-17:
-Warning: This command does not support this attribute: fwd_compat_attr.
-[unsupported-attributes,parsing,default]
-File "./tests/test_vernacular2.v", line 9, characters 2-17:
-Warning: This command does not support this attribute: fwd_compat_attr.
-[unsupported-attributes,parsing,default]
-File "./tests/test_vernacular2.v", line 10, characters 2-17:
-Warning: This command does not support this attribute: fwd_compat_attr.
-[unsupported-attributes,parsing,default]
-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
-Cats.And.Dogs.x = 42
-     : nat
 Module
 d3
  : d3_Locked
@@ -17789,24 +17803,213 @@
 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
 
-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
+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
+
+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
+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 _ _
+test1
+str hello
+str x
+test1
+too many arguments
+[attribute elpi.loc 
+  (leaf-loc
+    File "./tests/test_vernacular2.v", line 10, column 24, characters 326-329:), 
+ attribute elpi.phase (leaf-str interp), 
+ attribute fwd_compat_attr (leaf-str )]
+[attribute elpi.loc 
+  (leaf-loc
+    File "./tests/test_vernacular2.v", line 11, column 0, characters 331-354:), 
+ attribute elpi.phase (leaf-str interp), 
+ attribute fwd_compat_attr (leaf-str )]
+File "./tests/test_vernacular2.v", line 6, characters 2-17:
+Warning: This command does not support this attribute: fwd_compat_attr.
+[unsupported-attributes,parsing,default]
+File "./tests/test_vernacular2.v", line 7, characters 2-17:
+Warning: This command does not support this attribute: fwd_compat_attr.
+[unsupported-attributes,parsing,default]
+File "./tests/test_vernacular2.v", line 8, characters 2-17:
+Warning: This command does not support this attribute: fwd_compat_attr.
+[unsupported-attributes,parsing,default]
+File "./tests/test_vernacular2.v", line 9, characters 2-17:
+Warning: This command does not support this attribute: fwd_compat_attr.
+[unsupported-attributes,parsing,default]
+File "./tests/test_vernacular2.v", line 10, characters 2-17:
+Warning: This command does not support this attribute: fwd_compat_attr.
+[unsupported-attributes,parsing,default]
+ok
+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]
 Query assignments:
   X1 = «x1»
   X2 = «x2»
@@ -18054,179 +18257,12 @@
 Please add the following text to your program:
 type test term -> term -> prop.
 [elpi.missing-types,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]
 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
 In tc-A
 In tc-A
 In tc-B
@@ -18259,33 +18295,6 @@
 WEAK CONSTRAINTS:
  
 
-[TC] For  indt «C» :
-  elpi predicate : tc-C
-  search mode is : tc.deterministic
-  modes are      : [o, o]
-((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))
- :
- goal)
-2 focused goals (shelved: 1)
-  
-  A : Type
-  f : Type -> Type
-  H : forall x : Type, Y (f x)
-  ============================
-  Ex ?g A
-
-goal 2 is:
- ?g nat = ?g bool
-1 focused goal (shelved: 1)
-  
-  A : Type
-  f : Type -> Type
-  H : forall x : Type, Y (f x)
-  ============================
-  (fun H0 : Type => f ?e0@{T:=H0}) nat =
-  (fun H0 : Type => f ?e0@{T:=H0}) bool
 Query assignments:
   Len = 2
   Rules = [tc.instance [] (const «Bool.Decidable_eq_bool») 
@@ -18616,38 +18625,53 @@
 There is an hint extern in the typeclass db: 
 (*external*) (Morphisms.reflexive_proxy_tac A R)
 [elpi.TC.hints,elpi,default]
-Debug:
-Calling typeclass resolution with flags: depth = ∞,unique = false,fail = true
-Debug: 1: looking for (C ?i) with backtracking
-Debug: 1.1: exact i2 on (C ?i), 0 subgoal(s)
-Debug: 2: looking for (E 2) without backtracking
-Debug: 2: no match for (E 2), 0 possibilities
-Debug: 1.2: exact i1 on (C ?i), 0 subgoal(s)
-Debug: 2: looking for (E 1) without backtracking
-Debug: 2.1: exact e1 on (E 1), 0 subgoal(s)
-Debug:
-Calling typeclass resolution with flags: depth = ∞,unique = false,fail = true
-Debug: 1: looking for (C ?i) with backtracking
-Debug: 1.1: exact i2 on (C ?i), 0 subgoal(s)
-Debug:
-Calling typeclass resolution with flags: depth = ∞,unique = false,fail = true
-Debug: 1: looking for (E 2) without backtracking
-Debug: 1: no match for (E 2), 0 possibilities
-Debug: 1: looking for (C ?i) with backtracking
-Debug: 1.1: exact i2 on (C ?i), 0 subgoal(s)
-Debug: 2: looking for (E 2) without backtracking
-Debug: 2: no match for (E 2), 0 possibilities
-Debug: 1.2: exact i1 on (C ?i), 0 subgoal(s)
-Debug: 2: looking for (E 1) without backtracking
-Debug: 2.1: exact e1 on (E 1), 0 subgoal(s)
-[seal (goal [] (X0) (app [global (indt «C»), X1]) (X2) []), 
- seal (goal [] (X3) (app [global (indt «E»), X1]) (X4) [])]
-Goal is C ?i
-Solution for C 2 is i2
-Goal is E 2
-Solution for C 1 is i1
-Goal is E 1
-Solution for E 1 is e1
+((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))
+ :
+ goal)
+2 focused goals (shelved: 1)
+  
+  A : Type
+  f : Type -> Type
+  H : forall x : Type, Y (f x)
+  ============================
+  Ex ?g A
+
+goal 2 is:
+ ?g nat = ?g bool
+1 focused goal (shelved: 1)
+  
+  A : Type
+  f : Type -> Type
+  H : forall x : Type, Y (f x)
+  ============================
+  (fun H0 : Type => f ?e0@{T:=H0}) nat =
+  (fun H0 : Type => f ?e0@{T:=H0}) bool
+[TC] For  indt «C» :
+  elpi predicate : tc-C
+  search mode is : tc.deterministic
+  modes are      : [o, o]
+All the remaining goals are on the shelf.
+
+1 goal
+
+goal 1 is:
+ C
+1 goal
+  
+  ============================
+  C
+All the remaining goals are on the shelf.
+
+1 goal
+
+goal 1 is:
+ C
+1 goal
+  
+  ============================
+  C
 File "./apps/tc/tests-stdlib/stdppInj.v", line 13, characters 0-24:
 Warning:
 There is an hint extern in the typeclass db: 
@@ -18970,26 +18994,42 @@
 There is an hint extern in the typeclass db: 
 (*external*) (reflexive_proxy_tac A R)
 [elpi.TC.hints,elpi,default]
-All the remaining goals are on the shelf.
-
-1 goal
-
-goal 1 is:
- C
-1 goal
-  
-  ============================
-  C
-All the remaining goals are on the shelf.
-
-1 goal
-
-goal 1 is:
- C
-1 goal
-  
-  ============================
-  C
+Debug:
+Calling typeclass resolution with flags: depth = ∞,unique = false,fail = true
+Debug: 1: looking for (C ?i) with backtracking
+Debug: 1.1: exact i2 on (C ?i), 0 subgoal(s)
+Debug: 2: looking for (E 2) without backtracking
+Debug: 2: no match for (E 2), 0 possibilities
+Debug: 1.2: exact i1 on (C ?i), 0 subgoal(s)
+Debug: 2: looking for (E 1) without backtracking
+Debug: 2.1: exact e1 on (E 1), 0 subgoal(s)
+Debug:
+Calling typeclass resolution with flags: depth = ∞,unique = false,fail = true
+Debug: 1: looking for (C ?i) with backtracking
+Debug: 1.1: exact i2 on (C ?i), 0 subgoal(s)
+Debug:
+Calling typeclass resolution with flags: depth = ∞,unique = false,fail = true
+Debug: 1: looking for (E 2) without backtracking
+Debug: 1: no match for (E 2), 0 possibilities
+Debug: 1: looking for (C ?i) with backtracking
+Debug: 1.1: exact i2 on (C ?i), 0 subgoal(s)
+Debug: 2: looking for (E 2) without backtracking
+Debug: 2: no match for (E 2), 0 possibilities
+Debug: 1.2: exact i1 on (C ?i), 0 subgoal(s)
+Debug: 2: looking for (E 1) without backtracking
+Debug: 2.1: exact e1 on (E 1), 0 subgoal(s)
+[seal (goal [] (X0) (app [global (indt «C»), X1]) (X2) []), 
+ seal (goal [] (X3) (app [global (indt «E»), X1]) (X4) [])]
+Goal is C ?i
+Solution for C 2 is i2
+Goal is E 2
+Solution for C 1 is i1
+Goal is E 1
+Solution for E 1 is e1
+(fun x : tele => tele_fmap)
+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»)]
 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 =>
@@ -18997,66 +19037,6 @@
    (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".
-Query assignments:
-  S = app
- [global (const «IsAnimal»), global (indc «Fly»), global (const «dove»)]
-Query assignments:
-  S = X0
-(fun x : tele => tele_fmap)
-File "./apps/tc/tests/test_tc_declare.v", line 8, characters 2-36:
-Warning:
-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]
-File "./apps/tc/tests/test_tc_declare.v", line 20, characters 2-53:
-Warning:
-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]
-File "./apps/tc/tests/test_tc_declare.v", line 50, characters 2-47:
-Warning:
-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]
-File "./apps/tc/tests/test_tc_declare.v", line 63, characters 2-51:
-Warning:
-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]
-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»)]
-Instances list for indt «Eqb» is:
-const «eqBool» with locality []
-const «eqProd» with locality []
-Instances list for indt «DecidableClass.Decidable» is:
-const «Decidable_eq_bool» with locality []
-const «DecidableClass.Decidable_not» with locality []
-[TC] For  indt «Eqb» :
-  elpi predicate : tc-elpi.apps.tc.examples.tutorial.tc-Eqb
-  search mode is : tc.classic
-  modes are      : [o, o]
-Instances list for indt «Eqb» is:
-const «eqProd'» with locality [get-option coq:locality local]
-const «HB» with locality [get-option coq:locality local]
-const «HA» with locality [get-option coq:locality local]
-const «eqBool» with locality []
-const «eqProd» with locality []
-Instances list for indt «Eqb» is:
-const «eqBool» with locality []
-const «eqProd'» with locality [get-option coq:locality global]
-const «eqProd» with locality []
-[TC] For  indt «Eqb» :
-  elpi predicate : tc-elpi.apps.tc.examples.tutorial.tc-Eqb
-  search mode is : tc.classic
-  modes are      : [o, o]
-Instances list for indt «Eqb» is:
-const «eqBool» with locality []
-const «eqProd'» with locality [get-option coq:locality global]
-const «eqProd» with locality []
-Instances list for indt «DecidableClass.Decidable» is:
-const «Decidable_eq_bool» with locality []
-const «DecidableClass.Decidable_not» with locality []
 (fun (T : Type) (p : nat -> T -> T -> Prop) (x : T) => partial_app T (p 0) x)
 eq_refl
 :
@@ -19171,20 +19151,74 @@
   forall (T : Type -> Type) (H : forall x : Type, T x),
   C2 T (fun x : Type => H x) -> D
 Debug: [tactic-unification] Leaving unification with success
+Query assignments:
+  S = app
+ [global (const «IsAnimal»), global (indc «Fly»), global (const «dove»)]
+Query assignments:
+  S = X0
+File "./apps/tc/tests/test_tc_declare.v", line 8, characters 2-36:
+Warning:
+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]
+File "./apps/tc/tests/test_tc_declare.v", line 20, characters 2-53:
+Warning:
+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]
+File "./apps/tc/tests/test_tc_declare.v", line 50, characters 2-47:
+Warning:
+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]
+File "./apps/tc/tests/test_tc_declare.v", line 63, characters 2-51:
+Warning:
+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]
+Instances list for indt «Eqb» is:
+const «eqBool» with locality []
+const «eqProd» with locality []
+Instances list for indt «DecidableClass.Decidable» is:
+const «Decidable_eq_bool» with locality []
+const «DecidableClass.Decidable_not» with locality []
+[TC] For  indt «Eqb» :
+  elpi predicate : tc-elpi.apps.tc.examples.tutorial.tc-Eqb
+  search mode is : tc.classic
+  modes are      : [o, o]
+Instances list for indt «Eqb» is:
+const «eqProd'» with locality [get-option coq:locality local]
+const «HB» with locality [get-option coq:locality local]
+const «HA» with locality [get-option coq:locality local]
+const «eqBool» with locality []
+const «eqProd» with locality []
+Instances list for indt «Eqb» is:
+const «eqBool» with locality []
+const «eqProd'» with locality [get-option coq:locality global]
+const «eqProd» with locality []
+[TC] For  indt «Eqb» :
+  elpi predicate : tc-elpi.apps.tc.examples.tutorial.tc-Eqb
+  search mode is : tc.classic
+  modes are      : [o, o]
+Instances list for indt «Eqb» is:
+const «eqBool» with locality []
+const «eqProd'» with locality [get-option coq:locality global]
+const «eqProd» with locality []
+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
+<https://github.com/coq/coq/blob/master/theories/Vectors/Vector.v>.
+[warn-library-file-stdlib-vector,stdlib-vector,warn-library-file,user-warn,default]
 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.000210
+Debug: [TC] - Time of instance search is 0.000076
+Debug: [TC] - Time of refine.typecheck is 0.000187
 Debug:
 [elpitime]
-  Elpi: query-compilation:0.0001 static-check:0.0000 optimization:0.0001 runtime:0.0019 (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)
-Received the following event 
-[str new_instance, str I4, str A, str Export, int -1]
-File "./apps/eltac/tests-stdlib/test_injection.v", line 15, characters 0-15:
-Warning: Using Vector.t is known to be technically difficult, see
-<https://github.com/coq/coq/blob/master/theories/Vectors/Vector.v>.
-[warn-library-file-stdlib-vector,stdlib-vector,warn-library-file,user-warn,default]
 Query assignments:
   T = c0 \
 prod `c` X0 c1 \
@@ -19203,7 +19237,7 @@
   X3_ = X2
   X4_ = X3
   X5_ = X4
-Finished transaction in 0.032 secs (0.032u,0.s) (successful)
+Finished transaction in 0.107 secs (0.031u,0.s) (successful)
 Query assignments:
   A = c0 \
 c0
@@ -19490,6 +19524,8 @@
 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]
 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)
@@ -19917,9 +19953,9 @@
 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.002973
+Derivation param1 on const «Nat.add» took 0.002878
 Derivation param2 on const «Nat.add»
-Derivation param2 on const «Nat.add» took 0.003702
+Derivation param2 on const «Nat.add» took 0.003403
 Derivation eqb-alias on const «Nat.add»
 Derivation eqb-alias on const «Nat.add» failed, continuing
 Derivation eqbcorrect-alias on const «Nat.add»
@@ -19959,37 +19995,37 @@
     (arity (prod `l` (app [global (indt «tickle.tickle»), c1]) c2 \ c1))]
 Deriving
 Derivation map on indt «rtree»
-Derivation map on indt «rtree» took 0.001757
+Derivation map on indt «rtree» took 0.001819
 Derivation lens on indt «rtree»
 Derivation lens on indt «rtree» failed, continuing
 Derivation param1 on indt «rtree»
-Derivation param1 on indt «rtree» took 0.004862
+Derivation param1 on indt «rtree» took 0.004966
 Derivation param2 on indt «rtree»
-Derivation param2 on indt «rtree» took 0.006298
+Derivation param2 on indt «rtree» took 0.006877
 Derivation tag on indt «rtree»
-Derivation tag on indt «rtree» took 0.000982
+Derivation tag on indt «rtree» took 0.000983
 Derivation eqType_ast on indt «rtree»
-Derivation eqType_ast on indt «rtree» took 0.000341
+Derivation eqType_ast on indt «rtree» took 0.000393
 Derivation lens_laws on indt «rtree»
-Derivation lens_laws on indt «rtree» took 0.000045
+Derivation lens_laws on indt «rtree» took 0.000048
 Derivation param1_congr on indt «rtree»
-Derivation param1_congr on indt «rtree» took 0.002028
+Derivation param1_congr on indt «rtree» took 0.001990
 Derivation param1_inhab on indt «rtree»
-Derivation param1_inhab on indt «rtree» took 0.001724
+Derivation param1_inhab on indt «rtree» took 0.001805
 Derivation param1_functor on indt «rtree»
-Derivation param1_functor on indt «rtree» took 0.001880
+Derivation param1_functor on indt «rtree» took 0.001868
 Derivation fields on indt «rtree»
-Derivation fields on indt «rtree» took 0.006129
+Derivation fields on indt «rtree» took 0.007629
 Derivation param1_trivial on indt «rtree»
-Derivation param1_trivial on indt «rtree» took 0.175359
+Derivation param1_trivial on indt «rtree» took 0.194454
 Derivation induction on indt «rtree»
-Derivation induction on indt «rtree» took 0.001983
+Derivation induction on indt «rtree» took 0.001923
 Derivation eqb on indt «rtree»
-Derivation eqb on indt «rtree» took 0.006004
+Derivation eqb on indt «rtree» took 0.006101
 Derivation eqbcorrect on indt «rtree»
-Derivation eqbcorrect on indt «rtree» took 0.021787
+Derivation eqbcorrect on indt «rtree» took 0.023002
 Derivation eqbOK on indt «rtree»
-Derivation eqbOK on indt «rtree» took 0.001182
+Derivation eqbOK on indt «rtree» took 0.001242
 Done
 rtree.induction
 :
@@ -20013,15 +20049,15 @@
 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.003248
+Derivation lens on indt «Box» took 0.004124
 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.001144
+Derivation tag on indt «Box» took 0.001179
 Derivation eqType_ast on indt «Box»
-Derivation eqType_ast on indt «Box» took 0.000277
+Derivation eqType_ast on indt «Box» took 0.000269
 Derivation lens_laws on indt «Box»
-Derivation lens_laws on indt «Box» took 0.011631
+Derivation lens_laws on indt «Box» took 0.011507
 Skipping derivation param1_congr on indt «Box» 
 since the user did not select it
 Skipping derivation param1_inhab on indt «Box» 
@@ -20029,13 +20065,13 @@
 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.004543
+Derivation fields on indt «Box» took 0.004563
 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.002720
+Derivation eqb on indt «Box» took 0.002829
 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
@@ -20061,65 +20097,65 @@
 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.000842
+Derivation map on indt «a» took 0.000797
 Derivation lens on indt «a»
 Derivation lens on indt «a» failed, continuing
 Derivation param1 on indt «a»
-Derivation param1 on indt «a» took 0.001958
+Derivation param1 on indt «a» took 0.002073
 Derivation param2 on indt «a»
-Derivation param2 on indt «a» took 0.002321
+Derivation param2 on indt «a» took 0.005237
 Derivation tag on indt «a»
-Derivation tag on indt «a» took 0.000684
+Derivation tag on indt «a» took 0.000785
 Derivation eqType_ast on indt «a»
-Derivation eqType_ast on indt «a» took 0.000158
+Derivation eqType_ast on indt «a» took 0.000188
 Derivation lens_laws on indt «a»
-Derivation lens_laws on indt «a» took 0.000042
+Derivation lens_laws on indt «a» took 0.000047
 Derivation param1_congr on indt «a»
-Derivation param1_congr on indt «a» took 0.000278
+Derivation param1_congr on indt «a» took 0.000303
 Derivation param1_inhab on indt «a»
-Derivation param1_inhab on indt «a» took 0.000717
+Derivation param1_inhab on indt «a» took 0.000734
 Derivation param1_functor on indt «a»
-Derivation param1_functor on indt «a» took 0.000662
+Derivation param1_functor on indt «a» took 0.000649
 Derivation fields on indt «a»
-Derivation fields on indt «a» took 0.002403
+Derivation fields on indt «a» took 0.002989
 Derivation param1_trivial on indt «a»
-Derivation param1_trivial on indt «a» took 0.001037
+Derivation param1_trivial on indt «a» took 0.001077
 Derivation induction on indt «a»
-Derivation induction on indt «a» took 0.000787
+Derivation induction on indt «a» took 0.000919
 Derivation eqb on indt «a»
-Derivation eqb on indt «a» took 0.001296
+Derivation eqb on indt «a» took 0.001411
 Derivation eqbcorrect on indt «a»
-Derivation eqbcorrect on indt «a» took 0.002729
+Derivation eqbcorrect on indt «a» took 0.002874
 Derivation eqbOK on indt «a»
-Derivation eqbOK on indt «a» took 0.000490
+Derivation eqbOK on indt «a» took 0.000558
 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.002277
+Derivation param1 on indt «b» took 0.003638
 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.000685
+Derivation tag on indt «b» took 0.000778
 Derivation eqType_ast on indt «b»
-Derivation eqType_ast on indt «b» took 0.000214
+Derivation eqType_ast on indt «b» took 0.000235
 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.000747
+Derivation param1_inhab on indt «b» took 0.000871
 Derivation param1_functor on indt «b»
-Derivation param1_functor on indt «b» took 0.000731
+Derivation param1_functor on indt «b» took 0.000782
 Derivation fields on indt «b»
-Derivation fields on indt «b» took 0.002877
+Derivation fields on indt «b» took 0.003130
 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.001010
+Derivation induction on indt «b» took 0.001085
 Derivation eqb on indt «b»
-Derivation eqb on indt «b» took 0.001633
+Derivation eqb on indt «b» took 0.001821
 Derivation eqbcorrect on indt «b»
-Derivation eqbcorrect on indt «b» took 0.003507
+Derivation eqbcorrect on indt «b» took 0.003695
 Derivation eqbOK on indt «b»
-Derivation eqbOK on indt «b» took 0.000552
+Derivation eqbOK on indt «b» took 0.000675
 a_eqb
      : a -> a -> bool
 b_eqb
@@ -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.001208
+Derivation projK on indt «nat» took 0.001130
 Derivation isK on indt «nat»
-Derivation isK on indt «nat» took 0.001649
+Derivation isK on indt «nat» took 0.001570
 Derivation eq on indt «nat»
-Derivation eq on indt «nat» took 0.001421
+Derivation eq on indt «nat» took 0.001248
 Derivation invert on indt «nat»
-Derivation invert on indt «nat» took 0.001271
+Derivation invert on indt «nat» took 0.001232
 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.002524
+Derivation bcongr on indt «nat» took 0.002184
 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.002931
+Derivation eqK on indt «nat» took 0.002616
 Skipping derivation eqbcorrect on indt «nat» since it has been already run
 Derivation eqcorrect on indt «nat»
-Derivation eqcorrect on indt «nat» took 0.000833
+Derivation eqcorrect on indt «nat» took 0.000726
 Skipping derivation eqbOK on indt «nat» since it has been already run
 Derivation eqOK on indt «nat»
-Derivation eqOK on indt «nat» took 0.000480
+Derivation eqOK on indt «nat» took 0.000421
 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.003068
+Derivation param1 on indt «foo» took 0.002901
 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.000933
+Derivation tag on indt «foo» took 0.000861
 Derivation eqType_ast on indt «foo»
-Derivation eqType_ast on indt «foo» took 0.000273
+Derivation eqType_ast on indt «foo» took 0.000251
 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.001128
+Derivation param1_inhab on indt «foo» took 0.000946
 Derivation param1_functor on indt «foo»
-Derivation param1_functor on indt «foo» took 0.000869
+Derivation param1_functor on indt «foo» took 0.000893
 Derivation fields on indt «foo»
-Derivation fields on indt «foo» took 0.003975
+Derivation fields on indt «foo» took 0.003689
 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.001058
+Derivation induction on indt «foo» took 0.000995
 Derivation eqb on indt «foo»
-Derivation eqb on indt «foo» took 0.002248
+Derivation eqb on indt «foo» took 0.002047
 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.004618
+Derivation eqbcorrect on indt «foo» took 0.004322
 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.000804
+Derivation eqbOK on indt «foo» took 0.000735
 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
 <https://github.com/coq/coq/blob/master/theories/Vectors/Vector.v>.
 [warn-library-file-stdlib-vector,stdlib-vector,warn-library-file,user-warn,default]
-Finished transaction in 0.755 secs (0.719u,0.012s) (successful)
-Finished transaction in 15.874 secs (15.535u,0.043s) (successful)
-Finished transaction in 0.219 secs (0.218u,0.s) (successful)
+Finished transaction in 1.596 secs (0.685u,0.012s) (successful)
+Finished transaction in 28.279 secs (15.017u,0.09s) (successful)
+Finished transaction in 0.218 secs (0.216u,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' 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-deb: building package 'libcoq-elpi' in '../libcoq-elpi_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/1216037/tmp/hooks/B01_cleanup starting
+I: user script /srv/workspace/pbuilder/1216037/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/1027252 and its subdirectories
-I: Current time: Tue Apr 21 08:06:19 -12 2026
-I: pbuilder-time-stamp: 1776801979
+I: removing directory /srv/workspace/pbuilder/1216037 and its subdirectories
+I: Current time: Thu Mar 20 03:45:28 +14 2025
+I: pbuilder-time-stamp: 1742391928