Diff of the two buildlogs: -- --- b1/build.log 2025-01-20 17:27:50.832287845 +0000 +++ b2/build.log 2025-01-20 17:30:50.180199851 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Mon Jan 20 05:24:46 -12 2025 -I: pbuilder-time-stamp: 1737393886 +I: Current time: Mon Feb 23 13:50:52 +14 2026 +I: pbuilder-time-stamp: 1771804252 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/trixie-reproducible-base.tgz] I: copying local configuration @@ -22,52 +22,84 @@ dpkg-source: info: unpacking coq-hierarchy-builder_1.8.0-1.debian.tar.xz I: Not using root during the build. I: Installing the build-deps -I: user script /srv/workspace/pbuilder/1892811/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/782221/tmp/hooks/D01_modify_environment starting +debug: Running on ionos15-amd64. +I: Changing host+domainname to test build reproducibility +I: Adding a custom variable just for the fun of it... +I: Changing /bin/sh to bash +'/bin/sh' -> '/bin/bash' +lrwxrwxrwx 1 root root 9 Feb 22 23:51 /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/782221/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/782221/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='amd64' - DEBIAN_FRONTEND='noninteractive' - DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=20 ' - DISTRIBUTION='trixie' - HOME='/root' - HOST_ARCH='amd64' + BASH=/bin/sh + BASHOPTS=checkwinsize:cmdhist:complete_fullquote:extquote:force_fignore:globasciiranges:globskipdots:hostcomplete:interactive_comments:patsub_replacement:progcomp:promptvars:sourcepath + BASH_ALIASES=() + BASH_ARGC=() + BASH_ARGV=() + BASH_CMDS=() + BASH_LINENO=([0]="12" [1]="0") + BASH_LOADABLES_PATH=/usr/local/lib/bash:/usr/lib/bash:/opt/local/lib/bash:/usr/pkg/lib/bash:/opt/pkg/lib/bash:. + BASH_SOURCE=([0]="/tmp/hooks/D02_print_environment" [1]="/tmp/hooks/D02_print_environment") + BASH_VERSINFO=([0]="5" [1]="2" [2]="37" [3]="1" [4]="release" [5]="x86_64-pc-linux-gnu") + BASH_VERSION='5.2.37(1)-release' + BUILDDIR=/build/reproducible-path + BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other' + BUILDUSERNAME=pbuilder2 + BUILD_ARCH=amd64 + DEBIAN_FRONTEND=noninteractive + DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=42 ' + DIRSTACK=() + DISTRIBUTION=trixie + EUID=0 + FUNCNAME=([0]="Echo" [1]="main") + GROUPS=() + HOME=/root + HOSTNAME=i-capture-the-hostname + HOSTTYPE=x86_64 + HOST_ARCH=amd64 IFS=' ' - INVOCATION_ID='e4e91b9b2589438db87b4b7ae11384fc' - 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='1892811' - PS1='# ' - PS2='> ' + INVOCATION_ID=fe515a1bccd54b16b68ce5a384f5e59f + LANG=C + LANGUAGE=et_EE:et + LC_ALL=C + MACHTYPE=x86_64-pc-linux-gnu + MAIL=/var/mail/root + OPTERR=1 + OPTIND=1 + OSTYPE=linux-gnu + PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path + PBCURRENTCOMMANDLINEOPERATION=build + PBUILDER_OPERATION=build + PBUILDER_PKGDATADIR=/usr/share/pbuilder + PBUILDER_PKGLIBDIR=/usr/lib/pbuilder + PBUILDER_SYSCONFDIR=/etc + PIPESTATUS=([0]="0") + POSIXLY_CORRECT=y + PPID=782221 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.rKndBGQM/pbuilderrc_ecs8 --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.rKndBGQM/b1 --logfile b1/build.log coq-hierarchy-builder_1.8.0-1.dsc' - SUDO_GID='111' - SUDO_UID='106' - SUDO_USER='jenkins' - TERM='unknown' - TZ='/usr/share/zoneinfo/Etc/GMT+12' - USER='root' - _='/usr/bin/systemd-run' - http_proxy='http://46.16.76.132: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.rKndBGQM/pbuilderrc_ZrH2 --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.rKndBGQM/b2 --logfile b2/build.log coq-hierarchy-builder_1.8.0-1.dsc' + SUDO_GID=111 + SUDO_UID=106 + SUDO_USER=jenkins + TERM=unknown + TZ=/usr/share/zoneinfo/Etc/GMT-14 + UID=0 + USER=root + _='I: set' + http_proxy=http://213.165.73.152:3128 I: uname -a - Linux ionos11-amd64 6.1.0-30-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.124-1 (2025-01-12) x86_64 GNU/Linux + Linux i-capture-the-hostname 6.11.10+bpo-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.11.10-1~bpo12+1 (2024-12-19) x86_64 GNU/Linux I: ls -l /bin - lrwxrwxrwx 1 root root 7 Nov 22 14:40 /bin -> usr/bin -I: user script /srv/workspace/pbuilder/1892811/tmp/hooks/D02_print_environment finished + lrwxrwxrwx 1 root root 7 Nov 22 2024 /bin -> usr/bin +I: user script /srv/workspace/pbuilder/782221/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -205,7 +237,7 @@ Get: 88 http://deb.debian.org/debian trixie/main amd64 libelpi-ocaml-dev amd64 2.0.5-1+b1 [15.3 MB] Get: 89 http://deb.debian.org/debian trixie/main amd64 libcoq-elpi amd64 2.3.0-1+b1 [11.8 MB] Get: 90 http://deb.debian.org/debian trixie/main amd64 wdiff amd64 1.2.2-7 [122 kB] -Fetched 374 MB in 18s (21.2 MB/s) +Fetched 374 MB in 9s (41.1 MB/s) Preconfiguring packages ... Selecting previously unselected package libpython3.12-minimal:amd64. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 19856 files and directories currently installed.) @@ -513,8 +545,8 @@ Setting up tzdata (2024b-6) ... Current default time zone: 'Etc/UTC' -Local time is now: Mon Jan 20 17:26:23 UTC 2025. -Universal Time is now: Mon Jan 20 17:26:23 UTC 2025. +Local time is now: Sun Feb 22 23:52:57 UTC 2026. +Universal Time is now: Sun Feb 22 23:52:57 UTC 2026. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up autotools-dev (20220109.1) ... @@ -594,7 +626,11 @@ Building tag database... -> Finished parsing the build-deps I: Building the package -I: Running cd /build/reproducible-path/coq-hierarchy-builder-1.8.0/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-genchanges -S > ../coq-hierarchy-builder_1.8.0-1_source.changes +I: user script /srv/workspace/pbuilder/782221/tmp/hooks/A99_set_merged_usr starting +Not re-configuring usrmerge for trixie +I: user script /srv/workspace/pbuilder/782221/tmp/hooks/A99_set_merged_usr finished +hostname: Name or service not known +I: Running cd /build/reproducible-path/coq-hierarchy-builder-1.8.0/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-genchanges -S > ../coq-hierarchy-builder_1.8.0-1_source.changes dpkg-buildpackage: info: source package coq-hierarchy-builder dpkg-buildpackage: info: source version 1.8.0-1 dpkg-buildpackage: info: source distribution unstable @@ -623,7 +659,7 @@ dh_ocamlinit dh_auto_configure dh_auto_build - make -j20 "INSTALL=install --strip-program=true" + make -j42 "INSTALL=install --strip-program=true" make[1]: Entering directory '/build/reproducible-path/coq-hierarchy-builder-1.8.0' make config make[2]: Entering directory '/build/reproducible-path/coq-hierarchy-builder-1.8.0' @@ -653,12 +689,12 @@ COQC examples/demo1/hierarchy_1.v COQC examples/demo1/hierarchy_2.v COQC examples/demo1/hierarchy_3.v -COQC examples/demo1/hierarchy_5.v COQC examples/demo1/hierarchy_4.v +COQC examples/demo1/hierarchy_5.v COQC examples/demo2/classical.v COQC examples/demo3/hierarchy_0.v -COQC examples/demo3/hierarchy_2.v COQC examples/demo3/hierarchy_1.v +COQC examples/demo3/hierarchy_2.v COQC examples/demo4/hierarchy_0.v COQC examples/demo5/hierarchy_0.v COQC examples/FSCD2020_material/V1.v @@ -667,14 +703,90 @@ COQC examples/FSCD2020_material/V4.v COQC examples/FSCD2020_talk/V1.v COQC examples/FSCD2020_talk/V2.v +COQC examples/FSCD2020_talk/V3.v +COQC examples/Coq2020_material/CoqWS_demo.v +COQC examples/Coq2020_material/CoqWS_abstract.v +COQC examples/Coq2020_material/CoqWS_expansion/withHB.v +COQC examples/Coq2020_material/CoqWS_expansion/withoutHB.v +COQC tests/type_of_exported_ops.v +COQC tests/duplicate_structure.v +COQC tests/instance_params_no_type.v +COQC tests/test_CS_db_filtering.v +COQC tests/subtype.v +COQC tests/exports.v +COQC tests/log_impargs_record.v +COQC tests/compress_coe.v +COQC tests/funclass.v +COQC tests/grefclass.v +COQC tests/local_instance.v +COQC tests/lock.v +COQC tests/interleave_context.v +COQC tests/not_same_key.v +COQC tests/hb_pack.v +COQC tests/declare.v +COQC tests/short.v File "./examples/demo2/classical.v", line 422, characters 0-39: Warning: Notations "_ ^~ _" defined at level 10 with arguments constr at next level and "_ ^~" defined at level 2 with arguments constr at next level have incompatible prefixes. One of them will likely not work. [notation-incompatible-prefix,parsing,default] -File "./examples/demo5/hierarchy_0.v", line 35, characters 2-91: -Warning: HB: no new instance is generated -[HB.no-new-instance,HB,elpi,default] +(* + +Module A. +Section A. +Variable T : Type. +Local Arguments T : clear implicits. +Section axioms_. +Local Unset Implicit Arguments. +Record axioms_ (T : Type) : Type := Axioms_ + { + a : T; + f : T -> T; + p : forall x : T, f x = x -> True; + q : forall h : f a = a, p a h = p a h; + }. +End axioms_. + +Global Arguments axioms_ : clear implicits. +Global Arguments Axioms_ [_] [_] _ _ _. +Global Arguments a [_] _. +Global Arguments f [_] _ _. +Global Arguments p [_] _ [_] _. +Global Arguments q [_] _ _. +End A. +Global Arguments axioms_ : clear implicits. +Global Arguments Axioms_ : clear implicits. +Definition phant_Build : forall (T : Type) (a : T) (f : T -> T) + (p : forall x : T, f x = x -> True), + (forall h : f a = a, p a h = p a h) -> axioms_ T := + fun (T : Type) (a : T) (f : T -> T) (p : forall x : T, f x = x -> True) + (q : forall h : f a = a, p a h = p a h) => + {| a := a; f := f; p := p; q := q |}. +Local Arguments phant_Build : clear implicits. +Notation Build X1 := ( phant_Build X1). +Definition phant_axioms : Type -> Type := fun T : Type => axioms_ T. +Local Arguments phant_axioms : clear implicits. +Notation axioms X1 := ( phant_axioms X1). +Definition identity_builder : forall T : Type, axioms_ T -> axioms_ T := + fun (T : Type) (x : axioms_ T) => x. +Local Arguments identity_builder : clear implicits. +Module Exports. +Global Arguments Axioms_ {_}. +End Exports. +End A. +Export A.Exports. +Notation A X1 := ( A.phant_axioms X1). + +*) +Notation big := big.body +Expands to: Notation HB.tests.lock.X.big + +big.body : forall R I : Type, R -> list I -> (I -> bigbody R I) -> R + +big.body is not universe polymorphic +Arguments big.body (R I)%type_scope _ _%list_scope _%function_scope +Expands to: Constant HB.tests.lock.X.big.body +COQC tests/instance_before_structure.v File "./examples/demo2/classical.v", line 625, characters 0-75: Warning: Postfix notations (i.e. starting with a nonterminal symbol and ending with a terminal symbol) should usually be at level 1 (default). @@ -687,41 +799,157 @@ Warning: Postfix notations (i.e. starting with a nonterminal symbol and ending with a terminal symbol) should usually be at level 1 (default). [postfix-notation-not-level-1,parsing,default] -File "./examples/demo1/hierarchy_3.v", line 39, characters 2-87: +A.p : +forall [T : Type] (record : A.axioms_ T) [x : T], A.f record x = x -> True + +A.p is not universe polymorphic +A.p is a projection of A.axioms_ +Arguments A.p [T]%type_scope record [x] _ +A.p is transparent +Expands to: Constant HB.tests.log_impargs_record.A.p +File "./tests/instance_params_no_type.v", line 5, characters 0-70: Warning: HB: no new instance is generated [HB.no-new-instance,HB,elpi,default] -COQC examples/FSCD2020_talk/V3.v -COQC examples/Coq2020_material/CoqWS_demo.v -File "./examples/demo1/hierarchy_4.v", line 40, characters 2-97: +p : pred nat + : pred nat +COQC tests/primitive_records.v +File "./tests/instance_params_no_type.v", line 6, characters 0-76: +Warning: HB: no new instance is generated +[HB.no-new-instance,HB,elpi,default] +COQC tests/non_forgetful_inheritance.v +File "./tests/instance_params_no_type.v", line 7, characters 0-78: Warning: HB: no new instance is generated [HB.no-new-instance,HB,elpi,default] -[1737393998.991984] HB: begin module for builders -[1737393998.992525] HB: begin module Super -[1737393998.992693] HB: ended module Super -[1737393998.993209] HB: postulating factories -[1737393998.993380] HB: processing key context-item -[1737393998.993765] HB: processing mixin parameter a -[1737393998.994391] HB: declaring parameters and key as section variables +list_foo' : forall P A : Type, is_foo.axioms_ P (list A) + +list_foo' is not universe polymorphic +Arguments list_foo' (P A)%type_scope +list_foo' is transparent +Expands to: Constant HB.tests.instance_params_no_type.list_foo' +COQC tests/fix_loop.v +default : nat + : nat +File "./examples/Coq2020_material/CoqWS_expansion/withoutHB.v", line 10, characters 50-62: +Warning: The format modifier has no effect for only-parsing notations. +[discarded-format-only-parsing,parsing,default] +The command did fail as expected with message: +The term "default" has type "nonempty.sort ?t" +while it is expected to have type "nat". +nat_foo + : forall P : Type, is_foo.axioms_ P nat +list_foo + : forall P : Type, is_foo.axioms_ P (list P) +id : forall {T : Type}, Monoid.type T -> T + +id is not universe polymorphic +Arguments id {T}%type_scope {s} +id is transparent +Expands to: Constant HB.tests.funclass.id +foo.type + : Type -> Type +Record type (P : Type) : Type := Pack + { sort : Type; class : foo.axioms_ P sort }. + +Arguments foo.type P%type_scope +Arguments foo.Pack (P sort)%type_scope class +Arguments foo.sort P%type_scope record +Arguments foo.class P%type_scope record +COQC tests/test_synthesis_params.v +Module +foo +:= Struct + Record axioms_ (P A : Type) : Type := Class + { instance_params_no_type_is_foo_mixin : is_foo.axioms_ P A } as record. + Definition instance_params_no_type_is_foo_mixin : + forall P A : Type, axioms_ P A -> is_foo.axioms_ P A. + Record type (P : Type) : Type := Pack + { sort : Type; class : axioms_ P sort }. + Definition sort : forall P : Type, type P -> Type. + Definition class : + forall (P : Type) (record : type P), axioms_ P record. + Definition phant_clone : + forall (P A : Type) (cT : type P) (c : axioms_ P A), + unify Type Type A cT nomsg -> + unify (type P) (type P) cT {| sort := A; class := c |} nomsg -> type P. + Definition pack_ : forall P A : Type, is_foo.axioms_ P A -> type P. + Module Exports + Definition phant_on_ : + forall (P : Type) (A : type P), ssreflect.phant A -> axioms_ P A. + End +Record axioms_ (P A : Type) : Type := Class + { instance_params_no_type_is_foo_mixin : is_foo.axioms_ P A } as record. + +axioms_ has primitive projections with eta conversion. +Arguments foo.axioms_ (P A)%type_scope +Arguments foo.Class (P A)%type_scope instance_params_no_type_is_foo_mixin +Arguments foo.instance_params_no_type_is_foo_mixin (P A)%type_scope record +File "./examples/demo1/hierarchy_3.v", line 39, characters 2-87: +Warning: HB: no new instance is generated +[HB.no-new-instance,HB,elpi,default] +COQC tests/hnf.v +COQC tests/fun_instance.v +[1771804391.797854] HB: start module and section hasA +[1771804391.798309] HB: converting arguments +indt-decl + (parameter T explicit X0 c0 \ + record hasA (sort (typ X1)) Build_hasA + (field [coercion off, canonical tt] a c0 c1 \ end-record)) to factories +[1771804391.798773] HB: processing key parameter +[1771804391.799413] HB: converting factories +w-params.nil T (sort (typ «HB.tests.hb_pack.8»)) c0 \ [] to mixins +[1771804391.799665] HB: declaring context +w-params.nil T (sort (typ «HB.tests.hb_pack.8»)) c0 \ [] +[1771804391.800029] HB: declaring parameters and key as section variables Here is the list of mixins to declare (the order matters): [] +[1771804391.800817] HB: declare mixin or factory +[1771804391.801023] HB: declare record axioms_ +COQC tests/issue284.v +[1771804391.804260] HB: declare notation Build +Monoid.phant_on_ nat Nat_add__canonical__funclass_Monoid + (Phantom (nat -> nat -> nat) Nat_add__canonical__funclass_Monoid) +: +Monoid.axioms_ nat Init.Nat.add + : Monoid.axioms_ nat Init.Nat.add +[1771804391.806949] HB: declare notation axioms +[1771804391.810301] HB: start module Exports +[1771804391.813351] HB: end modules and sections; export +«HB.tests.hb_pack.hasA.Exports» +hasA.type not a defined object. +File "./examples/demo1/hierarchy_2.v", line 39, characters 2-91: +Warning: HB: no new instance is generated +[HB.no-new-instance,HB,elpi,default] inhab : ?s where ?T : [ |- Type] ?s : [ |- s1.type ?T] -File "./examples/demo5/hierarchy_0.v", line 68, characters 2-109: +add + : ?s -> ?s -> ?s +where +?s : [ |- CMonoid.type] +addrC + : commutative add +where +?s : [ |- CMonoid.type] +File "./examples/demo1/hierarchy_5.v", line 39, characters 2-97: Warning: HB: no new instance is generated [HB.no-new-instance,HB,elpi,default] eq_refl : inhab = 7 : inhab = 7 -File "./examples/demo1/hierarchy_1.v", line 55, characters 0-123: -Warning: HB: no new instance is generated -[HB.no-new-instance,HB,elpi,default] +[1771804391.876451] HB: begin module for builders +[1771804391.876882] HB: begin module Super +[1771804391.877081] HB: ended module Super +[1771804391.877451] HB: postulating factories +[1771804391.877625] HB: processing key context-item +[1771804391.877947] HB: processing mixin parameter a +[1771804391.878368] HB: declaring parameters and key as section variables +Here is the list of mixins to declare (the order matters): [] eq_refl : inhab = (7 :: nil)%list : inhab = (7 :: nil)%list where ?T : [ |- Type] -[1737393999.211904] HB: start module and section AddComoid_of_Type -[1737393999.212607] HB: converting arguments +[1771804391.889468] HB: start module and section AddComoid_of_Type +[1771804391.889923] HB: converting arguments indt-decl (parameter A explicit X0 c0 \ record AddComoid_of_Type (sort (typ X1)) Build_AddComoid_of_Type @@ -746,19 +974,23 @@ (prod `x` (X9 c4) c5 \ app [global (indt «eq»), X10 c4 c5, app [c2, c1, c5], c5]) c5 \ end-record)) to factories -[1737393999.215948] HB: processing key parameter -[1737393999.225491] HB: converting factories +[1771804391.890644] HB: processing key parameter +[1771804391.891294] HB: converting factories w-params.nil A (sort (typ «HB.examples.readme.2»)) c0 \ [] to mixins -[1737393999.225835] HB: declaring context +[1771804391.891524] HB: declaring context w-params.nil A (sort (typ «HB.examples.readme.2»)) c0 \ [] -[1737393999.226173] HB: declaring parameters and key as section variables +[1771804391.891869] HB: declaring parameters and key as section variables Here is the list of mixins to declare (the order matters): [] -[1737393999.227318] HB: declare mixin or factory -[1737393999.227436] HB: declare record axioms_ -[1737393999.259625] HB: declare notation Build -[1737393999.289553] HB: declare notation axioms -[1737393999.314220] HB: start module Exports -[1737393999.319186] HB: end modules and sections; export +[1771804391.892776] HB: declare mixin or factory +[1771804391.892978] HB: declare record axioms_ +hasB.type not a defined object. +[1771804391.902582] HB: declare notation Build +[1771804391.909920] HB: declare notation axioms +[1771804391.917724] HB: start module Exports +File "./examples/demo1/hierarchy_1.v", line 55, characters 0-123: +Warning: HB: no new instance is generated +[HB.no-new-instance,HB,elpi,default] +[1771804391.923939] HB: end modules and sections; export «HB.examples.readme.AddComoid_of_Type.Exports» (* @@ -815,58 +1047,154 @@ Notation AddComoid_of_Type X1 := ( AddComoid_of_Type.phant_axioms X1). *) -COQC examples/Coq2020_material/CoqWS_abstract.v -File "./examples/demo1/hierarchy_5.v", line 39, characters 2-97: +File "./examples/demo1/hierarchy_4.v", line 40, characters 2-97: Warning: HB: no new instance is generated [HB.no-new-instance,HB,elpi,default] -[1737393999.448768] HB: start module AddComoid -[1737393999.449445] HB: declare axioms record +COQC tests/issue287.v +[1771804391.967351] HB: start module AddComoid +[1771804391.967796] HB: declare axioms record w-params.nil A (sort (typ «HB.examples.readme.25»)) c0 \ [triple (indt «AddComoid_of_Type.axioms_») [] c0] -[1737393999.449806] HB: typing class field +[1771804391.968166] HB: typing class field indt «AddComoid_of_Type.axioms_» -[1737393999.459538] HB: declare type record -File "./examples/demo1/hierarchy_4.v", line 69, characters 2-91: -Warning: HB: no new instance is generated -[HB.no-new-instance,HB,elpi,default] -[1737393999.471197] HB: structure: new mixins +[1771804391.971847] HB: declare type record +[1771804391.975171] HB: structure: new mixins [indt «AddComoid_of_Type.axioms_»] -[1737393999.471402] HB: structure: mixin first class +[1771804391.975392] HB: structure: mixin first class [mixin-first-class (indt «AddComoid_of_Type.axioms_») (indt «axioms_»)] -[1737393999.471525] HB: declaring clone abbreviation -[1737393999.500861] HB: declaring pack_ constant -[1737393999.502141] HB: declaring pack_ constant = +[1771804391.976224] HB: declaring clone abbreviation +[1771804391.985405] HB: declaring pack_ constant +[1771804391.986445] HB: declaring pack_ constant = fun `A` (sort (typ «axioms_.u0»)) c0 \ fun `m` (app [global (indt «AddComoid_of_Type.axioms_»), c0]) c1 \ app [global (indc «Pack»), c0, app [global (indc «Class»), c0, c1]] -[1737393999.508756] HB: start module Exports -[1737393999.509426] HB: making coercion from type to target -[1737393999.509535] HB: declare sort coercion -[1737393999.509996] HB: exporting unification hints -[1737393999.511713] HB: exporting coercions from class to mixins -[1737393999.512097] HB: export class to mixin coercion for mixin +[1771804391.989666] HB: start module Exports +[1771804391.990234] HB: making coercion from type to target +[1771804391.990571] HB: declare sort coercion +[1771804391.991067] HB: exporting unification hints +[1771804391.991357] HB: exporting coercions from class to mixins +[1771804391.991736] HB: export class to mixin coercion for mixin readme_AddComoid_of_Type -[1737393999.517152] HB: accumulating various props -[1737393999.518442] HB: stop module Exports -[1737393999.519376] HB: declaring on_ abbreviation -[1737393999.535145] HB: declaring `copy` abbreviation -[1737393999.540826] HB: declaring on abbreviation -[1737393999.543574] HB: end modules; export +[1771804391.992267] HB: accumulating various props +[1771804391.993640] HB: stop module Exports +[1771804391.994884] HB: declaring on_ abbreviation +[1771804392.000315] HB: declaring `copy` abbreviation +[1771804392.002052] HB: declaring on abbreviation +[1771804392.005699] HB: end modules; export «HB.examples.readme.AddComoid.Exports» -[1737393999.548863] HB: exporting operations +[1771804392.006604] HB: exporting operations +[1771804392.008426] HB: export operation zero +COQC tests/two_hier.v +[1771804392.012652] HB: start module SubInhab +[1771804392.013124] HB: declare axioms record +w-params.cons T (sort (typ «HB.tests.subtype.280»)) c0 \ + w-params.cons P (app [global (const «pred»), c0]) c1 \ + w-params.nil sT (sort (typ «HB.tests.subtype.282»)) c2 \ + [triple (indt «is_inhab.axioms_») [] c2, + triple (indt «is_SUB.axioms_») [c0, c1] c2] +[1771804392.013707] HB: typing class field indt «is_inhab.axioms_» +[1771804392.014112] HB: typing class field indt «is_SUB.axioms_» +[1771804392.014113] HB: export operation add +File "./examples/demo5/hierarchy_0.v", line 35, characters 2-91: +Warning: HB: no new instance is generated +[HB.no-new-instance,HB,elpi,default] +[1771804392.017732] HB: declare type record +[1771804392.020405] HB: export operation addrA +[1771804392.020791] HB: structure: new mixins [] +[1771804392.020940] HB: structure: mixin first class [] +[1771804392.021022] HB: declaring clone abbreviation +[1771804392.026560] HB: declaring pack_ constant +[1771804392.028391] HB: declaring pack_ constant = +fun `T` (sort (typ «axioms_.u0»)) c0 \ + fun `P` (app [global (const «pred»), c0]) c1 \ + fun `sT` (sort (typ «axioms_.u1»)) c2 \ + fun `m` (app [global (indt «is_inhab.axioms_»), c2]) c3 \ + fun `m` (app [global (indt «is_SUB.axioms_»), c0, c1, c2]) c4 \ + app + [global (indc «Pack»), c0, c1, c2, + app [global (indc «Class»), c0, c1, c2, c3, c4]] +[1771804392.029866] HB: start module Exports +[1771804392.030294] HB: making coercion from type to target +[1771804392.030485] HB: declare sort coercion +[1771804392.030734] HB: exporting unification hints +[1771804392.032096] HB: declare coercion subtype_SubInhab__to__subtype_SUB +[1771804392.033361] HB: declare coercion hint +subtype_SubInhab_class__to__subtype_SUB_class +[1771804392.036221] HB: declare unification hint +subtype_SubInhab__to__subtype_SUB +[1771804392.039386] HB: declare coercion subtype_SubInhab__to__subtype_Inhab +list_bar + : forall P : b.type, is_bar.axioms_ P (list P) +[1771804392.040408] HB: declare coercion hint +subtype_SubInhab_class__to__subtype_Inhab_class +[1771804392.043063] HB: declare unification hint +subtype_SubInhab__to__subtype_Inhab +File "./examples/FSCD2020_talk/V2.v", line 17, characters 0-66: +Warning: +pulling in dependencies: [V2_is_semigroup] + +Please list them or end the declaration with '&' +[HB.implicit-structure-dependency,HB,elpi,default] +[1771804392.046812] HB: declare unification hint +join_subtype_SubInhab_between_subtype_Inhab_and_subtype_SUB +[1771804392.050103] HB: exporting coercions from class to mixins +[1771804392.050572] HB: export class to mixin coercion for mixin +subtype_is_inhab +[1771804392.051738] HB: export class to mixin coercion for mixin +subtype_is_SUB +[1771804392.052737] HB: accumulating various props +[1771804392.054032] HB: stop module Exports +[1771804392.057594] HB: declaring on_ abbreviation +[1771804392.061655] HB: declaring `copy` abbreviation +[1771804392.063385] HB: declaring on abbreviation +[1771804392.065228] HB: end modules; export +«HB.tests.subtype.SubInhab.Exports» +[1771804392.068345] HB: exporting operations +[1771804392.068968] HB: operations meta-data module: ElpiOperations +[1771804392.069909] HB: abbreviation factory-by-classname +COQC tests/instance_merge_with_param.v +File "./examples/Coq2020_material/CoqWS_demo.v", line 73, characters 0-73: +Warning: +pulling in dependencies: [CoqWS_demo_CMonoid_of_Type] + +Please list them or end the declaration with '&' +[HB.implicit-structure-dependency,HB,elpi,default] +COQC tests/instance_merge_with_distinct_param.v +aType + : Type +forall x y : ?t, x - (y + 0) = x + : Prop +where +?t : [x : ?t y : ?t |- AbelianGrp.type] (x, y cannot be used) +COQC tests/instance_merge.v +Monoid.phant_on_ nat Nat_mul__canonical__funclass_Monoid + (Phantom (nat -> nat -> nat) Nat_mul__canonical__funclass_Monoid) +: +Monoid.axioms_ nat Init.Nat.mul + : Monoid.axioms_ nat Init.Nat.mul +hasB.type not a defined object. fun X : s2.type nat => inhab : X : forall X : s2.type nat, X -[1737393999.557196] HB: export operation zero fun X : s2.type nat => inj : nat -> X : forall X : s2.type nat, nat -> X s2_to_s1 not a defined object. -[1737393999.567277] HB: export operation add -[1737393999.583327] HB: export operation addrA -COQC examples/Coq2020_material/CoqWS_expansion/withHB.v -COQC examples/Coq2020_material/CoqWS_expansion/withoutHB.v -File "./examples/demo1/hierarchy_2.v", line 39, characters 2-91: +COQC tests/unit/enrich_type.v +File "./examples/demo1/hierarchy_2.v", line 57, characters 0-57: +Warning: +pulling in dependencies: +[hierarchy_2_AddComoid_of_TYPE, hierarchy_2_AddAG_of_AddComoid] + +Please list them or end the declaration with '&' +[HB.implicit-structure-dependency,HB,elpi,default] +File "./examples/FSCD2020_talk/V3.v", line 28, characters 2-118: Warning: HB: no new instance is generated [HB.no-new-instance,HB,elpi,default] +COQC tests/unit/mixin_src_has_mixin_instance.v +addrC + : commutative add +where +?s : [ |- CMonoid.type] +[1771804392.213798] HB: export operation addrC Record type : Type := Pack { sort : Type; class : Monoid.axioms_ sort }. Arguments Monoid.Pack sort%type_scope class @@ -876,17 +1204,10 @@ : forall s : Monoid.type, s -> s -> s @addNr : forall s : Ring.type, left_inverse 0 opp add -COQC tests/type_of_exported_ops.v -[1737394000.116365] HB: export operation addrC -[1737394000.131735] HB: export operation add0r -[1737394000.146431] HB: operations meta-data module: ElpiOperations -[1737394000.149592] HB: abbreviation factory-by-classname -File "./examples/hulk.v", line 143, characters 0-63: -Warning: -pulling in dependencies: [Feather_HasEqDec] - -Please list them or end the declaration with '&' -[HB.implicit-structure-dependency,HB,elpi,default] +[1771804392.219342] HB: export operation add0r +[1771804392.222964] HB: operations meta-data module: ElpiOperations +[1771804392.226874] HB: abbreviation factory-by-classname +HB.check: forall w : wp.type nat Init.Nat.mul, w = w : Prop (* Module AddComoid. @@ -983,65 +1304,23 @@ *) forall (M : AddComoid.type) (x : M), x + x = 0 : Prop -Record type : Type := Pack { sort : Type; class : Monoid.axioms_ sort }. - -Arguments Monoid.Pack sort%type_scope class -Arguments Monoid.sort record -Arguments Monoid.class record -@add - : forall s : Monoid.type, s -> s -> s -@addNr - : forall s : AbelianGroup.type, left_inverse 0 opp add -@addrC - : forall s : AbelianGroup.type, commutative add -File "./examples/demo1/hierarchy_2.v", line 57, characters 0-57: -Warning: -pulling in dependencies: -[hierarchy_2_AddComoid_of_TYPE, hierarchy_2_AddAG_of_AddComoid] - -Please list them or end the declaration with '&' -[HB.implicit-structure-dependency,HB,elpi,default] -COQC tests/duplicate_structure.v -COQC tests/instance_params_no_type.v -HB: A is canonically equipped with structures: - - Equality - Singleton - (from "./examples/hulk.v", line 216) - -COQC tests/test_CS_db_filtering.v -File "./examples/FSCD2020_talk/V2.v", line 17, characters 0-66: +File "./tests/interleave_context.v", line 16, characters 0-52: Warning: -pulling in dependencies: [V2_is_semigroup] +pulling in dependencies: [interleave_context_HasA, interleave_context_HasB] Please list them or end the declaration with '&' [HB.implicit-structure-dependency,HB,elpi,default] +COQC tests/unit/mk_src_map.v File "./examples/demo1/hierarchy_5.v", line 68, characters 2-91: Warning: HB: no new instance is generated [HB.no-new-instance,HB,elpi,default] -COQC tests/subtype.v -AbelianGrp.phant_on_ BinNums_Z__canonical__readme_AbelianGrp - (Phant BinNums_Z__canonical__readme_AbelianGrp) -: -AbelianGrp.axioms_ Z - : AbelianGrp.axioms_ Z -[1737394000.783316] HB: declare builder from hierarchy_2_Ring_of_AddComoid -to hierarchy_2_AddAG_of_AddComoid -[1737394000.783763] HB: declare builder from hierarchy_2_Ring_of_AddComoid -to hierarchy_2_Ring_of_AddAG -COQC tests/exports.v -HB: Z is canonically equipped with structures: - - AbelianGrp - (from "./examples/readme.v", line 32) - - AddComoid - (from "./examples/readme.v", line 31) - -COQC tests/log_impargs_record.v -COQC tests/compress_coe.v -COQC tests/funclass.v -COQC tests/grefclass.v -File "./examples/FSCD2020_talk/V3.v", line 28, characters 2-118: +File "./examples/demo1/hierarchy_4.v", line 69, characters 2-91: Warning: HB: no new instance is generated [HB.no-new-instance,HB,elpi,default] +COQC tests/unit/close_hole_term.v +COQC tests/unit/struct.v +COQC tests/factory_when_notation.v +COQC tests/saturate_on.v Record type : Type := Pack { sort : Type; class : Monoid.axioms_ sort }. Arguments Monoid.Pack sort%type_scope class @@ -1053,262 +1332,26 @@ : forall s : AbelianGroup.type, left_inverse 0 opp add @addrC : forall s : AbelianGroup.type, commutative add -COQC tests/local_instance.v -Record type : Type := Pack { sort : Type; class : Monoid.axioms_ sort }. - -Arguments Monoid.Pack sort%type_scope class -Arguments Monoid.sort record -Arguments Monoid.class record -@add - : forall s : Monoid.type, s -> s -> s -@addNr - : forall s : AbelianGroup.type, left_inverse 0 opp add -@addrC - : forall s : AbelianGroup.type, commutative add -COQC tests/lock.v -addrC - : commutative add +COQC tests/bug_435.v +hasAB.type not a defined object. +forall x y : ?t, 1 + x = y * x + : Prop where -?s : [ |- CMonoid.type] -File "./examples/Coq2020_material/CoqWS_expansion/withoutHB.v", line 10, characters 50-62: -Warning: The format modifier has no effect for only-parsing notations. -[discarded-format-only-parsing,parsing,default] -COQC tests/interleave_context.v -COQC tests/not_same_key.v -File "./tests/instance_params_no_type.v", line 5, characters 0-70: -Warning: HB: no new instance is generated -[HB.no-new-instance,HB,elpi,default] -File "./tests/instance_params_no_type.v", line 6, characters 0-76: -Warning: HB: no new instance is generated -[HB.no-new-instance,HB,elpi,default] -COQC tests/hb_pack.v -File "./tests/instance_params_no_type.v", line 7, characters 0-78: -Warning: HB: no new instance is generated -[HB.no-new-instance,HB,elpi,default] -list_foo' : forall P A : Type, is_foo.axioms_ P (list A) - -list_foo' is not universe polymorphic -Arguments list_foo' (P A)%type_scope -list_foo' is transparent -Expands to: Constant HB.tests.instance_params_no_type.list_foo' +?t : [x : ?t y : ?t |- SemiRing.type] (x, y cannot be used) +COQC tests/bug_447.v +hasA'.type not a defined object. File "./examples/Coq2020_material/CoqWS_abstract.v", line 23, characters 0-71: Warning: pulling in dependencies: [CoqWS_abstract_CMonoid_of_Type] Please list them or end the declaration with '&' [HB.implicit-structure-dependency,HB,elpi,default] -nat_foo - : forall P : Type, is_foo.axioms_ P nat -list_foo - : forall P : Type, is_foo.axioms_ P (list P) -foo.type - : Type -> Type -Record type (P : Type) : Type := Pack - { sort : Type; class : foo.axioms_ P sort }. - -Arguments foo.type P%type_scope -Arguments foo.Pack (P sort)%type_scope class -Arguments foo.sort P%type_scope record -Arguments foo.class P%type_scope record -Module -foo -:= Struct - Record axioms_ (P A : Type) : Type := Class - { instance_params_no_type_is_foo_mixin : is_foo.axioms_ P A } as record. - Definition instance_params_no_type_is_foo_mixin : - forall P A : Type, axioms_ P A -> is_foo.axioms_ P A. - Record type (P : Type) : Type := Pack - { sort : Type; class : axioms_ P sort }. - Definition sort : forall P : Type, type P -> Type. - Definition class : - forall (P : Type) (record : type P), axioms_ P record. - Definition phant_clone : - forall (P A : Type) (cT : type P) (c : axioms_ P A), - unify Type Type A cT nomsg -> - unify (type P) (type P) cT {| sort := A; class := c |} nomsg -> type P. - Definition pack_ : forall P A : Type, is_foo.axioms_ P A -> type P. - Module Exports - Definition phant_on_ : - forall (P : Type) (A : type P), ssreflect.phant A -> axioms_ P A. - End -Record axioms_ (P A : Type) : Type := Class - { instance_params_no_type_is_foo_mixin : is_foo.axioms_ P A } as record. - -axioms_ has primitive projections with eta conversion. -Arguments foo.axioms_ (P A)%type_scope -Arguments foo.Class (P A)%type_scope instance_params_no_type_is_foo_mixin -Arguments foo.instance_params_no_type_is_foo_mixin (P A)%type_scope record -add - : ?s -> ?s -> ?s -where -?s : [ |- CMonoid.type] -addrC - : commutative add -where -?s : [ |- CMonoid.type] -COQC tests/declare.v -COQC tests/short.v -list_bar - : forall P : b.type, is_bar.axioms_ P (list P) -COQC tests/instance_before_structure.v -COQC tests/primitive_records.v -File "./examples/Coq2020_material/CoqWS_demo.v", line 73, characters 0-73: -Warning: -pulling in dependencies: [CoqWS_demo_CMonoid_of_Type] - -Please list them or end the declaration with '&' -[HB.implicit-structure-dependency,HB,elpi,default] -(* - -Module A. -Section A. -Variable T : Type. -Local Arguments T : clear implicits. -Section axioms_. -Local Unset Implicit Arguments. -Record axioms_ (T : Type) : Type := Axioms_ - { - a : T; - f : T -> T; - p : forall x : T, f x = x -> True; - q : forall h : f a = a, p a h = p a h; - }. -End axioms_. - -Global Arguments axioms_ : clear implicits. -Global Arguments Axioms_ [_] [_] _ _ _. -Global Arguments a [_] _. -Global Arguments f [_] _ _. -Global Arguments p [_] _ [_] _. -Global Arguments q [_] _ _. -End A. -Global Arguments axioms_ : clear implicits. -Global Arguments Axioms_ : clear implicits. -Definition phant_Build : forall (T : Type) (a : T) (f : T -> T) - (p : forall x : T, f x = x -> True), - (forall h : f a = a, p a h = p a h) -> axioms_ T := - fun (T : Type) (a : T) (f : T -> T) (p : forall x : T, f x = x -> True) - (q : forall h : f a = a, p a h = p a h) => - {| a := a; f := f; p := p; q := q |}. -Local Arguments phant_Build : clear implicits. -Notation Build X1 := ( phant_Build X1). -Definition phant_axioms : Type -> Type := fun T : Type => axioms_ T. -Local Arguments phant_axioms : clear implicits. -Notation axioms X1 := ( phant_axioms X1). -Definition identity_builder : forall T : Type, axioms_ T -> axioms_ T := - fun (T : Type) (x : axioms_ T) => x. -Local Arguments identity_builder : clear implicits. -Module Exports. -Global Arguments Axioms_ {_}. -End Exports. -End A. -Export A.Exports. -Notation A X1 := ( A.phant_axioms X1). - -*) -forall x y : ?t, x - (y + 0) = x - : Prop -where -?t : [x : ?t y : ?t |- AbelianGrp.type] (x, y cannot be used) -A.p : -forall [T : Type] (record : A.axioms_ T) [x : T], A.f record x = x -> True - -A.p is not universe polymorphic -A.p is a projection of A.axioms_ -Arguments A.p [T]%type_scope record [x] _ -A.p is transparent -Expands to: Constant HB.tests.log_impargs_record.A.p -HB.check: -SemiRing_of_AddComoid.axioms_ -: -forall (A : Type) (m : AddMonoid_of_TYPE.axioms_ A), -AddComoid_of_AddMonoid.axioms_ A m -> Type -: -forall (A : Type) (m : AddMonoid_of_TYPE.axioms_ A), -AddComoid_of_AddMonoid.axioms_ A m -> Type -p : pred nat - : pred nat -forall (G : AbelianGrp.type) (x : G), x - x = 0 - : Prop -forall (S : SemiRing.type) (x : S), x * 1 + 0 = x - : Prop -forall (R : Ring.type) (x y : R), x * - (1 * y) = - x * y - : Prop -id : forall {T : Type}, Monoid.type T -> T - -id is not universe polymorphic -Arguments id {T}%type_scope {s} -id is transparent -Expands to: Constant HB.tests.funclass.id -COQC tests/non_forgetful_inheritance.v -COQC tests/fix_loop.v -[1737394003.479030] HB: start module SubInhab -[1737394003.480036] HB: declare axioms record -w-params.cons T (sort (typ «HB.tests.subtype.280»)) c0 \ - w-params.cons P (app [global (const «pred»), c0]) c1 \ - w-params.nil sT (sort (typ «HB.tests.subtype.282»)) c2 \ - [triple (indt «is_inhab.axioms_») [] c2, - triple (indt «is_SUB.axioms_») [c0, c1] c2] -[1737394003.480717] HB: typing class field indt «is_inhab.axioms_» -[1737394003.481222] HB: typing class field indt «is_SUB.axioms_» -[1737394003.485702] HB: declare type record -[1737394003.489526] HB: structure: new mixins [] -[1737394003.490046] HB: structure: mixin first class [] -[1737394003.490217] HB: declaring clone abbreviation -[1737394003.496957] HB: declaring pack_ constant -[1737394003.499091] HB: declaring pack_ constant = -fun `T` (sort (typ «axioms_.u0»)) c0 \ - fun `P` (app [global (const «pred»), c0]) c1 \ - fun `sT` (sort (typ «axioms_.u1»)) c2 \ - fun `m` (app [global (indt «is_inhab.axioms_»), c2]) c3 \ - fun `m` (app [global (indt «is_SUB.axioms_»), c0, c1, c2]) c4 \ - app - [global (indc «Pack»), c0, c1, c2, - app [global (indc «Class»), c0, c1, c2, c3, c4]] -[1737394003.500894] HB: start module Exports -[1737394003.501514] HB: making coercion from type to target -[1737394003.501794] HB: declare sort coercion -[1737394003.502073] HB: exporting unification hints -[1737394003.503561] HB: declare coercion subtype_SubInhab__to__subtype_SUB -[1737394003.505123] HB: declare coercion hint -subtype_SubInhab_class__to__subtype_SUB_class -Monoid.phant_on_ nat Nat_add__canonical__funclass_Monoid - (Phantom (nat -> nat -> nat) Nat_add__canonical__funclass_Monoid) +COQC tests/unimported_relevant_class.v +AbelianGrp.phant_on_ BinNums_Z__canonical__readme_AbelianGrp + (Phant BinNums_Z__canonical__readme_AbelianGrp) : -Monoid.axioms_ nat Init.Nat.add - : Monoid.axioms_ nat Init.Nat.add -[1737394003.509080] HB: declare unification hint -subtype_SubInhab__to__subtype_SUB -[1737394003.513050] HB: declare coercion subtype_SubInhab__to__subtype_Inhab -[1737394003.514516] HB: declare coercion hint -subtype_SubInhab_class__to__subtype_Inhab_class -[1737394003.518205] HB: declare unification hint -subtype_SubInhab__to__subtype_Inhab -[1737394003.524375] HB: declare unification hint -join_subtype_SubInhab_between_subtype_Inhab_and_subtype_SUB -[1737394003.529063] HB: exporting coercions from class to mixins -[1737394003.530017] HB: export class to mixin coercion for mixin -subtype_is_inhab -[1737394003.531452] HB: export class to mixin coercion for mixin -subtype_is_SUB -[1737394003.532563] HB: accumulating various props -[1737394003.534381] HB: stop module Exports -COQC tests/test_synthesis_params.v -[1737394003.539864] HB: declaring on_ abbreviation -[1737394003.546412] HB: declaring `copy` abbreviation -forall x : Z, x * - (1 + x) = 0 + 1 - : Prop -[1737394003.549074] HB: declaring on abbreviation -[1737394003.551157] HB: end modules; export -«HB.tests.subtype.SubInhab.Exports» -[1737394003.555521] HB: exporting operations -[1737394003.556372] HB: operations meta-data module: ElpiOperations -[1737394003.557303] HB: abbreviation factory-by-classname -forall x y : ?t, 1 + x = y * x - : Prop -where -?t : [x : ?t y : ?t |- SemiRing.type] (x, y cannot be used) -COQC tests/hnf.v +AbelianGrp.axioms_ Z + : AbelianGrp.axioms_ Z forall (R : Ring.type) (x y : R), 1 * x = y - x : Prop forall @@ -1321,72 +1364,134 @@ join_CoqWS_demo_Ring_between_CoqWS_demo_AbelianGrp_and_CoqWS_demo_SemiRing ?t y : ?t |- Ring.type] (x, y cannot be used) -default : nat - : nat -The command did fail as expected with message: -The term "default" has type "nonempty.sort ?t" -while it is expected to have type "nat". -Notation big := big.body -Expands to: Notation HB.tests.lock.X.big +hasAB.type not a defined object. +File "./examples/demo5/hierarchy_0.v", line 68, characters 2-109: +Warning: HB: no new instance is generated +[HB.no-new-instance,HB,elpi,default] +COQC tests/unimported_irrelevant_class.v +File "./examples/hulk.v", line 143, characters 0-63: +Warning: +pulling in dependencies: [Feather_HasEqDec] -big.body : forall R I : Type, R -> list I -> (I -> bigbody R I) -> R +Please list them or end the declaration with '&' +[HB.implicit-structure-dependency,HB,elpi,default] +hasA'.type not a defined object. +HB: Z is canonically equipped with structures: + - AbelianGrp + (from "./examples/readme.v", line 32) + - AddComoid + (from "./examples/readme.v", line 31) -big.body is not universe polymorphic -Arguments big.body (R I)%type_scope _ _%list_scope _%function_scope -Expands to: Constant HB.tests.lock.X.big.body -COQC tests/fun_instance.v +forall T : AB.type, +unkeyed + {| + AB.sort := T; + AB.class := + let hb_pack_hasA_mixin := AB.hb_pack_hasA_mixin _ (AB.class T) in + let hb_pack_hasB_mixin := AB.hb_pack_hasB_mixin _ (AB.class T) in + {| + AB.hb_pack_hasA_mixin := hb_pack_hasA_mixin; + AB.hb_pack_hasB_mixin := hb_pack_hasB_mixin + |} + |} + : Type forall x : Z, x * - (1 + x) = 0 + 1 : Prop -COQC tests/issue284.v +A : A.type + : A.type +A : A.type + : A.type +[1771804392.571549] HB: declare builder from hierarchy_2_Ring_of_AddComoid +to hierarchy_2_AddAG_of_AddComoid +[1771804392.571756] HB: declare builder from hierarchy_2_Ring_of_AddComoid +to hierarchy_2_Ring_of_AddAG +COQC examples/demo1/test_0_0.v +AB1 : hasB.phant_axioms A -> AB.type + : hasB.phant_axioms A -> AB.type +COQC examples/demo1/test_1_0.v +Bm : hasB.phant_axioms A + : hasB.phant_axioms A +AB2 : AB.type + : AB.type +pB : T * T + : T * T +AB3 : AB.type + : AB.type +COQC examples/demo3/test_0_0.v add : A -> A -> A -[1737394004.042897] HB: start module and section hasA -[1737394004.043706] HB: converting arguments -indt-decl - (parameter T explicit X0 c0 \ - record hasA (sort (typ X1)) Build_hasA - (field [coercion off, canonical tt] a c0 c1 \ end-record)) to factories -[1737394004.044089] HB: processing key parameter -[1737394004.044877] HB: converting factories -w-params.nil T (sort (typ «HB.tests.hb_pack.8»)) c0 \ [] to mixins -[1737394004.045059] HB: declaring context -w-params.nil T (sort (typ «HB.tests.hb_pack.8»)) c0 \ [] -[1737394004.045366] HB: declaring parameters and key as section variables -Here is the list of mixins to declare (the order matters): [] -[1737394004.046203] HB: declare mixin or factory -[1737394004.046343] HB: declare record axioms_ -[1737394004.050869] HB: declare notation Build -[1737394004.056147] HB: declare notation axioms -[1737394004.059875] HB: start module Exports -[1737394004.064664] HB: end modules and sections; export -«HB.tests.hb_pack.hasA.Exports» -hasA.type not a defined object. -Monoid.phant_on_ nat Nat_mul__canonical__funclass_Monoid - (Phantom (nat -> nat -> nat) Nat_mul__canonical__funclass_Monoid) -: -Monoid.axioms_ nat Init.Nat.mul - : Monoid.axioms_ nat Init.Nat.mul -hasB.type not a defined object. -[1737394004.243002] HB: exporting under the module path [] -[1737394004.243785] HB: exporting modules +COQC examples/demo3/test_1_0.v +[1771804392.691454] HB: exporting under the module path [] +[1771804392.691947] HB: exporting modules [Ring_of_TYPE.Exports, Ring.Exports, RingElpiOperations, RingExports, Dummy.Exports, URing.Exports, URingElpiOperations, dummy.Exports, Builders_1.Builders_Export_5] -[1737394004.247627] HB: exporting CS instances +[1771804392.694632] HB: exporting CS instances [«Z_ring_axioms», «BinNums_Z__canonical__Enclosing_Ring»] -[1737394004.248964] HB: exporting Abbreviations [addr0, addrNK] -[1737394004.249272] HB: exporting Clauses X0 +[1771804392.695662] HB: exporting Abbreviations [addr0, addrNK] +[1771804392.696087] HB: exporting Clauses X0 forall (R : Enclosing.Ring.type) (x : R), x = x : Prop 0%G : ?s where ?s : [ |- Enclosing.Ring.type] +COQC examples/demo3/test_2_0.v +File "./tests/non_forgetful_inheritance.v", line 35, characters 0-45: +Warning: Could not enable unknown warning HB.non-forgetful-inheritance +[unknown-warning,default] Enclosing.zero : Z : Z +Debug: +elpi lets escape exception: non forgetful inheritance detected. + You have two solutions: +1. (Best practice) Reorganize your hierarchy to make +non_forgetful_inheritance_HasSq depend on non_forgetful_inheritance_Mul. +See the paper "Competing inheritance paths in +dependent type theory" (https://hal.inria.fr/hal-02463336) for more +explanations +2. Use the attribute #[non_forgetful_inheritance] to disable this check. +We strongly advise you encapsulate this instance inside a module, +in order to isolate it from the rest of the code, and to be able +to import it on demand. See the above paper and the file +https://github.com/math-comp/hierarchy-builder/blob/master/tests/non_forgetful_inheritance.v +to witness devastating effects. +[HB.non-forgetful-inheritance,HB,elpi,default] +X : Foo.type A P + : Foo.type A P +COQC tests/exports2.v +HB: A is canonically equipped with structures: + - Equality + Singleton + (from "./examples/hulk.v", line 216) + +Record type : Type := Pack { sort : Type; class : Monoid.axioms_ sort }. + +Arguments Monoid.Pack sort%type_scope class +Arguments Monoid.sort record +Arguments Monoid.class record +@add + : forall s : Monoid.type, s -> s -> s +@addNr + : forall s : AbelianGroup.type, left_inverse 0 opp add +@addrC + : forall s : AbelianGroup.type, commutative add +forall x : Z, x * - (1 + x) = 0 + 1 + : Prop +forall (G : AbelianGrp.type) (x : G), x - x = 0 + : Prop +Query assignments: + Ind = «hasA.axioms_» +forall (S : SemiRing.type) (x : S), x * 1 + 0 = x + : Prop +forall (R : Ring.type) (x y : R), x * - (1 * y) = - x * y + : Prop +Query assignments: + Ind = «A.axioms_» +Query assignments: + Ind = «A.type» forall x : Z, x * - (1 + x) = 0 + 1 : Prop -HB.check: forall w : wp.type nat Init.Nat.mul, w = w : Prop Datatypes_prod__canonical__compress_coe_D = fun D D' : D.type => {| @@ -1408,126 +1513,31 @@ : D.type -> D.type -> D.type Arguments Datatypes_prod__canonical__compress_coe_D D D' -COQC tests/issue287.v -COQC tests/two_hier.v -COQC tests/instance_merge_with_param.v -COQC tests/instance_merge_with_distinct_param.v -COQC tests/instance_merge.v -COQC tests/unit/enrich_type.v -aType - : Type -File "./tests/interleave_context.v", line 16, characters 0-52: -Warning: -pulling in dependencies: [interleave_context_HasA, interleave_context_HasB] - -Please list them or end the declaration with '&' -[HB.implicit-structure-dependency,HB,elpi,default] -hasAB.type not a defined object. -hasB.type not a defined object. -hasA'.type not a defined object. -Query assignments: - Ind = «hasA.axioms_» -forall T : AB.type, -unkeyed - {| - AB.sort := T; - AB.class := - let hb_pack_hasA_mixin := AB.hb_pack_hasA_mixin _ (AB.class T) in - let hb_pack_hasB_mixin := AB.hb_pack_hasB_mixin _ (AB.class T) in - {| - AB.hb_pack_hasA_mixin := hb_pack_hasA_mixin; - AB.hb_pack_hasB_mixin := hb_pack_hasB_mixin - |} - |} - : Type -A : A.type - : A.type -A : A.type - : A.type -AB1 : hasB.phant_axioms A -> AB.type - : hasB.phant_axioms A -> AB.type -Bm : hasB.phant_axioms A - : hasB.phant_axioms A -AB2 : AB.type - : AB.type -pB : T * T - : T * T -AB3 : AB.type - : AB.type -Query assignments: - Ind = «A.axioms_» -Query assignments: - Ind = «A.type» HB: nat is canonically equipped with structures: - s1 (from "./tests/instance_before_structure.v", line 11) +T : Fun.type nat + : Fun.type nat +Datatypes_nat__canonical__hnf_S = +{| S.sort := nat; S.class := {| S.hnf_M_mixin := HB_unnamed_mixin_8 |} |} + : S.type +HB_unnamed_mixin_8 = +{| M.x := f.y nat HB_unnamed_factory_6 + 1 |} + : M.axioms_ nat File "./tests/instance_before_structure.v", line 16, characters 0-52: Warning: HB: no new instance is generated [HB.no-new-instance,HB,elpi,default] -COQC tests/unit/mixin_src_has_mixin_instance.v -X : Foo.type A P - : Foo.type A P -HB: nat is canonically equipped with structures: - - s1 - (from "./tests/instance_before_structure.v", line 11) - -COQC tests/unit/mk_src_map.v HB: nat is canonically equipped with structures: - s1 (from "./tests/instance_before_structure.v", line 11) -hasAB.type not a defined object. -T : Fun.type nat - : Fun.type nat -hasA'.type not a defined object. -COQC tests/unit/close_hole_term.v -erefl : ?t = ?t - : ?t = ?t -where -?t : [ |- Sq.type] -COQC tests/unit/struct.v -COQC tests/factory_when_notation.v -COQC tests/saturate_on.v -HB: nat is canonically equipped with structures: - - s1 - (from "./tests/instance_before_structure.v", line 11) - -HB: nat is canonically equipped with structures: - - s3 - s2 - (from "./tests/instance_before_structure.v", line 30) - - s1 - (from "./tests/instance_before_structure.v", line 11) - -default1 - : nat -default2 - : nat -default3 - : nat -COQC tests/bug_435.v -COQC tests/bug_447.v -COQC tests/unimported_relevant_class.v -File "./tests/non_forgetful_inheritance.v", line 35, characters 0-45: -Warning: Could not enable unknown warning HB.non-forgetful-inheritance -[unknown-warning,default] -Debug: -elpi lets escape exception: non forgetful inheritance detected. - You have two solutions: -1. (Best practice) Reorganize your hierarchy to make -non_forgetful_inheritance_HasSq depend on non_forgetful_inheritance_Mul. -See the paper "Competing inheritance paths in -dependent type theory" (https://hal.inria.fr/hal-02463336) for more -explanations -2. Use the attribute #[non_forgetful_inheritance] to disable this check. -We strongly advise you encapsulate this instance inside a module, -in order to isolate it from the rest of the code, and to be able -to import it on demand. See the above paper and the file -https://github.com/math-comp/hierarchy-builder/blob/master/tests/non_forgetful_inheritance.v -to witness devastating effects. -[HB.non-forgetful-inheritance,HB,elpi,default] -COQC tests/unimported_irrelevant_class.v +Datatypes_bool__canonical__hnf_S = +{| S.sort := bool; S.class := {| S.hnf_M_mixin := HB_unnamed_mixin_12 |} |} + : S.type +HB_unnamed_mixin_12 = +Builders_1.HB_unnamed_factory_3 bool HB_unnamed_factory_9 + : M.axioms_ bool Query assignments: X = global (indt «nat») Query assignments: @@ -1617,35 +1627,54 @@ WEAK CONSTRAINTS: -COQC examples/demo1/test_0_0.v -Datatypes_nat__canonical__hnf_S = -{| S.sort := nat; S.class := {| S.hnf_M_mixin := HB_unnamed_mixin_8 |} |} - : S.type -HB_unnamed_mixin_8 = -{| M.x := f.y nat HB_unnamed_factory_6 + 1 |} - : M.axioms_ nat -Datatypes_bool__canonical__hnf_S = -{| S.sort := bool; S.class := {| S.hnf_M_mixin := HB_unnamed_mixin_12 |} |} - : S.type -HB_unnamed_mixin_12 = -Builders_1.HB_unnamed_factory_3 bool HB_unnamed_factory_9 - : M.axioms_ bool -COQC examples/demo1/test_1_0.v -COQC examples/demo1/test_2_0.v -COQC examples/demo1/test_3_0.v -COQC examples/demo1/test_3_3.v -COQC examples/demo1/test_4_0.v -File "./tests/unit/mk_src_map.v", line 6, characters 0-76: -Warning: HB: no new instance is generated -[HB.no-new-instance,HB,elpi,default] -File "./tests/unit/mk_src_map.v", line 8, characters 0-79: +HB: nat is canonically equipped with structures: + - s1 + (from "./tests/instance_before_structure.v", line 11) + +Record type : Type := Pack { sort : Type; class : Monoid.axioms_ sort }. + +Arguments Monoid.Pack sort%type_scope class +Arguments Monoid.sort record +Arguments Monoid.class record +@add + : forall s : Monoid.type, s -> s -> s +@addNr + : forall s : AbelianGroup.type, left_inverse 0 opp add +@addrC + : forall s : AbelianGroup.type, commutative add +erefl : ?t = ?t + : ?t = ?t +where +?t : [ |- Sq.type] +Query assignments: + H_ = [] +struct_foo1__to__struct_foo = +fun s : foo1.type => {| foo.sort := s; foo.class := foo1.class s |} + : foo1.type -> foo.type (option nat) + +Arguments struct_foo1__to__struct_foo s +struct_foo1__to__struct_foo is a reversible coercion +HB: nat is canonically equipped with structures: + - s1 + (from "./tests/instance_before_structure.v", line 11) + +File "./tests/saturate_on.v", line 5, characters 0-64: Warning: HB: no new instance is generated [HB.no-new-instance,HB,elpi,default] -list_foo' - : forall P A : Type, is_foo.axioms_ P (list A) -list_foo - : forall P : Type, is_foo.axioms_ P (list P) -File "./tests/unit/mixin_src_has_mixin_instance.v", line 12, characters 0-57: +HB: nat is canonically equipped with structures: + - s3 + s2 + (from "./tests/instance_before_structure.v", line 30) + - s1 + (from "./tests/instance_before_structure.v", line 11) + +default1 + : nat +default2 + : nat +default3 + : nat +File "./tests/factory_when_notation.v", line 6, characters 0-40: Warning: HB: no new instance is generated [HB.no-new-instance,HB,elpi,default] Query assignments: @@ -1674,16 +1703,8 @@ Query assignments: Z = global (indt «nat») -Query assignments: - M1_ = const «m1.phant_axioms» - Y = has-mixin-instance (cs-gref (indt «nat»)) (const «m1.phant_axioms») - (const «nat_m1») -Query assignments: - M1_ = const «m1.phant_axioms» nat : s3.type : s3.type - Y = has-mixin-instance (cs-gref (indt «list»)) (const «m1.phant_axioms») - (const «i1») list nat : s3.type : s3.type list (list nat) : s3.type @@ -1691,17 +1712,6 @@ fun t : s3.type => list t : s3.type : s3.type -> s3.type Query assignments: - MS = pi c0 \ - pi c1 \ - mixin-src (app [global (indt «list»), c1]) (indt «is_foo.axioms_») - (app [global (const «list_foo»), c0]) :- [coq.unify-eq c0 c1 ok] -Query assignments: - MS' = pi c0 \ - pi c1 \ - pi c2 \ - mixin-src (app [global (indt «list»), c2]) (indt «is_foo.axioms_») - (app [global (const «list_foo'»), c0, c1]) :- [coq.unify-eq c1 c2 ok] -Query assignments: X = app [global (const «Inj»), X0, X1, X2, X3, X4] X2_ = X0 X3_ = X1 @@ -1754,12 +1764,44 @@ WEAK CONSTRAINTS: -COQC examples/demo1/test_4_3.v -COQC examples/demo1/test_5_0.v -File "./tests/saturate_on.v", line 5, characters 0-64: +HB: list is canonically equipped with structures: + - s2 + (from "./tests/instance_merge_with_param.v", line 12) + - s1 + (from "./tests/instance_merge_with_param.v", line 10) + +File "./tests/unit/mk_src_map.v", line 6, characters 0-76: Warning: HB: no new instance is generated [HB.no-new-instance,HB,elpi,default] -COQC examples/demo1/test_5_3.v +File "./tests/unit/mk_src_map.v", line 8, characters 0-79: +Warning: HB: no new instance is generated +[HB.no-new-instance,HB,elpi,default] +list_foo' + : forall P A : Type, is_foo.axioms_ P (list A) +list_foo + : forall P : Type, is_foo.axioms_ P (list P) +File "./tests/unit/mixin_src_has_mixin_instance.v", line 12, characters 0-57: +Warning: HB: no new instance is generated +[HB.no-new-instance,HB,elpi,default] +Query assignments: + MS = pi c0 \ + pi c1 \ + mixin-src (app [global (indt «list»), c1]) (indt «is_foo.axioms_») + (app [global (const «list_foo»), c0]) :- [coq.unify-eq c0 c1 ok] +Query assignments: + MS' = pi c0 \ + pi c1 \ + pi c2 \ + mixin-src (app [global (indt «list»), c2]) (indt «is_foo.axioms_») + (app [global (const «list_foo'»), c0, c1]) :- [coq.unify-eq c1 c2 ok] +Query assignments: + M1_ = const «m1.phant_axioms» + Y = has-mixin-instance (cs-gref (indt «nat»)) (const «m1.phant_axioms») + (const «nat_m1») +Query assignments: + M1_ = const «m1.phant_axioms» + Y = has-mixin-instance (cs-gref (indt «list»)) (const «m1.phant_axioms») + (const «i1») nat : s3.type : s3.type list nat : s3.type @@ -1768,26 +1810,10 @@ : s3.type fun t : s3.type => list t : s3.type : s3.type -> s3.type -HB: list is canonically equipped with structures: - - s2 - (from "./tests/instance_merge_with_param.v", line 12) - - s1 - (from "./tests/instance_merge_with_param.v", line 10) - -COQC examples/demo2/stage10.v -File "./tests/factory_when_notation.v", line 6, characters 0-40: -Warning: HB: no new instance is generated -[HB.no-new-instance,HB,elpi,default] -Query assignments: - H_ = [] -struct_foo1__to__struct_foo = -fun s : foo1.type => {| foo.sort := s; foo.class := foo1.class s |} - : foo1.type -> foo.type (option nat) - -Arguments struct_foo1__to__struct_foo s -struct_foo1__to__struct_foo is a reversible coercion list unit : Pointed.type : Pointed.type +COQC examples/demo1/test_3_0.v +COQC examples/demo1/test_3_3.v HB: list is canonically equipped with structures: - s3 (from "./tests/instance_merge_with_param.v", line 23) @@ -1796,35 +1822,32 @@ - s1 (from "./tests/instance_merge_with_param.v", line 10) -nat : s3'.type Datatypes_nat__canonical__two_hier_s3 - : s3'.type Datatypes_nat__canonical__two_hier_s3 -list nat : s3'.type Datatypes_nat__canonical__two_hier_s3 - : s3'.type Datatypes_nat__canonical__two_hier_s3 -Datatypes_list__canonical__two_hier_s3' - : forall x : s3.type, s3'.type x -> s3'.type x -list (list nat) : s3'.type Datatypes_nat__canonical__two_hier_s3 - : s3'.type Datatypes_nat__canonical__two_hier_s3 -COQC examples/demo2/stage11.v -COQC examples/demo3/test_0_0.v -COQC examples/demo3/test_1_0.v -[1737394008.576163] HB: postulating X -[1737394008.581957] HB: declare canonical mixin instance +HB.check: +SemiRing_of_AddComoid.axioms_ +: +forall (A : Type) (m : AddMonoid_of_TYPE.axioms_ A), +AddComoid_of_AddMonoid.axioms_ A m -> Type +: +forall (A : Type) (m : AddMonoid_of_TYPE.axioms_ A), +AddComoid_of_AddMonoid.axioms_ A m -> Type +[1771804393.496815] HB: postulating X +[1771804393.499408] HB: declare canonical mixin instance «HB_unnamed_factory_5» -[1737394008.584285] HB: we can build a bug_435_B2 on unit -[1737394008.585215] HB: declare canonical structure instance +[1771804393.499964] HB: we can build a bug_435_B2 on unit +[1771804393.500138] HB: declare canonical structure instance Datatypes_unit__canonical__bug_435_B2 -[1737394008.585609] HB: structure instance for +[1771804393.500262] HB: structure instance for Datatypes_unit__canonical__bug_435_B2 is {| B2.sort := unit; B2.class := {| B2.bug_435_A2_mixin := HB_unnamed_factory_5 |} |} -[1737394008.589333] HB: structure instance +[1771804393.501459] HB: structure instance Datatypes_unit__canonical__bug_435_B2 declared -[1737394008.591481] HB: we can build a should_work_but_fails_B on unit -[1737394008.592198] HB: declare canonical structure instance +[1771804393.501988] HB: we can build a should_work_but_fails_B on unit +[1771804393.502170] HB: declare canonical structure instance Datatypes_unit__canonical__should_work_but_fails_B -[1737394008.592709] HB: structure instance for +[1771804393.502306] HB: structure instance for Datatypes_unit__canonical__should_work_but_fails_B is {| B.sort := unit; @@ -1834,38 +1857,51 @@ B.bug_435_A2_mixin := HB_unnamed_factory_5 |} |} -[1737394008.593530] HB: closing instance section +[1771804393.502583] HB: closing instance section unit : B.type ?t : B.type ?t where ?t : [ |- S.type] +nat : s3'.type Datatypes_nat__canonical__two_hier_s3 + : s3'.type Datatypes_nat__canonical__two_hier_s3 +list nat : s3'.type Datatypes_nat__canonical__two_hier_s3 + : s3'.type Datatypes_nat__canonical__two_hier_s3 +Datatypes_list__canonical__two_hier_s3' + : forall x : s3.type, s3'.type x -> s3'.type x +list (list nat) : s3'.type Datatypes_nat__canonical__two_hier_s3 + : s3'.type Datatypes_nat__canonical__two_hier_s3 +COQC examples/demo1/test_2_0.v +COQC examples/demo2/stage10.v +COQC examples/demo2/stage11.v unit : B.type ?t : B.type ?t where ?t : [ |- S.type] -COQC examples/demo3/test_2_0.v -COQC tests/exports2.v +COQC examples/demo1/test_4_0.v +COQC examples/demo1/test_4_3.v +COQC examples/demo1/test_5_0.v +COQC examples/demo1/test_5_3.v testTy : JustMixedParam.type ?T : JustMixedParam.type ?T where ?T : [ |- Type] -File "./examples/demo2/stage10.v", line 4, characters 0-25: +[1771804394.072891] HB: exporting under the module path [] +[1771804394.073016] HB: exporting modules [] +[1771804394.073116] HB: exporting CS instances [] +[1771804394.073188] HB: exporting Abbreviations [] +[1771804394.073262] HB: exporting Clauses X0 +File "./examples/demo2/stage11.v", line 3, characters 0-25: Warning: Hiding binding of key Q to Q_scope [hiding-delimiting-key,parsing,default] -File "./examples/demo2/stage11.v", line 3, characters 0-25: +File "./examples/demo2/stage10.v", line 4, characters 0-25: Warning: Hiding binding of key Q to Q_scope [hiding-delimiting-key,parsing,default] -File "./examples/demo2/stage10.v", line 112, characters 2-115: +File "./examples/demo2/stage11.v", line 115, characters 2-100: Warning: HB: no new instance is generated [HB.no-new-instance,HB,elpi,default] -File "./examples/demo2/stage11.v", line 115, characters 2-100: +File "./examples/demo2/stage10.v", line 112, characters 2-115: Warning: HB: no new instance is generated [HB.no-new-instance,HB,elpi,default] -[1737394010.735426] HB: exporting under the module path [] -[1737394010.735589] HB: exporting modules [] -[1737394010.735656] HB: exporting CS instances [] -[1737394010.735720] HB: exporting Abbreviations [] -[1737394010.735782] HB: exporting Clauses X0 Qcplus_opp_r: forall q : Qc, q + - q = Q2Qc 0 File "./examples/demo2/stage10.v", line 233, characters 0-27: Warning: The default and global localities for this command outside sections @@ -1896,30 +1932,30 @@ disable this warning. [deprecated-tacopt-without-locality,deprecated-since-8.17,deprecated,default] HB: skipping section opening -[1737394013.013099] HB: declare mixin instance +[1771804396.036828] HB: declare mixin instance Stage11_JoinTAddAG__to__Stage11_Uniform_wo_Topology -[1737394013.015584] HB: declare canonical mixin instance +[1771804396.037983] HB: declare canonical mixin instance «Stage11_JoinTAddAG__to__Stage11_Uniform_wo_Topology» -[1737394013.017873] HB: declare mixin instance +[1771804396.039167] HB: declare mixin instance Stage11_JoinTAddAG__to__Stage11_Join_TAddAG_Uniform -[1737394013.025067] HB: declare canonical mixin instance +[1771804396.042897] HB: declare canonical mixin instance «Stage11_JoinTAddAG__to__Stage11_Join_TAddAG_Uniform» -[1737394013.027293] HB: declare mixin instance +[1771804396.043967] HB: declare mixin instance Stage11_JoinTAddAG__to__Stage11_Join_Uniform_Topology -[1737394013.032660] HB: declare canonical mixin instance +[1771804396.046780] HB: declare canonical mixin instance «Stage11_JoinTAddAG__to__Stage11_Join_Uniform_Topology» -[1737394013.034674] HB: declare mixin instance +[1771804396.047796] HB: declare mixin instance Stage11_JoinTAddAG__to__Stage11_JoinTAddAG_wo_Uniform -[1737394013.038280] HB: declare canonical mixin instance +[1771804396.049729] HB: declare canonical mixin instance «Stage11_JoinTAddAG__to__Stage11_JoinTAddAG_wo_Uniform» -[1737394013.041161] HB: we can build a Stage11_UniformSpace_wo_Topology on +[1771804396.051164] HB: we can build a Stage11_UniformSpace_wo_Topology on Qc -[1737394013.041771] HB: declare canonical structure instance +[1771804396.051425] HB: declare canonical structure instance Qcanon_Qc__canonical__Stage11_UniformSpace_wo_Topology -[1737394013.042069] HB: Giving name HB_unnamed_mixin_46 to mixin instance +[1771804396.051612] HB: Giving name HB_unnamed_mixin_46 to mixin instance Builders_21.Stage11_JoinTAddAG__to__Stage11_Uniform_wo_Topology Qc HB_unnamed_mixin_35 HB_unnamed_mixin_40 HB_unnamed_factory_41 -[1737394013.043709] HB: structure instance for +[1771804396.052444] HB: structure instance for Qcanon_Qc__canonical__Stage11_UniformSpace_wo_Topology is {| UniformSpace_wo_Topology.sort := Qc; @@ -1929,12 +1965,12 @@ HB_unnamed_mixin_46 |} |} -[1737394013.045588] HB: structure instance +[1771804396.053479] HB: structure instance Qcanon_Qc__canonical__Stage11_UniformSpace_wo_Topology declared -[1737394013.047065] HB: we can build a Stage11_UniformSpace on Qc -[1737394013.047666] HB: declare canonical structure instance +[1771804396.054241] HB: we can build a Stage11_UniformSpace on Qc +[1771804396.054533] HB: declare canonical structure instance Qcanon_Qc__canonical__Stage11_UniformSpace -[1737394013.048084] HB: structure instance for +[1771804396.054746] HB: structure instance for Qcanon_Qc__canonical__Stage11_UniformSpace is {| UniformSpace.sort := Qc; @@ -1944,15 +1980,15 @@ UniformSpace.Stage11_Uniform_wo_Topology_mixin := HB_unnamed_mixin_46 |} |} -[1737394013.050378] HB: structure instance +[1771804396.055763] HB: structure instance Qcanon_Qc__canonical__Stage11_UniformSpace declared -[1737394013.052046] HB: we can build a Stage11_TAddAG_wo_Uniform on Qc -[1737394013.052556] HB: declare canonical structure instance +[1771804396.056714] HB: we can build a Stage11_TAddAG_wo_Uniform on Qc +[1771804396.056969] HB: declare canonical structure instance Qcanon_Qc__canonical__Stage11_TAddAG_wo_Uniform -[1737394013.052936] HB: Giving name HB_unnamed_mixin_47 to mixin instance +[1771804396.057260] HB: Giving name HB_unnamed_mixin_47 to mixin instance Builders_21.to_JoinTAddAG_wo_Uniform Qc HB_unnamed_mixin_35 HB_unnamed_mixin_40 HB_unnamed_factory_41 -[1737394013.054871] HB: structure instance for +[1771804396.058238] HB: structure instance for Qcanon_Qc__canonical__Stage11_TAddAG_wo_Uniform is {| TAddAG_wo_Uniform.sort := Qc; @@ -1964,12 +2000,12 @@ HB_unnamed_mixin_47 |} |} -[1737394013.056589] HB: structure instance +[1771804396.059310] HB: structure instance Qcanon_Qc__canonical__Stage11_TAddAG_wo_Uniform declared -[1737394013.060097] HB: we can build a Stage11_Uniform_TAddAG_unjoined on Qc -[1737394013.060718] HB: declare canonical structure instance +[1771804396.060773] HB: we can build a Stage11_Uniform_TAddAG_unjoined on Qc +[1771804396.061028] HB: declare canonical structure instance Qcanon_Qc__canonical__Stage11_Uniform_TAddAG_unjoined -[1737394013.061378] HB: structure instance for +[1771804396.061310] HB: structure instance for Qcanon_Qc__canonical__Stage11_Uniform_TAddAG_unjoined is {| Uniform_TAddAG_unjoined.sort := Qc; @@ -1984,18 +2020,18 @@ HB_unnamed_mixin_46 |} |} -[1737394013.065772] HB: structure instance +[1771804396.062394] HB: structure instance Qcanon_Qc__canonical__Stage11_Uniform_TAddAG_unjoined declared -[1737394013.071728] HB: we can build a Stage11_TAddAG on Qc -[1737394013.072257] HB: declare canonical structure instance +[1771804396.064977] HB: we can build a Stage11_TAddAG on Qc +[1771804396.065265] HB: declare canonical structure instance Qcanon_Qc__canonical__Stage11_TAddAG -[1737394013.072750] HB: Giving name HB_unnamed_mixin_48 to mixin instance +[1771804396.065565] HB: Giving name HB_unnamed_mixin_48 to mixin instance Builders_21.Stage11_JoinTAddAG__to__Stage11_Join_Uniform_Topology Qc HB_unnamed_mixin_35 HB_unnamed_mixin_40 HB_unnamed_factory_41 -[1737394013.075556] HB: Giving name HB_unnamed_mixin_49 to mixin instance +[1771804396.066759] HB: Giving name HB_unnamed_mixin_49 to mixin instance Builders_21.Stage11_JoinTAddAG__to__Stage11_Join_TAddAG_Uniform Qc HB_unnamed_mixin_35 HB_unnamed_mixin_40 HB_unnamed_factory_41 -[1737394013.078303] HB: structure instance for +[1771804396.067966] HB: structure instance for Qcanon_Qc__canonical__Stage11_TAddAG is {| TAddAG.sort := Qc; @@ -2009,13 +2045,13 @@ TAddAG.Stage11_Join_TAddAG_Uniform_mixin := HB_unnamed_mixin_49 |} |} -[1737394013.081226] HB: structure instance +[1771804396.069341] HB: structure instance Qcanon_Qc__canonical__Stage11_TAddAG declared entourage : set (set (Qc * Qc)) : set (set (Qc * Qc)) -Finished transaction in 21.931 secs (18.967u,1.559s) (successful) +Finished transaction in 9.089 secs (8.443u,0.64s) (successful) Finished transaction in 0. secs (0.u,0.s) (successful) -Finished transaction in 16.851 secs (15.632u,1.194s) (successful) +Finished transaction in 8.734 secs (8.u,0.73s) (successful) Module Type new_concept_Locked = Sig @@ -2078,7 +2114,7 @@ debian/rules override_dh_auto_install make[1]: Entering directory '/build/reproducible-path/coq-hierarchy-builder-1.8.0' dh_auto_install --destdir=debian/tmp/ - make -j20 install DESTDIR=/build/reproducible-path/coq-hierarchy-builder-1.8.0/debian/tmp AM_UPDATE_INFO_DIR=no "INSTALL=install --strip-program=true" + make -j42 install DESTDIR=/build/reproducible-path/coq-hierarchy-builder-1.8.0/debian/tmp AM_UPDATE_INFO_DIR=no "INSTALL=install --strip-program=true" make[2]: Entering directory '/build/reproducible-path/coq-hierarchy-builder-1.8.0' make -f Makefile.coq install make[3]: Entering directory '/build/reproducible-path/coq-hierarchy-builder-1.8.0' @@ -2125,12 +2161,14 @@ dpkg-buildpackage: info: binary-only upload (no source included) dpkg-genchanges: info: including full source code in upload I: copying local configuration +I: user script /srv/workspace/pbuilder/782221/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/782221/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/1892811 and its subdirectories -I: Current time: Mon Jan 20 05:27:50 -12 2025 -I: pbuilder-time-stamp: 1737394070 +I: removing directory /srv/workspace/pbuilder/782221 and its subdirectories +I: Current time: Mon Feb 23 13:53:49 +14 2026 +I: pbuilder-time-stamp: 1771804429