Diff of the two buildlogs: -- --- b1/build.log 2024-05-12 21:32:17.735591039 +0000 +++ b2/build.log 2024-05-12 21:37:32.322200122 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Sat Jun 14 15:52:39 -12 2025 -I: pbuilder-time-stamp: 1749959559 +I: Current time: Mon May 13 11:32:22 +14 2024 +I: pbuilder-time-stamp: 1715549542 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/trixie-reproducible-base.tgz] I: copying local configuration @@ -28,52 +28,84 @@ dpkg-source: info: applying 0001-Increase-timeout-in-test-that-takes-a-bit-longer-on-.patch I: Not using root during the build. I: Installing the build-deps -I: user script /srv/workspace/pbuilder/2460549/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/2161750/tmp/hooks/D01_modify_environment starting +debug: Running on codethink02-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 May 12 21:32 /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/2161750/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/2161750/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]="21" [3]="1" [4]="release" [5]="aarch64-unknown-linux-gnu") + BASH_VERSION='5.2.21(1)-release' + BUILDDIR=/build/reproducible-path + BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other' + BUILDUSERNAME=pbuilder2 + BUILD_ARCH=arm64 + DEBIAN_FRONTEND=noninteractive DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=12 ' - DISTRIBUTION='trixie' - HOME='/root' - HOST_ARCH='arm64' + DIRSTACK=() + DISTRIBUTION=trixie + EUID=0 + FUNCNAME=([0]="Echo" [1]="main") + GROUPS=() + HOME=/root + HOSTNAME=i-capture-the-hostname + HOSTTYPE=aarch64 + HOST_ARCH=arm64 IFS=' ' - INVOCATION_ID='12a2f591a67e451ba61cf2ed9a1064c0' - 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='2460549' - PS1='# ' - PS2='> ' + INVOCATION_ID=b71722cfe8044630aa15e72f7ded9b28 + 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=2161750 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.Jd5t8ixl/pbuilderrc_iMR5 --distribution trixie --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/trixie-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.Jd5t8ixl/b1 --logfile b1/build.log coq-elpi_1.19.3-2.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.Jd5t8ixl/pbuilderrc_zZQl --distribution trixie --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/trixie-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.Jd5t8ixl/b2 --logfile b2/build.log coq-elpi_1.19.3-2.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-21-cloud-arm64 #1 SMP Debian 6.1.90-1 (2024-05-03) aarch64 GNU/Linux + Linux i-capture-the-hostname 6.1.0-21-cloud-arm64 #1 SMP Debian 6.1.90-1 (2024-05-03) aarch64 GNU/Linux I: ls -l /bin - lrwxrwxrwx 1 root root 7 Jun 12 17:48 /bin -> usr/bin -I: user script /srv/workspace/pbuilder/2460549/tmp/hooks/D02_print_environment finished + lrwxrwxrwx 1 root root 7 May 12 11:38 /bin -> usr/bin +I: user script /srv/workspace/pbuilder/2161750/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -199,7 +231,7 @@ Get: 76 http://deb.debian.org/debian trixie/main arm64 libppx-deriving-ocaml-dev arm64 5.2.1-4+b3 [812 kB] Get: 77 http://deb.debian.org/debian trixie/main arm64 libre-ocaml-dev arm64 1.11.0-1+b1 [930 kB] Get: 78 http://deb.debian.org/debian trixie/main arm64 libelpi-ocaml-dev arm64 1.17.4-3+b1 [9912 kB] -Fetched 363 MB in 1s (271 MB/s) +Fetched 363 MB in 3s (119 MB/s) debconf: delaying package configuration, since apt-utils is not installed Selecting previously unselected package libpython3.11-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 ... 19745 files and directories currently installed.) @@ -463,8 +495,8 @@ Setting up tzdata (2024a-4) ... Current default time zone: 'Etc/UTC' -Local time is now: Sun Jun 15 03:53:07 UTC 2025. -Universal Time is now: Sun Jun 15 03:53:07 UTC 2025. +Local time is now: Sun May 12 21:33:46 UTC 2024. +Universal Time is now: Sun May 12 21:33:46 UTC 2024. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up autotools-dev (20220109.1) ... @@ -538,7 +570,11 @@ Building tag database... -> Finished parsing the build-deps I: Building the package -I: Running cd /build/reproducible-path/coq-elpi-1.19.3/ && 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_1.19.3-2_source.changes +I: user script /srv/workspace/pbuilder/2161750/tmp/hooks/A99_set_merged_usr starting +Not re-configuring usrmerge for trixie +I: user script /srv/workspace/pbuilder/2161750/tmp/hooks/A99_set_merged_usr finished +hostname: Name or service not known +I: Running cd /build/reproducible-path/coq-elpi-1.19.3/ && 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_1.19.3-2_source.changes dpkg-buildpackage: info: source package coq-elpi dpkg-buildpackage: info: source version 1.19.3-2 dpkg-buildpackage: info: source distribution unstable @@ -818,7 +854,7 @@ app [global (indt «or»), global (indt «False»), global (indt «True»)] hit app [global (indt «or»), global (indt «False»), global (indt «True»)] -Finished transaction in 0.008 secs (0.008u,0.s) (successful) +Finished transaction in 0.015 secs (0.007u,0.s) (successful) ########################## building APPS ############################ make[3]: Entering directory '/build/reproducible-path/coq-elpi-1.19.3/apps/derive' Using coq found in /usr/bin//, from COQBIN or PATH @@ -943,75 +979,6 @@ make[2]: Leaving directory '/build/reproducible-path/coq-elpi-1.19.3/apps/eltac' make[2]: Entering directory '/build/reproducible-path/coq-elpi-1.19.3/apps/NES' Using coq found in /usr/bin//, from COQBIN or PATH -make[4]: Nothing to be done for 'real-all'. -Query assignments: - CA = «a» - CB = «b» - CC = «c» -d : nat - -d is not universe polymorphic -Expands to: Variable d -Query assignments: - L = [gref (indt «Empty_set»), gref (const «Empty_set_rect»), - gref (const «Empty_set_ind»), gref (const «Empty_set_rec»), - gref (const «Empty_set_sind»), gref (indt «unit»), - gref (const «unit_rect»), gref (const «unit_ind»), - gref (const «unit_rec»), gref (const «unit_sind»), - gref (indt «bool»), gref (const «bool_rect»), - gref (const «bool_ind»), gref (const «bool_rec»), - gref (const «bool_sind»), gref (const «andb»), gref (const «orb»), - gref (const «implb»), gref (const «xorb»), gref (const «negb»), - gref (const «andb_prop»), gref (const «andb_true_intro»), - gref (indt «eq_true»), gref (const «eq_true_rect»), - gref (const «eq_true_ind»), gref (const «eq_true_rec»), - gref (const «eq_true_sind»), gref (const «is_true»), - gref (const «eq_true_ind_r»), gref (const «eq_true_rec_r»), - gref (const «eq_true_rect_r»), gref (indt «BoolSpec»), - gref (const «BoolSpec_ind»), gref (const «BoolSpec_sind»), - gref (indt «nat»), gref (const «nat_rect»), gref (const «nat_ind»), - gref (const «nat_rec»), gref (const «nat_sind»), - gref (indt «option»), gref (const «option_rect»), - gref (const «option_ind»), gref (const «option_rec»), - gref (const «option_sind»), gref (const «option_map»), - gref (indt «sum»), gref (const «sum_rect»), gref (const «sum_ind»), - gref (const «sum_rec»), gref (const «sum_sind»), gref (indt «prod»), - gref (const «prod_rect»), gref (const «prod_ind»), - gref (const «prod_rec»), gref (const «prod_sind»), - gref (const «fst»), gref (const «snd»), - gref (const «surjective_pairing»), - gref (const «injective_projections»), gref (const «pair_equal_spec»), - gref (const «curry»), gref (const «uncurry»), - gref (const «rew_pair»), gref (indt «list»), - gref (const «list_rect»), gref (const «list_ind»), - gref (const «list_rec»), gref (const «list_sind»), - gref (const «length»), gref (const «app»), gref (indt «comparison»), - gref (const «comparison_rect»), gref (const «comparison_ind»), - gref (const «comparison_rec»), gref (const «comparison_sind»), - gref (const «comparison_eq_stable»), gref (const «CompOpp»), - gref (const «CompOpp_involutive»), gref (const «CompOpp_inj»), - gref (const «CompOpp_iff»), gref (indt «CompareSpec»), - gref (const «CompareSpec_ind»), gref (const «CompareSpec_sind»), - gref (indt «CompareSpecT»), gref (const «CompareSpecT_rect»), - gref (const «CompareSpecT_ind»), gref (const «CompareSpecT_rec»), - gref (const «CompareSpecT_sind»), gref (const «CompareSpec2Type»), - gref (const «CompSpec»), gref (const «CompSpecT»), - gref (const «CompSpec2Type»), gref (const «ID»), gref (const «id»), - gref (const «IDProp»), gref (const «idProp»)] - MP = «Coq.Init.Datatypes» -eq_refl : e2 = 3 - : e2 = 3 -Query assignments: - I = const «imp» -X2.imp : forall (T : Type) (x : T), x = x -> Prop - -X2.imp is not universe polymorphic -Arguments X2.imp T%type_scope x _ -Expands to: Constant elpi.tests.test_API_arguments.X2.imp -Query assignments: - GR = const «myi» -myi : Reflexive R - : Reflexive R Query assignments: E = fun `n` (global (indt «nat»)) c0 \ fun `t` (app [global (const «T2»), c0]) c1 \ @@ -1048,6 +1015,19 @@ WEAK CONSTRAINTS: +Coq version: 8.18.0 = 8 . 18 . 0 +Query assignments: + MA = 8 + MI = 18 + P = 0 + V = 8.18.0 +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 «elpi.tests.test_API_notations.abbr» Query assignments: A = «elpi.tests.test_API_notations.abbr» @@ -1085,7 +1065,95 @@ Expands to: Notation elpi.tests.test_API_notations.abbr 4 = 4 : Prop -make[2]: Leaving directory '/build/reproducible-path/coq-elpi-1.19.3/apps/NES' +Query assignments: + GR = const «myi» +myi : Reflexive R + : Reflexive R +Query assignments: + BO = fix `add` 0 + (prod `n` (global (indt «nat»)) c0 \ + prod `m` (global (indt «nat»)) c1 \ global (indt «nat»)) c0 \ + fun `n` (global (indt «nat»)) c1 \ + fun `m` (global (indt «nat»)) c2 \ + match c1 (fun `n` (global (indt «nat»)) c3 \ global (indt «nat»)) + [c2, + fun `p` (global (indt «nat»)) c3 \ + app [global (indc «S»), app [c0, c3, c2]]] + GR = «Nat.add» + TY = prod `n` (global (indt «nat»)) c0 \ + prod `m` (global (indt «nat»)) c1 \ global (indt «nat») +Query assignments: + L = [gref (indt «Empty_set»), gref (const «Empty_set_rect»), + gref (const «Empty_set_ind»), gref (const «Empty_set_rec»), + gref (const «Empty_set_sind»), gref (indt «unit»), + gref (const «unit_rect»), gref (const «unit_ind»), + gref (const «unit_rec»), gref (const «unit_sind»), + gref (indt «bool»), gref (const «bool_rect»), + gref (const «bool_ind»), gref (const «bool_rec»), + gref (const «bool_sind»), gref (const «andb»), gref (const «orb»), + gref (const «implb»), gref (const «xorb»), gref (const «negb»), + gref (const «andb_prop»), gref (const «andb_true_intro»), + gref (indt «eq_true»), gref (const «eq_true_rect»), + gref (const «eq_true_ind»), gref (const «eq_true_rec»), + gref (const «eq_true_sind»), gref (const «is_true»), + gref (const «eq_true_ind_r»), gref (const «eq_true_rec_r»), + gref (const «eq_true_rect_r»), gref (indt «BoolSpec»), + gref (const «BoolSpec_ind»), gref (const «BoolSpec_sind»), + gref (indt «nat»), gref (const «nat_rect»), gref (const «nat_ind»), + gref (const «nat_rec»), gref (const «nat_sind»), + gref (indt «option»), gref (const «option_rect»), + gref (const «option_ind»), gref (const «option_rec»), + gref (const «option_sind»), gref (const «option_map»), + gref (indt «sum»), gref (const «sum_rect»), gref (const «sum_ind»), + gref (const «sum_rec»), gref (const «sum_sind»), gref (indt «prod»), + gref (const «prod_rect»), gref (const «prod_ind»), + gref (const «prod_rec»), gref (const «prod_sind»), + gref (const «fst»), gref (const «snd»), + gref (const «surjective_pairing»), + gref (const «injective_projections»), gref (const «pair_equal_spec»), + gref (const «curry»), gref (const «uncurry»), + gref (const «rew_pair»), gref (indt «list»), + gref (const «list_rect»), gref (const «list_ind»), + gref (const «list_rec»), gref (const «list_sind»), + gref (const «length»), gref (const «app»), gref (indt «comparison»), + gref (const «comparison_rect»), gref (const «comparison_ind»), + gref (const «comparison_rec»), gref (const «comparison_sind»), + gref (const «comparison_eq_stable»), gref (const «CompOpp»), + gref (const «CompOpp_involutive»), gref (const «CompOpp_inj»), + gref (const «CompOpp_iff»), gref (indt «CompareSpec»), + gref (const «CompareSpec_ind»), gref (const «CompareSpec_sind»), + gref (indt «CompareSpecT»), gref (const «CompareSpecT_rect»), + gref (const «CompareSpecT_ind»), gref (const «CompareSpecT_rec»), + gref (const «CompareSpecT_sind»), gref (const «CompareSpec2Type»), + gref (const «CompSpec»), gref (const «CompSpecT»), + gref (const «CompSpec2Type»), gref (const «ID»), gref (const «id»), + gref (const «IDProp»), gref (const «idProp»)] + MP = «Coq.Init.Datatypes» +make[4]: Nothing to be done for 'real-all'. +Query assignments: + E = app + [global (const «bar»), + app + [global (indc «S»), + app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]], + global (const «xxx»)] + TY = prop + _uvk_4_ = X0 + _uvk_5_ = X1 +Query assignments: +Query assignments: + Spilled_1 = const «foo» +foo 3 + : nat + CA = «a» + CB = «b» + CC = «c» +d : nat + +d is not universe polymorphic +Expands to: Variable d +eq_refl : e2 = 3 + : e2 = 3 {c0} : decl c0 `x` (global (indt «nat»)) ?- evar (X0 c0) (prod `_` (global (indt «bool»)) c1 \ global (indt «True»)) @@ -1108,14 +1176,9 @@ ?- evar (X0 c0) (prod `_` (global (indt «bool»)) c1 \ global (indt «True»)) (X1 c0) /* suspended on X0, X1 */ +make[2]: Leaving directory '/build/reproducible-path/coq-elpi-1.19.3/apps/NES' make[2]: Entering directory '/build/reproducible-path/coq-elpi-1.19.3/apps/locker' Using coq found in /usr/bin//, from COQBIN or PATH -Coq version: 8.18.0 = 8 . 18 . 0 -Query assignments: - MA = 8 - MI = 18 - P = 0 - V = 8.18.0 Query assignments: BO = fix `add` 0 (prod `n` (global (indt «nat»)) c0 \ @@ -1133,48 +1196,7 @@ Succ = global (indc «S») TY = prod `n` (global (indt «nat»)) c0 \ prod `m` (global (indt «nat»)) c1 \ global (indt «nat») -Query assignments: - BO = fix `add` 0 - (prod `n` (global (indt «nat»)) c0 \ - prod `m` (global (indt «nat»)) c1 \ global (indt «nat»)) c0 \ - fun `n` (global (indt «nat»)) c1 \ - fun `m` (global (indt «nat»)) c2 \ - match c1 (fun `n` (global (indt «nat»)) c3 \ global (indt «nat»)) - [c2, - fun `p` (global (indt «nat»)) c3 \ - app [global (indc «S»), app [c0, c3, c2]]] - GR = «Nat.add» - TY = prod `n` (global (indt «nat»)) c0 \ - prod `m` (global (indt «nat»)) c1 \ global (indt «nat») -Query assignments: -elpi.tests.test_API_module.X.i - X = «x» -[elpi, tests, test_API_module, X, Y] -[elpi, tests, test_API_module, X, Y] -Query assignments: - L = [gref (indt «X.i»), gref (const «X.i_rect»), gref (const «X.i_ind»), - gref (const «X.i_rec»), gref (const «X.i_sind»), gref (const «X.d»), - submodule «elpi.tests.test_API_module.X.Y» - [gref (indt «X.Y.i»), gref (const «X.Y.i_rect»), - gref (const «X.Y.i_ind»), gref (const «X.Y.i_rec»), - gref (const «X.Y.i_sind»), gref (const «X.Y.d»)]] - MP = «elpi.tests.test_API_module.X» - Spilled_1 = [elpi, tests, test_API_module, X, Y] - Spilled_2 = [elpi, tests, test_API_module, X, Y] -fx : nat -> nat - : nat -> nat - Spilled_3 = elpi.tests.test_API_module.X.Y.i - Spilled_4 = elpi.tests.test_API_module.X.i - Spilled_5 = elpi.tests.test_API_module.X.i - XYi = «X.Y.i» - XYr = «X.Y.i_rect» - Xi = «X.i» -Query assignments: - Spilled_1 = const «foo» -foo 3 - : nat -make[4]: Nothing to be done for 'real-all'. -Query assignments: +hello world Query assignments: L = [tc-instance (const «inverse_impl_rewrite_relation») 3, tc-instance (const «impl_rewrite_relation») 3, @@ -1211,50 +1233,6 @@ tc-instance (const «PER_Symmetric») 3, tc-instance (const «iff_Symmetric») 0, tc-instance (const «neq_Symmetric») 0] - _uvk_16_ = X0 - _uvk_17_ = c0 \ -X1 c0 - _uvk_18_ = c0 \ c1 \ -X2 c0 c1 -Syntactic constraints: - {c0 c1} : decl c1 `y` (X1 c0), decl c0 `x` X0 - ?- evar (X2 c0 c1) (X3 c0 c1) (X2 c0 c1) /* suspended on X2 */ - {c0 c1} : decl c1 `y` (X1 c0), decl c0 `x` X0 - ?- evar (X4 c0 c1) (sort (typ «elpi.tests.test_API_notations.6»)) - (X3 c0 c1) /* suspended on X4, X3 */ - {c0} : decl c0 `x` X0 - ?- evar (X1 c0) (sort (typ «elpi.tests.test_API_notations.5»)) (X1 c0) /* suspended on X1 */ - evar (X0) (sort (typ «elpi.tests.test_API_notations.4»)) (X0) /* suspended on X0 */ -Universe constraints: -UNIVERSES: - {elpi.tests.test_API_notations.6 elpi.tests.test_API_notations.5 - elpi.tests.test_API_notations.4} |= -ALGEBRAIC UNIVERSES: - {} -UNDEFINED UNIVERSES: - -SORTS: - α4 - α5 - α6 -WEAK CONSTRAINTS: - - -Notation abbr2 _elpi_ctx_entry_1_was_x_ := - (fun H => _elpi_ctx_entry_1_was_x_ = _elpi_ctx_entry_1_was_x_) -Expands to: Notation elpi.tests.test_API_notations.abbr2 -(fun _ : nat => 2 = 2) 3 - : Prop -Query assignments: - E = app - [global (const «bar»), - app - [global (indc «S»), - app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]], - global (const «xxx»)] - TY = prop - _uvk_4_ = X0 - _uvk_5_ = X1 ----<<---- enter: coq.say raw: (parameter A1 maximal (sort (typ «elpi.tests.test_arg_HOAS.2»)) c0 \ @@ -1608,7 +1586,41 @@ ?B1 : [ |- Type] ?B2 : [ |- Type] ?f : [ |- foo1 ?A2 (?B1 * ?B1) ?B2 3] -make[2]: Leaving directory '/build/reproducible-path/coq-elpi-1.19.3/apps/locker' +Query assignments: + _uvk_16_ = X0 + _uvk_17_ = c0 \ +X1 c0 + _uvk_18_ = c0 \ c1 \ +X2 c0 c1 +Syntactic constraints: + {c0 c1} : decl c1 `y` (X1 c0), decl c0 `x` X0 + ?- evar (X2 c0 c1) (X3 c0 c1) (X2 c0 c1) /* suspended on X2 */ + {c0 c1} : decl c1 `y` (X1 c0), decl c0 `x` X0 + ?- evar (X4 c0 c1) (sort (typ «elpi.tests.test_API_notations.6»)) + (X3 c0 c1) /* suspended on X4, X3 */ + {c0} : decl c0 `x` X0 + ?- evar (X1 c0) (sort (typ «elpi.tests.test_API_notations.5»)) (X1 c0) /* suspended on X1 */ + evar (X0) (sort (typ «elpi.tests.test_API_notations.4»)) (X0) /* suspended on X0 */ +Universe constraints: +UNIVERSES: + {elpi.tests.test_API_notations.6 elpi.tests.test_API_notations.5 + elpi.tests.test_API_notations.4} |= +ALGEBRAIC UNIVERSES: + {} +UNDEFINED UNIVERSES: + +SORTS: + α4 + α5 + α6 +WEAK CONSTRAINTS: + + +Notation abbr2 _elpi_ctx_entry_1_was_x_ := + (fun H => _elpi_ctx_entry_1_was_x_ = _elpi_ctx_entry_1_was_x_) +Expands to: Notation elpi.tests.test_API_notations.abbr2 +(fun _ : nat => 2 = 2) 3 + : Prop ----<<---- enter: coq.say raw: (parameter A1 maximal X0 c0 \ @@ -1637,6 +1649,7 @@ arity (prod `_` c0 c5 \ app [c2, c3, c4, app [global (indc «S»), global (indc «O»)]]))]) +Query assignments: raw: parameter A1 maximal X0 c0 \ parameter A2 explicit c0 c1 \ @@ -1723,6 +1736,11 @@ app [c2, c3, c4, app [global (indc «S»), global (indc «O»)]]))]) X9) Illtyped inductive declaration + Spilled_1 = const «f» + Spilled_2 = const «f» + Spilled_3 = const «f» + Spilled_4 = const «f» + Spilled_5 = const «f» ---->>---- exit: std.assert-ok! (coq.elaborate-indt-decl-skeleton @@ -1797,6 +1815,15 @@ app [c2, c3, c4, app [global (indc «S»), global (indc «O»)]]))])) Illtyped inductive declaration +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 ----<<---- enter: coq.say typed: (parameter A1 maximal (sort (typ «elpi.tests.test_arg_HOAS.40»)) c0 \ @@ -1934,17 +1961,6 @@ (prod `_` c0 c5 \ app [c2, c3, c4, app [global (indc «S»), global (indc «O»)]]))]) X10 -H -[nabla c1 \ - seal - (goal - [decl c1 `H` - (prod `b` - (prod `b` (global (indt «bool»)) c2 \ - app [global (indt «eq»), global (indt «bool»), c2, c2]) c2 \ - global (indt «True»))] (X0 c1) - (prod `b` (global (indt «bool»)) c2 \ - app [global (indt «eq»), global (indt «bool»), c2, c2]) (X1 c1) [])] ---->>---- exit: coq.env.add-indt (parameter A1 maximal (sort (typ «foo1.u0»)) c0 \ @@ -1995,12 +2011,6 @@ ?B1 : [ |- Type] ?B2 : [ |- Type] ?f : [ |- foo1 ?A2 (?B1 * ?B1) ?B2 3] -make[2]: Entering directory '/build/reproducible-path/coq-elpi-1.19.3/apps/coercion' -Using coq found in /usr/bin//, from COQBIN or PATH -Query assignments: - GR = «empty_nat» - TY = global (indt «nat») -hello world c2 global (indt «nat») z @@ -2011,46 +2021,189 @@ Spilled_2 = c0 \ c1 \ c2 \ z T = global (indt «nat») -make[4]: Nothing to be done for 'real-all'. +Query assignments: + E = app + [global (const «op»), global (const «c»), + app + [global (indc «S»), + app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]]] + TY = app [global (const «field»), global (const «c»)] + _uvk_6_ = X0 +Universe constraints: +UNIVERSES: + {elpi.tests.test_API_elaborate.19 elpi.tests.test_API_elaborate.18} |= + elpi.tests.test_API_elaborate.19 < elpi.tests.test_API_elaborate.18 + s.u0 <= elpi.tests.test_API_elaborate.19 +ALGEBRAIC UNIVERSES: + {} +UNDEFINED UNIVERSES: + +SORTS: + α11 := Type +WEAK CONSTRAINTS: + + +elpi.tests.test_API_module.X.i +[elpi, tests, test_API_module, X, Y] +[elpi, tests, test_API_module, X, Y] +Query assignments: + L = [gref (indt «X.i»), gref (const «X.i_rect»), gref (const «X.i_ind»), + gref (const «X.i_rec»), gref (const «X.i_sind»), gref (const «X.d»), + submodule «elpi.tests.test_API_module.X.Y» + [gref (indt «X.Y.i»), gref (const «X.Y.i_rect»), + gref (const «X.Y.i_ind»), gref (const «X.Y.i_rec»), + gref (const «X.Y.i_sind»), gref (const «X.Y.d»)]] + MP = «elpi.tests.test_API_module.X» + Spilled_1 = [elpi, tests, test_API_module, X, Y] + Spilled_2 = [elpi, tests, test_API_module, X, Y] + Spilled_3 = elpi.tests.test_API_module.X.Y.i + Spilled_4 = elpi.tests.test_API_module.X.i + Spilled_5 = elpi.tests.test_API_module.X.i + XYi = «X.Y.i» + XYr = «X.Y.i_rect» + Xi = «X.i» +Query assignments: + X = «x» +fx : nat -> nat + : nat -> nat Query assignments: Spilled_1 = const «f» - Spilled_2 = const «f» - Spilled_3 = const «f» - Spilled_4 = const «f» - Spilled_5 = const «f» f : forall [S : Type], S -> Prop f is not universe polymorphic -Arguments f [S]%type_scope _ +Arguments f [S]%type_scope / _ (where some original arguments have been renamed) +The reduction tactics unfold f when applied to 1 argument f is transparent Expands to: Constant elpi.tests.test_API_arguments.f f (S:=bool * bool) : bool * bool -> Prop + = fun x : bool => x = x + : bool -> Prop +COQC tests/test_quotation.v +make[4]: Nothing to be done for 'real-all'. +H +[nabla c1 \ + seal + (goal + [decl c1 `H` + (prod `b` + (prod `b` (global (indt «bool»)) c2 \ + app [global (indt «eq»), global (indt «bool»), c2, c2]) c2 \ + global (indt «True»))] (X0 c1) + (prod `b` (global (indt «bool»)) c2 \ + app [global (indt «eq»), global (indt «bool»), c2, c2]) (X1 c1) [])] Query assignments: - I = «Y.i» - ID = j - J = «Y.j» - MP = «elpi.tests.test_API_module.Y» - P = [elpi, tests, test_API_module, Y] -fun `H` X0 c0 \ - app [global (indt «eq»), X1 c0, fun `x` X2 c1 \ c1, fun `x` X2 c1 \ c1] -Query assignments: - Spilled_1 = «elpi.tests.test_API_notations.abbr2» - T = fun `H` X0 c0 \ - app [global (indt «eq»), X1 c0, fun `x` X2 c1 \ c1, fun `x` X2 c1 \ c1] - _uvk_31_ = X2 + GR = «empty_nat» + TY = global (indt «nat») +raw: +parameter A explicit (global (const «T1»)) c0 \ + inductive ind1 tt + (parameter B explicit (sort (typ «elpi.tests.test_API_elaborate.20»)) + c1 \ arity (sort (typ «elpi.tests.test_API_elaborate.22»))) c1 \ + [constructor K1 + (parameter B explicit (sort (typ «elpi.tests.test_API_elaborate.20»)) + c2 \ arity (prod `_` (app [c1, c2]) c3 \ app [c1, c2])), + constructor K2 + (parameter B explicit (sort (typ «elpi.tests.test_API_elaborate.20»)) + c2 \ + arity (prod `_` (app [global (const «f1»), c0]) c3 \ app [c1, c2])), + constructor K3 + (parameter B explicit (sort (typ «elpi.tests.test_API_elaborate.20»)) + c2 \ + arity (prod `a` (app [global (const «f1»), c0]) c3 \ app [c1, c2]))] +elab1: +parameter A explicit (global (const «T1»)) c0 \ + inductive ind1 tt + (parameter B explicit (sort (typ «elpi.tests.test_API_elaborate.23»)) + c1 \ arity (sort (typ «elpi.tests.test_API_elaborate.25»))) c1 \ + [constructor K1 + (parameter B explicit (sort (typ «elpi.tests.test_API_elaborate.28»)) + c2 \ arity (prod `_` (app [c1, c2]) c3 \ app [c1, c2])), + constructor K2 + (parameter B explicit (sort (typ «elpi.tests.test_API_elaborate.30»)) + c2 \ + arity (prod `_` (app [global (const «f1»), c0]) c3 \ app [c1, c2])), + constructor K3 + (parameter B explicit (sort (typ «elpi.tests.test_API_elaborate.33»)) + c2 \ + arity (prod `_` (app [global (const «f1»), c0]) c3 \ app [c1, c2]))] +elab2: +parameter A explicit (global (const «T1»)) c0 \ + parameter B explicit (sort (typ «ind1.u0»)) c1 \ + inductive ind1 tt (arity (sort (typ «ind1.u1»))) c2 \ + [constructor K1 (arity (prod `_` c2 c3 \ c2)), + constructor K2 + (arity (prod `_` (app [global (const «f1»), c0]) c3 \ c2)), + constructor K3 + (arity (prod `_` (app [global (const «f1»), c0]) c3 \ c2))] +raw: +parameter A explicit (global (const «T1»)) c0 \ + record ind2 (sort (typ «f1.u0»)) Build_ind2 + (field [coercion off, canonical tt] fld1 (app [global (const «f1»), c0]) + c1 \ + field [coercion off, canonical tt] fld2 + (app [global (indt «eq»), app [global (const «f1»), c0], c1, c1]) + c2 \ end-record) +elab1: +parameter A explicit (global (const «T1»)) c0 \ + record ind2 (sort (typ «elpi.tests.test_API_elaborate.38»)) Build_ind2 + (field [coercion off, canonical tt] fld1 (app [global (const «f1»), c0]) + c1 \ + field [coercion off, canonical tt] fld2 + (app [global (indt «eq»), app [global (const «f1»), c0], c1, c1]) + c2 \ end-record) +elab2: +parameter A explicit (global (const «T1»)) c0 \ + record ind2 (sort (typ «ind2.u0»)) Build_ind2 + (field [coercion off, canonical tt] fld1 (app [global (const «f1»), c0]) + c1 \ + field [coercion off, canonical tt] fld2 + (app [global (indt «eq»), app [global (const «f1»), c0], c1, c1]) + c2 \ end-record) +raw: +record ind3 (sort (typ «elpi.tests.test_API_elaborate.41»)) Build_ind3 + (field [coercion reversible, canonical tt] fld3 + (sort (typ «elpi.tests.test_API_elaborate.40»)) c0 \ + field [coercion off, canonical tt] fld4 + (prod `x` c0 c1 \ app [global (indt «eq»), c0, c1, c1]) c1 \ end-record) +elab1: +record ind3 (sort (typ «elpi.tests.test_API_elaborate.42»)) Build_ind3 + (field [coercion reversible, canonical tt] fld3 + (sort (typ «elpi.tests.test_API_elaborate.43»)) c0 \ + field [coercion off, canonical tt] fld4 + (prod `x` c0 c1 \ app [global (indt «eq»), c0, c1, c1]) c1 \ end-record) +elab2: +record ind3 (sort (typ «ind3.u0»)) Build_ind3 + (field [coercion reversible, canonical tt] fld3 (sort (typ «ind3.u1»)) + c0 \ + field [coercion off, canonical tt] fld4 + (prod `x` c0 c1 \ app [global (indt «eq»), c0, c1, c1]) c1 \ end-record) +forall x : ind3, x -> Prop + : Type Query assignments: GR = indt «RewriteRelation» L = [tc-instance (const «inverse_impl_rewrite_relation») 3, tc-instance (const «impl_rewrite_relation») 3, tc-instance (const «iff_rewrite_relation») 2, tc-instance (const «relation_equivalence_rewrite_relation») 0] -opaque_3 : nat - -opaque_3 is not universe polymorphic -opaque_3 is opaque -Expands to: Constant elpi.tests.test_API_section.opaque_3 +c2 +global (indt «nat») +z +nat +Query assignments: + Spilled_1 = c0 \ c1 \ c2 \ +nat + Spilled_2 = c0 \ c1 \ c2 \ +z + T = global (indt «nat») +make[2]: Leaving directory '/build/reproducible-path/coq-elpi-1.19.3/apps/locker' +make[2]: Entering directory '/build/reproducible-path/coq-elpi-1.19.3/apps/coercion' +Using coq found in /usr/bin//, from COQBIN or PATH +Query assignments: + GR1 = indc «Vector.nil» + GR2 = indt «nat» + GR3 = const «A» Query assignments: E = app [global (const «op»), global (const «c»), @@ -2058,38 +2211,39 @@ [global (indc «S»), app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]]] TY = app [global (const «field»), global (const «c»)] - _uvk_6_ = X0 Universe constraints: UNIVERSES: - {elpi.tests.test_API_elaborate.19 elpi.tests.test_API_elaborate.18} |= - elpi.tests.test_API_elaborate.19 < elpi.tests.test_API_elaborate.18 - s.u0 <= elpi.tests.test_API_elaborate.19 + {elpi.tests.test_API_elaborate.50 elpi.tests.test_API_elaborate.49} |= + elpi.tests.test_API_elaborate.50 < elpi.tests.test_API_elaborate.49 + s.u0 <= elpi.tests.test_API_elaborate.50 ALGEBRAIC UNIVERSES: {} UNDEFINED UNIVERSES: SORTS: - α11 := Type + α19 := Type WEAK CONSTRAINTS: -make[2]: Leaving directory '/build/reproducible-path/coq-elpi-1.19.3/apps/coercion' -########################## testing APPS ############################ -make[2]: Entering directory '/build/reproducible-path/coq-elpi-1.19.3/apps/derive' -Using coq found in /usr/bin//, from COQBIN or PATH -Warning: ../../theories (used in -R or -Q) is not a subdirectory of the current directory +Query assignments: + I = «Y.i» + ID = j + J = «Y.j» + MP = «elpi.tests.test_API_module.Y» + P = [elpi, tests, test_API_module, Y] +unknown_gref +opaque_3 : nat -[str fun, str in, str as, int 4, str end, str match, str return, str =>, - str :, str :=, str {, str }, str ;, str ,, str |, str x, int 1, str H, - trm - (fun `x` (global (indt «False»)) c0 \ - match c0 (fun `y` (global (indt «False»)) c1 \ global (indt «nat»)) - [])] +opaque_3 is not universe polymorphic +opaque_3 is opaque +Expands to: Constant elpi.tests.test_API_section.opaque_3 +fun `H` X0 c0 \ + app [global (indt «eq»), X1 c0, fun `x` X2 c1 \ c1, fun `x` X2 c1 \ c1] Query assignments: - GR1 = indc «Vector.nil» - GR2 = indt «nat» - GR3 = const «A» -COQDEP VFILES + Spilled_1 = «elpi.tests.test_API_notations.abbr2» + T = fun `H` X0 c0 \ + app [global (indt «eq»), X1 c0, fun `x` X2 c1 \ c1, fun `x` X2 c1 \ c1] + _uvk_31_ = X2 Query assignments: D = parameter A explicit (sort (typ «t.u0»)) c0 \ inductive t tt @@ -2115,6 +2269,12 @@ WEAK CONSTRAINTS: +[str fun, str in, str as, int 4, str end, str match, str return, str =>, + str :, str :=, str {, str }, str ;, str ,, str |, str x, int 1, str H, + trm + (fun `x` (global (indt «False»)) c0 \ + match c0 (fun `y` (global (indt «False»)) c1 \ global (indt «nat»)) + [])] ----<<---- enter: coq.say raw: (record foo (sort (typ «Set»)) Build_foo @@ -2510,36 +2670,36 @@ prod `x` c0 c5 \ app [global (indt «eq»), c0, app [c2, c5, c5], c5]) c4 \ end-record)) «foo» -c2 -global (indt «nat») -z -nat -Query assignments: - Spilled_1 = c0 \ c1 \ c2 \ -nat - Spilled_2 = c0 \ c1 \ c2 \ -z - T = global (indt «nat») +add_equal Query assignments: - Spilled_1 = const «f» -f : forall [S : Type], S -> Prop + BO = fix `add` 0 + (prod `n` (global (indt «nat»)) c0 \ + prod `m` (global (indt «nat»)) c1 \ global (indt «nat»)) c0 \ + fun `n` (global (indt «nat»)) c1 \ + fun `m` (global (indt «nat»)) c2 \ + match c1 (fun `n` (global (indt «nat»)) c3 \ global (indt «nat»)) + [c2, + fun `p` (global (indt «nat»)) c3 \ + app [global (indc «S»), app [c0, c3, c2]]] + GR = «Nat.add» + NGR = «add_equal» + Name = add_equal + S = add + Spilled_1 = add_equal + Spilled_2 = add_equal + TY = prod `n` (global (indt «nat»)) c0 \ + prod `m` (global (indt «nat»)) c1 \ global (indt «nat») +add_equal : nat -> nat -> nat -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: - Spilled_1 = «elpi.tests.test_API_notations.abbr2» -COQC tests/test_quotation.v +add_equal is not universe polymorphic +Arguments add_equal (n m)%nat_scope +add_equal is opaque +Expands to: Constant elpi.tests.test_API_env.add_equal Query assignments: GR = indt «RewriteRelation» +«elpi.tests.test_API_elaborate.52» «elpi.tests.test_API_elaborate.52» COQC tests/test_vernacular1.v +make[4]: Nothing to be done for 'real-all'. Query assignments: GRy = EXN PRINTING: Not_found I = EXN PRINTING: Not_found @@ -2576,98 +2736,12 @@ Definition i End +Query assignments: A.z : nat A.i : Type *** [ A.i : Type ] -raw: -parameter A explicit (global (const «T1»)) c0 \ - inductive ind1 tt - (parameter B explicit (sort (typ «elpi.tests.test_API_elaborate.20»)) - c1 \ arity (sort (typ «elpi.tests.test_API_elaborate.22»))) c1 \ - [constructor K1 - (parameter B explicit (sort (typ «elpi.tests.test_API_elaborate.20»)) - c2 \ arity (prod `_` (app [c1, c2]) c3 \ app [c1, c2])), - constructor K2 - (parameter B explicit (sort (typ «elpi.tests.test_API_elaborate.20»)) - c2 \ - arity (prod `_` (app [global (const «f1»), c0]) c3 \ app [c1, c2])), - constructor K3 - (parameter B explicit (sort (typ «elpi.tests.test_API_elaborate.20»)) - c2 \ - arity (prod `a` (app [global (const «f1»), c0]) c3 \ app [c1, c2]))] -elab1: -parameter A explicit (global (const «T1»)) c0 \ - inductive ind1 tt - (parameter B explicit (sort (typ «elpi.tests.test_API_elaborate.23»)) - c1 \ arity (sort (typ «elpi.tests.test_API_elaborate.25»))) c1 \ - [constructor K1 - (parameter B explicit (sort (typ «elpi.tests.test_API_elaborate.28»)) - c2 \ arity (prod `_` (app [c1, c2]) c3 \ app [c1, c2])), - constructor K2 - (parameter B explicit (sort (typ «elpi.tests.test_API_elaborate.30»)) - c2 \ - arity (prod `_` (app [global (const «f1»), c0]) c3 \ app [c1, c2])), - constructor K3 - (parameter B explicit (sort (typ «elpi.tests.test_API_elaborate.33»)) - c2 \ - arity (prod `_` (app [global (const «f1»), c0]) c3 \ app [c1, c2]))] -elab2: -parameter A explicit (global (const «T1»)) c0 \ - parameter B explicit (sort (typ «ind1.u0»)) c1 \ - inductive ind1 tt (arity (sort (typ «ind1.u1»))) c2 \ - [constructor K1 (arity (prod `_` c2 c3 \ c2)), - constructor K2 - (arity (prod `_` (app [global (const «f1»), c0]) c3 \ c2)), - constructor K3 - (arity (prod `_` (app [global (const «f1»), c0]) c3 \ c2))] -raw: -parameter A explicit (global (const «T1»)) c0 \ - record ind2 (sort (typ «f1.u0»)) Build_ind2 - (field [coercion off, canonical tt] fld1 (app [global (const «f1»), c0]) - c1 \ - field [coercion off, canonical tt] fld2 - (app [global (indt «eq»), app [global (const «f1»), c0], c1, c1]) - c2 \ end-record) -elab1: -parameter A explicit (global (const «T1»)) c0 \ - record ind2 (sort (typ «elpi.tests.test_API_elaborate.38»)) Build_ind2 - (field [coercion off, canonical tt] fld1 (app [global (const «f1»), c0]) - c1 \ - field [coercion off, canonical tt] fld2 - (app [global (indt «eq»), app [global (const «f1»), c0], c1, c1]) - c2 \ end-record) -elab2: -parameter A explicit (global (const «T1»)) c0 \ - record ind2 (sort (typ «ind2.u0»)) Build_ind2 - (field [coercion off, canonical tt] fld1 (app [global (const «f1»), c0]) - c1 \ - field [coercion off, canonical tt] fld2 - (app [global (indt «eq»), app [global (const «f1»), c0], c1, c1]) - c2 \ end-record) -raw: -record ind3 (sort (typ «elpi.tests.test_API_elaborate.41»)) Build_ind3 - (field [coercion reversible, canonical tt] fld3 - (sort (typ «elpi.tests.test_API_elaborate.40»)) c0 \ - field [coercion off, canonical tt] fld4 - (prod `x` c0 c1 \ app [global (indt «eq»), c0, c1, c1]) c1 \ end-record) -elab1: -record ind3 (sort (typ «elpi.tests.test_API_elaborate.42»)) Build_ind3 - (field [coercion reversible, canonical tt] fld3 - (sort (typ «elpi.tests.test_API_elaborate.43»)) c0 \ - field [coercion off, canonical tt] fld4 - (prod `x` c0 c1 \ app [global (indt «eq»), c0, c1, c1]) c1 \ end-record) -elab2: -record ind3 (sort (typ «ind3.u0»)) Build_ind3 - (field [coercion reversible, canonical tt] fld3 (sort (typ «ind3.u1»)) - c0 \ - field [coercion off, canonical tt] fld4 - (prod `x` c0 c1 \ app [global (indt «eq»), c0, c1, c1]) c1 \ end-record) -forall x : ind3, x -> Prop - : Type -add_equal -Query assignments: BO = fix `add` 0 (prod `n` (global (indt «nat»)) c0 \ prod `m` (global (indt «nat»)) c1 \ global (indt «nat»)) c0 \ @@ -2678,24 +2752,18 @@ fun `p` (global (indt «nat»)) c3 \ app [global (indc «S»), app [c0, c3, c2]]] GR = «Nat.add» - NGR = «add_equal» - Name = add_equal - S = add - Spilled_1 = add_equal - Spilled_2 = add_equal TY = prod `n` (global (indt «nat»)) c0 \ prod `m` (global (indt «nat»)) c1 \ global (indt «nat») -add_equal : nat -> nat -> nat - -add_equal is not universe polymorphic -Arguments add_equal (n m)%nat_scope -add_equal is opaque -Expands to: Constant elpi.tests.test_API_env.add_equal -Query assignments: - T = sort (typ «elpi.tests.test_HOAS.3») - U = «elpi.tests.test_HOAS.3» -Query assignments: - I = «foo» +test2 +test1 +str hello +test1 +too many arguments +test1 +str hello my +str Dear +test1 +too many arguments Illegal application (Non-functional construction): The expression "Prop" of type "Type" cannot be applied to the term @@ -2705,6 +2773,25 @@ The expression "Prop" of type "Type" cannot be applied to the term "Prop" : "Type" +Query assignments: + GR = indt «True» +make[2]: Leaving directory '/build/reproducible-path/coq-elpi-1.19.3/apps/coercion' +Query assignments: + T = sort (typ «elpi.tests.test_HOAS.3») + U = «elpi.tests.test_HOAS.3» +########################## testing APPS ############################ +«myfalse» +Query assignments: + F = indt «False» + GR = «myfalse» +myfalse + : False +make[2]: Entering directory '/build/reproducible-path/coq-elpi-1.19.3/apps/derive' +Using coq found in /usr/bin//, from COQBIN or PATH +Warning: ../../theories (used in -R or -Q) is not a subdirectory of the current directory + +Query assignments: + I = «foo» ----<<---- enter: coq.say raw: (parameter A explicit X0 c0 \ @@ -2934,18 +3021,57 @@ prod `x` c0 c5 \ app [global (indt «eq»), c0, app [c2, c5, c5], c5]) c4 \ end-record)) «foo» -test2 -test1 -str hello -test1 -too many arguments -test1 -str hello my -str Dear -test1 -too many arguments Query assignments: - GR = indt «True» + Spilled_1 = «elpi.tests.test_API_notations.abbr2» +fix X0 0 + (prod `n` (global (indt «nat»)) c0 \ + prod `m` (global (indt «nat»)) c1 \ global (indt «nat»)) c0 \ + fun `n` (global (indt «nat»)) c1 \ + fun `m` (global (indt «nat»)) c2 \ + match c1 (fun `n` (global (indt «nat»)) c3 \ X1 c2 c3) + [c2, fun `p` (X2 c1 c2) c3 \ app [c0, c3, c2]] +fix X0 0 + (prod `n` (global (indt «nat»)) c0 \ + prod `m` (global (indt «nat»)) c1 \ global (indt «nat»)) c0 \ + fun `n` (global (indt «nat»)) c1 \ + fun `m` (global (indt «nat»)) c2 \ + match c1 (fun `n` (global (indt «nat»)) c3 \ global (indt «nat»)) + [c2, fun `p` (X3 c1 c2) c3 \ app [c0, c3, c2]] +Query assignments: + BO1 = fix X0 0 + (prod `n` (global (indt «nat»)) c0 \ + prod `m` (global (indt «nat»)) c1 \ global (indt «nat»)) c0 \ + fun `n` (global (indt «nat»)) c1 \ + fun `m` (global (indt «nat»)) c2 \ + match c1 (fun `n` (global (indt «nat»)) c3 \ global (indt «nat»)) + [c2, fun `p` (X3 c1 c2) c3 \ app [c0, c3, c2]] + GR = «Nat.add» + TY = prod `n` (global (indt «nat»)) c0 \ + prod `m` (global (indt «nat»)) c1 \ global (indt «nat») + _uvk_1_ = c0 \ c1 \ +global (indt «nat») + _uvk_2_ = c0 \ c1 \ +X3 c0 c1 +Syntactic constraints: + {c0 c1} : + decl c1 `m` (global (indt «nat»)), decl c0 `n` (global (indt «nat»)) + ?- evar (X3 c0 c1) (sort (typ «elpi.tests.test_quotation.2»)) (X3 c0 c1) /* suspended on X3 */ +Universe constraints: +UNIVERSES: + {elpi.tests.test_quotation.3 elpi.tests.test_quotation.2 + elpi.tests.test_quotation.1} |= Set <= elpi.tests.test_quotation.3 +ALGEBRAIC UNIVERSES: + {} +UNDEFINED UNIVERSES: + elpi.tests.test_quotation.3 +SORTS: + α1 + α2 +WEAK CONSTRAINTS: + + +COQC tests/test_tactic.v +COQDEP VFILES Query assignments: MP_TA = «elpi.tests.test_API_module.TA» MP_TF = «elpi.tests.test_API_module.TF» @@ -2959,35 +3085,28 @@ Module B : Sig Parameter w : nat. End := (F A A) *** [ B.w : nat ] -COQC tests/test_derive_stdlib.v -Query assignments: - E = app - [global (const «op»), global (const «c»), - app - [global (indc «S»), - app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]]] - TY = app [global (const «field»), global (const «c»)] -Universe constraints: -UNIVERSES: - {elpi.tests.test_API_elaborate.50 elpi.tests.test_API_elaborate.49} |= - elpi.tests.test_API_elaborate.50 < elpi.tests.test_API_elaborate.49 - s.u0 <= elpi.tests.test_API_elaborate.50 -ALGEBRAIC UNIVERSES: - {} -UNDEFINED UNIVERSES: - -SORTS: - α19 := Type -WEAK CONSTRAINTS: - - -unknown_gref -«myfalse» -Query assignments: - F = indt «False» - GR = «myfalse» -myfalse - : False +[attribute elpi.loc + (leaf-loc + File "./tests/test_vernacular1.v", line 48, column 5, character 947:), + attribute foo (leaf-str bar)] +[get-option elpi.loc + File "./tests/test_vernacular1.v", line 48, column 5, character 947:, + get-option foo bar] +[attribute elpi.loc + (leaf-loc + File "./tests/test_vernacular1.v", line 52, column 0, character 981:), + attribute foo (leaf-str bar), attribute poly (leaf-str )] +[get-option elpi.loc + File "./tests/test_vernacular1.v", line 52, column 0, character 981:, + get-option foo bar, get-option poly tt] +[attribute elpi.loc + (leaf-loc + File "./tests/test_vernacular1.v", line 53, column 0, character 1009:), + attribute foo (leaf-str bar), attribute poly (leaf-str ), + attribute suppa (node [attribute duppa (leaf-str )])] +[get-option elpi.loc + File "./tests/test_vernacular1.v", line 53, column 0, character 1009:, + get-option foo bar, get-option poly tt] Query assignments: U = «elpi.tests.test_HOAS.4» Universe constraints: @@ -3002,6 +3121,9 @@ WEAK CONSTRAINTS: +Unable to unify "bool" with "nat". +Query assignments: + Msg = Unable to unify "bool" with "nat". Query assignments: I = «foo» ----<<---- enter: @@ -3056,9 +3178,6 @@ (prod `P` (sort (typ «elpi.tests.test_arg_HOAS.98»)) c0 \ prod `w` c0 c1 \ prod `n` (global (indt «nat»)) c2 \ global (indt «nat»)) X1 X2 -Unable to unify "bool" with "nat". -Query assignments: - Msg = Unable to unify "bool" with "nat". ---->>---- exit: coq.env.add-const x1 (fun `P` (sort (typ «x1.u0»)) c0 \ @@ -3248,94 +3367,244 @@ (fun `n` (global (indt «nat»)) c0 \ app [global (indc «S»), c0]) (prod `n` (global (indt «nat»)) c0 \ global (indt «nat»)) X1 «x» Query assignments: - BO = fix `add` 0 - (prod `n` (global (indt «nat»)) c0 \ - prod `m` (global (indt «nat»)) c1 \ global (indt «nat»)) c0 \ - fun `n` (global (indt «nat»)) c1 \ - fun `m` (global (indt «nat»)) c2 \ - match c1 (fun `n` (global (indt «nat»)) c3 \ global (indt «nat»)) - [c2, - fun `p` (global (indt «nat»)) c3 \ - app [global (indc «S»), app [c0, c3, c2]]] - GR = «Nat.add» - TY = prod `n` (global (indt «nat»)) c0 \ - prod `m` (global (indt «nat»)) c1 \ global (indt «nat») -Query assignments: - MP_TA = «elpi.tests.test_API_module.TA» -Module Type TB = Funsig (A:TA) Sig End -«elpi.tests.test_API_elaborate.52» «elpi.tests.test_API_elaborate.52» -COQC tests/test_tactic.v -Query assignments: - U = «foo» -fix X0 0 - (prod `n` (global (indt «nat»)) c0 \ - prod `m` (global (indt «nat»)) c1 \ global (indt «nat»)) c0 \ - fun `n` (global (indt «nat»)) c1 \ - fun `m` (global (indt «nat»)) c2 \ - match c1 (fun `n` (global (indt «nat»)) c3 \ X1 c2 c3) - [c2, fun `p` (X2 c1 c2) c3 \ app [c0, c3, c2]] -fix X0 0 - (prod `n` (global (indt «nat»)) c0 \ - prod `m` (global (indt «nat»)) c1 \ global (indt «nat»)) c0 \ - fun `n` (global (indt «nat»)) c1 \ - fun `m` (global (indt «nat»)) c2 \ - match c1 (fun `n` (global (indt «nat»)) c3 \ global (indt «nat»)) - [c2, fun `p` (X3 c1 c2) c3 \ app [c0, c3, c2]] + X = 3 +fun `v` + (app + [global (indt «Vector.t»), global (indt «nat»), + app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]]) + c0 \ + match c0 + (fun `_` (X0 c0) c1 \ + fun `v` (app [global (indt «Vector.t»), X1 c0 c1, X2 c0 c1]) c2 \ + X3 c1 c2) + [global (indc «O»), + fun `_` (X4 c0) c1 \ + fun `_` (X5 c0 c1) c2 \ + fun `_` (X6 c0 c1 c2) c3 \ + app [global (indc «S»), global (indc «O»)]] +app [global (const «Nat.mul»), X0, X1] type +fun `v` + (app + [global (indt «Vector.t»), global (indt «nat»), + app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]]) + c0 \ + match c0 + (fun `_` (X7 c0) c1 \ + fun `v` + (app [global (indt «Vector.t»), global (indt «nat»), X8 c0 c1]) c2 \ + global (indt «nat»)) + [global (indc «O»), + fun `_` (X9 c0) c1 \ + fun `_` (X10 c0 c1) c2 \ + fun `_` (X11 c0 c1 c2) c3 \ + app [global (indc «S»), global (indc «O»)]] Query assignments: - BO1 = fix X0 0 - (prod `n` (global (indt «nat»)) c0 \ - prod `m` (global (indt «nat»)) c1 \ global (indt «nat»)) c0 \ - fun `n` (global (indt «nat»)) c1 \ - fun `m` (global (indt «nat»)) c2 \ - match c1 (fun `n` (global (indt «nat»)) c3 \ global (indt «nat»)) - [c2, fun `p` (X3 c1 c2) c3 \ app [c0, c3, c2]] - GR = «Nat.add» - TY = prod `n` (global (indt «nat»)) c0 \ - prod `m` (global (indt «nat»)) c1 \ global (indt «nat») - _uvk_1_ = c0 \ c1 \ + T = fun `v` + (app + [global (indt «Vector.t»), global (indt «nat»), + app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]]) + c0 \ + match c0 + (fun `_` (X7 c0) c1 \ + fun `v` + (app [global (indt «Vector.t»), global (indt «nat»), X8 c0 c1]) c2 \ + global (indt «nat»)) + [global (indc «O»), + fun `_` (X9 c0) c1 \ + fun `_` (X10 c0 c1) c2 \ + fun `_` (X11 c0 c1 c2) c3 \ + app [global (indc «S»), global (indc «O»)]] + _uvk_10_ = c0 \ c1 \ global (indt «nat») - _uvk_2_ = c0 \ c1 \ -X3 c0 c1 + _uvk_11_ = c0 \ +X9 c0 + _uvk_12_ = c0 \ c1 \ +X10 c0 c1 + _uvk_13_ = c0 \ c1 \ c2 \ +X11 c0 c1 c2 + _uvk_7_ = c0 \ +X7 c0 + _uvk_8_ = c0 \ c1 \ +global (indt «nat») + _uvk_9_ = c0 \ c1 \ +X8 c0 c1 Syntactic constraints: + {c0 c1 c2} : + decl c2 `y0` (X10 c0 c1), decl c1 `y` (X9 c0), + decl c0 `v` + (app + [global (indt «Vector.t»), global (indt «nat»), + app + [global (indc «S»), + app [global (indc «S»), global (indc «O»)]]]) + ?- evar (X11 c0 c1 c2) (sort (typ «elpi.tests.test_quotation.10»)) + (X11 c0 c1 c2) /* suspended on X11 */ {c0 c1} : - decl c1 `m` (global (indt «nat»)), decl c0 `n` (global (indt «nat»)) - ?- evar (X3 c0 c1) (sort (typ «elpi.tests.test_quotation.2»)) (X3 c0 c1) /* suspended on X3 */ + decl c1 `y` (X9 c0), + decl c0 `v` + (app + [global (indt «Vector.t»), global (indt «nat»), + app + [global (indc «S»), + app [global (indc «S»), global (indc «O»)]]]) + ?- evar (X10 c0 c1) (sort (typ «elpi.tests.test_quotation.9»)) + (X10 c0 c1) /* suspended on X10 */ + {c0} : + decl c0 `v` + (app + [global (indt «Vector.t»), global (indt «nat»), + app + [global (indc «S»), app [global (indc «S»), global (indc «O»)]]]) + ?- evar (X9 c0) (sort (typ «elpi.tests.test_quotation.8»)) (X9 c0) /* suspended on X9 */ + {c0 c1} : + decl c1 `y` (X7 c0), + decl c0 `v` + (app + [global (indt «Vector.t»), global (indt «nat»), + app + [global (indc «S»), + app [global (indc «S»), global (indc «O»)]]]) + ?- evar (X8 c0 c1) (X12 c0 c1) (X8 c0 c1) /* suspended on X8 */ + {c0 c1} : + decl c1 `y` (X7 c0), + decl c0 `v` + (app + [global (indt «Vector.t»), global (indt «nat»), + app + [global (indc «S»), + app [global (indc «S»), global (indc «O»)]]]) + ?- evar (X13 c0 c1) (sort (typ «elpi.tests.test_quotation.6»)) + (X12 c0 c1) /* suspended on X13, X12 */ + {c0} : + decl c0 `v` + (app + [global (indt «Vector.t»), global (indt «nat»), + app + [global (indc «S»), app [global (indc «S»), global (indc «O»)]]]) + ?- evar (X7 c0) (sort (typ «elpi.tests.test_quotation.4»)) (X7 c0) /* suspended on X7 */ Universe constraints: UNIVERSES: - {elpi.tests.test_quotation.3 elpi.tests.test_quotation.2 - elpi.tests.test_quotation.1} |= Set <= elpi.tests.test_quotation.3 + {elpi.tests.test_quotation.12 elpi.tests.test_quotation.11 + elpi.tests.test_quotation.10 elpi.tests.test_quotation.9 + elpi.tests.test_quotation.8 elpi.tests.test_quotation.7 + elpi.tests.test_quotation.6 elpi.tests.test_quotation.5 + elpi.tests.test_quotation.4} |= + elpi.tests.test_quotation.11 < elpi.tests.test_quotation.5 + Set <= Vector.t.u0 + Set <= elpi.tests.test_quotation.11 + Set <= elpi.tests.test_quotation.12 + elpi.tests.test_quotation.11 <= Vector.t.u0 ALGEBRAIC UNIVERSES: {} UNDEFINED UNIVERSES: - elpi.tests.test_quotation.3 + elpi.tests.test_quotation.12 SORTS: - α1 - α2 + α3 + α4 := Type + α5 + α6 + α7 + α8 + α9 WEAK CONSTRAINTS: -[attribute elpi.loc - (leaf-loc - File "./tests/test_vernacular1.v", line 48, column 5, character 947:), - attribute foo (leaf-str bar)] -[get-option elpi.loc - File "./tests/test_vernacular1.v", line 48, column 5, character 947:, - get-option foo bar] -[attribute elpi.loc - (leaf-loc - File "./tests/test_vernacular1.v", line 52, column 0, character 981:), - attribute foo (leaf-str bar), attribute poly (leaf-str )] -[get-option elpi.loc - File "./tests/test_vernacular1.v", line 52, column 0, character 981:, - get-option foo bar, get-option poly tt] -[attribute elpi.loc - (leaf-loc - File "./tests/test_vernacular1.v", line 53, column 0, character 1009:), - attribute foo (leaf-str bar), attribute poly (leaf-str ), - attribute suppa (node [attribute duppa (leaf-str )])] -[get-option elpi.loc - File "./tests/test_vernacular1.v", line 53, column 0, character 1009:, - get-option foo bar, get-option poly tt] +COQC tests/test_elaborator.v +parameter T X0 (sort (typ X1)) c0 \ + record eq_class (sort (typ X2)) mk_eq_class + (field [canonical ff, coercion regular] eq_f (global (indt «bool»)) c1 \ + field X3 eq_proof + (app [global (indt «eq»), global (indt «bool»), c1, c1]) c2 \ + end-record) +Query assignments: + DECL = parameter T X0 (sort (typ «eq_class.u0»)) c0 \ + record eq_class (sort (typ «eq_class.u1»)) mk_eq_class + (field [canonical ff, coercion regular] eq_f (global (indt «bool»)) c1 \ + field X3 eq_proof + (app [global (indt «eq»), global (indt «bool»), c1, c1]) c2 \ + end-record) + GR = «eq_class» + _uvk_1_ = «eq_class.u0» + _uvk_2_ = «eq_class.u1» +Universe constraints: +UNIVERSES: + +ALGEBRAIC UNIVERSES: + {eq_class.u1 eq_class.u0} +UNDEFINED UNIVERSES: + eq_class.u1 + eq_class.u0 +SORTS: + +WEAK CONSTRAINTS: + + +Record eq_class (T : Type@{eq_class.u0}) : Type@{eq_class.u1} := mk_eq_class + { eq_f : bool; eq_proof : eq_f = eq_f }. + +Arguments eq_class T%type_scope +Arguments mk_eq_class T%type_scope eq_f%bool_scope eq_proof +fun x : eq_class nat => x : bool + : eq_class nat -> bool +Query assignments: + GR = const «myc» +eq_op myc t t + : bool +p <- eq_proof ( xxx ) +Query assignments: + MP_TA = «elpi.tests.test_API_module.TA» +Module Type TB = Funsig (A:TA) Sig End +Query assignments: + Cons = global (indc «cons») + GRCons = indc «cons» + GRList = indt «list» + GRNat = indt «nat» + GRNil = indc «nil» + GRZero = indc «O» + L = app + [global (indc «cons»), global (indt «nat»), global (indc «O»), + app [global (indc «nil»), global (indt «nat»)]] + LE = app + [global (indc «cons»), global (indt «nat»), global (indc «O»), + app [global (indc «nil»), global (indt «nat»)]] + List = global (indt «list») + Nat = global (indt «nat») + Nil = global (indc «nil») + Zero = global (indc «O») +Universe constraints: +UNIVERSES: + {elpi.tests.test_API_typecheck.4 elpi.tests.test_API_typecheck.3 + elpi.tests.test_API_typecheck.2 elpi.tests.test_API_typecheck.1} |= + elpi.tests.test_API_typecheck.3 < elpi.tests.test_API_typecheck.2 + elpi.tests.test_API_typecheck.4 < elpi.tests.test_API_typecheck.1 + Set <= elpi.tests.test_API_typecheck.3 + Set <= elpi.tests.test_API_typecheck.4 + elpi.tests.test_API_typecheck.3 <= list.u0 + elpi.tests.test_API_typecheck.4 <= list.u0 +ALGEBRAIC UNIVERSES: + {} +UNDEFINED UNIVERSES: + +SORTS: + α1 := Type + α2 := Type +WEAK CONSTRAINTS: + + +COQC tests/test_derive_stdlib.v +3 +Query assignments: + X = 3 +Query assignments: + U = «foo» +Query assignments: + L = [cs-instance (const «carrier») (cs-gref (const «W»)) (const «myc»), + cs-instance (const «eq_op») (cs-gref (const «Z»)) (const «myc»)] +foo : nat + : nat +bar : bool -> nat + : bool -> nat +COQC tests/test_ltac.v parameter A1 maximal (sort (typ «foo1.u0»)) c0 \ parameter A2 explicit c0 c1 \ inductive foo1 tt @@ -3409,92 +3678,78 @@ ?B2 : [ |- Type] ?f : [ |- foo1 ?A2 (?B1 * ?B1) ?B2 3] Query assignments: - Cons = global (indc «cons») - GRCons = indc «cons» - GRList = indt «list» - GRNat = indt «nat» - GRNil = indc «nil» - GRZero = indc «O» - L = app - [global (indc «cons»), global (indt «nat»), global (indc «O»), - app [global (indc «nil»), global (indt «nat»)]] - LE = app - [global (indc «cons»), global (indt «nat»), global (indc «O»), - app [global (indc «nil»), global (indt «nat»)]] - List = global (indt «list») - Nat = global (indt «nat») - Nil = global (indc «nil») - Zero = global (indc «O») + GR = «nat» +global (indt «nat») +Query assignments: + T = global (indt «nat») + _uvk_5_ = global (indt «nat») + _uvk_6_ = global (indt «nat») Universe constraints: UNIVERSES: - {elpi.tests.test_API_typecheck.4 elpi.tests.test_API_typecheck.3 - elpi.tests.test_API_typecheck.2 elpi.tests.test_API_typecheck.1} |= - elpi.tests.test_API_typecheck.3 < elpi.tests.test_API_typecheck.2 - elpi.tests.test_API_typecheck.4 < elpi.tests.test_API_typecheck.1 - Set <= elpi.tests.test_API_typecheck.3 - Set <= elpi.tests.test_API_typecheck.4 - elpi.tests.test_API_typecheck.3 <= list.u0 - elpi.tests.test_API_typecheck.4 <= list.u0 + {elpi.tests.test_API_typecheck.9 elpi.tests.test_API_typecheck.8 + elpi.tests.test_API_typecheck.7 elpi.tests.test_API_typecheck.6 + elpi.tests.test_API_typecheck.5} |= + Set < elpi.tests.test_API_typecheck.7 + elpi.tests.test_API_typecheck.8 < elpi.tests.test_API_typecheck.6 + elpi.tests.test_API_typecheck.9 < elpi.tests.test_API_typecheck.5 + Set <= elpi.tests.test_API_typecheck.8 + Set <= elpi.tests.test_API_typecheck.9 + elpi.tests.test_API_typecheck.8 <= list.u0 + elpi.tests.test_API_typecheck.9 <= list.u0 ALGEBRAIC UNIVERSES: {} UNDEFINED UNIVERSES: SORTS: - α1 := Type - α2 := Type + α3 := Type + α4 := Type + α5 := Type WEAK CONSTRAINTS: -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) +fun `x` X0 c0 \ app [X1, c0] +Query assignments: + X = X1 + Y = fun `x` X0 c0 \ app [X1, c0] + _uvk_34_ = X0 Query assignments: Spilled_1 = «elpi.tests.test_API_module.A» Module IA := Struct Definition z : nat. Definition i : Type. End 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 + I = «eq» + P1 = «carrier» + P2 = «eq_op» +Query assignments: +COQC tests/test_param2.v + 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 = «eq_class» - _uvk_1_ = «eq_class.u0» - _uvk_2_ = «eq_class.u1» + GR = «prim_eq_class» + _uvk_3_ = «prim_eq_class.u0» + _uvk_4_ = «prim_eq_class.u1» Universe constraints: UNIVERSES: ALGEBRAIC UNIVERSES: - {eq_class.u1 eq_class.u0} + {prim_eq_class.u1 prim_eq_class.u0} UNDEFINED UNIVERSES: - eq_class.u1 - eq_class.u0 + prim_eq_class.u1 + prim_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 -foo : nat - : nat -fun x : eq_class nat => x : bool - : eq_class nat -> bool -bar : bool -> nat - : bool -> nat -p <- eq_proof ( xxx ) -COQC tests/test_elaborator.v -Query assignments: - GR = const «myc» -eq_op myc t t - : bool +fun r : prim_eq_class nat => +eq_refl : r = {| prim_eq_f := r; prim_eq_proof := prim_eq_proof _ r |} + : forall r : prim_eq_class nat, + r = {| prim_eq_f := r; prim_eq_proof := prim_eq_proof _ r |} +(* {} |= prim_eq_class.u1 <= eq.u0 *) Query assignments: X = c0 \ c1 \ c2 \ X0 c0 c1 c2 @@ -3526,9 +3781,238 @@ WEAK CONSTRAINTS: -COQC tests/test_param2.v +fun `r` (global (indt «nat»)) c0 \ + fun `p` + (prod `y` (global (indt «nat»)) c1 \ + app + [global (indt «eq»), global (indt «nat»), c1, global (indc «O»)]) + c1 \ + fun `q` (global (indt «bool»)) c2 \ + prod `y` (global (indt «nat»)) c3 \ + app + [global (indt «eq»), global (indt «nat»), c3, global (indc «O»)] Query assignments: - GR = «nat» + Spilled_1 = c0 \ c1 \ c2 \ +prod `y` (global (indt «nat»)) c3 \ + app [global (indt «eq»), global (indt «nat»), c3, global (indc «O»)] + X = fun `r` (global (indt «nat»)) c0 \ + fun `p` + (prod `y` (global (indt «nat»)) c1 \ + app + [global (indt «eq»), global (indt «nat»), c1, global (indc «O»)]) + c1 \ + fun `q` (global (indt «bool»)) c2 \ + prod `y` (global (indt «nat»)) c3 \ + app + [global (indt «eq»), global (indt «nat»), c3, global (indc «O»)] +fun u : nat => +{| val := oval u; Sub := Ord u; Sub_rect := inlined_sub_rect |} + : forall u : nat, is_SUB nat (fun x : nat => leq x u) (ord u) +Query assignments: + Spilled_1 = «elpi.tests.test_API_module.IA» +i + : Type +Query assignments: + GR = const «myc1» +eq_op myc1 t1 t1 + : bool +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: + {} +UNDEFINED UNIVERSES: + +SORTS: + +WEAK CONSTRAINTS: + + +«elpi.tests.test_API_typecheck.10» +Query assignments: + U = «elpi.tests.test_API_typecheck.10» +Universe constraints: +UNIVERSES: + {elpi.tests.test_API_typecheck.10} |= + Set <= elpi.tests.test_API_typecheck.10 +ALGEBRAIC UNIVERSES: + {elpi.tests.test_API_typecheck.10} +UNDEFINED UNIVERSES: + elpi.tests.test_API_typecheck.10 +SORTS: + +WEAK CONSTRAINTS: + + +Query assignments: + GR = indc «Ord» + K = global (indc «Ord») + T = fun `u` X0 c0 \ + app + [global (indc «SubType»), X1 c0, X2 c0, X3 c0, + app [global (const «oval»), c0], X4 c0, + fun `K` (X5 c0) c1 \ + fun `K_S` (X6 c0 c1) c2 \ + fun `u` (X7 c0 c1 c2) c3 \ + match c3 (fun `u0` (X8 c1 c2 c3) c4 \ app [c1, c4]) + [fun `x` (X9 c1 c2 c3) c4 \ + fun `Px` (X10 c1 c2 c3 c4) c5 \ app [c2, c4, c5]]] + T1 = fun `u` (global (indt «nat»)) c0 \ + app + [global (indc «SubType»), global (indt «nat»), + fun `x` (global (indt «nat»)) c1 \ app [global (const «leq»), c1, c0], + app [global (indt «ord»), c0], app [global (const «oval»), c0], + app [global (indc «Ord»), c0], + fun `K` + (prod `x` (app [global (indt «ord»), c0]) c1 \ sort (typ «is_SUB.u2»)) + c1 \ + fun `K_S` + (prod `x` (global (indt «nat»)) c2 \ + prod `Px` + (app + [global (indt «eq»), global (indt «bool»), + app + [fun `x` (global (indt «nat»)) c3 \ + app [global (const «leq»), c3, c0], c2], + global (indc «true»)]) c3 \ + app [c1, app [global (indc «Ord»), c0, c2, c3]]) c2 \ + fun `u0` (app [global (indt «ord»), c0]) c3 \ + match c3 + (fun `u1` (app [global (indt «ord»), c0]) c4 \ app [c1, c4]) + [fun `x` (global (indt «nat»)) c4 \ + fun `Px` + (app + [global (indt «eq»), global (indt «bool»), + app [global (const «leq»), c4, c0], global (indc «true»)]) + c5 \ app [c2, c4, c5]]] + _uvk_35_ = X0 + _uvk_36_ = X1 + _uvk_37_ = X2 + _uvk_38_ = X3 + _uvk_39_ = X4 + _uvk_40_ = X5 + _uvk_41_ = X6 + _uvk_42_ = X7 + _uvk_43_ = X8 + _uvk_44_ = X9 + _uvk_45_ = X10 + _uvk_46_ = global (indt «nat») + _uvk_47_ = c0 \ +global (indt «nat») + _uvk_48_ = c0 \ +fun `x` (global (indt «nat»)) c1 \ app [global (const «leq»), c1, c0] + _uvk_49_ = c0 \ +app [global (indt «ord»), c0] + _uvk_50_ = c0 \ +app [global (const «oval»), c0] + _uvk_51_ = c0 \ +fun `K` + (prod `x` (app [global (indt «ord»), c0]) c1 \ sort (typ «is_SUB.u2»)) + c1 \ + fun `K_S` + (prod `x` (global (indt «nat»)) c2 \ + prod `Px` + (app + [global (indt «eq»), global (indt «bool»), + app + [fun `x` (global (indt «nat»)) c3 \ + app [global (const «leq»), c3, c0], c2], global (indc «true»)]) + c3 \ app [c1, app [global (indc «Ord»), c0, c2, c3]]) c2 \ + fun `u0` (app [global (indt «ord»), c0]) c3 \ + match c3 (fun `u1` (app [global (indt «ord»), c0]) c4 \ app [c1, c4]) + [fun `x` (global (indt «nat»)) c4 \ + fun `Px` + (app + [global (indt «eq»), global (indt «bool»), + app [global (const «leq»), c4, c0], global (indc «true»)]) c5 \ + app [c2, c4, c5]] +Universe constraints: +UNIVERSES: + {elpi.tests.test_quotation.28 elpi.tests.test_quotation.27} |= + Set <= is_SUB.u0 + Set <= is_SUB.u1 + Set <= elpi.tests.test_quotation.27 + is_SUB.u2 <= elpi.tests.test_quotation.28 +ALGEBRAIC UNIVERSES: + {elpi.tests.test_quotation.28 elpi.tests.test_quotation.27} +UNDEFINED UNIVERSES: + elpi.tests.test_quotation.28 + elpi.tests.test_quotation.27 +SORTS: + α22 := Type + α23 := Type +WEAK CONSTRAINTS: + + Query assignments: I = «inductive_nup.r» R = parameter A explicit (sort (typ «r.u0»)) c0 \ @@ -3566,177 +4050,31 @@ X1 is not universe polymorphic Expands to: Inductive elpi.tests.test_arg_HOAS.X1 +fun `r` (app [global (indt «prim_eq_class»), global (indt «nat»)]) c0 \ + app [primitive (proj elpi.tests.test_API_env.prim_eq_f 1), c0] Query assignments: - DECL = parameter T X0 (sort (typ «prim_eq_class.u0»)) c0 \ - record prim_eq_class (sort (typ «prim_eq_class.u1»)) mk_prim_eq_class - (field [canonical ff, coercion reversible] prim_eq_f - (global (indt «bool»)) c1 \ - field X1 prim_eq_proof - (app [global (indt «eq»), global (indt «bool»), c1, c1]) c2 \ - end-record) - GR = «prim_eq_class» - _uvk_3_ = «prim_eq_class.u0» - _uvk_4_ = «prim_eq_class.u1» -Universe constraints: -UNIVERSES: - -ALGEBRAIC UNIVERSES: - {prim_eq_class.u1 prim_eq_class.u0} -UNDEFINED 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 `v` - (app - [global (indt «Vector.t»), global (indt «nat»), - app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]]) - c0 \ - match c0 - (fun `_` (X0 c0) c1 \ - fun `v` (app [global (indt «Vector.t»), X1 c0 c1, X2 c0 c1]) c2 \ - X3 c1 c2) - [global (indc «O»), - fun `_` (X4 c0) c1 \ - fun `_` (X5 c0 c1) c2 \ - fun `_` (X6 c0 c1 c2) c3 \ - app [global (indc «S»), global (indc «O»)]] -fun `v` - (app - [global (indt «Vector.t»), global (indt «nat»), - app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]]) - c0 \ - match c0 - (fun `_` (X7 c0) c1 \ - fun `v` - (app [global (indt «Vector.t»), global (indt «nat»), X8 c0 c1]) c2 \ - global (indt «nat»)) - [global (indc «O»), - fun `_` (X9 c0) c1 \ - fun `_` (X10 c0 c1) c2 \ - fun `_` (X11 c0 c1 c2) c3 \ - app [global (indc «S»), global (indc «O»)]] + P = const «eq_op» Query assignments: - T = fun `v` - (app - [global (indt «Vector.t»), global (indt «nat»), - app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]]) - c0 \ - match c0 - (fun `_` (X7 c0) c1 \ - fun `v` - (app [global (indt «Vector.t»), global (indt «nat»), X8 c0 c1]) c2 \ - global (indt «nat»)) - [global (indc «O»), - fun `_` (X9 c0) c1 \ - fun `_` (X10 c0 c1) c2 \ - fun `_` (X11 c0 c1 c2) c3 \ - app [global (indc «S»), global (indc «O»)]] - _uvk_10_ = c0 \ c1 \ -global (indt «nat») - _uvk_11_ = c0 \ -X9 c0 - _uvk_12_ = c0 \ c1 \ -X10 c0 c1 + Spilled_1 = «elpi.tests.test_API_module.TA» +Module Type ITA = Sig Parameter z : nat. Parameter i : Type. End +COQC tests/test_ltac3.v Query assignments: - _uvk_13_ = c0 \ c1 \ c2 \ -X11 c0 c1 c2 - Spilled_1 = «elpi.tests.test_API_module.IA» - _uvk_7_ = c0 \ -X7 c0 - _uvk_8_ = c0 \ c1 \ -global (indt «nat») - _uvk_9_ = c0 \ c1 \ -X8 c0 c1 -Syntactic constraints: - {c0 c1 c2} : - decl c2 `y0` (X10 c0 c1), decl c1 `y` (X9 c0), - decl c0 `v` - (app - [global (indt «Vector.t»), global (indt «nat»), - app - [global (indc «S»), - app [global (indc «S»), global (indc «O»)]]]) - ?- evar (X11 c0 c1 c2) (sort (typ «elpi.tests.test_quotation.10»)) - (X11 c0 c1 c2) /* suspended on X11 */ - {c0 c1} : - decl c1 `y` (X9 c0), - decl c0 `v` - (app - [global (indt «Vector.t»), global (indt «nat»), - app - [global (indc «S»), - app [global (indc «S»), global (indc «O»)]]]) - ?- evar (X10 c0 c1) (sort (typ «elpi.tests.test_quotation.9»)) - (X10 c0 c1) /* suspended on X10 */ - {c0} : - decl c0 `v` - (app - [global (indt «Vector.t»), global (indt «nat»), - app - [global (indc «S»), app [global (indc «S»), global (indc «O»)]]]) - ?- evar (X9 c0) (sort (typ «elpi.tests.test_quotation.8»)) (X9 c0) /* suspended on X9 */ - {c0 c1} : - decl c1 `y` (X7 c0), - decl c0 `v` - (app - [global (indt «Vector.t»), global (indt «nat»), - app - [global (indc «S»), - app [global (indc «S»), global (indc «O»)]]]) - ?- evar (X8 c0 c1) (X12 c0 c1) (X8 c0 c1) /* suspended on X8 */ - {c0 c1} : - decl c1 `y` (X7 c0), - decl c0 `v` - (app - [global (indt «Vector.t»), global (indt «nat»), - app - [global (indc «S»), - app [global (indc «S»), global (indc «O»)]]]) - ?- evar (X13 c0 c1) (sort (typ «elpi.tests.test_quotation.6»)) - (X12 c0 c1) /* suspended on X13, X12 */ - {c0} : - decl c0 `v` - (app - [global (indt «Vector.t»), global (indt «nat»), - app - [global (indc «S»), app [global (indc «S»), global (indc «O»)]]]) - ?- evar (X7 c0) (sort (typ «elpi.tests.test_quotation.4»)) (X7 c0) /* suspended on X7 */ -Universe constraints: -UNIVERSES: - {elpi.tests.test_quotation.12 elpi.tests.test_quotation.11 - elpi.tests.test_quotation.10 elpi.tests.test_quotation.9 - elpi.tests.test_quotation.8 elpi.tests.test_quotation.7 - elpi.tests.test_quotation.6 elpi.tests.test_quotation.5 - elpi.tests.test_quotation.4} |= - elpi.tests.test_quotation.11 < elpi.tests.test_quotation.5 - Set <= Vector.t.u0 - Set <= elpi.tests.test_quotation.11 - Set <= elpi.tests.test_quotation.12 - elpi.tests.test_quotation.11 <= Vector.t.u0 -ALGEBRAIC UNIVERSES: - {} -UNDEFINED UNIVERSES: - elpi.tests.test_quotation.12 -SORTS: - α3 - α4 := Type - α5 - α6 - α7 - α8 - α9 -WEAK CONSTRAINTS: - - + W = const «W» +Query assignments: + F = «elpi.tests.test_API_module.R.F» + FT = «elpi.tests.test_API_module.R.FT» + L = [submodule «elpi.tests.test_API_module.R.S» [gref (const «R.S.x»)], + module-type «elpi.tests.test_API_module.R.P1», + module-type «elpi.tests.test_API_module.R.P2», + «elpi.tests.test_API_module.R.F» module-functor + [«elpi.tests.test_API_module.R.P1», «elpi.tests.test_API_module.R.P2»], + «elpi.tests.test_API_module.R.FT» module-type-functor + [«elpi.tests.test_API_module.R.P2», «elpi.tests.test_API_module.R.P1»], + gref (const «R.a»)] + P1 = «elpi.tests.test_API_module.R.P1» + P2 = «elpi.tests.test_API_module.R.P2» + R = «elpi.tests.test_API_module.R» + S = «elpi.tests.test_API_module.R.S» nth_R = fun (T T0 : Type) (T1 : T -> T0 -> Type) (x0 : T) (x1 : T0) (x2 : T1 x0 x1) => @@ -3861,15 +4199,19 @@ Arguments nth_R (T T)%type_scope T%function_scope x0 x0 x0 (n n)%nat_scope n (l l)%list_scope l -i - : Type +COQC tests/test_cache_async.v +Unable to unify "Set" with "Prop" (universe inconsistency: Cannot enforce Set +<= Prop). Query assignments: - L = [cs-instance (const «carrier») (cs-gref (const «W»)) (const «myc»), - cs-instance (const «eq_op») (cs-gref (const «Z»)) (const «myc»)] + E = Unable to unify "Set" with "Prop" (universe inconsistency: Cannot enforce Set +<= Prop). +COQC tests/test_COQ_ELPI_ATTRIBUTES.v ----<<---- enter: coq.say raw: (inductive X3 tt (arity (sort (typ «elpi.tests.test_arg_HOAS.128»))) c0 \ []) (upoly-decl [«elpi.tests.test_arg_HOAS.128»] tt [] tt) +z + : nat raw: inductive X3 tt (arity (sort (typ «elpi.tests.test_arg_HOAS.128»))) c0 \ [] upoly-decl [«elpi.tests.test_arg_HOAS.128»] tt [] tt @@ -3934,6 +4276,8 @@ coq.say raw: (inductive X4 tt (arity (sort (typ «elpi.tests.test_arg_HOAS.136»))) c0 \ []) (upoly-decl-cumul [auto «elpi.tests.test_arg_HOAS.136»] tt [] tt) +Query assignments: + C = «pc» raw: inductive X4 tt (arity (sort (typ «elpi.tests.test_arg_HOAS.136»))) c0 \ [] upoly-decl-cumul [auto «elpi.tests.test_arg_HOAS.136»] tt [] tt @@ -4004,123 +4348,11 @@ X4 is universe polymorphic Expands to: Inductive elpi.tests.test_arg_HOAS.X4 -global (indt «nat») -Query assignments: - T = global (indt «nat») - _uvk_5_ = global (indt «nat») - _uvk_6_ = global (indt «nat») -Universe constraints: -UNIVERSES: - {elpi.tests.test_API_typecheck.9 elpi.tests.test_API_typecheck.8 - elpi.tests.test_API_typecheck.7 elpi.tests.test_API_typecheck.6 - elpi.tests.test_API_typecheck.5} |= - Set < elpi.tests.test_API_typecheck.7 - elpi.tests.test_API_typecheck.8 < elpi.tests.test_API_typecheck.6 - elpi.tests.test_API_typecheck.9 < elpi.tests.test_API_typecheck.5 - Set <= elpi.tests.test_API_typecheck.8 - Set <= elpi.tests.test_API_typecheck.9 - elpi.tests.test_API_typecheck.8 <= list.u0 - elpi.tests.test_API_typecheck.9 <= list.u0 -ALGEBRAIC UNIVERSES: - {} -UNDEFINED UNIVERSES: - -SORTS: - α3 := Type - α4 := Type - α5 := Type -WEAK CONSTRAINTS: - - -fun `r` (app [global (indt «prim_eq_class»), global (indt «nat»)]) c0 \ - app [primitive (proj elpi.tests.test_API_env.prim_eq_f 1), c0] -Query assignments: - 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: - {} -UNDEFINED UNIVERSES: - -SORTS: - -WEAK CONSTRAINTS: - - -Query assignments: - X = 3 -app [global (const «Nat.mul»), X0, X1] type -3 +[cs-instance (const «eq_op») (cs-gref (const «Z1»)) (const «myc1»)] Query assignments: - X = 3 + L = [cs-instance (const «eq_op») (cs-gref (const «Z1»)) (const «myc1»)] + P = const «eq_op» + W = const «Z1» ---------------------------------- {c0 c1} : decl c1 `a` (global (indt «bool»)) ?- evar X0 (sort (typ «elpi.tests.test_HOAS.10»)) X1 /* suspended on X0, X1 */ @@ -4164,129 +4396,8 @@ WEAK CONSTRAINTS: -Query assignments: - I = «eq» - P1 = «carrier» - P2 = «eq_op» -COQC tests/test_ltac.v -pred_R = -fun (n n0 : nat) (n1 : nat_R n n0) => -match - n1 in (nat_R n2 n3) - return - (nat_R match n2 with - | 0 => n - | S u => u - end match n3 with - | 0 => n0 - | S u => u - end) -with -| O_R => n1 -| S_R _ _ u1 => u1 -end - : forall n n0 : nat, nat_R n n0 -> nat_R (Nat.pred n) (Nat.pred n0) - -Arguments pred_R (n n)%nat_scope n -pred_R : nat2nat_R Nat.pred Nat.pred - : nat2nat_R Nat.pred Nat.pred -predn_R : nat2nat_R predn predn - : nat2nat_R predn predn -add_R : nat2nat2nat_R Nat.add Nat.add - : nat2nat2nat_R Nat.add Nat.add -File "./tests/test_param2.v", line 85, characters 0-30: -Warning: Not a truly recursive fixpoint. [non-recursive,fixpoints,default] -Query assignments: - GR = «Nat.add» - MP = «Coq.Init.Datatypes» -COQC tests/test_invert.v -Query assignments: - Spilled_1 = «elpi.tests.test_API_module.TA» -Module Type ITA = Sig Parameter z : nat. Parameter i : Type. End -Query assignments: - GR = indt «X3» -Universe constraints: -UNIVERSES: - {elpi.tests.test_arg_HOAS.144} |= -ALGEBRAIC UNIVERSES: - {} -UNDEFINED UNIVERSES: - elpi.tests.test_arg_HOAS.144 -SORTS: - -WEAK CONSTRAINTS: - - -«elpi.tests.test_API_typecheck.10» -Query assignments: - U = «elpi.tests.test_API_typecheck.10» -Universe constraints: -UNIVERSES: - {elpi.tests.test_API_typecheck.10} |= - Set <= elpi.tests.test_API_typecheck.10 -ALGEBRAIC UNIVERSES: - {elpi.tests.test_API_typecheck.10} -UNDEFINED UNIVERSES: - elpi.tests.test_API_typecheck.10 -SORTS: - -WEAK CONSTRAINTS: - - -Query assignments: - C = «pc» -File "./tests/test_HOAS.v", line 123, characters 0-34: -Warning: Use of “Require” inside a module is fragile. It is not recommended -to use this functionality in finished proof scripts. -[require-in-module,fragile,default] -Raw term: -app - [global (const «add»), primitive (uint63 2000000003333002), - primitive (uint63 1)] -Nice term: add 2000000003333002 1 -Red: -2000000003333003 -File "./tests/test_HOAS.v", line 127, characters 0-34: -Warning: Use of “Require” inside a module is fragile. It is not recommended -to use this functionality in finished proof scripts. -[require-in-module,fragile,default] -Raw term: -app - [global (const «add»), primitive (float64 24000000000000), - primitive (float64 1)] -Nice term: 24000000000000 + 1 -Red: 24000000000001 -fun `x` X0 c0 \ app [X1, c0] -Query assignments: - X = X1 - Y = fun `x` X0 c0 \ app [X1, c0] - _uvk_34_ = X0 -test_inv : Type -> bool -> Type - : Type -> bool -> Type -K1_inv : forall (A : Type) (b : bool), b = true -> test_inv A b - : forall (A : Type) (b : bool), b = true -> test_inv A b -K2_inv -: -forall (A : Type) (b x : bool), -A -> test_inv A (negb x) -> b = negb (negb x) -> test_inv A b - : forall (A : Type) (b x : bool), - A -> test_inv A (negb x) -> b = negb (negb x) -> test_inv A b -Query assignments: - GR = const «myc1» -eq_op myc1 t1 t1 - : 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 _ _ +COQC tests/perf_calls.v +COQC tests/test_ctx_cache.v Query assignments: B = fun `n` (global (indt «nat»)) c0 \ app @@ -4392,42 +4503,121 @@ WEAK CONSTRAINTS: -COQC tests/test_idx2inv.v -fun `r` (global (indt «nat»)) c0 \ - fun `p` - (prod `y` (global (indt «nat»)) c1 \ - app - [global (indt «eq»), global (indt «nat»), c1, global (indc «O»)]) - c1 \ - fun `q` (global (indt «bool»)) c2 \ - prod `y` (global (indt «nat»)) c3 \ - app - [global (indt «eq»), global (indt «nat»), c3, global (indc «O»)] Query assignments: - Spilled_1 = c0 \ c1 \ c2 \ -prod `y` (global (indt «nat»)) c3 \ - app [global (indt «eq»), global (indt «nat»), c3, global (indc «O»)] - X = fun `r` (global (indt «nat»)) c0 \ - fun `p` - (prod `y` (global (indt «nat»)) c1 \ - app - [global (indt «eq»), global (indt «nat»), c1, global (indc «O»)]) - c1 \ - fun `q` (global (indt «bool»)) c2 \ - prod `y` (global (indt «nat»)) c3 \ - app - [global (indt «eq»), global (indt «nat»), c3, global (indc «O»)] -fun u : nat => -{| val := oval u; Sub := Ord u; Sub_rect := inlined_sub_rect |} - : forall u : nat, is_SUB nat (fun x : nat => leq x u) (ord u) + GR = indt «X3» +Universe constraints: +UNIVERSES: + {elpi.tests.test_arg_HOAS.144} |= +ALGEBRAIC UNIVERSES: + {} +UNDEFINED UNIVERSES: + elpi.tests.test_arg_HOAS.144 +SORTS: + +WEAK CONSTRAINTS: + + +Universe constraints: +UNIVERSES: + +ALGEBRAIC UNIVERSES: + {myind.u0} +UNDEFINED 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: + P = const «eq_op» + W = indt «nat» Query assignments: - A = «elpi.tests.test_API.succ» GR = «Nat.add» MP = «Coq.Init.Datatypes» - X1 = [loc-gref (const «Nat.add»)] - X2 = [loc-gref (const «Nat.add»)] - X3 = [loc-abbreviation «elpi.tests.test_API.succ»] - X4 = [loc-modpath «Coq.Init.Datatypes»] +File "./tests/test_HOAS.v", line 123, characters 0-34: +Warning: Use of “Require” inside a module is fragile. It is not recommended +to use this functionality in finished proof scripts. +[require-in-module,fragile,default] +COQC tests/test_libobject_A.v +Raw term: +app + [global (const «add»), primitive (uint63 2000000003333002), + primitive (uint63 1)] +Nice term: add 2000000003333002 1 +Red: +2000000003333003 +File "./tests/test_HOAS.v", line 127, characters 0-34: +Warning: Use of “Require” inside a module is fragile. It is not recommended +to use this functionality in finished proof scripts. +[require-in-module,fragile,default] +Raw term: +app + [global (const «add»), primitive (float64 24000000000000), + primitive (float64 1)] +Nice term: 24000000000000 + 1 +Red: 24000000000001 +it = elpi_subproof + : True +it : True + +it is not universe polymorphic +it is transparent +Expands to: Constant elpi.tests.test_ltac.it +elpi_subproof = I + : True +elpi_subproof : True + +elpi_subproof is not universe polymorphic +elpi_subproof is opaque +Expands to: Constant elpi.tests.test_ltac.elpi_subproof +Closed under the global context +COQC tests/test_glob.v +pred_R = +fun (n n0 : nat) (n1 : nat_R n n0) => +match + n1 in (nat_R n2 n3) + return + (nat_R match n2 with + | 0 => n + | S u => u + end match n3 with + | 0 => n0 + | S u => u + end) +with +| O_R => n1 +| S_R _ _ u1 => u1 +end + : forall n n0 : nat, nat_R n n0 -> nat_R (Nat.pred n) (Nat.pred n0) + +Arguments pred_R (n n)%nat_scope n +pred_R : nat2nat_R Nat.pred Nat.pred + : nat2nat_R Nat.pred Nat.pred +Query assignments: + C1 = const «C1» + GR1 = const «c12» + GR2 = const «c1t» + GR3 = const «c1f» +fun x : C1 => x : C2 + : C1 -> C2 +fun (x : C1) (_ : x) => true + : forall x : C1, x -> bool +fun x : C1 => x 3 + : C1 -> nat +predn_R : nat2nat_R predn predn + : nat2nat_R predn predn +add_R : nat2nat2nat_R Nat.add Nat.add + : nat2nat2nat_R Nat.add Nat.add +COQC tests/test_link_perf.v Query assignments: GR = indt «X4» Universe constraints: @@ -4666,26 +4856,11 @@ coq.env.add-indt (inductive X8 tt (arity (sort (typ «elpi.tests.test_arg_HOAS.170»))) c0 \ []) X3 -Query assignments: ---->>---- exit: get-option coq:udecl (upoly-decl [] tt [] tt) => coq.env.add-indt (inductive X8 tt (arity (sort (typ «elpi.tests.test_arg_HOAS.170»))) c0 \ []) «X8» - F = «elpi.tests.test_API_module.R.F» - FT = «elpi.tests.test_API_module.R.FT» - L = [submodule «elpi.tests.test_API_module.R.S» [gref (const «R.S.x»)], - module-type «elpi.tests.test_API_module.R.P1», - module-type «elpi.tests.test_API_module.R.P2», - «elpi.tests.test_API_module.R.F» module-functor - [«elpi.tests.test_API_module.R.P1», «elpi.tests.test_API_module.R.P2»], - «elpi.tests.test_API_module.R.FT» module-type-functor - [«elpi.tests.test_API_module.R.P2», «elpi.tests.test_API_module.R.P1»], - gref (const «R.a»)] - P1 = «elpi.tests.test_API_module.R.P1» - P2 = «elpi.tests.test_API_module.R.P2» - R = «elpi.tests.test_API_module.R» - S = «elpi.tests.test_API_module.R.S» X8@{u} : Type@{u} (* u |= *) @@ -4862,6 +5037,8 @@ fun `x` c0 c1 \ c1) (prod `T` (sort (typ «elpi.tests.test_arg_HOAS.180»)) c0 \ prod `x` c0 c1 \ c0) X11 «f3» +File "./tests/test_param2.v", line 85, characters 0-30: +Warning: Not a truly recursive fixpoint. [non-recursive,fixpoints,default] f3@{u} : forall T : Type@{u}, T -> T (* u |= *) @@ -5017,112 +5194,6 @@ fun `T1` (sort (typ «f5.u3»)) c1 \ fun `x` c0 c2 \ c2) (prod `T` (sort (typ «f5.u0»)) c0 \ prod `T1` (sort (typ «f5.u1»)) c1 \ prod `x` c0 c2 \ c0) X8 «f5» -Unable to unify "Set" with "Prop" (universe inconsistency: Cannot enforce Set -<= Prop). -Query assignments: - E = Unable to unify "Set" with "Prop" (universe inconsistency: Cannot enforce Set -<= Prop). -Query assignments: - GR = indc «Ord» - K = global (indc «Ord») - T = fun `u` X0 c0 \ - app - [global (indc «SubType»), X1 c0, X2 c0, X3 c0, - app [global (const «oval»), c0], X4 c0, - fun `K` (X5 c0) c1 \ - fun `K_S` (X6 c0 c1) c2 \ - fun `u` (X7 c0 c1 c2) c3 \ - match c3 (fun `u0` (X8 c1 c2 c3) c4 \ app [c1, c4]) - [fun `x` (X9 c1 c2 c3) c4 \ - fun `Px` (X10 c1 c2 c3 c4) c5 \ app [c2, c4, c5]]] - T1 = fun `u` (global (indt «nat»)) c0 \ - app - [global (indc «SubType»), global (indt «nat»), - fun `x` (global (indt «nat»)) c1 \ app [global (const «leq»), c1, c0], - app [global (indt «ord»), c0], app [global (const «oval»), c0], - app [global (indc «Ord»), c0], - fun `K` - (prod `x` (app [global (indt «ord»), c0]) c1 \ sort (typ «is_SUB.u2»)) - c1 \ - fun `K_S` - (prod `x` (global (indt «nat»)) c2 \ - prod `Px` - (app - [global (indt «eq»), global (indt «bool»), - app - [fun `x` (global (indt «nat»)) c3 \ - app [global (const «leq»), c3, c0], c2], - global (indc «true»)]) c3 \ - app [c1, app [global (indc «Ord»), c0, c2, c3]]) c2 \ - fun `u0` (app [global (indt «ord»), c0]) c3 \ - match c3 - (fun `u1` (app [global (indt «ord»), c0]) c4 \ app [c1, c4]) - [fun `x` (global (indt «nat»)) c4 \ - fun `Px` - (app - [global (indt «eq»), global (indt «bool»), - app [global (const «leq»), c4, c0], global (indc «true»)]) - c5 \ app [c2, c4, c5]]] - _uvk_35_ = X0 - _uvk_36_ = X1 - _uvk_37_ = X2 - _uvk_38_ = X3 - _uvk_39_ = X4 - _uvk_40_ = X5 - _uvk_41_ = X6 - _uvk_42_ = X7 - _uvk_43_ = X8 - _uvk_44_ = X9 - _uvk_45_ = X10 - _uvk_46_ = global (indt «nat») - _uvk_47_ = c0 \ -global (indt «nat») - _uvk_48_ = c0 \ -fun `x` (global (indt «nat»)) c1 \ app [global (const «leq»), c1, c0] - _uvk_49_ = c0 \ -app [global (indt «ord»), c0] - _uvk_50_ = c0 \ -app [global (const «oval»), c0] - _uvk_51_ = c0 \ -fun `K` - (prod `x` (app [global (indt «ord»), c0]) c1 \ sort (typ «is_SUB.u2»)) - c1 \ - fun `K_S` - (prod `x` (global (indt «nat»)) c2 \ - prod `Px` - (app - [global (indt «eq»), global (indt «bool»), - app - [fun `x` (global (indt «nat»)) c3 \ - app [global (const «leq»), c3, c0], c2], global (indc «true»)]) - c3 \ app [c1, app [global (indc «Ord»), c0, c2, c3]]) c2 \ - fun `u0` (app [global (indt «ord»), c0]) c3 \ - match c3 (fun `u1` (app [global (indt «ord»), c0]) c4 \ app [c1, c4]) - [fun `x` (global (indt «nat»)) c4 \ - fun `Px` - (app - [global (indt «eq»), global (indt «bool»), - app [global (const «leq»), c4, c0], global (indc «true»)]) c5 \ - app [c2, c4, c5]] -Universe constraints: -UNIVERSES: - {elpi.tests.test_quotation.28 elpi.tests.test_quotation.27} |= - Set <= is_SUB.u0 - Set <= is_SUB.u1 - Set <= elpi.tests.test_quotation.27 - is_SUB.u2 <= elpi.tests.test_quotation.28 -ALGEBRAIC UNIVERSES: - {elpi.tests.test_quotation.28 elpi.tests.test_quotation.27} -UNDEFINED UNIVERSES: - elpi.tests.test_quotation.28 - elpi.tests.test_quotation.27 -SORTS: - α22 := Type - α23 := Type -WEAK CONSTRAINTS: - - -COQC tests/test_ltac3.v ----<<---- enter: coq.arity->term (parameter T explicit (sort (typ «uuu»)) c0 \ @@ -5182,6 +5253,7 @@ (prod `T` (sort (typ «uuu»)) c0 \ prod `T1` (sort (typ «elpi.tests.test_arg_HOAS.194»)) c1 \ prod `x` c0 c2 \ c0) X2 «f6» +COQC tests/test_invert.v f6@{uuux} : forall T : Type@{uuu}, Type@{uuux} -> T -> T (* uuux |= *) @@ -5301,29 +5373,11 @@ coq.env.add-const f7' (pglobal (const «f6») «uuu») (prod `T` (sort (typ «uuu»)) c0 \ prod `T1` (sort (typ «uuu»)) c1 \ prod `x` c0 c2 \ c0) X2 «f7'» -Universe constraints: -UNIVERSES: - -ALGEBRAIC UNIVERSES: - {myind.u0} -UNDEFINED UNIVERSES: - myind.u0 -SORTS: - -WEAK CONSTRAINTS: - - -myind true false : Prop - : Prop -K2 true : myind true true - : myind true true ----<<---- enter: coq.arity->term (arity X0) X1 ---->>---- exit: coq.arity->term (arity X1) X1 ----<<---- enter: get-option coq:keepunivs tt => std.assert-ok! (coq.elaborate-ty-skeleton X1 X2 X3) illtyped arity -myind1 true false : Prop - : Prop ---->>---- exit: get-option coq:keepunivs tt => std.assert-ok! @@ -5334,8 +5388,6 @@ std.assert-ok! (coq.elaborate-skeleton (pglobal (const «f6») «uuu») (X4) X5) illtyped definition -K21 true : myind1 true true - : myind1 true true ---->>---- exit: get-option coq:keepunivs tt => std.assert-ok! @@ -5357,7 +5409,6 @@ coq.env.add-const f8' (pglobal (const «f6») «uuu») (prod `T` (sort (typ «uuu»)) c0 \ prod `T1` (sort (typ «uuu»)) c1 \ prod `x` c0 c2 \ c0) X7 «f8'» -COQC tests/test_cache_async.v ----<<---- enter: coq.arity->term (arity @@ -5459,60 +5510,6 @@ (prod `T` (sort (typ «uuu»)) c0 \ prod `T1` (sort (typ «elpi.tests.test_arg_HOAS.198»)) c1 \ prod `x` c0 c2 \ c0) X7 «f8''» -Query assignments: - C = «Nat.add» - F = TODO - T = app - [fix `add` 0 - (prod `n` (global (indt «nat»)) c0 \ - prod `m` (global (indt «nat»)) c1 \ global (indt «nat»)) c0 \ - fun `n` (global (indt «nat»)) c1 \ - fun `m` (global (indt «nat»)) c2 \ - match c1 (fun `n` (global (indt «nat»)) c3 \ global (indt «nat»)) - [c2, - fun `p` (global (indt «nat»)) c3 \ - app [global (indc «S»), app [c0, c3, c2]]], - app [global (indc «S»), global (indc «O»)], - app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]] - T1 = app - [global (const «Nat.add»), - app [global (indc «S»), global (indc «O»)], - app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]] - T2 = app - [fix `plus` 0 - (prod `n` (global (indt «nat»)) c0 \ - prod `m` (global (indt «nat»)) c1 \ global (indt «nat»)) c0 \ - fun `n` (global (indt «nat»)) c1 \ - fun `m` (global (indt «nat»)) c2 \ - match c1 (fun `n` (global (indt «nat»)) c3 \ global (indt «nat»)) - [c2, - fun `p` (global (indt «nat»)) c3 \ - app [global (indc «S»), app [c0, c3, c2]]], - app [global (indc «S»), global (indc «O»)], - app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]] - _uvk_35_ = global (indt «nat») - _uvk_36_ = c0 \ -global (indt «nat») - _uvk_37_ = c0 \ c1 \ -global (indt «nat») - _uvk_38_ = c0 \ -global (indt «nat») - _uvk_39_ = c0 \ c1 \ -global (indt «nat») - _uvk_40_ = c0 \ c1 \ c2 \ -global (indt «nat») - _uvk_41_ = c0 \ c1 \ c2 \ -global (indt «nat») -Query assignments: - P = const «eq_op» -is_list_to_is_list_inv -: -forall (A : Type) (PA : A -> Type) (l : list A), -is_list A PA l -> is_list_inv A PA l - : forall (A : Type) (PA : A -> Type) (l : list A), - is_list A PA l -> is_list_inv A PA l -COQC tests/test_COQ_ELPI_ATTRIBUTES.v -COQC tests/test_lens.v CHR: Uniqueness of typing of frozen--1011 + [] <-> [] 1 |> [decl c0 `x` (uvar frozen--1011 [])] |- frozen--1011 [] : sort (typ «elpi.tests.test_elaborator.40») @@ -5545,31 +5542,20 @@ WEAK CONSTRAINTS: -z - : nat +COQC tests/test_link_order1.v Query assignments: C = «Nat.add» F = TODO T = app - [fun `n` (global (indt «nat»)) c0 \ - fun `m` (global (indt «nat»)) c1 \ - match c0 (fun `n` (global (indt «nat»)) c2 \ global (indt «nat»)) - [c1, - fun `p` (global (indt «nat»)) c2 \ - app - [global (indc «S»), - app - [fix `add` 0 - (prod `n` (global (indt «nat»)) c3 \ - prod `m` (global (indt «nat»)) c4 \ global (indt «nat»)) - c3 \ - fun `n` (global (indt «nat»)) c4 \ - fun `m` (global (indt «nat»)) c5 \ - match c4 - (fun `n` (global (indt «nat»)) c6 \ global (indt «nat»)) - [c5, - fun `p` (global (indt «nat»)) c6 \ - app [global (indc «S»), app [c3, c6, c5]]], c2, c1]]], + [fix `add` 0 + (prod `n` (global (indt «nat»)) c0 \ + prod `m` (global (indt «nat»)) c1 \ global (indt «nat»)) c0 \ + fun `n` (global (indt «nat»)) c1 \ + fun `m` (global (indt «nat»)) c2 \ + match c1 (fun `n` (global (indt «nat»)) c3 \ global (indt «nat»)) + [c2, + fun `p` (global (indt «nat»)) c3 \ + app [global (indc «S»), app [c0, c3, c2]]], app [global (indc «S»), global (indc «O»)], app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]] T1 = app @@ -5577,49 +5563,30 @@ app [global (indc «S»), global (indc «O»)], app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]] T2 = app - [fun `n` (global (indt «nat»)) c0 \ - fun `m` (global (indt «nat»)) c1 \ - match c0 (fun `n` (global (indt «nat»)) c2 \ global (indt «nat»)) - [c1, - fun `p` (global (indt «nat»)) c2 \ - app - [global (indc «S»), - app - [fix `plus` 0 - (prod `n` (global (indt «nat»)) c3 \ - prod `m` (global (indt «nat»)) c4 \ global (indt «nat»)) - c3 \ - fun `n` (global (indt «nat»)) c4 \ - fun `m` (global (indt «nat»)) c5 \ - match c4 - (fun `n` (global (indt «nat»)) c6 \ global (indt «nat»)) - [c5, - fun `p` (global (indt «nat»)) c6 \ - app [global (indc «S»), app [c3, c6, c5]]], c2, c1]]], + [fix `plus` 0 + (prod `n` (global (indt «nat»)) c0 \ + prod `m` (global (indt «nat»)) c1 \ global (indt «nat»)) c0 \ + fun `n` (global (indt «nat»)) c1 \ + fun `m` (global (indt «nat»)) c2 \ + match c1 (fun `n` (global (indt «nat»)) c3 \ global (indt «nat»)) + [c2, + fun `p` (global (indt «nat»)) c3 \ + app [global (indc «S»), app [c0, c3, c2]]], app [global (indc «S»), global (indc «O»)], app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]] - _uvk_42_ = global (indt «nat») - _uvk_43_ = c0 \ -global (indt «nat») - _uvk_44_ = c0 \ c1 \ -global (indt «nat») - _uvk_45_ = c0 \ c1 \ -global (indt «nat») - _uvk_46_ = c0 \ c1 \ c2 \ -global (indt «nat») - _uvk_47_ = c0 \ c1 \ c2 \ + _uvk_35_ = global (indt «nat») + _uvk_36_ = c0 \ global (indt «nat») - _uvk_48_ = c0 \ c1 \ c2 \ + _uvk_37_ = c0 \ c1 \ global (indt «nat») - _uvk_49_ = c0 \ c1 \ c2 \ c3 \ + _uvk_38_ = c0 \ global (indt «nat») - _uvk_50_ = c0 \ c1 \ c2 \ c3 \ + _uvk_39_ = c0 \ c1 \ global (indt «nat») - _uvk_51_ = c0 \ c1 \ c2 \ c3 \ + _uvk_40_ = c0 \ c1 \ c2 \ global (indt «nat») - _uvk_52_ = c0 \ c1 \ c2 \ c3 \ + _uvk_41_ = c0 \ c1 \ c2 \ global (indt «nat») -Universe constraints: {c0 c1 c2 c3} : decl c3 `w` c0, decl c2 `h` @@ -5805,7 +5772,29 @@ [global (indt «eq»), app [c1, c3], X1 c0 c1 c2 c3 c4 c5, X1 c0 c1 c2 c3 c4 c5] ?elpi_evar0 = ?elpi_evar0 Query assignments: - W = const «W» + L = [coercion (const «c1t») 0 (const «C1») sortclass, + coercion (const «c1f») 0 (const «C1») funclass, + coercion (const «c12») 0 (const «C1») (grefclass (const «C2»)), + coercion (const «reverse_coercion») 3 (const «ReverseCoercionSource») + (grefclass (const «ReverseCoercionTarget»))] +Query assignments: + A = «elpi.tests.test_API.succ» + GR = «Nat.add» + MP = «Coq.Init.Datatypes» + X1 = [loc-gref (const «Nat.add»)] + X2 = [loc-gref (const «Nat.add»)] + X3 = [loc-abbreviation «elpi.tests.test_API.succ»] + X4 = [loc-modpath «Coq.Init.Datatypes»] +test_inv : Type -> bool -> Type + : Type -> bool -> Type +K1_inv : forall (A : Type) (b : bool), b = true -> test_inv A b + : forall (A : Type) (b : bool), b = true -> test_inv A b +K2_inv +: +forall (A : Type) (b x : bool), +A -> test_inv A (negb x) -> b = negb (negb x) -> test_inv A b + : forall (A : Type) (b x : bool), + A -> test_inv A (negb x) -> b = negb (negb x) -> test_inv A b Query assignments: _uvk_6_ = «nuind.u0» _uvk_7_ = «nuind.u1» @@ -5822,50 +5811,6 @@ 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 -COQC tests/perf_calls.v -Query assignments: - R = fun `x` (global (indt «nat»)) c0 \ - app [global (const «Nat.add»), c0, global (indc «O»)] - T = prod `x` (global (indt «nat»)) c0 \ global (indt «nat») - _uvk_109_ = X0 -Universe constraints: -UNIVERSES: - {elpi.tests.test_elaborator.46 elpi.tests.test_elaborator.45 - elpi.tests.test_elaborator.44 elpi.tests.test_elaborator.43} |= - elpi.tests.test_elaborator.43 <= elpi.tests.test_elaborator.45 - elpi.tests.test_elaborator.44 <= elpi.tests.test_elaborator.45 - elpi.tests.test_elaborator.45 <= elpi.tests.test_elaborator.46 -ALGEBRAIC UNIVERSES: - {} -UNDEFINED UNIVERSES: - -SORTS: - -WEAK CONSTRAINTS: - - -it = elpi_subproof - : True -it : True - -it is not universe polymorphic -it is transparent -Expands to: Constant elpi.tests.test_ltac.it -elpi_subproof = I - : True -elpi_subproof : True - -elpi_subproof is not universe polymorphic -elpi_subproof is opaque -Expands to: Constant elpi.tests.test_ltac.elpi_subproof -Closed under the global context -COQC tests/test_ctx_cache.v const-decl D (some (fun `i` (global (indt «I»)) c0 \ @@ -5886,8 +5831,115 @@ (parameter i maximal (global (indt «I»)) c0 \ parameter H maximal (app [global (indt «L»), c0]) c1 \ parameter n explicit (global (indt «nat»)) c2 \ arity (sort prop)) -COQC tests/test_libobject_A.v -COQC tests/test_glob.v +Inductive listR_inv (A : Type) (PA : A -> Type) (idx0 : list A) : Type := + nilR_inv : idx0 = nil -> listR_inv A PA idx0 + | consR_inv : forall a : A, + PA a -> + forall xs : list A, + listR_inv A PA xs -> + idx0 = (a :: xs)%list -> listR_inv A PA idx0. + +Arguments listR_inv A%type_scope PA%function_scope idx0%list_scope +Arguments nilR_inv A%type_scope PA%function_scope idx0%list_scope _ +Arguments consR_inv A%type_scope PA%function_scope + idx0%list_scope a _ xs%list_scope _ _ +COQC tests/test_link_order2.v +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 +COQC tests/test_idx2inv.v +Query assignments: + C = «Nat.add» + F = TODO + T = app + [fun `n` (global (indt «nat»)) c0 \ + fun `m` (global (indt «nat»)) c1 \ + match c0 (fun `n` (global (indt «nat»)) c2 \ global (indt «nat»)) + [c1, + fun `p` (global (indt «nat»)) c2 \ + app + [global (indc «S»), + app + [fix `add` 0 + (prod `n` (global (indt «nat»)) c3 \ + prod `m` (global (indt «nat»)) c4 \ global (indt «nat»)) + c3 \ + fun `n` (global (indt «nat»)) c4 \ + fun `m` (global (indt «nat»)) c5 \ + match c4 + (fun `n` (global (indt «nat»)) c6 \ global (indt «nat»)) + [c5, + fun `p` (global (indt «nat»)) c6 \ + app [global (indc «S»), app [c3, c6, c5]]], c2, c1]]], + app [global (indc «S»), global (indc «O»)], + app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]] + T1 = app + [global (const «Nat.add»), + app [global (indc «S»), global (indc «O»)], + app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]] + T2 = app + [fun `n` (global (indt «nat»)) c0 \ + fun `m` (global (indt «nat»)) c1 \ + match c0 (fun `n` (global (indt «nat»)) c2 \ global (indt «nat»)) + [c1, + fun `p` (global (indt «nat»)) c2 \ + app + [global (indc «S»), + app + [fix `plus` 0 + (prod `n` (global (indt «nat»)) c3 \ + prod `m` (global (indt «nat»)) c4 \ global (indt «nat»)) + c3 \ + fun `n` (global (indt «nat»)) c4 \ + fun `m` (global (indt «nat»)) c5 \ + match c4 + (fun `n` (global (indt «nat»)) c6 \ global (indt «nat»)) + [c5, + fun `p` (global (indt «nat»)) c6 \ + app [global (indc «S»), app [c3, c6, c5]]], c2, c1]]], + app [global (indc «S»), global (indc «O»)], + app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]] + _uvk_42_ = global (indt «nat») + _uvk_43_ = c0 \ +global (indt «nat») + _uvk_44_ = c0 \ c1 \ +global (indt «nat») + _uvk_45_ = c0 \ c1 \ +global (indt «nat») + _uvk_46_ = c0 \ c1 \ c2 \ +global (indt «nat») + _uvk_47_ = c0 \ c1 \ c2 \ +global (indt «nat») + _uvk_48_ = c0 \ c1 \ c2 \ +global (indt «nat») + _uvk_49_ = c0 \ c1 \ c2 \ c3 \ +global (indt «nat») + _uvk_50_ = c0 \ c1 \ c2 \ c3 \ +global (indt «nat») + _uvk_51_ = c0 \ c1 \ c2 \ c3 \ +global (indt «nat») + _uvk_52_ = c0 \ c1 \ c2 \ c3 \ +global (indt «nat») +Finished transaction in 1.585 secs (0.762u,0.s) (successful) +Query assignments: + Spilled_1 = const «nuc» +nuc : forall x : nat, C1 -> C3 x + +nuc is not universe polymorphic +Arguments nuc x%nat_scope _ +nuc is a reversible coercion +Expands to: Constant elpi.tests.test_API_TC_CS.nuc +is_list_to_is_list_inv +: +forall (A : Type) (PA : A -> Type) (l : list A), +is_list A PA l -> is_list_inv A PA l + : forall (A : Type) (PA : A -> Type) (l : list A), + is_list A PA l -> is_list_inv A PA l +COQC tests/test_link_order3.v +COQC tests/test_lens.v Query assignments: C = «Nat.add» F = TODO @@ -5950,12 +6002,21 @@ global (indt «nat») _uvk_61_ = c0 \ c1 \ c2 \ c3 \ global (indt «nat») -COQC tests/test_link_perf.v +c0 global (indt «nat») Query assignments: - X = «elpi.tests.test_API.1» + T = global (indt «nat») +Query assignments: + R = fun `x` (global (indt «nat»)) c0 \ + app [global (const «Nat.add»), c0, global (indc «O»)] + T = prod `x` (global (indt «nat»)) c0 \ global (indt «nat») + _uvk_109_ = X0 Universe constraints: UNIVERSES: - {elpi.tests.test_API.1} |= + {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: {} UNDEFINED UNIVERSES: @@ -5965,28 +6026,6 @@ WEAK CONSTRAINTS: -[cs-instance (const «eq_op») (cs-gref (const «Z1»)) (const «myc1»)] -Query assignments: - L = [cs-instance (const «eq_op») (cs-gref (const «Z1»)) (const «myc1»)] - P = const «eq_op» - W = const «Z1» -_f1 : Lens fo_record fo_record peano peano - : Lens fo_record fo_record peano peano -_f2 : Lens fo_record fo_record unit unit - : Lens fo_record fo_record unit unit -@_f3 : forall A : Type, Lens (pa_record A) (pa_record A) peano peano - : forall A : Type, Lens (pa_record A) (pa_record A) peano peano -@_f4 : forall A : Type, Lens (pa_record A) (pa_record A) A A - : forall A : Type, Lens (pa_record A) (pa_record A) A A -@_pf3 : forall A : Type, Lens (pr_record A) (pr_record A) peano peano - : forall A : Type, Lens (pr_record A) (pr_record A) peano peano -@_pf4 : forall A : Type, Lens (pr_record A) (pr_record A) A A - : forall A : Type, Lens (pr_record A) (pr_record A) A A -ok -c0 global (indt «nat») -Query assignments: - T = global (indt «nat») -COQC tests/test_link_order1.v Query assignments: C = «Nat.add» F = TODO @@ -6000,26 +6039,54 @@ T2 = app [global (indc «S»), app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]] -COQC tests/test_tag.v -Query assignments: - X = typ «elpi.tests.test_API.2» - Y = typ «elpi.tests.test_API.3» -Universe constraints: -UNIVERSES: - {elpi.tests.test_API.3 elpi.tests.test_API.2} |= - elpi.tests.test_API.2 <= elpi.tests.test_API.3 -ALGEBRAIC UNIVERSES: - {} -UNDEFINED UNIVERSES: - -SORTS: - -WEAK CONSTRAINTS: - - +Universe constraints: +d1 + : nat +d2 + : nat +i1 + : Prop +i2 + : Prop +k1 + : i1 +k2 + : i2 +r1 + : Set +r2 + : Type +f1 + : r1 -> nat +f2 + : r2 -> nat +COQC tests/test_link_order4.v +elpi.tests.test_HOAS.P.p1 1 global (const «P.x») +@P.p1 +X0 global (const «P.x») +P.p1 P.x +some + (fun `A` (sort (typ «P.foo.u0»)) c0 \ + fun `f` (app [global (indt «P.foo»), c0]) c1 \ + app [primitive (proj elpi.tests.test_HOAS.P.p1 1), c1]) +elpi.tests.test_HOAS.P.p2 2 global (const «P.x») +@P.p2 +X0 global (const «P.x») +P.p2 P.x +some + (fun `A` (sort (typ «P.foo.u0»)) c0 \ + fun `f` (app [global (indt «P.foo»), c0]) c1 \ + app [primitive (proj elpi.tests.test_HOAS.P.p1 1), c1]) +sort (typ X0) Query assignments: - P = const «eq_op» - W = indt «nat» + _uvk_129_ = X0 +COQC tests/test_link_order5.v + evar (X0) (global (indt «nat»)) X1 /* suspended on X0, X1 */ +X0 global (indt «nat») + evar (X2) (global (indt «nat»)) X3 /* suspended on X2, X3 */ +hello +eq_refl : one = 1 + : one = 1 Query assignments: D = parameter A X0 (sort (typ «tx.u0»)) c0 \ inductive tx X1 @@ -6072,53 +6139,66 @@ WEAK CONSTRAINTS: -d1 - : nat -d2 - : nat -i1 - : Prop -i2 - : Prop -k1 - : i1 -k2 - : i2 -r1 - : Set -r2 - : Type -f1 - : r1 -> nat -f2 - : r2 -> nat -COQC tests/test_link_order2.v -elpi.tests.test_HOAS.P.p1 1 global (const «P.x») -sort (typ X0) Query assignments: - _uvk_129_ = X0 -@P.p1 -X0 global (const «P.x») -P.p1 P.x -some - (fun `A` (sort (typ «P.foo.u0»)) c0 \ - fun `f` (app [global (indt «P.foo»), c0]) c1 \ - app [primitive (proj elpi.tests.test_HOAS.P.p1 1), c1]) -elpi.tests.test_HOAS.P.p2 2 global (const «P.x») -@P.p2 -X0 global (const «P.x») -P.p2 P.x + X = «elpi.tests.test_API.1» +Universe constraints: +UNIVERSES: + {elpi.tests.test_API.1} |= +ALGEBRAIC UNIVERSES: + {} +UNDEFINED UNIVERSES: + +SORTS: + +WEAK CONSTRAINTS: + + +_f1 : Lens fo_record fo_record peano peano + : Lens fo_record fo_record peano peano +_f2 : Lens fo_record fo_record unit unit + : Lens fo_record fo_record unit unit +@_f3 : forall A : Type, Lens (pa_record A) (pa_record A) peano peano + : forall A : Type, Lens (pa_record A) (pa_record A) peano peano +@_f4 : forall A : Type, Lens (pa_record A) (pa_record A) A A + : forall A : Type, Lens (pa_record A) (pa_record A) A A +@_pf3 : forall A : Type, Lens (pr_record A) (pr_record A) peano peano + : forall A : Type, Lens (pr_record A) (pr_record A) peano peano +@_pf4 : forall A : Type, Lens (pr_record A) (pr_record A) A A + : forall A : Type, Lens (pr_record A) (pr_record A) A A +ok +Query assignments: + S = sort (typ «elpi.tests.test_elaborator.48») + T = sort (typ «elpi.tests.test_elaborator.47») + _uvk_130_ = «elpi.tests.test_elaborator.47» +Universe constraints: +UNIVERSES: + {elpi.tests.test_elaborator.48 elpi.tests.test_elaborator.47} |= + elpi.tests.test_elaborator.47 < elpi.tests.test_elaborator.48 +ALGEBRAIC UNIVERSES: + {elpi.tests.test_elaborator.47} +UNDEFINED UNIVERSES: + elpi.tests.test_elaborator.47 +SORTS: + +WEAK CONSTRAINTS: + + +COQC tests/test_tag.v some - (fun `A` (sort (typ «P.foo.u0»)) c0 \ - fun `f` (app [global (indt «P.foo»), c0]) c1 \ - app [primitive (proj elpi.tests.test_HOAS.P.p1 1), c1]) + (pglobal (const «toto») + «elpi.tests.test_HOAS.19 elpi.tests.test_HOAS.20») +prod `T1` (sort (typ «elpi.tests.test_HOAS.19»)) c0 \ + prod `T2` (sort (typ «elpi.tests.test_HOAS.20»)) c1 \ prod `x` c0 c2 \ c0 Query assignments: - X = typ «elpi.tests.test_API.4» - Y = typ «elpi.tests.test_API.5» + Body = some + (pglobal (const «toto») + «elpi.tests.test_HOAS.19 elpi.tests.test_HOAS.20») + C = «titi» + Term = prod `T1` (sort (typ «elpi.tests.test_HOAS.19»)) c0 \ + prod `T2` (sort (typ «elpi.tests.test_HOAS.20»)) c1 \ prod `x` c0 c2 \ c0 Universe constraints: UNIVERSES: - {elpi.tests.test_API.5 elpi.tests.test_API.4} |= - elpi.tests.test_API.4 <= elpi.tests.test_API.5 + {elpi.tests.test_HOAS.20 elpi.tests.test_HOAS.19} |= ALGEBRAIC UNIVERSES: {} UNDEFINED UNIVERSES: @@ -6129,17 +6209,37 @@ Query assignments: - C1 = const «C1» - GR1 = const «c12» - GR2 = const «c1t» - GR3 = const «c1f» -fun x : C1 => x : C2 - : C1 -> C2 -fun (x : C1) (_ : x) => true - : forall x : C1, x -> bool -fun x : C1 => x 3 - : C1 -> nat -COQC tests/test_link_order3.v + S = sort (typ «elpi.tests.test_elaborator.50») + T = sort (typ «elpi.tests.test_elaborator.49») + TW = sort (typ «elpi.tests.test_elaborator.49») + W = sort (typ «elpi.tests.test_elaborator.51») + _uvk_131_ = «elpi.tests.test_elaborator.49» + _uvk_132_ = «elpi.tests.test_elaborator.51» +Universe constraints: +UNIVERSES: + {elpi.tests.test_elaborator.51 elpi.tests.test_elaborator.50 + elpi.tests.test_elaborator.49} |= + elpi.tests.test_elaborator.49 < elpi.tests.test_elaborator.50 + elpi.tests.test_elaborator.51 < elpi.tests.test_elaborator.49 +ALGEBRAIC UNIVERSES: + {elpi.tests.test_elaborator.51 elpi.tests.test_elaborator.49} +UNDEFINED UNIVERSES: + elpi.tests.test_elaborator.51 + elpi.tests.test_elaborator.49 +SORTS: + +WEAK CONSTRAINTS: + + +[(c4 \ app [c1, c2]), (c4 \ app [c0, c2]), (c4 \ c4), (c4 \ + prod `x0` (app [c0, c2]) c5 \ + prod `x1` (global (indt «nat»)) c6 \ + sort (typ «elpi.tests.test_tactic.16»))] +[app + [global (indt «eq»), global (indt «nat»), c2, + app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]], + sort prop] +COQC tests/test_link_order6.v Query assignments: D = parameter A explicit (sort (typ «elpi.tests.test_API_env.20»)) c0 \ parameter a explicit c0 c1 \ @@ -6213,14 +6313,12 @@ Query assignments: - X = typ «elpi.tests.test_API.6» - Y = typ «elpi.tests.test_API.7» - Z = typ «elpi.tests.test_API.8» + X = typ «elpi.tests.test_API.2» + Y = typ «elpi.tests.test_API.3» Universe constraints: UNIVERSES: - {elpi.tests.test_API.8 elpi.tests.test_API.7 elpi.tests.test_API.6} |= - elpi.tests.test_API.6 <= elpi.tests.test_API.8 - elpi.tests.test_API.7 <= elpi.tests.test_API.8 + {elpi.tests.test_API.3 elpi.tests.test_API.2} |= + elpi.tests.test_API.2 <= elpi.tests.test_API.3 ALGEBRAIC UNIVERSES: {} UNDEFINED UNIVERSES: @@ -6230,44 +6328,7 @@ WEAK CONSTRAINTS: -Query assignments: - S = sort (typ «elpi.tests.test_elaborator.48») - T = sort (typ «elpi.tests.test_elaborator.47») - _uvk_130_ = «elpi.tests.test_elaborator.47» -Universe constraints: -UNIVERSES: - {elpi.tests.test_elaborator.48 elpi.tests.test_elaborator.47} |= - elpi.tests.test_elaborator.47 < elpi.tests.test_elaborator.48 -ALGEBRAIC UNIVERSES: - {elpi.tests.test_elaborator.47} -UNDEFINED UNIVERSES: - elpi.tests.test_elaborator.47 -SORTS: - -WEAK CONSTRAINTS: - - -Query assignments: - L = [coercion (const «c1t») 0 (const «C1») sortclass, - coercion (const «c1f») 0 (const «C1») funclass, - coercion (const «c12») 0 (const «C1») (grefclass (const «C2»)), - coercion (const «reverse_coercion») 3 (const «ReverseCoercionSource») - (grefclass (const «ReverseCoercionTarget»))] - evar (X0) (global (indt «nat»)) X1 /* suspended on X0, X1 */ -X0 global (indt «nat») - evar (X2) (global (indt «nat»)) X3 /* suspended on X2, X3 */ -hello -eq_refl : one = 1 - : one = 1 -Query assignments: - Spilled_1 = const «nuc» -nuc : forall x : nat, C1 -> C3 x - -nuc is not universe polymorphic -Arguments nuc x%nat_scope _ -nuc is a reversible coercion -Expands to: Constant elpi.tests.test_API_TC_CS.nuc -COQC tests/test_link_order4.v +pglobal (const «toto») X0 empty_tag : tag empty : tag empty unit_tag : tag unit @@ -6278,35 +6339,31 @@ : forall A : Type, tag (option A) pair_tag : forall A B : Type, tag (pair A B) : forall A B : Type, tag (pair A B) +seq_tag : forall A : Type, tag (seq A) + : forall A : Type, tag (seq A) +rose_tag : forall A : Type, tag (rose A) + : forall A : Type, tag (rose A) +nest_tag : forall A : Type, tag (nest A) + : forall A : Type, tag (nest A) +pglobal (const «toto») «u1 u2» +toto Query assignments: - S = sort (typ «elpi.tests.test_elaborator.50») - T = sort (typ «elpi.tests.test_elaborator.49») - TW = sort (typ «elpi.tests.test_elaborator.49») - W = sort (typ «elpi.tests.test_elaborator.51») - _uvk_131_ = «elpi.tests.test_elaborator.49» - _uvk_132_ = «elpi.tests.test_elaborator.51» + Spilled_1 = toto + _uvk_62_ = X0 + _uvk_63_ = «elpi.tests.test_HOAS.23 elpi.tests.test_HOAS.24» Universe constraints: UNIVERSES: - {elpi.tests.test_elaborator.51 elpi.tests.test_elaborator.50 - elpi.tests.test_elaborator.49} |= - elpi.tests.test_elaborator.49 < elpi.tests.test_elaborator.50 - elpi.tests.test_elaborator.51 < elpi.tests.test_elaborator.49 + {elpi.tests.test_HOAS.24 elpi.tests.test_HOAS.23} |= ALGEBRAIC UNIVERSES: - {elpi.tests.test_elaborator.51 elpi.tests.test_elaborator.49} + {elpi.tests.test_HOAS.24 elpi.tests.test_HOAS.23} UNDEFINED UNIVERSES: - elpi.tests.test_elaborator.51 - elpi.tests.test_elaborator.49 + elpi.tests.test_HOAS.24 + elpi.tests.test_HOAS.23 SORTS: WEAK CONSTRAINTS: -seq_tag : forall A : Type, tag (seq A) - : forall A : Type, tag (seq A) -rose_tag : forall A : Type, tag (rose A) - : forall A : Type, tag (rose A) -nest_tag : forall A : Type, tag (nest A) - : forall A : Type, tag (nest A) w_tag : forall A : Type, tag (w A) : forall A : Type, tag (w A) vect_tag : forall (A : Type) (i : peano), tag (vect A i) @@ -6333,6 +6390,36 @@ : forall p : peano, tag (ord2 p) val_tag : tag val : tag val +COQC tests/test_eqType_ast.v +COQC tests/test_link_order7.v +COQC tests/test_link_order8.v +COQC tests/test_link_order9.v +1356 + : nat +this 3 app [c4, X0 c0 c1 c2 c3 c4] +app [c3, app [c1, c2], global (const «a»)] foo.bar +Debug: Cannot enforce elpi.tests.test_elaborator.52 < +elpi.tests.test_elaborator.52 because elpi.tests.test_elaborator.52 += elpi.tests.test_elaborator.52 +Query assignments: + X = sort (typ X0) + _uvk_133_ = X0 +Query assignments: + X = typ «elpi.tests.test_API.4» + Y = typ «elpi.tests.test_API.5» +Universe constraints: +UNIVERSES: + {elpi.tests.test_API.5 elpi.tests.test_API.4} |= + elpi.tests.test_API.4 <= elpi.tests.test_API.5 +ALGEBRAIC UNIVERSES: + {} +UNDEFINED UNIVERSES: + +SORTS: + +WEAK CONSTRAINTS: + + Query assignments: D = parameter A explicit (sort (typ «elpi.tests.test_API_env.20»)) c0 \ parameter a explicit c0 c1 \ @@ -6359,22 +6446,6 @@ (app [c2, c3, c4, global (indt «nat»), app [global (indc «S»), global (indc «O»)]]))] -Query assignments: - X = typ «elpi.tests.test_API.9» - Y = typ «elpi.tests.test_API.10» -Universe constraints: -UNIVERSES: - {elpi.tests.test_API.10 elpi.tests.test_API.9} |= - elpi.tests.test_API.9 < elpi.tests.test_API.10 -ALGEBRAIC UNIVERSES: - {} -UNDEFINED UNIVERSES: - -SORTS: - -WEAK CONSTRAINTS: - - D1 = parameter A explicit (sort (typ «elpi.tests.test_API_env.20»)) c0 \ parameter a explicit c0 c1 \ inductive ind1 tt @@ -6421,32 +6492,34 @@ WEAK CONSTRAINTS: -COQC tests/test_eqType_ast.v -some - (pglobal (const «toto») - «elpi.tests.test_HOAS.19 elpi.tests.test_HOAS.20») -prod `T1` (sort (typ «elpi.tests.test_HOAS.19»)) c0 \ - prod `T2` (sort (typ «elpi.tests.test_HOAS.20»)) c1 \ prod `x` c0 c2 \ c0 +app + [pglobal (const «t») X0, global (indt «nat»), + pglobal (const «fnat») X1] +app + [pglobal (const «t») «elpi.tests.test_HOAS.29», global (indt «nat»), + pglobal (const «fnat») «»] Query assignments: - Body = some - (pglobal (const «toto») - «elpi.tests.test_HOAS.19 elpi.tests.test_HOAS.20») - C = «titi» - Term = prod `T1` (sort (typ «elpi.tests.test_HOAS.19»)) c0 \ - prod `T2` (sort (typ «elpi.tests.test_HOAS.20»)) c1 \ prod `x` c0 c2 \ c0 + T = app + [pglobal (const «t») «elpi.tests.test_HOAS.29», global (indt «nat»), + pglobal (const «fnat») «»] + Ty = global (indt «nat») + _uvk_64_ = «elpi.tests.test_HOAS.29» + _uvk_65_ = «» Universe constraints: UNIVERSES: - {elpi.tests.test_HOAS.20 elpi.tests.test_HOAS.19} |= + {elpi.tests.test_HOAS.29} |= + Set <= elpi.tests.test_HOAS.29 + Set = elpi.tests.test_HOAS.29 ALGEBRAIC UNIVERSES: - {} + {elpi.tests.test_HOAS.29} UNDEFINED UNIVERSES: - + elpi.tests.test_HOAS.29 := Set SORTS: WEAK CONSTRAINTS: -Finished transaction in 0.791 secs (0.779u,0.s) (successful) +COQC tests/test_API_new_pred.v Query assignments: D = parameter P explicit (sort (typ «r1.u0»)) c0 \ parameter p explicit c0 c1 \ @@ -6463,40 +6536,24 @@ I = «r1» UP = «r1.u0» UR = «r1.u0» -Debug: Cannot enforce elpi.tests.test_elaborator.52 < -elpi.tests.test_elaborator.52 because elpi.tests.test_elaborator.52 -= elpi.tests.test_elaborator.52 -Query assignments: - X = sort (typ X0) - _uvk_133_ = X0 -pglobal (const «toto») X0 -pglobal (const «toto») «u1 u2» -toto Query assignments: - Spilled_1 = toto - _uvk_62_ = X0 - _uvk_63_ = «elpi.tests.test_HOAS.23 elpi.tests.test_HOAS.24» + X = typ «elpi.tests.test_API.6» + Y = typ «elpi.tests.test_API.7» + Z = typ «elpi.tests.test_API.8» Universe constraints: UNIVERSES: - {elpi.tests.test_HOAS.24 elpi.tests.test_HOAS.23} |= + {elpi.tests.test_API.8 elpi.tests.test_API.7 elpi.tests.test_API.6} |= + elpi.tests.test_API.6 <= elpi.tests.test_API.8 + elpi.tests.test_API.7 <= elpi.tests.test_API.8 ALGEBRAIC UNIVERSES: - {elpi.tests.test_HOAS.24 elpi.tests.test_HOAS.23} + {} UNDEFINED UNIVERSES: - elpi.tests.test_HOAS.24 - elpi.tests.test_HOAS.23 + SORTS: WEAK CONSTRAINTS: -[(c4 \ app [c1, c2]), (c4 \ app [c0, c2]), (c4 \ c4), (c4 \ - prod `x0` (app [c0, c2]) c5 \ - prod `x1` (global (indt «nat»)) c6 \ - sort (typ «elpi.tests.test_tactic.16»))] -[app - [global (indt «eq»), global (indt «nat»), c2, - app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]], - sort prop] Query assignments: D = parameter P explicit (sort (typ «r1.u0»)) c0 \ parameter p explicit c0 c1 \ @@ -6513,61 +6570,6 @@ I = «r1» UP = «r1.u0» UR = «r1.u0» -app - [pglobal (const «t») X0, global (indt «nat»), - pglobal (const «fnat») X1] -app - [pglobal (const «t») «elpi.tests.test_HOAS.29», global (indt «nat»), - pglobal (const «fnat») «»] -Query assignments: - T = app - [pglobal (const «t») «elpi.tests.test_HOAS.29», global (indt «nat»), - pglobal (const «fnat») «»] - Ty = global (indt «nat») - _uvk_64_ = «elpi.tests.test_HOAS.29» - _uvk_65_ = «» -Universe constraints: -UNIVERSES: - {elpi.tests.test_HOAS.29} |= - Set <= elpi.tests.test_HOAS.29 - Set = elpi.tests.test_HOAS.29 -ALGEBRAIC UNIVERSES: - {elpi.tests.test_HOAS.29} -UNDEFINED UNIVERSES: - elpi.tests.test_HOAS.29 := Set -SORTS: - -WEAK CONSTRAINTS: - - -Query assignments: - X = sort (typ «elpi.tests.test_elaborator.53») - Y = sort (typ «elpi.tests.test_elaborator.54») -Universe constraints: -UNIVERSES: - {elpi.tests.test_elaborator.54 elpi.tests.test_elaborator.53} |= - elpi.tests.test_elaborator.53 < elpi.tests.test_elaborator.54 -ALGEBRAIC UNIVERSES: - {elpi.tests.test_elaborator.54 elpi.tests.test_elaborator.53} -UNDEFINED UNIVERSES: - elpi.tests.test_elaborator.54 - elpi.tests.test_elaborator.53 -SORTS: - -WEAK CONSTRAINTS: - - -COQC tests/test_link_order5.v -{{ nat; S; }} -{{ nat; S; }} -Query assignments: - GR = const «Nat.add» - L = {{ nat; S; }} - S = {{ nat; S; }} -1356 - : nat -this 3 app [c4, X0 c0 c1 c2 c3 c4] -app [c3, app [c1, c2], global (const «a»)] foo.bar Query assignments: A4 = «elpi.tests.test_HOAS.36» A5 = «elpi.tests.test_HOAS.37» @@ -6604,7 +6606,6 @@ match c1 (fun `f` (app [pglobal (indt «F») «elpi.tests.test_HOAS.46», c0]) c2 \ c0) [fun `t` c0 c2 \ c2]) -COQC examples/usage.v BoT2 = some (fun `T` (sort (typ «elpi.tests.test_HOAS.47»)) c0 \ fun `f` (app [pglobal (indt «F») «elpi.tests.test_HOAS.47», c0]) c1 \ @@ -6751,92 +6752,24 @@ WEAK CONSTRAINTS: -COQC tests/test_link_order6.v Query assignments: - D = X0 - R = app - [global (indc «ex_intro»), X0, - fun `hd_beta_auto` X0 c0 \ - app - [global (indt «eq»), global (indt «nat»), global (indc «O»), - global (indc «O»)], X1, global (const «p»)] - TY = app - [global (indt «ex»), X0, - fun `hd_beta_auto` X0 c0 \ - app - [global (indt «eq»), global (indt «nat»), global (indc «O»), - global (indc «O»)]] - _uvk_135_ = X2 - _uvk_136_ = X3 - _uvk_137_ = X4 -Syntactic constraints: - evar (X2) (sort (typ «ex.u0»)) X0 /* suspended on X2, X0 */ - evar (X4) X0 (X1) /* suspended on X4, X1 */ - evar (X1) X0 X5 /* suspended on X1, X5 */ -[foo (const «X»), foo (indt «nat»), foo (indt «bool»)] -[foo (indt «nat»), foo (indt «bool»)] -{{ X.a; }} {{ X.a; Nat.add; nat; }} -{{ X.a; }} {{ X.a; Nat.add; nat; O; S; }} -Query assignments: - AllL = {{ X.a; Nat.add; nat; }} - AllS = {{ X.a; Nat.add; nat; O; S; }} - GR = const «X.b» - L = {{ X.a; }} - M = «elpi.tests.test_API_env.HOAS.X» - S = {{ X.a; }} - Spilled_1 = const «X.a» -[] -[foo (indt «nat»)] -COQC tests/test_link_order7.v -«elpi.tests.test_HOAS.68» -parameter T explicit (sort (typ «elpi.tests.test_HOAS.68»)) c0 \ - record F (sort (typ «elpi.tests.test_HOAS.68»)) Build_F - (field [coercion off, canonical tt] t c0 c1 \ end-record) -«elpi.tests.test_HOAS.68» -parameter T explicit (sort (typ «elpi.tests.test_HOAS.68»)) c0 \ - record F (sort (typ «elpi.tests.test_HOAS.68»)) Build_F - (field [coercion off, canonical tt] t c0 c1 \ end-record) -parameter T explicit (sort (typ «elpi.tests.test_HOAS.69»)) c0 \ - record F (sort (typ «elpi.tests.test_HOAS.69»)) Build_F - (field [coercion off, canonical tt] t c0 c1 \ end-record) -Query assignments: - Decl = parameter T explicit (sort (typ «elpi.tests.test_HOAS.68»)) c0 \ - record F (sort (typ «elpi.tests.test_HOAS.68»)) Build_F - (field [coercion off, canonical tt] t c0 c1 \ end-record) - Decl1 = parameter T explicit (sort (typ «elpi.tests.test_HOAS.68»)) c0 \ - record F (sort (typ «elpi.tests.test_HOAS.68»)) Build_F - (field [coercion off, canonical tt] t c0 c1 \ end-record) - Decl2 = parameter T explicit (sort (typ «elpi.tests.test_HOAS.69»)) c0 \ - record F (sort (typ «elpi.tests.test_HOAS.69»)) Build_F - (field [coercion off, canonical tt] t c0 c1 \ end-record) - GRF = indt «F» - I = «elpi.tests.test_HOAS.68» - Ind = «F» + X = sort (typ «elpi.tests.test_elaborator.53») + Y = sort (typ «elpi.tests.test_elaborator.54») Universe constraints: UNIVERSES: - {elpi.tests.test_HOAS.69 elpi.tests.test_HOAS.68} |= + {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_HOAS.69 elpi.tests.test_HOAS.68} + {elpi.tests.test_elaborator.54 elpi.tests.test_elaborator.53} UNDEFINED UNIVERSES: - elpi.tests.test_HOAS.69 - elpi.tests.test_HOAS.68 + elpi.tests.test_elaborator.54 + elpi.tests.test_elaborator.53 SORTS: WEAK CONSTRAINTS: -Query assignments: - R = app - [global (indc «ex_intro»), global (indt «nat»), - fun `hd_beta_auto` (global (indt «nat»)) c0 \ - app [global (indt «eq»), global (indt «nat»), c0, c0], - global (indc «O»), global (const «p»)] - TY = app - [global (indt «ex»), global (indt «nat»), - fun `hd_beta_auto` (global (indt «nat»)) c0 \ - app [global (indt «eq»), global (indt «nat»), c0, c0]] - _uvk_164_ = X0 - _uvk_165_ = X1 +COQC tests/test_link_order_import0.v [trm c0, trm (app [global (const «Nat.add»), c0, c1])] {c0 c1} : decl c1 `y` (global (indt «nat»)), decl c0 `x` (global (indt «nat»)) @@ -6848,11 +6781,17 @@ {c0 c1} : decl c1 `y` (global (indt «nat»)), decl c0 `x` (global (indt «nat»)) ?- evar (X2 c0 c1) (global (indt «True»)) (X3 c0 c1) /* suspended on X2, X3 */ +{{ nat; S; }} [trm c0, trm (app [global (const «Nat.add»), X0 c0 c1, c1])] {c0 c1} : decl c1 `y` (global (indt «nat»)), decl c0 `x` (global (indt «nat»)) ?- evar (X1 c0 c1) (global (indt «True»)) (X2 c0 c1) /* suspended on X1, X2 */ [trm c0, trm c1] +{{ nat; S; }} +Query assignments: + GR = const «Nat.add» + L = {{ nat; S; }} + S = {{ nat; S; }} {c0 c1} : decl c1 `y` (global (indt «nat»)), decl c0 `x` (global (indt «nat»)) ?- evar (X0 c0 c1) (global (indt «True»)) (X1 c0 c1) /* suspended on X0, X1 */ @@ -6891,6 +6830,149 @@ {c0 c1} : decl c1 `y` (global (indt «nat»)), decl c0 `x` (global (indt «nat»)) ?- evar (X0 c0 c1) (global (indt «True»)) (X1 c0 c1) /* suspended on X0, X1 */ +[str a] + {c0 c1} : + decl c1 `y` (global (indt «nat»)), decl c0 `x` (global (indt «nat»)) + ?- evar (X0 c0 c1) (global (indt «True»)) (X1 c0 c1) /* suspended on X0, X1 */ +[str x] + {c0 c1} : + decl c1 `y` (global (indt «nat»)), decl c0 `x` (global (indt «nat»)) + ?- evar (X0 c0 c1) (global (indt «True»)) (X1 c0 c1) /* suspended on X0, X1 */ +[trm (app [global (const «Nat.add»), c0, c1])] + {c0 c1} : + decl c1 `y` (global (indt «nat»)), decl c0 `x` (global (indt «nat»)) + ?- evar (X0 c0 c1) (global (indt «True»)) (X1 c0 c1) /* suspended on X0, X1 */ +[trm (app [global (const «Nat.add»), X0 c0 c1, c1])] + {c0 c1} : + decl c1 `y` (global (indt «nat»)), decl c0 `x` (global (indt «nat»)) + ?- evar (X1 c0 c1) (global (indt «True»)) (X2 c0 c1) /* suspended on X1, X2 */ +[trm (app [global (const «Nat.add»), X0 c0 c1, c1])] + {c0 c1} : + decl c1 `y` (global (indt «nat»)), decl c0 `x` (global (indt «nat»)) + ?- evar (X1 c0 c1) (global (indt «True»)) (X2 c0 c1) /* suspended on X1, X2 */ +[trm c0] + {c0 c1} : + decl c1 `y` (global (indt «nat»)), decl c0 `x` (global (indt «nat»)) + ?- evar (X0 c0 c1) (global (indt «True»)) (X1 c0 c1) /* suspended on X0, X1 */ +COQC tests/test_vernacular2.v +COQC tests/test_ltac2.v +«elpi.tests.test_HOAS.68» +parameter T explicit (sort (typ «elpi.tests.test_HOAS.68»)) c0 \ + record F (sort (typ «elpi.tests.test_HOAS.68»)) Build_F + (field [coercion off, canonical tt] t c0 c1 \ end-record) +«elpi.tests.test_HOAS.68» +parameter T explicit (sort (typ «elpi.tests.test_HOAS.68»)) c0 \ + record F (sort (typ «elpi.tests.test_HOAS.68»)) Build_F + (field [coercion off, canonical tt] t c0 c1 \ end-record) +parameter T explicit (sort (typ «elpi.tests.test_HOAS.69»)) c0 \ + record F (sort (typ «elpi.tests.test_HOAS.69»)) Build_F + (field [coercion off, canonical tt] t c0 c1 \ end-record) +Query assignments: + Decl = parameter T explicit (sort (typ «elpi.tests.test_HOAS.68»)) c0 \ + record F (sort (typ «elpi.tests.test_HOAS.68»)) Build_F + (field [coercion off, canonical tt] t c0 c1 \ end-record) + Decl1 = parameter T explicit (sort (typ «elpi.tests.test_HOAS.68»)) c0 \ + record F (sort (typ «elpi.tests.test_HOAS.68»)) Build_F + (field [coercion off, canonical tt] t c0 c1 \ end-record) +COQC tests/test_libobject_B.v + Decl2 = parameter T explicit (sort (typ «elpi.tests.test_HOAS.69»)) c0 \ + record F (sort (typ «elpi.tests.test_HOAS.69»)) Build_F + (field [coercion off, canonical tt] t c0 c1 \ end-record) + GRF = indt «F» + I = «elpi.tests.test_HOAS.68» + Ind = «F» +Universe constraints: +UNIVERSES: + {elpi.tests.test_HOAS.69 elpi.tests.test_HOAS.68} |= +ALGEBRAIC UNIVERSES: + {elpi.tests.test_HOAS.69 elpi.tests.test_HOAS.68} +UNDEFINED UNIVERSES: + elpi.tests.test_HOAS.69 + elpi.tests.test_HOAS.68 +SORTS: + +WEAK CONSTRAINTS: + + +test1 +Query assignments: +str hello +str x +test1 + X = typ «elpi.tests.test_API.9» + Y = typ «elpi.tests.test_API.10» +Universe constraints: +UNIVERSES: + {elpi.tests.test_API.10 elpi.tests.test_API.9} |= + elpi.tests.test_API.9 < elpi.tests.test_API.10 +ALGEBRAIC UNIVERSES: + {} +UNDEFINED UNIVERSES: + +SORTS: + +WEAK CONSTRAINTS: + + +too many arguments +File "./tests/test_vernacular2.v", line 6, characters 2-17: +Warning: This command does not support this attribute: fwd_compat_attr. +[unsupported-attributes,parsing,default] +File "./tests/test_vernacular2.v", line 7, characters 2-17: +Warning: This command does not support this attribute: fwd_compat_attr. +[unsupported-attributes,parsing,default] +File "./tests/test_vernacular2.v", line 8, characters 2-17: +Warning: This command does not support this attribute: fwd_compat_attr. +[unsupported-attributes,parsing,default] +it = elpi_subproof + : True +it : True + +it is not universe polymorphic +it is transparent +Expands to: Constant elpi.tests.test_ltac.it +elpi_subproof = I + : True +elpi_subproof : True + +elpi_subproof is not universe polymorphic +elpi_subproof is opaque +Expands to: Constant elpi.tests.test_ltac.elpi_subproof +Closed under the global context +{{ X.a; }} {{ X.a; Nat.add; nat; }} +{{ X.a; }} {{ X.a; Nat.add; nat; O; S; }} +Query assignments: + AllL = {{ X.a; Nat.add; nat; }} + AllS = {{ X.a; Nat.add; nat; O; S; }} + GR = const «X.b» + L = {{ X.a; }} + M = «elpi.tests.test_API_env.HOAS.X» + S = {{ X.a; }} + Spilled_1 = const «X.a» +COQC tests/test_link_order_import1.v +Query assignments: + D = X0 + R = app + [global (indc «ex_intro»), X0, + fun `hd_beta_auto` X0 c0 \ + app + [global (indt «eq»), global (indt «nat»), global (indc «O»), + global (indc «O»)], X1, global (const «p»)] + TY = app + [global (indt «ex»), X0, + fun `hd_beta_auto` X0 c0 \ + app + [global (indt «eq»), global (indt «nat»), global (indc «O»), + global (indc «O»)]] + _uvk_135_ = X2 + _uvk_136_ = X3 + _uvk_137_ = X4 +Syntactic constraints: + evar (X2) (sort (typ «ex.u0»)) X0 /* suspended on X2, X0 */ + evar (X4) X0 (X1) /* suspended on X4, X1 */ + evar (X1) X0 X5 /* suspended on X1, X5 */ +COQC tests/test_link_order_import2.v +COQC examples/usage.v «elpi.tests.test_HOAS.70» «elpi.tests.test_HOAS.71» Universe constraints: UNIVERSES: {elpi.tests.test_HOAS.71 elpi.tests.test_HOAS.70} |= @@ -6935,89 +7017,29 @@ WEAK CONSTRAINTS: -[str a] - {c0 c1} : - decl c1 `y` (global (indt «nat»)), decl c0 `x` (global (indt «nat»)) - ?- evar (X0 c0 c1) (global (indt «True»)) (X1 c0 c1) /* suspended on X0, X1 */ -[str x] - {c0 c1} : - decl c1 `y` (global (indt «nat»)), decl c0 `x` (global (indt «nat»)) - ?- evar (X0 c0 c1) (global (indt «True»)) (X1 c0 c1) /* suspended on X0, X1 */ -[trm (app [global (const «Nat.add»), c0, c1])] - {c0 c1} : - decl c1 `y` (global (indt «nat»)), decl c0 `x` (global (indt «nat»)) - ?- evar (X0 c0 c1) (global (indt «True»)) (X1 c0 c1) /* suspended on X0, X1 */ -[trm (app [global (const «Nat.add»), X0 c0 c1, c1])] - {c0 c1} : - decl c1 `y` (global (indt «nat»)), decl c0 `x` (global (indt «nat»)) - ?- evar (X1 c0 c1) (global (indt «True»)) (X2 c0 c1) /* suspended on X1, X2 */ -[trm (app [global (const «Nat.add»), X0 c0 c1, c1])] - {c0 c1} : - decl c1 `y` (global (indt «nat»)), decl c0 `x` (global (indt «nat»)) - ?- evar (X1 c0 c1) (global (indt «True»)) (X2 c0 c1) /* suspended on X1, X2 */ -[trm c0] - {c0 c1} : - decl c1 `y` (global (indt «nat»)), decl c0 `x` (global (indt «nat»)) - ?- evar (X0 c0 c1) (global (indt «True»)) (X1 c0 c1) /* suspended on X0, X1 */ +File "./tests/test_vernacular2.v", line 9, characters 2-17: +Warning: This command does not support this attribute: fwd_compat_attr. +[unsupported-attributes,parsing,default] +File "./tests/test_vernacular2.v", line 10, characters 2-17: +Warning: This command does not support this attribute: fwd_compat_attr. +[unsupported-attributes,parsing,default] +COQC tests/test_libobject_C.v Query assignments: +COQC tests/test_link_order_import3.v 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»)], + app [global (indt «eq»), global (indt «nat»), c0, c0], global (indc «O»), global (const «p»)] TY = app [global (indt «ex»), global (indt «nat»), - fun `n` (global (indt «nat»)) c0 \ - app [global (indt «eq»), global (indt «nat»), c0, global (indc «O»)]] - _uvk_174_ = X0 - _uvk_175_ = c0 \ -X1 c0 - _uvk_176_ = X2 - _uvk_177_ = X3 -Universe constraints: -UNIVERSES: - {elpi.tests.test_elaborator.58 elpi.tests.test_elaborator.57 - elpi.tests.test_elaborator.56 elpi.tests.test_elaborator.55} |= - Set <= elpi.tests.test_elaborator.55 - elpi.tests.test_elaborator.55 <= elpi.tests.test_elaborator.57 - elpi.tests.test_elaborator.56 <= elpi.tests.test_elaborator.57 - elpi.tests.test_elaborator.57 <= elpi.tests.test_elaborator.58 -ALGEBRAIC UNIVERSES: - {} -UNDEFINED UNIVERSES: - -SORTS: - -WEAK CONSTRAINTS: - - -more : (forall A : Type, A -> tickle A -> tickle A) - : forall A : Type, A -> tickle A -> tickle A -tickle.eqb - : (forall A : Type, (A -> A -> bool) -> tickle A -> tickle A -> bool) - : forall A : Type, (A -> A -> bool) -> tickle A -> tickle A -> bool -tickle.eqb_OK - : (forall (A : Type) (f : A -> A -> bool), - (forall x y : A, reflect (x = y) (f x y)) -> - forall x y : tickle A, reflect (x = y) (tickle.eqb A f x y)) - : forall (A : Type) (f : A -> A -> bool), - (forall x y : A, reflect (x = y) (f x y)) -> - forall x y : tickle A, reflect (x = y) (tickle.eqb A f x y) -tickle.map : (forall A B : Type, (A -> B) -> tickle A -> tickle B) - : forall A B : Type, (A -> B) -> tickle A -> tickle B -tickle.tickle_R - : (forall A B : Type, (A -> B -> Type) -> tickle A -> tickle B -> Type) - : forall A B : Type, (A -> B -> Type) -> tickle A -> tickle B -> Type -COQC tests/test_link_order8.v -Starting module rtree -Declaring inductive -parameter A explicit (sort (typ «elpi.apps.derive.examples.usage.194»)) - c0 \ - inductive rtree tt - (arity (sort (typ «elpi.apps.derive.examples.usage.195»))) c1 \ - [constructor Leaf (arity (prod `_` c0 c2 \ c1)), - constructor Node - (arity (prod `_` (app [global (indt «tickle.tickle»), c1]) c2 \ c1))] + fun `hd_beta_auto` (global (indt «nat»)) c0 \ + app [global (indt «eq»), global (indt «nat»), c0, c0]] + _uvk_164_ = X0 + _uvk_165_ = X1 +[attribute elpi.loc + (leaf-loc + File "./tests/test_tactic.v", line 300, column 10, character 6470:)] «elpi.tests.test_HOAS.72» «» Universe constraints: UNIVERSES: {elpi.tests.test_HOAS.72} |= @@ -7060,303 +7082,18 @@ WEAK CONSTRAINTS: -Deriving -Derivation map on indt «rtree» -Derivation map on indt «rtree» took 0.004764 -Derivation lens on indt «rtree» -Derivation lens on indt «rtree» failed, continuing -Derivation param1 on indt «rtree» -Derivation param1 on indt «rtree» took 0.009951 -Derivation param2 on indt «rtree» -Derivation param2 on indt «rtree» took 0.011667 -Derivation tag on indt «rtree» -Derivation tag on indt «rtree» took 0.002438 -Derivation eqType_ast on indt «rtree» -Derivation eqType_ast on indt «rtree» took 0.001553 -Derivation lens_laws on indt «rtree» -Derivation lens_laws on indt «rtree» took 0.001055 -Derivation param1_congr on indt «rtree» -Derivation param1_congr on indt «rtree» took 0.004475 -Derivation param1_inhab on indt «rtree» -Derivation param1_inhab on indt «rtree» took 0.004412 -Derivation param1_functor on indt «rtree» -Derivation param1_functor on indt «rtree» took 0.004268 -Derivation fields on indt «rtree» -Derivation fields on indt «rtree» took 0.010974 -Derivation param1_trivial on indt «rtree» -COQC tests/test_link_order9.v -Derivation param1_trivial on indt «rtree» took 0.068970 -Derivation induction on indt «rtree» -Derivation induction on indt «rtree» took 0.003106 -Derivation eqb on indt «rtree» -Derivation eqb on indt «rtree» took 0.014162 -Derivation eqbcorrect on indt «rtree» -Derivation eqbcorrect on indt «rtree» took 0.026564 -Derivation eqbOK on indt «rtree» -Derivation eqbOK on indt «rtree» took 0.002586 -Done -rtree.induction - : (forall (A : Type) (PA : A -> Type) (P : rtree A -> Type), - (forall a : A, PA a -> P (Leaf A a)) -> - (forall l : tickle (rtree A), - tickle.is_tickle (rtree A) P l -> P (Node A l)) -> - forall x : rtree A, rtree.is_rtree A PA x -> P x) - : forall (A : Type) (PA : A -> Type) (P : rtree A -> Type), - (forall a : A, PA a -> P (Leaf A a)) -> - (forall l : tickle (rtree A), - tickle.is_tickle (rtree A) P l -> P (Node A l)) -> - forall x : rtree A, rtree.is_rtree A PA x -> P x -Query assignments: - GRF = indt «F» - I1 = «elpi.tests.test_HOAS.73» - I2 = «elpi.tests.test_HOAS.73» - U = «elpi.tests.test_HOAS.73» - UL1 = [«elpi.tests.test_HOAS.73»] -Universe constraints: -UNIVERSES: - {elpi.tests.test_HOAS.73} |= -ALGEBRAIC UNIVERSES: - {elpi.tests.test_HOAS.73} -UNDEFINED UNIVERSES: - elpi.tests.test_HOAS.73 -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»)]] - _uvk_211_ = X0 - _uvk_212_ = c0 \ -X1 c0 - _uvk_213_ = X2 - _uvk_214_ = X3 -Universe constraints: -UNIVERSES: - {elpi.tests.test_elaborator.62 elpi.tests.test_elaborator.61 - elpi.tests.test_elaborator.60 elpi.tests.test_elaborator.59} |= - Set <= elpi.tests.test_elaborator.59 - elpi.tests.test_elaborator.59 <= elpi.tests.test_elaborator.61 - elpi.tests.test_elaborator.60 <= elpi.tests.test_elaborator.61 - elpi.tests.test_elaborator.61 <= elpi.tests.test_elaborator.62 -ALGEBRAIC UNIVERSES: - {} -UNDEFINED UNIVERSES: - -SORTS: - -WEAK CONSTRAINTS: - - -Starting module Box -Declaring inductive -parameter A explicit (sort (typ «elpi.apps.derive.examples.usage.387»)) - c0 \ - record Box (sort (typ «elpi.apps.derive.examples.usage.388»)) Build_Box - (field [coercion off, canonical tt] contents c0 c1 \ - field [coercion off, canonical tt] tag (global (indt «nat»)) c2 \ - end-record) -Deriving -Skipping derivation map on indt «Box» since the user did not select it -Derivation lens on indt «Box» -Derivation lens on indt «Box» took 0.005764 -Skipping derivation param1 on indt «Box» since the user did not select it -Skipping derivation param2 on indt «Box» since the user did not select it -Derivation tag on indt «Box» -File "./examples/usage.v", line 53, characters 0-84: -Warning: Global name tag is taken, using tag1 instead -[elpi.renamed,elpi,default] -Derivation tag on indt «Box» took 0.002735 -Derivation eqType_ast on indt «Box» -Derivation eqType_ast on indt «Box» took 0.001215 -Derivation lens_laws on indt «Box» -Derivation lens_laws on indt «Box» took 0.015327 -Skipping derivation param1_congr on indt «Box» -since the user did not select it -Skipping derivation param1_inhab on indt «Box» -since the user did not select it -Skipping derivation param1_functor on indt «Box» -since the user did not select it -Derivation fields on indt «Box» -Derivation fields on indt «Box» took 0.007354 -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.006640 -Skipping derivation eqbcorrect on indt «Box» -since the user did not select it -Skipping derivation eqbOK on indt «Box» since the user did not select it -Done -Box.eqb : (forall A : Type, (A -> A -> bool) -> Box A -> Box A -> bool) - : forall A : Type, (A -> A -> bool) -> Box A -> Box A -> bool -@Box._tag : (forall A : Type, Lens (Box A) (Box A) nat nat) - : forall A : Type, Lens (Box A) (Box A) nat nat -Box._tag_set_set - : (forall (A : Type) (r : Box A) (y x : nat), - set Box._tag x (set Box._tag y r) = set Box._tag x r) - : forall (A : Type) (r : Box A) (y x : nat), - set Box._tag x (set Box._tag y r) = set Box._tag x r -Box._tag_contents_exchange - : (forall (A : Type) (r : Box A) (x : nat) (y : A), - set Box._tag x (set Box._contents y r) = - set Box._contents y (set Box._tag x r)) - : forall (A : Type) (r : Box A) (x : nat) (y : A), - set Box._tag x (set Box._contents y r) = - set Box._contents y (set Box._tag x r) -nat_eqb_OK : (forall x y : nat, reflect (x = y) (nat_eqb x y)) - : forall x y : nat, reflect (x = y) (nat_eqb x y) -Derivation map on indt «a» -Derivation map on indt «a» took 0.002912 -Derivation lens on indt «a» -Derivation lens on indt «a» failed, continuing -Derivation param1 on indt «a» -Derivation param1 on indt «a» took 0.021104 -Derivation param2 on indt «a» -Derivation param2 on indt «a» took 0.006235 -Derivation tag on indt «a» -Derivation tag on indt «a» took 0.002895 -Derivation eqType_ast on indt «a» -Derivation eqType_ast on indt «a» took 0.001130 -Derivation lens_laws on indt «a» -Derivation lens_laws on indt «a» took 0.000969 -Derivation param1_congr on indt «a» -Derivation param1_congr on indt «a» took 0.001342 -Derivation param1_inhab on indt «a» -Derivation param1_inhab on indt «a» took 0.002982 -Derivation param1_functor on indt «a» -Derivation param1_functor on indt «a» took 0.002638 -Derivation fields on indt «a» -Derivation fields on indt «a» took 0.004994 -Derivation param1_trivial on indt «a» -Derivation param1_trivial on indt «a» took 0.003301 -Derivation induction on indt «a» -Derivation induction on indt «a» took 0.002184 -Derivation eqb on indt «a» -Derivation eqb on indt «a» took 0.004298 -Derivation eqbcorrect on indt «a» -Derivation eqbcorrect on indt «a» took 0.005710 -Derivation eqbOK on indt «a» -Derivation eqbOK on indt «a» took 0.001834 -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.005730 -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.002037 -Derivation eqType_ast on indt «b» -Derivation eqType_ast on indt «b» took 0.001137 -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.002953 -Derivation param1_functor on indt «b» -Derivation param1_functor on indt «b» took 0.002800 -Derivation fields on indt «b» -Derivation fields on indt «b» took 0.005705 -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.002193 -Derivation eqb on indt «b» -Derivation eqb on indt «b» took 0.005022 -Derivation eqbcorrect on indt «b» -Cannot enforce elpi.tests.test_HOAS.74 = elpi.tests.test_HOAS.75 because -elpi.tests.test_HOAS.74 < elpi.tests.test_HOAS.75 -Query assignments: - E = Cannot enforce elpi.tests.test_HOAS.74 = elpi.tests.test_HOAS.75 because -elpi.tests.test_HOAS.74 < elpi.tests.test_HOAS.75 - GRF = indt «F» - I1 = «elpi.tests.test_HOAS.74» - I2 = «elpi.tests.test_HOAS.75» - L1 = «elpi.tests.test_HOAS.74» - L2 = «elpi.tests.test_HOAS.75» - U1 = «elpi.tests.test_HOAS.74» - U2 = «elpi.tests.test_HOAS.75» -Universe constraints: -UNIVERSES: - {elpi.tests.test_HOAS.75 elpi.tests.test_HOAS.74} |= - elpi.tests.test_HOAS.74 < elpi.tests.test_HOAS.75 -ALGEBRAIC UNIVERSES: - {elpi.tests.test_HOAS.75 elpi.tests.test_HOAS.74} -UNDEFINED UNIVERSES: - elpi.tests.test_HOAS.75 - elpi.tests.test_HOAS.74 -SORTS: - -WEAK CONSTRAINTS: - - -Derivation eqbcorrect on indt «b» took 0.006493 -Derivation eqbOK on indt «b» -Derivation eqbOK on indt «b» took 0.001884 -a_eqb - : a -> a -> bool -b_eqb - : b -> b -> bool -COQC examples/readme.v [attribute elpi.loc (leaf-loc - File "./tests/test_tactic.v", line 300, column 10, character 6470:)] -Query assignments: - A = tt - B = 0 - C = 0 - D = sort (typ «Set») - E = [«true», «false»] - F = [global (indt «bool»), global (indt «bool»)] - GR = «bool» -hello [int 1, int 2, trm (global (indt «nat»)), str x] -COQC tests/test_API_new_pred.v -COQC tests/test_link_order_import0.v -Universe constraints: UNIVERSES: - {elpi.tests.test_HOAS.79 elpi.tests.test_HOAS.78} |= - elpi.tests.test_HOAS.78 < elpi.tests.test_HOAS.79 - ALGEBRAIC UNIVERSES: - {elpi.tests.test_HOAS.79 elpi.tests.test_HOAS.78} - UNDEFINED UNIVERSES: - elpi.tests.test_HOAS.79 - elpi.tests.test_HOAS.78 - SORTS: - - WEAK CONSTRAINTS: - - -Query assignments: - GRF = indt «F2» - I1 = «elpi.tests.test_HOAS.78» - I2 = «elpi.tests.test_HOAS.79» - L1 = «elpi.tests.test_HOAS.78» - L2 = «elpi.tests.test_HOAS.79» - U1 = «elpi.tests.test_HOAS.78» - U2 = «elpi.tests.test_HOAS.79» -Universe constraints: -UNIVERSES: - {elpi.tests.test_HOAS.79 elpi.tests.test_HOAS.78} |= - elpi.tests.test_HOAS.78 < elpi.tests.test_HOAS.79 - elpi.tests.test_HOAS.78 <= elpi.tests.test_HOAS.79 -ALGEBRAIC UNIVERSES: - {elpi.tests.test_HOAS.79 elpi.tests.test_HOAS.78} -UNDEFINED UNIVERSES: - elpi.tests.test_HOAS.79 - elpi.tests.test_HOAS.78 -SORTS: - -WEAK CONSTRAINTS: - - -COQC tests/test_vernacular2.v + File "./tests/test_vernacular2.v", line 11, column 24, character 361:), + attribute fwd_compat_attr (leaf-str )] +[attribute elpi.loc + (leaf-loc + File "./tests/test_vernacular2.v", line 12, column 0, character 366:), + attribute fwd_compat_attr (leaf-str )] +global (indc «O») +app + [global (indc «S»), + app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]] Entry binder_constr is [ LEFTA [ "exists2"; "'"; pattern LEVEL "0"; ":"; term LEVEL "200"; ","; term LEVEL @@ -7520,26 +7257,13 @@ skip trm (global (indt «bool»)) nat -> bool -> True : Prop -coq.pp.box (coq.pp.hv 2) - [coq.pp.str Module, coq.pp.spc, coq.pp.str Foo, coq.pp.spc, coq.pp.str :=, - coq.pp.brk 1 0, coq.pp.str body, coq.pp.spc, coq.pp.str End Foo.] -Module - Foo - := - body - End Foo. -fix foo (x : ?e3) (y : ?e4) {struct x} : ?e2 := - match x as x0 return ?e6@{x:=x0} with - | true => S (S (S O)) - | false => y - end -fix foo x y {struct x} := if x as x0 return ?e6@{x:=x0} then 3 else y [attribute elpi.loc (leaf-loc File "./tests/test_tactic.v", line 320, column 12, character 6909:)] [attribute elpi.loc (leaf-loc File "./tests/test_tactic.v", line 320, column 12, character 6909:)] +COQC examples/readme.v [attribute elpi.loc (leaf-loc File "./tests/test_tactic.v", line 324, column 30, character 7010:)] @@ -7548,88 +7272,330 @@ File "./tests/test_tactic.v", line 324, column 30, character 7010:)] [attribute elpi.loc (leaf-loc File "./tests/test_tactic.v", line 332, column 7, character 7186:)] -COQC tests/test_ltac2.v [attribute elpi.loc (leaf-loc File "./tests/test_tactic.v", line 332, column 7, character 7186:)] -COQC tests/test_libobject_B.v +more : (forall A : Type, A -> tickle A -> tickle A) + : forall A : Type, A -> tickle A -> tickle A +tickle.eqb + : (forall A : Type, (A -> A -> bool) -> tickle A -> tickle A -> bool) + : forall A : Type, (A -> A -> bool) -> tickle A -> tickle A -> bool +tickle.eqb_OK + : (forall (A : Type) (f : A -> A -> bool), + (forall x y : A, reflect (x = y) (f x y)) -> + forall x y : tickle A, reflect (x = y) (tickle.eqb A f x y)) + : forall (A : Type) (f : A -> A -> bool), + (forall x y : A, reflect (x = y) (f x y)) -> + forall x y : tickle A, reflect (x = y) (tickle.eqb A f x y) +tickle.map : (forall A B : Type, (A -> B) -> tickle A -> tickle B) + : forall A B : Type, (A -> B) -> tickle A -> tickle B +tickle.tickle_R + : (forall A B : Type, (A -> B -> Type) -> tickle A -> tickle B -> Type) + : forall A B : Type, (A -> B -> Type) -> tickle A -> tickle B -> Type Query assignments: - F = app [global (const «nat_of_bool»), global (indc «true»)] -Universe constraints: UNIVERSES: - {elpi.tests.test_HOAS.81 elpi.tests.test_HOAS.80} |= - elpi.tests.test_HOAS.80 < elpi.tests.test_HOAS.81 - ALGEBRAIC UNIVERSES: - {elpi.tests.test_HOAS.81} - UNDEFINED UNIVERSES: - elpi.tests.test_HOAS.81 - elpi.tests.test_HOAS.80 - SORTS: - - WEAK CONSTRAINTS: - - -Cannot enforce elpi.tests.test_HOAS.81 = elpi.tests.test_HOAS.80 because -elpi.tests.test_HOAS.80 < elpi.tests.test_HOAS.81 + R = app + [global (indc «ex_intro»), global (indt «nat»), + fun `hd_beta_auto` (global (indt «nat»)) c0 \ + app [global (indt «eq»), global (indt «nat»), c0, global (indc «O»)], + global (indc «O»), global (const «p»)] + TY = app + [global (indt «ex»), global (indt «nat»), + fun `n` (global (indt «nat»)) c0 \ + app [global (indt «eq»), global (indt «nat»), c0, global (indc «O»)]] + _uvk_174_ = X0 + _uvk_175_ = c0 \ +X1 c0 + _uvk_176_ = X2 + _uvk_177_ = X3 +Universe constraints: +UNIVERSES: + {elpi.tests.test_elaborator.58 elpi.tests.test_elaborator.57 + elpi.tests.test_elaborator.56 elpi.tests.test_elaborator.55} |= + Set <= elpi.tests.test_elaborator.55 + elpi.tests.test_elaborator.55 <= elpi.tests.test_elaborator.57 + elpi.tests.test_elaborator.56 <= elpi.tests.test_elaborator.57 + elpi.tests.test_elaborator.57 <= elpi.tests.test_elaborator.58 +ALGEBRAIC UNIVERSES: + {} +UNDEFINED UNIVERSES: + +SORTS: + +WEAK CONSTRAINTS: + + +Starting module rtree +Declaring inductive +parameter A explicit (sort (typ «elpi.apps.derive.examples.usage.194»)) + c0 \ + inductive rtree tt + (arity (sort (typ «elpi.apps.derive.examples.usage.195»))) c1 \ + [constructor Leaf (arity (prod `_` c0 c2 \ c1)), + constructor Node + (arity (prod `_` (app [global (indt «tickle.tickle»), c1]) c2 \ c1))] +Query q X0 +Deriving +Derivation map on indt «rtree» +Derivation map on indt «rtree» took 0.008224 +Query r X0 +Result r 1 +Derivation lens on indt «rtree» +Derivation lens on indt «rtree» failed, continuing +Derivation param1 on indt «rtree» +Derivation param1 on indt «rtree» took 0.021240 +Derivation param2 on indt «rtree» +Derivation param2 on indt «rtree» took 0.022536 +Derivation tag on indt «rtree» +Derivation tag on indt «rtree» took 0.002158 +Derivation eqType_ast on indt «rtree» +Derivation eqType_ast on indt «rtree» took 0.001184 +Derivation lens_laws on indt «rtree» +Derivation lens_laws on indt «rtree» took 0.000981 +Derivation param1_congr on indt «rtree» +Derivation param1_congr on indt «rtree» took 0.003870 +Derivation param1_inhab on indt «rtree» +Derivation param1_inhab on indt «rtree» took 0.003546 +Derivation param1_functor on indt «rtree» +Derivation param1_functor on indt «rtree» took 0.003559 +Derivation fields on indt «rtree» +Derivation fields on indt «rtree» took 0.025881 Query assignments: - E = Cannot enforce elpi.tests.test_HOAS.81 = elpi.tests.test_HOAS.80 because -elpi.tests.test_HOAS.80 < elpi.tests.test_HOAS.81 +Derivation param1_trivial on indt «rtree» GRF = indt «F» - I1 = «elpi.tests.test_HOAS.80» - I2 = «elpi.tests.test_HOAS.81» - L1 = «elpi.tests.test_HOAS.80» - L2 = «elpi.tests.test_HOAS.81» - U1 = «elpi.tests.test_HOAS.80» - U2 = «elpi.tests.test_HOAS.81» + I1 = «elpi.tests.test_HOAS.73» + I2 = «elpi.tests.test_HOAS.73» + U = «elpi.tests.test_HOAS.73» + UL1 = [«elpi.tests.test_HOAS.73»] Universe constraints: UNIVERSES: - {elpi.tests.test_HOAS.81 elpi.tests.test_HOAS.80} |= - elpi.tests.test_HOAS.80 < elpi.tests.test_HOAS.81 + {elpi.tests.test_HOAS.73} |= ALGEBRAIC UNIVERSES: - {elpi.tests.test_HOAS.81} + {elpi.tests.test_HOAS.73} UNDEFINED UNIVERSES: - elpi.tests.test_HOAS.81 - elpi.tests.test_HOAS.80 + elpi.tests.test_HOAS.73 SORTS: WEAK CONSTRAINTS: -test1 -str hello -str x -test1 -too many arguments -File "./tests/test_vernacular2.v", line 6, characters 2-17: -Warning: This command does not support this attribute: fwd_compat_attr. -[unsupported-attributes,parsing,default] -File "./tests/test_vernacular2.v", line 7, characters 2-17: -Warning: This command does not support this attribute: fwd_compat_attr. -[unsupported-attributes,parsing,default] -File "./tests/test_vernacular2.v", line 8, characters 2-17: -Warning: This command does not support this attribute: fwd_compat_attr. -[unsupported-attributes,parsing,default] H goal [] (X0) (global (indt «True»)) X1 [trm (global (const «H»))] +Derivation param1_trivial on indt «rtree» took 0.196942 +Derivation induction on indt «rtree» +Derivation induction on indt «rtree» took 0.002742 +Derivation eqb on indt «rtree» goal [] (X0) (global (indt «True»)) X1 [trm (app [global (indt «eq»), global (indt «True»), global (const «H»), global (const «H»)])] goal [] (X0) (global (indt «True»)) X1 [trm (global (const «H»))] -it = elpi_subproof - : True -it : True +Derivation eqb on indt «rtree» took 0.025880 +Derivation eqbcorrect on indt «rtree» +Derivation eqbcorrect on indt «rtree» took 0.070066 +Derivation eqbOK on indt «rtree» +Derivation eqbOK on indt «rtree» took 0.002251 +Done +rtree.induction + : (forall (A : Type) (PA : A -> Type) (P : rtree A -> Type), + (forall a : A, PA a -> P (Leaf A a)) -> + (forall l : tickle (rtree A), + tickle.is_tickle (rtree A) P l -> P (Node A l)) -> + forall x : rtree A, rtree.is_rtree A PA x -> P x) + : forall (A : Type) (PA : A -> Type) (P : rtree A -> Type), + (forall a : A, PA a -> P (Leaf A a)) -> + (forall l : tickle (rtree A), + tickle.is_tickle (rtree A) P l -> P (Node A l)) -> + forall x : rtree A, rtree.is_rtree A PA x -> P x +Starting module Box +Declaring inductive +parameter A explicit (sort (typ «elpi.apps.derive.examples.usage.387»)) + c0 \ + record Box (sort (typ «elpi.apps.derive.examples.usage.388»)) Build_Box + (field [coercion off, canonical tt] contents c0 c1 \ + field [coercion off, canonical tt] tag (global (indt «nat»)) c2 \ + end-record) +Deriving +Skipping derivation map on indt «Box» since the user did not select it +Derivation lens on indt «Box» +Derivation lens on indt «Box» took 0.005108 +Skipping derivation param1 on indt «Box» since the user did not select it +Skipping derivation param2 on indt «Box» since the user did not select it +Derivation tag on indt «Box» +File "./examples/usage.v", line 53, characters 0-84: +Warning: Global name tag is taken, using tag1 instead +[elpi.renamed,elpi,default] +Derivation tag on indt «Box» took 0.002405 +Derivation eqType_ast on indt «Box» +Derivation eqType_ast on indt «Box» took 0.001186 +Derivation lens_laws on indt «Box» +Derivation lens_laws on indt «Box» took 0.034707 +Skipping derivation param1_congr on indt «Box» +since the user did not select it +Skipping derivation param1_inhab on indt «Box» +since the user did not select it +Skipping derivation param1_functor on indt «Box» +since the user did not select it +Derivation fields on indt «Box» +Derivation fields on indt «Box» took 0.006565 +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.013795 +Skipping derivation eqbcorrect on indt «Box» +since the user did not select it +Skipping derivation eqbOK on indt «Box» since the user did not select it +Done +Box.eqb : (forall A : Type, (A -> A -> bool) -> Box A -> Box A -> bool) + : forall A : Type, (A -> A -> bool) -> Box A -> Box A -> bool +@Box._tag : (forall A : Type, Lens (Box A) (Box A) nat nat) + : forall A : Type, Lens (Box A) (Box A) nat nat +Box._tag_set_set + : (forall (A : Type) (r : Box A) (y x : nat), + set Box._tag x (set Box._tag y r) = set Box._tag x r) + : forall (A : Type) (r : Box A) (y x : nat), + set Box._tag x (set Box._tag y r) = set Box._tag x r +Box._tag_contents_exchange + : (forall (A : Type) (r : Box A) (x : nat) (y : A), + set Box._tag x (set Box._contents y r) = + set Box._contents y (set Box._tag x r)) + : forall (A : Type) (r : Box A) (x : nat) (y : A), + set Box._tag x (set Box._contents y r) = + set Box._contents y (set Box._tag x r) +Query assignments: + R = app + [global (indc «ex_intro»), global (indt «nat»), + fun `n` (global (indt «nat»)) c0 \ + app [global (indt «eq»), global (indt «nat»), c0, global (indc «O»)], + global (indc «O»), global (const «p»)] + TY = app + [global (indt «ex»), global (indt «nat»), + fun `n` (global (indt «nat»)) c0 \ + app [global (indt «eq»), global (indt «nat»), c0, global (indc «O»)]] + _uvk_211_ = X0 + _uvk_212_ = c0 \ +X1 c0 + _uvk_213_ = X2 + _uvk_214_ = X3 +Universe constraints: +UNIVERSES: + {elpi.tests.test_elaborator.62 elpi.tests.test_elaborator.61 + elpi.tests.test_elaborator.60 elpi.tests.test_elaborator.59} |= + Set <= elpi.tests.test_elaborator.59 + elpi.tests.test_elaborator.59 <= elpi.tests.test_elaborator.61 + elpi.tests.test_elaborator.60 <= elpi.tests.test_elaborator.61 + elpi.tests.test_elaborator.61 <= elpi.tests.test_elaborator.62 +ALGEBRAIC UNIVERSES: + {} +UNDEFINED UNIVERSES: + +SORTS: + +WEAK CONSTRAINTS: + -it is not universe polymorphic -it is transparent -Expands to: Constant elpi.tests.test_ltac.it -elpi_subproof = I - : True -elpi_subproof : True +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» +Cannot enforce elpi.tests.test_HOAS.74 = elpi.tests.test_HOAS.75 because +elpi.tests.test_HOAS.74 < elpi.tests.test_HOAS.75 +Query assignments: + E = Cannot enforce elpi.tests.test_HOAS.74 = elpi.tests.test_HOAS.75 because +elpi.tests.test_HOAS.74 < elpi.tests.test_HOAS.75 + GRF = indt «F» + I1 = «elpi.tests.test_HOAS.74» + I2 = «elpi.tests.test_HOAS.75» + L1 = «elpi.tests.test_HOAS.74» + L2 = «elpi.tests.test_HOAS.75» + U1 = «elpi.tests.test_HOAS.74» + U2 = «elpi.tests.test_HOAS.75» +Universe constraints: +UNIVERSES: + {elpi.tests.test_HOAS.75 elpi.tests.test_HOAS.74} |= + elpi.tests.test_HOAS.74 < elpi.tests.test_HOAS.75 +ALGEBRAIC UNIVERSES: + {elpi.tests.test_HOAS.75 elpi.tests.test_HOAS.74} +UNDEFINED UNIVERSES: + elpi.tests.test_HOAS.75 + elpi.tests.test_HOAS.74 +SORTS: + +WEAK CONSTRAINTS: + -elpi_subproof is not universe polymorphic -elpi_subproof is opaque -Expands to: Constant elpi.tests.test_ltac.elpi_subproof -Closed under the global context +Derivation map on indt «a» took 0.002846 +Derivation lens on indt «a» +Derivation lens on indt «a» failed, continuing +Derivation param1 on indt «a» +[foo (const «X»), foo (indt «nat»), foo (indt «bool»)] +Derivation param1 on indt «a» took 0.050398 +Derivation param2 on indt «a» +[foo (indt «nat»), foo (indt «bool»)] +Derivation param2 on indt «a» took 0.005374 +[] +Derivation tag on indt «a» +Derivation tag on indt «a» took 0.001856 +Derivation eqType_ast on indt «a» +Derivation eqType_ast on indt «a» took 0.000996 +Derivation lens_laws on indt «a» +[foo (indt «nat»)] +Derivation lens_laws on indt «a» took 0.001013 +Derivation param1_congr on indt «a» +Derivation param1_congr on indt «a» took 0.001353 +Derivation param1_inhab on indt «a» +Derivation param1_inhab on indt «a» took 0.002530 +Derivation param1_functor on indt «a» +Derivation param1_functor on indt «a» took 0.002534 +Derivation fields on indt «a» +Derivation fields on indt «a» took 0.008551 +Derivation param1_trivial on indt «a» +Derivation param1_trivial on indt «a» took 0.010940 +Derivation induction on indt «a» +Derivation induction on indt «a» took 0.001924 +Derivation eqb on indt «a» +Derivation eqb on indt «a» took 0.003990 +Derivation eqbcorrect on indt «a» +Derivation eqbcorrect on indt «a» took 0.005369 +Derivation eqbOK on indt «a» +Derivation eqbOK on indt «a» took 0.001689 +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.013761 +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.001931 +Derivation eqType_ast on indt «b» +Derivation eqType_ast on indt «b» took 0.001168 +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.002534 +Derivation param1_functor on indt «b» +Derivation param1_functor on indt «b» took 0.002470 +Derivation fields on indt «b» +Derivation fields on indt «b» took 0.005018 +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.002032 +Derivation eqb on indt «b» +Derivation eqb on indt «b» took 0.004668 +Derivation eqbcorrect on indt «b» +Derivation eqbcorrect on indt «b» took 0.006042 +Derivation eqbOK on indt «b» +Derivation eqbOK on indt «b» took 0.001612 +a_eqb + : a -> a -> bool +b_eqb + : b -> b -> bool +COQC tests/test_projK.v +COQC tests/test_derive.v +COQC tests/test_eq.v +COQC tests/test_isK.v +COQC tests/test_param1.v Inductive peano : Set := Zero : peano | Succ : peano -> peano. = false : bool @@ -7640,19 +7606,103 @@ 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.005402 +Derivation param1 on const «Nat.add» took 0.005247 Derivation param2 on const «Nat.add» -Derivation param2 on const «Nat.add» took 0.006328 +Derivation param2 on const «Nat.add» took 0.005854 +Query assignments: Derivation eqb-alias on const «Nat.add» Derivation eqb-alias on const «Nat.add» failed, continuing Derivation eqbcorrect-alias on const «Nat.add» Derivation eqbcorrect-alias on const «Nat.add» failed, continuing Derivation eqbOK-alias on const «Nat.add» + A = tt + B = 0 + C = 0 + D = sort (typ «Set») + E = [«true», «false»] + F = [global (indt «bool»), global (indt «bool»)] + GR = «bool» Derivation eqbOK-alias on const «Nat.add» failed, continuing is_add : forall n : nat, is_nat n -> forall m : nat, is_nat m -> is_nat (n + m) +COQC tests/test_map.v +Universe constraints: UNIVERSES: + {elpi.tests.test_HOAS.79 elpi.tests.test_HOAS.78} |= + elpi.tests.test_HOAS.78 < elpi.tests.test_HOAS.79 + ALGEBRAIC UNIVERSES: + {elpi.tests.test_HOAS.79 elpi.tests.test_HOAS.78} + UNDEFINED UNIVERSES: + elpi.tests.test_HOAS.79 + elpi.tests.test_HOAS.78 + SORTS: + + WEAK CONSTRAINTS: + + Query assignments: - GR = indt «nat» + GRF = indt «F2» + I1 = «elpi.tests.test_HOAS.78» + I2 = «elpi.tests.test_HOAS.79» + L1 = «elpi.tests.test_HOAS.78» + L2 = «elpi.tests.test_HOAS.79» + U1 = «elpi.tests.test_HOAS.78» + U2 = «elpi.tests.test_HOAS.79» +Universe constraints: +UNIVERSES: + {elpi.tests.test_HOAS.79 elpi.tests.test_HOAS.78} |= + elpi.tests.test_HOAS.78 < elpi.tests.test_HOAS.79 + elpi.tests.test_HOAS.78 <= elpi.tests.test_HOAS.79 +ALGEBRAIC UNIVERSES: + {elpi.tests.test_HOAS.79 elpi.tests.test_HOAS.78} +UNDEFINED UNIVERSES: + elpi.tests.test_HOAS.79 + elpi.tests.test_HOAS.78 +SORTS: + +WEAK CONSTRAINTS: + + +Query assignments: + F = app [global (const «nat_of_bool»), global (indc «true»)] +Universe constraints: UNIVERSES: + {elpi.tests.test_HOAS.81 elpi.tests.test_HOAS.80} |= + elpi.tests.test_HOAS.80 < elpi.tests.test_HOAS.81 + ALGEBRAIC UNIVERSES: + {elpi.tests.test_HOAS.81} + UNDEFINED UNIVERSES: + elpi.tests.test_HOAS.81 + elpi.tests.test_HOAS.80 + SORTS: + + WEAK CONSTRAINTS: + + +Cannot enforce elpi.tests.test_HOAS.81 = elpi.tests.test_HOAS.80 because +elpi.tests.test_HOAS.80 < elpi.tests.test_HOAS.81 +Query assignments: + E = Cannot enforce elpi.tests.test_HOAS.81 = elpi.tests.test_HOAS.80 because +elpi.tests.test_HOAS.80 < elpi.tests.test_HOAS.81 + GRF = indt «F» + I1 = «elpi.tests.test_HOAS.80» + I2 = «elpi.tests.test_HOAS.81» + L1 = «elpi.tests.test_HOAS.80» + L2 = «elpi.tests.test_HOAS.81» + U1 = «elpi.tests.test_HOAS.80» + U2 = «elpi.tests.test_HOAS.81» +Universe constraints: +UNIVERSES: + {elpi.tests.test_HOAS.81 elpi.tests.test_HOAS.80} |= + elpi.tests.test_HOAS.80 < elpi.tests.test_HOAS.81 +ALGEBRAIC UNIVERSES: + {elpi.tests.test_HOAS.81} +UNDEFINED UNIVERSES: + elpi.tests.test_HOAS.81 + elpi.tests.test_HOAS.80 +SORTS: + +WEAK CONSTRAINTS: + + c0 \ app [global (const «nat_of_bool»), c0] Query assignments: Res = app @@ -7664,15 +7714,8 @@ app [global (indc «nil»), global (indt «bool»)]]] _uvk_238_ = X0 _uvk_239_ = X1 -COQC tests/test_link_order_import1.v -COQC tests/test_projK.v -File "./tests/test_vernacular2.v", line 9, characters 2-17: -Warning: This command does not support this attribute: fwd_compat_attr. -[unsupported-attributes,parsing,default] -File "./tests/test_vernacular2.v", line 10, characters 2-17: -Warning: This command does not support this attribute: fwd_compat_attr. -[unsupported-attributes,parsing,default] -COQC tests/test_link_order_import2.v +Query assignments: + GR = indt «nat» Query assignments: GR = const «Ranalysis5.derivable_pt_lim_CVU» S = {{ Field_theory.AF_1_neq_0; Field_theory.AF_AR; Field_theory.AFdiv_def; @@ -9086,7 +9129,51 @@ Ring_polynom.PEpow; RMicromega.CInv; Field_theory.FEdiv; Tauto.EQ; RMicromega.COpp; Field_theory.FEpow; }} Spilled_1 = 3373 - T = 1.363550 + T = 3.198971 +Query assignments: + Res = app + [global (const «Z_of_nat»), + app [global (const «nat_of_bool»), global (indc «true»)]] +empty_map : map empty + : map empty +unit_map : map unit + : map unit +peano_map : map peano + : map peano +option_map : map1 option + : map1 option +pair_map +: +forall A B : Type, +(A -> B) -> forall C D : Type, (C -> D) -> pair A C -> pair B D + : forall A B : Type, + (A -> B) -> forall C D : Type, (C -> D) -> pair A C -> pair B D +seq_map : map1 seq + : map1 seq +rose_map : map1 rose + : map1 rose +hello [int 1, int 2, trm (global (indt «nat»)), str x] +vect_map +: +forall A B : Type, (A -> B) -> forall i : peano, vect A i -> vect B i + : forall A B : Type, (A -> B) -> forall i : peano, vect A i -> vect B i +dyn_map : map dyn + : map dyn +zeta_map : map1 zeta + : map1 zeta +iota_map : map iota + : map iota +large_map : map large + : map large +prim_int_map : map prim_int + : map prim_int +prim_float_map : map prim_float + : map prim_float +pa_record_map : map1 pa_record + : map1 pa_record +pr_record_map : map1 pr_record + : map1 pr_record +COQC tests/test_lens_laws.v Query assignments: GR = indt «F» I = «elpi.tests.test_HOAS.82» @@ -9102,23 +9189,6 @@ WEAK CONSTRAINTS: -[attribute elpi.loc - (leaf-loc - File "./tests/test_vernacular2.v", line 11, column 24, character 361:), - attribute fwd_compat_attr (leaf-str )] -[attribute elpi.loc - (leaf-loc - File "./tests/test_vernacular2.v", line 12, column 0, character 366:), - attribute fwd_compat_attr (leaf-str )] -Query assignments: - Res = app - [global (const «Z_of_nat»), - app [global (const «nat_of_bool»), global (indc «true»)]] -COQC tests/test_API2.v -Query q X0 -Query r X0 -Result r 1 -COQC tests/test_libobject_C.v Query assignments: S = {{ Nat.add; eq; nat; O; }} Spilled_1 = 4 @@ -9128,8 +9198,6 @@ app [global (const «Nat.add»), c0, global (indc «O»)], c0] _uvk_18_ = c0 \ X0 c0 -Query assignments: - GR = indt «F» 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»)) @@ -9146,14 +9214,6 @@ WEAK CONSTRAINTS: -COQC tests/test_derive.v -COQC tests/test_eq.v -global (indc «O») -COQC tests/test_link_order_import3.v -app - [global (indc «S»), - app [global (indc «S»), app [global (indc «S»), global (indc «O»)]]] -COQC tests/test_isK.v c0 \ app [global (const «Z_of_nat»), app [global (const «nat_of_bool»), c0]] Query assignments: @@ -9167,27 +9227,115 @@ app [global (indc «nil»), global (indt «bool»)]]] _uvk_274_ = X0 _uvk_275_ = X1 -pglobal (indt «F») «elpi.tests.test_HOAS.84» -«elpi.tests.test_HOAS.84» -pglobal (indc «Build_F») «elpi.tests.test_HOAS.84» +coq.pp.box (coq.pp.hv 2) + [coq.pp.str Module, coq.pp.spc, coq.pp.str Foo, coq.pp.spc, coq.pp.str :=, + coq.pp.brk 1 0, coq.pp.str body, coq.pp.spc, coq.pp.str End Foo.] +Module + Foo + := + body + End Foo. +fix foo (x : ?e3) (y : ?e4) {struct x} : ?e2 := + match x as x0 return ?e6@{x:=x0} with + | true => S (S (S O)) + | false => y + end +fix foo x y {struct x} := if x as x0 return ?e6@{x:=x0} then 3 else y +empty_eq : eq_test empty + : eq_test empty +unit_eq : eq_test unit + : eq_test unit +peano_eq : eq_test peano + : eq_test peano +option_eq : forall A : Type, eq_test A -> eq_test (option A) + : forall A : Type, eq_test A -> eq_test (option A) +pair_eq +: +forall A : Type, +eq_test A -> forall B : Type, eq_test B -> eq_test (pair A B) + : forall A : Type, + eq_test A -> forall B : Type, eq_test B -> eq_test (pair A B) +seq_eq : forall A : Type, eq_test A -> eq_test (seq A) + : forall A : Type, eq_test A -> eq_test (seq A) +rose_eq : forall A : Type, eq_test A -> eq_test (rose A) + : forall A : Type, eq_test A -> eq_test (rose A) +vect_eq : forall A : Type, eq_test A -> forall i : peano, eq_test (vect A i) + : forall A : Type, eq_test A -> forall i : peano, eq_test (vect A i) +zeta_eq : forall A : Type, eq_test A -> eq_test (zeta A) + : forall A : Type, eq_test A -> eq_test (zeta A) +beta_eq : forall A : Type, eq_test A -> eq_test (beta A) + : forall A : Type, eq_test A -> eq_test (beta A) +large_eq : eq_test large + : eq_test large +COQC tests/test_API2.v +prim_int_eq : eq_test prim_int + : eq_test prim_int +prim_float_eq : eq_test prim_float + : eq_test prim_float +fo_record_eq : eq_test fo_record + : eq_test fo_record +pa_record_eq : forall A : Type, eq_test A -> eq_test (pa_record A) + : forall A : Type, eq_test A -> eq_test (pa_record A) +pr_record_eq : forall A : Type, eq_test A -> eq_test (pr_record A) + : forall A : Type, eq_test A -> eq_test (pr_record A) +enum_eq : eq_test enum + : eq_test enum +COQC tests/test_fields.v +is_empty : pred empty + : pred empty +is_unit : pred unit + : pred unit +is_peano : pred peano + : pred peano +is_option : forall A : Type, pred A -> pred (option A) + : forall A : Type, pred A -> pred (option A) +is_pair +: +forall A : Type, pred A -> forall B : Type, pred B -> pred (pair A B) + : forall A : Type, pred A -> forall B : Type, pred B -> pred (pair A B) +is_seq : forall A : Type, pred A -> pred (seq A) + : forall A : Type, pred A -> pred (seq A) +is_rose : forall A : Type, pred A -> pred (rose A) + : forall A : Type, pred A -> pred (rose A) +is_nest : forall A : Type, pred A -> pred (nest A) + : forall A : Type, pred A -> pred (nest A) +is_w : forall A : Type, pred A -> pred (w A) + : forall A : Type, pred A -> pred (w A) +is_vect +: +forall A : Type, pred A -> forall i : peano, is_peano i -> pred (vect A i) + : forall A : Type, + pred A -> forall i : peano, is_peano i -> pred (vect A i) +is_dyn : pred dyn + : pred dyn +is_zeta : forall A : Type, pred A -> pred (zeta A) + : forall A : Type, pred A -> pred (zeta A) +is_beta : forall A : Type, pred A -> pred (beta A) + : forall A : Type, pred A -> pred (beta A) +is_iota : pred iota + : pred iota +is_large : pred large + : pred large +is_prim_int : pred prim_int + : pred prim_int +is_prim_float : pred prim_float + : pred prim_float +is_fo_record : pred fo_record + : pred fo_record +is_pa_record : forall A : Type, pred A -> pred (pa_record A) + : forall A : Type, pred A -> pred (pa_record A) +is_pr_record : forall A : Type, pred A -> pred (pr_record A) + : forall A : Type, pred A -> pred (pr_record A) +is_enum : pred enum + : pred enum +is_ord : forall p : peano, is_peano p -> pred (ord p) + : forall p : peano, is_peano p -> pred (ord p) +is_ord2 : forall p : peano, is_peano p -> pred (ord2 p) + : forall p : peano, is_peano p -> pred (ord2 p) +is_val : pred val + : pred val Query assignments: GR = indt «F» - GR1 = indc «Build_F» - I = «elpi.tests.test_HOAS.84» - Spilled_1 = pglobal (indc «Build_F») «elpi.tests.test_HOAS.84» - Spilled_2 = pglobal (indt «F») «elpi.tests.test_HOAS.84» -Universe constraints: -UNIVERSES: - {elpi.tests.test_HOAS.84} |= -ALGEBRAIC UNIVERSES: - {} -UNDEFINED UNIVERSES: - elpi.tests.test_HOAS.84 -SORTS: - -WEAK CONSTRAINTS: - - Query assignments: Decl = record Rec (sort (typ «elpi.tests.test_API_env.31»)) BuildRec (field [] f (sort (typ «elpi.tests.test_API_env.32»)) c0 \ end-record) @@ -9222,7 +9370,54 @@ Type@{elpi.tests.test_API_env.34} (* {elpi.tests.test_API_env.34 elpi.tests.test_API_env.33} |= elpi.tests.test_API_env.34 < elpi.tests.test_API_env.33 *) -COQC tests/test_param1.v +_f1_view_set : view_set _f1 + : view_set _f1 +_f2_view_set : view_set _f2 + : view_set _f2 +_f3_view_set : forall A : Type, view_set _f3 + : forall A : Type, view_set _f3 +_f4_view_set : forall A : Type, view_set _f4 + : forall A : Type, view_set _f4 +_pf3_view_set : forall A : Type, view_set _pf3 + : forall A : Type, view_set _pf3 +_pf4_view_set : forall A : Type, view_set _pf4 + : forall A : Type, view_set _pf4 +_f1_set_set : set_set _f1 + : set_set _f1 +_f2_set_set : set_set _f2 + : set_set _f2 +_f3_set_set : forall A : Type, set_set _f3 + : forall A : Type, set_set _f3 +_f4_set_set : forall A : Type, set_set _f4 + : forall A : Type, set_set _f4 +_pf3_set_set : forall A : Type, set_set _pf3 + : forall A : Type, set_set _pf3 +_pf4_set_set : forall A : Type, set_set _pf4 + : forall A : Type, set_set _pf4 +_f1_set_view : set_view _f1 + : set_view _f1 +_f2_set_view : set_view _f2 + : set_view _f2 +_f3_set_view : forall A : Type, set_view _f3 + : forall A : Type, set_view _f3 +_f4_set_view : forall A : Type, set_view _f4 + : forall A : Type, set_view _f4 +_pf3_set_view : forall A : Type, set_view _pf3 + : forall A : Type, set_view _pf3 +_pf4_set_view : forall A : Type, set_view _pf4 + : forall A : Type, set_view _pf4 +_f1_f2_exchange : exchange _f1 _f2 + : exchange _f1 _f2 +_f2_f1_exchange : exchange _f2 _f1 + : exchange _f2 _f1 +_f3_f4_exchange : forall A : Type, exchange _f3 _f4 + : forall A : Type, exchange _f3 _f4 +_f4_f3_exchange : forall A : Type, exchange _f4 _f3 + : forall A : Type, exchange _f4 _f3 +_pf3_pf4_exchange : forall A : Type, exchange _pf3 _pf4 + : forall A : Type, exchange _pf3 _pf4 +_pf4_pf3_exchange : forall A : Type, exchange _pf4 _pf3 + : forall A : Type, exchange _pf4 _pf3 Query assignments: R = prod `r` (global (const «ring»)) c0 \ prod `x` (app [global (const «carr»), c0]) c1 \ @@ -9248,7 +9443,86 @@ WEAK CONSTRAINTS: -COQC tests/test_map.v +unit_is_tt : unit -> bool + : unit -> bool +peano_is_Zero : peano -> bool + : peano -> bool +peano_is_Succ : peano -> bool + : peano -> bool +option_is_None : forall A : Type, option A -> bool + : forall A : Type, option A -> bool +option_is_Some : forall A : Type, option A -> bool + : forall A : Type, option A -> bool +pair_is_Comma : forall A B : Type, pair A B -> bool + : forall A B : Type, pair A B -> bool +seq_is_Nil : forall A : Type, seq A -> bool + : forall A : Type, seq A -> bool +seq_is_Cons : forall A : Type, seq A -> bool + : forall A : Type, seq A -> bool +rose_is_Leaf : forall A : Type, rose A -> bool + : forall A : Type, rose A -> bool +rose_is_Node : forall A : Type, rose A -> bool + : forall A : Type, rose A -> bool +nest_is_NilN : forall A : Type, nest A -> bool + : forall A : Type, nest A -> bool +nest_is_ConsN : forall A : Type, nest A -> bool + : forall A : Type, nest A -> bool +w_is_via : forall A : Type, w A -> bool + : forall A : Type, w A -> bool +vect_is_VNil : forall (A : Type) (i : peano), vect A i -> bool + : forall (A : Type) (i : peano), vect A i -> bool +vect_is_VCons : forall (A : Type) (i : peano), vect A i -> bool + : forall (A : Type) (i : peano), vect A i -> bool +dyn_is_box : dyn -> bool + : dyn -> bool +zeta_is_Envelope : forall A : Type, zeta A -> bool + : forall A : Type, zeta A -> bool +beta_is_Redex : forall A : Type, beta A -> bool + : forall A : Type, beta A -> bool +iota_is_Why : iota -> bool + : iota -> bool +large_is_K1 + : large -> bool +large_is_K2 + : large -> bool +prim_int_is_PI + : prim_int -> bool +prim_float_is_PF + : prim_float -> bool +fo_record_is_Build_fo_record : fo_record -> bool + : fo_record -> bool +pa_record_is_Build_pa_record : forall A : Type, pa_record A -> bool + : forall A : Type, pa_record A -> bool +pr_record_is_Build_pr_record : forall A : Type, pr_record A -> bool + : forall A : Type, pr_record A -> bool +enum_is_E1 : enum -> bool + : enum -> bool +pglobal (indt «F») «elpi.tests.test_HOAS.84» +«elpi.tests.test_HOAS.84» +pglobal (indc «Build_F») «elpi.tests.test_HOAS.84» +Query assignments: + GR = indt «F» + GR1 = indc «Build_F» + I = «elpi.tests.test_HOAS.84» + Spilled_1 = pglobal (indc «Build_F») «elpi.tests.test_HOAS.84» + Spilled_2 = pglobal (indt «F») «elpi.tests.test_HOAS.84» +Universe constraints: +UNIVERSES: + {elpi.tests.test_HOAS.84} |= +ALGEBRAIC UNIVERSES: + {} +UNDEFINED UNIVERSES: + elpi.tests.test_HOAS.84 +SORTS: + +WEAK CONSTRAINTS: + + +Query assignments: + LP = «Coq.ZArith.Znat» + MP = «Coq.ZArith.Znat.N2Z» +Query assignments: + Y = global (indc «is_O») «elpi.tests.test_HOAS.85 elpi.tests.test_HOAS.85» Query assignments: I = «elpi.tests.test_HOAS.85 elpi.tests.test_HOAS.85» @@ -9266,9 +9540,44 @@ Query assignments: - LP = «Coq.ZArith.Znat» - MP = «Coq.ZArith.Znat.N2Z» -COQC tests/test_lens_laws.v + Y = app + [global (indc «is_S»), app [global (indc «S»), global (indc «O»)], + app [global (indc «is_S»), global (indc «O»), global (indc «is_O»)]] +Query assignments: + T = global (const «int») + X = primitive (uint63 99) +is_pred = +fun (n : nat) (Pn : is_nat n) => +match + Pn in (is_nat n0) return (is_nat match n0 with + | 0 => n + | S u => u + end) +with +| is_O => Pn +| is_S _ Pu => Pu +end + : forall n : nat, is_nat n -> is_nat (Nat.pred n) + +Arguments is_pred n%nat_scope Pn +is_pred : is_nat2nat Nat.pred + : is_nat2nat Nat.pred +is_predn : is_nat2nat predn + : is_nat2nat predn +is_add : is_nat2nat2nat Nat.add + : is_nat2nat2nat Nat.add +Inductive is_bla : forall H : nat, is_nat H -> bla H -> Type := + is_Bla : forall H : nat, is_nat H -> is_bla 0 is_O (Bla H) + | is_Blu : forall (n : nat) (Pn : is_nat n) (H : bla n), + is_bla n Pn H -> is_bla 1 (is_S 0 is_O) (Blu n H). + +Arguments is_bla _%nat_scope P_ s1 +Arguments is_Bla _%nat_scope P_ +Arguments is_Blu n%nat_scope Pn _ P_ +Query assignments: + X1 = «x1» + X2 = «x2» + X3 = «x3» Universe constraints: ------------------ Universe constraints: UNIVERSES: @@ -9330,9 +9639,157 @@ (* {elpi.tests.test_HOAS.88} |= Set < elpi.tests.test_HOAS.88 *) Box not a defined object. Query assignments: - X1 = «x1» - X2 = «x2» - X3 = «x3» + M = [[mode-ground], [mode-input]] +Query assignments: + PDb = [tc-instance (const «reali_is_fin_length») 0, + tc-instance (const «reali_is_vec_length») 0, + tc-instance (const «reali_is_predn») 0, + tc-instance (const «reali_is_plus'») 0, + tc-instance (const «reali_is_nat_S») 0, + tc-instance (const «reali_is_nat_O») 0, + tc-instance (const «reali_is_prim_float») 0, + tc-instance (const «reali_is_prim_float_PF») 0, + tc-instance (const «reali_is_nest_ConsN») 0, + tc-instance (const «reali_is_w_via») 0, + tc-instance (const «reali_is_val_V») 0, + tc-instance (const «reali_is_peano») 0, + tc-instance (const «reali_is_large») 0, + tc-instance (const «reali_is_empty») 0, + tc-instance (const «reali_is_iota_Why») 0, + tc-instance (const «reali_is_nat2nat2nat») 0, + tc-instance (const «reali_is_unit_tt») 0, + tc-instance (const «reali_is_nest_NilN») 0, + tc-instance (const «reali_is_prim_int») 0, + tc-instance (const «reali_is_vect_VCons») 0, + tc-instance (const «reali_is_large_K26») 0, + tc-instance (const «reali_is_large_K25») 0, + tc-instance (const «reali_is_large_K24») 0, + tc-instance (const «reali_is_large_K23») 0, + tc-instance (const «reali_is_large_K22») 0, + tc-instance (const «reali_is_large_K21») 0, + tc-instance (const «reali_is_large_K20») 0, + tc-instance (const «reali_is_large_K19») 0, + tc-instance (const «reali_is_large_K18») 0, + tc-instance (const «reali_is_large_K17») 0, + tc-instance (const «reali_is_large_K16») 0, + tc-instance (const «reali_is_large_K15») 0, + tc-instance (const «reali_is_large_K14») 0, + tc-instance (const «reali_is_large_K13») 0, + tc-instance (const «reali_is_large_K12») 0, + tc-instance (const «reali_is_large_K11») 0, + tc-instance (const «reali_is_large_K10») 0, + tc-instance (const «reali_is_eq_eq_refl») 0, + tc-instance (const «Coverage.reali_is_unit_tt») 0, + tc-instance (const «reali_is_large_K9») 0, + tc-instance (const «reali_is_large_K8») 0, + tc-instance (const «reali_is_large_K7») 0, + tc-instance (const «reali_is_large_K6») 0, + tc-instance (const «reali_is_large_K5») 0, + tc-instance (const «reali_is_large_K4») 0, + tc-instance (const «reali_is_large_K3») 0, + tc-instance (const «reali_is_large_K2») 0, + tc-instance (const «reali_is_large_K1») 0, + tc-instance (const «reali_is_seq_Cons») 0, + tc-instance (const «reali_is_ord_mkOrd») 0, + tc-instance (const «reali_is_peano_Zero») 0, + tc-instance (const «reali_is_peano_Succ») 0, + tc-instance (const «reali_is_fo_record») 0, + tc-instance (const «reali_is_vec_vcons») 0, + tc-instance (const «reali_is_quasidn») 0, + tc-instance (const «reali_is_vect_VNil») 0, + tc-instance (const «reali_is_seq_Nil») 0, + tc-instance (const «reali_is_zeta_Envelope») 0, + tc-instance (const «reali_is_list_cons») 0, + tc-instance (const «exports.reali_is_eq») 0, + tc-instance (const «reali_is_beta_Redex») 0, + tc-instance (const «reali_is_unit») 0, + tc-instance (const «reali_is_test») 0, + tc-instance (const «reali_is_prod») 0, + tc-instance (const «reali_is_pred») 0, + tc-instance (const «reali_is_list») 0, + tc-instance (const «reali_is_bool») 0, + tc-instance (const «reali_is_sigma_bool_Build_sigma_bool») 0, + tc-instance (const «reali_is_option_Some») 0, + tc-instance (const «reali_is_option_None») 0, + tc-instance (const «reali_is_box_peano») 0, + tc-instance (const «reali_is_nat2nat») 0, + tc-instance (const «reali_is_sigma_bool») 0, + tc-instance (const «reali_is_zeta») 0, + tc-instance (const «reali_is_vect») 0, + tc-instance (const «Coverage.reali_is_unit») 0, + tc-instance (const «reali_is_rose») 0, + tc-instance (const «reali_is_pair») 0, + tc-instance (const «reali_is_ord2») 0, + tc-instance (const «reali_is_nest») 0, + tc-instance (const «reali_is_iota») 0, + tc-instance (const «reali_is_enum») 0, + tc-instance (const «Coverage.reali_is_bool») 0, + tc-instance (const «reali_is_beta») 0, + tc-instance (const «reali_is_vec_length_type») 0, + tc-instance (const «reali_is_vec_length_rec») 0, + tc-instance (const «reali_is_pr_record») 0, + tc-instance (const «reali_is_rose_Node») 0, + tc-instance (const «reali_is_rose_Leaf») 0, + tc-instance (const «reali_is_rose_p_Nodep») 0, + tc-instance (const «reali_is_rose_p_Leafp») 0, + tc-instance (const «reali_is_eq») 0, + tc-instance (const «reali_is_is_list») 0, + tc-instance (const «reali_is_w») 0, + tc-instance (const «reali_is_vec_vnil») 0, + tc-instance (const «reali_is_dep_record_Build_dep_record») 0, + tc-instance (const «reali_is_pr_record_Build_pr_record») 0, + tc-instance (const «reali_is_rose_o_Nodeo») 0, + tc-instance (const «reali_is_rose_o_Leafo») 0, + tc-instance (const «reali_is_weirdn») 0, + tc-instance (const «reali_is_pair_Comma») 0, + tc-instance (const «reali_is_dep_record») 0, + tc-instance (const «reali_is_is_zero») 0, + tc-instance (const «reali_is_pa_record») 0, + tc-instance (const «reali_is_fin_FS») 0, + tc-instance (const «reali_is_fin_FO») 0, + tc-instance (const «reali_is_bool_true») 0, + tc-instance (const «reali_is_divmod») 0, + tc-instance (const «reali_is_prim_int_PI») 0, + tc-instance (const «reali_is_list_nil») 0, + tc-instance (const «reali_is_vec») 0, + tc-instance (const «reali_is_snd») 0, + tc-instance (const «reali_is_nat») 0, + tc-instance (const «reali_is_fst») 0, + tc-instance (const «reali_is_fin») 0, + tc-instance (const «reali_is_div») 0, + tc-instance (const «reali_is_bla») 0, + tc-instance (const «reali_is_add») 0, + tc-instance (const «reali_is_rose_p») 0, + tc-instance (const «reali_is_rose_o») 0, + tc-instance (const «reali_is_is_list_is_nil») 0, + tc-instance (const «reali_is_option») 0, + tc-instance (const «reali_is_is_leq») 0, + tc-instance (const «reali_is_bool_false») 0, + tc-instance (const «reali_is_prod_pair») 0, + tc-instance (const «Coverage.reali_is_bool_true») 0, + tc-instance (const «reali_is_val») 0, + tc-instance (const «reali_is_seq») 0, + tc-instance (const «reali_is_ord») 0, + tc-instance (const «reali_is_dyn») 0, + tc-instance (const «reali_is_is_list_is_cons») 0, + tc-instance (const «reali_is_fo_record_Build_fo_record») 0, + tc-instance (const «Coverage.reali_is_bool_false») 0, + tc-instance (const «reali_is_enum_E3») 0, + tc-instance (const «reali_is_enum_E2») 0, + tc-instance (const «reali_is_enum_E1») 0, + tc-instance (const «reali_is_dyn_box») 0, + tc-instance (const «exports.reali_is_eq_eq_refl») 0, + tc-instance (const «reali_is_box_peano_Box») 0, + tc-instance (const «reali_is_ord2_mkOrd2») 0, + tc-instance (const «reali_is_bla_Blu») 0, + tc-instance (const «reali_is_bla_Bla») 0, + tc-instance (const «reali_is_pa_record_Build_pa_record») 0] + Spilled_1 = indt «reali_db» +File "./tests/test_param1.v", line 158, characters 0-30: +Warning: Not a truly recursive fixpoint. [non-recursive,fixpoints,default] +Query assignments: + T = global (const «float») + X = primitive (float64 993000) sort (typ «Set») Query assignments: U = «elpi.tests.test_HOAS.89» @@ -9355,321 +9812,10 @@ Arguments tree A%type_scope Arguments leaf A%type_scope _ Arguments node A%type_scope _ _%list_scope -Query assignments: - M = [[mode-ground], [mode-input]] -Query assignments: - T = global (const «int») - X = primitive (uint63 99) -parameter A explicit (sort (typ «elpi.tests.test_HOAS.98»)) c0 \ - inductive tree tt (arity (sort (typ «elpi.tests.test_HOAS.99»))) c1 \ - [constructor leaf (arity (prod `_` c0 c2 \ c1)), - constructor node - (arity - (prod `_` c0 c2 \ prod `_` (app [global (indt «list»), c1]) c3 \ c1))] -Universe constraints: UNIVERSES: - {elpi.tests.test_HOAS.103 elpi.tests.test_HOAS.102 - elpi.tests.test_HOAS.101 elpi.tests.test_HOAS.100 - elpi.tests.test_HOAS.99 elpi.tests.test_HOAS.98} |= - elpi.tests.test_HOAS.98 < elpi.tests.test_HOAS.100 - elpi.tests.test_HOAS.99 < elpi.tests.test_HOAS.101 - Set <= elpi.tests.test_HOAS.99 - Set <= elpi.tests.test_HOAS.103 - elpi.tests.test_HOAS.98 <= list.u0 - elpi.tests.test_HOAS.98 <= elpi.tests.test_HOAS.99 - elpi.tests.test_HOAS.98 <= elpi.tests.test_HOAS.102 - elpi.tests.test_HOAS.98 <= elpi.tests.test_HOAS.103 - elpi.tests.test_HOAS.99 <= list.u0 - elpi.tests.test_HOAS.99 <= elpi.tests.test_HOAS.102 - elpi.tests.test_HOAS.99 <= elpi.tests.test_HOAS.103 - elpi.tests.test_HOAS.102 <= elpi.tests.test_HOAS.99 - elpi.tests.test_HOAS.103 <= elpi.tests.test_HOAS.99 - ALGEBRAIC UNIVERSES: - {elpi.tests.test_HOAS.98} - UNDEFINED UNIVERSES: - elpi.tests.test_HOAS.98 - SORTS: - - WEAK CONSTRAINTS: - - -Query assignments: - D = parameter A explicit (sort (typ «M.tree.u0»)) c0 \ - inductive tree tt (arity (sort (typ «M.tree.u1»))) c1 \ - [constructor leaf (arity (prod `_` c0 c2 \ c1)), - constructor node - (arity - (prod `_` c0 c2 \ prod `_` (app [global (indt «list»), c1]) c3 \ c1))] - I = «tree» - _uvk_66_ = X0 -Universe constraints: -UNIVERSES: - {elpi.tests.test_HOAS.103 elpi.tests.test_HOAS.102 elpi.tests.test_HOAS.101 - elpi.tests.test_HOAS.100} |= - M.tree.u0 < elpi.tests.test_HOAS.100 - M.tree.u1 < elpi.tests.test_HOAS.101 - Set <= M.tree.u1 - Set <= elpi.tests.test_HOAS.103 - M.tree.u0 <= elpi.tests.test_HOAS.102 - M.tree.u0 <= elpi.tests.test_HOAS.103 - M.tree.u1 <= elpi.tests.test_HOAS.102 - M.tree.u1 <= elpi.tests.test_HOAS.103 - elpi.tests.test_HOAS.102 <= M.tree.u1 - elpi.tests.test_HOAS.103 <= M.tree.u1 -ALGEBRAIC UNIVERSES: - {M.tree.u0} -UNDEFINED UNIVERSES: - M.tree.u0 -SORTS: - -WEAK CONSTRAINTS: - - -COQC tests/test_fields.v -empty_map : map empty - : map empty -unit_map : map unit - : map unit -peano_map : map peano - : map peano -option_map : map1 option - : map1 option -pair_map -: -forall A B : Type, -(A -> B) -> forall C D : Type, (C -> D) -> pair A C -> pair B D - : forall A B : Type, - (A -> B) -> forall C D : Type, (C -> D) -> pair A C -> pair B D -seq_map : map1 seq - : map1 seq -rose_map : map1 rose - : map1 rose -empty_eq : eq_test empty - : eq_test empty -unit_eq : eq_test unit - : eq_test unit -peano_eq : eq_test peano - : eq_test peano -option_eq : forall A : Type, eq_test A -> eq_test (option A) - : forall A : Type, eq_test A -> eq_test (option A) -pair_eq -: -forall A : Type, -eq_test A -> forall B : Type, eq_test B -> eq_test (pair A B) - : forall A : Type, - eq_test A -> forall B : Type, eq_test B -> eq_test (pair A B) -seq_eq : forall A : Type, eq_test A -> eq_test (seq A) - : forall A : Type, eq_test A -> eq_test (seq A) -rose_eq : forall A : Type, eq_test A -> eq_test (rose A) - : forall A : Type, eq_test A -> eq_test (rose A) -vect_eq : forall A : Type, eq_test A -> forall i : peano, eq_test (vect A i) - : forall A : Type, eq_test A -> forall i : peano, eq_test (vect A i) -zeta_eq : forall A : Type, eq_test A -> eq_test (zeta A) - : forall A : Type, eq_test A -> eq_test (zeta A) -beta_eq : forall A : Type, eq_test A -> eq_test (beta A) - : forall A : Type, eq_test A -> eq_test (beta A) -large_eq : eq_test large - : eq_test large -prim_int_eq : eq_test prim_int - : eq_test prim_int -prim_float_eq : eq_test prim_float - : eq_test prim_float -fo_record_eq : eq_test fo_record - : eq_test fo_record -pa_record_eq : forall A : Type, eq_test A -> eq_test (pa_record A) - : forall A : Type, eq_test A -> eq_test (pa_record A) -pr_record_eq : forall A : Type, eq_test A -> eq_test (pr_record A) - : forall A : Type, eq_test A -> eq_test (pr_record A) -vect_map -: -forall A B : Type, (A -> B) -> forall i : peano, vect A i -> vect B i - : forall A B : Type, (A -> B) -> forall i : peano, vect A i -> vect B i -enum_eq : eq_test enum - : eq_test enum -dyn_map : map dyn - : map dyn -zeta_map : map1 zeta - : map1 zeta -iota_map : map iota - : map iota -large_map : map large - : map large -prim_int_map : map prim_int - : map prim_int -prim_float_map : map prim_float - : map prim_float -pa_record_map : map1 pa_record - : map1 pa_record -pr_record_map : map1 pr_record - : map1 pr_record -unit_is_tt : unit -> bool - : unit -> bool -peano_is_Zero : peano -> bool - : peano -> bool -peano_is_Succ : peano -> bool - : peano -> bool -option_is_None : forall A : Type, option A -> bool - : forall A : Type, option A -> bool -option_is_Some : forall A : Type, option A -> bool - : forall A : Type, option A -> bool -pair_is_Comma : forall A B : Type, pair A B -> bool - : forall A B : Type, pair A B -> bool -seq_is_Nil : forall A : Type, seq A -> bool - : forall A : Type, seq A -> bool -seq_is_Cons : forall A : Type, seq A -> bool - : forall A : Type, seq A -> bool -rose_is_Leaf : forall A : Type, rose A -> bool - : forall A : Type, rose A -> bool -rose_is_Node : forall A : Type, rose A -> bool - : forall A : Type, rose A -> bool -nest_is_NilN : forall A : Type, nest A -> bool - : forall A : Type, nest A -> bool -nest_is_ConsN : forall A : Type, nest A -> bool - : forall A : Type, nest A -> bool -w_is_via : forall A : Type, w A -> bool - : forall A : Type, w A -> bool -vect_is_VNil : forall (A : Type) (i : peano), vect A i -> bool - : forall (A : Type) (i : peano), vect A i -> bool -vect_is_VCons : forall (A : Type) (i : peano), vect A i -> bool - : forall (A : Type) (i : peano), vect A i -> bool -dyn_is_box : dyn -> bool - : dyn -> bool -zeta_is_Envelope : forall A : Type, zeta A -> bool - : forall A : Type, zeta A -> bool -beta_is_Redex : forall A : Type, beta A -> bool - : forall A : Type, beta A -> bool -iota_is_Why : iota -> bool - : iota -> bool -large_is_K1 - : large -> bool -large_is_K2 - : large -> bool -prim_int_is_PI - : prim_int -> bool -prim_float_is_PF - : prim_float -> bool -fo_record_is_Build_fo_record : fo_record -> bool - : fo_record -> bool -pa_record_is_Build_pa_record : forall A : Type, pa_record A -> bool - : forall A : Type, pa_record A -> bool -pr_record_is_Build_pr_record : forall A : Type, pr_record A -> bool - : forall A : Type, pr_record A -> bool -enum_is_E1 : enum -> bool - : enum -> bool -_f1_view_set : view_set _f1 - : view_set _f1 -_f2_view_set : view_set _f2 - : view_set _f2 -_f3_view_set : forall A : Type, view_set _f3 - : forall A : Type, view_set _f3 -_f4_view_set : forall A : Type, view_set _f4 - : forall A : Type, view_set _f4 -_pf3_view_set : forall A : Type, view_set _pf3 - : forall A : Type, view_set _pf3 -_pf4_view_set : forall A : Type, view_set _pf4 - : forall A : Type, view_set _pf4 -_f1_set_set : set_set _f1 - : set_set _f1 -_f2_set_set : set_set _f2 - : set_set _f2 -_f3_set_set : forall A : Type, set_set _f3 - : forall A : Type, set_set _f3 -_f4_set_set : forall A : Type, set_set _f4 - : forall A : Type, set_set _f4 -_pf3_set_set : forall A : Type, set_set _pf3 - : forall A : Type, set_set _pf3 -_pf4_set_set : forall A : Type, set_set _pf4 - : forall A : Type, set_set _pf4 -_f1_set_view : set_view _f1 - : set_view _f1 -_f2_set_view : set_view _f2 - : set_view _f2 -_f3_set_view : forall A : Type, set_view _f3 - : forall A : Type, set_view _f3 -_f4_set_view : forall A : Type, set_view _f4 - : forall A : Type, set_view _f4 -_pf3_set_view : forall A : Type, set_view _pf3 - : forall A : Type, set_view _pf3 -_pf4_set_view : forall A : Type, set_view _pf4 - : forall A : Type, set_view _pf4 -_f1_f2_exchange : exchange _f1 _f2 - : exchange _f1 _f2 -_f2_f1_exchange : exchange _f2 _f1 - : exchange _f2 _f1 -_f3_f4_exchange : forall A : Type, exchange _f3 _f4 - : forall A : Type, exchange _f3 _f4 -_f4_f3_exchange : forall A : Type, exchange _f4 _f3 - : forall A : Type, exchange _f4 _f3 -_pf3_pf4_exchange : forall A : Type, exchange _pf3 _pf4 - : forall A : Type, exchange _pf3 _pf4 -_pf4_pf3_exchange : forall A : Type, exchange _pf4 _pf3 - : forall A : Type, exchange _pf4 _pf3 -Query assignments: - T = global (const «float») - X = primitive (float64 993000) -1 -1 -1.000000 -1.2 -is_empty : pred empty - : pred empty -is_unit : pred unit - : pred unit -is_peano : pred peano - : pred peano -is_option : forall A : Type, pred A -> pred (option A) - : forall A : Type, pred A -> pred (option A) -is_pair -: -forall A : Type, pred A -> forall B : Type, pred B -> pred (pair A B) - : forall A : Type, pred A -> forall B : Type, pred B -> pred (pair A B) -is_seq : forall A : Type, pred A -> pred (seq A) - : forall A : Type, pred A -> pred (seq A) -is_rose : forall A : Type, pred A -> pred (rose A) - : forall A : Type, pred A -> pred (rose A) -is_nest : forall A : Type, pred A -> pred (nest A) - : forall A : Type, pred A -> pred (nest A) -is_w : forall A : Type, pred A -> pred (w A) - : forall A : Type, pred A -> pred (w A) -is_vect -: -forall A : Type, pred A -> forall i : peano, is_peano i -> pred (vect A i) - : forall A : Type, - pred A -> forall i : peano, is_peano i -> pred (vect A i) -is_dyn : pred dyn - : pred dyn -is_zeta : forall A : Type, pred A -> pred (zeta A) - : forall A : Type, pred A -> pred (zeta A) -is_beta : forall A : Type, pred A -> pred (beta A) - : forall A : Type, pred A -> pred (beta A) -is_iota : pred iota - : pred iota -is_large : pred large - : pred large -is_prim_int : pred prim_int - : pred prim_int -is_prim_float : pred prim_float - : pred prim_float -is_fo_record : pred fo_record - : pred fo_record -is_pa_record : forall A : Type, pred A -> pred (pa_record A) - : forall A : Type, pred A -> pred (pa_record A) -is_pr_record : forall A : Type, pred A -> pred (pr_record A) - : forall A : Type, pred A -> pred (pr_record A) -is_enum : pred enum - : pred enum -is_ord : forall p : peano, is_peano p -> pred (ord p) - : forall p : peano, is_peano p -> pred (ord p) -is_ord2 : forall p : peano, is_peano p -> pred (ord2 p) - : forall p : peano, is_peano p -> pred (ord2 p) -is_val : pred val - : pred val -Query assignments: - _uvk_323_ = X0 +derive.param1_trivial: wrong shape is_nest +. It does not look like a unary parametricity translation of an inductive with no indexes. empty_fields_t : positive -> Type : positive -> Type -File "./tests/test_API2.v", line 126, characters 0-16: -Warning: Option Foo Bar is deprecated. elpi -[deprecated-option,deprecated,default] empty_fields : forall n : empty, empty_fields_t (empty_tag n) : forall n : empty, empty_fields_t (empty_tag n) empty_construct @@ -9712,6 +9858,7 @@ peano_construct (peano_tag n) (peano_fields n) = Datatypes.Some n option_fields_t : Type -> positive -> Type : Type -> positive -> Type +1 option_fields : forall (A : Type) (l : option A), option_fields_t A (option_tag A l) @@ -9729,6 +9876,7 @@ : forall (A : Type) (l : option A), option_construct A (option_tag A l) (option_fields A l) = Datatypes.Some l +1 pair_fields_t : Type -> Type -> positive -> Type : Type -> Type -> positive -> Type pair_fields @@ -9748,6 +9896,7 @@ : forall (A B : Type) (l : pair A B), pair_construct A B (pair_tag A B l) (pair_fields A B l) = Datatypes.Some l +1.000000 seq_fields_t : Type -> positive -> Type : Type -> positive -> Type seq_fields : forall (A : Type) (l : seq A), seq_fields_t A (seq_tag A l) @@ -9758,6 +9907,7 @@ seq_fields_t A p -> Datatypes.option (seq A) : forall (A : Type) (p : positive), seq_fields_t A p -> Datatypes.option (seq A) +1.2 seq_constructP : forall (A : Type) (l : seq A), @@ -9782,6 +9932,38 @@ rose_construct A (rose_tag A l) (rose_fields A l) = Datatypes.Some l beta_fields_t : Type -> positive -> Type : Type -> positive -> Type +parameter A explicit (sort (typ «elpi.tests.test_HOAS.98»)) c0 \ + inductive tree tt (arity (sort (typ «elpi.tests.test_HOAS.99»))) c1 \ + [constructor leaf (arity (prod `_` c0 c2 \ c1)), + constructor node + (arity + (prod `_` c0 c2 \ prod `_` (app [global (indt «list»), c1]) c3 \ c1))] +Universe constraints: UNIVERSES: + {elpi.tests.test_HOAS.103 elpi.tests.test_HOAS.102 + elpi.tests.test_HOAS.101 elpi.tests.test_HOAS.100 + elpi.tests.test_HOAS.99 elpi.tests.test_HOAS.98} |= + elpi.tests.test_HOAS.98 < elpi.tests.test_HOAS.100 + elpi.tests.test_HOAS.99 < elpi.tests.test_HOAS.101 + Set <= elpi.tests.test_HOAS.99 + Set <= elpi.tests.test_HOAS.103 + elpi.tests.test_HOAS.98 <= list.u0 + elpi.tests.test_HOAS.98 <= elpi.tests.test_HOAS.99 + elpi.tests.test_HOAS.98 <= elpi.tests.test_HOAS.102 + elpi.tests.test_HOAS.98 <= elpi.tests.test_HOAS.103 + elpi.tests.test_HOAS.99 <= list.u0 + elpi.tests.test_HOAS.99 <= elpi.tests.test_HOAS.102 + elpi.tests.test_HOAS.99 <= elpi.tests.test_HOAS.103 + elpi.tests.test_HOAS.102 <= elpi.tests.test_HOAS.99 + elpi.tests.test_HOAS.103 <= elpi.tests.test_HOAS.99 + ALGEBRAIC UNIVERSES: + {elpi.tests.test_HOAS.98} + UNDEFINED UNIVERSES: + elpi.tests.test_HOAS.98 + SORTS: + + WEAK CONSTRAINTS: + + beta_fields : forall (A : Type) (l : beta A), beta_fields_t A (beta_tag A l) : forall (A : Type) (l : beta A), beta_fields_t A (beta_tag A l) beta_construct @@ -9796,6 +9978,38 @@ beta_construct A (beta_tag A l) (beta_fields A l) = Datatypes.Some l : forall (A : Type) (l : beta A), beta_construct A (beta_tag A l) (beta_fields A l) = Datatypes.Some l +Query assignments: + D = parameter A explicit (sort (typ «M.tree.u0»)) c0 \ + inductive tree tt (arity (sort (typ «M.tree.u1»))) c1 \ + [constructor leaf (arity (prod `_` c0 c2 \ c1)), + constructor node + (arity + (prod `_` c0 c2 \ prod `_` (app [global (indt «list»), c1]) c3 \ c1))] + I = «tree» + _uvk_66_ = X0 +Universe constraints: +UNIVERSES: + {elpi.tests.test_HOAS.103 elpi.tests.test_HOAS.102 elpi.tests.test_HOAS.101 + elpi.tests.test_HOAS.100} |= + M.tree.u0 < elpi.tests.test_HOAS.100 + M.tree.u1 < elpi.tests.test_HOAS.101 + Set <= M.tree.u1 + Set <= elpi.tests.test_HOAS.103 + M.tree.u0 <= elpi.tests.test_HOAS.102 + M.tree.u0 <= elpi.tests.test_HOAS.103 + M.tree.u1 <= elpi.tests.test_HOAS.102 + M.tree.u1 <= elpi.tests.test_HOAS.103 + elpi.tests.test_HOAS.102 <= M.tree.u1 + elpi.tests.test_HOAS.103 <= M.tree.u1 +ALGEBRAIC UNIVERSES: + {M.tree.u0} +UNDEFINED UNIVERSES: + M.tree.u0 +SORTS: + +WEAK CONSTRAINTS: + + large_fields_t : positive -> Type : positive -> Type large_fields : forall n : large, large_fields_t (large_tag n) @@ -9912,8 +10126,6 @@ ord2_fields_t n p -> Datatypes.option (ord2 n) : forall (n : peano) (p : positive), ord2_fields_t n p -> Datatypes.option (ord2 n) -Query assignments: - Y = global (indc «is_O») ord2_constructP : forall (p : peano) (o : ord2 p), @@ -9931,512 +10143,21 @@ forall v : val, val_construct (val_tag v) (val_fields v) = Datatypes.Some v : forall v : val, val_construct (val_tag v) (val_fields v) = Datatypes.Some v -COQC tests/test_eqb.v -derive.param1_trivial: wrong shape is_nest -. It does not look like a unary parametricity translation of an inductive with no indexes. -File "./tests/test_API2.v", line 134, characters 0-14: -Warning: Option Foo Bar is deprecated. elpi -[deprecated-option,deprecated,default] Query assignments: - Y = app - [global (indc «is_S»), app [global (indc «S»), global (indc «O»)], - app [global (indc «is_S»), global (indc «O»), global (indc «is_O»)]] -is_pred = -fun (n : nat) (Pn : is_nat n) => -match - Pn in (is_nat n0) return (is_nat match n0 with - | 0 => n - | S u => u - end) -with -| is_O => Pn -| is_S _ Pu => Pu -end - : forall n : nat, is_nat n -> is_nat (Nat.pred n) - -Arguments is_pred n%nat_scope Pn -is_pred : is_nat2nat Nat.pred - : is_nat2nat Nat.pred -is_predn : is_nat2nat predn - : is_nat2nat predn -is_add : is_nat2nat2nat Nat.add - : is_nat2nat2nat Nat.add -Inductive is_bla : forall H : nat, is_nat H -> bla H -> Type := - is_Bla : forall H : nat, is_nat H -> is_bla 0 is_O (Bla H) - | is_Blu : forall (n : nat) (Pn : is_nat n) (H : bla n), - is_bla n Pn H -> is_bla 1 (is_S 0 is_O) (Blu n H). - -Arguments is_bla _%nat_scope P_ s1 -Arguments is_Bla _%nat_scope P_ -Arguments is_Blu n%nat_scope Pn _ P_ + _uvk_323_ = X0 +COQC tests/test_eqb.v derive.param1_trivial: wrong shape is_vect A PA . It does not look like a unary parametricity translation of an inductive with no indexes. -Query assignments: - C1 = «Nat.add» - C2 = «times» - X1 = tt - X2 = ff -Query assignments: - PDb = [tc-instance (const «reali_is_fin_length») 0, - tc-instance (const «reali_is_vec_length») 0, - tc-instance (const «reali_is_predn») 0, - tc-instance (const «reali_is_plus'») 0, - tc-instance (const «reali_is_nat_S») 0, - tc-instance (const «reali_is_nat_O») 0, - tc-instance (const «reali_is_prim_float») 0, - tc-instance (const «reali_is_prim_float_PF») 0, - tc-instance (const «reali_is_nest_ConsN») 0, - tc-instance (const «reali_is_w_via») 0, - tc-instance (const «reali_is_val_V») 0, - tc-instance (const «reali_is_peano») 0, - tc-instance (const «reali_is_large») 0, - tc-instance (const «reali_is_empty») 0, - tc-instance (const «reali_is_iota_Why») 0, - tc-instance (const «reali_is_nat2nat2nat») 0, - tc-instance (const «reali_is_unit_tt») 0, - tc-instance (const «reali_is_nest_NilN») 0, - tc-instance (const «reali_is_prim_int») 0, - tc-instance (const «reali_is_vect_VCons») 0, - tc-instance (const «reali_is_large_K26») 0, - tc-instance (const «reali_is_large_K25») 0, - tc-instance (const «reali_is_large_K24») 0, - tc-instance (const «reali_is_large_K23») 0, - tc-instance (const «reali_is_large_K22») 0, - tc-instance (const «reali_is_large_K21») 0, - tc-instance (const «reali_is_large_K20») 0, - tc-instance (const «reali_is_large_K19») 0, - tc-instance (const «reali_is_large_K18») 0, - tc-instance (const «reali_is_large_K17») 0, - tc-instance (const «reali_is_large_K16») 0, - tc-instance (const «reali_is_large_K15») 0, - tc-instance (const «reali_is_large_K14») 0, - tc-instance (const «reali_is_large_K13») 0, - tc-instance (const «reali_is_large_K12») 0, - tc-instance (const «reali_is_large_K11») 0, - tc-instance (const «reali_is_large_K10») 0, - tc-instance (const «reali_is_eq_eq_refl») 0, - tc-instance (const «Coverage.reali_is_unit_tt») 0, - tc-instance (const «reali_is_large_K9») 0, - tc-instance (const «reali_is_large_K8») 0, - tc-instance (const «reali_is_large_K7») 0, - tc-instance (const «reali_is_large_K6») 0, - tc-instance (const «reali_is_large_K5») 0, - tc-instance (const «reali_is_large_K4») 0, - tc-instance (const «reali_is_large_K3») 0, - tc-instance (const «reali_is_large_K2») 0, - tc-instance (const «reali_is_large_K1») 0, - tc-instance (const «reali_is_seq_Cons») 0, - tc-instance (const «reali_is_ord_mkOrd») 0, - tc-instance (const «reali_is_peano_Zero») 0, - tc-instance (const «reali_is_peano_Succ») 0, - tc-instance (const «reali_is_fo_record») 0, - tc-instance (const «reali_is_vec_vcons») 0, - tc-instance (const «reali_is_quasidn») 0, - tc-instance (const «reali_is_vect_VNil») 0, - tc-instance (const «reali_is_seq_Nil») 0, - tc-instance (const «reali_is_zeta_Envelope») 0, - tc-instance (const «reali_is_list_cons») 0, - tc-instance (const «exports.reali_is_eq») 0, - tc-instance (const «reali_is_beta_Redex») 0, - tc-instance (const «reali_is_unit») 0, - tc-instance (const «reali_is_test») 0, - tc-instance (const «reali_is_prod») 0, - tc-instance (const «reali_is_pred») 0, - tc-instance (const «reali_is_list») 0, - tc-instance (const «reali_is_bool») 0, - tc-instance (const «reali_is_sigma_bool_Build_sigma_bool») 0, - tc-instance (const «reali_is_option_Some») 0, - tc-instance (const «reali_is_option_None») 0, - tc-instance (const «reali_is_box_peano») 0, - tc-instance (const «reali_is_nat2nat») 0, - tc-instance (const «reali_is_sigma_bool») 0, - tc-instance (const «reali_is_zeta») 0, - tc-instance (const «reali_is_vect») 0, - tc-instance (const «Coverage.reali_is_unit») 0, - tc-instance (const «reali_is_rose») 0, - tc-instance (const «reali_is_pair») 0, - tc-instance (const «reali_is_ord2») 0, - tc-instance (const «reali_is_nest») 0, - tc-instance (const «reali_is_iota») 0, - tc-instance (const «reali_is_enum») 0, - tc-instance (const «Coverage.reali_is_bool») 0, - tc-instance (const «reali_is_beta») 0, - tc-instance (const «reali_is_vec_length_type») 0, - tc-instance (const «reali_is_vec_length_rec») 0, - tc-instance (const «reali_is_pr_record») 0, - tc-instance (const «reali_is_rose_Node») 0, - tc-instance (const «reali_is_rose_Leaf») 0, - tc-instance (const «reali_is_rose_p_Nodep») 0, - tc-instance (const «reali_is_rose_p_Leafp») 0, - tc-instance (const «reali_is_eq») 0, - tc-instance (const «reali_is_is_list») 0, - tc-instance (const «reali_is_w») 0, - tc-instance (const «reali_is_vec_vnil») 0, - tc-instance (const «reali_is_dep_record_Build_dep_record») 0, - tc-instance (const «reali_is_pr_record_Build_pr_record») 0, - tc-instance (const «reali_is_rose_o_Nodeo») 0, - tc-instance (const «reali_is_rose_o_Leafo») 0, - tc-instance (const «reali_is_weirdn») 0, - tc-instance (const «reali_is_pair_Comma») 0, - tc-instance (const «reali_is_dep_record») 0, - tc-instance (const «reali_is_is_zero») 0, - tc-instance (const «reali_is_pa_record») 0, - tc-instance (const «reali_is_fin_FS») 0, - tc-instance (const «reali_is_fin_FO») 0, - tc-instance (const «reali_is_bool_true») 0, - tc-instance (const «reali_is_divmod») 0, - tc-instance (const «reali_is_prim_int_PI») 0, - tc-instance (const «reali_is_list_nil») 0, - tc-instance (const «reali_is_vec») 0, - tc-instance (const «reali_is_snd») 0, - tc-instance (const «reali_is_nat») 0, - tc-instance (const «reali_is_fst») 0, - tc-instance (const «reali_is_fin») 0, - tc-instance (const «reali_is_div») 0, - tc-instance (const «reali_is_bla») 0, - tc-instance (const «reali_is_add») 0, - tc-instance (const «reali_is_rose_p») 0, - tc-instance (const «reali_is_rose_o») 0, - tc-instance (const «reali_is_is_list_is_nil») 0, - tc-instance (const «reali_is_option») 0, - tc-instance (const «reali_is_is_leq») 0, - tc-instance (const «reali_is_bool_false») 0, - tc-instance (const «reali_is_prod_pair») 0, - tc-instance (const «Coverage.reali_is_bool_true») 0, - tc-instance (const «reali_is_val») 0, - tc-instance (const «reali_is_seq») 0, - tc-instance (const «reali_is_ord») 0, - tc-instance (const «reali_is_dyn») 0, - tc-instance (const «reali_is_is_list_is_cons») 0, - tc-instance (const «reali_is_fo_record_Build_fo_record») 0, - tc-instance (const «Coverage.reali_is_bool_false») 0, - tc-instance (const «reali_is_enum_E3») 0, - tc-instance (const «reali_is_enum_E2») 0, - tc-instance (const «reali_is_enum_E1») 0, - tc-instance (const «reali_is_dyn_box») 0, - tc-instance (const «exports.reali_is_eq_eq_refl») 0, - tc-instance (const «reali_is_box_peano_Box») 0, - tc-instance (const «reali_is_ord2_mkOrd2») 0, - tc-instance (const «reali_is_bla_Blu») 0, - tc-instance (const «reali_is_bla_Bla») 0, - tc-instance (const «reali_is_pa_record_Build_pa_record») 0] - Spilled_1 = indt «reali_db» -File "./tests/test_param1.v", line 158, characters 0-30: -Warning: Not a truly recursive fixpoint. [non-recursive,fixpoints,default] -Query assignments: - C1 = «x» -empty_eqb : eq_test2 empty empty - : eq_test2 empty empty -Query assignments: -unit_eqb : eq_test2 unit unit - : eq_test2 unit unit - C1 = «x» - M = «elpi.tests.test_API2.xx» -peano_eqb : eq_test2 peano peano - : eq_test2 peano peano -option_eqb : forall A : Type, eq_test2 A A -> eq_test2 (option A) (option A) - : forall A : Type, eq_test2 A A -> eq_test2 (option A) (option A) -pair_eqb -: -forall A : Type, -eq_test2 A A -> -forall B : Type, eq_test2 B B -> eq_test2 (pair A B) (pair A B) - : forall A : Type, - eq_test2 A A -> - forall B : Type, eq_test2 B B -> eq_test2 (pair A B) (pair A B) -seq_eqb : forall A : Type, eq_test2 A A -> eq_test2 (seq A) (seq A) - : forall A : Type, eq_test2 A A -> eq_test2 (seq A) (seq A) -rose_eqb : forall A : Type, eq_test2 A A -> eq_test2 (rose A) (rose A) - : forall A : Type, eq_test2 A A -> eq_test2 (rose A) (rose A) -beta_eqb : forall A : Type, eq_test2 A A -> eq_test2 (beta A) (beta A) - : forall A : Type, eq_test2 A A -> eq_test2 (beta A) (beta A) -prim_int_eqb : eq_test2 prim_int prim_int - : eq_test2 prim_int prim_int -fo_record_eqb : eq_test2 fo_record fo_record - : eq_test2 fo_record fo_record -pa_record_eqb -: -forall A : Type, eq_test2 A A -> eq_test2 (pa_record A) (pa_record A) - : forall A : Type, eq_test2 A A -> eq_test2 (pa_record A) (pa_record A) -pr_record_eqb -: -forall A : Type, eq_test2 A A -> eq_test2 (pr_record A) (pr_record A) - : forall A : Type, eq_test2 A A -> eq_test2 (pr_record A) (pr_record A) -enum_eqb : eq_test2 enum enum - : eq_test2 enum enum -sigma_bool_eqb : eq_test2 sigma_bool sigma_bool - : eq_test2 sigma_bool sigma_bool -ord_eqb : forall p1 p2 : peano, eq_test2 (ord p1) (ord p2) - : forall p1 p2 : peano, eq_test2 (ord p1) (ord p2) -ord2_eqb : forall p1 p2 : peano, eq_test2 (ord2 p1) (ord2 p2) - : forall p1 p2 : peano, eq_test2 (ord2 p1) (ord2 p2) -val_eqb : eq_test2 val val - : eq_test2 val val -alias_eqb : eq_test2 alias alias - : eq_test2 alias alias -Query assignments: - C1 = «x» - M = «elpi.tests.test_API2.xx2» File "./tests/test_param1.v", line 176, characters 0-66: Warning: Not a truly recursive fixpoint. [non-recursive,fixpoints,default] COQC tests/test_param1_functor.v COQC tests/test_param1_congr.v -Query assignments: - C1 = «x» - M = «elpi.tests.test_API2.xx3» -projSucc1 : peano -> peano -> peano - : peano -> peano -> peano -projSome1 : forall A : Type, A -> option A -> A - : forall A : Type, A -> option A -> A -projComma1 : forall A B : Type, A -> B -> pair A B -> A - : forall A B : Type, A -> B -> pair A B -> A -projComma2 : forall A B : Type, A -> B -> pair A B -> B - : forall A B : Type, A -> B -> pair A B -> B -projCons1 : forall A : Type, A -> seq A -> seq A -> A - : forall A : Type, A -> seq A -> seq A -> A -projCons2 : forall A : Type, A -> seq A -> seq A -> seq A - : forall A : Type, A -> seq A -> seq A -> seq A -projLeaf1 : forall A : Type, A -> rose A -> A - : forall A : Type, A -> rose A -> A -projNode1 : forall A : Type, seq (rose A) -> rose A -> seq (rose A) - : forall A : Type, seq (rose A) -> rose A -> seq (rose A) -projConsN1 : forall A : Type, A -> nest (pair A A) -> nest A -> A - : forall A : Type, A -> nest (pair A A) -> nest A -> A -projConsN2 -: -forall A : Type, A -> nest (pair A A) -> nest A -> nest (pair A A) - : forall A : Type, A -> nest (pair A A) -> nest A -> nest (pair A A) -projvia1 : forall A : Type, (A -> w A) -> w A -> A -> w A - : forall A : Type, (A -> w A) -> w A -> A -> w A -projVCons1 -: -forall (A : Type) (i : peano), -A -> forall j : peano, vect A j -> vect A i -> A - : forall (A : Type) (i : peano), - A -> forall j : peano, vect A j -> vect A i -> A -projVCons2 -: -forall (A : Type) (i : peano), -A -> forall j : peano, vect A j -> vect A i -> peano - : forall (A : Type) (i : peano), - A -> forall j : peano, vect A j -> vect A i -> peano -projVCons3 -: -forall (A : Type) (i : peano), -A -> forall j : peano, vect A j -> vect A i -> {w : peano & vect A w} - : forall (A : Type) (i : peano), - A -> forall j : peano, vect A j -> vect A i -> {w : peano & vect A w} -projbox1 : forall T : Type, T -> dyn -> Type - : forall T : Type, T -> dyn -> Type -projbox2 : forall T : Type, T -> dyn -> {T0 : Type & T0} - : forall T : Type, T -> dyn -> {T0 : Type & T0} -projEnvelope1 : forall A : Type, A -> A -> zeta A -> A - : forall A : Type, A -> A -> zeta A -> A -eq_refl : projEnvelope1 nat 1 1 (Envelope nat 0 1) = 0 - : projEnvelope1 nat 1 1 (Envelope nat 0 1) = 0 -projEnvelope2 : forall A : Type, A -> A -> zeta A -> A - : forall A : Type, A -> A -> zeta A -> A -eq_refl : projEnvelope2 nat 1 1 (Envelope nat 1 0) = 0 - : projEnvelope2 nat 1 1 (Envelope nat 1 0) = 0 -projRedex1 : forall A : Type, A -> beta A -> A - : forall A : Type, A -> beta A -> A -projWhy1 -: -forall n : peano, -match n with -| Zero => peano -| Succ _ => unit -end -> iota -> peano - : forall n : peano, - match n with - | Zero => peano - | Succ _ => unit - end -> iota -> peano -projWhy2 -: -forall n : peano, -match n with -| Zero => peano -| Succ _ => unit -end -> -iota -> {i : peano & match i with - | Zero => peano - | Succ _ => unit - end} - : forall n : peano, - match n with - | Zero => peano - | Succ _ => unit - end -> - iota -> - {i : peano & match i with - | Zero => peano - | Succ _ => unit - end} -projPI1 - : PrimInt63.int -> prim_int -> PrimInt63.int -projPF1 - : PrimFloat.float -> prim_float -> PrimFloat.float -projBuild_fo_record1 : peano -> unit -> fo_record -> peano - : peano -> unit -> fo_record -> peano -projBuild_fo_record2 : peano -> unit -> fo_record -> unit - : peano -> unit -> fo_record -> unit -projBuild_pa_record2 : forall A : Type, peano -> A -> pa_record A -> A - : forall A : Type, peano -> A -> pa_record A -> A -projBuild_pr_record2 : forall A : Type, peano -> A -> pr_record A -> A - : forall A : Type, peano -> A -> pr_record A -> A -COQC tests/test_bcongr.v -Debug: Cannot enforce elpi.apps.derive.tests.test_derive.3354 <= Set -Skipping derivation map on indt «nat» since it has been already run -Derivation lens on indt «nat» -Derivation lens on indt «nat» failed, continuing -Skipping derivation param1 on indt «nat» since it has been already run -Skipping derivation param2 on indt «nat» since it has been already run -Skipping derivation tag on indt «nat» since it has been already run -Skipping derivation eqType_ast on indt «nat» since it has been already run -Derivation projK on indt «nat» -Derivation projK on indt «nat» took 0.002666 -Derivation isK on indt «nat» -Derivation isK on indt «nat» took 0.004822 -Derivation eq on indt «nat» -Derivation eq on indt «nat» took 0.004172 -Derivation invert on indt «nat» -Query assignments: - _uvk_1_ = X0 - _uvk_2_ = X1 -Syntactic constraints: - evar (X1) (X2) (X1) /* suspended on X1 */ - evar X3 (sort (typ «elpi.tests.test_API2.6»)) (X2) /* suspended on X3, X2 */ - evar (X0) (X4) (X0) /* suspended on X0 */ - evar X5 (sort (typ «elpi.tests.test_API2.5»)) (X4) /* suspended on X5, X4 */ -Universe constraints: -UNIVERSES: - {elpi.tests.test_API2.6 elpi.tests.test_API2.5} |= -ALGEBRAIC UNIVERSES: - {} -UNDEFINED UNIVERSES: - -SORTS: - α4 - α5 -WEAK CONSTRAINTS: - - -Non-discriminated database -Unfoldable variable definitions: all -Unfoldable constant definitions: all -Cut: emp -For any goal -> -For xeq -> exact xxx(level 0, pattern 0 = _, id 0) - -Derivation invert on indt «nat» took 0.005260 -Skipping derivation lens_laws on indt «nat» since it has been already run -Skipping derivation param1_congr on indt «nat» -since it has been already run -Skipping derivation param1_inhab on indt «nat» -since it has been already run -Skipping derivation param1_functor on indt «nat» -since it has been already run -Skipping derivation fields on indt «nat» since it has been already run -Derivation bcongr on indt «nat» -Derivation bcongr on indt «nat» took 0.005436 -Derivation idx2inv on indt «nat» -Derivation idx2inv on indt «nat» failed, continuing -Skipping derivation param1_trivial on indt «nat» -since it has been already run -Skipping derivation induction on indt «nat» since it has been already run -Skipping derivation eqb on indt «nat» since it has been already run -Derivation eqK on indt «nat» -Derivation eqK on indt «nat» took 0.006311 -Skipping derivation eqbcorrect on indt «nat» since it has been already run -Derivation eqcorrect on indt «nat» -Derivation eqcorrect on indt «nat» took 0.002439 -Skipping derivation eqbOK on indt «nat» since it has been already run -Derivation eqOK on indt «nat» -Derivation eqOK on indt «nat» took 0.002072 -nat_eqb : nat -> nat -> bool - : nat -> nat -> bool -is_nat : nat -> Type - : nat -> Type -is_nat_inhab : (forall x : nat, is_nat x) - : forall x : nat, is_nat x -is_nat_functor : (forall x : nat, is_nat x -> is_nat x) - : forall x : nat, is_nat x -> is_nat x -nat_induction - : (forall P : nat -> Type, - P 0 -> - (forall n : nat, P n -> P (S n)) -> forall x : nat, is_nat x -> P x) - : forall P : nat -> Type, - P 0 -> - (forall n : nat, P n -> P (S n)) -> forall x : nat, is_nat x -> P x -nat_tag : nat -> BinNums.positive - : nat -> BinNums.positive -nat_fields_t : BinNums.positive -> Type - : BinNums.positive -> Type -nat_fields : (forall n : nat, nat_fields_t (nat_tag n)) - : forall n : nat, nat_fields_t (nat_tag n) -nat_construct : (forall p : BinNums.positive, nat_fields_t p -> option nat) - : forall p : BinNums.positive, nat_fields_t p -> option nat -nat_constructP - : (forall n : nat, nat_construct (nat_tag n) (nat_fields n) = Some n) - : forall n : nat, nat_construct (nat_tag n) (nat_fields n) = Some n -nat_eqb : nat -> nat -> bool - : nat -> nat -> bool -nat_eqb_correct - : forall x : nat, eqb_correct_on nat_eqb x -nat_eqb_refl - : forall x : nat, eqb_refl_on nat_eqb x -list_map : (forall A B : Type, (A -> B) -> list A -> list B) - : forall A B : Type, (A -> B) -> list A -> list B -is_nil : (forall (A : Type) (P : A -> Type), is_list A P nil) - : forall (A : Type) (P : A -> Type), is_list A P nil -is_cons - : (forall (A : Type) (P : A -> Type) (x : A), - P x -> forall tl : list A, is_list A P tl -> is_list A P (x :: tl)) - : forall (A : Type) (P : A -> Type) (x : A), - P x -> forall tl : list A, is_list A P tl -> is_list A P (x :: tl) -is_list_functor - : (forall (A : Type) (P Q : A -> Type), - (forall x : A, P x -> Q x) -> - forall l : list A, is_list A P l -> is_list A Q l) - : forall (A : Type) (P Q : A -> Type), - (forall x : A, P x -> Q x) -> - forall l : list A, is_list A P l -> is_list A Q l -list_induction - : (forall (A : Type) (PA : A -> Type) (P : list A -> Type), - P nil -> - (forall x : A, PA x -> forall xs : list A, P xs -> P (x :: xs)%list) -> - forall l : list A, is_list A PA l -> P l) - : forall (A : Type) (PA : A -> Type) (P : list A -> Type), - P nil -> - (forall x : A, PA x -> forall xs : list A, P xs -> P (x :: xs)%list) -> - forall l : list A, is_list A PA l -> P l -list_tag : (forall A : Type, list A -> BinNums.positive) - : forall A : Type, list A -> BinNums.positive -list_fields_t : Type -> BinNums.positive -> Type - : Type -> BinNums.positive -> Type -list_fields - : (forall (A : Type) (l : list A), list_fields_t A (list_tag A l)) - : forall (A : Type) (l : list A), list_fields_t A (list_tag A l) -list_construct - : (forall (A : Type) (p : BinNums.positive), - list_fields_t A p -> option (list A)) - : forall (A : Type) (p : BinNums.positive), - list_fields_t A p -> option (list A) -list_constructP - : (forall (A : Type) (l : list A), - list_construct A (list_tag A l) (list_fields A l) = Some l) - : forall (A : Type) (l : list A), - list_construct A (list_tag A l) (list_fields A l) = Some l -list_eqb : (forall A : Type, (A -> A -> bool) -> list A -> list A -> bool) - : forall A : Type, (A -> A -> bool) -> list A -> list A -> bool -list_eqb_correct - : forall (a : Type) (eqA : a -> a -> bool), - eqb_correct eqA -> - forall x : list a, eqb_correct_on (list_eqb a eqA) x -list_eqb_refl - : forall (a : Type) (eqA : a -> a -> bool), - eqb_reflexive eqA -> forall x : list a, eqb_refl_on (list_eqb a eqA) x +File "./tests/test_API2.v", line 126, characters 0-16: +Warning: Option Foo Bar is deprecated. elpi +[deprecated-option,deprecated,default] +File "./tests/test_API2.v", line 134, characters 0-14: +Warning: Option Foo Bar is deprecated. elpi +[deprecated-option,deprecated,default] is_empty_functor : func is_empty : func is_empty is_unit_functor : func is_unit @@ -10489,709 +10210,66 @@ : forall (n : peano) (pn : is_peano n), func (is_ord2 n pn) is_val_functor : func is_val : func is_val -congr_is_tt : is_tt = is_tt - : is_tt = is_tt -congr_is_Zero : is_Zero = is_Zero - : is_Zero = is_Zero -congr_is_Succ -: -forall (x : peano) (p1 p2 : is_peano x), -p1 = p2 -> is_Succ x p1 = is_Succ x p2 - : forall (x : peano) (p1 p2 : is_peano x), - p1 = p2 -> is_Succ x p1 = is_Succ x p2 -congr_is_None -: -forall (A : Type) (PA : A -> Type), is_None A PA = is_None A PA - : forall (A : Type) (PA : A -> Type), is_None A PA = is_None A PA -congr_is_Some -: -forall (A : Type) (PA : A -> Type) (x : A) (p1 p2 : PA x), -p1 = p2 -> is_Some A PA x p1 = is_Some A PA x p2 - : forall (A : Type) (PA : A -> Type) (x : A) (p1 p2 : PA x), - p1 = p2 -> is_Some A PA x p1 = is_Some A PA x p2 -congr_is_Comma -: -forall (A : Type) (PA : A -> Type) (B : Type) (PB : B -> Type) - (x : A) (p1 p2 : PA x), -p1 = p2 -> -forall (y : B) (q1 q2 : PB y), -q1 = q2 -> is_Comma A PA B PB x p1 y q1 = is_Comma A PA B PB x p2 y q2 - : forall (A : Type) (PA : A -> Type) (B : Type) - (PB : B -> Type) (x : A) (p1 p2 : PA x), - p1 = p2 -> - forall (y : B) (q1 q2 : PB y), - q1 = q2 -> is_Comma A PA B PB x p1 y q1 = is_Comma A PA B PB x p2 y q2 +Query assignments: + C1 = «Nat.add» + C2 = «times» + X1 = tt + X2 = ff COQC tests/test_induction.v -congr_is_Nil : forall (A : Type) (PA : A -> Type), is_Nil A PA = is_Nil A PA - : forall (A : Type) (PA : A -> Type), is_Nil A PA = is_Nil A PA -congr_is_Cons -: -forall (A : Type) (PA : A -> Type) (x : A) (p1 p2 : PA x), -p1 = p2 -> -forall (y : seq A) (q1 q2 : is_seq A PA y), -q1 = q2 -> is_Cons A PA x p1 y q1 = is_Cons A PA x p2 y q2 - : forall (A : Type) (PA : A -> Type) (x : A) (p1 p2 : PA x), - p1 = p2 -> - forall (y : seq A) (q1 q2 : is_seq A PA y), - q1 = q2 -> is_Cons A PA x p1 y q1 = is_Cons A PA x p2 y q2 -congr_is_Leaf -: -forall (A : Type) (PA : A -> Type) (x : A) (p1 p2 : PA x), -p1 = p2 -> is_Leaf A PA x p1 = is_Leaf A PA x p2 - : forall (A : Type) (PA : A -> Type) (x : A) (p1 p2 : PA x), - p1 = p2 -> is_Leaf A PA x p1 = is_Leaf A PA x p2 -congr_is_Node -: -forall (A : Type) (PA : A -> Type) (x : seq (rose A)) - (p1 p2 : is_seq (rose A) (is_rose A PA) x), -p1 = p2 -> is_Node A PA x p1 = is_Node A PA x p2 - : forall (A : Type) (PA : A -> Type) (x : seq (rose A)) - (p1 p2 : is_seq (rose A) (is_rose A PA) x), - p1 = p2 -> is_Node A PA x p1 = is_Node A PA x p2 -congr_is_via -: -forall (A : Type) (PA : A -> Type) (x : A -> w A) - (p1 p2 : forall H : A, PA H -> is_w A PA (x H)), -p1 = p2 -> is_via A PA x p1 = is_via A PA x p2 - : forall (A : Type) (PA : A -> Type) (x : A -> w A) - (p1 p2 : forall H : A, PA H -> is_w A PA (x H)), - p1 = p2 -> is_via A PA x p1 = is_via A PA x p2 -congr_is_VNil -: -forall (A : Type) (PA : A -> Type), is_VNil A PA = is_VNil A PA - : forall (A : Type) (PA : A -> Type), is_VNil A PA = is_VNil A PA -congr_is_Envelope -: -forall (A : Type) (PA : A -> Type) (x : A) (p1 p2 : PA x), -p1 = p2 -> -forall (y : A) (q1 q2 : PA y), -q1 = q2 -> is_Envelope A PA x p1 y q1 = is_Envelope A PA x p2 y q2 - : forall (A : Type) (PA : A -> Type) (x : A) (p1 p2 : PA x), - p1 = p2 -> - forall (y : A) (q1 q2 : PA y), - q1 = q2 -> is_Envelope A PA x p1 y q1 = is_Envelope A PA x p2 y q2 -congr_is_Redex -: -forall (A : Type) (PA : A -> Type) (x : A) (p1 p2 : PA x), -p1 = p2 -> is_Redex A PA x p1 = is_Redex A PA x p2 - : forall (A : Type) (PA : A -> Type) (x : A) (p1 p2 : PA x), - p1 = p2 -> is_Redex A PA x p1 = is_Redex A PA x p2 -congr_is_PI - : forall (x : PrimInt63.int) (p1 p2 : is_uint63 x), - p1 = p2 -> is_PI x p1 = is_PI x p2 -congr_is_PF - : forall (x : PrimFloat.float) (p1 p2 : is_float64 x), - p1 = p2 -> is_PF x p1 = is_PF x p2 -congr_is_Build_fo_record -: -forall (n : peano) (p1 p2 : is_peano n), -p1 = p2 -> -forall (b : unit) (q1 q2 : is_unit b), -q1 = q2 -> is_Build_fo_record n p1 b q1 = is_Build_fo_record n p2 b q2 - : forall (n : peano) (p1 p2 : is_peano n), - p1 = p2 -> - forall (b : unit) (q1 q2 : is_unit b), - q1 = q2 -> is_Build_fo_record n p1 b q1 = is_Build_fo_record n p2 b q2 -congr_is_Build_pa_record -: -forall (A : Type) (PA : A -> Type) (n : peano) (p1 p2 : is_peano n), -p1 = p2 -> -forall (b : A) (q1 q2 : PA b), -q1 = q2 -> -is_Build_pa_record A PA n p1 b q1 = is_Build_pa_record A PA n p2 b q2 - : forall (A : Type) (PA : A -> Type) (n : peano) (p1 p2 : is_peano n), - p1 = p2 -> - forall (b : A) (q1 q2 : PA b), - q1 = q2 -> - is_Build_pa_record A PA n p1 b q1 = is_Build_pa_record A PA n p2 b q2 -congr_is_Build_pr_record -: -forall (A : Type) (pr : A -> Type) (n : peano) (p1 p2 : is_peano n), -p1 = p2 -> -forall (b : A) (q1 q2 : pr b), -q1 = q2 -> -is_Build_pr_record A pr n p1 b q1 = is_Build_pr_record A pr n p2 b q2 - : forall (A : Type) (pr : A -> Type) (n : peano) (p1 p2 : is_peano n), - p1 = p2 -> - forall (b : A) (q1 q2 : pr b), - q1 = q2 -> - is_Build_pr_record A pr n p1 b q1 = is_Build_pr_record A pr n p2 b q2 -congr_is_E1 : is_E1 = is_E1 - : is_E1 = is_E1 -COQC tests/test_param1_trivial.v Query assignments: - _uvk_19_ = «elpi.tests.test_API2.7» -Universe constraints: -UNIVERSES: - -ALGEBRAIC UNIVERSES: - {elpi.tests.test_API2.7} -UNDEFINED UNIVERSES: - elpi.tests.test_API2.7 -SORTS: - -WEAK CONSTRAINTS: - - + C1 = «x» Query assignments: - GR = const const EXN PRINTING: Not_found - T = «elpi.tests.test_API2.T» -unit_bcongr_tt : reflect (tt = tt) true - : reflect (tt = tt) true -peano_bcongr_Zero : reflect (Zero = Zero) true - : reflect (Zero = Zero) true -peano_bcongr_Succ -: -forall (x y : peano) (b : bool), -reflect (x = y) b -> reflect (Succ x = Succ y) b - : forall (x y : peano) (b : bool), - reflect (x = y) b -> reflect (Succ x = Succ y) b -option_bcongr_None : forall A : Type, reflect (None A = None A) true - : forall A : Type, reflect (None A = None A) true -option_bcongr_Some -: -forall (A : Type) (x y : A) (b : bool), -reflect (x = y) b -> reflect (Some A x = Some A y) b - : forall (A : Type) (x y : A) (b : bool), - reflect (x = y) b -> reflect (Some A x = Some A y) b -pair_bcongr_Comma -: -forall (A B : Type) (x1 x2 : A) (b1 : bool), -reflect (x1 = x2) b1 -> -forall (y1 y2 : B) (b2 : bool), -reflect (y1 = y2) b2 -> -reflect (Comma A B x1 y1 = Comma A B x2 y2) (b1 && b2) - : forall (A B : Type) (x1 x2 : A) (b1 : bool), - reflect (x1 = x2) b1 -> - forall (y1 y2 : B) (b2 : bool), - reflect (y1 = y2) b2 -> - reflect (Comma A B x1 y1 = Comma A B x2 y2) (b1 && b2) -seq_bcongr_Nil : forall A : Type, reflect (Nil A = Nil A) true - : forall A : Type, reflect (Nil A = Nil A) true -seq_bcongr_Cons -: -forall (A : Type) (x y : A) (b1 : bool), -reflect (x = y) b1 -> -forall (xs ys : seq A) (b2 : bool), -reflect (xs = ys) b2 -> reflect (Cons A x xs = Cons A y ys) (b1 && b2) - : forall (A : Type) (x y : A) (b1 : bool), - reflect (x = y) b1 -> - forall (xs ys : seq A) (b2 : bool), - reflect (xs = ys) b2 -> reflect (Cons A x xs = Cons A y ys) (b1 && b2) -rose_bcongr_Leaf -: -forall (A : Type) (x y : A) (b : bool), -reflect (x = y) b -> reflect (Leaf A x = Leaf A y) b - : forall (A : Type) (x y : A) (b : bool), - reflect (x = y) b -> reflect (Leaf A x = Leaf A y) b -rose_bcongr_Node -: -forall (A : Type) (l1 l2 : seq (rose A)) (b : bool), -reflect (l1 = l2) b -> reflect (Node A l1 = Node A l2) b - : forall (A : Type) (l1 l2 : seq (rose A)) (b : bool), - reflect (l1 = l2) b -> reflect (Node A l1 = Node A l2) b -nest_bcongr_NilN : forall A : Type, reflect (NilN A = NilN A) true - : forall A : Type, reflect (NilN A = NilN A) true -nest_bcongr_ConsN -: -forall (A : Type) (x y : A) (b1 : bool), -reflect (x = y) b1 -> -forall (xs ys : nest (pair A A)) (b2 : bool), -reflect (xs = ys) b2 -> reflect (ConsN A x xs = ConsN A y ys) (b1 && b2) - : forall (A : Type) (x y : A) (b1 : bool), - reflect (x = y) b1 -> - forall (xs ys : nest (pair A A)) (b2 : bool), - reflect (xs = ys) b2 -> - reflect (ConsN A x xs = ConsN A y ys) (b1 && b2) -w_bcongr_via -: -forall (A : Type) (f g : A -> w A) (b : bool), -reflect (f = g) b -> reflect (via A f = via A g) b - : forall (A : Type) (f g : A -> w A) (b : bool), - reflect (f = g) b -> reflect (via A f = via A g) b -zeta_bcongr_Envelope -: -forall (A : Type) (x1 x2 : A) (b1 : bool), -reflect (x1 = x2) b1 -> -forall (y1 y2 : A) (b2 : bool), -reflect (y1 = y2) b2 -> -reflect (Envelope A x1 y1 = Envelope A x2 y2) (b1 && b2) - : forall (A : Type) (x1 x2 : A) (b1 : bool), - reflect (x1 = x2) b1 -> - forall (y1 y2 : A) (b2 : bool), - reflect (y1 = y2) b2 -> - reflect (Envelope A x1 y1 = Envelope A x2 y2) (b1 && b2) -beta_bcongr_Redex -: -forall (A : Type) (x y : A) (b : bool), -reflect (x = y) b -> reflect (Redex A x = Redex A y) b - : forall (A : Type) (x y : A) (b : bool), - reflect (x = y) b -> reflect (Redex A x = Redex A y) b -prim_int_bcongr_PI -: -forall (x y : PrimInt63.int) (b : bool), -reflect (x = y) b -> reflect (PI x = PI y) b - : forall (x y : PrimInt63.int) (b : bool), - reflect (x = y) b -> reflect (PI x = PI y) b -prim_float_bcongr_PF -: -forall (x y : PrimFloat.float) (b : bool), -reflect (x = y) b -> reflect (PF x = PF y) b - : forall (x y : PrimFloat.float) (b : bool), - reflect (x = y) b -> reflect (PF x = PF y) b -fo_record_bcongr_Build_fo_record + C1 = «x» + M = «elpi.tests.test_API2.xx» +empty_eqb : eq_test2 empty empty + : eq_test2 empty empty +unit_eqb : eq_test2 unit unit + : eq_test2 unit unit +peano_eqb : eq_test2 peano peano + : eq_test2 peano peano +option_eqb : forall A : Type, eq_test2 A A -> eq_test2 (option A) (option A) + : forall A : Type, eq_test2 A A -> eq_test2 (option A) (option A) +pair_eqb : -forall (x1 x2 : peano) (b1 : bool), -reflect (x1 = x2) b1 -> -forall (y1 y2 : unit) (b2 : bool), -reflect (y1 = y2) b2 -> -reflect ({| f1 := x1; f2 := y1 |} = {| f1 := x2; f2 := y2 |}) (b1 && b2) - : forall (x1 x2 : peano) (b1 : bool), - reflect (x1 = x2) b1 -> - forall (y1 y2 : unit) (b2 : bool), - reflect (y1 = y2) b2 -> - reflect ({| f1 := x1; f2 := y1 |} = {| f1 := x2; f2 := y2 |}) - (b1 && b2) -pa_record_bcongr_Build_pa_record +forall A : Type, +eq_test2 A A -> +forall B : Type, eq_test2 B B -> eq_test2 (pair A B) (pair A B) + : forall A : Type, + eq_test2 A A -> + forall B : Type, eq_test2 B B -> eq_test2 (pair A B) (pair A B) +seq_eqb : forall A : Type, eq_test2 A A -> eq_test2 (seq A) (seq A) + : forall A : Type, eq_test2 A A -> eq_test2 (seq A) (seq A) +rose_eqb : forall A : Type, eq_test2 A A -> eq_test2 (rose A) (rose A) + : forall A : Type, eq_test2 A A -> eq_test2 (rose A) (rose A) +beta_eqb : forall A : Type, eq_test2 A A -> eq_test2 (beta A) (beta A) + : forall A : Type, eq_test2 A A -> eq_test2 (beta A) (beta A) +prim_int_eqb : eq_test2 prim_int prim_int + : eq_test2 prim_int prim_int +fo_record_eqb : eq_test2 fo_record fo_record + : eq_test2 fo_record fo_record +pa_record_eqb : -forall (A : Type) (x1 x2 : peano) (b1 : bool), -reflect (x1 = x2) b1 -> -forall (y1 y2 : A) (b2 : bool), -reflect (y1 = y2) b2 -> -reflect ({| f3 := x1; f4 := y1 |} = {| f3 := x2; f4 := y2 |}) (b1 && b2) - : forall (A : Type) (x1 x2 : peano) (b1 : bool), - reflect (x1 = x2) b1 -> - forall (y1 y2 : A) (b2 : bool), - reflect (y1 = y2) b2 -> - reflect ({| f3 := x1; f4 := y1 |} = {| f3 := x2; f4 := y2 |}) - (b1 && b2) -pr_record_bcongr_Build_pr_record +forall A : Type, eq_test2 A A -> eq_test2 (pa_record A) (pa_record A) + : forall A : Type, eq_test2 A A -> eq_test2 (pa_record A) (pa_record A) +pr_record_eqb : -forall (A : Type) (x1 x2 : peano) (b1 : bool), -reflect (x1 = x2) b1 -> -forall (y1 y2 : A) (b2 : bool), -reflect (y1 = y2) b2 -> -reflect ({| pf3 := x1; pf4 := y1 |} = {| pf3 := x2; pf4 := y2 |}) (b1 && b2) - : forall (A : Type) (x1 x2 : peano) (b1 : bool), - reflect (x1 = x2) b1 -> - forall (y1 y2 : A) (b2 : bool), - reflect (y1 = y2) b2 -> - reflect ({| pf3 := x1; pf4 := y1 |} = {| pf3 := x2; pf4 := y2 |}) - (b1 && b2) -enum_bcongr_E1 : reflect (E1 = E1) true - : reflect (E1 = E1) true -enum_bcongr_E2 : reflect (E2 = E2) true - : reflect (E2 = E2) true -enum_bcongr_E3 : reflect (E3 = E3) true - : reflect (E3 = E3) true -COQC tests/test_eqK.v -[p 1, p 2, p 3, p 4, p 5, p 6, p 7, p 8, p 9, p 10, p 11, p 12, p 13, - p 14, p 15, p 16, p 17, p 18, p 19, p 20, p 21, p 22, p 23, p 24, p 25, - p 26, p 27, p 28, p 29, p 30, p 31, p 32, p 33, p 34, p 35, p 36, p 37, - p 38, p 39, p 40, p 41, p 42, p 43, p 44, p 45, p 46, p 47, p 48, p 49, - p 50, p 51, p 52, p 53, p 54, p 55, p 56, p 57, p 58, p 59, p 60, p 61, - p 62, p 63, p 64, p 65, p 66, p 67, p 68, p 69, p 70, p 71, p 72, p 73, - p 74, p 75, p 76, p 77, p 78, p 79, p 80, p 81, p 82, p 83, p 84, p 85, - p 86, p 87, p 88, p 89, p 90, p 91, p 92, p 93, p 94, p 95, p 96, p 97, - p 98, p 99, p 100, p 101, p 102, p 103, p 104, p 105, p 106, p 107, - p 108, p 109, p 110, p 111, p 112, p 113, p 114, p 115, p 116, p 117, - p 118, p 119, p 120, p 121, p 122, p 123, p 124, p 125, p 126, p 127, - p 128, p 129, p 130, p 131, p 132, p 133, p 134, p 135, p 136, p 137, - p 138, p 139, p 140, p 141, p 142, p 143, p 144, p 145, p 146, p 147, - p 148, p 149, p 150, p 151, p 152, p 153, p 154, p 155, p 156, p 157, - p 158, p 159, p 160, p 161, p 162, p 163, p 164, p 165, p 166, p 167, - p 168, p 169, p 170, p 171, p 172, p 173, p 174, p 175, p 176, p 177, - p 178, p 179, p 180, p 181, p 182, p 183, p 184, p 185, p 186, p 187, - p 188, p 189, p 190, p 191, p 192, p 193, p 194, p 195, p 196, p 197, - p 198, p 199, p 200, p 201, p 202, p 203, p 204, p 205, p 206, p 207, - p 208, p 209, p 210, p 211, p 212, p 213, p 214, p 215, p 216, p 217, - p 218, p 219, p 220, p 221, p 222, p 223, p 224, p 225, p 226, p 227, - p 228, p 229, p 230, p 231, p 232, p 233, p 234, p 235, p 236, p 237, - p 238, p 239, p 240, p 241, p 242, p 243, p 244, p 245, p 246, p 247, - p 248, p 249, p 250, p 251, p 252, p 253, p 254, p 255, p 256, p 257, - p 258, p 259, p 260, p 261, p 262, p 263, p 264, p 265, p 266, p 267, - p 268, p 269, p 270, p 271, p 272, p 273, p 274, p 275, p 276, p 277, - p 278, p 279, p 280, p 281, p 282, p 283, p 284, p 285, p 286, p 287, - p 288, p 289, p 290, p 291, p 292, p 293, p 294, p 295, p 296, p 297, - p 298, p 299, p 300, p 301, p 302, p 303, p 304, p 305, p 306, p 307, - p 308, p 309, p 310, p 311, p 312, p 313, p 314, p 315, p 316, p 317, - p 318, p 319, p 320, p 321, p 322, p 323, p 324, p 325, p 326, p 327, - p 328, p 329, p 330, p 331, p 332, p 333, p 334, p 335, p 336, p 337, - p 338, p 339, p 340, p 341, p 342, p 343, p 344, p 345, p 346, p 347, - p 348, p 349, p 350, p 351, p 352, p 353, p 354, p 355, p 356, p 357, - p 358, p 359, p 360, p 361, p 362, p 363, p 364, p 365, p 366, p 367, - p 368, p 369, p 370, p 371, p 372, p 373, p 374, p 375, p 376, p 377, - p 378, p 379, p 380, p 381, p 382, p 383, p 384, p 385, p 386, p 387, - p 388, p 389, p 390, p 391, p 392, p 393, p 394, p 395, p 396, p 397, - p 398, p 399, p 400, p 401, p 402, p 403, p 404, p 405, p 406, p 407, - p 408, p 409, p 410, p 411, p 412, p 413, p 414, p 415, p 416, p 417, - p 418, p 419, p 420, p 421, p 422, p 423, p 424, p 425, p 426, p 427, - p 428, p 429, p 430, p 431, p 432, p 433, p 434, p 435, p 436, p 437, - p 438, p 439, p 440, p 441, p 442, p 443, p 444, p 445, p 446, p 447, - p 448, p 449, p 450, p 451, p 452, p 453, p 454, p 455, p 456, p 457, - p 458, p 459, p 460, p 461, p 462, p 463, p 464, p 465, p 466, p 467, - p 468, p 469, p 470, p 471, p 472, p 473, p 474, p 475, p 476, p 477, - p 478, p 479, p 480, p 481, p 482, p 483, p 484, p 485, p 486, p 487, - p 488, p 489, p 490, p 491, p 492, p 493, p 494, p 495, p 496, p 497, - p 498, p 499, p 500, p 501, p 502, p 503, p 504, p 505, p 506, p 507, - p 508, p 509, p 510, p 511, p 512, p 513, p 514, p 515, p 516, p 517, - p 518, p 519, p 520, p 521, p 522, p 523, p 524, p 525, p 526, p 527, - p 528, p 529, p 530, p 531, p 532, p 533, p 534, p 535, p 536, p 537, - p 538, p 539, p 540, p 541, p 542, p 543, p 544, p 545, p 546, p 547, - p 548, p 549, p 550, p 551, p 552, p 553, p 554, p 555, p 556, p 557, - p 558, p 559, p 560, p 561, p 562, p 563, p 564, p 565, p 566, p 567, - p 568, p 569, p 570, p 571, p 572, p 573, p 574, p 575, p 576, p 577, - p 578, p 579, p 580, p 581, p 582, p 583, p 584, p 585, p 586, p 587, - p 588, p 589, p 590, p 591, p 592, p 593, p 594, p 595, p 596, p 597, - p 598, p 599, p 600, p 601, p 602, p 603, p 604, p 605, p 606, p 607, - p 608, p 609, p 610, p 611, p 612, p 613, p 614, p 615, p 616, p 617, - p 618, p 619, p 620, p 621, p 622, p 623, p 624, p 625, p 626, p 627, - p 628, p 629, p 630, p 631, p 632, p 633, p 634, p 635, p 636, p 637, - p 638, p 639, p 640, p 641, p 642, p 643, p 644, p 645, p 646, p 647, - p 648, p 649, p 650, p 651, p 652, p 653, p 654, p 655, p 656, p 657, - p 658, p 659, p 660, p 661, p 662, p 663, p 664, p 665, p 666, p 667, - p 668, p 669, p 670, p 671, p 672, p 673, p 674, p 675, p 676, p 677, - p 678, p 679, p 680, p 681, p 682, p 683, p 684, p 685, p 686, p 687, - p 688, p 689, p 690, p 691, p 692, p 693, p 694, p 695, p 696, p 697, - p 698, p 699, p 700, p 701, p 702, p 703, p 704, p 705, p 706, p 707, - p 708, p 709, p 710, p 711, p 712, p 713, p 714, p 715, p 716, p 717, - p 718, p 719, p 720, p 721, p 722, p 723, p 724, p 725, p 726, p 727, - p 728, p 729, p 730, p 731, p 732, p 733, p 734, p 735, p 736, p 737, - p 738, p 739, p 740, p 741, p 742, p 743, p 744, p 745, p 746, p 747, - p 748, p 749, p 750, p 751, p 752, p 753, p 754, p 755, p 756, p 757, - p 758, p 759, p 760, p 761, p 762, p 763, p 764, p 765, p 766, p 767, - p 768, p 769, p 770, p 771, p 772, p 773, p 774, p 775, p 776, p 777, - p 778, p 779, p 780, p 781, p 782, p 783, p 784, p 785, p 786, p 787, - p 788, p 789, p 790, p 791, p 792, p 793, p 794, p 795, p 796, p 797, - p 798, p 799, p 800, p 801, p 802, p 803, p 804, p 805, p 806, p 807, - p 808, p 809, p 810, p 811, p 812, p 813, p 814, p 815, p 816, p 817, - p 818, p 819, p 820, p 821, p 822, p 823, p 824, p 825, p 826, p 827, - p 828, p 829, p 830, p 831, p 832, p 833, p 834, p 835, p 836, p 837, - p 838, p 839, p 840, p 841, p 842, p 843, p 844, p 845, p 846, p 847, - p 848, p 849, p 850, p 851, p 852, p 853, p 854, p 855, p 856, p 857, - p 858, p 859, p 860, p 861, p 862, p 863, p 864, p 865, p 866, p 867, - p 868, p 869, p 870, p 871, p 872, p 873, p 874, p 875, p 876, p 877, - p 878, p 879, p 880, p 881, p 882, p 883, p 884, p 885, p 886, p 887, - p 888, p 889, p 890, p 891, p 892, p 893, p 894, p 895, p 896, p 897, - p 898, p 899, p 900, p 901, p 902, p 903, p 904, p 905, p 906, p 907, - p 908, p 909, p 910, p 911, p 912, p 913, p 914, p 915, p 916, p 917, - p 918, p 919, p 920, p 921, p 922, p 923, p 924, p 925, p 926, p 927, - p 928, p 929, p 930, p 931, p 932, p 933, p 934, p 935, p 936, p 937, - p 938, p 939, p 940, p 941, p 942, p 943, p 944, p 945, p 946, p 947, - p 948, p 949, p 950, p 951, p 952, p 953, p 954, p 955, p 956, p 957, - p 958, p 959, p 960, p 961, p 962, p 963, p 964, p 965, p 966, p 967, - p 968, p 969, p 970, p 971, p 972, p 973, p 974, p 975, p 976, p 977, - p 978, p 979, p 980, p 981, p 982, p 983, p 984, p 985, p 986, p 987, - p 988, p 989, p 990, p 991, p 992, p 993, p 994, p 995, p 996, p 997, - p 998, p 999, p 1000, p 1001, p 1002, p 1003, p 1004, p 1005, p 1006, - p 1007, p 1008, p 1009, p 1010, p 1011, p 1012, p 1013, p 1014, p 1015, - p 1016, p 1017, p 1018, p 1019, p 1020, p 1021, p 1022, p 1023, p 1024, - p 1025, p 1026, p 1027, p 1028, p 1029, p 1030, p 1031, p 1032, p 1033, - p 1034, p 1035, p 1036, p 1037, p 1038, p 1039, p 1040, p 1041, p 1042, - p 1043, p 1044, p 1045, p 1046, p 1047, p 1048, p 1049, p 1050, p 1051, - p 1052, p 1053, p 1054, p 1055, p 1056, p 1057, p 1058, p 1059, p 1060, - p 1061, p 1062, p 1063, p 1064, p 1065, p 1066, p 1067, p 1068, p 1069, - p 1070, p 1071, p 1072, p 1073, p 1074, p 1075, p 1076, p 1077, p 1078, - p 1079, p 1080, p 1081, p 1082, p 1083, p 1084, p 1085, p 1086, p 1087, - p 1088, p 1089, p 1090, p 1091, p 1092, p 1093, p 1094, p 1095, p 1096, - p 1097, p 1098, p 1099, p 1100, p 1101, p 1102, p 1103, p 1104, p 1105, - p 1106, p 1107, p 1108, p 1109, p 1110, p 1111, p 1112, p 1113, p 1114, - p 1115, p 1116, p 1117, p 1118, p 1119, p 1120, p 1121, p 1122, p 1123, - p 1124, p 1125, p 1126, p 1127, p 1128, p 1129, p 1130, p 1131, p 1132, - p 1133, p 1134, p 1135, p 1136, p 1137, p 1138, p 1139, p 1140, p 1141, - p 1142, p 1143, p 1144, p 1145, p 1146, p 1147, p 1148, p 1149, p 1150, - p 1151, p 1152, p 1153, p 1154, p 1155, p 1156, p 1157, p 1158, p 1159, - p 1160, p 1161, p 1162, p 1163, p 1164, p 1165, p 1166, p 1167, p 1168, - p 1169, p 1170, p 1171, p 1172, p 1173, p 1174, p 1175, p 1176, p 1177, - p 1178, p 1179, p 1180, p 1181, p 1182, p 1183, p 1184, p 1185, p 1186, - p 1187, p 1188, p 1189, p 1190, p 1191, p 1192, p 1193, p 1194, p 1195, - p 1196, p 1197, p 1198, p 1199, p 1200, p 1201, p 1202, p 1203, p 1204, - p 1205, p 1206, p 1207, p 1208, p 1209, p 1210, p 1211, p 1212, p 1213, - p 1214, p 1215, p 1216, p 1217, p 1218, p 1219, p 1220, p 1221, p 1222, - p 1223, p 1224, p 1225, p 1226, p 1227, p 1228, p 1229, p 1230, p 1231, - p 1232, p 1233, p 1234, p 1235, p 1236, p 1237, p 1238, p 1239, p 1240, - p 1241, p 1242, p 1243, p 1244, p 1245, p 1246, p 1247, p 1248, p 1249, - p 1250, p 1251, p 1252, p 1253, p 1254, p 1255, p 1256, p 1257, p 1258, - p 1259, p 1260, p 1261, p 1262, p 1263, p 1264, p 1265, p 1266, p 1267, - p 1268, p 1269, p 1270, p 1271, p 1272, p 1273, p 1274, p 1275, p 1276, - p 1277, p 1278, p 1279, p 1280, p 1281, p 1282, p 1283, p 1284, p 1285, - p 1286, p 1287, p 1288, p 1289, p 1290, p 1291, p 1292, p 1293, p 1294, - p 1295, p 1296, p 1297, p 1298, p 1299, p 1300, p 1301, p 1302, p 1303, - p 1304, p 1305, p 1306, p 1307, p 1308, p 1309, p 1310, p 1311, p 1312, - p 1313, p 1314, p 1315, p 1316, p 1317, p 1318, p 1319, p 1320, p 1321, - p 1322, p 1323, p 1324, p 1325, p 1326, p 1327, p 1328, p 1329, p 1330, - p 1331, p 1332, p 1333, p 1334, p 1335, p 1336, p 1337, p 1338, p 1339, - p 1340, p 1341, p 1342, p 1343, p 1344, p 1345, p 1346, p 1347, p 1348, - p 1349, p 1350, p 1351, p 1352, p 1353, p 1354, p 1355, p 1356, p 1357, - p 1358, p 1359, p 1360, p 1361, p 1362, p 1363, p 1364, p 1365, p 1366, - p 1367, p 1368, p 1369, p 1370, p 1371, p 1372, p 1373, p 1374, p 1375, - p 1376, p 1377, p 1378, p 1379, p 1380, p 1381, p 1382, p 1383, p 1384, - p 1385, p 1386, p 1387, p 1388, p 1389, p 1390, p 1391, p 1392, p 1393, - p 1394, p 1395, p 1396, p 1397, p 1398, p 1399, p 1400, p 1401, p 1402, - p 1403, p 1404, p 1405, p 1406, p 1407, p 1408, p 1409, p 1410, p 1411, - p 1412, p 1413, p 1414, p 1415, p 1416, p 1417, p 1418, p 1419, p 1420, - p 1421, p 1422, p 1423, p 1424, p 1425, p 1426, p 1427, p 1428, p 1429, - p 1430, p 1431, p 1432, p 1433, p 1434, p 1435, p 1436, p 1437, p 1438, - p 1439, p 1440, p 1441, p 1442, p 1443, p 1444, p 1445, p 1446, p 1447, - p 1448, p 1449, p 1450, p 1451, p 1452, p 1453, p 1454, p 1455, p 1456, - p 1457, p 1458, p 1459, p 1460, p 1461, p 1462, p 1463, p 1464, p 1465, - p 1466, p 1467, p 1468, p 1469, p 1470, p 1471, p 1472, p 1473, p 1474, - p 1475, p 1476, p 1477, p 1478, p 1479, p 1480, p 1481, p 1482, p 1483, - p 1484, p 1485, p 1486, p 1487, p 1488, p 1489, p 1490, p 1491, p 1492, - p 1493, p 1494, p 1495, p 1496, p 1497, p 1498, p 1499, p 1500, p 1501, - p 1502, p 1503, p 1504, p 1505, p 1506, p 1507, p 1508, p 1509, p 1510, - p 1511, p 1512, p 1513, p 1514, p 1515, p 1516, p 1517, p 1518, p 1519, - p 1520, p 1521, p 1522, p 1523, p 1524, p 1525, p 1526, p 1527, p 1528, - p 1529, p 1530, p 1531, p 1532, p 1533, p 1534, p 1535, p 1536, p 1537, - p 1538, p 1539, p 1540, p 1541, p 1542, p 1543, p 1544, p 1545, p 1546, - p 1547, p 1548, p 1549, p 1550, p 1551, p 1552, p 1553, p 1554, p 1555, - p 1556, p 1557, p 1558, p 1559, p 1560, p 1561, p 1562, p 1563, p 1564, - p 1565, p 1566, p 1567, p 1568, p 1569, p 1570, p 1571, p 1572, p 1573, - p 1574, p 1575, p 1576, p 1577, p 1578, p 1579, p 1580, p 1581, p 1582, - p 1583, p 1584, p 1585, p 1586, p 1587, p 1588, p 1589, p 1590, p 1591, - p 1592, p 1593, p 1594, p 1595, p 1596, p 1597, p 1598, p 1599, p 1600, - p 1601, p 1602, p 1603, p 1604, p 1605, p 1606, p 1607, p 1608, p 1609, - p 1610, p 1611, p 1612, p 1613, p 1614, p 1615, p 1616, p 1617, p 1618, - p 1619, p 1620, p 1621, p 1622, p 1623, p 1624, p 1625, p 1626, p 1627, - p 1628, p 1629, p 1630, p 1631, p 1632, p 1633, p 1634, p 1635, p 1636, - p 1637, p 1638, p 1639, p 1640, p 1641, p 1642, p 1643, p 1644, p 1645, - p 1646, p 1647, p 1648, p 1649, p 1650, p 1651, p 1652, p 1653, p 1654, - p 1655, p 1656, p 1657, p 1658, p 1659, p 1660, p 1661, p 1662, p 1663, - p 1664, p 1665, p 1666, p 1667, p 1668, p 1669, p 1670, p 1671, p 1672, - p 1673, p 1674, p 1675, p 1676, p 1677, p 1678, p 1679, p 1680, p 1681, - p 1682, p 1683, p 1684, p 1685, p 1686, p 1687, p 1688, p 1689, p 1690, - p 1691, p 1692, p 1693, p 1694, p 1695, p 1696, p 1697, p 1698, p 1699, - p 1700, p 1701, p 1702, p 1703, p 1704, p 1705, p 1706, p 1707, p 1708, - p 1709, p 1710, p 1711, p 1712, p 1713, p 1714, p 1715, p 1716, p 1717, - p 1718, p 1719, p 1720, p 1721, p 1722, p 1723, p 1724, p 1725, p 1726, - p 1727, p 1728, p 1729, p 1730, p 1731, p 1732, p 1733, p 1734, p 1735, - p 1736, p 1737, p 1738, p 1739, p 1740, p 1741, p 1742, p 1743, p 1744, - p 1745, p 1746, p 1747, p 1748, p 1749, p 1750, p 1751, p 1752, p 1753, - p 1754, p 1755, p 1756, p 1757, p 1758, p 1759, p 1760, p 1761, p 1762, - p 1763, p 1764, p 1765, p 1766, p 1767, p 1768, p 1769, p 1770, p 1771, - p 1772, p 1773, p 1774, p 1775, p 1776, p 1777, p 1778, p 1779, p 1780, - p 1781, p 1782, p 1783, p 1784, p 1785, p 1786, p 1787, p 1788, p 1789, - p 1790, p 1791, p 1792, p 1793, p 1794, p 1795, p 1796, p 1797, p 1798, - p 1799, p 1800, p 1801, p 1802, p 1803, p 1804, p 1805, p 1806, p 1807, - p 1808, p 1809, p 1810, p 1811, p 1812, p 1813, p 1814, p 1815, p 1816, - p 1817, p 1818, p 1819, p 1820, p 1821, p 1822, p 1823, p 1824, p 1825, - p 1826, p 1827, p 1828, p 1829, p 1830, p 1831, p 1832, p 1833, p 1834, - p 1835, p 1836, p 1837, p 1838, p 1839, p 1840, p 1841, p 1842, p 1843, - p 1844, p 1845, p 1846, p 1847, p 1848, p 1849, p 1850, p 1851, p 1852, - p 1853, p 1854, p 1855, p 1856, p 1857, p 1858, p 1859, p 1860, p 1861, - p 1862, p 1863, p 1864, p 1865, p 1866, p 1867, p 1868, p 1869, p 1870, - p 1871, p 1872, p 1873, p 1874, p 1875, p 1876, p 1877, p 1878, p 1879, - p 1880, p 1881, p 1882, p 1883, p 1884, p 1885, p 1886, p 1887, p 1888, - p 1889, p 1890, p 1891, p 1892, p 1893, p 1894, p 1895, p 1896, p 1897, - p 1898, p 1899, p 1900, p 1901, p 1902, p 1903, p 1904, p 1905, p 1906, - p 1907, p 1908, p 1909, p 1910, p 1911, p 1912, p 1913, p 1914, p 1915, - p 1916, p 1917, p 1918, p 1919, p 1920, p 1921, p 1922, p 1923, p 1924, - p 1925, p 1926, p 1927, p 1928, p 1929, p 1930, p 1931, p 1932, p 1933, - p 1934, p 1935, p 1936, p 1937, p 1938, p 1939, p 1940, p 1941, p 1942, - p 1943, p 1944, p 1945, p 1946, p 1947, p 1948, p 1949, p 1950, p 1951, - p 1952, p 1953, p 1954, p 1955, p 1956, p 1957, p 1958, p 1959, p 1960, - p 1961, p 1962, p 1963, p 1964, p 1965, p 1966, p 1967, p 1968, p 1969, - p 1970, p 1971, p 1972, p 1973, p 1974, p 1975, p 1976, p 1977, p 1978, - p 1979, p 1980, p 1981, p 1982, p 1983, p 1984, p 1985, p 1986, p 1987, - p 1988, p 1989, p 1990, p 1991, p 1992, p 1993, p 1994, p 1995, p 1996, - p 1997, p 1998, p 1999, p 2000, p 2001, p 2002, p 2003, p 2004, p 2005, - p 2006, p 2007, p 2008, p 2009, p 2010, p 2011, p 2012, p 2013, p 2014, - p 2015, p 2016, p 2017, p 2018, p 2019, p 2020, p 2021, p 2022, p 2023, - p 2024, p 2025, p 2026, p 2027, p 2028, p 2029, p 2030, p 2031, p 2032, - p 2033, p 2034, p 2035, p 2036, p 2037, p 2038, p 2039, p 2040, p 2041, - p 2042, p 2043, p 2044, p 2045, p 2046, p 2047, p 2048, p 2049, p 2050, - p 2051, p 2052, p 2053, p 2054, p 2055, p 2056, p 2057, p 2058, p 2059, - p 2060, p 2061, p 2062, p 2063, p 2064, p 2065, p 2066, p 2067, p 2068, - p 2069, p 2070, p 2071, p 2072, p 2073, p 2074, p 2075, p 2076, p 2077, - p 2078, p 2079, p 2080, p 2081, p 2082, p 2083, p 2084, p 2085, p 2086, - p 2087, p 2088, p 2089, p 2090, p 2091, p 2092, p 2093, p 2094, p 2095, - p 2096, p 2097, p 2098, p 2099, p 2100, p 2101, p 2102, p 2103, p 2104, - p 2105, p 2106, p 2107, p 2108, p 2109, p 2110, p 2111, p 2112, p 2113, - p 2114, p 2115, p 2116, p 2117, p 2118, p 2119, p 2120, p 2121, p 2122, - p 2123, p 2124, p 2125, p 2126, p 2127, p 2128, p 2129, p 2130, p 2131, - p 2132, p 2133, p 2134, p 2135, p 2136, p 2137, p 2138, p 2139, p 2140, - p 2141, p 2142, p 2143, p 2144, p 2145, p 2146, p 2147, p 2148, p 2149, - p 2150, p 2151, p 2152, p 2153, p 2154, p 2155, p 2156, p 2157, p 2158, - p 2159, p 2160, p 2161, p 2162, p 2163, p 2164, p 2165, p 2166, p 2167, - p 2168, p 2169, p 2170, p 2171, p 2172, p 2173, p 2174, p 2175, p 2176, - p 2177, p 2178, p 2179, p 2180, p 2181, p 2182, p 2183, p 2184, p 2185, - p 2186, p 2187, p 2188, p 2189, p 2190, p 2191, p 2192, p 2193, p 2194, - p 2195, p 2196, p 2197, p 2198, p 2199, p 2200, p 2201, p 2202, p 2203, - p 2204, p 2205, p 2206, p 2207, p 2208, p 2209, p 2210, p 2211, p 2212, - p 2213, p 2214, p 2215, p 2216, p 2217, p 2218, p 2219, p 2220, p 2221, - p 2222, p 2223, p 2224, p 2225, p 2226, p 2227, p 2228, p 2229, p 2230, - p 2231, p 2232, p 2233, p 2234, p 2235, p 2236, p 2237, p 2238, p 2239, - p 2240, p 2241, p 2242, p 2243, p 2244, p 2245, p 2246, p 2247, p 2248, - p 2249, p 2250, p 2251, p 2252, p 2253, p 2254, p 2255, p 2256, p 2257, - p 2258, p 2259, p 2260, p 2261, p 2262, p 2263, p 2264, p 2265, p 2266, - p 2267, p 2268, p 2269, p 2270, p 2271, p 2272, p 2273, p 2274, p 2275, - p 2276, p 2277, p 2278, p 2279, p 2280, p 2281, p 2282, p 2283, p 2284, - p 2285, p 2286, p 2287, p 2288, p 2289, p 2290, p 2291, p 2292, p 2293, - p 2294, p 2295, p 2296, p 2297, p 2298, p 2299, p 2300, p 2301, p 2302, - p 2303, p 2304, p 2305, p 2306, p 2307, p 2308, p 2309, p 2310, p 2311, - p 2312, p 2313, p 2314, p 2315, p 2316, p 2317, p 2318, p 2319, p 2320, - p 2321, p 2322, p 2323, p 2324, p 2325, p 2326, p 2327, p 2328, p 2329, - p 2330, p 2331, p 2332, p 2333, p 2334, p 2335, p 2336, p 2337, p 2338, - p 2339, p 2340, p 2341, p 2342, p 2343, p 2344, p 2345, p 2346, p 2347, - p 2348, p 2349, p 2350, p 2351, p 2352, p 2353, p 2354, p 2355, p 2356, - p 2357, p 2358, p 2359, p 2360, p 2361, p 2362, p 2363, p 2364, p 2365, - p 2366, p 2367, p 2368, p 2369, p 2370, p 2371, p 2372, p 2373, p 2374, - p 2375, p 2376, p 2377, p 2378, p 2379, p 2380, p 2381, p 2382, p 2383, - p 2384, p 2385, p 2386, p 2387, p 2388, p 2389, p 2390, p 2391, p 2392, - p 2393, p 2394, p 2395, p 2396, p 2397, p 2398, p 2399, p 2400, p 2401, - p 2402, p 2403, p 2404, p 2405, p 2406, p 2407, p 2408, p 2409, p 2410, - p 2411, p 2412, p 2413, p 2414, p 2415, p 2416, p 2417, p 2418, p 2419, - p 2420, p 2421, p 2422, p 2423, p 2424, p 2425, p 2426, p 2427, p 2428, - p 2429, p 2430, p 2431, p 2432, p 2433, p 2434, p 2435, p 2436, p 2437, - p 2438, p 2439, p 2440, p 2441, p 2442, p 2443, p 2444, p 2445, p 2446, - p 2447, p 2448, p 2449, p 2450, p 2451, p 2452, p 2453, p 2454, p 2455, - p 2456, p 2457, p 2458, p 2459, p 2460, p 2461, p 2462, p 2463, p 2464, - p 2465, p 2466, p 2467, p 2468, p 2469, p 2470, p 2471, p 2472, p 2473, - p 2474, p 2475, p 2476, p 2477, p 2478, p 2479, p 2480, p 2481, p 2482, - p 2483, p 2484, p 2485, p 2486, p 2487, p 2488, p 2489, p 2490, p 2491, - p 2492, p 2493, p 2494, p 2495, p 2496, p 2497, p 2498, p 2499, p 2500, - p 2501, p 2502, p 2503, p 2504, p 2505, p 2506, p 2507, p 2508, p 2509, - p 2510, p 2511, p 2512, p 2513, p 2514, p 2515, p 2516, p 2517, p 2518, - p 2519, p 2520, p 2521, p 2522, p 2523, p 2524, p 2525, p 2526, p 2527, - p 2528, p 2529, p 2530, p 2531, p 2532, p 2533, p 2534, p 2535, p 2536, - p 2537, p 2538, p 2539, p 2540, p 2541, p 2542, p 2543, p 2544, p 2545, - p 2546, p 2547, p 2548, p 2549, p 2550, p 2551, p 2552, p 2553, p 2554, - p 2555, p 2556, p 2557, p 2558, p 2559, p 2560, p 2561, p 2562, p 2563, - p 2564, p 2565, p 2566, p 2567, p 2568, p 2569, p 2570, p 2571, p 2572, - p 2573, p 2574, p 2575, p 2576, p 2577, p 2578, p 2579, p 2580, p 2581, - p 2582, p 2583, p 2584, p 2585, p 2586, p 2587, p 2588, p 2589, p 2590, - p 2591, p 2592, p 2593, p 2594, p 2595, p 2596, p 2597, p 2598, p 2599, - p 2600, p 2601, p 2602, p 2603, p 2604, p 2605, p 2606, p 2607, p 2608, - p 2609, p 2610, p 2611, p 2612, p 2613, p 2614, p 2615, p 2616, p 2617, - p 2618, p 2619, p 2620, p 2621, p 2622, p 2623, p 2624, p 2625, p 2626, - p 2627, p 2628, p 2629, p 2630, p 2631, p 2632, p 2633, p 2634, p 2635, - p 2636, p 2637, p 2638, p 2639, p 2640, p 2641, p 2642, p 2643, p 2644, - p 2645, p 2646, p 2647, p 2648, p 2649, p 2650, p 2651, p 2652, p 2653, - p 2654, p 2655, p 2656, p 2657, p 2658, p 2659, p 2660, p 2661, p 2662, - p 2663, p 2664, p 2665, p 2666, p 2667, p 2668, p 2669, p 2670, p 2671, - p 2672, p 2673, p 2674, p 2675, p 2676, p 2677, p 2678, p 2679, p 2680, - p 2681, p 2682, p 2683, p 2684, p 2685, p 2686, p 2687, p 2688, p 2689, - p 2690, p 2691, p 2692, p 2693, p 2694, p 2695, p 2696, p 2697, p 2698, - p 2699, p 2700, p 2701, p 2702, p 2703, p 2704, p 2705, p 2706, p 2707, - p 2708, p 2709, p 2710, p 2711, p 2712, p 2713, p 2714, p 2715, p 2716, - p 2717, p 2718, p 2719, p 2720, p 2721, p 2722, p 2723, p 2724, p 2725, - p 2726, p 2727, p 2728, p 2729, p 2730, p 2731, p 2732, p 2733, p 2734, - p 2735, p 2736, p 2737, p 2738, p 2739, p 2740, p 2741, p 2742, p 2743, - p 2744, p 2745, p 2746, p 2747, p 2748, p 2749, p 2750, p 2751, p 2752, - p 2753, p 2754, p 2755, p 2756, p 2757, p 2758, p 2759, p 2760, p 2761, - p 2762, p 2763, p 2764, p 2765, p 2766, p 2767, p 2768, p 2769, p 2770, - p 2771, p 2772, p 2773, p 2774, p 2775, p 2776, p 2777, p 2778, p 2779, - p 2780, p 2781, p 2782, p 2783, p 2784, p 2785, p 2786, p 2787, p 2788, - p 2789, p 2790, p 2791, p 2792, p 2793, p 2794, p 2795, p 2796, p 2797, - p 2798, p 2799, p 2800, p 2801, p 2802, p 2803, p 2804, p 2805, p 2806, - p 2807, p 2808, p 2809, p 2810, p 2811, p 2812, p 2813, p 2814, p 2815, - p 2816, p 2817, p 2818, p 2819, p 2820, p 2821, p 2822, p 2823, p 2824, - p 2825, p 2826, p 2827, p 2828, p 2829, p 2830, p 2831, p 2832, p 2833, - p 2834, p 2835, p 2836, p 2837, p 2838, p 2839, p 2840, p 2841, p 2842, - p 2843, p 2844, p 2845, p 2846, p 2847, p 2848, p 2849, p 2850, p 2851, - p 2852, p 2853, p 2854, p 2855, p 2856, p 2857, p 2858, p 2859, p 2860, - p 2861, p 2862, p 2863, p 2864, p 2865, p 2866, p 2867, p 2868, p 2869, - p 2870, p 2871, p 2872, p 2873, p 2874, p 2875, p 2876, p 2877, p 2878, - p 2879, p 2880, p 2881, p 2882, p 2883, p 2884, p 2885, p 2886, p 2887, - p 2888, p 2889, p 2890, p 2891, p 2892, p 2893, p 2894, p 2895, p 2896, - p 2897, p 2898, p 2899, p 2900, p 2901, p 2902, p 2903, p 2904, p 2905, - p 2906, p 2907, p 2908, p 2909, p 2910, p 2911, p 2912, p 2913, p 2914, - p 2915, p 2916, p 2917, p 2918, p 2919, p 2920, p 2921, p 2922, p 2923, - p 2924, p 2925, p 2926, p 2927, p 2928, p 2929, p 2930, p 2931, p 2932, - p 2933, p 2934, p 2935, p 2936, p 2937, p 2938, p 2939, p 2940, p 2941, - p 2942, p 2943, p 2944, p 2945, p 2946, p 2947, p 2948, p 2949, p 2950, - p 2951, p 2952, p 2953, p 2954, p 2955, p 2956, p 2957, p 2958, p 2959, - p 2960, p 2961, p 2962, p 2963, p 2964, p 2965, p 2966, p 2967, p 2968, - p 2969, p 2970, p 2971, p 2972, p 2973, p 2974, p 2975, p 2976, p 2977, - p 2978, p 2979, p 2980, p 2981, p 2982, p 2983, p 2984, p 2985, p 2986, - p 2987, p 2988, p 2989, p 2990, p 2991, p 2992, p 2993, p 2994, p 2995, - p 2996, p 2997, p 2998, p 2999, p 3000, p 3001, p 3002, p 3003, p 3004, - p 3005, p 3006, p 3007, p 3008, p 3009, p 3010, p 3011, p 3012, p 3013, - p 3014, p 3015, p 3016, p 3017, p 3018, p 3019, p 3020, p 3021, p 3022, - p 3023, p 3024, p 3025, p 3026, p 3027, p 3028, p 3029, p 3030, p 3031, - p 3032, p 3033, p 3034, p 3035, p 3036, p 3037, p 3038, p 3039, p 3040, - p 3041, p 3042, p 3043, p 3044, p 3045, p 3046, p 3047, p 3048, p 3049, - p 3050, p 3051, p 3052, p 3053, p 3054, p 3055, p 3056, p 3057, p 3058, - p 3059, p 3060, p 3061, p 3062, p 3063, p 3064, p 3065, p 3066, p 3067, - p 3068, p 3069, p 3070, p 3071, p 3072, p 3073, p 3074, p 3075, p 3076, - p 3077, p 3078, p 3079, p 3080, p 3081, p 3082, p 3083, p 3084, p 3085, - p 3086, p 3087, p 3088, p 3089, p 3090, p 3091, p 3092, p 3093, p 3094, - p 3095, p 3096, p 3097, p 3098, p 3099, p 3100, p 3101, p 3102, p 3103, - p 3104, p 3105, p 3106, p 3107, p 3108, p 3109, p 3110, p 3111, p 3112, - p 3113, p 3114, p 3115, p 3116, p 3117, p 3118, p 3119, p 3120, p 3121, - p 3122, p 3123, p 3124, p 3125, p 3126, p 3127, p 3128, p 3129, p 3130, - p 3131, p 3132, p 3133, p 3134, p 3135, p 3136, p 3137, p 3138, p 3139, - p 3140, p 3141, p 3142, p 3143, p 3144, p 3145, p 3146, p 3147, p 3148, - p 3149, p 3150, p 3151, p 3152, p 3153, p 3154, p 3155, p 3156, p 3157, - p 3158, p 3159, p 3160, p 3161, p 3162, p 3163, p 3164, p 3165, p 3166, - p 3167, p 3168, p 3169, p 3170, p 3171, p 3172, p 3173, p 3174, p 3175, - p 3176, p 3177, p 3178, p 3179, p 3180, p 3181, p 3182, p 3183, p 3184, - p 3185, p 3186, p 3187, p 3188, p 3189, p 3190, p 3191, p 3192, p 3193, - p 3194, p 3195, p 3196, p 3197, p 3198, p 3199, p 3200, p 3201, p 3202, - p 3203, p 3204, p 3205, p 3206, p 3207, p 3208, p 3209, p 3210, p 3211, - p 3212, p 3213, p 3214, p 3215, p 3216, p 3217, p 3218, p 3219, p 3220, - p 3221, p 3222, p 3223, p 3224, p 3225, p 3226, p 3227, p 3228, p 3229, - p 3230, p 3231, p 3232, p 3233, p 3234, p 3235, p 3236, p 3237, p 3238, - p 3239, p 3240, p 3241, p 3242, p 3243, p 3244, p 3245, p 3246, p 3247, - p 3248, p 3249, p 3250, p 3251, p 3252, p 3253, p 3254, p 3255, p 3256, - p 3257, p 3258, p 3259, p 3260, p 3261, p 3262, p 3263, p 3264, p 3265, - p 3266, p 3267, p 3268, p 3269, p 3270, p 3271, p 3272, p 3273, p 3274, - p 3275, p 3276, p 3277, p 3278, p 3279, p 3280, p 3281, p 3282, p 3283, - p 3284, p 3285, p 3286, p 3287, p 3288, p 3289, p 3290, p 3291, p 3292, - p 3293, p 3294, p 3295, p 3296, p 3297, p 3298, p 3299, p 3300, p 3301, - p 3302, p 3303, p 3304, p 3305, p 3306, p 3307, p 3308, p 3309, p 3310, - p 3311, p 3312, p 3313, p 3314, p 3315, p 3316, p 3317, p 3318, p 3319, - p 3320, p 3321, p 3322, p 3323, p 3324, p 3325, p 3326, p 3327, p 3328, - p 3329, p 3330, p 3331, p 3332, p 3333, p 3334, p 3335, p 3336, p 3337, - p 3338, p 3339, p 3340, p 3341, p 3342, p 3343, p 3344, p 3345, p 3346, - p 3347, p 3348, p 3349, p 3350, p 3351, p 3352, p 3353, p 3354, p 3355, - p 3356, p 3357, p 3358, p 3359, p 3360, p 3361, p 3362, p 3363, p 3364, - p 3365, p 3366, p 3367, p 3368, p 3369, p 3370, p 3371, p 3372, p 3373, - p 3374, p 3375, p 3376, p 3377, p 3378, p 3379, p 3380, p 3381, p 3382, - p 3383, p 3384, p 3385, p 3386, p 3387, p 3388, p 3389, p 3390, p 3391, - p 3392, p 3393, p 3394, p 3395, p 3396, p 3397, p 3398, p 3399, p 3400, - p 3401, p 3402, p 3403, p 3404, p 3405, p 3406, p 3407, p 3408, p 3409, - p 3410, p 3411, p 3412, p 3413, p 3414, p 3415, p 3416, p 3417, p 3418, - p 3419, p 3420, p 3421, p 3422, p 3423, p 3424, p 3425, p 3426, p 3427, - p 3428, p 3429, p 3430, p 3431, p 3432, p 3433, p 3434, p 3435, p 3436, - p 3437, p 3438, p 3439, p 3440, p 3441, p 3442, p 3443, p 3444, p 3445, - p 3446, p 3447, p 3448, p 3449, p 3450, p 3451, p 3452, p 3453, p 3454, - p 3455, p 3456, p 3457, p 3458, p 3459, p 3460, p 3461, p 3462, p 3463, - p 3464, p 3465, p 3466, p 3467, p 3468, p 3469, p 3470, p 3471, p 3472, - p 3473, p 3474, p 3475, p 3476, p 3477, p 3478, p 3479, p 3480, p 3481, - p 3482, p 3483, p 3484, p 3485, p 3486, p 3487, p 3488, p 3489, p 3490, - p 3491, p 3492, p 3493, p 3494, p 3495, p 3496, p 3497, p 3498, p 3499, - p 3500, p 3501, p 3502, p 3503, p 3504, p 3505, p 3506, p 3507, p 3508, - p 3509, p 3510, p 3511, p 3512, p 3513, p 3514, p 3515, p 3516, p 3517, - p 3518, p 3519, p 3520, p 3521, p 3522, p 3523, p 3524, p 3525, p 3526, - p 3527, p 3528, p 3529, p 3530, p 3531, p 3532, p 3533, p 3534, p 3535, - p 3536, p 3537, p 3538, p 3539, p 3540, p 3541, p 3542, p 3543, p 3544, - p 3545, p 3546, p 3547, p 3548, p 3549, p 3550, p 3551, p 3552, p 3553, - p 3554, p 3555, p 3556, p 3557, p 3558, p 3559, p 3560, p 3561, p 3562, - p 3563, p 3564, p 3565, p 3566, p 3567, p 3568, p 3569, p 3570, p 3571, - p 3572, p 3573, p 3574, p 3575, p 3576, p 3577, p 3578, p 3579, p 3580, - p 3581, p 3582, p 3583, p 3584, p 3585, p 3586, p 3587, p 3588, p 3589, - p 3590, p 3591, p 3592, p 3593, p 3594, p 3595, p 3596, p 3597, p 3598, - p 3599, p 3600, p 3601, p 3602, p 3603, p 3604, p 3605, p 3606, p 3607, - p 3608, p 3609, p 3610, p 3611, p 3612, p 3613, p 3614, p 3615, p 3616, - p 3617, p 3618, p 3619, p 3620, p 3621, p 3622, p 3623, p 3624, p 3625, - p 3626, p 3627, p 3628, p 3629, p 3630, p 3631, p 3632, p 3633, p 3634, - p 3635, p 3636, p 3637, p 3638, p 3639, p 3640, p 3641, p 3642, p 3643, - p 3644, p 3645, p 3646, p 3647, p 3648, p 3649, p 3650, p 3651, p 3652, - p 3653, p 3654, p 3655, p 3656, p 3657, p 3658, p 3659, p 3660, p 3661, - p 3662, p 3663, p 3664, p 3665, p 3666, p 3667, p 3668, p 3669, p 3670, - p 3671, p 3672, p 3673, p 3674, p 3675, p 3676, p 3677, p 3678, p 3679, - p 3680, p 3681, p 3682, p 3683, p 3684, p 3685, p 3686, p 3687, p 3688, - p 3689, p 3690, p 3691, p 3692, p 3693, p 3694, p 3695, p 3696, p 3697, - p 3698, p 3699, p 3700, p 3701, p 3702, p 3703, p 3704, p 3705, p 3706, - p 3707, p 3708, p 3709, p 3710] -«elpi.tests.test_API2.G» +forall A : Type, eq_test2 A A -> eq_test2 (pr_record A) (pr_record A) + : forall A : Type, eq_test2 A A -> eq_test2 (pr_record A) (pr_record A) +enum_eqb : eq_test2 enum enum + : eq_test2 enum enum +sigma_bool_eqb : eq_test2 sigma_bool sigma_bool + : eq_test2 sigma_bool sigma_bool +ord_eqb : forall p1 p2 : peano, eq_test2 (ord p1) (ord p2) + : forall p1 p2 : peano, eq_test2 (ord p1) (ord p2) +ord2_eqb : forall p1 p2 : peano, eq_test2 (ord2 p1) (ord2 p2) + : forall p1 p2 : peano, eq_test2 (ord2 p1) (ord2 p2) +val_eqb : eq_test2 val val + : eq_test2 val val +alias_eqb : eq_test2 alias alias + : eq_test2 alias alias Query assignments: - F = «elpi.tests.test_API2.F» - G = «elpi.tests.test_API2.G» - X = «elpi.tests.test_API2.X» -Module G : Sig Definition id : X.T -> X.T. End := (F X) - + C1 = «x» + M = «elpi.tests.test_API2.xx2» 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) @@ -11277,6 +10355,16 @@ : forall (A : Type) (PA : A -> Type) (P : w A -> Type), (forall f : A -> w A, (forall a : A, PA a -> P (f a)) -> P (via A f)) -> forall x : w A, is_w A PA x -> P x +congr_is_tt : is_tt = is_tt + : is_tt = is_tt +congr_is_Zero : is_Zero = is_Zero + : is_Zero = is_Zero +congr_is_Succ +: +forall (x : peano) (p1 p2 : is_peano x), +p1 = p2 -> is_Succ x p1 = is_Succ x p2 + : forall (x : peano) (p1 p2 : is_peano x), + p1 = p2 -> is_Succ x p1 = is_Succ x p2 vect_induction : forall (A : Type) (PA : A -> Type) @@ -11297,6 +10385,10 @@ P n nR v -> P (Succ n) (is_Succ n nR) (VCons A a n v)) -> forall (l : peano) (lR : is_peano l) (x : vect A l), is_vect A PA l lR x -> P l lR x +congr_is_None +: +forall (A : Type) (PA : A -> Type), is_None A PA = is_None A PA + : forall (A : Type) (PA : A -> Type), is_None A PA = is_None A PA dyn_induction : forall P : dyn -> Type, @@ -11330,6 +10422,26 @@ | is_Zero => is_peano | is_Succ _ _ => is_unit end a -> P (Why n a)) -> forall s1 : iota, is_iota s1 -> P s1 +congr_is_Some +: +forall (A : Type) (PA : A -> Type) (x : A) (p1 p2 : PA x), +p1 = p2 -> is_Some A PA x p1 = is_Some A PA x p2 + : forall (A : Type) (PA : A -> Type) (x : A) (p1 p2 : PA x), + p1 = p2 -> is_Some A PA x p1 = is_Some A PA x p2 +congr_is_Comma +: +forall (A : Type) (PA : A -> Type) (B : Type) (PB : B -> Type) + (x : A) (p1 p2 : PA x), +p1 = p2 -> +forall (y : B) (q1 q2 : PB y), +q1 = q2 -> is_Comma A PA B PB x p1 y q1 = is_Comma A PA B PB x p2 y q2 + : forall (A : Type) (PA : A -> Type) (B : Type) + (PB : B -> Type) (x : A) (p1 p2 : PA x), + p1 = p2 -> + forall (y : B) (q1 q2 : PB y), + q1 = q2 -> is_Comma A PA B PB x p1 y q1 = is_Comma A PA B PB x p2 y q2 +congr_is_Nil : forall (A : Type) (PA : A -> Type), is_Nil A PA = is_Nil A PA + : forall (A : Type) (PA : A -> Type), is_Nil A PA = is_Nil A PA large_induction : forall P : large -> Type, (forall H : unit, is_unit H -> P (K1 H)) -> @@ -11783,6 +10895,22 @@ forall H6 : unit, is_unit H6 -> forall H7 : unit, is_unit H7 -> ..., ...) -> forall s1 : large, is_large s1 -> P s1 +congr_is_Cons +: +forall (A : Type) (PA : A -> Type) (x : A) (p1 p2 : PA x), +p1 = p2 -> +forall (y : seq A) (q1 q2 : is_seq A PA y), +q1 = q2 -> is_Cons A PA x p1 y q1 = is_Cons A PA x p2 y q2 + : forall (A : Type) (PA : A -> Type) (x : A) (p1 p2 : PA x), + p1 = p2 -> + forall (y : seq A) (q1 q2 : is_seq A PA y), + q1 = q2 -> is_Cons A PA x p1 y q1 = is_Cons A PA x p2 y q2 +congr_is_Leaf +: +forall (A : Type) (PA : A -> Type) (x : A) (p1 p2 : PA x), +p1 = p2 -> is_Leaf A PA x p1 = is_Leaf A PA x p2 + : forall (A : Type) (PA : A -> Type) (x : A) (p1 p2 : PA x), + p1 = p2 -> is_Leaf A PA x p1 = is_Leaf A PA x p2 prim_int_induction : forall P : prim_int -> Type, (forall i : PrimInt63.int, is_uint63 i -> P (PI i)) -> @@ -11811,13 +10939,6 @@ (forall x : peano, is_peano x -> forall y : A, PA y -> P {| f3 := x; f4 := y |}) -> forall x : pa_record A, is_pa_record A PA x -> P x -«elpi.tests.test_API2.H» -Query assignments: - F = «elpi.tests.test_API2.F» - H = «elpi.tests.test_API2.H» - X = «elpi.tests.test_API2.X» -Module H : Sig Definition id : nat -> nat. End := (F X) - pr_record_induction : forall (A : Type) (pr : A -> Type) (P : pr_record A -> Type), @@ -11844,6 +10965,26 @@ P E1 -> P E2 -> P E3 -> forall x : enum, is_enum x -> P x : forall P : enum -> Type, P E1 -> P E2 -> P E3 -> forall x : enum, is_enum x -> P x +congr_is_Node +: +forall (A : Type) (PA : A -> Type) (x : seq (rose A)) + (p1 p2 : is_seq (rose A) (is_rose A PA) x), +p1 = p2 -> is_Node A PA x p1 = is_Node A PA x p2 + : forall (A : Type) (PA : A -> Type) (x : seq (rose A)) + (p1 p2 : is_seq (rose A) (is_rose A PA) x), + p1 = p2 -> is_Node A PA x p1 = is_Node A PA x p2 +congr_is_via +: +forall (A : Type) (PA : A -> Type) (x : A -> w A) + (p1 p2 : forall H : A, PA H -> is_w A PA (x H)), +p1 = p2 -> is_via A PA x p1 = is_via A PA x p2 + : forall (A : Type) (PA : A -> Type) (x : A -> w A) + (p1 p2 : forall H : A, PA H -> is_w A PA (x H)), + p1 = p2 -> is_via A PA x p1 = is_via A PA x p2 +congr_is_VNil +: +forall (A : Type) (PA : A -> Type), is_VNil A PA = is_VNil A PA + : forall (A : Type) (PA : A -> Type), is_VNil A PA = is_VNil A PA sigma_bool_induction : forall P : sigma_bool -> Type, (forall (depn : peano) (Pdepn : is_peano depn) @@ -11872,144 +11013,762 @@ is_ord p Pp o1 -> forall o2 : ord p, is_ord p Pp o2 -> P (mkOrd2 p o1 o2)) -> forall o : ord2 p, is_ord2 p Pp o -> P o -Query assignments: - GR = const const EXN PRINTING: Not_found - T = «elpi.tests.test_API2.T» -Module Type FT = Funsig (P:T) Sig Parameter idT : P.T -> P.T. End -Finished transaction in 10.264 secs (9.628u,0.126s) (successful) -«elpi.tests.test_API2.GT» -Query assignments: - F = «elpi.tests.test_API2.FT» - G = «elpi.tests.test_API2.GT» - X = «elpi.tests.test_API2.X» -Module Type GT = Sig Parameter idT : X.T -> X.T. End -eq_axiom_tt : eq_axiom_at unit unit_eq tt - : eq_axiom_at unit unit_eq tt -eq_axiom_Zero : eq_axiom_at peano peano_eq Zero - : eq_axiom_at peano peano_eq Zero -eq_axiom_Succ +congr_is_Envelope : -forall y : peano, -eq_axiom_at peano peano_eq y -> eq_axiom_at peano peano_eq (Succ y) - : forall y : peano, - eq_axiom_at peano peano_eq y -> eq_axiom_at peano peano_eq (Succ y) -eq_axiom_None +forall (A : Type) (PA : A -> Type) (x : A) (p1 p2 : PA x), +p1 = p2 -> +forall (y : A) (q1 q2 : PA y), +q1 = q2 -> is_Envelope A PA x p1 y q1 = is_Envelope A PA x p2 y q2 + : forall (A : Type) (PA : A -> Type) (x : A) (p1 p2 : PA x), + p1 = p2 -> + forall (y : A) (q1 q2 : PA y), + q1 = q2 -> is_Envelope A PA x p1 y q1 = is_Envelope A PA x p2 y q2 +congr_is_Redex : -forall (A : Type) (f : eq_test A), -eq_axiom_at (option A) (option_eq A f) (None A) - : forall (A : Type) (f : eq_test A), - eq_axiom_at (option A) (option_eq A f) (None A) -eq_axiom_Some +forall (A : Type) (PA : A -> Type) (x : A) (p1 p2 : PA x), +p1 = p2 -> is_Redex A PA x p1 = is_Redex A PA x p2 + : forall (A : Type) (PA : A -> Type) (x : A) (p1 p2 : PA x), + p1 = p2 -> is_Redex A PA x p1 = is_Redex A PA x p2 +congr_is_PI + : forall (x : PrimInt63.int) (p1 p2 : is_uint63 x), + p1 = p2 -> is_PI x p1 = is_PI x p2 +congr_is_PF + : forall (x : PrimFloat.float) (p1 p2 : is_float64 x), + p1 = p2 -> is_PF x p1 = is_PF x p2 +congr_is_Build_fo_record : -forall (A : Type) (f : eq_test A) (x : A), -eq_axiom_at A f x -> eq_axiom_at (option A) (option_eq A f) (Some A x) - : forall (A : Type) (f : eq_test A) (x : A), - eq_axiom_at A f x -> eq_axiom_at (option A) (option_eq A f) (Some A x) -eq_axiom_Comma +forall (n : peano) (p1 p2 : is_peano n), +p1 = p2 -> +forall (b : unit) (q1 q2 : is_unit b), +q1 = q2 -> is_Build_fo_record n p1 b q1 = is_Build_fo_record n p2 b q2 + : forall (n : peano) (p1 p2 : is_peano n), + p1 = p2 -> + forall (b : unit) (q1 q2 : is_unit b), + q1 = q2 -> is_Build_fo_record n p1 b q1 = is_Build_fo_record n p2 b q2 +congr_is_Build_pa_record : -forall (A : Type) (f : eq_test A) (B : Type) (g : eq_test B) (x : A), -eq_axiom_at A f x -> -forall y : B, -eq_axiom_at B g y -> eq_axiom_at (pair A B) (pair_eq A f B g) (Comma A B x y) - : forall (A : Type) (f : eq_test A) (B : Type) (g : eq_test B) (x : A), - eq_axiom_at A f x -> - forall y : B, - eq_axiom_at B g y -> - eq_axiom_at (pair A B) (pair_eq A f B g) (Comma A B x y) -eq_axiom_Nil +forall (A : Type) (PA : A -> Type) (n : peano) (p1 p2 : is_peano n), +p1 = p2 -> +forall (b : A) (q1 q2 : PA b), +q1 = q2 -> +is_Build_pa_record A PA n p1 b q1 = is_Build_pa_record A PA n p2 b q2 + : forall (A : Type) (PA : A -> Type) (n : peano) (p1 p2 : is_peano n), + p1 = p2 -> + forall (b : A) (q1 q2 : PA b), + q1 = q2 -> + is_Build_pa_record A PA n p1 b q1 = is_Build_pa_record A PA n p2 b q2 +congr_is_Build_pr_record : -forall (A : Type) (f : eq_test A), eq_axiom_at (seq A) (seq_eq A f) (Nil A) - : forall (A : Type) (f : eq_test A), - eq_axiom_at (seq A) (seq_eq A f) (Nil A) -eq_axiom_Cons +forall (A : Type) (pr : A -> Type) (n : peano) (p1 p2 : is_peano n), +p1 = p2 -> +forall (b : A) (q1 q2 : pr b), +q1 = q2 -> +is_Build_pr_record A pr n p1 b q1 = is_Build_pr_record A pr n p2 b q2 + : forall (A : Type) (pr : A -> Type) (n : peano) (p1 p2 : is_peano n), + p1 = p2 -> + forall (b : A) (q1 q2 : pr b), + q1 = q2 -> + is_Build_pr_record A pr n p1 b q1 = is_Build_pr_record A pr n p2 b q2 +congr_is_E1 : is_E1 = is_E1 + : is_E1 = is_E1 +COQC tests/test_param1_trivial.v +Query assignments: + C1 = «x» + M = «elpi.tests.test_API2.xx3» +projSucc1 : peano -> peano -> peano + : peano -> peano -> peano +projSome1 : forall A : Type, A -> option A -> A + : forall A : Type, A -> option A -> A +projComma1 : forall A B : Type, A -> B -> pair A B -> A + : forall A B : Type, A -> B -> pair A B -> A +projComma2 : forall A B : Type, A -> B -> pair A B -> B + : forall A B : Type, A -> B -> pair A B -> B +projCons1 : forall A : Type, A -> seq A -> seq A -> A + : forall A : Type, A -> seq A -> seq A -> A +projCons2 : forall A : Type, A -> seq A -> seq A -> seq A + : forall A : Type, A -> seq A -> seq A -> seq A +projLeaf1 : forall A : Type, A -> rose A -> A + : forall A : Type, A -> rose A -> A +projNode1 : forall A : Type, seq (rose A) -> rose A -> seq (rose A) + : forall A : Type, seq (rose A) -> rose A -> seq (rose A) +projConsN1 : forall A : Type, A -> nest (pair A A) -> nest A -> A + : forall A : Type, A -> nest (pair A A) -> nest A -> A +projConsN2 : -forall (A : Type) (f : eq_test A) (x : A), -eq_axiom_at A f x -> -forall xs : seq A, -eq_axiom_at (seq A) (seq_eq A f) xs -> -eq_axiom_at (seq A) (seq_eq A f) (Cons A x xs) - : forall (A : Type) (f : eq_test A) (x : A), - eq_axiom_at A f x -> - forall xs : seq A, - eq_axiom_at (seq A) (seq_eq A f) xs -> - eq_axiom_at (seq A) (seq_eq A f) (Cons A x xs) -eq_axiom_Leaf +forall A : Type, A -> nest (pair A A) -> nest A -> nest (pair A A) + : forall A : Type, A -> nest (pair A A) -> nest A -> nest (pair A A) +projvia1 : forall A : Type, (A -> w A) -> w A -> A -> w A + : forall A : Type, (A -> w A) -> w A -> A -> w A +projVCons1 : -forall (A : Type) (f : eq_test A) (a : A), -eq_axiom_at A f a -> eq_axiom_at (rose A) (rose_eq A f) (Leaf A a) - : forall (A : Type) (f : eq_test A) (a : A), - eq_axiom_at A f a -> eq_axiom_at (rose A) (rose_eq A f) (Leaf A a) -eq_axiom_Node +forall (A : Type) (i : peano), +A -> forall j : peano, vect A j -> vect A i -> A + : forall (A : Type) (i : peano), + A -> forall j : peano, vect A j -> vect A i -> A +projVCons2 : -forall (A : Type) (f : eq_test A) (l : seq (rose A)), -eq_axiom_at (seq (rose A)) (seq_eq (rose A) (rose_eq A f)) l -> -eq_axiom_at (rose A) (rose_eq A f) (Node A l) - : forall (A : Type) (f : eq_test A) (l : seq (rose A)), - eq_axiom_at (seq (rose A)) (seq_eq (rose A) (rose_eq A f)) l -> - eq_axiom_at (rose A) (rose_eq A f) (Node A l) -eq_axiom_Envelope - : forall (Sender : Type) (f : eq_test Sender) (x : Sender), - eq_axiom_at Sender f x -> - forall x0 : Sender, - eq_axiom_at Sender f x0 -> - forall x1 : zeta Sender, - eq_axiom_on (zeta Sender) (zeta_eq Sender f) (Envelope Sender x x0) x1 -eq_axiom_Redex - : forall (A : Type) (f : eq_test A) (x : A), - eq_axiom_at A f x -> - forall x0 : beta A, eq_axiom_on (beta A) (beta_eq A f) (Redex A x) x0 -eq_axiom_PI - : forall x : PrimInt63.int, - eq_axiom_at PrimInt63.int PrimInt63.eqb x -> - forall x0 : prim_int, eq_axiom_on prim_int prim_int_eq (PI x) x0 -eq_axiom_PF - : forall x : PrimFloat.float, - eq_axiom_at PrimFloat.float PrimFloat.eqb x -> - forall x0 : prim_float, eq_axiom_on prim_float prim_float_eq (PF x) x0 -eq_axiom_Build_fo_record +forall (A : Type) (i : peano), +A -> forall j : peano, vect A j -> vect A i -> peano + : forall (A : Type) (i : peano), + A -> forall j : peano, vect A j -> vect A i -> peano +projVCons3 : -forall x : peano, -eq_axiom_at peano peano_eq x -> -forall y : unit, -eq_axiom_at unit unit_eq y -> -eq_axiom_at fo_record fo_record_eq {| f1 := x; f2 := y |} - : forall x : peano, - eq_axiom_at peano peano_eq x -> - forall y : unit, - eq_axiom_at unit unit_eq y -> - eq_axiom_at fo_record fo_record_eq {| f1 := x; f2 := y |} -eq_axiom_Build_pa_record +forall (A : Type) (i : peano), +A -> forall j : peano, vect A j -> vect A i -> {w : peano & vect A w} + : forall (A : Type) (i : peano), + A -> forall j : peano, vect A j -> vect A i -> {w : peano & vect A w} +projbox1 : forall T : Type, T -> dyn -> Type + : forall T : Type, T -> dyn -> Type +projbox2 : forall T : Type, T -> dyn -> {T0 : Type & T0} + : forall T : Type, T -> dyn -> {T0 : Type & T0} +projEnvelope1 : forall A : Type, A -> A -> zeta A -> A + : forall A : Type, A -> A -> zeta A -> A +eq_refl : projEnvelope1 nat 1 1 (Envelope nat 0 1) = 0 + : projEnvelope1 nat 1 1 (Envelope nat 0 1) = 0 +projEnvelope2 : forall A : Type, A -> A -> zeta A -> A + : forall A : Type, A -> A -> zeta A -> A +eq_refl : projEnvelope2 nat 1 1 (Envelope nat 1 0) = 0 + : projEnvelope2 nat 1 1 (Envelope nat 1 0) = 0 +projRedex1 : forall A : Type, A -> beta A -> A + : forall A : Type, A -> beta A -> A +projWhy1 : -forall (A : Type) (f : eq_test A) (x : peano), -eq_axiom_at peano peano_eq x -> -forall y : A, -eq_axiom_at A f y -> -eq_axiom_at (pa_record A) (pa_record_eq A f) {| f3 := x; f4 := y |} - : forall (A : Type) (f : eq_test A) (x : peano), - eq_axiom_at peano peano_eq x -> - forall y : A, - eq_axiom_at A f y -> - eq_axiom_at (pa_record A) (pa_record_eq A f) {| f3 := x; f4 := y |} -eq_axiom_Build_pr_record +forall n : peano, +match n with +| Zero => peano +| Succ _ => unit +end -> iota -> peano + : forall n : peano, + match n with + | Zero => peano + | Succ _ => unit + end -> iota -> peano +projWhy2 : -forall (A : Type) (f : eq_test A) (x : peano), -eq_axiom_at peano peano_eq x -> -forall y : A, -eq_axiom_at A f y -> -eq_axiom_at (pr_record A) (pr_record_eq A f) {| pf3 := x; pf4 := y |} - : forall (A : Type) (f : eq_test A) (x : peano), - eq_axiom_at peano peano_eq x -> - forall y : A, - eq_axiom_at A f y -> - eq_axiom_at (pr_record A) (pr_record_eq A f) {| pf3 := x; pf4 := y |} -eq_axiom_E1 : eq_axiom_at enum enum_eq E1 - : eq_axiom_at enum enum_eq E1 -eq_axiom_E2 : eq_axiom_at enum enum_eq E2 - : eq_axiom_at enum enum_eq E2 -eq_axiom_E3 : eq_axiom_at enum enum_eq E3 - : eq_axiom_at enum enum_eq E3 -COQC tests/test_eqcorrect.v -Finished transaction in 0.205 secs (0.204u,0.s) (successful) +forall n : peano, +match n with +| Zero => peano +| Succ _ => unit +end -> +iota -> {i : peano & match i with + | Zero => peano + | Succ _ => unit + end} + : forall n : peano, + match n with + | Zero => peano + | Succ _ => unit + end -> + iota -> + {i : peano & match i with + | Zero => peano + | Succ _ => unit + end} +projPI1 + : PrimInt63.int -> prim_int -> PrimInt63.int +projPF1 + : PrimFloat.float -> prim_float -> PrimFloat.float +projBuild_fo_record1 : peano -> unit -> fo_record -> peano + : peano -> unit -> fo_record -> peano +projBuild_fo_record2 : peano -> unit -> fo_record -> unit + : peano -> unit -> fo_record -> unit +projBuild_pa_record2 : forall A : Type, peano -> A -> pa_record A -> A + : forall A : Type, peano -> A -> pa_record A -> A +projBuild_pr_record2 : forall A : Type, peano -> A -> pr_record A -> A + : forall A : Type, peano -> A -> pr_record A -> A +Debug: Cannot enforce elpi.apps.derive.tests.test_derive.3354 <= Set +COQC tests/test_bcongr.v +Query assignments: + _uvk_1_ = X0 + _uvk_2_ = X1 +Syntactic constraints: + evar (X1) (X2) (X1) /* suspended on X1 */ + evar X3 (sort (typ «elpi.tests.test_API2.6»)) (X2) /* suspended on X3, X2 */ + evar (X0) (X4) (X0) /* suspended on X0 */ + evar X5 (sort (typ «elpi.tests.test_API2.5»)) (X4) /* suspended on X5, X4 */ +Universe constraints: +UNIVERSES: + {elpi.tests.test_API2.6 elpi.tests.test_API2.5} |= +ALGEBRAIC UNIVERSES: + {} +UNDEFINED UNIVERSES: + +SORTS: + α4 + α5 +WEAK CONSTRAINTS: + + +Non-discriminated database +Unfoldable variable definitions: all +Unfoldable constant definitions: all +Cut: emp +For any goal -> +For xeq -> exact xxx(level 0, pattern 0 = _, id 0) + +Skipping derivation map on indt «nat» since it has been already run +Derivation lens on indt «nat» +Derivation lens on indt «nat» failed, continuing +Skipping derivation param1 on indt «nat» since it has been already run +Skipping derivation param2 on indt «nat» since it has been already run +Skipping derivation tag on indt «nat» since it has been already run +Skipping derivation eqType_ast on indt «nat» since it has been already run +Derivation projK on indt «nat» +Derivation projK on indt «nat» took 0.003642 +Derivation isK on indt «nat» +Derivation isK on indt «nat» took 0.004725 +Derivation eq on indt «nat» +Derivation eq on indt «nat» took 0.003744 +Derivation invert on indt «nat» +Derivation invert on indt «nat» took 0.006005 +Skipping derivation lens_laws on indt «nat» since it has been already run +Skipping derivation param1_congr on indt «nat» +since it has been already run +Skipping derivation param1_inhab on indt «nat» +since it has been already run +Skipping derivation param1_functor on indt «nat» +since it has been already run +Skipping derivation fields on indt «nat» since it has been already run +Derivation bcongr on indt «nat» +Derivation bcongr on indt «nat» took 0.005071 +Derivation idx2inv on indt «nat» +Derivation idx2inv on indt «nat» failed, continuing +Skipping derivation param1_trivial on indt «nat» +since it has been already run +Skipping derivation induction on indt «nat» since it has been already run +Skipping derivation eqb on indt «nat» since it has been already run +Derivation eqK on indt «nat» +Derivation eqK on indt «nat» took 0.006103 +Skipping derivation eqbcorrect on indt «nat» since it has been already run +Derivation eqcorrect on indt «nat» +Derivation eqcorrect on indt «nat» took 0.002146 +Skipping derivation eqbOK on indt «nat» since it has been already run +Derivation eqOK on indt «nat» +Derivation eqOK on indt «nat» took 0.001804 +nat_eqb : nat -> nat -> bool + : nat -> nat -> bool +is_nat : nat -> Type + : nat -> Type +is_nat_inhab : (forall x : nat, is_nat x) + : forall x : nat, is_nat x +is_nat_functor : (forall x : nat, is_nat x -> is_nat x) + : forall x : nat, is_nat x -> is_nat x +nat_induction + : (forall P : nat -> Type, + P 0 -> + (forall n : nat, P n -> P (S n)) -> forall x : nat, is_nat x -> P x) + : forall P : nat -> Type, + P 0 -> + (forall n : nat, P n -> P (S n)) -> forall x : nat, is_nat x -> P x +nat_tag : nat -> BinNums.positive + : nat -> BinNums.positive +nat_fields_t : BinNums.positive -> Type + : BinNums.positive -> Type +nat_fields : (forall n : nat, nat_fields_t (nat_tag n)) + : forall n : nat, nat_fields_t (nat_tag n) +nat_construct : (forall p : BinNums.positive, nat_fields_t p -> option nat) + : forall p : BinNums.positive, nat_fields_t p -> option nat +nat_constructP + : (forall n : nat, nat_construct (nat_tag n) (nat_fields n) = Some n) + : forall n : nat, nat_construct (nat_tag n) (nat_fields n) = Some n +nat_eqb : nat -> nat -> bool + : nat -> nat -> bool +nat_eqb_correct + : forall x : nat, eqb_correct_on nat_eqb x +nat_eqb_refl + : forall x : nat, eqb_refl_on nat_eqb x +list_map : (forall A B : Type, (A -> B) -> list A -> list B) + : forall A B : Type, (A -> B) -> list A -> list B +is_nil : (forall (A : Type) (P : A -> Type), is_list A P nil) + : forall (A : Type) (P : A -> Type), is_list A P nil +is_cons + : (forall (A : Type) (P : A -> Type) (x : A), + P x -> forall tl : list A, is_list A P tl -> is_list A P (x :: tl)) + : forall (A : Type) (P : A -> Type) (x : A), + P x -> forall tl : list A, is_list A P tl -> is_list A P (x :: tl) +is_list_functor + : (forall (A : Type) (P Q : A -> Type), + (forall x : A, P x -> Q x) -> + forall l : list A, is_list A P l -> is_list A Q l) + : forall (A : Type) (P Q : A -> Type), + (forall x : A, P x -> Q x) -> + forall l : list A, is_list A P l -> is_list A Q l +list_induction + : (forall (A : Type) (PA : A -> Type) (P : list A -> Type), + P nil -> + (forall x : A, PA x -> forall xs : list A, P xs -> P (x :: xs)%list) -> + forall l : list A, is_list A PA l -> P l) + : forall (A : Type) (PA : A -> Type) (P : list A -> Type), + P nil -> + (forall x : A, PA x -> forall xs : list A, P xs -> P (x :: xs)%list) -> + forall l : list A, is_list A PA l -> P l +list_tag : (forall A : Type, list A -> BinNums.positive) + : forall A : Type, list A -> BinNums.positive +list_fields_t : Type -> BinNums.positive -> Type + : Type -> BinNums.positive -> Type +list_fields + : (forall (A : Type) (l : list A), list_fields_t A (list_tag A l)) + : forall (A : Type) (l : list A), list_fields_t A (list_tag A l) +list_construct + : (forall (A : Type) (p : BinNums.positive), + list_fields_t A p -> option (list A)) + : forall (A : Type) (p : BinNums.positive), + list_fields_t A p -> option (list A) +list_constructP + : (forall (A : Type) (l : list A), + list_construct A (list_tag A l) (list_fields A l) = Some l) + : forall (A : Type) (l : list A), + list_construct A (list_tag A l) (list_fields A l) = Some l +list_eqb : (forall A : Type, (A -> A -> bool) -> list A -> list A -> bool) + : forall A : Type, (A -> A -> bool) -> list A -> list A -> bool +list_eqb_correct + : forall (a : Type) (eqA : a -> a -> bool), + eqb_correct eqA -> + forall x : list a, eqb_correct_on (list_eqb a eqA) x +list_eqb_refl + : forall (a : Type) (eqA : a -> a -> bool), + eqb_reflexive eqA -> forall x : list a, eqb_refl_on (list_eqb a eqA) x +Query assignments: + _uvk_19_ = «elpi.tests.test_API2.7» +Universe constraints: +UNIVERSES: + +ALGEBRAIC UNIVERSES: + {elpi.tests.test_API2.7} +UNDEFINED UNIVERSES: + elpi.tests.test_API2.7 +SORTS: + +WEAK CONSTRAINTS: + + +[p 1, p 2, p 3, p 4, p 5, p 6, p 7, p 8, p 9, p 10, p 11, p 12, p 13, + p 14, p 15, p 16, p 17, p 18, p 19, p 20, p 21, p 22, p 23, p 24, p 25, + p 26, p 27, p 28, p 29, p 30, p 31, p 32, p 33, p 34, p 35, p 36, p 37, + p 38, p 39, p 40, p 41, p 42, p 43, p 44, p 45, p 46, p 47, p 48, p 49, + p 50, p 51, p 52, p 53, p 54, p 55, p 56, p 57, p 58, p 59, p 60, p 61, + p 62, p 63, p 64, p 65, p 66, p 67, p 68, p 69, p 70, p 71, p 72, p 73, + p 74, p 75, p 76, p 77, p 78, p 79, p 80, p 81, p 82, p 83, p 84, p 85, + p 86, p 87, p 88, p 89, p 90, p 91, p 92, p 93, p 94, p 95, p 96, p 97, + p 98, p 99, p 100, p 101, p 102, p 103, p 104, p 105, p 106, p 107, + p 108, p 109, p 110, p 111, p 112, p 113, p 114, p 115, p 116, p 117, + p 118, p 119, p 120, p 121, p 122, p 123, p 124, p 125, p 126, p 127, + p 128, p 129, p 130, p 131, p 132, p 133, p 134, p 135, p 136, p 137, + p 138, p 139, p 140, p 141, p 142, p 143, p 144, p 145, p 146, p 147, + p 148, p 149, p 150, p 151, p 152, p 153, p 154, p 155, p 156, p 157, + p 158, p 159, p 160, p 161, p 162, p 163, p 164, p 165, p 166, p 167, + p 168, p 169, p 170, p 171, p 172, p 173, p 174, p 175, p 176, p 177, + p 178, p 179, p 180, p 181, p 182, p 183, p 184, p 185, p 186, p 187, + p 188, p 189, p 190, p 191, p 192, p 193, p 194, p 195, p 196, p 197, + p 198, p 199, p 200, p 201, p 202, p 203, p 204, p 205, p 206, p 207, + p 208, p 209, p 210, p 211, p 212, p 213, p 214, p 215, p 216, p 217, + p 218, p 219, p 220, p 221, p 222, p 223, p 224, p 225, p 226, p 227, + p 228, p 229, p 230, p 231, p 232, p 233, p 234, p 235, p 236, p 237, + p 238, p 239, p 240, p 241, p 242, p 243, p 244, p 245, p 246, p 247, + p 248, p 249, p 250, p 251, p 252, p 253, p 254, p 255, p 256, p 257, + p 258, p 259, p 260, p 261, p 262, p 263, p 264, p 265, p 266, p 267, + p 268, p 269, p 270, p 271, p 272, p 273, p 274, p 275, p 276, p 277, + p 278, p 279, p 280, p 281, p 282, p 283, p 284, p 285, p 286, p 287, + p 288, p 289, p 290, p 291, p 292, p 293, p 294, p 295, p 296, p 297, + p 298, p 299, p 300, p 301, p 302, p 303, p 304, p 305, p 306, p 307, + p 308, p 309, p 310, p 311, p 312, p 313, p 314, p 315, p 316, p 317, + p 318, p 319, p 320, p 321, p 322, p 323, p 324, p 325, p 326, p 327, + p 328, p 329, p 330, p 331, p 332, p 333, p 334, p 335, p 336, p 337, + p 338, p 339, p 340, p 341, p 342, p 343, p 344, p 345, p 346, p 347, + p 348, p 349, p 350, p 351, p 352, p 353, p 354, p 355, p 356, p 357, + p 358, p 359, p 360, p 361, p 362, p 363, p 364, p 365, p 366, p 367, + p 368, p 369, p 370, p 371, p 372, p 373, p 374, p 375, p 376, p 377, + p 378, p 379, p 380, p 381, p 382, p 383, p 384, p 385, p 386, p 387, + p 388, p 389, p 390, p 391, p 392, p 393, p 394, p 395, p 396, p 397, + p 398, p 399, p 400, p 401, p 402, p 403, p 404, p 405, p 406, p 407, + p 408, p 409, p 410, p 411, p 412, p 413, p 414, p 415, p 416, p 417, + p 418, p 419, p 420, p 421, p 422, p 423, p 424, p 425, p 426, p 427, + p 428, p 429, p 430, p 431, p 432, p 433, p 434, p 435, p 436, p 437, + p 438, p 439, p 440, p 441, p 442, p 443, p 444, p 445, p 446, p 447, + p 448, p 449, p 450, p 451, p 452, p 453, p 454, p 455, p 456, p 457, + p 458, p 459, p 460, p 461, p 462, p 463, p 464, p 465, p 466, p 467, + p 468, p 469, p 470, p 471, p 472, p 473, p 474, p 475, p 476, p 477, + p 478, p 479, p 480, p 481, p 482, p 483, p 484, p 485, p 486, p 487, + p 488, p 489, p 490, p 491, p 492, p 493, p 494, p 495, p 496, p 497, + p 498, p 499, p 500, p 501, p 502, p 503, p 504, p 505, p 506, p 507, + p 508, p 509, p 510, p 511, p 512, p 513, p 514, p 515, p 516, p 517, + p 518, p 519, p 520, p 521, p 522, p 523, p 524, p 525, p 526, p 527, + p 528, p 529, p 530, p 531, p 532, p 533, p 534, p 535, p 536, p 537, + p 538, p 539, p 540, p 541, p 542, p 543, p 544, p 545, p 546, p 547, + p 548, p 549, p 550, p 551, p 552, p 553, p 554, p 555, p 556, p 557, + p 558, p 559, p 560, p 561, p 562, p 563, p 564, p 565, p 566, p 567, + p 568, p 569, p 570, p 571, p 572, p 573, p 574, p 575, p 576, p 577, + p 578, p 579, p 580, p 581, p 582, p 583, p 584, p 585, p 586, p 587, + p 588, p 589, p 590, p 591, p 592, p 593, p 594, p 595, p 596, p 597, + p 598, p 599, p 600, p 601, p 602, p 603, p 604, p 605, p 606, p 607, + p 608, p 609, p 610, p 611, p 612, p 613, p 614, p 615, p 616, p 617, + p 618, p 619, p 620, p 621, p 622, p 623, p 624, p 625, p 626, p 627, + p 628, p 629, p 630, p 631, p 632, p 633, p 634, p 635, p 636, p 637, + p 638, p 639, p 640, p 641, p 642, p 643, p 644, p 645, p 646, p 647, + p 648, p 649, p 650, p 651, p 652, p 653, p 654, p 655, p 656, p 657, + p 658, p 659, p 660, p 661, p 662, p 663, p 664, p 665, p 666, p 667, + p 668, p 669, p 670, p 671, p 672, p 673, p 674, p 675, p 676, p 677, + p 678, p 679, p 680, p 681, p 682, p 683, p 684, p 685, p 686, p 687, + p 688, p 689, p 690, p 691, p 692, p 693, p 694, p 695, p 696, p 697, + p 698, p 699, p 700, p 701, p 702, p 703, p 704, p 705, p 706, p 707, + p 708, p 709, p 710, p 711, p 712, p 713, p 714, p 715, p 716, p 717, + p 718, p 719, p 720, p 721, p 722, p 723, p 724, p 725, p 726, p 727, + p 728, p 729, p 730, p 731, p 732, p 733, p 734, p 735, p 736, p 737, + p 738, p 739, p 740, p 741, p 742, p 743, p 744, p 745, p 746, p 747, + p 748, p 749, p 750, p 751, p 752, p 753, p 754, p 755, p 756, p 757, + p 758, p 759, p 760, p 761, p 762, p 763, p 764, p 765, p 766, p 767, + p 768, p 769, p 770, p 771, p 772, p 773, p 774, p 775, p 776, p 777, + p 778, p 779, p 780, p 781, p 782, p 783, p 784, p 785, p 786, p 787, + p 788, p 789, p 790, p 791, p 792, p 793, p 794, p 795, p 796, p 797, + p 798, p 799, p 800, p 801, p 802, p 803, p 804, p 805, p 806, p 807, + p 808, p 809, p 810, p 811, p 812, p 813, p 814, p 815, p 816, p 817, + p 818, p 819, p 820, p 821, p 822, p 823, p 824, p 825, p 826, p 827, + p 828, p 829, p 830, p 831, p 832, p 833, p 834, p 835, p 836, p 837, + p 838, p 839, p 840, p 841, p 842, p 843, p 844, p 845, p 846, p 847, + p 848, p 849, p 850, p 851, p 852, p 853, p 854, p 855, p 856, p 857, + p 858, p 859, p 860, p 861, p 862, p 863, p 864, p 865, p 866, p 867, + p 868, p 869, p 870, p 871, p 872, p 873, p 874, p 875, p 876, p 877, + p 878, p 879, p 880, p 881, p 882, p 883, p 884, p 885, p 886, p 887, + p 888, p 889, p 890, p 891, p 892, p 893, p 894, p 895, p 896, p 897, + p 898, p 899, p 900, p 901, p 902, p 903, p 904, p 905, p 906, p 907, + p 908, p 909, p 910, p 911, p 912, p 913, p 914, p 915, p 916, p 917, + p 918, p 919, p 920, p 921, p 922, p 923, p 924, p 925, p 926, p 927, + p 928, p 929, p 930, p 931, p 932, p 933, p 934, p 935, p 936, p 937, + p 938, p 939, p 940, p 941, p 942, p 943, p 944, p 945, p 946, p 947, + p 948, p 949, p 950, p 951, p 952, p 953, p 954, p 955, p 956, p 957, + p 958, p 959, p 960, p 961, p 962, p 963, p 964, p 965, p 966, p 967, + p 968, p 969, p 970, p 971, p 972, p 973, p 974, p 975, p 976, p 977, + p 978, p 979, p 980, p 981, p 982, p 983, p 984, p 985, p 986, p 987, + p 988, p 989, p 990, p 991, p 992, p 993, p 994, p 995, p 996, p 997, + p 998, p 999, p 1000, p 1001, p 1002, p 1003, p 1004, p 1005, p 1006, + p 1007, p 1008, p 1009, p 1010, p 1011, p 1012, p 1013, p 1014, p 1015, + p 1016, p 1017, p 1018, p 1019, p 1020, p 1021, p 1022, p 1023, p 1024, + p 1025, p 1026, p 1027, p 1028, p 1029, p 1030, p 1031, p 1032, p 1033, + p 1034, p 1035, p 1036, p 1037, p 1038, p 1039, p 1040, p 1041, p 1042, + p 1043, p 1044, p 1045, p 1046, p 1047, p 1048, p 1049, p 1050, p 1051, + p 1052, p 1053, p 1054, p 1055, p 1056, p 1057, p 1058, p 1059, p 1060, + p 1061, p 1062, p 1063, p 1064, p 1065, p 1066, p 1067, p 1068, p 1069, + p 1070, p 1071, p 1072, p 1073, p 1074, p 1075, p 1076, p 1077, p 1078, + p 1079, p 1080, p 1081, p 1082, p 1083, p 1084, p 1085, p 1086, p 1087, + p 1088, p 1089, p 1090, p 1091, p 1092, p 1093, p 1094, p 1095, p 1096, + p 1097, p 1098, p 1099, p 1100, p 1101, p 1102, p 1103, p 1104, p 1105, + p 1106, p 1107, p 1108, p 1109, p 1110, p 1111, p 1112, p 1113, p 1114, + p 1115, p 1116, p 1117, p 1118, p 1119, p 1120, p 1121, p 1122, p 1123, + p 1124, p 1125, p 1126, p 1127, p 1128, p 1129, p 1130, p 1131, p 1132, + p 1133, p 1134, p 1135, p 1136, p 1137, p 1138, p 1139, p 1140, p 1141, + p 1142, p 1143, p 1144, p 1145, p 1146, p 1147, p 1148, p 1149, p 1150, + p 1151, p 1152, p 1153, p 1154, p 1155, p 1156, p 1157, p 1158, p 1159, + p 1160, p 1161, p 1162, p 1163, p 1164, p 1165, p 1166, p 1167, p 1168, + p 1169, p 1170, p 1171, p 1172, p 1173, p 1174, p 1175, p 1176, p 1177, + p 1178, p 1179, p 1180, p 1181, p 1182, p 1183, p 1184, p 1185, p 1186, + p 1187, p 1188, p 1189, p 1190, p 1191, p 1192, p 1193, p 1194, p 1195, + p 1196, p 1197, p 1198, p 1199, p 1200, p 1201, p 1202, p 1203, p 1204, + p 1205, p 1206, p 1207, p 1208, p 1209, p 1210, p 1211, p 1212, p 1213, + p 1214, p 1215, p 1216, p 1217, p 1218, p 1219, p 1220, p 1221, p 1222, + p 1223, p 1224, p 1225, p 1226, p 1227, p 1228, p 1229, p 1230, p 1231, + p 1232, p 1233, p 1234, p 1235, p 1236, p 1237, p 1238, p 1239, p 1240, + p 1241, p 1242, p 1243, p 1244, p 1245, p 1246, p 1247, p 1248, p 1249, + p 1250, p 1251, p 1252, p 1253, p 1254, p 1255, p 1256, p 1257, p 1258, + p 1259, p 1260, p 1261, p 1262, p 1263, p 1264, p 1265, p 1266, p 1267, + p 1268, p 1269, p 1270, p 1271, p 1272, p 1273, p 1274, p 1275, p 1276, + p 1277, p 1278, p 1279, p 1280, p 1281, p 1282, p 1283, p 1284, p 1285, + p 1286, p 1287, p 1288, p 1289, p 1290, p 1291, p 1292, p 1293, p 1294, + p 1295, p 1296, p 1297, p 1298, p 1299, p 1300, p 1301, p 1302, p 1303, + p 1304, p 1305, p 1306, p 1307, p 1308, p 1309, p 1310, p 1311, p 1312, + p 1313, p 1314, p 1315, p 1316, p 1317, p 1318, p 1319, p 1320, p 1321, + p 1322, p 1323, p 1324, p 1325, p 1326, p 1327, p 1328, p 1329, p 1330, + p 1331, p 1332, p 1333, p 1334, p 1335, p 1336, p 1337, p 1338, p 1339, + p 1340, p 1341, p 1342, p 1343, p 1344, p 1345, p 1346, p 1347, p 1348, + p 1349, p 1350, p 1351, p 1352, p 1353, p 1354, p 1355, p 1356, p 1357, + p 1358, p 1359, p 1360, p 1361, p 1362, p 1363, p 1364, p 1365, p 1366, + p 1367, p 1368, p 1369, p 1370, p 1371, p 1372, p 1373, p 1374, p 1375, + p 1376, p 1377, p 1378, p 1379, p 1380, p 1381, p 1382, p 1383, p 1384, + p 1385, p 1386, p 1387, p 1388, p 1389, p 1390, p 1391, p 1392, p 1393, + p 1394, p 1395, p 1396, p 1397, p 1398, p 1399, p 1400, p 1401, p 1402, + p 1403, p 1404, p 1405, p 1406, p 1407, p 1408, p 1409, p 1410, p 1411, + p 1412, p 1413, p 1414, p 1415, p 1416, p 1417, p 1418, p 1419, p 1420, + p 1421, p 1422, p 1423, p 1424, p 1425, p 1426, p 1427, p 1428, p 1429, + p 1430, p 1431, p 1432, p 1433, p 1434, p 1435, p 1436, p 1437, p 1438, + p 1439, p 1440, p 1441, p 1442, p 1443, p 1444, p 1445, p 1446, p 1447, + p 1448, p 1449, p 1450, p 1451, p 1452, p 1453, p 1454, p 1455, p 1456, + p 1457, p 1458, p 1459, p 1460, p 1461, p 1462, p 1463, p 1464, p 1465, + p 1466, p 1467, p 1468, p 1469, p 1470, p 1471, p 1472, p 1473, p 1474, + p 1475, p 1476, p 1477, p 1478, p 1479, p 1480, p 1481, p 1482, p 1483, + p 1484, p 1485, p 1486, p 1487, p 1488, p 1489, p 1490, p 1491, p 1492, + p 1493, p 1494, p 1495, p 1496, p 1497, p 1498, p 1499, p 1500, p 1501, + p 1502, p 1503, p 1504, p 1505, p 1506, p 1507, p 1508, p 1509, p 1510, + p 1511, p 1512, p 1513, p 1514, p 1515, p 1516, p 1517, p 1518, p 1519, + p 1520, p 1521, p 1522, p 1523, p 1524, p 1525, p 1526, p 1527, p 1528, + p 1529, p 1530, p 1531, p 1532, p 1533, p 1534, p 1535, p 1536, p 1537, + p 1538, p 1539, p 1540, p 1541, p 1542, p 1543, p 1544, p 1545, p 1546, + p 1547, p 1548, p 1549, p 1550, p 1551, p 1552, p 1553, p 1554, p 1555, + p 1556, p 1557, p 1558, p 1559, p 1560, p 1561, p 1562, p 1563, p 1564, + p 1565, p 1566, p 1567, p 1568, p 1569, p 1570, p 1571, p 1572, p 1573, + p 1574, p 1575, p 1576, p 1577, p 1578, p 1579, p 1580, p 1581, p 1582, + p 1583, p 1584, p 1585, p 1586, p 1587, p 1588, p 1589, p 1590, p 1591, + p 1592, p 1593, p 1594, p 1595, p 1596, p 1597, p 1598, p 1599, p 1600, + p 1601, p 1602, p 1603, p 1604, p 1605, p 1606, p 1607, p 1608, p 1609, + p 1610, p 1611, p 1612, p 1613, p 1614, p 1615, p 1616, p 1617, p 1618, + p 1619, p 1620, p 1621, p 1622, p 1623, p 1624, p 1625, p 1626, p 1627, + p 1628, p 1629, p 1630, p 1631, p 1632, p 1633, p 1634, p 1635, p 1636, + p 1637, p 1638, p 1639, p 1640, p 1641, p 1642, p 1643, p 1644, p 1645, + p 1646, p 1647, p 1648, p 1649, p 1650, p 1651, p 1652, p 1653, p 1654, + p 1655, p 1656, p 1657, p 1658, p 1659, p 1660, p 1661, p 1662, p 1663, + p 1664, p 1665, p 1666, p 1667, p 1668, p 1669, p 1670, p 1671, p 1672, + p 1673, p 1674, p 1675, p 1676, p 1677, p 1678, p 1679, p 1680, p 1681, + p 1682, p 1683, p 1684, p 1685, p 1686, p 1687, p 1688, p 1689, p 1690, + p 1691, p 1692, p 1693, p 1694, p 1695, p 1696, p 1697, p 1698, p 1699, + p 1700, p 1701, p 1702, p 1703, p 1704, p 1705, p 1706, p 1707, p 1708, + p 1709, p 1710, p 1711, p 1712, p 1713, p 1714, p 1715, p 1716, p 1717, + p 1718, p 1719, p 1720, p 1721, p 1722, p 1723, p 1724, p 1725, p 1726, + p 1727, p 1728, p 1729, p 1730, p 1731, p 1732, p 1733, p 1734, p 1735, + p 1736, p 1737, p 1738, p 1739, p 1740, p 1741, p 1742, p 1743, p 1744, + p 1745, p 1746, p 1747, p 1748, p 1749, p 1750, p 1751, p 1752, p 1753, + p 1754, p 1755, p 1756, p 1757, p 1758, p 1759, p 1760, p 1761, p 1762, + p 1763, p 1764, p 1765, p 1766, p 1767, p 1768, p 1769, p 1770, p 1771, + p 1772, p 1773, p 1774, p 1775, p 1776, p 1777, p 1778, p 1779, p 1780, + p 1781, p 1782, p 1783, p 1784, p 1785, p 1786, p 1787, p 1788, p 1789, + p 1790, p 1791, p 1792, p 1793, p 1794, p 1795, p 1796, p 1797, p 1798, + p 1799, p 1800, p 1801, p 1802, p 1803, p 1804, p 1805, p 1806, p 1807, + p 1808, p 1809, p 1810, p 1811, p 1812, p 1813, p 1814, p 1815, p 1816, + p 1817, p 1818, p 1819, p 1820, p 1821, p 1822, p 1823, p 1824, p 1825, + p 1826, p 1827, p 1828, p 1829, p 1830, p 1831, p 1832, p 1833, p 1834, + p 1835, p 1836, p 1837, p 1838, p 1839, p 1840, p 1841, p 1842, p 1843, + p 1844, p 1845, p 1846, p 1847, p 1848, p 1849, p 1850, p 1851, p 1852, + p 1853, p 1854, p 1855, p 1856, p 1857, p 1858, p 1859, p 1860, p 1861, + p 1862, p 1863, p 1864, p 1865, p 1866, p 1867, p 1868, p 1869, p 1870, + p 1871, p 1872, p 1873, p 1874, p 1875, p 1876, p 1877, p 1878, p 1879, + p 1880, p 1881, p 1882, p 1883, p 1884, p 1885, p 1886, p 1887, p 1888, + p 1889, p 1890, p 1891, p 1892, p 1893, p 1894, p 1895, p 1896, p 1897, + p 1898, p 1899, p 1900, p 1901, p 1902, p 1903, p 1904, p 1905, p 1906, + p 1907, p 1908, p 1909, p 1910, p 1911, p 1912, p 1913, p 1914, p 1915, + p 1916, p 1917, p 1918, p 1919, p 1920, p 1921, p 1922, p 1923, p 1924, + p 1925, p 1926, p 1927, p 1928, p 1929, p 1930, p 1931, p 1932, p 1933, + p 1934, p 1935, p 1936, p 1937, p 1938, p 1939, p 1940, p 1941, p 1942, + p 1943, p 1944, p 1945, p 1946, p 1947, p 1948, p 1949, p 1950, p 1951, + p 1952, p 1953, p 1954, p 1955, p 1956, p 1957, p 1958, p 1959, p 1960, + p 1961, p 1962, p 1963, p 1964, p 1965, p 1966, p 1967, p 1968, p 1969, + p 1970, p 1971, p 1972, p 1973, p 1974, p 1975, p 1976, p 1977, p 1978, + p 1979, p 1980, p 1981, p 1982, p 1983, p 1984, p 1985, p 1986, p 1987, + p 1988, p 1989, p 1990, p 1991, p 1992, p 1993, p 1994, p 1995, p 1996, + p 1997, p 1998, p 1999, p 2000, p 2001, p 2002, p 2003, p 2004, p 2005, + p 2006, p 2007, p 2008, p 2009, p 2010, p 2011, p 2012, p 2013, p 2014, + p 2015, p 2016, p 2017, p 2018, p 2019, p 2020, p 2021, p 2022, p 2023, + p 2024, p 2025, p 2026, p 2027, p 2028, p 2029, p 2030, p 2031, p 2032, + p 2033, p 2034, p 2035, p 2036, p 2037, p 2038, p 2039, p 2040, p 2041, + p 2042, p 2043, p 2044, p 2045, p 2046, p 2047, p 2048, p 2049, p 2050, + p 2051, p 2052, p 2053, p 2054, p 2055, p 2056, p 2057, p 2058, p 2059, + p 2060, p 2061, p 2062, p 2063, p 2064, p 2065, p 2066, p 2067, p 2068, + p 2069, p 2070, p 2071, p 2072, p 2073, p 2074, p 2075, p 2076, p 2077, + p 2078, p 2079, p 2080, p 2081, p 2082, p 2083, p 2084, p 2085, p 2086, + p 2087, p 2088, p 2089, p 2090, p 2091, p 2092, p 2093, p 2094, p 2095, + p 2096, p 2097, p 2098, p 2099, p 2100, p 2101, p 2102, p 2103, p 2104, + p 2105, p 2106, p 2107, p 2108, p 2109, p 2110, p 2111, p 2112, p 2113, + p 2114, p 2115, p 2116, p 2117, p 2118, p 2119, p 2120, p 2121, p 2122, + p 2123, p 2124, p 2125, p 2126, p 2127, p 2128, p 2129, p 2130, p 2131, + p 2132, p 2133, p 2134, p 2135, p 2136, p 2137, p 2138, p 2139, p 2140, + p 2141, p 2142, p 2143, p 2144, p 2145, p 2146, p 2147, p 2148, p 2149, + p 2150, p 2151, p 2152, p 2153, p 2154, p 2155, p 2156, p 2157, p 2158, + p 2159, p 2160, p 2161, p 2162, p 2163, p 2164, p 2165, p 2166, p 2167, + p 2168, p 2169, p 2170, p 2171, p 2172, p 2173, p 2174, p 2175, p 2176, + p 2177, p 2178, p 2179, p 2180, p 2181, p 2182, p 2183, p 2184, p 2185, + p 2186, p 2187, p 2188, p 2189, p 2190, p 2191, p 2192, p 2193, p 2194, + p 2195, p 2196, p 2197, p 2198, p 2199, p 2200, p 2201, p 2202, p 2203, + p 2204, p 2205, p 2206, p 2207, p 2208, p 2209, p 2210, p 2211, p 2212, + p 2213, p 2214, p 2215, p 2216, p 2217, p 2218, p 2219, p 2220, p 2221, + p 2222, p 2223, p 2224, p 2225, p 2226, p 2227, p 2228, p 2229, p 2230, + p 2231, p 2232, p 2233, p 2234, p 2235, p 2236, p 2237, p 2238, p 2239, + p 2240, p 2241, p 2242, p 2243, p 2244, p 2245, p 2246, p 2247, p 2248, + p 2249, p 2250, p 2251, p 2252, p 2253, p 2254, p 2255, p 2256, p 2257, + p 2258, p 2259, p 2260, p 2261, p 2262, p 2263, p 2264, p 2265, p 2266, + p 2267, p 2268, p 2269, p 2270, p 2271, p 2272, p 2273, p 2274, p 2275, + p 2276, p 2277, p 2278, p 2279, p 2280, p 2281, p 2282, p 2283, p 2284, + p 2285, p 2286, p 2287, p 2288, p 2289, p 2290, p 2291, p 2292, p 2293, + p 2294, p 2295, p 2296, p 2297, p 2298, p 2299, p 2300, p 2301, p 2302, + p 2303, p 2304, p 2305, p 2306, p 2307, p 2308, p 2309, p 2310, p 2311, + p 2312, p 2313, p 2314, p 2315, p 2316, p 2317, p 2318, p 2319, p 2320, + p 2321, p 2322, p 2323, p 2324, p 2325, p 2326, p 2327, p 2328, p 2329, + p 2330, p 2331, p 2332, p 2333, p 2334, p 2335, p 2336, p 2337, p 2338, + p 2339, p 2340, p 2341, p 2342, p 2343, p 2344, p 2345, p 2346, p 2347, + p 2348, p 2349, p 2350, p 2351, p 2352, p 2353, p 2354, p 2355, p 2356, + p 2357, p 2358, p 2359, p 2360, p 2361, p 2362, p 2363, p 2364, p 2365, + p 2366, p 2367, p 2368, p 2369, p 2370, p 2371, p 2372, p 2373, p 2374, + p 2375, p 2376, p 2377, p 2378, p 2379, p 2380, p 2381, p 2382, p 2383, + p 2384, p 2385, p 2386, p 2387, p 2388, p 2389, p 2390, p 2391, p 2392, + p 2393, p 2394, p 2395, p 2396, p 2397, p 2398, p 2399, p 2400, p 2401, + p 2402, p 2403, p 2404, p 2405, p 2406, p 2407, p 2408, p 2409, p 2410, + p 2411, p 2412, p 2413, p 2414, p 2415, p 2416, p 2417, p 2418, p 2419, + p 2420, p 2421, p 2422, p 2423, p 2424, p 2425, p 2426, p 2427, p 2428, + p 2429, p 2430, p 2431, p 2432, p 2433, p 2434, p 2435, p 2436, p 2437, + p 2438, p 2439, p 2440, p 2441, p 2442, p 2443, p 2444, p 2445, p 2446, + p 2447, p 2448, p 2449, p 2450, p 2451, p 2452, p 2453, p 2454, p 2455, + p 2456, p 2457, p 2458, p 2459, p 2460, p 2461, p 2462, p 2463, p 2464, + p 2465, p 2466, p 2467, p 2468, p 2469, p 2470, p 2471, p 2472, p 2473, + p 2474, p 2475, p 2476, p 2477, p 2478, p 2479, p 2480, p 2481, p 2482, + p 2483, p 2484, p 2485, p 2486, p 2487, p 2488, p 2489, p 2490, p 2491, + p 2492, p 2493, p 2494, p 2495, p 2496, p 2497, p 2498, p 2499, p 2500, + p 2501, p 2502, p 2503, p 2504, p 2505, p 2506, p 2507, p 2508, p 2509, + p 2510, p 2511, p 2512, p 2513, p 2514, p 2515, p 2516, p 2517, p 2518, + p 2519, p 2520, p 2521, p 2522, p 2523, p 2524, p 2525, p 2526, p 2527, + p 2528, p 2529, p 2530, p 2531, p 2532, p 2533, p 2534, p 2535, p 2536, + p 2537, p 2538, p 2539, p 2540, p 2541, p 2542, p 2543, p 2544, p 2545, + p 2546, p 2547, p 2548, p 2549, p 2550, p 2551, p 2552, p 2553, p 2554, + p 2555, p 2556, p 2557, p 2558, p 2559, p 2560, p 2561, p 2562, p 2563, + p 2564, p 2565, p 2566, p 2567, p 2568, p 2569, p 2570, p 2571, p 2572, + p 2573, p 2574, p 2575, p 2576, p 2577, p 2578, p 2579, p 2580, p 2581, + p 2582, p 2583, p 2584, p 2585, p 2586, p 2587, p 2588, p 2589, p 2590, + p 2591, p 2592, p 2593, p 2594, p 2595, p 2596, p 2597, p 2598, p 2599, + p 2600, p 2601, p 2602, p 2603, p 2604, p 2605, p 2606, p 2607, p 2608, + p 2609, p 2610, p 2611, p 2612, p 2613, p 2614, p 2615, p 2616, p 2617, + p 2618, p 2619, p 2620, p 2621, p 2622, p 2623, p 2624, p 2625, p 2626, + p 2627, p 2628, p 2629, p 2630, p 2631, p 2632, p 2633, p 2634, p 2635, + p 2636, p 2637, p 2638, p 2639, p 2640, p 2641, p 2642, p 2643, p 2644, + p 2645, p 2646, p 2647, p 2648, p 2649, p 2650, p 2651, p 2652, p 2653, + p 2654, p 2655, p 2656, p 2657, p 2658, p 2659, p 2660, p 2661, p 2662, + p 2663, p 2664, p 2665, p 2666, p 2667, p 2668, p 2669, p 2670, p 2671, + p 2672, p 2673, p 2674, p 2675, p 2676, p 2677, p 2678, p 2679, p 2680, + p 2681, p 2682, p 2683, p 2684, p 2685, p 2686, p 2687, p 2688, p 2689, + p 2690, p 2691, p 2692, p 2693, p 2694, p 2695, p 2696, p 2697, p 2698, + p 2699, p 2700, p 2701, p 2702, p 2703, p 2704, p 2705, p 2706, p 2707, + p 2708, p 2709, p 2710, p 2711, p 2712, p 2713, p 2714, p 2715, p 2716, + p 2717, p 2718, p 2719, p 2720, p 2721, p 2722, p 2723, p 2724, p 2725, + p 2726, p 2727, p 2728, p 2729, p 2730, p 2731, p 2732, p 2733, p 2734, + p 2735, p 2736, p 2737, p 2738, p 2739, p 2740, p 2741, p 2742, p 2743, + p 2744, p 2745, p 2746, p 2747, p 2748, p 2749, p 2750, p 2751, p 2752, + p 2753, p 2754, p 2755, p 2756, p 2757, p 2758, p 2759, p 2760, p 2761, + p 2762, p 2763, p 2764, p 2765, p 2766, p 2767, p 2768, p 2769, p 2770, + p 2771, p 2772, p 2773, p 2774, p 2775, p 2776, p 2777, p 2778, p 2779, + p 2780, p 2781, p 2782, p 2783, p 2784, p 2785, p 2786, p 2787, p 2788, + p 2789, p 2790, p 2791, p 2792, p 2793, p 2794, p 2795, p 2796, p 2797, + p 2798, p 2799, p 2800, p 2801, p 2802, p 2803, p 2804, p 2805, p 2806, + p 2807, p 2808, p 2809, p 2810, p 2811, p 2812, p 2813, p 2814, p 2815, + p 2816, p 2817, p 2818, p 2819, p 2820, p 2821, p 2822, p 2823, p 2824, + p 2825, p 2826, p 2827, p 2828, p 2829, p 2830, p 2831, p 2832, p 2833, + p 2834, p 2835, p 2836, p 2837, p 2838, p 2839, p 2840, p 2841, p 2842, + p 2843, p 2844, p 2845, p 2846, p 2847, p 2848, p 2849, p 2850, p 2851, + p 2852, p 2853, p 2854, p 2855, p 2856, p 2857, p 2858, p 2859, p 2860, + p 2861, p 2862, p 2863, p 2864, p 2865, p 2866, p 2867, p 2868, p 2869, + p 2870, p 2871, p 2872, p 2873, p 2874, p 2875, p 2876, p 2877, p 2878, + p 2879, p 2880, p 2881, p 2882, p 2883, p 2884, p 2885, p 2886, p 2887, + p 2888, p 2889, p 2890, p 2891, p 2892, p 2893, p 2894, p 2895, p 2896, + p 2897, p 2898, p 2899, p 2900, p 2901, p 2902, p 2903, p 2904, p 2905, + p 2906, p 2907, p 2908, p 2909, p 2910, p 2911, p 2912, p 2913, p 2914, + p 2915, p 2916, p 2917, p 2918, p 2919, p 2920, p 2921, p 2922, p 2923, + p 2924, p 2925, p 2926, p 2927, p 2928, p 2929, p 2930, p 2931, p 2932, + p 2933, p 2934, p 2935, p 2936, p 2937, p 2938, p 2939, p 2940, p 2941, + p 2942, p 2943, p 2944, p 2945, p 2946, p 2947, p 2948, p 2949, p 2950, + p 2951, p 2952, p 2953, p 2954, p 2955, p 2956, p 2957, p 2958, p 2959, + p 2960, p 2961, p 2962, p 2963, p 2964, p 2965, p 2966, p 2967, p 2968, + p 2969, p 2970, p 2971, p 2972, p 2973, p 2974, p 2975, p 2976, p 2977, + p 2978, p 2979, p 2980, p 2981, p 2982, p 2983, p 2984, p 2985, p 2986, + p 2987, p 2988, p 2989, p 2990, p 2991, p 2992, p 2993, p 2994, p 2995, + p 2996, p 2997, p 2998, p 2999, p 3000, p 3001, p 3002, p 3003, p 3004, + p 3005, p 3006, p 3007, p 3008, p 3009, p 3010, p 3011, p 3012, p 3013, + p 3014, p 3015, p 3016, p 3017, p 3018, p 3019, p 3020, p 3021, p 3022, + p 3023, p 3024, p 3025, p 3026, p 3027, p 3028, p 3029, p 3030, p 3031, + p 3032, p 3033, p 3034, p 3035, p 3036, p 3037, p 3038, p 3039, p 3040, + p 3041, p 3042, p 3043, p 3044, p 3045, p 3046, p 3047, p 3048, p 3049, + p 3050, p 3051, p 3052, p 3053, p 3054, p 3055, p 3056, p 3057, p 3058, + p 3059, p 3060, p 3061, p 3062, p 3063, p 3064, p 3065, p 3066, p 3067, + p 3068, p 3069, p 3070, p 3071, p 3072, p 3073, p 3074, p 3075, p 3076, + p 3077, p 3078, p 3079, p 3080, p 3081, p 3082, p 3083, p 3084, p 3085, + p 3086, p 3087, p 3088, p 3089, p 3090, p 3091, p 3092, p 3093, p 3094, + p 3095, p 3096, p 3097, p 3098, p 3099, p 3100, p 3101, p 3102, p 3103, + p 3104, p 3105, p 3106, p 3107, p 3108, p 3109, p 3110, p 3111, p 3112, + p 3113, p 3114, p 3115, p 3116, p 3117, p 3118, p 3119, p 3120, p 3121, + p 3122, p 3123, p 3124, p 3125, p 3126, p 3127, p 3128, p 3129, p 3130, + p 3131, p 3132, p 3133, p 3134, p 3135, p 3136, p 3137, p 3138, p 3139, + p 3140, p 3141, p 3142, p 3143, p 3144, p 3145, p 3146, p 3147, p 3148, + p 3149, p 3150, p 3151, p 3152, p 3153, p 3154, p 3155, p 3156, p 3157, + p 3158, p 3159, p 3160, p 3161, p 3162, p 3163, p 3164, p 3165, p 3166, + p 3167, p 3168, p 3169, p 3170, p 3171, p 3172, p 3173, p 3174, p 3175, + p 3176, p 3177, p 3178, p 3179, p 3180, p 3181, p 3182, p 3183, p 3184, + p 3185, p 3186, p 3187, p 3188, p 3189, p 3190, p 3191, p 3192, p 3193, + p 3194, p 3195, p 3196, p 3197, p 3198, p 3199, p 3200, p 3201, p 3202, + p 3203, p 3204, p 3205, p 3206, p 3207, p 3208, p 3209, p 3210, p 3211, + p 3212, p 3213, p 3214, p 3215, p 3216, p 3217, p 3218, p 3219, p 3220, + p 3221, p 3222, p 3223, p 3224, p 3225, p 3226, p 3227, p 3228, p 3229, + p 3230, p 3231, p 3232, p 3233, p 3234, p 3235, p 3236, p 3237, p 3238, + p 3239, p 3240, p 3241, p 3242, p 3243, p 3244, p 3245, p 3246, p 3247, + p 3248, p 3249, p 3250, p 3251, p 3252, p 3253, p 3254, p 3255, p 3256, + p 3257, p 3258, p 3259, p 3260, p 3261, p 3262, p 3263, p 3264, p 3265, + p 3266, p 3267, p 3268, p 3269, p 3270, p 3271, p 3272, p 3273, p 3274, + p 3275, p 3276, p 3277, p 3278, p 3279, p 3280, p 3281, p 3282, p 3283, + p 3284, p 3285, p 3286, p 3287, p 3288, p 3289, p 3290, p 3291, p 3292, + p 3293, p 3294, p 3295, p 3296, p 3297, p 3298, p 3299, p 3300, p 3301, + p 3302, p 3303, p 3304, p 3305, p 3306, p 3307, p 3308, p 3309, p 3310, + p 3311, p 3312, p 3313, p 3314, p 3315, p 3316, p 3317, p 3318, p 3319, + p 3320, p 3321, p 3322, p 3323, p 3324, p 3325, p 3326, p 3327, p 3328, + p 3329, p 3330, p 3331, p 3332, p 3333, p 3334, p 3335, p 3336, p 3337, + p 3338, p 3339, p 3340, p 3341, p 3342, p 3343, p 3344, p 3345, p 3346, + p 3347, p 3348, p 3349, p 3350, p 3351, p 3352, p 3353, p 3354, p 3355, + p 3356, p 3357, p 3358, p 3359, p 3360, p 3361, p 3362, p 3363, p 3364, + p 3365, p 3366, p 3367, p 3368, p 3369, p 3370, p 3371, p 3372, p 3373, + p 3374, p 3375, p 3376, p 3377, p 3378, p 3379, p 3380, p 3381, p 3382, + p 3383, p 3384, p 3385, p 3386, p 3387, p 3388, p 3389, p 3390, p 3391, + p 3392, p 3393, p 3394, p 3395, p 3396, p 3397, p 3398, p 3399, p 3400, + p 3401, p 3402, p 3403, p 3404, p 3405, p 3406, p 3407, p 3408, p 3409, + p 3410, p 3411, p 3412, p 3413, p 3414, p 3415, p 3416, p 3417, p 3418, + p 3419, p 3420, p 3421, p 3422, p 3423, p 3424, p 3425, p 3426, p 3427, + p 3428, p 3429, p 3430, p 3431, p 3432, p 3433, p 3434, p 3435, p 3436, + p 3437, p 3438, p 3439, p 3440, p 3441, p 3442, p 3443, p 3444, p 3445, + p 3446, p 3447, p 3448, p 3449, p 3450, p 3451, p 3452, p 3453, p 3454, + p 3455, p 3456, p 3457, p 3458, p 3459, p 3460, p 3461, p 3462, p 3463, + p 3464, p 3465, p 3466, p 3467, p 3468, p 3469, p 3470, p 3471, p 3472, + p 3473, p 3474, p 3475, p 3476, p 3477, p 3478, p 3479, p 3480, p 3481, + p 3482, p 3483, p 3484, p 3485, p 3486, p 3487, p 3488, p 3489, p 3490, + p 3491, p 3492, p 3493, p 3494, p 3495, p 3496, p 3497, p 3498, p 3499, + p 3500, p 3501, p 3502, p 3503, p 3504, p 3505, p 3506, p 3507, p 3508, + p 3509, p 3510, p 3511, p 3512, p 3513, p 3514, p 3515, p 3516, p 3517, + p 3518, p 3519, p 3520, p 3521, p 3522, p 3523, p 3524, p 3525, p 3526, + p 3527, p 3528, p 3529, p 3530, p 3531, p 3532, p 3533, p 3534, p 3535, + p 3536, p 3537, p 3538, p 3539, p 3540, p 3541, p 3542, p 3543, p 3544, + p 3545, p 3546, p 3547, p 3548, p 3549, p 3550, p 3551, p 3552, p 3553, + p 3554, p 3555, p 3556, p 3557, p 3558, p 3559, p 3560, p 3561, p 3562, + p 3563, p 3564, p 3565, p 3566, p 3567, p 3568, p 3569, p 3570, p 3571, + p 3572, p 3573, p 3574, p 3575, p 3576, p 3577, p 3578, p 3579, p 3580, + p 3581, p 3582, p 3583, p 3584, p 3585, p 3586, p 3587, p 3588, p 3589, + p 3590, p 3591, p 3592, p 3593, p 3594, p 3595, p 3596, p 3597, p 3598, + p 3599, p 3600, p 3601, p 3602, p 3603, p 3604, p 3605, p 3606, p 3607, + p 3608, p 3609, p 3610, p 3611, p 3612, p 3613, p 3614, p 3615, p 3616, + p 3617, p 3618, p 3619, p 3620, p 3621, p 3622, p 3623, p 3624, p 3625, + p 3626, p 3627, p 3628, p 3629, p 3630, p 3631, p 3632, p 3633, p 3634, + p 3635, p 3636, p 3637, p 3638, p 3639, p 3640, p 3641, p 3642, p 3643, + p 3644, p 3645, p 3646, p 3647, p 3648, p 3649, p 3650, p 3651, p 3652, + p 3653, p 3654, p 3655, p 3656, p 3657, p 3658, p 3659, p 3660, p 3661, + p 3662, p 3663, p 3664, p 3665, p 3666, p 3667, p 3668, p 3669, p 3670, + p 3671, p 3672, p 3673, p 3674, p 3675, p 3676, p 3677, p 3678, p 3679, + p 3680, p 3681, p 3682, p 3683, p 3684, p 3685, p 3686, p 3687, p 3688, + p 3689, p 3690, p 3691, p 3692, p 3693, p 3694, p 3695, p 3696, p 3697, + p 3698, p 3699, p 3700, p 3701, p 3702, p 3703, p 3704, p 3705, p 3706, + p 3707, p 3708, p 3709, p 3710] +Query assignments: + GR = const const EXN PRINTING: Not_found + T = «elpi.tests.test_API2.T» +«elpi.tests.test_API2.G» +Query assignments: + F = «elpi.tests.test_API2.F» + G = «elpi.tests.test_API2.G» + X = «elpi.tests.test_API2.X» +Module G : Sig Definition id : X.T -> X.T. End := (F X) + +«elpi.tests.test_API2.H» +Query assignments: + F = «elpi.tests.test_API2.F» + H = «elpi.tests.test_API2.H» + X = «elpi.tests.test_API2.X» +Module H : Sig Definition id : nat -> nat. End := (F X) + +Query assignments: + GR = const const EXN PRINTING: Not_found + T = «elpi.tests.test_API2.T» +Module Type FT = Funsig (P:T) Sig Parameter idT : P.T -> P.T. End +«elpi.tests.test_API2.GT» +Query assignments: + F = «elpi.tests.test_API2.FT» + G = «elpi.tests.test_API2.GT» + X = «elpi.tests.test_API2.X» +Module Type GT = Sig Parameter idT : X.T -> X.T. End «elpi.tests.test_API2.HT» Query assignments: F = «elpi.tests.test_API2.FT» @@ -12038,6 +11797,7 @@ File "./tests/test_API2.v", line 361, characters 3-201: Warning: constant test has no declared type. [elpi.typecheck,elpi,default] +Finished transaction in 23.089 secs (9.415u,0.019s) (successful) Query assignments: _uvk_20_ = X0 _uvk_21_ = X0 @@ -12133,6 +11893,158 @@ COQC tests/test_require_bad_order.v +unit_bcongr_tt : reflect (tt = tt) true + : reflect (tt = tt) true +peano_bcongr_Zero : reflect (Zero = Zero) true + : reflect (Zero = Zero) true +peano_bcongr_Succ +: +forall (x y : peano) (b : bool), +reflect (x = y) b -> reflect (Succ x = Succ y) b + : forall (x y : peano) (b : bool), + reflect (x = y) b -> reflect (Succ x = Succ y) b +option_bcongr_None : forall A : Type, reflect (None A = None A) true + : forall A : Type, reflect (None A = None A) true +option_bcongr_Some +: +forall (A : Type) (x y : A) (b : bool), +reflect (x = y) b -> reflect (Some A x = Some A y) b + : forall (A : Type) (x y : A) (b : bool), + reflect (x = y) b -> reflect (Some A x = Some A y) b +pair_bcongr_Comma +: +forall (A B : Type) (x1 x2 : A) (b1 : bool), +reflect (x1 = x2) b1 -> +forall (y1 y2 : B) (b2 : bool), +reflect (y1 = y2) b2 -> +reflect (Comma A B x1 y1 = Comma A B x2 y2) (b1 && b2) + : forall (A B : Type) (x1 x2 : A) (b1 : bool), + reflect (x1 = x2) b1 -> + forall (y1 y2 : B) (b2 : bool), + reflect (y1 = y2) b2 -> + reflect (Comma A B x1 y1 = Comma A B x2 y2) (b1 && b2) +seq_bcongr_Nil : forall A : Type, reflect (Nil A = Nil A) true + : forall A : Type, reflect (Nil A = Nil A) true +seq_bcongr_Cons +: +forall (A : Type) (x y : A) (b1 : bool), +reflect (x = y) b1 -> +forall (xs ys : seq A) (b2 : bool), +reflect (xs = ys) b2 -> reflect (Cons A x xs = Cons A y ys) (b1 && b2) + : forall (A : Type) (x y : A) (b1 : bool), + reflect (x = y) b1 -> + forall (xs ys : seq A) (b2 : bool), + reflect (xs = ys) b2 -> reflect (Cons A x xs = Cons A y ys) (b1 && b2) +rose_bcongr_Leaf +: +forall (A : Type) (x y : A) (b : bool), +reflect (x = y) b -> reflect (Leaf A x = Leaf A y) b + : forall (A : Type) (x y : A) (b : bool), + reflect (x = y) b -> reflect (Leaf A x = Leaf A y) b +rose_bcongr_Node +: +forall (A : Type) (l1 l2 : seq (rose A)) (b : bool), +reflect (l1 = l2) b -> reflect (Node A l1 = Node A l2) b + : forall (A : Type) (l1 l2 : seq (rose A)) (b : bool), + reflect (l1 = l2) b -> reflect (Node A l1 = Node A l2) b +nest_bcongr_NilN : forall A : Type, reflect (NilN A = NilN A) true + : forall A : Type, reflect (NilN A = NilN A) true +nest_bcongr_ConsN +: +forall (A : Type) (x y : A) (b1 : bool), +reflect (x = y) b1 -> +forall (xs ys : nest (pair A A)) (b2 : bool), +reflect (xs = ys) b2 -> reflect (ConsN A x xs = ConsN A y ys) (b1 && b2) + : forall (A : Type) (x y : A) (b1 : bool), + reflect (x = y) b1 -> + forall (xs ys : nest (pair A A)) (b2 : bool), + reflect (xs = ys) b2 -> + reflect (ConsN A x xs = ConsN A y ys) (b1 && b2) +w_bcongr_via +: +forall (A : Type) (f g : A -> w A) (b : bool), +reflect (f = g) b -> reflect (via A f = via A g) b + : forall (A : Type) (f g : A -> w A) (b : bool), + reflect (f = g) b -> reflect (via A f = via A g) b +zeta_bcongr_Envelope +: +forall (A : Type) (x1 x2 : A) (b1 : bool), +reflect (x1 = x2) b1 -> +forall (y1 y2 : A) (b2 : bool), +reflect (y1 = y2) b2 -> +reflect (Envelope A x1 y1 = Envelope A x2 y2) (b1 && b2) + : forall (A : Type) (x1 x2 : A) (b1 : bool), + reflect (x1 = x2) b1 -> + forall (y1 y2 : A) (b2 : bool), + reflect (y1 = y2) b2 -> + reflect (Envelope A x1 y1 = Envelope A x2 y2) (b1 && b2) +beta_bcongr_Redex +: +forall (A : Type) (x y : A) (b : bool), +reflect (x = y) b -> reflect (Redex A x = Redex A y) b + : forall (A : Type) (x y : A) (b : bool), + reflect (x = y) b -> reflect (Redex A x = Redex A y) b +prim_int_bcongr_PI +: +forall (x y : PrimInt63.int) (b : bool), +reflect (x = y) b -> reflect (PI x = PI y) b + : forall (x y : PrimInt63.int) (b : bool), + reflect (x = y) b -> reflect (PI x = PI y) b +prim_float_bcongr_PF +: +forall (x y : PrimFloat.float) (b : bool), +reflect (x = y) b -> reflect (PF x = PF y) b + : forall (x y : PrimFloat.float) (b : bool), + reflect (x = y) b -> reflect (PF x = PF y) b +fo_record_bcongr_Build_fo_record +: +forall (x1 x2 : peano) (b1 : bool), +reflect (x1 = x2) b1 -> +forall (y1 y2 : unit) (b2 : bool), +reflect (y1 = y2) b2 -> +reflect ({| f1 := x1; f2 := y1 |} = {| f1 := x2; f2 := y2 |}) (b1 && b2) + : forall (x1 x2 : peano) (b1 : bool), + reflect (x1 = x2) b1 -> + forall (y1 y2 : unit) (b2 : bool), + reflect (y1 = y2) b2 -> + reflect ({| f1 := x1; f2 := y1 |} = {| f1 := x2; f2 := y2 |}) + (b1 && b2) +pa_record_bcongr_Build_pa_record +: +forall (A : Type) (x1 x2 : peano) (b1 : bool), +reflect (x1 = x2) b1 -> +forall (y1 y2 : A) (b2 : bool), +reflect (y1 = y2) b2 -> +reflect ({| f3 := x1; f4 := y1 |} = {| f3 := x2; f4 := y2 |}) (b1 && b2) + : forall (A : Type) (x1 x2 : peano) (b1 : bool), + reflect (x1 = x2) b1 -> + forall (y1 y2 : A) (b2 : bool), + reflect (y1 = y2) b2 -> + reflect ({| f3 := x1; f4 := y1 |} = {| f3 := x2; f4 := y2 |}) + (b1 && b2) +pr_record_bcongr_Build_pr_record +: +forall (A : Type) (x1 x2 : peano) (b1 : bool), +reflect (x1 = x2) b1 -> +forall (y1 y2 : A) (b2 : bool), +reflect (y1 = y2) b2 -> +reflect ({| pf3 := x1; pf4 := y1 |} = {| pf3 := x2; pf4 := y2 |}) (b1 && b2) + : forall (A : Type) (x1 x2 : peano) (b1 : bool), + reflect (x1 = x2) b1 -> + forall (y1 y2 : A) (b2 : bool), + reflect (y1 = y2) b2 -> + reflect ({| pf3 := x1; pf4 := y1 |} = {| pf3 := x2; pf4 := y2 |}) + (b1 && b2) +enum_bcongr_E1 : reflect (E1 = E1) true + : reflect (E1 = E1) true +enum_bcongr_E2 : reflect (E2 = E2) true + : reflect (E2 = E2) true +enum_bcongr_E3 : reflect (E3 = E3) true + : reflect (E3 = E3) true +COQC tests/test_eqK.v +Finished transaction in 0.427 secs (0.2u,0.s) (successful) +test coqdoc hyperlinks +test link order 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 @@ -12165,70 +12077,6 @@ Skipping derivation eqcorrect on indt «nat» since it has been already run Skipping derivation eqbOK on indt «nat» since the user did not select it Skipping derivation eqOK on indt «nat» since it has been already run -empty_eq_correct : correct empty is_empty empty_eq - : correct empty is_empty empty_eq -unit_eq_correct : correct unit is_unit unit_eq - : correct unit is_unit unit_eq -peano_eq_correct : correct peano is_peano peano_eq - : correct peano is_peano peano_eq -option_eq_correct -: -forall (A : Type) (f : eq_test A), -correct (option A) (is_option A (eq_axiom_at A f)) (option_eq A f) - : forall (A : Type) (f : eq_test A), - correct (option A) (is_option A (eq_axiom_at A f)) (option_eq A f) -pair_eq_correct -: -forall (A : Type) (f : eq_test A) (B : Type) (g : eq_test B), -correct (pair A B) (is_pair A (eq_axiom_at A f) B (eq_axiom_at B g)) - (pair_eq A f B g) - : forall (A : Type) (f : eq_test A) (B : Type) (g : eq_test B), - correct (pair A B) (is_pair A (eq_axiom_at A f) B (eq_axiom_at B g)) - (pair_eq A f B g) -seq_eq_correct -: -forall (A : Type) (f : eq_test A), -correct (seq A) (is_seq A (eq_axiom_at A f)) (seq_eq A f) - : forall (A : Type) (f : eq_test A), - correct (seq A) (is_seq A (eq_axiom_at A f)) (seq_eq A f) -rose_eq_correct -: -forall (A : Type) (f : eq_test A), -correct (rose A) (is_rose A (eq_axiom_at A f)) (rose_eq A f) - : forall (A : Type) (f : eq_test A), - correct (rose A) (is_rose A (eq_axiom_at A f)) (rose_eq A f) -zeta_eq_correct -: -forall (A : Type) (f : eq_test A), -correct (zeta A) (is_zeta A (eq_axiom_at A f)) (zeta_eq A f) - : forall (A : Type) (f : eq_test A), - correct (zeta A) (is_zeta A (eq_axiom_at A f)) (zeta_eq A f) -beta_eq_correct -: -forall (A : Type) (f : eq_test A), -correct (beta A) (is_beta A (eq_axiom_at A f)) (beta_eq A f) - : forall (A : Type) (f : eq_test A), - correct (beta A) (is_beta A (eq_axiom_at A f)) (beta_eq A f) -prim_int_eq_correct - : correct prim_int is_prim_int prim_int_eq -fo_record_eq_correct : correct fo_record is_fo_record fo_record_eq - : correct fo_record is_fo_record fo_record_eq -pa_record_eq_correct -: -forall (A : Type) (f : eq_test A), -correct (pa_record A) (is_pa_record A (eq_axiom_at A f)) (pa_record_eq A f) - : forall (A : Type) (f : eq_test A), - correct (pa_record A) (is_pa_record A (eq_axiom_at A f)) - (pa_record_eq A f) -pr_record_eq_correct -: -forall (A : Type) (f : eq_test A), -correct (pr_record A) (is_pr_record A (eq_axiom_at A f)) (pr_record_eq A f) - : forall (A : Type) (f : eq_test A), - correct (pr_record A) (is_pr_record A (eq_axiom_at A f)) - (pr_record_eq A f) -enum_eq_correct : correct enum is_enum enum_eq - : correct enum is_enum enum_eq derive.param1_trivial: wrong shape is_t A PA . It does not look like a unary parametricity translation of an inductive with no indexes. Vector.t_eq @@ -12318,8 +12166,132 @@ : forall (A : Type) (i : nat), Vector.t A i -> BinNums.positive W_tag : (forall A : Type, W A -> BinNums.positive) : forall A : Type, W A -> BinNums.positive -test coqdoc hyperlinks -test link order +eq_axiom_tt : eq_axiom_at unit unit_eq tt + : eq_axiom_at unit unit_eq tt +eq_axiom_Zero : eq_axiom_at peano peano_eq Zero + : eq_axiom_at peano peano_eq Zero +eq_axiom_Succ +: +forall y : peano, +eq_axiom_at peano peano_eq y -> eq_axiom_at peano peano_eq (Succ y) + : forall y : peano, + eq_axiom_at peano peano_eq y -> eq_axiom_at peano peano_eq (Succ y) +eq_axiom_None +: +forall (A : Type) (f : eq_test A), +eq_axiom_at (option A) (option_eq A f) (None A) + : forall (A : Type) (f : eq_test A), + eq_axiom_at (option A) (option_eq A f) (None A) +eq_axiom_Some +: +forall (A : Type) (f : eq_test A) (x : A), +eq_axiom_at A f x -> eq_axiom_at (option A) (option_eq A f) (Some A x) + : forall (A : Type) (f : eq_test A) (x : A), + eq_axiom_at A f x -> eq_axiom_at (option A) (option_eq A f) (Some A x) +eq_axiom_Comma +: +forall (A : Type) (f : eq_test A) (B : Type) (g : eq_test B) (x : A), +eq_axiom_at A f x -> +forall y : B, +eq_axiom_at B g y -> eq_axiom_at (pair A B) (pair_eq A f B g) (Comma A B x y) + : forall (A : Type) (f : eq_test A) (B : Type) (g : eq_test B) (x : A), + eq_axiom_at A f x -> + forall y : B, + eq_axiom_at B g y -> + eq_axiom_at (pair A B) (pair_eq A f B g) (Comma A B x y) +eq_axiom_Nil +: +forall (A : Type) (f : eq_test A), eq_axiom_at (seq A) (seq_eq A f) (Nil A) + : forall (A : Type) (f : eq_test A), + eq_axiom_at (seq A) (seq_eq A f) (Nil A) +eq_axiom_Cons +: +forall (A : Type) (f : eq_test A) (x : A), +eq_axiom_at A f x -> +forall xs : seq A, +eq_axiom_at (seq A) (seq_eq A f) xs -> +eq_axiom_at (seq A) (seq_eq A f) (Cons A x xs) + : forall (A : Type) (f : eq_test A) (x : A), + eq_axiom_at A f x -> + forall xs : seq A, + eq_axiom_at (seq A) (seq_eq A f) xs -> + eq_axiom_at (seq A) (seq_eq A f) (Cons A x xs) +eq_axiom_Leaf +: +forall (A : Type) (f : eq_test A) (a : A), +eq_axiom_at A f a -> eq_axiom_at (rose A) (rose_eq A f) (Leaf A a) + : forall (A : Type) (f : eq_test A) (a : A), + eq_axiom_at A f a -> eq_axiom_at (rose A) (rose_eq A f) (Leaf A a) +eq_axiom_Node +: +forall (A : Type) (f : eq_test A) (l : seq (rose A)), +eq_axiom_at (seq (rose A)) (seq_eq (rose A) (rose_eq A f)) l -> +eq_axiom_at (rose A) (rose_eq A f) (Node A l) + : forall (A : Type) (f : eq_test A) (l : seq (rose A)), + eq_axiom_at (seq (rose A)) (seq_eq (rose A) (rose_eq A f)) l -> + eq_axiom_at (rose A) (rose_eq A f) (Node A l) +eq_axiom_Envelope + : forall (Sender : Type) (f : eq_test Sender) (x : Sender), + eq_axiom_at Sender f x -> + forall x0 : Sender, + eq_axiom_at Sender f x0 -> + forall x1 : zeta Sender, + eq_axiom_on (zeta Sender) (zeta_eq Sender f) (Envelope Sender x x0) x1 +eq_axiom_Redex + : forall (A : Type) (f : eq_test A) (x : A), + eq_axiom_at A f x -> + forall x0 : beta A, eq_axiom_on (beta A) (beta_eq A f) (Redex A x) x0 +eq_axiom_PI + : forall x : PrimInt63.int, + eq_axiom_at PrimInt63.int PrimInt63.eqb x -> + forall x0 : prim_int, eq_axiom_on prim_int prim_int_eq (PI x) x0 +eq_axiom_PF + : forall x : PrimFloat.float, + eq_axiom_at PrimFloat.float PrimFloat.eqb x -> + forall x0 : prim_float, eq_axiom_on prim_float prim_float_eq (PF x) x0 +eq_axiom_Build_fo_record +: +forall x : peano, +eq_axiom_at peano peano_eq x -> +forall y : unit, +eq_axiom_at unit unit_eq y -> +eq_axiom_at fo_record fo_record_eq {| f1 := x; f2 := y |} + : forall x : peano, + eq_axiom_at peano peano_eq x -> + forall y : unit, + eq_axiom_at unit unit_eq y -> + eq_axiom_at fo_record fo_record_eq {| f1 := x; f2 := y |} +eq_axiom_Build_pa_record +: +forall (A : Type) (f : eq_test A) (x : peano), +eq_axiom_at peano peano_eq x -> +forall y : A, +eq_axiom_at A f y -> +eq_axiom_at (pa_record A) (pa_record_eq A f) {| f3 := x; f4 := y |} + : forall (A : Type) (f : eq_test A) (x : peano), + eq_axiom_at peano peano_eq x -> + forall y : A, + eq_axiom_at A f y -> + eq_axiom_at (pa_record A) (pa_record_eq A f) {| f3 := x; f4 := y |} +eq_axiom_Build_pr_record +: +forall (A : Type) (f : eq_test A) (x : peano), +eq_axiom_at peano peano_eq x -> +forall y : A, +eq_axiom_at A f y -> +eq_axiom_at (pr_record A) (pr_record_eq A f) {| pf3 := x; pf4 := y |} + : forall (A : Type) (f : eq_test A) (x : peano), + eq_axiom_at peano peano_eq x -> + forall y : A, + eq_axiom_at A f y -> + eq_axiom_at (pr_record A) (pr_record_eq A f) {| pf3 := x; pf4 := y |} +eq_axiom_E1 : eq_axiom_at enum enum_eq E1 + : eq_axiom_at enum enum_eq E1 +eq_axiom_E2 : eq_axiom_at enum enum_eq E2 + : eq_axiom_at enum enum_eq E2 +eq_axiom_E3 : eq_axiom_at enum enum_eq E3 + : eq_axiom_at enum enum_eq E3 +COQC tests/test_eqcorrect.v XXX.rtree_tag : (forall A : Type, rtree A -> BinNums.positive) : forall A : Type, rtree A -> BinNums.positive XXX.rtree_fields_t : Type -> BinNums.positive -> Type @@ -12378,6 +12350,70 @@ : wimpls where ?rtree0 : [ |- rtree nat] +empty_eq_correct : correct empty is_empty empty_eq + : correct empty is_empty empty_eq +unit_eq_correct : correct unit is_unit unit_eq + : correct unit is_unit unit_eq +peano_eq_correct : correct peano is_peano peano_eq + : correct peano is_peano peano_eq +option_eq_correct +: +forall (A : Type) (f : eq_test A), +correct (option A) (is_option A (eq_axiom_at A f)) (option_eq A f) + : forall (A : Type) (f : eq_test A), + correct (option A) (is_option A (eq_axiom_at A f)) (option_eq A f) +pair_eq_correct +: +forall (A : Type) (f : eq_test A) (B : Type) (g : eq_test B), +correct (pair A B) (is_pair A (eq_axiom_at A f) B (eq_axiom_at B g)) + (pair_eq A f B g) + : forall (A : Type) (f : eq_test A) (B : Type) (g : eq_test B), + correct (pair A B) (is_pair A (eq_axiom_at A f) B (eq_axiom_at B g)) + (pair_eq A f B g) +seq_eq_correct +: +forall (A : Type) (f : eq_test A), +correct (seq A) (is_seq A (eq_axiom_at A f)) (seq_eq A f) + : forall (A : Type) (f : eq_test A), + correct (seq A) (is_seq A (eq_axiom_at A f)) (seq_eq A f) +rose_eq_correct +: +forall (A : Type) (f : eq_test A), +correct (rose A) (is_rose A (eq_axiom_at A f)) (rose_eq A f) + : forall (A : Type) (f : eq_test A), + correct (rose A) (is_rose A (eq_axiom_at A f)) (rose_eq A f) +zeta_eq_correct +: +forall (A : Type) (f : eq_test A), +correct (zeta A) (is_zeta A (eq_axiom_at A f)) (zeta_eq A f) + : forall (A : Type) (f : eq_test A), + correct (zeta A) (is_zeta A (eq_axiom_at A f)) (zeta_eq A f) +beta_eq_correct +: +forall (A : Type) (f : eq_test A), +correct (beta A) (is_beta A (eq_axiom_at A f)) (beta_eq A f) + : forall (A : Type) (f : eq_test A), + correct (beta A) (is_beta A (eq_axiom_at A f)) (beta_eq A f) +prim_int_eq_correct + : correct prim_int is_prim_int prim_int_eq +fo_record_eq_correct : correct fo_record is_fo_record fo_record_eq + : correct fo_record is_fo_record fo_record_eq +pa_record_eq_correct +: +forall (A : Type) (f : eq_test A), +correct (pa_record A) (is_pa_record A (eq_axiom_at A f)) (pa_record_eq A f) + : forall (A : Type) (f : eq_test A), + correct (pa_record A) (is_pa_record A (eq_axiom_at A f)) + (pa_record_eq A f) +pr_record_eq_correct +: +forall (A : Type) (f : eq_test A), +correct (pr_record A) (is_pr_record A (eq_axiom_at A f)) (pr_record_eq A f) + : forall (A : Type) (f : eq_test A), + correct (pr_record A) (is_pr_record A (eq_axiom_at A f)) + (pr_record_eq A f) +enum_eq_correct : correct enum is_enum enum_eq + : correct enum is_enum enum_eq is_empty_trivial : trivial empty is_empty : trivial empty is_empty is_unit_trivial : trivial unit is_unit @@ -12676,37 +12712,23 @@ COQC tests/test_module_namespace.v COQC tests/test_NES_lib.v COQC examples/usage_NES.v -This.Is.A.Long.Namespace.stuff = 1 - : nat - = 1 - : nat Foo.x = 3 : 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 Foo.x = 3 : nat Foo.x2 = 4 : nat -This_aux_1.This.Is.A.Long.Namespace.stuff : nat -This.Is.A.Long.Namespace.more_stuff : nat -This.Is.A.Long.Namespace.stuff : nat -stuff = 2 - : nat eq_refl : Foo.x = 5 : Foo.x = 5 -default nat_def : nat - : nat A.B.c : nat A.B.c is not universe polymorphic A.B.c is transparent Expands to: Constant elpi.apps.NES.tests.test_NES.A_aux_4.A.B.c +This.Is.A.Long.Namespace.stuff = 1 + : nat + = 1 + : nat A1.B1.d : nat A1.B1.d is not universe polymorphic @@ -12717,16 +12739,30 @@ A1.B1.c is not universe polymorphic A1.B1.c is transparent Expands to: Constant elpi.apps.NES.tests.test_NES.A1_aux_5.A1.B1.c +This.Is.A.Long.Namespace.stuff = 2 + : nat x = 5 : nat + = 1 + : nat x2 = 4 : nat +This_aux_1.This.Is.A.Long.Namespace.stuff +This.Is.A.Long.Namespace.more_stuff +This.Is.A.Long.Namespace.stuff B1.c = 1 : nat B1.d = 1 : nat d = 1 : nat +This_aux_1.This.Is.A.Long.Namespace.stuff : nat +This.Is.A.Long.Namespace.more_stuff : nat +This.Is.A.Long.Namespace.stuff : nat +stuff = 2 + : nat +default nat_def : nat + : nat A2.B2.f = 2 : nat make[2]: Leaving directory '/build/reproducible-path/coq-elpi-1.19.3/apps/NES' @@ -13097,12 +13133,14 @@ dpkg-buildpackage: info: binary-only upload (no source included) dpkg-genchanges: info: not including original source code in upload I: copying local configuration +I: user script /srv/workspace/pbuilder/2161750/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/2161750/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/2460549 and its subdirectories -I: Current time: Sat Jun 14 15:55:15 -12 2025 -I: pbuilder-time-stamp: 1749959715 +I: removing directory /srv/workspace/pbuilder/2161750 and its subdirectories +I: Current time: Mon May 13 11:37:31 +14 2024 +I: pbuilder-time-stamp: 1715549851